summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2011-06-11 17:09:30 +0200
committerPhilip Häusler <msquare@notrademark.de>2011-06-11 17:09:30 +0200
commit3a31cebd1d39a6bcec2c22cbced60ca9d6177a42 (patch)
tree3cce86da26c408841e69bdee4e2ba012e0c72e47
parentebecae2ccc37c8930245a562852c035d5ce8d5a1 (diff)
parent80a1a65aefcd2f33951dc60c72d29df1ad19b187 (diff)
merge special_includes_camp
-rw-r--r--[-rwxr-xr-x]DB/ChangeLog.sql6
-rw-r--r--[-rwxr-xr-x]DB/Himmel.sql44
-rw-r--r--[-rwxr-xr-x]DB/SDrohnen.sql2
-rw-r--r--[-rwxr-xr-x]DB/Sprache.sql2
-rw-r--r--DB/UserCVS.sql174
-rw-r--r--DB/UserPicture.sql2
-rw-r--r--DB/db_rewrite.sql1248
-rw-r--r--config/.gitignore6
-rw-r--r--[-rwxr-xr-x]default-conf/var_www_includes/config.php18
-rw-r--r--default-conf/var_www_includes/config_IAX.php2
-rw-r--r--[-rwxr-xr-x]default-conf/var_www_includes/config_db.php9
-rw-r--r--[-rwxr-xr-x]default-conf/var_www_includes/config_jabber.php0
-rw-r--r--default-conf/var_www_includes/config_modem.php15
-rw-r--r--import/27C3_sample.xcs.xml2090
-rwxr-xr-xincludes/UserCVS.php102
-rw-r--r--includes/config_MessegeServer.php8
-rw-r--r--includes/config_modem.php11
-rwxr-xr-xincludes/crypt.php18
-rw-r--r--[-rwxr-xr-x]includes/error_handler.php86
-rwxr-xr-xincludes/footer.php57
-rw-r--r--includes/funktion_SendMessenges.php32
-rwxr-xr-xincludes/funktion_activeUser.php59
-rw-r--r--includes/funktion_counter.php24
-rw-r--r--[-rwxr-xr-x]includes/funktion_cron.php271
-rw-r--r--includes/funktion_db.php288
-rw-r--r--[-rwxr-xr-x]includes/funktion_db_list.php81
-rwxr-xr-xincludes/funktion_faq.php12
-rw-r--r--includes/funktion_flag.php12
-rw-r--r--[-rwxr-xr-x]includes/funktion_jabber.php0
-rwxr-xr-xincludes/funktion_lang.php35
-rwxr-xr-xincludes/funktion_menu.php44
-rw-r--r--[-rwxr-xr-x]includes/funktion_modem.php49
-rwxr-xr-xincludes/funktion_schichtplan.php389
-rwxr-xr-xincludes/funktion_schichtplan_Tage.php87
-rw-r--r--[-rwxr-xr-x]includes/funktion_schichtplan_beamer.php300
-rwxr-xr-xincludes/funktion_user.php132
-rw-r--r--[-rwxr-xr-x]includes/funktion_xml.php172
-rw-r--r--[-rwxr-xr-x]includes/funktion_xml_room.php130
-rw-r--r--[-rwxr-xr-x]includes/funktion_xml_schudle.php524
-rwxr-xr-xincludes/funktionen.php26
-rw-r--r--[-rwxr-xr-x]includes/header.php175
-rwxr-xr-xincludes/header_start.php50
-rwxr-xr-xincludes/login_eingabefeld.php18
-rwxr-xr-xincludes/menu.php63
-rw-r--r--includes/pages/admin_angel_types.php96
-rw-r--r--includes/pages/admin_faq.php105
-rw-r--r--includes/pages/admin_groups.php91
-rw-r--r--includes/pages/admin_import.php253
-rw-r--r--includes/pages/admin_language.php110
-rw-r--r--includes/pages/admin_log.php76
-rw-r--r--includes/pages/admin_news.php87
-rw-r--r--includes/pages/admin_questions.php85
-rw-r--r--includes/pages/admin_rooms.php143
-rw-r--r--includes/pages/admin_user.php324
-rw-r--r--includes/pages/guest_credits.php5
-rw-r--r--includes/pages/guest_faq.php24
-rw-r--r--includes/pages/guest_login.php269
-rw-r--r--includes/pages/guest_start.php13
-rw-r--r--includes/pages/user_messages.php239
-rw-r--r--includes/pages/user_news.php168
-rw-r--r--includes/pages/user_questions.php50
-rw-r--r--includes/pages/user_settings.php252
-rw-r--r--includes/pages/user_wakeup.php86
-rwxr-xr-xincludes/secure.php41
-rw-r--r--includes/sys_auth.php95
-rw-r--r--includes/sys_counter.php10
-rw-r--r--includes/sys_lang.php26
-rw-r--r--includes/sys_menu.php121
-rw-r--r--includes/sys_mysql.php61
-rw-r--r--includes/sys_page.php26
-rw-r--r--includes/sys_shift.php443
-rw-r--r--includes/sys_template.php36
-rw-r--r--includes/sys_user.php106
-rwxr-xr-xservices/cron_dect.php106
-rwxr-xr-xservices/dect_clear.php32
-rwxr-xr-xservices/jabberserver.php188
-rw-r--r--templates/admin_angel_types.html41
-rw-r--r--templates/admin_angel_types_edit_form.html24
-rw-r--r--templates/admin_faq.html56
-rw-r--r--templates/admin_faq_edit_form.html41
-rw-r--r--templates/admin_groups.html21
-rw-r--r--templates/admin_groups_edit_form.html21
-rw-r--r--templates/admin_question_answered.html9
-rw-r--r--templates/admin_question_unanswered.html14
-rw-r--r--templates/admin_questions.html47
-rw-r--r--templates/admin_rooms_edit_form.html59
-rw-r--r--templates/admin_rooms_new_form.html46
-rw-r--r--templates/guest_credits.html12
-rw-r--r--templates/guest_login_form.html22
-rw-r--r--templates/layout.html42
-rw-r--r--templates/user_messages.html50
-rw-r--r--templates/user_questions.html52
-rw-r--r--templates/user_settings.html106
-rw-r--r--templates/user_settings_tshirt.html4
-rw-r--r--templates/user_wakeup.html18
-rw-r--r--[-rwxr-xr-x]txt/LICENSE0
-rw-r--r--txt/README4
-rw-r--r--txt/TODO29
-rw-r--r--www-ssl/ShowUserPicture.php86
-rwxr-xr-xwww-ssl/admin/EngelType.php191
-rwxr-xr-xwww-ssl/admin/Recentchanges.php29
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/UserPicture.php175
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/aktiv.php101
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/dbUpdateFromXLS.php405
-rwxr-xr-xwww-ssl/admin/debug.php69
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/dect.php107
-rwxr-xr-xwww-ssl/admin/dect_call.php7
-rwxr-xr-xwww-ssl/admin/faq.1.php6
-rwxr-xr-xwww-ssl/admin/faq.php283
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/free.php90
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/free_DECT.php75
-rwxr-xr-xwww-ssl/admin/group.php49
-rwxr-xr-xwww-ssl/admin/index.php19
-rwxr-xr-xwww-ssl/admin/news.php122
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/schichtplan.1.php6
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/schichtplan.php701
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/schichtplan_druck.1.php0
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/schichtplan_druck.php158
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/shiftadd.php476
-rwxr-xr-xwww-ssl/admin/sprache.php122
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/tshirt.php73
-rwxr-xr-xwww-ssl/admin/user.php140
-rw-r--r--[-rwxr-xr-x]www-ssl/admin/userArrived.php51
-rwxr-xr-xwww-ssl/admin/userChangeNormal.php137
-rwxr-xr-xwww-ssl/admin/userChangeSecure.php112
-rwxr-xr-xwww-ssl/admin/userDefaultSetting.php144
-rwxr-xr-xwww-ssl/admin/userSaveNormal.php130
-rwxr-xr-xwww-ssl/admin/userSaveSecure.php178
-rw-r--r--www-ssl/bootstrap.php10
-rw-r--r--www-ssl/css/base.css205
-rw-r--r--[-rwxr-xr-x]www-ssl/css/grossbild.js0
-rwxr-xr-xwww-ssl/css/style.css.old53
-rwxr-xr-xwww-ssl/css/style.css.old269
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style1.css85
-rwxr-xr-xwww-ssl/css/style1.css.old79
-rw-r--r--www-ssl/css/style10.css11
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style2.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style3.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style4.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style5.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style6.css12
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style7.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style8.css0
-rw-r--r--[-rwxr-xr-x]www-ssl/css/style9.css0
-rwxr-xr-xwww-ssl/faq.php22
-rw-r--r--[-rwxr-xr-x]www-ssl/index.php158
-rwxr-xr-xwww-ssl/lageplan.php11
-rwxr-xr-xwww-ssl/logout.php13
-rwxr-xr-xwww-ssl/makeuser.php214
-rwxr-xr-xwww-ssl/nonpublic/auth.php66
-rwxr-xr-xwww-ssl/nonpublic/einstellungen.php361
-rwxr-xr-xwww-ssl/nonpublic/engelbesprechung.php37
-rwxr-xr-xwww-ssl/nonpublic/faq.php72
-rwxr-xr-xwww-ssl/nonpublic/index.php84
-rwxr-xr-xwww-ssl/nonpublic/messages.php127
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/myschichtplan.php287
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/myschichtplan_ical.php43
-rwxr-xr-xwww-ssl/nonpublic/news.php11
-rwxr-xr-xwww-ssl/nonpublic/news_comments.php89
-rwxr-xr-xwww-ssl/nonpublic/news_output.php106
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/schichtplan.1.php17
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/schichtplan.2.php26
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/schichtplan.php229
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/schichtplan_add.php200
-rw-r--r--[-rwxr-xr-x]www-ssl/nonpublic/schichtplan_beamer.php88
-rwxr-xr-xwww-ssl/nonpublic/waeckliste.php40
-rwxr-xr-xwww-ssl/nonpublic/wecken.php81
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar1.gifbin933 -> 933 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar10.gifbin1262 -> 1262 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar100.gifbin1086 -> 1086 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar101.gifbin581 -> 581 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar102.gifbin286 -> 286 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar103.gifbin266 -> 266 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar104.gifbin293 -> 293 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar105.gifbin685 -> 685 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar106.gifbin276 -> 276 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar107.gifbin1041 -> 1041 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar108.gifbin1038 -> 1038 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar109.gifbin1048 -> 1048 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar11.gifbin980 -> 980 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar110.gifbin322 -> 322 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar111.gifbin731 -> 731 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar112.gifbin1171 -> 1171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar113.gifbin1042 -> 1042 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar114.gifbin1175 -> 1175 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar115.gifbin883 -> 883 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar116.gifbin364 -> 364 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar117.gifbin662 -> 662 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar118.gifbin223 -> 223 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar119.gifbin1021 -> 1021 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar12.gifbin956 -> 956 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar120.gifbin173 -> 173 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar121.gifbin159 -> 159 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar122.gifbin1141 -> 1141 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar123.gifbin1796 -> 1796 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar124.gifbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar125.gifbin945 -> 945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar126.gifbin318 -> 318 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar127.gifbin717 -> 717 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar128.gifbin1191 -> 1191 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar129.gifbin1088 -> 1088 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar13.gifbin961 -> 961 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar130.gifbin1194 -> 1194 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar131.gifbin471 -> 471 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar132.gifbin3851 -> 3851 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar133.gifbin3161 -> 3161 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar134.gifbin235 -> 235 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar135.gifbin1127 -> 1127 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar136.gifbin2646 -> 2646 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar137.gifbin1117 -> 1117 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar138.gifbin5740 -> 5740 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar139.gifbin4677 -> 4677 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar14.gifbin1382 -> 1382 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar140.gifbin214 -> 214 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar141.gifbin1167 -> 1167 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar142.gifbin228 -> 228 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar143.gifbin2222 -> 2222 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar144.gifbin1021 -> 1021 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar145.gifbin223 -> 223 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar146.gifbin176 -> 176 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar147.gifbin1201 -> 1201 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar148.gifbin572 -> 572 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar149.gifbin1069 -> 1069 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar15.gifbin163 -> 163 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar150.gifbin2649 -> 2649 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar151.gifbin236 -> 236 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar152.gifbin232 -> 232 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar153.gifbin240 -> 240 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar154.gifbin233 -> 233 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar155.gifbin448 -> 448 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar156.gifbin1118 -> 1118 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar157.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar158.gifbin1175 -> 1175 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar159.gifbin4506 -> 4506 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar16.gifbin158 -> 158 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar160.gifbin5826 -> 5826 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar161.gifbin161 -> 161 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar162.gifbin204 -> 204 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar163.gifbin1088 -> 1088 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar164.gifbin653 -> 653 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar165.gifbin2039 -> 2039 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar166.gifbin324 -> 324 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar167.gifbin1037 -> 1037 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar168.gifbin1176 -> 1176 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar169.gifbin154 -> 154 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar17.gifbin2265 -> 2265 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar170.gifbin173 -> 173 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar171.gifbin757 -> 757 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar172.gifbin206 -> 206 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar173.gifbin1197 -> 1197 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar174.gifbin240 -> 240 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar175.gifbin659 -> 659 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar176.gifbin1186 -> 1186 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar177.gifbin3786 -> 3786 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar178.gifbin184 -> 184 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar179.gifbin167 -> 167 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar18.gifbin487 -> 487 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar180.gifbin359 -> 359 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar181.gifbin1144 -> 1144 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar182.gifbin169 -> 169 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar183.gifbin981 -> 981 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar184.gifbin868 -> 868 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar185.gifbin1210 -> 1210 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar186.gifbin243 -> 243 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar187.gifbin236 -> 236 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar188.gifbin178 -> 178 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar189.gifbin268 -> 268 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar19.gifbin343 -> 343 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar190.gifbin234 -> 234 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar191.gifbin1043 -> 1043 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar192.gifbin329 -> 329 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar193.gifbin3363 -> 3363 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar194.gifbin730 -> 730 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar195.gifbin322 -> 322 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar196.gifbin92 -> 92 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar197.gifbin3451 -> 3451 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar198.gifbin9243 -> 9243 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar199.gifbin696 -> 696 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar2.gifbin972 -> 972 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar20.gifbin1743 -> 1743 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar200.gifbin667 -> 667 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar201.gifbin5471 -> 5471 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar202.gifbin843 -> 843 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar203.gifbin1077 -> 1077 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar204.gifbin1160 -> 1160 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar205.gifbin216 -> 216 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar206.gifbin1150 -> 1150 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar207.gifbin172 -> 172 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar208.gifbin238 -> 238 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar209.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar21.gifbin983 -> 983 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar210.gifbin1034 -> 1034 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar211.gifbin1131 -> 1131 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar212.gifbin971 -> 971 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar213.gifbin453 -> 453 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar214.gifbin578 -> 578 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar215.gifbin703 -> 703 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar216.gifbin1356 -> 1356 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar217.gifbin940 -> 940 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar218.gifbin1140 -> 1140 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar219.gifbin238 -> 238 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar22.gifbin1026 -> 1026 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar220.gifbin203 -> 203 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar221.gifbin172 -> 172 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar222.gifbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar223.gifbin206 -> 206 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar224.gifbin1323 -> 1323 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar225.gifbin3157 -> 3157 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar226.gifbin1617 -> 1617 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar227.gifbin249 -> 249 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar228.gifbin1641 -> 1641 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar229.gifbin976 -> 976 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar23.gifbin471 -> 471 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar230.gifbin1277 -> 1277 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar231.gifbin606 -> 606 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar232.gifbin1079 -> 1079 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar233.gifbin716 -> 716 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar234.gifbin1026 -> 1026 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar235.gifbin11643 -> 11643 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar236.gifbin358 -> 358 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar237.gifbin998 -> 998 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar238.gifbin1864 -> 1864 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar239.gifbin2872 -> 2872 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar24.gifbin226 -> 226 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar240.gifbin145 -> 145 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar241.gifbin6296 -> 6296 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar242.gifbin234 -> 234 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar243.gifbin1209 -> 1209 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar244.gifbin714 -> 714 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar245.gifbin1039 -> 1039 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar246.gifbin594 -> 594 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar247.gifbin8114 -> 8114 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar248.gifbin142 -> 142 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar249.gifbin1134 -> 1134 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar25.gifbin1784 -> 1784 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar250.gifbin324 -> 324 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar251.gifbin1167 -> 1167 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar252.gifbin1110 -> 1110 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar253.gifbin2015 -> 2015 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar254.gifbin213 -> 213 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar255.gifbin1019 -> 1019 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar256.gifbin3272 -> 3272 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar257.gifbin225 -> 225 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar258.gifbin708 -> 708 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar259.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar26.gifbin343 -> 343 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar260.gifbin990 -> 990 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar261.gifbin1428 -> 1428 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar262.gifbin380 -> 380 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar263.gifbin159 -> 159 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar264.gifbin429 -> 429 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar265.gifbin233 -> 233 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar266.gifbin1341 -> 1341 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar267.gifbin3274 -> 3274 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar268.gifbin1126 -> 1126 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar269.gifbin1234 -> 1234 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar27.gifbin1264 -> 1264 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar270.gifbin945 -> 945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar271.gifbin4106 -> 4106 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar272.gifbin620 -> 620 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar273.gifbin827 -> 827 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar274.gifbin1776 -> 1776 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar275.gifbin717 -> 717 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar276.gifbin277 -> 277 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar277.gifbin1112 -> 1112 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar278.gifbin1803 -> 1803 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar279.gifbin170 -> 170 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar28.gifbin199 -> 199 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar280.gifbin3722 -> 3722 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar281.gifbin382 -> 382 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar282.gifbin1180 -> 1180 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar283.gifbin385 -> 385 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar284.gifbin270 -> 270 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar285.gifbin1037 -> 1037 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar286.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar287.gifbin235 -> 235 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar288.gifbin929 -> 929 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar289.gifbin246 -> 246 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar29.gifbin379 -> 379 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar290.gifbin1140 -> 1140 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar291.gifbin155 -> 155 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar292.gifbin2889 -> 2889 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar293.gifbin428 -> 428 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar294.gifbin269 -> 269 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar295.gifbin482 -> 482 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar296.gifbin1088 -> 1088 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar297.gifbin1441 -> 1441 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar298.gifbin437 -> 437 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar299.gifbin1064 -> 1064 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar3.gifbin929 -> 929 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar30.gifbin199 -> 199 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar300.gifbin698 -> 698 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar301.gifbin584 -> 584 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar302.gifbin1101 -> 1101 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar303.gifbin1044 -> 1044 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar304.gifbin252 -> 252 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar305.gifbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar306.gifbin139 -> 139 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar307.gifbin1101 -> 1101 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar308.gifbin501 -> 501 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar309.gifbin353 -> 353 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar31.gifbin128 -> 128 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar310.gifbin1065 -> 1065 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar311.gifbin359 -> 359 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar312.gifbin1149 -> 1149 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar313.gifbin658 -> 658 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar314.gifbin815 -> 815 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar315.gifbin138 -> 138 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar316.gifbin333 -> 333 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar317.gifbin876 -> 876 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar318.gifbin2280 -> 2280 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar319.gifbin1253 -> 1253 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar32.gifbin889 -> 889 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar320.gifbin612 -> 612 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar321.gifbin243 -> 243 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar322.gifbin1293 -> 1293 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar323.gifbin173 -> 173 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar324.gifbin345 -> 345 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar325.gifbin1037 -> 1037 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar326.gifbin3007 -> 3007 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar327.gifbin533 -> 533 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar328.gifbin522 -> 522 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar329.gifbin607 -> 607 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar33.gifbin272 -> 272 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar330.gifbin764 -> 764 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar331.gifbin234 -> 234 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar332.gifbin716 -> 716 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar333.gifbin698 -> 698 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar334.gifbin554 -> 554 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar335.gifbin270 -> 270 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar336.gifbin2294 -> 2294 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar337.gifbin4848 -> 4848 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar338.gifbin240 -> 240 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar339.gifbin1179 -> 1179 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar34.gifbin260 -> 260 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar340.gifbin6785 -> 6785 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar341.gifbin725 -> 725 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar342.gifbin1151 -> 1151 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar343.gifbin5856 -> 5856 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar344.gifbin3784 -> 3784 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar345.gifbin3885 -> 3885 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar346.gifbin4973 -> 4973 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar347.gifbin3070 -> 3070 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar348.gifbin180 -> 180 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar349.gifbin2096 -> 2096 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar35.gifbin862 -> 862 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar350.gifbin603 -> 603 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar351.gifbin149 -> 149 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar352.gifbin919 -> 919 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar353.gifbin705 -> 705 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar354.gifbin1146 -> 1146 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar355.gifbin231 -> 231 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar356.gifbin2056 -> 2056 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar357.gifbin2700 -> 2700 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar358.gifbin2994 -> 2994 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar359.gifbin868 -> 868 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar36.gifbin282 -> 282 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar360.gifbin326 -> 326 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar361.gifbin3039 -> 3039 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar362.gifbin704 -> 704 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar363.gifbin1107 -> 1107 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar364.gifbin638 -> 638 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar365.gifbin8258 -> 8258 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar366.gifbin6962 -> 6962 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar367.gifbin2791 -> 2791 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar368.gifbin169 -> 169 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar369.gifbin1085 -> 1085 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar37.gifbin791 -> 791 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar370.gifbin871 -> 871 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar371.gifbin1063 -> 1063 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar372.gifbin1034 -> 1034 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar373.gifbin1069 -> 1069 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar374.gifbin238 -> 238 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar375.gifbin1174 -> 1174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar376.gifbin844 -> 844 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar377.gifbin234 -> 234 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar378.gifbin892 -> 892 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar379.gifbin705 -> 705 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar38.gifbin304 -> 304 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar380.gifbin624 -> 624 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar381.gifbin1886 -> 1886 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar382.gifbin4532 -> 4532 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar383.gifbin1532 -> 1532 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar384.gifbin715 -> 715 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar385.gifbin331 -> 331 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar386.gifbin1177 -> 1177 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar387.gifbin331 -> 331 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar388.gifbin1062 -> 1062 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar389.gifbin722 -> 722 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar39.gifbin1600 -> 1600 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar390.gifbin2156 -> 2156 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar391.gifbin607 -> 607 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar392.gifbin4713 -> 4713 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar393.gifbin1219 -> 1219 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar394.gifbin1249 -> 1249 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar395.gifbin1244 -> 1244 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar396.gifbin1596 -> 1596 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar397.gifbin612 -> 612 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar398.gifbin1161 -> 1161 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar399.gifbin1034 -> 1034 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar4.gifbin1175 -> 1175 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar40.gifbin266 -> 266 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar400.gifbin1210 -> 1210 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar401.gifbin1212 -> 1212 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar402.gifbin1038 -> 1038 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar403.gifbin324 -> 324 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar404.gifbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar405.gifbin231 -> 231 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar406.gifbin152 -> 152 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar407.gifbin1063 -> 1063 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar408.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar409.gifbin453 -> 453 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar41.gifbin293 -> 293 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar410.gifbin1757 -> 1757 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar411.gifbin332 -> 332 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar412.gifbin708 -> 708 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar413.gifbin155 -> 155 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar414.gifbin1034 -> 1034 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar415.gifbin245 -> 245 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar416.gifbin658 -> 658 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar417.gifbin461 -> 461 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar418.gifbin326 -> 326 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar419.gifbin4157 -> 4157 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar42.gifbin884 -> 884 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar420.gifbin2721 -> 2721 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar421.gifbin242 -> 242 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar422.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar423.gifbin731 -> 731 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar424.gifbin4477 -> 4477 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar425.gifbin749 -> 749 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar426.gifbin173 -> 173 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar427.gifbin1105 -> 1105 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar428.gifbin164 -> 164 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar429.gifbin1094 -> 1094 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar43.gifbin276 -> 276 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar430.gifbin1132 -> 1132 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar431.gifbin169 -> 169 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar432.gifbin990 -> 990 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar433.gifbin8013 -> 8013 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar434.gifbin3752 -> 3752 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar435.gifbin207 -> 207 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar436.gifbin4539 -> 4539 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar437.gifbin890 -> 890 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar438.gifbin200 -> 200 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar439.gifbin1137 -> 1137 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar44.gifbin268 -> 268 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar440.gifbin1135 -> 1135 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar441.gifbin884 -> 884 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar442.gifbin1071 -> 1071 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar443.gifbin203 -> 203 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar444.gifbin2175 -> 2175 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar445.gifbin178 -> 178 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar446.gifbin710 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar447.gifbin9881 -> 9881 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar448.gifbin425 -> 425 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar449.gifbin735 -> 735 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar45.gifbin193 -> 193 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar450.gifbin1180 -> 1180 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar451.gifbin1112 -> 1112 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar452.gifbin327 -> 327 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar453.gifbin333 -> 333 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar454.gifbin1211 -> 1211 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar455.gifbin563 -> 563 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar456.gifbin890 -> 890 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar457.gifbin1216 -> 1216 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar458.gifbin200 -> 200 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar459.gifbin897 -> 897 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar46.gifbin265 -> 265 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar460.gifbin723 -> 723 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar461.gifbin6948 -> 6948 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar462.gifbin412 -> 412 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar463.gifbin412 -> 412 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar464.gifbin380 -> 380 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar465.gifbin172 -> 172 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar466.gifbin869 -> 869 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar467.gifbin946 -> 946 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar468.gifbin9275 -> 9275 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar469.gifbin4058 -> 4058 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar47.gifbin974 -> 974 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar470.gifbin421 -> 421 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar471.gifbin1171 -> 1171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar472.gifbin325 -> 325 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar473.gifbin668 -> 668 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar474.gifbin709 -> 709 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar475.gifbin154 -> 154 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar476.gifbin8013 -> 8013 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar477.gifbin1189 -> 1189 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar478.gifbin672 -> 672 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar479.gifbin1681 -> 1681 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar48.gifbin275 -> 275 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar480.gifbin2693 -> 2693 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar481.gifbin1554 -> 1554 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar482.gifbin1410 -> 1410 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar483.gifbin1306 -> 1306 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar484.gifbin870 -> 870 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar485.gifbin350 -> 350 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar486.gifbin160 -> 160 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar487.gifbin945 -> 945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar488.gifbin317 -> 317 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar489.gifbin514 -> 514 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar49.gifbin1960 -> 1960 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar490.gifbin4350 -> 4350 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar491.gifbin7431 -> 7431 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar492.gifbin1289 -> 1289 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar493.gifbin1399 -> 1399 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar494.gifbin560 -> 560 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar495.gifbin1200 -> 1200 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar496.gifbin1016 -> 1016 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar497.gifbin4775 -> 4775 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar498.gifbin696 -> 696 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar499.gifbin3945 -> 3945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar5.gifbin945 -> 945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar50.gifbin496 -> 496 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar51.gifbin262 -> 262 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar52.gifbin272 -> 272 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar53.gifbin433 -> 433 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar54.gifbin300 -> 300 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar55.gifbin1731 -> 1731 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar56.gifbin283 -> 283 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar57.gifbin287 -> 287 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar58.gifbin626 -> 626 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar59.gifbin155 -> 155 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar6.gifbin994 -> 994 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar60.gifbin200 -> 200 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar61.gifbin1083 -> 1083 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar62.gifbin217 -> 217 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar63.gifbin260 -> 260 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar64.gifbin407 -> 407 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar65.gifbin343 -> 343 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar66.gifbin452 -> 452 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar67.gifbin674 -> 674 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar68.gifbin1431 -> 1431 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar69.gifbin796 -> 796 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar7.gifbin1432 -> 1432 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar70.gifbin159 -> 159 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar71.gifbin289 -> 289 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar72.gifbin256 -> 256 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar73.gifbin274 -> 274 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar74.gifbin197 -> 197 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar75.gifbin5696 -> 5696 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar76.gifbin186 -> 186 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar77.gifbin236 -> 236 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar78.gifbin1888 -> 1888 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar79.gifbin1880 -> 1880 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar8.gifbin937 -> 937 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar80.gifbin1136 -> 1136 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar81.gifbin185 -> 185 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar82.gifbin911 -> 911 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar83.gifbin183 -> 183 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar84.gifbin2027 -> 2027 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar85.gifbin240 -> 240 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar86.gifbin281 -> 281 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar87.gifbin1729 -> 1729 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar88.gifbin458 -> 458 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar89.gifbin959 -> 959 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar9.gifbin939 -> 939 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar90.gifbin2369 -> 2369 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar91.gifbin453 -> 453 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar92.gifbin5416 -> 5416 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar93.gifbin296 -> 296 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar94.gifbin2171 -> 2171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar95.gifbin2810 -> 2810 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar96.gifbin304 -> 304 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar97.gifbin1288 -> 1288 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar98.gifbin623 -> 623 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/avatar/avatar99.gifbin703 -> 703 bytes
-rw-r--r--www-ssl/pic/engelsystem_logo.pngbin0 -> 8736 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/external.pngbin267 -> 267 bytes
-rwxr-xr-xwww-ssl/pic/flag/de.gifbin321 -> 0 bytes
-rw-r--r--www-ssl/pic/flag/de.pngbin0 -> 545 bytes
-rwxr-xr-xwww-ssl/pic/flag/en.gifbin2430 -> 0 bytes
-rw-r--r--www-ssl/pic/flag/en.pngbin0 -> 599 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/himmel.pngbin10338 -> 10338 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/himmel_w.pngbin4691 -> 4691 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/aerger2.gifbin561 -> 561 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/alien.gifbin933 -> 933 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/blush.gifbin954 -> 954 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/boggle.gifbin951 -> 951 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/bounce.gifbin2757 -> 2757 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/bun.gifbin956 -> 956 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/candycane.gifbin904 -> 904 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/cheesy.gifbin933 -> 933 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/dead.gifbin961 -> 961 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/depressed.gifbin977 -> 977 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/ginger.gifbin980 -> 980 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/hirsch1.gifbin1262 -> 1262 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/huh.gifbin939 -> 939 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_arrow.gifbin170 -> 170 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_biggrin.gifbin172 -> 172 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_confused.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_cool.gifbin172 -> 172 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_cry.gifbin498 -> 498 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_eek.gifbin170 -> 170 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_evil.gifbin236 -> 236 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_exclaim.gifbin236 -> 236 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_frown.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_idea.gifbin176 -> 176 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_lol.gifbin336 -> 336 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_mad.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_mrgreen.gifbin349 -> 349 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_neutral.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_question.gifbin248 -> 248 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_razz.gifbin176 -> 176 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_redface.gifbin650 -> 650 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_rolleyes.gifbin485 -> 485 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_sad.gifbin171 -> 171 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_smile.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_surprised.gifbin174 -> 174 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_twisted.gifbin238 -> 238 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/icon_wind.gifbin170 -> 170 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/koenig1.gifbin937 -> 937 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/laser1.gifbin1432 -> 1432 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/love1.gifbin1009 -> 1009 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/moo.gifbin1175 -> 1175 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/nuts.gifbin531 -> 531 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/robin.gifbin971 -> 971 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/sheep.gifbin915 -> 915 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/sick.gifbin940 -> 940 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/sleep.gifbin1005 -> 1005 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/soppy.gifbin994 -> 994 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/stress.gifbin1258 -> 1258 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/sweet.gifbin972 -> 972 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/tired.gifbin929 -> 929 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/urgh.gifbin980 -> 980 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/winken1.gifbin3249 -> 3249 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/worm.gifbin945 -> 945 bytes
-rw-r--r--[-rwxr-xr-x]www-ssl/pic/smiles/worry.gifbin951 -> 951 bytes
-rw-r--r--www/404.php3
-rw-r--r--www/index.php4
729 files changed, 10804 insertions, 7709 deletions
diff --git a/DB/ChangeLog.sql b/DB/ChangeLog.sql
index 383c897a..bfb41cb5 100755..100644
--- a/DB/ChangeLog.sql
+++ b/DB/ChangeLog.sql
@@ -18,8 +18,8 @@
DROP TABLE IF EXISTS `ChangeLog`;
CREATE TABLE IF NOT EXISTS `ChangeLog` (
- `Time` timestamp(14) NOT NULL,
- `UID` int(11) NOT NULL default '0',
+ `Time` timestamp NOT NULL,
+ `UID` int(11) NOT NULL default 0,
`Commend` text NOT NULL,
`SQLCommad` text NOT NULL
-) TYPE=MyISAM;
+) ENGINE=MyISAM;
diff --git a/DB/Himmel.sql b/DB/Himmel.sql
index e8edbc80..e513441c 100755..100644
--- a/DB/Himmel.sql
+++ b/DB/Himmel.sql
@@ -26,7 +26,7 @@ CREATE TABLE IF NOT EXISTS `EngelType` (
`Man` text,
PRIMARY KEY (`TID`),
UNIQUE KEY `Name` (`Name`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -43,23 +43,23 @@ CREATE TABLE IF NOT EXISTS `FAQ` (
`Frage` text NOT NULL,
`Antwort` text NOT NULL,
PRIMARY KEY (`FID`)
-) TYPE=MyISAM AUTO_INCREMENT=24 ;
+) ENGINE=MyISAM AUTO_INCREMENT=24 ;
--
-- Daten für Tabelle `FAQ`
--
-INSERT INTO `FAQ` (`FID`, `Frage`, `Antwort`) VALUES (1, 'Komme ich als Engel billiger/kostenlos auf den Congress?<br>\r\nDo I get in cheaper / for free to the congress as an angel ?', 'Nein, jeder Engel muss normal Eintritt bezahlen.<br>\r\nNo, every angel has to pay full price.'),
-(2, 'Was bekomme ich f&uuml;r meine Mitarbeit?<br>\r\nWhat can i expect in return for my help? \r\n', 'Jeder Engel der arbeitet bekommt ein kostenloses T-Shirt nach der Veranstalltung <br>\r\nEvery working angel gets a free shirt after the event. '),
-(3, 'Wie lange muss ich als Engel arbeiten?<br>\r\nHow long do I have to work as an angel ?', 'Diese Frage ist schwer zu beantworten. Es h&auml;ngt z.B. davon ab, was man macht (z.B. Workshop-Engel) und wieviele Engel wir zusammen bekommen. <br>\r\nThis is difficult to answer. It depends on what you decide to do (e.g. workshop angel) and how many people will attend. '),
-(6, 'Ich bin erst XX Jahre alt. Kann ich &uuml;berhaupt helfen?<br>\r\nI''m only XX years old. Can I help anyway?', 'Wir k&ouml;nnen jede helfende Hand gebrauchen. Wenn du alt genug bist, um zum Congress zu kommen, bist du auch alt genug zu helfen. <br>\r\nWe need every help we can get. If your old enough to come to the congress, your old enough to help.'),
-(8, 'Wer sind eigentlich die Erzengel?<br>\r\nWho <b>are</b> the Arch-Angels?\r\n', 'Erzengel sind dieses Jahr: BugBlue, TabascoEye, Jeedi, Daizy, volty<br> \r\nThe ArchAngels for this year are: BugBlue, TabascoEye, Jeedi, Daizy, volty\r\n'),
-(9, 'Gibt es dieses Jahr wieder einen IRC-Channel f&uuml;r Engel?<br>\r\nWill there be an IRC-channel for angels again?', 'Ja, im IRC-Net existiert #chaos-angel. Einfach mal reinschaun!<br>\r\nYes, in the IRC-net there''s #chaos-angel. Just have a look!'),
-(10, 'Wie gehe ich mit den Besuchern um? <br>\r\nHow do I treat visitors?', 'Man soll gegen&uuml;ber den Besuchern immer h&ouml;flich und freundlich sein, auch wenn diese gestresst sind. Wenn man das Gef&uuml;hl hat, dass man mit der Situation nicht mehr klarkommt, sollte man sich jemanden zur Unterst&uuml;tzung holen, bevor man selbst auch gestresst wird :-) <br>\r\nYou should always be polite and friendly, especially if they are stressed. When you feel you can''t handle it on your own, get someone to help you out before you get so stressed yourself that you get impolite.'),
-(11, 'Wann sind die Engelbesprechungen? <br>\r\nWhen are the angels briefings?', 'Das wird vor Ort noch festgelegt und steht im Himmelnewssystem.<br>\r\nThe information on the Angel Briefings will be in the news section of this system.'),
-(12, 'Was muss ich noch bedenken?<br>\r\nAnything else I should know?', 'Man sollte nicht total &uuml;berm&uuml;det oder ausgehungert, wenn n man einen Einsatz hat. Eine gewisse Fitness ist hilfreich.<br>\r\nYou should not be exhausted or starving when you arrive for a shift. A reasonable amount of fitness for work would be very helpful.'),
-(13, 'Ich habe eine Frage, auf die ich in der FAQ keine Antwort gefunden habe. Wohin soll ich mich wenden? <br>\r\nI have a guestion not answered here. Who can I ask?', 'Bei weitere Fragen kannst du die Anfragen an die Erzengel Formular benutzen.<br>\r\nIf you have further questions, you can use the Questions for the ArchAngels form.'),
-(20, 'Wer muss alles Eintritt zahlen?<br>\r\nWho has to pay the full entrance price?', 'Jeder. Zumindest, solange er/sie &auml;lter als 12 Jahre ist...<br>\r\nEveryone who is at older than 12 years old.');
+INSERT INTO `FAQ` (`FID`, `Frage`, `Antwort`) VALUES (1, 'Komme ich als Engel billiger/kostenlos auf den Congress?<br />\r\nDo I get in cheaper / for free to the congress as an angel ?', 'Nein, jeder Engel muss normal Eintritt bezahlen.<br />\r\nNo, every angel has to pay full price.'),
+(2, 'Was bekomme ich f&uuml;r meine Mitarbeit?<br />\r\nWhat can i expect in return for my help? \r\n', 'Jeder Engel der arbeitet bekommt ein kostenloses T-Shirt nach der Veranstalltung <br />\r\nEvery working angel gets a free shirt after the event. '),
+(3, 'Wie lange muss ich als Engel arbeiten?<br />\r\nHow long do I have to work as an angel ?', 'Diese Frage ist schwer zu beantworten. Es h&auml;ngt z.B. davon ab, was man macht (z.B. Workshop-Engel) und wieviele Engel wir zusammen bekommen. <br />\r\nThis is difficult to answer. It depends on what you decide to do (e.g. workshop angel) and how many people will attend. '),
+(6, 'Ich bin erst XX Jahre alt. Kann ich &uuml;berhaupt helfen?<br />\r\nI''m only XX years old. Can I help anyway?', 'Wir k&ouml;nnen jede helfende Hand gebrauchen. Wenn du alt genug bist, um zum Congress zu kommen, bist du auch alt genug zu helfen. <br />\r\nWe need every help we can get. If your old enough to come to the congress, your old enough to help.'),
+(8, 'Wer sind eigentlich die Erzengel?<br />\r\nWho <b>are</b> the Arch-Angels?\r\n', 'Erzengel sind dieses Jahr: BugBlue, TabascoEye, Jeedi, Daizy, volty<br /> \r\nThe ArchAngels for this year are: BugBlue, TabascoEye, Jeedi, Daizy, volty\r\n'),
+(9, 'Gibt es dieses Jahr wieder einen IRC-Channel f&uuml;r Engel?<br />\r\nWill there be an IRC-channel for angels again?', 'Ja, im IRC-Net existiert #chaos-angel. Einfach mal reinschaun!<br />\r\nYes, in the IRC-net there''s #chaos-angel. Just have a look!'),
+(10, 'Wie gehe ich mit den Besuchern um? <br />\r\nHow do I treat visitors?', 'Man soll gegen&uuml;ber den Besuchern immer h&ouml;flich und freundlich sein, auch wenn diese gestresst sind. Wenn man das Gef&uuml;hl hat, dass man mit der Situation nicht mehr klarkommt, sollte man sich jemanden zur Unterst&uuml;tzung holen, bevor man selbst auch gestresst wird :-) <br />\r\nYou should always be polite and friendly, especially if they are stressed. When you feel you can''t handle it on your own, get someone to help you out before you get so stressed yourself that you get impolite.'),
+(11, 'Wann sind die Engelbesprechungen? <br />\r\nWhen are the angels briefings?', 'Das wird vor Ort noch festgelegt und steht im Himmelnewssystem.<br />\r\nThe information on the Angel Briefings will be in the news section of this system.'),
+(12, 'Was muss ich noch bedenken?<br />\r\nAnything else I should know?', 'Man sollte nicht total &uuml;berm&uuml;det oder ausgehungert, wenn n man einen Einsatz hat. Eine gewisse Fitness ist hilfreich.<br />\r\nYou should not be exhausted or starving when you arrive for a shift. A reasonable amount of fitness for work would be very helpful.'),
+(13, 'Ich habe eine Frage, auf die ich in der FAQ keine Antwort gefunden habe. Wohin soll ich mich wenden? <br />\r\nI have a guestion not answered here. Who can I ask?', 'Bei weitere Fragen kannst du die Anfragen an die Erzengel Formular benutzen.<br />\r\nIf you have further questions, you can use the Questions for the ArchAngels form.'),
+(20, 'Wer muss alles Eintritt zahlen?<br />\r\nWho has to pay the full entrance price?', 'Jeder. Zumindest, solange er/sie &auml;lter als 12 Jahre ist...<br />\r\nEveryone who is at older than 12 years old.');
-- --------------------------------------------------------
@@ -79,7 +79,7 @@ CREATE TABLE IF NOT EXISTS `News` (
`UID` int(11) NOT NULL default '0',
`Treffen` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`ID`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -98,7 +98,7 @@ CREATE TABLE IF NOT EXISTS `Questions` (
`AID` int(11) NOT NULL default '0',
`Answer` text NOT NULL,
PRIMARY KEY (`QID`)
-) TYPE=MyISAM COMMENT='Fragen und Antworten' AUTO_INCREMENT=21 ;
+) ENGINE=MyISAM COMMENT='Fragen und Antworten' AUTO_INCREMENT=21 ;
-- --------------------------------------------------------
@@ -118,7 +118,7 @@ CREATE TABLE IF NOT EXISTS `Room` (
`show` char(1) NOT NULL default 'Y',
`Number` int(11) default NULL,
PRIMARY KEY (`RID`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -137,7 +137,7 @@ CREATE TABLE IF NOT EXISTS `ShiftEntry` (
`TID` int(11) NOT NULL default '0',
`UID` int(11) NOT NULL default '0',
`Comment` text
-) TYPE=MyISAM;
+) ENGINE=MyISAM;
-- --------------------------------------------------------
@@ -161,7 +161,7 @@ CREATE TABLE IF NOT EXISTS `Shifts` (
`URL` text,
`PSID` text,
PRIMARY KEY (`SID`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -180,7 +180,7 @@ CREATE TABLE IF NOT EXISTS `Wecken` (
`Ort` text NOT NULL,
`Bemerkung` text NOT NULL,
PRIMARY KEY (`ID`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -201,7 +201,7 @@ CREATE TABLE IF NOT EXISTS `news_comments` (
`UID` int(11) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `Refid` (`Refid`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
--
-- Tabellenstruktur für Tabelle `Counter`
@@ -212,7 +212,7 @@ CREATE TABLE IF NOT EXISTS `Counter` (
`URL` varchar(255) NOT NULL default '',
`Anz` bigint(20) NOT NULL default '0',
PRIMARY KEY (`URL`)
-) TYPE=MyISAM COMMENT='Counter der Seiten';
+) ENGINE=MyISAM COMMENT='Counter der Seiten';
--
-- Tabellenstruktur für Tabelle `ShiftFreeloader`
@@ -225,5 +225,5 @@ CREATE TABLE IF NOT EXISTS `ShiftFreeloader` (
`Length` int(11) NOT NULL,
`Comment` text NOT NULL,
PRIMARY KEY (`ID`)
-) TYPE=MyISAM AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
diff --git a/DB/SDrohnen.sql b/DB/SDrohnen.sql
index 8cb4fc42..a2c93fab 100755..100644
--- a/DB/SDrohnen.sql
+++ b/DB/SDrohnen.sql
@@ -22,7 +22,7 @@ CREATE TABLE `Sprache` (
`Sprache` char(2) NOT NULL default 'DE',
`Text` text NOT NULL,
KEY `TextID` (`TextID`,`Sprache`)
-) TYPE=MyISAM;
+) ENGINE=MyISAM;
--
-- Daten fuer Tabelle `Sprache`
diff --git a/DB/Sprache.sql b/DB/Sprache.sql
index 76597b71..52434198 100755..100644
--- a/DB/Sprache.sql
+++ b/DB/Sprache.sql
@@ -22,7 +22,7 @@ CREATE TABLE `Sprache` (
`Sprache` char(2) NOT NULL default 'DE',
`Text` text NOT NULL,
KEY `TextID` (`TextID`,`Sprache`)
-) TYPE=MyISAM;
+) ENGINE=MyISAM;
--
-- Daten für Tabelle `Sprache`
diff --git a/DB/UserCVS.sql b/DB/UserCVS.sql
index 53b202f8..3d2d99e6 100644
--- a/DB/UserCVS.sql
+++ b/DB/UserCVS.sql
@@ -1,101 +1,113 @@
+-- phpMyAdmin SQL Dump
+-- version 3.2.4
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Erstellungszeit: 01. Juni 2011 um 13:24
+-- Server Version: 5.1.44
+-- PHP-Version: 5.3.1
+
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+--
+-- Datenbank: `engelsystem`
+--
+
-- --------------------------------------------------------
---
--- Tabellenstruktur für Tabelle `UserCVS`
---
-DROP TABLE IF EXISTS `UserCVS`;
-CREATE TABLE `UserCVS` (
- `UID` int(11) NOT NULL default '0',
- `GroupID` int(11) default '-2',
- `index.php` char(1) NOT NULL default 'G',
- `logout.php` char(1) NOT NULL default 'G',
- `faq.php` char(1) NOT NULL default 'G',
- `lageplan.php` char(1) NOT NULL default 'G',
- `makeuser.php` char(1) NOT NULL default 'G',
- `nonpublic/index.php` char(1) NOT NULL default 'G',
- `nonpublic/news.php` char(1) NOT NULL default 'G',
- `nonpublic/newsAddMeting` char(1) NOT NULL default 'G',
- `nonpublic/news_comments.php` char(1) NOT NULL default 'G',
- `nonpublic/myschichtplan.php` char(1) NOT NULL default 'G',
- `nonpublic/myschichtplan_ical.php` char(1) NOT NULL default 'G',
- `nonpublic/schichtplan_beamer.php` char(1) NOT NULL default 'G',
- `nonpublic/engelbesprechung.php` char(1) NOT NULL default 'G',
- `nonpublic/schichtplan.php` char(1) NOT NULL default 'G',
- `nonpublic/schichtplan_add.php` char(1) NOT NULL default 'G',
- `nonpublic/wecken.php` char(1) NOT NULL default 'G',
- `nonpublic/waeckliste.php` char(1) NOT NULL default 'G',
- `nonpublic/messages.php` char(1) NOT NULL default 'G',
- `nonpublic/faq.php` char(1) NOT NULL default 'G',
- `nonpublic/einstellungen.php` char(1) NOT NULL default 'G',
- `Change T_Shirt Size` char(1) NOT NULL default 'G',
- `admin/index.php` char(1) NOT NULL default 'G',
- `admin/room.php` char(1) NOT NULL default 'G',
- `admin/EngelType.php` char(1) NOT NULL default 'G',
- `admin/schichtplan.php` char(1) NOT NULL default 'G',
- `admin/shiftadd.php` char(1) NOT NULL default 'G',
- `admin/schichtplan_druck.php` char(1) NOT NULL default 'G',
- `admin/user.php` char(1) NOT NULL default 'G',
- `admin/userChangeNormal.php` char(1) NOT NULL default 'G',
- `admin/userSaveNormal.php` char(1) NOT NULL default 'G',
- `admin/userChangeSecure.php` char(1) NOT NULL default 'G',
- `admin/userSaveSecure.php` char(1) NOT NULL default 'G',
- `admin/group.php` char(1) NOT NULL default 'G',
- `admin/userDefaultSetting.php` char(1) NOT NULL default 'G',
- `admin/UserPicture.php` char(1) NOT NULL default 'G',
- `admin/userArrived.php` char(1) NOT NULL default 'G',
- `admin/aktiv.php` char(1) NOT NULL default 'G',
- `admin/tshirt.php` char(1) NOT NULL default 'G',
- `admin/news.php` char(1) NOT NULL default 'G',
- `admin/faq.php` char(1) NOT NULL default 'G',
- `admin/free.php` char(1) NOT NULL default 'G',
- `admin/sprache.php` char(1) NOT NULL default 'G',
- `admin/dect.php` char(1) NOT NULL default 'G',
- `admin/dect_call.php` char(1) NOT NULL default 'G',
- `admin/dbUpdateFromXLS.php` char(1) NOT NULL default 'G',
- `admin/Recentchanges.php` char(1) NOT NULL default 'G',
- `admin/debug.php` char(1) NOT NULL default 'G',
- `Herald` char(1) NOT NULL default 'G',
- `Info` char(1) NOT NULL default 'G',
- `Conference` char(1) NOT NULL default 'G',
- `Kasse` char(1) NOT NULL default 'G',
- PRIMARY KEY (`UID`)
+--
+-- Tabellenstruktur für Tabelle `UserCVS`
+--
+
+CREATE TABLE IF NOT EXISTS `UserCVS` (
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `GroupID` int(11) DEFAULT '-2',
+ `index.php` char(1) NOT NULL DEFAULT 'G',
+ `logout.php` char(1) NOT NULL DEFAULT 'G',
+ `faq.php` char(1) NOT NULL DEFAULT 'G',
+ `lageplan.php` char(1) NOT NULL DEFAULT 'G',
+ `makeuser.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/index.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/news.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/newsAddMeting` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/news_comments.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/myschichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/myschichtplan_ical.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan_beamer.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/engelbesprechung.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan_add.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/wecken.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/waeckliste.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/messages.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/faq.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/einstellungen.php` char(1) NOT NULL DEFAULT 'G',
+ `Change T_Shirt Size` char(1) NOT NULL DEFAULT 'G',
+ `admin/index.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/room.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/EngelType.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/schichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/shiftadd.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/schichtplan_druck.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/user.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userChangeNormal.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userSaveNormal.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userChangeSecure.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userSaveSecure.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/group.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userDefaultSetting.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/UserPicture.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userArrived.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/aktiv.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/tshirt.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/news.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/faq.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/free.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/sprache.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dect.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dect_call.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dbUpdateFromXLS.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/Recentchanges.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/debug.php` char(1) NOT NULL DEFAULT 'G',
+ `Herald` char(1) NOT NULL DEFAULT 'G',
+ `Info` char(1) NOT NULL DEFAULT 'G',
+ `Conference` char(1) NOT NULL DEFAULT 'G',
+ `Kasse` char(1) NOT NULL DEFAULT 'G',
+ `credits.php` char(1) NOT NULL,
+ PRIMARY KEY (`UID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
--- Daten für Tabelle `UserCVS`
---
+--
+-- Daten für Tabelle `UserCVS`
+--
-INSERT INTO `UserCVS` (`UID`, `GroupID`, `index.php`, `logout.php`, `faq.php`, `lageplan.php`, `makeuser.php`, `nonpublic/index.php`, `nonpublic/news.php`, `nonpublic/newsAddMeting`, `nonpublic/news_comments.php`, `nonpublic/myschichtplan.php`, `nonpublic/myschichtplan_ical.php`, `nonpublic/schichtplan_beamer.php`, `nonpublic/engelbesprechung.php`, `nonpublic/schichtplan.php`, `nonpublic/schichtplan_add.php`, `nonpublic/wecken.php`, `nonpublic/waeckliste.php`, `nonpublic/messages.php`, `nonpublic/faq.php`, `nonpublic/einstellungen.php`, `Change T_Shirt Size`, `admin/index.php`, `admin/room.php`, `admin/EngelType.php`, `admin/schichtplan.php`, `admin/shiftadd.php`, `admin/schichtplan_druck.php`, `admin/user.php`, `admin/userChangeNormal.php`, `admin/userSaveNormal.php`, `admin/userChangeSecure.php`, `admin/userSaveSecure.php`, `admin/group.php`, `admin/userDefaultSetting.php`, `admin/UserPicture.php`, `admin/userArrived.php`, `admin/aktiv.php`, `admin/tshirt.php`, `admin/news.php`, `admin/faq.php`, `admin/free.php`, `admin/sprache.php`, `admin/dect.php`, `admin/dect_call.php`, `admin/dbUpdateFromXLS.php`, `admin/Recentchanges.php`, `admin/debug.php`, `Herald`, `Info`, `Conference`, `Kasse`) VALUES
-(1, -4, 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G'),
-(-1, NULL, 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'),
-(-2, NULL, 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'),
-(-3, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y', 'Y', 'Y'),
-(-4, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y'),
-(-5, NULL, 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
+INSERT INTO `UserCVS` (`UID`, `GroupID`, `index.php`, `logout.php`, `faq.php`, `lageplan.php`, `makeuser.php`, `nonpublic/index.php`, `nonpublic/news.php`, `nonpublic/newsAddMeting`, `nonpublic/news_comments.php`, `nonpublic/myschichtplan.php`, `nonpublic/myschichtplan_ical.php`, `nonpublic/schichtplan_beamer.php`, `nonpublic/engelbesprechung.php`, `nonpublic/schichtplan.php`, `nonpublic/schichtplan_add.php`, `nonpublic/wecken.php`, `nonpublic/waeckliste.php`, `nonpublic/messages.php`, `nonpublic/faq.php`, `nonpublic/einstellungen.php`, `Change T_Shirt Size`, `admin/index.php`, `admin/room.php`, `admin/EngelType.php`, `admin/schichtplan.php`, `admin/shiftadd.php`, `admin/schichtplan_druck.php`, `admin/user.php`, `admin/userChangeNormal.php`, `admin/userSaveNormal.php`, `admin/userChangeSecure.php`, `admin/userSaveSecure.php`, `admin/group.php`, `admin/userDefaultSetting.php`, `admin/UserPicture.php`, `admin/userArrived.php`, `admin/aktiv.php`, `admin/tshirt.php`, `admin/news.php`, `admin/faq.php`, `admin/free.php`, `admin/sprache.php`, `admin/dect.php`, `admin/dect_call.php`, `admin/dbUpdateFromXLS.php`, `admin/Recentchanges.php`, `admin/debug.php`, `Herald`, `Info`, `Conference`, `Kasse`, `credits.php`) VALUES
+(1, -4, 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G'),
+(-1, NULL, 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),
+(-2, NULL, 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),
+(-3, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y'),
+(-4, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y'),
+(-5, NULL, 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'),
-- --------------------------------------------------------
--- --------------------------------------------------------
--- --------------------------------------------------------
---
--- Tabellenstruktur für Tabelle `UserGroups`
---
+--
+-- Tabellenstruktur für Tabelle `UserGroups`
+--
-DROP TABLE IF EXISTS `UserGroups`;
CREATE TABLE IF NOT EXISTS `UserGroups` (
`Name` varchar(35) NOT NULL,
`UID` int(11) NOT NULL,
- PRIMARY KEY (`UID`)
+ PRIMARY KEY (`UID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
--- Daten für Tabelle `UserGroups`
---
+--
+-- Daten für Tabelle `UserGroups`
+--
-INSERT INTO `UserGroups` (`Name`, `UID`) VALUES
+INSERT INTO `UserGroups` (`Name`, `UID`) VALUES
('1-logout User', -1),
('2-Engel', -2),
('3-Shift Coordinator', -3),
('4-Erzengel', -4),
('5-Developer', -5);
-
diff --git a/DB/UserPicture.sql b/DB/UserPicture.sql
index 6dfbe523..095684b3 100644
--- a/DB/UserPicture.sql
+++ b/DB/UserPicture.sql
@@ -22,7 +22,7 @@ CREATE TABLE `UserPicture` (
`ContentType` varchar(20) NOT NULL default '',
`show` char(1) NOT NULL default 'N',
PRIMARY KEY (`UID`)
-) TYPE=MyISAM;
+) ENGINE=MyISAM;
--
-- Daten für Tabelle `UserPicture`
diff --git a/DB/db_rewrite.sql b/DB/db_rewrite.sql
new file mode 100644
index 00000000..e4bb6689
--- /dev/null
+++ b/DB/db_rewrite.sql
@@ -0,0 +1,1248 @@
+-- phpMyAdmin SQL Dump
+-- version 3.2.4
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Erstellungszeit: 03. Juni 2011 um 14:20
+-- Server Version: 5.1.44
+-- PHP-Version: 5.3.1
+
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+--
+-- Datenbank: `engelsystem`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `AngelTypes`
+--
+
+CREATE TABLE IF NOT EXISTS `AngelTypes` (
+ `TID` int(11) NOT NULL AUTO_INCREMENT,
+ `Name` varchar(25) NOT NULL DEFAULT '',
+ `Man` text,
+ PRIMARY KEY (`TID`),
+ UNIQUE KEY `Name` (`Name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
+
+--
+-- Daten für Tabelle `AngelTypes`
+--
+
+INSERT INTO `AngelTypes` (`TID`, `Name`, `Man`) VALUES
+(1, 'Sex', ''),
+(4, 'Audio', ''),
+(5, 'Massage', '');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `ChangeLog`
+--
+
+CREATE TABLE IF NOT EXISTS `ChangeLog` (
+ `Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Commend` text NOT NULL,
+ `SQLCommad` text NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `ChangeLog`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Counter`
+--
+
+CREATE TABLE IF NOT EXISTS `Counter` (
+ `URL` varchar(255) NOT NULL DEFAULT '',
+ `Anz` bigint(20) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`URL`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Counter der Seiten';
+
+--
+-- Daten für Tabelle `Counter`
+--
+
+INSERT INTO `Counter` (`URL`, `Anz`) VALUES
+('news', 206),
+('login', 42),
+('logout', 19),
+('start', 32),
+('faq', 27),
+('credits', 7),
+('register', 12),
+('admin_rooms', 90),
+('admin_angel_types', 71),
+('user_settings', 137),
+('user_messages', 113),
+('admin_groups', 149),
+('user_questions', 55),
+('admin_questions', 43),
+('admin_faq', 56),
+('admin_news', 33),
+('news_comments', 151),
+('admin_user', 206),
+('user_meetings', 5),
+('admin_language', 29),
+('admin_log', 19),
+('user_wakeup', 61);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `FAQ`
+--
+
+CREATE TABLE IF NOT EXISTS `FAQ` (
+ `FID` bigint(20) NOT NULL AUTO_INCREMENT,
+ `Frage_de` text NOT NULL,
+ `Antwort_de` text NOT NULL,
+ `Frage_en` text NOT NULL,
+ `Antwort_en` text NOT NULL,
+ PRIMARY KEY (`FID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 ;
+
+--
+-- Daten für Tabelle `FAQ`
+--
+
+INSERT INTO `FAQ` (`FID`, `Frage_de`, `Antwort_de`, `Frage_en`, `Antwort_en`) VALUES
+(1, 'Komme ich als Engel billiger/kostenlos auf den Congress?', 'Nein, jeder Engel muss normal Eintritt bezahlen.', 'Do I get in cheaper / for free to the congress as an angel ?', 'No, every angel has to pay full price.'),
+(2, 'Was bekomme ich f&uuml;r meine Mitarbeit?', 'Jeder Engel der arbeitet bekommt ein kostenloses T-Shirt nach der Veranstalltung', 'What can i expect in return for my help?', 'Every working angel gets a free shirt after the event.'),
+(3, 'Wie lange muss ich als Engel arbeiten?', 'Diese Frage ist schwer zu beantworten. Es h&auml;ngt z.B. davon ab, was man macht (z.B. Workshop-Engel) und wieviele Engel wir zusammen bekommen.', 'How long do I have to work as an angel ?', 'This is difficult to answer. It depends on what you decide to do (e.g. workshop angel) and how many people will attend.'),
+(6, 'Ich bin erst XX Jahre alt. Kann ich &uuml;berhaupt helfen?', 'Wir k&ouml;nnen jede helfende Hand gebrauchen. Wenn du alt genug bist, um zum Congress zu kommen, bist du auch alt genug zu helfen.', 'I''m only XX years old. Can I help anyway?', 'We need every help we can get. If your old enough to come to the congress, your old enough to help.'),
+(8, 'Wer sind eigentlich die Erzengel?', 'Erzengel sind dieses Jahr: BugBlue, TabascoEye, Jeedi, Daizy, volty', 'Who <b>are</b> the Arch-Angels?', 'The ArchAngels for this year are: BugBlue, TabascoEye, Jeedi, Daizy, volty'),
+(9, 'Gibt es dieses Jahr wieder einen IRC-Channel f&uuml;r Engel?', 'Ja, im IRC-Net existiert #chaos-angel. Einfach mal reinschaun!', 'Will there be an IRC-channel for angels again?', 'Yes, in the IRC-net there''s #chaos-angel. Just have a look!'),
+(10, 'Wie gehe ich mit den Besuchern um?', 'Man soll gegen&uuml;ber den Besuchern immer h&ouml;flich und freundlich sein, auch wenn diese gestresst sind. Wenn man das Gef&uuml;hl hat, dass man mit der Situation nicht mehr klarkommt, sollte man sich jemanden zur Unterst&uuml;tzung holen, bevor man selbst auch gestresst wird :-)', 'How do I treat visitors?', 'You should always be polite and friendly, especially if they are stressed. When you feel you can''t handle it on your own, get someone to help you out before you get so stressed yourself that you get impolite.'),
+(11, 'Wann sind die Engelbesprechungen?', 'Das wird vor Ort noch festgelegt und steht im Himmelnewssystem.', 'When are the angels briefings?', 'The information on the Angel Briefings will be in the news section of this system.'),
+(12, 'Was muss ich noch bedenken?', 'Man sollte nicht total &uuml;berm&uuml;det oder ausgehungert, wenn n man einen Einsatz hat. Eine gewisse Fitness ist hilfreich.', 'Anything else I should know?', 'You should not be exhausted or starving when you arrive for a shift. A reasonable amount of fitness for work would be very helpful.'),
+(13, 'Ich habe eine Frage, auf die ich in der FAQ keine Antwort gefunden habe. Wohin soll ich mich wenden?', 'Bei weitere Fragen kannst du die Anfragen an die Erzengel Formular benutzen.', 'I have a guestion not answered here. Who can I ask?', 'If you have further questions, you can use the Questions for the ArchAngels form.'),
+(20, 'Wer muss alles Eintritt zahlen?', 'Jeder. Zumindest, solange er/sie &auml;lter als 12 Jahre ist...', 'Who has to pay the full entrance price?', 'Everyone who is at older than 12 years old.');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `GroupPrivileges`
+--
+
+CREATE TABLE IF NOT EXISTS `GroupPrivileges` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `group_id` int(11) NOT NULL,
+ `privilege_id` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `group_id` (`group_id`,`privilege_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=85 ;
+
+--
+-- Daten für Tabelle `GroupPrivileges`
+--
+
+INSERT INTO `GroupPrivileges` (`id`, `group_id`, `privilege_id`) VALUES
+(83, -2, 8),
+(24, -1, 5),
+(82, -2, 11),
+(81, -2, 9),
+(23, -1, 2),
+(62, -4, 16),
+(61, -4, 6),
+(80, -2, 17),
+(79, -2, 15),
+(75, -5, 18),
+(60, -4, 12),
+(59, -4, 14),
+(78, -2, 3),
+(58, -4, 13),
+(57, -4, 7),
+(63, -4, 5),
+(77, -2, 4),
+(74, -5, 10),
+(73, -3, 19),
+(76, -5, 20),
+(84, -2, 20);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Groups`
+--
+
+CREATE TABLE IF NOT EXISTS `Groups` (
+ `Name` varchar(35) NOT NULL,
+ `UID` int(11) NOT NULL,
+ PRIMARY KEY (`UID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `Groups`
+--
+
+INSERT INTO `Groups` (`Name`, `UID`) VALUES
+('1-Gast', -1),
+('2-Engel', -2),
+('3-Shift Coordinator', -3),
+('4-Erzengel', -4),
+('5-Developer', -5);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Messages`
+--
+
+CREATE TABLE IF NOT EXISTS `Messages` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `Datum` int(11) NOT NULL,
+ `SUID` int(11) NOT NULL DEFAULT '0',
+ `RUID` int(11) NOT NULL DEFAULT '0',
+ `isRead` char(1) NOT NULL DEFAULT 'N',
+ `Text` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `Datum` (`Datum`),
+ KEY `SUID` (`SUID`),
+ KEY `RUID` (`RUID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Fuers interen Communikationssystem' AUTO_INCREMENT=8 ;
+
+--
+-- Daten für Tabelle `Messages`
+--
+
+INSERT INTO `Messages` (`id`, `Datum`, `SUID`, `RUID`, `isRead`, `Text`) VALUES
+(2, 1307042342, 1, 147, 'Y', 'asdfasdfasdfasdf'),
+(4, 1307042622, 1, 147, 'Y', 'asdfasdfasdf'),
+(7, 1307042692, 147, 1, 'Y', 'foobar');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `News`
+--
+
+CREATE TABLE IF NOT EXISTS `News` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `Datum` int(11) NOT NULL,
+ `Betreff` varchar(150) NOT NULL DEFAULT '',
+ `Text` text NOT NULL,
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Treffen` tinyint(4) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
+
+--
+-- Daten für Tabelle `News`
+--
+
+INSERT INTO `News` (`ID`, `Datum`, `Betreff`, `Text`, `UID`, `Treffen`) VALUES
+(4, 1307076340, 'Achtung, Treffen!', '', 1, 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `news_comments`
+--
+
+CREATE TABLE IF NOT EXISTS `news_comments` (
+ `ID` bigint(11) NOT NULL AUTO_INCREMENT,
+ `Refid` int(11) NOT NULL DEFAULT '0',
+ `Datum` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `Text` text NOT NULL,
+ `UID` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`),
+ KEY `Refid` (`Refid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
+
+--
+-- Daten für Tabelle `news_comments`
+--
+
+INSERT INTO `news_comments` (`ID`, `Refid`, `Datum`, `Text`, `UID`) VALUES
+(1, 10, '2011-06-03 04:12:28', 'FOobar :)', 1),
+(2, 10, '2011-06-03 04:13:03', 'FOobar :)', 1),
+(3, 10, '2011-06-03 04:13:06', 'FOobar :)', 1),
+(4, 3, '2011-06-03 05:20:05', 'Fünününü!', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Privileges`
+--
+
+CREATE TABLE IF NOT EXISTS `Privileges` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(128) NOT NULL,
+ `desc` varchar(1024) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `name` (`name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;
+
+--
+-- Daten für Tabelle `Privileges`
+--
+
+INSERT INTO `Privileges` (`id`, `name`, `desc`) VALUES
+(1, 'start', 'Startseite für Gäste/Nicht eingeloggte User'),
+(2, 'login', 'Logindialog'),
+(3, 'news', 'Anzeigen der News-Seite'),
+(4, 'logout', 'User darf sich ausloggen'),
+(5, 'register', 'Einen neuen Engel registerieren'),
+(6, 'admin_rooms', 'Räume administrieren'),
+(7, 'admin_angel_types', 'Engel Typen administrieren'),
+(8, 'user_settings', 'User profile settings'),
+(9, 'user_messages', 'Writing and reading messages from user to user'),
+(10, 'admin_groups', 'Manage usergroups and their rights'),
+(11, 'user_questions', 'Let users ask questions'),
+(12, 'admin_questions', 'Answer user''s questions'),
+(13, 'admin_faq', 'Edit FAQs'),
+(14, 'admin_news', 'Administrate the news section'),
+(15, 'news_comments', 'User can comment news'),
+(16, 'admin_user', 'Administrate the angels'),
+(17, 'user_meetings', 'Lists meetings (news)'),
+(18, 'admin_language', 'Translate the system'),
+(19, 'admin_log', 'Display recent changes'),
+(20, 'user_wakeup', 'User wakeup-service organization');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Questions`
+--
+
+CREATE TABLE IF NOT EXISTS `Questions` (
+ `QID` bigint(20) NOT NULL AUTO_INCREMENT,
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Question` text NOT NULL,
+ `AID` int(11) NOT NULL DEFAULT '0',
+ `Answer` text NOT NULL,
+ PRIMARY KEY (`QID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Fragen und Antworten' AUTO_INCREMENT=5 ;
+
+--
+-- Daten für Tabelle `Questions`
+--
+
+INSERT INTO `Questions` (`QID`, `UID`, `Question`, `AID`, `Answer`) VALUES
+(4, 1, 'Hallo?\nEy?', 1, 'Jo,\nJo!');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Room`
+--
+
+CREATE TABLE IF NOT EXISTS `Room` (
+ `RID` int(11) NOT NULL AUTO_INCREMENT,
+ `Name` varchar(35) NOT NULL DEFAULT '',
+ `Man` text,
+ `FromPentabarf` char(1) NOT NULL DEFAULT 'N',
+ `show` char(1) NOT NULL DEFAULT 'Y',
+ `Number` int(11) DEFAULT NULL,
+ PRIMARY KEY (`RID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
+
+--
+-- Daten für Tabelle `Room`
+--
+
+INSERT INTO `Room` (`RID`, `Name`, `Man`, `FromPentabarf`, `show`, `Number`) VALUES
+(2, 'Mein Zimmer', 'msquare', 'N', 'Y', 1337);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `RoomAngelTypes`
+--
+
+CREATE TABLE IF NOT EXISTS `RoomAngelTypes` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `room_id` int(11) NOT NULL,
+ `angel_type_id` int(11) NOT NULL,
+ `count` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `room_id` (`room_id`,`angel_type_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
+
+--
+-- Daten für Tabelle `RoomAngelTypes`
+--
+
+INSERT INTO `RoomAngelTypes` (`id`, `room_id`, `angel_type_id`, `count`) VALUES
+(2, 1, 1, 3);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `ShiftEntry`
+--
+
+CREATE TABLE IF NOT EXISTS `ShiftEntry` (
+ `SID` int(11) NOT NULL DEFAULT '0',
+ `TID` int(11) NOT NULL DEFAULT '0',
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Comment` text
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `ShiftEntry`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `ShiftFreeloader`
+--
+
+CREATE TABLE IF NOT EXISTS `ShiftFreeloader` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `Remove_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `UID` int(11) NOT NULL,
+ `Length` int(11) NOT NULL,
+ `Comment` text NOT NULL,
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+--
+-- Daten für Tabelle `ShiftFreeloader`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Shifts`
+--
+
+CREATE TABLE IF NOT EXISTS `Shifts` (
+ `SID` int(11) NOT NULL AUTO_INCREMENT,
+ `DateS` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `DateE` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `Len` float NOT NULL DEFAULT '0',
+ `RID` int(11) NOT NULL DEFAULT '0',
+ `Man` text,
+ `URL` text,
+ `PSID` text,
+ PRIMARY KEY (`SID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
+
+--
+-- Daten für Tabelle `Shifts`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Sprache`
+--
+
+CREATE TABLE IF NOT EXISTS `Sprache` (
+ `TextID` varchar(35) NOT NULL DEFAULT 'makeuser_',
+ `Sprache` char(2) NOT NULL DEFAULT 'DE',
+ `Text` text NOT NULL,
+ KEY `TextID` (`TextID`,`Sprache`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `Sprache`
+--
+
+INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES
+('Hallo', 'DE', 'Hallo '),
+('Hallo', 'EN', 'Greetings '),
+('2', 'DE', ',\r\n\r\nIm Engelsystem eingeloggt..\r\nW&auml;hle zum Abmelden bitte immer den Abmelden-Button auf der linken Seite.'),
+('3', 'DE', 'Neuen Eintrag erfassen...'),
+('3', 'EN', 'Create new entry...'),
+('4', 'EN', 'Entry saved.\r\n\r\n'),
+('4', 'DE', 'Eintrag wurde gesichert.\n\n'),
+('2', 'EN', ',\r\n\r\nyou are now logged in.\r\nTo log out please choose the logout-button on the right side.'),
+('5', 'DE', 'Seite: '),
+('5', 'EN', 'Page: '),
+('6', 'DE', 'Neue News erstellen:'),
+('6', 'EN', 'Create new News:'),
+('7', 'DE', 'Betreff:'),
+('7', 'EN', 'Subject:'),
+('8', 'EN', 'Text:'),
+('8', 'DE', 'Text:'),
+('9', 'DE', 'Treffen:'),
+('9', 'EN', 'Meeting:'),
+('save', 'DE', 'Sichern'),
+('save', 'EN', 'save'),
+('back', 'DE', 'zur&uuml;ck '),
+('back', 'EN', 'back '),
+('top', 'DE', 'top'),
+('top', 'EN', 'top '),
+('13', 'DE', 'auf dieser Seite kannst Du deine pers&ouml;nlichen Einstellungen &auml;ndern, wie zum Beispiel dein Kennwort, Farbeinstellungen usw.\r\n\r\n'),
+('13', 'EN', 'here you can change your personal settings i.e. password, color settings etc.\r\n\r\n'),
+('14', 'DE', 'Hier kannst du dein Kennwort &auml;ndern.. '),
+('14', 'EN', 'Here you can change your password.'),
+('15', 'DE', 'Altes Passwort:'),
+('15', 'EN', 'Old password:'),
+('16', 'DE', 'Neues Passwort:'),
+('16', 'EN', 'New password:'),
+('17', 'DE', 'Passwortbest&auml;tigung:'),
+('17', 'EN', 'password confirmation:'),
+('18', 'DE', 'Hier kannst du dir dein Farblayout aussuchen:'),
+('18', 'EN', 'Here you can choose your color settings:'),
+('19', 'DE', 'Farblayout:'),
+('19', 'EN', 'color settings:'),
+('20', 'DE', 'Hier kannst Du dir deine Sprache aussuchen:\r\nHere you can choose your language:'),
+('20', 'EN', 'Here you can choose your language:\r\nHier kannst Du dir deine Sprache aussuchen:'),
+('21', 'DE', 'Sprache:'),
+('21', 'EN', 'Language:'),
+('22', 'DE', 'Hier kannst du dir einen Avatar aussuchen. Dies l&auml;sst neben deinem Nick z. B. in den News das Bildchen erscheinen.'),
+('22', 'EN', 'Here you can choose your avatar. It will be displayed next to your Nick. '),
+('23', 'DE', 'Avatar:'),
+('23', 'EN', 'Avatar:'),
+('24', 'DE', 'Keiner'),
+('24', 'EN', 'nobody'),
+('25', 'DE', 'Eingegebene Kennw&ouml;rter sind nicht gleich -&gt; OK.\r\nCheck ob altes Passwort ok ist:'),
+('25', 'EN', 'The passwords entered don&#039;t match. -&gt; OK.\r\nCheck if the old password is correct:'),
+('26', 'DE', '-> OK.\r\n'),
+('26', 'EN', '-> OK.'),
+('27', 'DE', 'Setzen des neuen Kennwortes...:'),
+('27', 'EN', 'Set your new password...:'),
+('28', 'DE', 'Neues Kennwort wurde gesetzt.'),
+('28', 'EN', 'New password saved.'),
+('29', 'DE', 'Ein Fehler ist aufgetreten.\r\nProbiere es noch einmal.'),
+('29', 'EN', 'An error has occured.\r\nPlease try again.'),
+('30', 'DE', '-> nicht OK.\r\nBitte nocheinmal probieren.'),
+('30', 'EN', '-> not OK.\r\nPlease try again.\r\n'),
+('31', 'DE', 'Kennw&ouml;rter sind nicht gleich. Bitte wiederholen.'),
+('31', 'EN', 'The passwords don&#039;t match. Please try again.'),
+('32', 'DE', 'Neues Farblayout wurde gesetzt. Mit der n&auml;chsten Seite wird es aktiv.'),
+('32', 'EN', 'New color settings are saved. On the next page it will be active.'),
+('33', 'DE', 'Sprache wurde gesetzt. Mit der n&auml;chsten Seite wird es aktiv.'),
+('33', 'EN', 'Language is saved. On the next page it will be active.'),
+('34', 'DE', 'Avatar wurde gesetzt.'),
+('34', 'EN', 'Avatar is saved.'),
+('35', 'DE', '&lt;b&gt;Neue Anfrage:&lt;/b&gt;\r\nIn diesem Formular hast du die M&ouml;glichkeit, den Dispatchern eine Frage zu stellen. Wenn diese beantwortet ist, wirst du hier dar&uuml;ber informiert. Sollte die Frage von allgemeinem Interesse sein, wird diese in die FAQ &uuml;bernommen.'),
+('35', 'EN', '<b>New Question</b>\r\nWith this form you may sumbit questions to our Dispatcher. Topics of common interest may be added to the FAQ. (Section: answered questions).\r\n'),
+('36', 'DE', 'Stelle hier deine Frage'),
+('36', 'EN', 'Tell us your question'),
+('37', 'DE', 'Deine Anfrage war:'),
+('37', 'EN', 'Your question was:'),
+('38', 'DE', 'Diese liegt nun bei den Dispatchern zur Beantwortung vor.'),
+('38', 'EN', 'It is queued for answering.'),
+('39', 'DE', 'Deine bisherigen Anfragen:'),
+('39', 'EN', 'Your past inquiries:'),
+('40', 'DE', 'Offene Anfragen:'),
+('40', 'EN', 'Open inquiries:'),
+('41', 'DE', 'keine vorhanden...'),
+('41', 'EN', 'nothing exists...'),
+('42', 'DE', 'Beantwortete Anfragen:'),
+('42', 'EN', 'Answered inquiries:'),
+('pub_index_pass_no_ok', 'DE', 'Dein Passwort ist nicht korrekt. Bitte probiere es nocheinmal:'),
+('pub_index_User_unset', 'DE', 'Es wurde kein User mit deinem Nick gefunden. Bitte probiere es noch einmal oder wende dich an die Dispatcher.'),
+('pub_index_User_more_as_one', 'DE', 'F&uuml;r deinen Nick gab es mehrere User... bitte wende dich an die Dispatcher'),
+('Hello', 'DE', 'Hallo '),
+('Hello', 'EN', 'Hello '),
+('pub_schicht_beschreibung', 'DE', 'Hier kannst du dich f&uuml;r Schichten eintragen. Dazu such dir eine freie Schicht und klicke auf den Link! Du kannst dir eine Schicht &uuml;ber den Raum bzw. Datum aussuchen. W&auml;hle hierf&uuml;r einen Tag / ein Datum aus.'),
+('pub_schicht_auswahl_raeume', 'DE', 'Zur Auswahl stehende R&auml;ume:'),
+('pub_schicht_alles_1', 'DE', 'Und nat&uuml;rlich kannst du dir auch '),
+('pub_schicht_alles_2', 'DE', 'alles '),
+('pub_schicht_alles_3', 'DE', 'auf einmal anzeigen lassen.'),
+('pub_schicht_Anzeige_1', 'DE', 'Anzeige des Schichtplans am '),
+('pub_schicht_Anzeige_2', 'DE', ' im Raum: '),
+('pub_schicht_Anzeige_3', 'DE', 'Anzeige des Schichtplans f&uuml;r den '),
+('inc_schicht_engel', 'DE', 'Engel'),
+('inc_schicht_engel', 'EN', 'Angel'),
+('inc_schicht_ist', 'DE', 'ist'),
+('inc_schicht_sind', 'DE', 'sind'),
+('inc_schicht_weitere', 'DE', ' weitere'),
+('inc_schicht_weiterer', 'DE', ' weiterer'),
+('inc_schicht_werden', 'DE', ' werden '),
+('inc_schicht_wird', 'DE', ' wird '),
+('inc_schicht_noch_gesucht', 'DE', ' noch gesucht'),
+('inc_schicht_und', 'DE', ' und '),
+('pub_wake_beschreibung', 'DE', 'hier kannst du dich zum Wecken eintragen. Dazu sage einfach wann und wo und der Engel vom Dienst wird dich wecken.'),
+('pub_wake_beschreibung2', 'DE', 'Alle eingetragenen Weckwünsche, die nächsten zuerst.'),
+('pub_wake_Datum', 'DE', 'Datum'),
+('pub_wake_Ort', 'DE', 'Ort'),
+('pub_wake_Bemerkung', 'DE', 'Bermerkung'),
+('lageplan_text1', 'DE', 'Hier eine &Uuml;bersicht &uuml;ber die Raumssituation:'),
+('pub_wake_Text2', 'DE', 'Hier kannst du einen neuen Eintrag erfassen:'),
+('pub_wake_bouton', 'DE', 'Weck mich!'),
+('pub_wake_bouton', 'EN', 'wake me up!'),
+('pub_wake_del', 'EN', 'delete'),
+('pub_mywake_beschreibung1', 'DE', 'Hier siehst du die Schichten, f&uuml;r die du dich eingetragen hast.'),
+('pub_mywake_beschreibung2', 'DE', 'Bitte versuche p&uuml;nktlich zu den Schichten zu erscheinen.'),
+('pub_mywake_beschreibung3', 'DE', 'Hier hast du auch die M&ouml;glichkeit, dich bis '),
+('pub_mywake_beschreibung4', 'DE', ' Stunden vor Schichtbeginn auszutragen.'),
+('pub_mywake_anzahl1', 'DE', 'Du hast dich f&uuml;r '),
+('pub_mywake_anzahl2', 'DE', ' Schichten eingetragen'),
+('pub_mywake_Datum', 'DE', 'Datum'),
+('pub_mywake_Uhrzeit', 'DE', 'Uhrzeit'),
+('pub_mywake_Ort', 'DE', 'Ort'),
+('pub_mywake_Bemerkung', 'DE', 'Bemerkung'),
+('pub_mywake_austragen', 'DE', 'austragen'),
+('pub_mywake_delate1', 'DE', 'Schicht wird ausgetragen...'),
+('pub_mywake_add_ok', 'DE', 'Schicht wurde ausgetragen.'),
+('pub_mywake_add_ko', 'DE', 'Sorry, ein kleiner Fehler ist aufgetreten... probiere es doch bitte nocheinmal :)'),
+('pub_mywake_after', 'DE', 'zu sp&auml;t'),
+('pub_index_pass_no_ok', 'EN', 'Your password is incorrect. Please try it again:\r\n'),
+('pub_index_User_unset', 'EN', 'No user was found with that Nickname. Please try again. If you are still having problems, ask an Dispatcher\r\n'),
+('pub_index_User_more_as_one', 'EN', 'This nickname is registered for more than one user, please contact an Dispatcher.\r\n'),
+('pub_schicht_beschreibung', 'EN', 'Here, you can register for shifts. To do this, please choose an empty shift, and click the link. You can choose the place, time and date of the shift. You can choose the date at the right.\r\n'),
+('pub_schicht_alles_1', 'EN', 'And of course you can also choose to show\r\n'),
+('pub_schicht_alles_2', 'EN', 'everything'),
+('pub_schicht_alles_3', 'EN', ' at once.'),
+('pub_schicht_auswahl_raeume', 'EN', 'To the selection of available areas.\r\n'),
+('pub_schicht_Anzeige_1', 'EN', 'Show the shift schedule\r\n'),
+('pub_schicht_Anzeige_2', 'EN', ' in Area: '),
+('pub_schicht_Anzeige_3', 'EN', 'Show the shift schedule for\r\n'),
+('inc_schicht_ist', 'EN', 'is'),
+('inc_schicht_sind', 'EN', 'are '),
+('pub_wake_beschreibung', 'EN', 'Here you can register for a wake-up "call". Simply say when and where the drone should come to wake you.\r\n'),
+('inc_schicht_weitere', 'EN', ' more'),
+('inc_schicht_weiterer', 'EN', ' more'),
+('inc_schicht_werden', 'EN', ' are '),
+('inc_schicht_wird', 'EN', ' is '),
+('inc_schicht_noch_gesucht', 'EN', ' still needed '),
+('inc_schicht_und', 'EN', ' and '),
+('pub_wake_beschreibung2', 'EN', 'All ordered wake-up calls, next first.'),
+('pub_wake_Datum', 'EN', 'Date'),
+('pub_wake_Ort', 'EN', 'Place'),
+('pub_wake_change', 'EN', 'delete'),
+('pub_wake_Bemerkung', 'EN', 'Notes'),
+('pub_wake_change', 'DE', 'l&ouml;schen'),
+('pub_wake_del', 'DE', 'l&ouml;schen'),
+('pub_wake_Text2', 'EN', 'Schedule a new wake-up here:'),
+('pub_mywake_beschreibung1', 'EN', 'Here are the shifts that you have signed up for.\r\n'),
+('pub_mywake_beschreibung2', 'EN', 'Please try to arrive for your shift on time. Be punctual!\r\n'),
+('pub_mywake_beschreibung3', 'EN', 'Here you can remove yourself from a shift up to\r\n'),
+('pub_mywake_beschreibung4', 'EN', ' hours before your shift is scheduled to begin.'),
+('pub_mywake_anzahl1', 'EN', 'You have signed up for '),
+('pub_mywake_anzahl2', 'EN', ' shift(s) so far'),
+('pub_mywake_Datum', 'EN', 'Date'),
+('pub_mywake_Uhrzeit', 'EN', 'Time'),
+('pub_mywake_Ort', 'EN', 'Place'),
+('pub_mywake_Bemerkung', 'EN', 'Notes'),
+('pub_schichtplan_add_Error', 'EN', 'An error occurred'),
+('pub_mywake_austragen', 'EN', 'remove'),
+('pub_mywake_austragen_n_c', 'EN', 'is no longer possible'),
+('pub_mywake_austragen_n_c', 'DE', 'nicht mehr m&ouml;glich'),
+('pub_mywake_delate1', 'EN', 'Shift is being removed...'),
+('pub_mywake_add_ok', 'EN', 'Shift has been removed.'),
+('pub_mywake_add_ko', 'EN', 'Sorry, something went wrong somewhere. Please try it again. :)\r\n'),
+('pub_mywake_after', 'EN', 'sorry, too late!'),
+('index_text1', 'DE', 'Wiederstand ist zwecklos!'),
+('index_text2', 'DE', 'Deine physikalischen und biologischen Eigenschaften werden den unsrigen hinzugefuegt!'),
+('index_text1', 'EN', 'Resistance is futile!\r\n'),
+('index_text3', 'DE', 'Datenerfassungsbogen:'),
+('index_text2', 'EN', 'Your biological and physical parameters will be added to our collectiv!'),
+('index_text4', 'EN', 'Please note: You have to activate cookies!'),
+('index_text4', 'DE', 'Achtung: Cookies m&uuml;ssen aktiviert sein'),
+('index_text3', 'EN', 'Assimilating drone:'),
+('index_lang_nick', 'DE', 'Wie ist Dein Nick:'),
+('index_lang_pass', 'DE', 'Wie ist Dein Passwort:'),
+('index_lang_send', 'DE', 'Fullfill order!'),
+('index_lang_nick', 'EN', 'What is your Loginname:\r\n'),
+('index_lang_pass', 'EN', 'What is your password:'),
+('index_logout', 'DE', 'Du wurdest erfolgreich abgemeldet.'),
+('index_logout', 'EN', 'You have been successfully logged out.'),
+('menu_index', 'DE', 'Index'),
+('menu_FAQ', 'DE', 'FAQ'),
+('menu_plan', 'DE', 'Lageplan'),
+('menu_index', 'EN', 'Index'),
+('menu_FAQ', 'EN', 'FAQ'),
+('pub_menu_menuname', 'DE', 'Men&uuml;'),
+('menu_plan', 'EN', 'Map'),
+('news', 'EN', 'News'),
+('news', 'DE', 'News'),
+('pub_menu_Engelbesprechung', 'DE', 'Engelbesprechung'),
+('pub_menu_menuname', 'EN', 'Menu'),
+('pub_menu_Schichtplan', 'DE', 'Schichtplan'),
+('pub_menu_Wecken', 'DE', 'Wecken'),
+('pub_menu_mySchichtplan', 'DE', 'Mein Schichtplan'),
+('pub_menu_questionEngel', 'DE', 'Anfragen an die Dispatcher'),
+('user_settings', 'DE', 'Einstellungen'),
+('pub_menu_Engelbesprechung', 'EN', 'Drone meeting'),
+('logout', 'DE', 'Abmelden'),
+('pub_menu_Schichtplan', 'EN', 'Available Shifts'),
+('pub_menu_Wecken', 'EN', 'Wake-up Service'),
+('index_lang_send', 'EN', 'Fullfill order!'),
+('pub_menu_mySchichtplan', 'EN', 'My Shifts'),
+('pub_menu_questionEngel', 'EN', 'Questions for the Dispatcher'),
+('logout', 'EN', 'Logout'),
+('user_settings', 'EN', 'Settings'),
+('menu_Name', 'DE', 'Garage'),
+('menu_Name', 'EN', 'Garage'),
+('menu_MakeUser', 'DE', 'Benutzer anlegen'),
+('menu_MakeUser', 'EN', 'Create new account'),
+('pub_menu_Waeckerlist', 'DE', 'Weckerlist'),
+('pub_menu_Waeckerlist', 'EN', 'Wake-up list'),
+('pub_waeckliste_Text1', 'DE', 'dies ist die Weckliste. Schau hier bitte, wann die Leute geweckt werden wollen und erledige dies... schliesslich willst du bestimmt nicht deren Schichten uebernehmen :-)\r\n&lt;br&gt;&lt;br&gt;\r\nDie bisherigen eingetragenen Zeiten:'),
+('pub_waeckliste_Nick', 'DE', 'Nick'),
+('pub_waeckliste_Nick', 'EN', 'Nick'),
+('pub_waeckliste_Datum', 'DE', 'Datum'),
+('pub_waeckliste_Datum', 'EN', 'Date'),
+('pub_waeckliste_Ort', 'DE', 'Ort'),
+('pub_waeckliste_Ort', 'EN', 'Place'),
+('pub_waeckliste_Comment', 'DE', 'Bemerkung'),
+('pub_waeckliste_Comment', 'EN', 'comment'),
+('pub_waeckliste_Text1', 'EN', 'This is the wake-up list. Pleace look here, when the drones want to wake-up and \r\nhandle this... you don&#039;t want to take on this shift, isn&#039;t it?:-)\r\n&lt;br&gt;&lt;br&gt;\r\nShow all entries:'),
+('pub_schichtplan_add_ToManyYousers', 'DE', 'FEHLER: Es wurden keine weiteren Engel ben&ouml;tigt !!'),
+('pub_schichtplan_add_ToManyYousers', 'EN', 'ERROR: There are enough drones for this shift'),
+('pub_mywake_Len', 'DE', 'L&auml;nge'),
+('pub_mywake_Len', 'EN', 'length'),
+('pub_schichtplan_add_AllreadyinShift', 'DE', 'du bist bereits in einer Schicht eingetragen!'),
+('pub_schichtplan_add_AllreadyinShift', 'EN', 'you have another shift on this time'),
+('pub_schichtplan_add_Error', 'DE', 'Ein Fehler ist aufgetreten'),
+('pub_schichtplan_add_WriteOK', 'DE', 'Du bist jetzt der Schicht zugeteilt. Vielen Dank f&uuml;r deine Mitarbeit.'),
+('pub_schichtplan_add_Text1', 'DE', 'Hier kannst du dich in eine Schicht eintragen. Als Kommentar kannst du etwas x-beliebiges eintragen, wie z. B.\r\nwelcher Vortrag dies ist oder &auml;hnliches. Den Kommentar kannst nur du sehen. '),
+('pub_schichtplan_add_Date', 'DE', 'Datum'),
+('pub_schichtplan_add_Place', 'DE', 'Ort'),
+('pub_schichtplan_add_Job', 'DE', 'Aufgabe'),
+('pub_schichtplan_add_Len', 'DE', 'Dauer'),
+('pub_schichtplan_add_TextFor', 'DE', 'Text zur Schicht'),
+('pub_schichtplan_add_Comment', 'DE', 'Dein Kommentar'),
+('pub_schichtplan_add_submit', 'DE', 'Ja, ich will helfen...&quot;'),
+('index_text5', 'DE', 'Bitte &uuml;berpr&uuml;fen Sie den SSL Key'),
+('index_text5', 'EN', 'Please check your SSL-Key:'),
+('pub_myshift_Edit_Text1', 'DE', 'Hier k&ouml;nnt ihr euren Kommentar &auml;ndern:'),
+('pub_myshift_EditSave_Text1', 'DE', 'Text wird gespeichert'),
+('pub_myshift_EditSave_OK', 'DE', 'erfolgreich gespeichert.'),
+('pub_myshift_EditSave_KO', 'DE', 'Fehler beim Speichern'),
+('pub_sprache_text1', 'DE', 'hier kannst du die &uuml;bersetzten Texte bearbeiten.'),
+('pub_sprache_text1', 'EN', 'here can you edit the texts of the dronesystem'),
+('pub_sprache_TextID', 'EN', 'TextID'),
+('pub_sprache_TextID', 'DE', 'TextID'),
+('pub_sprache_Sprache', 'DE', 'Sprache '),
+('pub_sprache_Sprache', 'EN', 'Language '),
+('pub_schichtplan_add_Place', 'EN', 'place'),
+('pub_sprache_Edit', 'DE', 'Bearbeiten'),
+('pub_sprache_Edit', 'EN', 'edit'),
+('pub_schichtplan_add_Date', 'EN', 'Date'),
+('pub_myshift_EditSave_KO', 'EN', 'Error on saving'),
+('pub_myshift_EditSave_OK', 'EN', 'save OK'),
+('pub_myshift_EditSave_Text1', 'EN', 'Text was saved'),
+('pub_myshift_Edit_Text1', 'EN', 'Here can you change your comment:'),
+('pub_schichtplan_add_Comment', 'EN', 'Your comment'),
+('pub_aktive_Text1', 'DE', 'Diese Funktion erm&ouml;glicht es den Dispatchern, schnell einen Engel mit einer vorgebbaren Anzahl an Stunden als Aktiv zu markieren.'),
+('pub_aktive_Text1', 'EN', 'This function enables the archdrones to mark drones as active who worked enough hours.'),
+('pub_aktive_Text2', 'DE', '&Uuml;ber die Engelliste kann dies f&uuml;r einzelne Drohne erledigt werden.'),
+('pub_aktive_Text2', 'EN', 'Over the dronelist you can do this for single drones.'),
+('pub_aktive_Text31', 'DE', 'Alle Engel mit mindestens'),
+('pub_aktive_Text31', 'EN', 'All drones with at least'),
+('pub_aktive_Text32', 'DE', 'Schichten als Aktiv markieren'),
+('pub_aktive_Text32', 'EN', 'mark shifts as &quot;active&quot;'),
+('pub_aktive_Nick', 'DE', 'Nick'),
+('pub_aktive_Nick', 'EN', 'Nick'),
+('pub_aktive_Anzahl', 'DE', 'Anzahl Schichten'),
+('pub_aktive_Anzahl', 'EN', 'number of shifts'),
+('pub_aktive_Time', 'DE', 'Gesamtzeit'),
+('pub_aktive_Time', 'EN', 'summary time'),
+('pub_schichtplan_add_submit', 'EN', 'Yes, I want to help...&quot;'),
+('pub_schichtplan_add_Len', 'EN', 'duration'),
+('pub_schichtplan_add_Job', 'EN', 'job'),
+('pub_aktive_Text5_1', 'DE', 'Alle Engel mit mindestens '),
+('pub_aktive_Text5_1', 'EN', 'All drones with at least '),
+('pub_aktive_Text5_2', 'DE', ' Schichten werden jetzt als &quot;Aktiv&quot; markiert'),
+('pub_aktive_Text5_2', 'EN', ' shifts were marked as &quot;active&quot;'),
+('pub_aktive_Active', 'DE', 'Aktiv'),
+('pub_aktive_Active', 'EN', 'active'),
+('pub_schichtplan_add_TextFor', 'EN', 'text for shift'),
+('pub_schichtplan_add_WriteOK', 'EN', 'Now, you signed up for this shift. Thank you for your cooperation.'),
+('pub_schichtplan_add_Text1', 'EN', 'Here you can sign up for a shift. As commend can you write what you want, it is only for you.'),
+('pub_schichtplan_colision', 'DE', '&lt;h1&gt;Fehler&lt;/h1&gt;\r\n&Uuml;berschneidung von Schichten:'),
+('pub_schichtplan_colision', 'EN', '&lt;h1&gt;error&lt;/h1&gt;\r\noverlap on shift:'),
+('pub_schicht_EmptyShifts', 'DE', 'Die n&auml;chsten 15 freien Schichten:'),
+('pub_schicht_EmptyShifts', 'EN', 'The next 15 empty shifts:'),
+('inc_schicht_date', 'DE', 'Datum'),
+('inc_schicht_date', 'EN', 'Date'),
+('inc_schicht_time', 'DE', 'Zeit'),
+('inc_schicht_time', 'EN', 'Time'),
+('inc_schicht_room', 'DE', 'Raum'),
+('inc_schicht_room', 'EN', 'room'),
+('inc_schicht_commend', 'DE', 'Kommentar'),
+('inc_schicht_commend', 'EN', 'comment'),
+('pub_einstellungen_Name', 'DE', 'Nachname:'),
+('pub_einstellungen_Name', 'EN', 'Last name:'),
+('pub_einstellungen_Nick', 'DE', 'Nick:'),
+('pub_einstellungen_Nick', 'EN', 'nick:'),
+('pub_einstellungen_Vorname', 'DE', 'Vorname:'),
+('pub_einstellungen_Vorname', 'EN', 'first name:'),
+('pub_einstellungen_Alter', 'DE', 'Alter:'),
+('pub_einstellungen_Alter', 'EN', 'Age:'),
+('pub_einstellungen_Telefon', 'DE', 'Telefon:'),
+('pub_einstellungen_Telefon', 'EN', 'Phone:'),
+('pub_einstellungen_Handy', 'DE', 'Handy:'),
+('pub_einstellungen_Handy', 'EN', 'Mobile Phone:'),
+('pub_einstellungen_DECT', 'DE', 'DECT:'),
+('pub_einstellungen_DECT', 'EN', 'DECT:'),
+('pub_einstellungen_email', 'DE', 'E-Mail:'),
+('pub_einstellungen_email', 'EN', 'email:'),
+('pub_einstellungen_Text_UserData', 'EN', 'Here you can change your user details.'),
+('pub_einstellungen_UserDateSaved', 'DE', 'Deine Beschreibung f&uuml;r unsere Dronenverwaltung wurde ge&auml;ndert.'),
+('pub_einstellungen_UserDateSaved', 'EN', 'Your user details were saved.'),
+('pub_menu_SchichtplanBeamer', 'DE', 'Schichtplan f&uuml;r Beamer optimiert'),
+('pub_menu_SchichtplanBeamer', 'EN', 'Shifts for beamer optimice'),
+('pub_einstellungen_Text_UserData', 'DE', 'Hier kannst du deine Beschreibung f&uuml;r unsere Engelverwaltung &auml;ndern.'),
+('lageplan_text1', 'EN', 'This is a map of available rooms:'),
+('register', 'DE', 'Engel werden'),
+('register', 'EN', 'Become an angel'),
+('makeuser_text1', 'DE', 'Mit dieser Maske meldet ihr euch im Engelsystem an. Durch das Engelsystem findet auf der Veranstaltung die Aufgabenverteilung der Engel statt.\r\n\r\n'),
+('makeuser_text1', 'EN', 'By completing this form you&#039;re registering as a Chaos-Drone. This script will create you an account in the drone task sheduler.\r\n\r\n'),
+('makeuser_Nickname', 'DE', 'Nickname'),
+('makeuser_Nickname', 'EN', 'nick'),
+('makeuser_text2', 'DE', 'Habt ihr schon einmal bei einer<br />\r\nCCC-Veranstaltung mitgeholfen? <br />\r\nWenn ja, in welchem <br />\r\nwelchen Aufgabengebiet(en)?'),
+('makeuser_text2', 'EN', 'Did you help at former <br />\r\nCCC events and which tasks <br />\r\nhave you performed then?'),
+('makeuser_Nachname', 'DE', 'Nachname'),
+('makeuser_Nachname', 'EN', 'last name'),
+('makeuser_Vorname', 'DE', 'Vorname'),
+('makeuser_Vorname', 'EN', 'first name'),
+('makeuser_Alter', 'DE', 'Alter'),
+('makeuser_Alter', 'EN', 'age'),
+('makeuser_Telefon', 'DE', 'Telefon'),
+('makeuser_Telefon', 'EN', 'phone'),
+('makeuser_DECT', 'DE', 'DECT'),
+('makeuser_DECT', 'EN', 'DECT'),
+('makeuser_Handy', 'DE', 'Handy'),
+('makeuser_Handy', 'EN', 'mobile'),
+('makeuser_E-Mail', 'DE', 'E-Mail'),
+('makeuser_E-Mail', 'EN', 'e-mail'),
+('makeuser_T-Shirt', 'DE', 'T-Shirt Gr&ouml;&szlig;e'),
+('makeuser_T-Shirt', 'EN', 'shirt size'),
+('makeuser_Engelart', 'DE', 'Zuteilung'),
+('makeuser_Engelart', 'EN', 'designation'),
+('makeuser_Passwort', 'DE', 'Passwort'),
+('makeuser_Passwort', 'EN', 'password'),
+('makeuser_Passwort2', 'DE', 'Passwort Best&auml;tigung'),
+('makeuser_Passwort2', 'EN', 'password confirm'),
+('makeuser_Anmelden', 'DE', 'Anmelden...'),
+('makeuser_Anmelden', 'EN', 'register me...'),
+('makeuser_text3', 'DE', '*Dieser Eintrag ist eine Pflichtangabe.'),
+('makeuser_text3', 'EN', '* entry required!'),
+('makeuser_error_nick1', 'DE', 'Fehler: Nickname &quot;'),
+('makeuser_error_nick1', 'EN', 'error: your nick &quot;'),
+('makeuser_error_nick2', 'DE', '&quot; ist zu kurz gew&auml;hlt (Mindestens 2 Zeichen).'),
+('makeuser_error_nick2', 'EN', '&quot; is too short (min. 2 characters)'),
+('makeuser_error_mail', 'DE', 'Fehler: E-Mail-Adresse ist nicht g&uuml;ltig.'),
+('makeuser_error_mail', 'EN', 'error: e-mail address is not correct'),
+('makeuser_error_password1', 'DE', 'Fehler: Passw&ouml;rter sind nicht identisch.'),
+('makeuser_error_password1', 'EN', 'error: your passwords don&#039;t match'),
+('makeuser_error_password2', 'DE', 'Fehler: Passwort ist zu kurz (Mindestens 6 Zeichen)'),
+('makeuser_error_password2', 'EN', 'error: your password is to short (at least 6 characters)'),
+('makeuser_error_write1', 'DE', 'Fehler: Kann die eingegebenen Daten nicht sichern?!?'),
+('makeuser_error_write1', 'EN', 'error: can t save your data...'),
+('makeuser_writeOK', 'DE', 'Registration erfolgreich.'),
+('makeuser_writeOK', 'EN', 'transmitted.'),
+('makeuser_error_write2', 'DE', 'Fehler: Beim Speichern der Userrechte...'),
+('makeuser_error_write2', 'EN', 'error: can&#039;t save userrights... '),
+('makeuser_writeOK2', 'DE', 'Userrechte wurden gespeichert...'),
+('makeuser_writeOK2', 'EN', 'userright was saved...'),
+('makeuser_writeOK3', 'EN', 'Your account was successfully created, have a lot of fun.'),
+('makeuser_writeOK3', 'DE', 'Dein Account wurde erfolgreich gespeichert, have a lot of fun.'),
+('makeuser_writeOK4', 'DE', 'Engel Registriert!'),
+('makeuser_writeOK4', 'EN', 'Drone registered!'),
+('makeuser_text4', 'DE', 'Wenn du dich als Engel registrieren m&ouml;chtest, f&uuml;lle bitte folgendes Formular aus:'),
+('makeuser_text4', 'EN', 'If you would like to be a chaos drone please insert following details into this form:'),
+('makeuser_error_nick3', 'DE', '&quot; existiert bereits.'),
+('makeuser_error_nick3', 'EN', '&quot; already exist.'),
+('makeuser_Hometown', 'EN', 'hometown'),
+('makeuser_Hometown', 'DE', 'Wohnort'),
+('pub_einstellungen_Hometown', 'DE', 'Wohnort'),
+('pub_einstellungen_Hometown', 'EN', 'hometown'),
+('makeuser_error_Alter', 'DE', 'Fehler: Dein Alter muss eine Zahl oder leer sein'),
+('makeuser_error_Alter', 'EN', 'error: your age must be a number or empty'),
+('user_messages', 'DE', 'Nachrichten'),
+('user_messages', 'EN', 'Messages'),
+('pub_messages_Datum', 'DE', 'Datum'),
+('pub_messages_Datum', 'EN', 'date'),
+('pub_messages_Von', 'DE', 'Gesendet'),
+('pub_messages_Von', 'EN', 'transmitted'),
+('pub_messages_An', 'DE', 'Empf&auml;nger'),
+('pub_messages_An', 'EN', 'receiver'),
+('pub_messages_Text', 'DE', 'Text'),
+('pub_messages_Text', 'EN', 'text'),
+('pub_messages_Send1', 'DE', 'Nachricht wird gesendet'),
+('pub_messages_Send1', 'EN', 'message will be send'),
+('pub_messages_Send_OK', 'DE', 'Senden erfolgeich'),
+('pub_messages_Send_OK', 'EN', 'transmitting was OK'),
+('pub_messages_Send_Error', 'DE', 'Senden ist fehlgeschlagen'),
+('pub_messages_Send_Error', 'EN', 'transmitting was terminate with an Error'),
+('pub_messages_MarkRead', 'DE', 'als gelesen makieren'),
+('pub_messages_MarkRead', 'EN', 'mark as read'),
+('pub_messages_NoCommand', 'DE', 'kein Kommando erkannt'),
+('pub_messages_NoCommand', 'EN', 'no command recognised'),
+('pub_messages_MarkRead_OK', 'DE', 'als gelesen markiert'),
+('pub_messages_MarkRead_OK', 'EN', 'mark as read'),
+('pub_messages_MarkRead_KO', 'DE', 'Fehler beim als gelesen Markieren'),
+('pub_messages_MarkRead_KO', 'EN', 'error on: mark as read'),
+('pub_messages_text1', 'DE', 'hier kannst du Nachrichten an andere Engel versenden'),
+('pub_messages_text1', 'EN', 'here can you leave messages for other drones'),
+('pub_messages_DelMsg', 'DE', 'Nachricht l&ouml;schen'),
+('pub_messages_DelMsg', 'EN', 'delete message'),
+('pub_messages_DelMsg_OK', 'DE', 'Nachricht gel&ouml;scht'),
+('pub_messages_DelMsg_OK', 'EN', 'delete message'),
+('pub_messages_DelMsg_KO', 'DE', 'Nachricht konnte nicht gel&ouml;scht werden'),
+('pub_messages_DelMsg_KO', 'EN', 'cannot delete message'),
+('pub_messages_new1', 'DE', 'Du hast'),
+('pub_messages_new1', 'EN', 'You have'),
+('pub_messages_new2', 'DE', 'neue Nachrichten'),
+('pub_messages_new2', 'EN', 'new messages'),
+('pub_messages_NotRead', 'DE', 'nicht gelesen'),
+('pub_messages_NotRead', 'EN', 'not read'),
+('pub_mywake_Name', 'DE', 'Schicht Titel'),
+('pub_mywake_Name', 'EN', 'shift title'),
+('pub_sprache_ShowEntry', 'DE', 'Eintr&auml;ge anzeigen'),
+('pub_sprache_ShowEntry', 'EN', 'show entrys'),
+('admin_rooms', 'DE', 'Räume'),
+('admin_rooms', 'EN', 'Rooms'),
+('admin_angel_types', 'DE', 'Engeltypen'),
+('admin_angel_types', 'EN', 'Angel types'),
+('pub_menu_SchichtplanEdit', 'DE', 'Schichtplan'),
+('pub_menu_SchichtplanEdit', 'EN', 'Shiftplan'),
+('pub_menu_UpdateDB', 'DE', 'UpdateDB'),
+('pub_menu_UpdateDB', 'EN', 'UpdateDB'),
+('pub_menu_Dect', 'DE', 'Dect'),
+('pub_menu_Dect', 'EN', 'Dect'),
+('pub_menu_Engelliste', 'DE', 'Engelliste'),
+('pub_menu_Engelliste', 'EN', 'Drone-list'),
+('pub_menu_EngelDefaultSetting', 'DE', 'Engel Voreinstellungen'),
+('pub_menu_EngelDefaultSetting', 'EN', 'Drone Default Setting'),
+('pub_menu_Aktivliste', 'DE', 'Aktiv Liste'),
+('pub_menu_Aktivliste', 'EN', 'active list'),
+('pub_menu_T-Shirtausgabe', 'DE', 'T-Shirtausgabe'),
+('pub_menu_T-Shirtausgabe', 'EN', 'T-Shirt handout'),
+('pub_menu_News-Verwaltung', 'DE', 'News-Verwaltung'),
+('pub_menu_News-Verwaltung', 'EN', 'News-Center'),
+('faq', 'DE', 'FAQ'),
+('faq', 'EN', 'FAQ'),
+('pub_menu_FreeEngel', 'DE', 'Freie Engel'),
+('pub_menu_FreeEngel', 'EN', 'free Drones'),
+('pub_menu_Debug', 'DE', 'Debug'),
+('pub_menu_Debug', 'EN', 'Debug'),
+('pub_menu_Recentchanges', 'DE', 'Letzte &Auml;nderungen'),
+('pub_menu_Recentchanges', 'EN', 'recent changes'),
+('pub_menu_Language', 'DE', 'Sprachen'),
+('pub_menu_Language', 'EN', 'Language'),
+('makeuser_text0', 'DE', 'Anmeldung als Engel'),
+('makeuser_text0', 'EN', 'Drone registration'),
+('/', 'DE', 'Willkommen'),
+('/', 'EN', 'welcome'),
+('nonpublic/', 'DE', 'Garage'),
+('nonpublic/', 'EN', 'garage'),
+('admin/', 'DE', 'admin'),
+('admin/', 'EN', 'admin'),
+('index.php', 'DE', 'Start'),
+('index.php', 'EN', 'Start'),
+('logout.php', 'DE', 'logout'),
+('logout.php', 'EN', 'logout'),
+('faq.php', 'DE', 'FAQ'),
+('faq.php', 'EN', 'FAQ'),
+('lageplan.php', 'DE', 'Lageplan'),
+('lageplan.php', 'EN', 'Map'),
+('nonpublic/index.php', 'DE', ' '),
+('nonpublic/index.php', 'EN', ' '),
+('nonpublic/news.php', 'EN', 'News'),
+('nonpublic/news.php', 'DE', 'News'),
+('nonpublic/news_comments.php', 'EN', ' '),
+('nonpublic/news_comments.php', 'DE', ' '),
+('nonpublic/engelbesprechung.php', 'DE', 'Engelbesprechung'),
+('nonpublic/engelbesprechung.php', 'EN', 'Drone gathering'),
+('nonpublic/schichtplan.php', 'DE', 'Schichtplan'),
+('nonpublic/schichtplan.php', 'EN', 'Available Shifts'),
+('nonpublic/schichtplan_add.php', 'DE', ' '),
+('nonpublic/schichtplan_add.php', 'EN', ' '),
+('nonpublic/myschichtplan.php', 'DE', 'Mein Schichtplan'),
+('nonpublic/myschichtplan.php', 'EN', 'My Shifts'),
+('nonpublic/myschichtplan_ical.php', 'DE', ' '),
+('nonpublic/myschichtplan_ical.php', 'EN', ' '),
+('nonpublic/einstellungen.php', 'DE', 'Einstellungen'),
+('nonpublic/einstellungen.php', 'EN', 'Options'),
+('nonpublic/wecken.php', 'DE', 'Wecken'),
+('nonpublic/wecken.php', 'EN', 'Wake-up Service'),
+('nonpublic/waeckliste.php', 'DE', 'Weckerlist'),
+('nonpublic/waeckliste.php', 'EN', 'Wake-up list'),
+('nonpublic/messages.php', 'DE', 'Nachrichten'),
+('nonpublic/messages.php', 'EN', 'messages'),
+('nonpublic/schichtplan_beamer.php', 'DE', 'Schichtplan f&uuml;r Beamer optimiert'),
+('nonpublic/schichtplan_beamer.php', 'EN', 'Shifts for beamer optimice'),
+('nonpublic/faq.php', 'DE', 'Anfragen an die Dispatcher'),
+('nonpublic/faq.php', 'EN', 'Questions for the Dispatcher'),
+('admin/index.php', 'DE', ' '),
+('admin/index.php', 'EN', ' '),
+('pub_einstellungen_PictureUpload', 'DE', 'Hochzuladendes Bild ausw&auml;hlen:'),
+('pub_einstellungen_PictureUpload', 'EN', 'Choose a picture to Upload:'),
+('pub_einstellungen_send_OK', 'EN', 'The file was uploaded successfully'),
+('pub_einstellungen_send_OK', 'DE', 'Die Datei wurde erfolgreich hochgeladen.'),
+('pub_einstellungen_PictureNoShow', 'EN', 'The photo isnot free at the moment'),
+('pub_einstellungen_PictureShow', 'DE', 'Das Foto ist freigegeben'),
+('pub_einstellungen_PictureShow', 'EN', 'The photo is free at the moment'),
+('pub_einstellungen_del_OK', 'DE', 'Bild wurde erfolgreich gel?scht.'),
+('pub_einstellungen_del_OK', 'EN', 'Picture was deleted successfully.'),
+('pub_einstellungen_del_KO', 'DE', 'Bild wurde nicht erfolgreich gel?scht.'),
+('pub_einstellungen_del_KO', 'EN', 'Picture was not deleted successfully.'),
+('delete', 'DE', 'l?schen'),
+('delete', 'EN', 'delete'),
+('upload', 'EN', 'upload'),
+('upload', 'DE', 'hochladen'),
+('pub_einstellungen_PictureNoShow', 'DE', 'Das Foto ist nicht freigegeben'),
+('pub_einstellungen_send_KO', 'DE', 'Beim Hochladen ist ein Fehler aufgetreten.'),
+('pub_einstellungen_send_KO', 'EN', 'An error was detected. Please try again!'),
+('admin/room.php', 'DE', 'Räume'),
+('admin/room.php', 'EN', 'rooms'),
+('admin/EngelType.php', 'DE', 'Engeltypen'),
+('admin/EngelType.php', 'EN', 'Drone-Types'),
+('admin/schichtplan.php', 'DE', 'Schichtplan'),
+('admin/schichtplan.php', 'EN', 'Shiftplan'),
+('admin/shiftadd.php', 'DE', ' '),
+('admin/shiftadd.php', 'EN', ' '),
+('admin/schichtplan_druck.php', 'DE', ' '),
+('admin/schichtplan_druck.php', 'EN', ' '),
+('admin/dbUpdateFromXLS.php', 'DE', 'UpdateDB'),
+('admin/dbUpdateFromXLS.php', 'EN', 'UpdateDB'),
+('admin/dect.php', 'DE', 'Dect'),
+('admin/dect.php', 'EN', 'Dect'),
+('admin/dect_call.php', 'DE', ' '),
+('admin/dect_call.php', 'EN', ' '),
+('admin_user', 'DE', 'Engelliste'),
+('admin_user', 'EN', 'Manage angels'),
+('admin/userDefaultSetting.php', 'DE', 'Engel Voreinstellungen'),
+('admin/userDefaultSetting.php', 'EN', 'Drone Default Setting'),
+('admin/UserPicture.php', 'DE', 'Benutzerbilder'),
+('admin/UserPicture.php', 'EN', 'User Pictures'),
+('admin/aktiv.php', 'DE', 'Aktiv Liste'),
+('admin/aktiv.php', 'EN', 'active list'),
+('admin/tshirt.php', 'DE', 'T-Shirtausgabe'),
+('admin/tshirt.php', 'EN', 'T-Shirt handout'),
+('admin/news.php', 'DE', 'News-Verwaltung'),
+('admin/news.php', 'EN', 'News-Center'),
+('admin/free.php', 'DE', 'Freie Engel'),
+('admin/free.php', 'EN', 'free Drones'),
+('admin/debug.php', 'DE', 'Debug'),
+('admin/debug.php', 'EN', 'Debug'),
+('admin/Recentchanges.php', 'DE', 'Letzte ?nderungen'),
+('admin/Recentchanges.php', 'EN', 'recentchanges'),
+('admin/sprache.php', 'DE', 'Sprachen'),
+('admin/sprache.php', 'EN', 'Language'),
+('admin/faq.php', 'DE', 'FAQ'),
+('admin/faq.php', 'EN', 'FAQ'),
+('pub_myschichtplan_ical', 'DE', 'export my Shifts as iCal file'),
+('pub_myschichtplan_ical', 'EN', 'iCal File exportieren'),
+('Sprache', 'DE', 'Sprache'),
+('Sprache', 'EN', 'Language'),
+('start', 'DE', 'Start'),
+('start', 'EN', 'Start'),
+('login', 'DE', 'Login'),
+('login', 'EN', 'Login'),
+('credits', 'DE', 'Credits'),
+('credits', 'EN', 'Credits'),
+('pub_messages_Neu', 'DE', 'Neu'),
+('pub_messages_Neu', 'EN', 'New'),
+('admin_groups', 'DE', 'Gruppenrechte'),
+('admin_groups', 'EN', 'Grouprights'),
+('user_questions', 'DE', 'Erzengel fragen'),
+('user_questions', 'EN', 'Ask arch angel'),
+('admin_questions', 'DE', 'Fragen beantworten'),
+('admin_questions', 'EN', 'Answer questions'),
+('admin_faq', 'DE', 'FAQs bearbeiten'),
+('admin_faq', 'EN', 'Edit FAQs'),
+('news_comments', 'DE', 'News Kommentare'),
+('news_comments', 'EN', 'News comments'),
+('admin_news', 'DE', 'News verwalten'),
+('admin_news', 'EN', 'Manage news'),
+('user_meetings', 'DE', 'Treffen'),
+('user_meetings', 'EN', 'Meetings'),
+('admin_language', 'DE', 'Ãœbersetzung'),
+('admin_language', 'EN', 'Translation'),
+('admin_log', 'EN', 'Log'),
+('admin_log', 'DE', 'Log'),
+('user_wakeup', 'DE', 'Weckservice'),
+('user_wakeup', 'EN', 'Wakeup service');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `User`
+--
+
+CREATE TABLE IF NOT EXISTS `User` (
+ `UID` int(11) NOT NULL AUTO_INCREMENT,
+ `Nick` varchar(23) NOT NULL DEFAULT '',
+ `Name` varchar(23) DEFAULT NULL,
+ `Vorname` varchar(23) DEFAULT NULL,
+ `Alter` int(4) DEFAULT NULL,
+ `Telefon` varchar(40) DEFAULT NULL,
+ `DECT` varchar(4) DEFAULT NULL,
+ `Handy` varchar(40) DEFAULT NULL,
+ `email` varchar(123) DEFAULT NULL,
+ `ICQ` varchar(30) DEFAULT NULL,
+ `jabber` varchar(200) DEFAULT NULL,
+ `Size` varchar(4) DEFAULT NULL,
+ `Passwort` varchar(40) DEFAULT NULL,
+ `Gekommen` tinyint(4) NOT NULL DEFAULT '0',
+ `Aktiv` tinyint(4) NOT NULL DEFAULT '0',
+ `Tshirt` tinyint(4) DEFAULT '0',
+ `color` tinyint(4) DEFAULT '10',
+ `Sprache` char(2) DEFAULT 'EN',
+ `Avatar` int(11) DEFAULT '0',
+ `Menu` char(1) NOT NULL DEFAULT 'L',
+ `lastLogIn` int(11) NOT NULL,
+ `CreateDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `Art` varchar(30) DEFAULT NULL,
+ `kommentar` text,
+ `Hometown` varchar(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`UID`,`Nick`),
+ UNIQUE KEY `Nick` (`Nick`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=149 ;
+
+--
+-- Daten für Tabelle `User`
+--
+
+INSERT INTO `User` (`UID`, `Nick`, `Name`, `Vorname`, `Alter`, `Telefon`, `DECT`, `Handy`, `email`, `ICQ`, `jabber`, `Size`, `Passwort`, `Gekommen`, `Aktiv`, `Tshirt`, `color`, `Sprache`, `Avatar`, `Menu`, `lastLogIn`, `CreateDate`, `Art`, `kommentar`, `Hometown`) VALUES
+(1, 'admin', 'Gates', 'Bill', 42, '', '', '', '', '', '', '', '21232f297a57a5a743894a0e4a801fc3', 1, 1, 0, 10, 'DE', 115, 'L', 1307110821, '0000-00-00 00:00:00', '', '', ''),
+(148, 'msquare', '', '', 23, '', '', '', 'msquare@notrademark.de', '', '', '', '4297f44b13955235245b2497399d7a93', 0, 1, 1, 10, 'DE', 0, 'L', 1307110798, '2011-06-03 07:55:24', 'AudioEngel', '', '');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `UserCVS`
+--
+
+CREATE TABLE IF NOT EXISTS `UserCVS` (
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `GroupID` int(11) DEFAULT '-2',
+ `index.php` char(1) NOT NULL DEFAULT 'G',
+ `logout.php` char(1) NOT NULL DEFAULT 'G',
+ `faq.php` char(1) NOT NULL DEFAULT 'G',
+ `lageplan.php` char(1) NOT NULL DEFAULT 'G',
+ `makeuser.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/index.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/news.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/newsAddMeting` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/news_comments.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/myschichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/myschichtplan_ical.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan_beamer.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/engelbesprechung.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/schichtplan_add.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/wecken.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/waeckliste.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/messages.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/faq.php` char(1) NOT NULL DEFAULT 'G',
+ `nonpublic/einstellungen.php` char(1) NOT NULL DEFAULT 'G',
+ `Change T_Shirt Size` char(1) NOT NULL DEFAULT 'G',
+ `admin/index.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/room.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/EngelType.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/schichtplan.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/shiftadd.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/schichtplan_druck.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/user.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userChangeNormal.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userSaveNormal.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userChangeSecure.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userSaveSecure.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/group.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userDefaultSetting.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/UserPicture.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/userArrived.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/aktiv.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/tshirt.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/news.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/faq.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/free.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/sprache.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dect.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dect_call.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/dbUpdateFromXLS.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/Recentchanges.php` char(1) NOT NULL DEFAULT 'G',
+ `admin/debug.php` char(1) NOT NULL DEFAULT 'G',
+ `Herald` char(1) NOT NULL DEFAULT 'G',
+ `Info` char(1) NOT NULL DEFAULT 'G',
+ `Conference` char(1) NOT NULL DEFAULT 'G',
+ `Kasse` char(1) NOT NULL DEFAULT 'G',
+ `credits.php` char(1) NOT NULL,
+ PRIMARY KEY (`UID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `UserCVS`
+--
+
+INSERT INTO `UserCVS` (`UID`, `GroupID`, `index.php`, `logout.php`, `faq.php`, `lageplan.php`, `makeuser.php`, `nonpublic/index.php`, `nonpublic/news.php`, `nonpublic/newsAddMeting`, `nonpublic/news_comments.php`, `nonpublic/myschichtplan.php`, `nonpublic/myschichtplan_ical.php`, `nonpublic/schichtplan_beamer.php`, `nonpublic/engelbesprechung.php`, `nonpublic/schichtplan.php`, `nonpublic/schichtplan_add.php`, `nonpublic/wecken.php`, `nonpublic/waeckliste.php`, `nonpublic/messages.php`, `nonpublic/faq.php`, `nonpublic/einstellungen.php`, `Change T_Shirt Size`, `admin/index.php`, `admin/room.php`, `admin/EngelType.php`, `admin/schichtplan.php`, `admin/shiftadd.php`, `admin/schichtplan_druck.php`, `admin/user.php`, `admin/userChangeNormal.php`, `admin/userSaveNormal.php`, `admin/userChangeSecure.php`, `admin/userSaveSecure.php`, `admin/group.php`, `admin/userDefaultSetting.php`, `admin/UserPicture.php`, `admin/userArrived.php`, `admin/aktiv.php`, `admin/tshirt.php`, `admin/news.php`, `admin/faq.php`, `admin/free.php`, `admin/sprache.php`, `admin/dect.php`, `admin/dect_call.php`, `admin/dbUpdateFromXLS.php`, `admin/Recentchanges.php`, `admin/debug.php`, `Herald`, `Info`, `Conference`, `Kasse`, `credits.php`) VALUES
+(1, -4, 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G'),
+(-1, NULL, 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),
+(-2, NULL, 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),
+(-3, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y'),
+(-4, NULL, 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y'),
+(-5, NULL, 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `UserGroups`
+--
+
+CREATE TABLE IF NOT EXISTS `UserGroups` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL,
+ `group_id` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`,`group_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
+
+--
+-- Daten für Tabelle `UserGroups`
+--
+
+INSERT INTO `UserGroups` (`id`, `uid`, `group_id`) VALUES
+(1, 1, -2),
+(2, 1, -3),
+(3, 1, -5),
+(4, 1, -4),
+(11, 148, -2);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `UserPicture`
+--
+
+CREATE TABLE IF NOT EXISTS `UserPicture` (
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Bild` longblob NOT NULL,
+ `ContentType` varchar(20) NOT NULL DEFAULT '',
+ `show` char(1) NOT NULL DEFAULT 'N',
+ PRIMARY KEY (`UID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Daten für Tabelle `UserPicture`
+--
+
+INSERT INTO `UserPicture` (`UID`, `Bild`, `ContentType`, `show`) VALUES
+(-1, 0xffd8ffe000104a46494600010200000100010000ffe100e645786966000049492a00080000000500120103000100000001000000310102001c0000004a00000032010200140000006600000013020300010000000100000069870400010000007a000000000000004143442053797374656d73204469676974616c20496d6167696e6700323030363a31323a31352031353a34303a353700050000900700040000003032323090920200040000003632320002a00400010000007401000003a00400010000002c01000005a0040001000000bc0000000000000002000100020004000000523938000200070004000000303130300000000000000000ffc0001108012c017403012100021101031101ffdb008400010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffc401a20000010501010101010100000000000000000102030405060708090a0b100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9fa0100030101010101010101010000000000000102030405060708090a0b1100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00fefe28a0028a0028a0028a0028a0028a0028a0028a002bc33f68bfda6bf67efd91fe16ebbf1abf698f8bfe04f829f0bfc3d15d1bcf1678f75eb5d1adafafedb49d535c8fc39e1ab0776d5fc63e33d534dd175497c3be06f0969fae78c7c517167258787342d575031dab9fd7f5bfe5f78d26dd92bbfe9b7d6c96eddac92bbb9fc03ffc1463fe0f35f8d5e3bbcd5be1f7fc1343e155afc0ef06ab0807ed07f1d345f0ff008dfe336b051bc19a9c379e0ff855e76bdf09be1c436fa85878e7c2da92f8d67f8e3378bfc27ade89e20d3ad7e15f8a6c25b283f956fda0bfe0a67ff050afdaa2e35d6fda03f6d1fda4fe25e91e21f165ef8def3c15ac7c5df19da7c32b0f12df4ba9c86f7c35f0ab46d4f4cf86fe0fb6b18f58d4ec344d27c27e16d1748f0ee9177268da169fa7693b2c94df7ff81af975febb8d49c5a717669a6a69b524d6a9c5f2a6b5d53d1dd27eebf87cc7e17feda1fb617c11beb9d53e0bfed5dfb49fc23d4eef4b9b44bad4be197c73f89de02d427d1ae2f6cf51b8d264bdf0b789b4cba7d3a7d434eb0bd9ec8ca2de6bab3b59e48da482364fd91ff827e7fc1cefff000542fd893c516b6ff107e2eebdfb6bfc19bfd64ea3e2cf863fb5178afc43e39f17bc57fa8f851b5bbdf007c7bd5a4d5fe2b782f5ff00f847fc3573a1785ac75cd57c7df08fc3571e25d7bc4b71f07b5ed7ee85e22b24acb45d12d97e1fa7f9c473729394db9b936e4e526e4db7ab7269b726f5bb72f33fbc2fd803fe0e63ff00825d7edbfe0f8e5f187c68f0d7ec69f1734ad1a1bff18fc2dfdaa7c61e14f871a243736d61e135d6eefe1ffc65d6750d3be18f8fbc3bff00092f896eb42f0b5bdd6afe11f8ade21b1f0eeb1e28d4fe10f86345b73227f12bff0005d2ff0083853f68afdb53f6a7f1ff0081ff00636fda53e2d7c2efd86fc0965aa7c39f87767f0af5af1efc0fd47e3b691ae683a1d87c4af19fc5fb5d27c4b6dac78df43f15f88ecf5cb0f87da0f8b2cf42b2d27e15368d1ea7f0ff00c37e33f127c431aa9bdba757beb6e97b2eb67b6a959deef96aca29cb495e3686abed3d5b8f24efcb1528b5eeb8ca509dfe1e6fe73be1f7c6cf8cbf09be2658fc69f857f16be267c34f8c7a65deb97fa6fc58f0078f3c53e0ef897a7dff0089f4cd4f45f12ded8f8efc3da9e9fe28b4bcf1068fad6b1a4eb77506a71cdaae9bab6a5657cf716d7b711bfd6a9ff0566ff82a7a2ba8ff008295fedf789176b6ff00db17f686760339f919fe20bb46d9fe28cc6c7bb114ff00afebfad7a917fd77f3f54ff5d75df53ea1f829ff000711ff00c168fe017856ebc1de08fdbefe2d788746bcd76efc4535cfc6bd1fe1cfed21e2917f7b65a7584d6f6be3dfda13c0ff0013fc7761a1241a5dac969e17b0f125af86b4fbd9351d4ac749b6d4758d5aeaf7eccf81bff0772ffc165be146bdab6abf10be25fc15fda6b4bd4ec22b2b6f0cfc67f813e0bf0de95e1e992f21b99757d0af3f674b7f80fafc9aacb6f1c961b3c49ac788b464b79e495747fb6a437711fd7f5fd7e8175d52fbda7eb650b5faefafda7b33fb0cfd8d7fe0ed4ff82537ed35ff0008e786be2f789fc7ff00b197c4cd5ffe159e873693f1d3c3536abf0baffc75e3969b4ff10e9fe19f8d5f0e878a3c3ba5f807c01afc3041adfc51f8f1a47c01d14f87357d1fc5977a7693676de2fb4f07ff004f940bfafebfafbf4614500145001450014500145001450014500145001450014500145001450014500145001450014500145007e1b7fc15fbfe0bcffb25ff00c1267c1874bd56ef41fda07f6a8d4b52d2ad3c3ffb29f833e21e99a178bf4ed2ee9744d5b53f167c5ad7ecf42f1bcbf077c329e15d66df55f094de25f0addeb5f11352bab0b1f07e87a86896fe2ef15783bfcb03f6feff0082937ed77ff052df8c1a97c5efdaa3e286ade280bad6b7aa780be176937fad58fc1bf83563af5ae85a7df787be117802ff0056d56cbc23a5dce9de18f0ddaeaf7fe7dff89fc5d71a2da6b9e37f107897c4925deb374b7ff87ebf77eaf5d7b72d7c2bfbd2fc23ebde5bbdbddb6ea4f97e0fa29921450014500145001450015fe82fff0006fdff00c1cfff00087c35f0b7e08ffc13ff00fe0a11369ff0b67f875a57827e0bfc03fda86da3d0b42f8491fc36f0c786a6f0ff0083bc2dfb43493de69317c3abdf085a689e18f0768df14f4cb1d57c2be22d3353b5d4fe292f8065f09788be22f8d8febfab27fd77bde351b3bc5d95f66db8d9abe9a466ad2db58d93e56e518a933fbe1a282428a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a002bf832ff82e9ffc1d69e19d2340f881fb20ff00c12c3c5daa5efc415f126a5e0bf89bfb6ae91fd8573e09d27c356165a6ff006b597eca7aadbea1abcbe2bd775ed5ae759f09df7c6dd4749d2343f0be95a0dfebdf049bc6d79e31f047c61f01035d5f4fd5eda59fcfb5bed5d72ff9fc78c7c65e2ff889e2cf1278f7e2078abc49e3af1cf8cb5cd4fc4de2ff001a78c75cd53c4fe2cf15f8935bbc9750d67c41e24f11eb7757dac6bbae6af7f3cf7da9eadaa5e5d5fdfde4d2dcddcf2cd233b73740b7d5eaff00af5febbee1450014500145001450014500145007f735ff0006dfff00c1c936ff0005e0f0afec0bff00051bf8a0d1fc1e8db4bf0dfecd5fb4c78f351b99cfc2233dc5b69ba67c1ef8c5e29bbf3cc5f076269a15f01fc47f115cc769f05ed2297c35e2ed621f8370787ef3e107fa2f51fd7f5fd7e854acf55d56aaf7d7afdef5f9f5d185141214500145001450014500145001450014500145001450014500145001450014500145007f9a97fc1c1dff000731f8cff69793e367fc13f7f61f922f037eceba7f8d3c59f0d3e2efed27e16f1de9fe23d77f6a4f06e910dae85abf863e1e5ff85eddb45f077c07f146bd178a23d575bd03c59e2fd4be3dfc3bff00845229355f05f80bc43e3ff0078dbf8b4a3e56febfaff83a32a565eea7cc937aabd9bead5d2767a5aeb54aef576894504851400514005140051400514005140057f633ff000432ff0083a33e2bfec977df07ff00640fdbd35483e247ec73a52cde0bf0e7c71b9d3b5dd5be36fecf3a1c967a2587822c750b8d2a5bc1f13be08f81a4d32faca7f0e4fe1cbbf8a7e1ad07c4b2dcf857c5be20f0e7c3ef07fc1cbf3fafe975febcca8dbe17b49aeb6b3d936f95e8afef796babb1fe987e18f13f86bc6de1af0f78cfc19e21d0fc5de0ff0017687a4f89fc29e2bf0c6ad61aff0086bc4fe1ad7ec2df55d0bc43e1ed774ab8bbd2f5ad0f5ad2eeed752d2756d36eae6c352b0b9b7bcb3b89ade68e46dca09db47a3eddbfaf441450014500145001450014500145001450014500145001450014500145001450015fc2bffc1da5ff0005ac6f86fe1fd7ff00e094bfb347893c63a0fc52f1359787354fdb07e21787b533e1db3d03e16f8b3c3035fd1ff675b09d74f3afeaba87c55d075ff0d78bfe266a5a2eaba06876bf0d65d2be1cde5c78eec3e28fc43f0f7828febfad1ff5d761aeaf4d13d1b6b5d95ad7d537cdb5bddf7aeac7f9d7d140828a0028a0028a0028a0028a0028a0028a0028a00ff469ff008344ff00e0b0f77f16bc1337fc12dbf689f18ea9ab7c4af859a06abe2bfd92bc65e33f17e8f3c9e27f833e1eb2d221d5bf672d1ad7575b0f136abaf7c1eb58f52f1a7c3dd3ad352f1a5c7fc2971e27d02c74cf027807e01e8d0eabfdc7d1fd7f5fd3ff00e45bfcd79fa3dfcd5faaff00db4a2810514005140051400514005140051400514005140051400514005140051401fcff00ff00c1c43ff057af107fc1267f645f0beb1f07ec7c33abfed37fb45f8a75ff00875f0722f139bb9acbc09a3e87e18b8d4fc77f1b13443a0ea9a178ca7f8777fa9f81344d3bc1dafea7a2d85f7883c7da1eb97d1789340f0e6bfe18d53fc8bfc71e36f17fc4bf1a78bbe237c41f12eb3e32f1e78fbc4daf78d3c6be2ff11ea171aaf883c53e2cf146a973adf88bc45ae6a976f25d6a3abeb5abdf5dea5a95f5cbbcf7779712cf2b33b9653fafebf0efb6bd3969e915e7abd7cecb4eeacddefadd69a291cbd141214500145001450014500145001450014500145007a27c21f8b1f107e037c56f86bf1bbe13788a5f08fc50f843e3bf0a7c4bf877e288ac349d59bc3fe35f046bb61e24f0ceae748d7ec355d07588ac358d3acee67d235dd2b54d13548637b0d5f4dd434fb8b8b57ff670ff00823c7fc1493c37ff000552fd863e1dfed4763a5e8be16f8809aa6b5f0d3e3af80bc3d36b775a3780fe32783e3d3ae75cd274bbbd76c6d6e66d23c43e1ad77c23f11342b68eef5ffec5d03c6ba5f87b50f11eb3ae68fab5dd1fd7f5fd7dfbc5fd97abba7a2e9afc4fd748f6befaf2ae5fd44a281051400514005140051400514005140051400514005140051400514005717f123e21f82fe117c3bf1efc58f891afda7853e1dfc30f05f8a7e21f8f7c1400514005140051400514005140051400514005140057f089ff00079d7fc14574cd17e1c7c1cff826c7c2cf88ba5dc7897c6dae47f19bf6aaf0a68179ae7f6ce83e0cf0c0d2af3e057827c657367245e17974df1cf89ef358f89971e0cd44ea3e27d3ae7e197c32f19ddd8683a36bbe15d43c4c7f5faff5f8dca8f576d93f95f44fff000271ff0087e571ff003c2a282428a0028a0028a0028a0028a0028a0028a0028a0028a0028a00fef33fe0d31ff82dac1e12bef0a7fc1277f69cf13782bc39e05bd7f125cfec69f11bc4378de1fd447c42f16f8ca0d7aebf664be9ed7413a26b72fc40d77c4fe32f18fc2ef1078c3c43a2eb4be2e59fe0ee9179e32bff001bfc25f07f86ff00d0b28f2febfafbff002e5a96bef6bef5eef5b732b736ad2bbf864f4d2fd74614504851400514005140051400514005140051400514005140051401c0fc55f89fe05f825f0bfe247c67f8a1aeaf85be1a7c22f0178c3e27fc44f133e9faaeac9e1df02f807c3da8f8afc5baebe95a0d86a9ae6a6ba4681a4ea1a8369fa3699a8eab782dfecfa7585e5e4b0dbcbfe217ff000504fdb23c6fff000503fdb37f685fdb0bc7f66749d67e36f8faef5dd23c34d3e95787c13e00d16c6c3c25f0b7e1f36aba2f87bc2963e2093e1ffc34f0ff0084bc19378a5fc3da5ea5e2c9f4293c4fae4326b9ab6a37129fd7f5fd7dfbc5f47dff004ebf8db75afc91f1cd140828a0028a0028a0028a0028a0028a0028a0028a0028a0028a00b169757563756d7d63733d9ded9dc437567776b3496f756b756f22cd6f736d71132cb04f04c892c3344cb24522aba30650d5fea81ff06e1ffc17cbc07ff0501f853e05fd8d7f68ff00125b785bf6eaf84be08b1f0ee8d7fe24f116a9a87fc35c7827c0be1fd8ff0011bc3fadf8ab53d535bd63e39697e1cd1e5d73e38f846ff55d4b55f113da6b9f19fc1e66f0adc78dfc2ff08cfeb7fd2cefadbfcf7296a9abaeeba5dadd5f95f4bbb5fde692df959fd5851412145001450014500145001450014500145001450014500145007f0ddff07a57ede761e0cf825f007fe09d7e0bd7b5eb2f1d7c60f10d8fed1df19a0d13c43e23d06c57e0af82e5f14f847e1c7843c5ba441a2c5e1ff1ef87fe257c555d6bc636763278a267f07f88ff00678d1f55d5fc2d2cfaef8475cd3bfce628febfafebcf5dc6fa2f2fcf5f9f4bf55b3bd938945020a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a9609e6b59a1b9b69a5b7b9b79639edee2091e19a09a2712453432c644914b1c8aaf1c88cae8ea194ee00a81b6ab47d3faff0086fd4fedbbfe0dfeff0083987f6abd1fe3cfecf5fb03feda9a96b5fb4dfc36f8e1f15b49f84bf0f7e3bf8a759d67c41fb487807c7bf17bc4da2787fe1fd878c3c65e21d66787e2c7c3287c6da89b1be1e2944f88fe16d33c5b79a9e9be39f10f86bc0fe16f858ffe90b47f5fd7f4fbff0085bb68d75dd767df65a3d3e77d1251e628a04145001450014500145001450014500145001450015f24fedc1fb6efecf3ff0004f3fd9c3c75fb517ed33e2e7f0c7c3bf05411db59699a5c36fa8f8d7e21f8c7508ae0f867e1afc36f0f5c5e69ebe24f1df8aee2da6874bb09af74ed1f4bb1b6d53c55e2fd6fc35e08f0f7897c4fa29fd7dfff0006dea349bd12beef4ec95dbd3a25ab7d12bb3fc61ffe0a0bfb67fc41ff0082847ed91f1f3f6bcf890b7163abfc62f1d6a1ab787bc313dd6937e3e1ff00c38d2d21d03e177c348753d0fc37e10d3f5c8fe1e7c3dd2fc37e1093c4ede1bd2f54f17dce8f71e2cf11453f88b5bd5aee6f8d6807bf7ff2e9bebb5bf50a28105140051400514005140051400514005140051400514005140051401fb17ff06fcfc0fb2fda0ffe0b31ff0004fbf01dfebf3f86e0f0ff00c7383e3826a16f611ea525cdefeccbe14f137ed21a6e806da4bcb15483c57a97c29b4f0c5d5faccf26916babcdab4767a8c96296171fecdb47f5fd7f5fa0decbbeaefe5a2b5addd5f777f92e528a0414500145001450014500145001450014500145001f00b36fbc6bf117e376b5fb456a8d6de26b51acf857c23f087c0fe23f873a3c5abf83e2b59afce95f10f5cf8cdab4be1ff11dedf69b65f6cf859e24d374fb4d72e13509fc387f5dbfaefe76f9c6a3d77b28c9b69376d2caf66aca4da8dde8ae9da5a23fce328a090a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2803fa00ff835c149ff0082eb7ec3a411f2afed32c7dc1fd8ff00e3faf1ef9653f41df8dbfebf140df4f4fd7fa7d7ff009128a04145001450014500145001450014500145001450015fc2a7fc1e7bff0004f9f1dfc46f067ecfbff050cf86ba57897c5769f0834bbdf805f1d743d2adf55d662f0af80b57d5758f1bfc37f8989a6697e1db8b7d0fc3ba678ab50f19784be21789f5df1141036a7e2ef84da6e99a5e4eaf7b49f7eceffa3bd93e8dfa6ed9a534e4dc16f38b8dbab6ad28a5ddca518ab6eefeede5ca7f9d9514ccc28a0028a0028a0028a00f4ff027c19f89df129d3fe10ef07eadaa5a33aa36aaf10b0d16224f3e66af7e6df4fca8cb3451cef3607cb139da2bec0f0a7fc13ebc4f790a4fe33f1e691a1c8c037d8742d36e75e9573fc135ddd4da3411c83bf9315e479e8ef8cd7e39c7de3370f70655a996e161fdb99e537cb570386aea961b072fe5c7637d9578d3abff0050d4a956ad16bf7ca8f34247fa4bf449fd99de31fd2630384e33cf712bc28f0b3171f6b80e28cf32caf8dceb89a95f4abc2dc34eb602a62f012dbfb6b30c66032da89f3e5f5334953ab4a1eafa77fc13efe1cc23fe26be36f19df377fb08d174c527d76cda5ea8473ce371e9d7a1ab37dff04fef85f2c4469de2ff001d59cdda4bab8d0afa3cff00b5147a158311ec25527fbdd36fe2b3fa49714bc473c323c82385e65fb897f68cebb8f55f5a589a74f99ff37d52cb7e59688ff4f70ffb12fc01864cf0d8af157c5caf9fba724b36a1538470d95aacedcb3fec49f0ce2b12e945ef49e77cf25a7b64d291e4be30ff00827debd656725d781bc7565ae5d4619c695afe9afa2bcc072238352b6b8d46dda66190a2e2d6d212d8df3c632cbf0a78c3c11e2cf006b13681e31d0aff0040d561f9becf7b1e1278b3817167731992d6fad588212eace6b8b7620812965217f73f0dfc59cab8fbdae06a61ff00b273dc3c1d6965f3afede962b0f1694abe0abba545d4f6778fb7a13a71ab493534eb439aa43fca9fa6bfecf6e3efa237d438a7079cbf10fc29cdb134f2fa3c6187cb2795e3b21cdeb29ca8e53c5195c2be369613eb9184ff00b3335c3e2eae071f529ce855860718f0f86adcad15fad1fe79851400514005140051401fd43ffc1a2ffb356abf1bff00e0ad5a0fc53b4f19788bc0f63fb27fc1bf887f19a7bbd0741d17578fc5fa8789bfb2be07c5f0d355bef1058ea5a7f87f4df157877e2af8ab52d4353b4d3ee3c452697e18d46c3c3373e1fd62eedf1dd67c73e2dd053c41ac68de2a7d2f4db6d466925d1ede2b7d334bbe49df4b005b5e5c19af24cfdbd6ea00ab16c823914cadf97f8c39f667c3bc099963f28c43c2632a56c2609626293ab4a8e2eb2a55a5464e32f6759d36e30aaa3cf49bf694daa9184a3fddff00b377c26e05f197e95dc15c27e22e4d0e21e1ac1657c45c513c96bd59c30198e61c3b97fd7b2ca19a53a7caf19974716a9d6c560272587c6c69470d8c8e2307531186adfa7f0c30dbc51c16f1470410a2c70c30a2c51451a001238e340111140015554281800702a4aff3e25294e4e526e52937294a4dca5293776db7ab6deadbd5bd5f53fec36952a587a54a850a74e8d0a34e14a8d1a508d3a54a9538a853a74e9c528c29c20a3184231518c52495ac1452340af37f8a3f0abc21f173c3371e1bf165824ca564934bd561545d5344be65c25f69b72559a37042f9f0306b6bc897c9b98e44236fa9926718dc8336cbf39cbaa3a58ccbb134f1346576a32707efd2a96bf351af4dce8d683569d2a9384ae99f05e28f86fc2fe2ff00879c5fe19f1960a38ee1be33c8f1b9266549c60ead0589a7fecd9860e538c951cc72bc6470f9965b895173c2e3f0986c443dfa5071fc2af8a5f0d75ef84fe34d57c19e20557b8b1659ac6fe2575b5d5f4ab82c6c753b5de3222b8456592225dadaea2b8b591da5818af9e57fa6392e6b86cf328cb738c1b7f56ccf0586c7514dde508622946afb39d92fde537274ea2e5569c5ab1ff0e9e26700e75e167887c6de1bf11462b3be06e28cef85f319c2328d1c457c9b30af82fae61d4b5784c7428c319849bbfb4c356a55136a498515e99f0e1450014500145007faefff00c1b0dfb1468dfb21ff00c126be0378ab50f0959689f177f6b1d34fed2df12f5c12e81a96a7ae7877c7b35cde7c09b41ace8f6ff6c4f0fd97c1197c15af59785b56d4b51b8f0c78abc5be387922d2751d6354d2ed7fa19a17f5f3d5fe3e4bf22a6ef27aded68a7aeaa29453d527aa4b75eb7d18514121450014500145001450014500145001450014500145007f89b7fc1653e036b7fb35ff00c154bf6f9f853ac782747f875676bfb507c57f1c781fc1fe1d1e1e8bc3da47c26f8b5e27bdf8aff06c68563e169a6d0f46d22efe15f8d3c1f7b61e1cb55b39fc316f709e1dd4f4bd2354d2ef34bb2fcd0a072f89bbdeedbbddbbdf5bddeaef7bea93efd428a04145001450015fae3ff04feff9259e2dff00b1f6ebff004c1a0d7e2fe3e7fc9b9c77fd8cb2affd493fd37fd919ff00299fc31ff64471f7fea94fbbebf337e3b7eda1e37f0cf8c3c4fe04f03689a468c7c39ab5e68d71e20d4f7eaf7f753d9c8d149716564c9069d6519901d897716a8ccaaacdb0b145fe66f08b8132fe3be21c4e1735c456a597e598358ec450c3fb9571b7af4e8c30fedf7a14dca7cd56a4632a8e31e4a6e9ca6ab52ff71ff68b7d2bf8bfe8a1e0ee4d9ff00e519663b8bf8e38927c2794e6b9c296232fe1ae5cabca1a469479608fd1bfd9c7f6b7b3f8a77d0782bc6f6965a1f8da58dce977964d245a37890c28649608619de5934fd5444ad28b469a682f16391ada48a409695f6c57f0ff00891c173e05e28c564f19ceb602ad3863b2ac454d6a55c05794e318556a318bad87ad4eae1eac924aa3a4ab72c2352108ff00d4cfd0a3e93585fa56781391f88b5b0d84cb78b72ec66278578fb28c14a5f54c0f15e55470b5abe23010a939d6a796e7397e372fceb034aacaacb090c7cf2e962315570357113fcfcfdbff00c1f6d79e0af08f8e22b653a8689af36837574a0890e95acda5cdcc69363868a0d434f8843bff00d5497926cff5cd5f9455fd71e0463658cf0e72ca739b9bc063733c12bbbb8c562e78a84365a4618a8a8a77b47955da48ff009dbfdac5c2f43873e9a3c738cc361e387a7c5dc35c0fc5128c1350ab5ea70f61b21c562231b24a55f1590d5a959c6ea75dd4a926e7390515fb19fe6d0514005140057d2bfb1d7ecb7f12ff006d6fda83e07fecaff08b4c9f51f1cfc6cf885a0782ec6e12c756beb0f0d6937b76b2f8a7c75e235d0f4dd6353b3f07fc3ff0bc1ac78d7c65ab5b6977a747f0be83ab6a8f6d325a3230f6febf4bbfc3ef2a0b9a514f66f5f25d5eb65a2d5dda5a5dbfb51ff72cf867f0e3c15f073e1bfc3ef845f0d74287c2ff000e7e15f823c29f0e3c01e19b7bad42fadfc3be0af03e8361e19f0ae8505eead777faade43a4685a5d8584575a9df5eea17096e26bcbbb9b879677ede813776dbeadbf2d7d125ff0092af40a2810514005140051400514005140051400514005140051401fc0bff00c1ec9fb15433e93fb2b7fc144b46d54fdb2c2ea0fd8dbe22683797f23799a7de2fc49f8d1f08f5df0e6970680638a3b2bd8be32699e39d4755f1406964d57e1bdae85a0b795e21d453fcfbe8effd7f5fd6fb952b3b3b5bdd57d34bad2eb577ba49b7fcd7d344145048514005140057e8d7ec17f13f42d166f13fc37d6efedf4ebbd76fed75cf0db5dceb043a85f2db0b1d474d89e4023fb6bc3058cf6906fdf74b1dc88d59e20adf9878c994e2339f0ef3fa184a72ad88c2c30b98c2941394a74f018ba35f13cb18a6e4e3848d79a4b56e092bb763fbb7f66b788793786ff4c9f09335e21c6d0cbb26cf7119f7066271d89ab1a187a18be2be1fcc729c93db559da9d3a75f886b653869d4a928d3a71acea4e4a306e3fa3be31f1a7867c03a05ff00897c57ab5ae93a5584324cf2dc4a892dcba2164b4b180b092f2fae1808edad2057966919540e7727f3d9e32f114be2ef16f89fc533a7952f88f5fd5f5b78739f24ea77f3de0873ce4422658c7b2f7e0d7e47f46ac9f130ff005973eab4a70c2d6860b2cc255926a35ea42757118ce46d5a4a8ffb22934dae69f2fc507cbfe87fedbbf12324c43f04bc27c0e3f0f89cf72eafc4dc71c4381a55a13ad95e0f1787cbb26e1c962a9c64dd29e66d67f52953a8a33f63828d5e574eb5291cdd15fd567f8066ef85f52d4746f12f87f56d21a55d534dd6b4cbed3fc866494de5b5ec335baa32f3b9e5545c73bb3820e48afe909492aa48c120123d091c8fc0fb0afe4bfa4cd2a4b15c1f5d72fb6a987cee954fe674a8d4cb274afa7c2a75ab72eaf572d165001450014500145001450014500145001450014500145007ca9fb717ec97e02fdbaff00648f8fbfb247c4a916d3c2df1c7e1eeabe135d6cdadeea0de11f14c325b6b9e01f1edbe9761ad78766d62f3e1f78f749f0cf8decb45975ad3ec35abcf0fc1a5ea93369b77751bff88ffed2df01bc61fb2d7ed0ff001cbf66bf88177a3ea3e36f809f167e207c21f14ea9e1c97509fc39abeb5f0f7c51a9f85efb5af0e5c6ada768faadc787b599b4c6d5343b8d4b49d2efee34abbb49af34fb3b877b78975df75b6bd1ef6dbaaf3d16fa38def4b6f866ef2b2d7da4559376be9ecdb49b6b56d25ab3c4a8a640514005140052824104120839041c1047208239073ce78f5f7a37dc69b4d34da69dd34ecd35d535aa77ebf32cdcdede5e95379777576501086e6e269ca03c90be6bb9504f271d7be782b56a29d3a74a0a9d28429d38df9614e2a105777768c74576eef4577a9be2f198bc7e22a62f1d89c46331559a757138baf571388aae31518ba95ab4a5526d46318ae66ed18a4b44b94a500920019278007524f618e79ab39d26da495dbd125bb6fa2b6ba9fa15fb2a7ecafae5feb9a37c4cf88ba6cba4e85a4cf06abe1bf0f5fc4d1ea1addfc2cb3586a37f672c7bed348b59425d4115c2a5c6a33470b18bfb3cefbafd55afe08f1b38c30fc57c5f3a597d555b2cc8a83cb30d5a12e6a589c42ab2a98ec4d27f0ca9ceb72e1e9ce2dc6ad3c2d3aaaeaa4647fd707ecbefa38e71e007d1cb0f8de2fc054cb78ebc56cd63c739e65b89a6e963725c9e782a183e15c8f1d4e518d4a58ba196c2ae718bc3568c6be031d9e62b2fc4463570923e36fdb9bc491e8df04e4d1837effc59e24d1b4b541d4dbe9f249af5c4879fb8b26996b19e0fcd3271c864fc68afe84fa3d615e1fc3f9566bfdfb3dccb14bcd42960f057dbf9b08fbed76f650ff1d7f6c5e7f0ce3e97b4f2e84aef857c2ae0bc8aa47f96a6271bc45c4d6f9d2e21a32d7f1f75c4a2bf733fca90a2800a2803ea4fd87fe01db7ed51fb657eca9fb365fdfdce93a57c77fda17e107c28d6f57b3b09354b9d1b40f1cf8f342f0f78835a8b4e8ae6c5ef0e8fa35fdf6a6d07dbac11d2d5bccbeb48f75d41fee75e1bf0df877c1be1dd03c1fe0fd0345f0a784bc29a2e95e1bf0bf85fc37a558e87e1df0df87742b1834bd1340d0344d320b5d3347d1747d32d6d74ed2b4ad3ad6dac74fb1b682d2d208a0863445d5fa2fcdfe7d7d116ff00871d379ceeeef5b46164d6deeddb4f57ef3db436a8a6405140051400514005140051400514005140051400514005140057f98b7fc1e7dfb300f85fff00050bf82ffb4ce87e0e8744f0c7ed4ff00acac3c45e2a4d75afe5f1b7c69f80facbf843c5b34fa1dd6b17b79e1ffec0f83de21fd9eb4789acf49d17c37ac2426e74ff00ed1f115bf8bae90edfd7fc3ffc33e88a8bd26b4d636d55efef45e9a3b3d2f7d344d36ef63f8f0a282428a0028a0028a00294024803924e00f527f3eaa2f175aaf23777ecd46fd397fe22be949e31cfc7dfa4078a5e2c2f6cb2fe2ae27c43e1fa588e655a870b651468647c2d42b53925ecabc387f2dcbbeb54e315158a75a5ab9390515f547e0414500145007eef7fc1b35e08f0c78fff00e0b7dfb0c68de2dd306ada6697e20f8c3e37b2b46babcb458fc4ff000ebf678f8b7e3cf066a665b19ede790e89e2ef0ee89ad476af2fd8ef25d3e3b4d4a0bcd366bab39bfd86a81bd92e9abf9b767d3af2c7abdbff000128a041450014500145001450014500145001450014500145001450015fc1b7fc1f1cda5ffc2bcff8271acb677efad1f19fed3ad61a8476923e976ba5ae87f0386af67797c018adefefeedb439f4db476125e5be9daa4d1065b094a27faafcffaf52e1f13d2fee54e97de9cb5b2ececdbe9f133fcf428a64051400514005140054917fad8bfeba27fe84293d9fa334a5fc5a5ff005f21ff00a523fa588bfd545ff5cd3ff4114b2489123cb2ba471468d249248c112344059dddd885545505999880a0124f535fe5559b95926db95925ab6dbd124aedb6fcbefb9ff7ed19c29e1e352a4e30a74e8a9ce7392842108c39a539ca5eec6318a72949d9452bbee7cb9f11ff006bff0083de0117b6567abbf8d35fb50c8ba57867fd26d3ed0095f2ee75e64feca8515c62736d3dfdc4383fe8b230095f97df193f688f881f19ee4c3adddae93e198661358784f4a79134c89d0feea7be91b6cfab5ea8e45c5e13142fb9acad6d03b2d7f5bf833e116272cc450e2ee29c37b1c5d38c6ae499556fe2e1a538dd6638da767ecf1118bb6130d52d530f3e6af5a30af1a4a1ff003bdfb4c3f68a647c7393e6bf477f0133dfed2e1ec5d6ad82f1438f72e94e382cee8e1710e9cf83786717cb1faee4f5ebd1f699f67587ff0063cde846965997d7c565788cc2788f06a2bfa7cff09828a0028a0028a00fd96ff837b7e36e95f003fe0b39fb0078e359d264d66cfc43f1a24f8250dac370d6b2dbeabfb49f82fc57fb3c683ab0956cef898f44d77e2869bac5d5b98116f6cec6e2c9ef34e5b93a8d9ffb3151fd7f5fd7f98ddacb5d7556d745a34efb6adbdb6e5d778b0a28105140051400514005140051400514005140051400514005140057f119ff0007bafc31f176affb277ec51f18ec750f0fc7e04f007ed09e3af86fe26d26e5750ff84aaf3c55f167e1cffc24be0bd4f4668e16d28787b4bd2be0df8ead3c4cb7b7116a0da96b3e116d321b8b64d5a4b51ebfd79a7fd77fc6351766ff00c335b5f7835f8df7e9beb63fcdea8a090a2800a2800a2800a50482083820e41e9823be79c73edf9d034da69a7669dd3dacd75beb6d7cbef3f7c7e077c61f0bfc54f03683a8d96af61ff090c1a65a5af88f4492ee24d4f4fd5ada08e1bc67b472b3bd9dccc8d736576b1b433c12a7ceb3a4f141e19fb677c65f0d689f0e354f879a4eb1657fe2bf163da595dd8d8dcc5752e91a2c37515e5f5cea1e4c8c2d5ef05b2585bdbcc566992e659d6331c0cd5fc0dc2fc0f9ad3f1670590d4c16214726e228e3b155254aaf067c55e27d4fc6fa65af88b40f11689e22f883f067528a3d4f44d4357b5aff004c9a3bff005fa2ebebeaf41bd2cb4bd95edadefef26f57ad9c7d2d66ae985140828a0028a0028a0028a0028a0028a0028a0028a0028a0028a002b23c41e1fd07c59a0eb7e16f15689a47897c31e25d2352f0ff0088fc39e20d36cf59d07c41a0eb367369dac689ade91a8c373a7eaba46aba7dcdc58ea5a6df5bcf677d677135b5d432c32ba3009b4d34ecd6a9ad1a7dd35aa3fc63bfe0b71ff04d2bbff82567edf7f10ff671d2b50d6fc41f07fc43a2685f17ff0067af16f8924f0e9d7fc45f087c6b26a3696f6dae5bf87750ba8a0d63c0de38d03c6ff0cafef751d3bc2d7de2b93c12be3cb5f08787bc3fe2cd0ac97f23e8febfaff86454adccda4926ee92d927ad95f5b2dbe5a851412145001450015ada1685ac789b57d3f40d034ebad5b59d56e52d34fd3ece3325c5ccf2721517a2aaa869259642b1430a3cd3c89146ce98e2711430987af8bc4d5851c36168d5c4622b547cb0a5428c1d4ab5672b3e5853a7194e4f95d926eccf4b26c9f34e22ce32ae1fc8f0388cd33acf332c0e4f9465b8487b4c56619a6678aa582cbf0386a6b5a988c5e2ebd1a1461a73d4a915d6e7db3a0fec07f132feca3b9d73c51e14f0fdcc8a1bfb395b50d5ee20ce3e4b99adad62b3122f39fb2dc5dc648e243d579ff1c7ec39f163c2ba65ceada2de687e3482d2279a7b0d1e5bcb5d68c51a9791edec2fad6286ecaa824416d792ddc846c82da7728b5f83e13e90fc2189ce29e5f3c166985c055c42c3c338aca82a315297243115f0aa4ebd1c337694a57a9569d3b4e5493e68c3fd65e22fd8d9f48bc8fc38c5f17e1b8af80b3ce2cc064f3cdf15e1d6595b3796655a54683c462328caf3aab808e59986730847d951a0d61b038bc527468661283a15eafc64cac8cc8eac8e8c559181565653865653cab0390410083d79a6d7efc9a6934ee9ea9ad534faa7d6ff00d6e7f91328ca129425171945b8ca324d4a324ece324f54d3d1a6934d6ba85140828a0028a0028a00ff005d7ff8356fe19f867e1f7fc1123f658d6b44f0f2687af7c59f11fc7bf899e3fbbdd7be7f89fc4cff001d7e20780747f10dd45772bc5039f86fe02f00e896cba7c56d653e9da258de7952dddcdd5e5d7f44342b74d9ebf7ebfd7fc3152bf334ef78fbbae8d72fbb66bbab2be8bcc28a090a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2803f133fe0b91ff00046ef017fc160ff66ad23c1d1f89a3f871fb497c117f15f89ff669f897a9cfa9cbe0fb0d7bc5367a347e2af87df12748d3e1bf9a7f879f1257c2de18b5d63c45a369779e31f02eafa0f87fc5da0daf88f4dd33c45f0efc77fe40bf183e0cfc5afd9f7e23789be10fc72f86de37f847f147c1b71676be29f007c45f0ceb3e10f16e8726a5a658eb9a53ea1a16bb6761a8416dac685a9e97af68d76d6c2d757d0f53d3758d3a5bad36fed6ea53f5d7f2f979ff009ef1bb5e17d3dcf75ea936a5cd24f977959a7cd2d547dc52247146acf248ec7015110166663d02a924f63c57f47ff00f047eff83703f6c1ff0082857c5bf07f88ff00681f86df157f65afd8d2cacf41f1b78cbe2cf8ebc23a9782bc5ff143c1fab416bab687e1afd9ef44f18e950cbe27d4bc7da5cf1cb63f13e4d1f53f86de0bf0fcb71e2abc97c59ac47e18f87de344df4eaffabecff15ae8b7712e31ba736bdc8eeef64de9ee2ef2775a28ca4a3efb5cb1728ffabf7c32f86fe09f837f0dbe1f7c21f867a05bf853e1c7c2af04784fe1bfc3ff000bda5c5f5dda786fc13e06d06c3c31e14d02d6eb53babed4ae6df47d0b4bb0d3a1b8d42f6eefa68ed964bbbab8b86799fb8a643776df7d74d17c92492ffc057a051400514005140051400514005140051400514005140051400514005140057927c67f801f023f68ef0ad9f817f686f827f093e3cf8234ed76d7c51a7f83be33fc37f077c50f0ad8f89ac6c353d2ecbc4567e1ef1be8daee916baed9e99ad6b1a75aeaf0d9c77f6f61ab6a76915c25bdf5ca4a05edb7f97e5fd33fcf3ffe0e66ff0083787c31fb2ee9be35ff0082907ec3da0e85e16fd9da5d5f4abafda3bf679d33ec1a1e9bf04b5ef17f8874df0de99f113e0be963ecb6aff093c51e2ad6f4ad2fc43f0b34a8cde7c28f10eaf6da9f81ac2ebe0fdfdee87f04ff00892a0a974977dfb732b73744bac65a5edcd6bbb20a282428a002b5743d7357f0d6afa7ebda0ea173a56b1a55cc779a7ea167218ae2dae23fbae8c010cac0b24b1ba3c5344ef14d1cb13b256388c3d0c5e1ebe13134a15f0d89a3570f88a3515e9d5a15a12a75694d6b7854a729464adaa6f7b9e964d9c667c3d9be559fe498ec46599ce479960738ca332c24fd962b2fccf2cc552c6e031d86a8aee9e23098ba347114676f72a538cb5b1f6c683fb7dfc4fd3ed23b6d73c35e12f104f18da6fc47a8e91733e07dfb88ed6e65b2f30b60936f696d1f6110e0d73be35fdb87e2ef8a34db8d2b478341f06417513c335f68705ecdac849015905bea17f73711da3321c2cf696705dc2dfbc86e62902327e1384fa3c70761b378661531b9ae2b014abac453ca2bd4a0e84b965cf1c3d7c44682af5f0c9f2a70fddd49c172d4ad2bca52ff00583887f6c8fd24b3cf0ef13c2385e1ae00c8b8ab1d9554cab17e22e5785ce219b52f6b43eaf5736cab28ab9854ca72dcea5172ad0c43a78ac0e1b132f6d85cba8fb3a30a5f1b3bbc8ed248ccf23b33bbbb1677763b99999b25999892cc79279392734dafded2492492492b24b4492d925d11fe47ca529ca539ca539ce4e539c9b94a5293bca5294aee5293776deadbbbbb770a299214500145007f593ff0669fc34f0678e7fe0acde33f1678a7418357d6be0cfec75f17be21fc36d426babfb793c2de38d63e207c1af84979aedac367736f6f7d35cfc38f89df107c32f6daac57d611dbf88a7bc8ed5754b5d36f6cbfd4be8febfafebcfb0df4db6ede7d7bbbf577d2dda3ca5140828a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a00f9dff6bcf835aa7ed1bfb277ed3ffb3d6897da4e99ad7c77fd9dfe35fc1ad2352d7cdc8d0b4fd53e287c36f137822c2fb5a36765a95d8d26d2ef5c86e35136ba75fdcfd8e398c365752ec81ffc24a48de291e2914abc6ed1ba9eaae8c5594fb86041a3afddfd7e5f77a15a722eea4eefa59a8f2fe2a5f86fbc594504851400514005140051400514005140051401fdc97fc1905f046cf5cfda2ff6ebfda424d767b7bff85ff057e167c11b3f0cad94725aeaf67f1e3c75ad78f353d767d44dcacb693f8767fd9cb49b0b4b24b3b88f518fc51793cb7368da5431deff00a3351fd7e5ff000fd7ff00916fa2ecbefbb6fb2efe7b6ef40a28105140051400514005140051400514005140051400514005140051400514005140057f887ffc1587f67eb4fd96ff00e0a57fb707c0ad23c1fa9780bc29e07fda4fe291f87be14d523d6d66d2be16789bc4d7be2ff8542d6e3c4735d6b7a9e9179f0eb5ff000c5fe85ae6a1797f36bda35cd86b5f6fbe4be4bb95755e8f5fbb4f9eff0022d7f0e7afdba6f97be93f7bd22ec9f4bc95eef95c7f3de8a64051400514005140051400514005140051401fe9f1ff0006607c048be1ff00fc1367e317c73d57c0d7ba078a3f684fda7fc4d1693e34be8753b71e3ff847f093c1be10f0af849b495b997fb32f743f0b7c53d4fe3b6911ea7a65aacb26befe22d2f50bbb97d1adedf4efec0285fe7f9ebf8ff5b0e5bef7d23b7f8569a76d9f9ad6ef50a28105140051400514005140051400514005140051400514005140051400514005140057f9ddff00c1ea9fb0addf877e267ece1ff0514f07e89a55bf863e2268f17ecc7f1aaef4cd33c3ba3dcafc4bf0bc3e24f1bfc21f136bf7106a51f88bc6bae78dfe1f278dfc2326b33e83716fe12f0efc13f08683a97887cad5fc27a45a9fd7f5f7dfcff18d4a25bb6f44b57a1fc347fc14bbfe0f31bdb5d7f57f865ff0004b6f86da3ea3e1eb7d37c5be1fd5bf697fda13c23aafdab50d6a6bcd5345d0fc5bf043e14c1e21d39acf48d3f4e834ff19f8735ef8dd6335f6af7faa43a1f8c7e0668b6de1fbc87c4ff00c4bfed41fb5ffed3bfb697c4ad43e2efed51f1c3e217c70f1f5fc97de46abe38d7ee2fec3c3da7dfeb1aa6befe1df04f86605b4f0b7803c1d69ab6b7ab5de91e0af0468ba0784b42fb7dcc3a368d616f218a95afabf92d74f3d95defafcbccae6514e30eaad395fe3d765eec6d0f87ddbbe692e697d88c3e6fa2990145001450014500145001450014a091d3f11d8fd4743dbebfaa834edfd7f97f5f9c5f946e1be43cf2bb8afb6576f193dc13eb838f97fd6c3fe0d3df08fc2ef0d7fc114fe00eadf0fedf4187c57e3cf88ff1fbc5bf1be4d1b5cfed8bebbf8a36bf173c4de09d2ae7c516a2fef17c3daf7fc298f077c21b787445b6d2bfe29bb7f0f6b1269ef3eaf2ea7a825a68ddfb3befe4d5b57f3f3d5ae6347cb28ca70567a2a9049b51575ef45f2be58ca5cba735e2fdd4e49dcfe9128a66414500145001450014500145001450014500145001450014500145001450015f9b7fb4f7fc160ffe0985fb1cb6af67fb427edb9f017c25e23f0f78a1bc19e22f87de1bf16ffc2d6f8b1e1cf11c51ea725cd8f88fe107c21b5f1e7c50d062b07d22f6d354d4757f0859697a56a62d34ad4afadb53d474db3bb3fafeac9fe5f7ef1a8c5caf65b6edbe58addeb27eeabd9daf7bf67a23f9dbfda93fe0f55fd8cfe1b7885b40fd94bf661f8c3fb50db69dad78934cd5bc67e38f15e95fb37f82755d3f4cbbb4b6f0ef88fc026efc29f167c7dade95e278bfb4b506b5f1d7c3df85faee89670e92b79a3cd7fa96a165a07f0fff00f0539ff82b17ed71ff000560f8c1a5fc52fda5bc45a469ba078434a8f44f863f053e1dc7aee8bf077e18d8c90dbaeb57fe1af0d6b5ae7882feefc59e30bd81353f1978d7c43abeb3e25d6a48f4dd0e2bed3fc17e17f06f857c36bf2fbfb6bb2d9fdfa3f21be58dd464e52d9c95d46d7926a3a73494972eaf974e68ca32ba947f33e8a6405140051400514005140051400514005140057df9ff0004f9ff008299fed7ff00f04caf8b969f15ff00659f89da8f87edaeb53d26f7e207c28d76ef57d53e0d7c60b0d212faded746f8a1e02b4d4f4db3d7e2b7b2d5f58b4d235db4b8d2bc61e15fed5bfbdf07f89740d4a737aa357feadf95ff002d7adca84b91dec9a69a945ed28bdd3d1faa7cb78c94671f7a3191fdaf7ecd1ff07b87c0cd7ee34cd1ff006bbfd8bfe24fc33487c29669aa78f3e0178fb40f8b767ac78ee16d1adefa587e1bf8e74df8517de10f066a4afafead063e237c41d7b40fb368fa03c5e2837b79e24d3bfa62fd96bfe0b41ff04b4fdb3f5987c33fb3c7edaff06bc51e2fbed6346f0fe8de06f17dfebbf06fc7fe27d6fc437535968fa5f837c05f1ab42f877e30f1ad001450014500145001450014500145007e2efedc7ff0007027fc12c3f604d63c53e06f8b3fb46d878fbe32f84488356f81df0134abaf8b5f106cf5683c532f8535bf0cebba8e8d25b7c31f01f8cbc2f7567aa6a5e23f067c4cf889e09f14e9fa5698f2a68f757ba9f87ecb59fe52ff6c5ff0083d7be33f8924d5fc37fb0afecb1e0cf85fa334be36d26d7e287ed13ab5f7c46f1bdee9578f1d9781bc59a27c3af065e7857c1de02f1669366b73adea9a2788bc4df1afc3126b17761a5b7f69e95a2de4fe2757bedb7777fc172ebeaf4d9ae6fb3af2c20af51de57d2926eff000a69ce4a368abb5ee24e6f967197b37c933f984fda9ffe0b07ff000533fdb3bfe12eb1fda0bf6cef8e1e27f0878e574c8bc4df0bbc3be2ebbf873f07353b5d18e9726956771f08be1d2f853e1dcd6f6775a2e97aa0171e1b9a5bad76d0788afa7bad7a6b8d465fcd9249249249249249c924f5249e4927a9efd4d0925f3ddddbbfdff959244ca6e5a68a2b5518dd416895d46cb56a315293bce5ca9ce52769094532028a0028a0028a0028a0028a0028a0028a0028a0028a00294120820e08e411c107d411c8a00fd1efd95ffe0af3ff00052efd8b4784ac3f676fdb3be39783fc1fe068b54b7f0bfc2cd6fc6177f113e0be9369ad49aacfab5a5a7c19f88c9e2bf8630457d7bae6abaabbc3e158ee20d76eff00e121b29edb5e82d752b7fe9f3f63aff83d7be377861f46f0cfedd3fb2c7827e2be8c93f82749bdf8a7fb3d6b17df0cfc7763a2d962c7c75e2dd73e1c78c2e3c5be0af885e33d5ed8c7af699a27873c4ff02fc269ac5b5de908ba5695abd9dd78615adf0ffe02dbb6d656f75f2ecb6baeaf57735e78cff8b7bbff009791d67acb99b9ae54aab6dbbca72552ed7bee31503fab3fd86bfe0e0dff0082577edf9acf853c09f0abf689b5f875f19fc61be1d23e067ed03a3dcfc25f1fddeab3f8ba1f07e83e17d0f58d524bcf853e3df1af8b6eef749d4fc31e06f865f12bc6fe2fd4747d5629a4d16defb4bf10e9fa2fed5509dfcbba7bafc12fbaebcd9138383dd493bf2ce2ef1924ed7578c5abefcb28a924d3718dd0514c90a2800a2800a2800a2800a2800a2803f2d7e377fc16e3fe0923fb3df8697c55f117fe0a11fb305ed8b6ab65a37f657c2af897a5fc7ef1a4777a859dddf5b5c4ff000f3e030f897e3eb7d1fecf6521b8f105c7869341b39a6b0b5bcd4adeeb53d361bafcd9f8e1ff0007737fc119fe135a68771e04f88df1cbf69a9f5697518f51d3be07fc09f15e8777e165b2fecefb34daecdfb46cbf0034db98b57fb6dc1d3c785efbc49345fd91a87f6b45a59934a1aa2bf6d7d3cedafa75eb7f5f86dc1c5da5683f7aea4e574e37f76514a528c9b56b4a3bb4e568fbd1fe79ff006f6ff83cff00f688f89da46b5e03ff00827dfc0fd33f664b2975bd620b4f8f3f15eefc39f173e2d5379a9da7857c05e1cb1d46c3c3ba76b36de12f85de04b0f0b7c35f07c7e2387c25e1bb8f157fc231e13d25bc57aa68f67adf890ea9ac235f316bef67e5adbe7a2bebafddd931f3f23bd3724ecd39ddc64efa3b597ba9ad1d9b6d5efeecad0f8968a6661450014500145001450014500145001450014500145001450014500145001450015f6afec85ff0519fdb87f60bf18c9e38fd92bf696f895f07b55bab4b6b0d5b47d3b52b3f12f807c4b67a7e9fe23d3746b7f187c2df1c58789fe19f8ce3f0e41e2ef12dc785078abc25ac1f09eabac5debbe1b3a5eb4c97f1164fe5b7f5fd5fa94a728a94536a3256946ef964b7f7959a76766af1ba92525aa8c8fe993fe09fff00f07937ed7df08f5ab3f0bffc1413c07a2fed69f0ef52d6e17d4be26780b47f077c20f8e7e0fd32faff00408350b9d3bc3fe15d0bc3df07be2158681a2d9ebd7ba2f832ef41f86bac6b9e20d5e24d5be2de9ba3d9dbdb41fd177c15ff0083c03fe08f1f1535ebdd1fc71acfed27fb37585ae977d7f6fe29f8d5f045b5bd0354bcb4bdd1ad6df43b287f678f157c7af1245aa6a90ea77ba958cfaa78774dd0e2b2f0eeb09a9eb1a76a13787acb5a5aaf3d77db47dfdd57fbbd6df14aa5ece56714a9be5f7a2e5371949595e0fd9b6b996ae33768b8c9fb4b4a118fe977c0cff82eaffc120bf68ab3d56f7e1cff00c1417f674d3974796d61b9b3f8c1e2e9ff00675d62e5af16f5e36d1b41fda134ef85dadf88618974fb86beb8d034ed4edf4d5368da8c968350d3cdc7eb1d3bafebfcbcdeddfcf464b84a2936b47a2927cd16d28b69497bada528f325ac6fef6b6e528a090a2800a2803e00f8ebff000558ff00826afecd2be3187e35fedd1fb2ef8335ef006a8da1f8bfc08bf193c17e25f8a7a26b50f8817c2f7ba3cff08fc21a9f883e274faa693ae79d69af69f67e12b9bbf0fc7a7ead7dadc56161a36a97561f867fb5a7fc1e25ff0004c2f82da4dfda7ecd1a47c5ff00db37c6d2787f4fd57c3e7c35e13d6be087c296d62e75bbcb0bff000bf8bfc71f19342d1be23787eff4dd1ec0ebada8f86be0878fb44bc1aae81a75b6a0d7336bd278655d74d7e6edd7af2bea9dedaaebd0be46b59fb9e4efcff65e94f57aa9271728c212d7ded1b87f3f9fb5bffc1e89fb737c58d2aefc3bfb24fc04f841fb22586a7e1ed36d2e7c63e22d52e3f692f8b5a2789ed3c4126a57fadf83b59f13785fc07f092cf48d57438ac7c392f87fc63f03fc75716c926b9ab59ebd0dfdf68e7c37fcdffed75ff0536fdbf7f6f0bebf9ff6b1fdac3e317c5ed1750d5f42f109f8797fe267f0cfc1ad3bc41e1bd064f0ce8daff87be077822dfc33f07fc31af5b68d717d6f3eb5e1df03e99aa6a371aaeb5a96a77579aa6bbabdeddbfebfafebf462e64be1d37bbbbe677566b48d92dfcf5b36f471f8568a090a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800a2800afbabf644ff829b7edf9fb075f58cffb26fed5df187e1068b63aceb9e233f0f34ff12b7897e0dea7e22f126811f86358f10788be07f8dadbc4df07fc51af5ce8b6f636d0eb5e23f046a9a9e9f71a4685a9e9d776baa683a2de581fd7f5fd6bd469b57b75566ba35e6b5bebaad347692bbb1fd13fecb1ff00079e7fc141be15dbf85740fda83e0cfc09fdabfc3da25a6b717887c51616da9fc02f8d1e35bbbe9356bbd1ae751f14f836dfc45f06f465d0ee6f74bb130f87ff0067ad3d752f0f68b1d9dd6df105fddf8aabfa1efd927fe0f0ff00f8260fc6bd0eda1fda674cf8b7fb17f8e6db43bad4b5d87c4de13f107c71f85d36aa9adad8d9f877c17e39f835e1cd6bc7fafdedce8f3dbeb73df78b3e0a7c3cd26d1adf56d345eddcb69a65c6b2b5f5edd3b6fa3bebafd9e9eb1b7ece4b4f724936d49b7093bc9da0d4138fbbc91519f35da94a55358423fb8df027fe0abbff0004d1fda593c192b3e928caa41a6b67782d55fdef7651ff001e5a2a8c028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a0028a00ffd9, 'image/jpeg', 'Y');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `Wecken`
+--
+
+CREATE TABLE IF NOT EXISTS `Wecken` (
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
+ `UID` int(11) NOT NULL DEFAULT '0',
+ `Date` int(11) NOT NULL,
+ `Ort` text NOT NULL,
+ `Bemerkung` text NOT NULL,
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
+
+--
+-- Daten für Tabelle `Wecken`
+--
+
+INSERT INTO `Wecken` (`ID`, `UID`, `Date`, `Ort`, `Bemerkung`) VALUES
+(4, 1, 1307109840, 'Tent 23', 'knock knock leo, follow the white rabbit to the blue tent'),
+(5, 1, 1307109840, 'Tent 23', 'knock knock leo, follow the white rabbit to the blue tent');
diff --git a/config/.gitignore b/config/.gitignore
new file mode 100644
index 00000000..cb667ea2
--- /dev/null
+++ b/config/.gitignore
@@ -0,0 +1,6 @@
+config_db.php
+config_jabber.php
+config_modem.php
+config.php
+config_IAX.php
+config_MessegeServer.php
diff --git a/default-conf/var_www_includes/config.php b/default-conf/var_www_includes/config.php
index 574d9947..574c44ae 100755..100644
--- a/default-conf/var_www_includes/config.php
+++ b/default-conf/var_www_includes/config.php
@@ -1,10 +1,13 @@
-<?PHP
+<?php
// Adresse des Webservers
$url = "https://SEDENGELURL";
// Startverzeichnis des Engelhome
$ENGEL_ROOT = "/";
+// Default-Theme auf der Startseite, 1=style1.css usw.
+$default_theme = 10;
+
// System disable message, ist ist set is: bages schow only this text
//$SystemDisableMessage="<H1>This system ist moved to a server in the BCC, you can in the moment only youse it in the in Engel Room</H1>";
@@ -16,22 +19,19 @@ $LETZTES_AUSTRAGEN=3;
//Setzt den zu verwendenden Crypto algorismis
// mp5 oder crypt
-// achtung crypt schaltet password ändern ab
+// achtung crypt schaltet password �ndern ab
$crypt_system="md5";
//$crypt_system="crypt";
-// the archangels
-$arch_angels="fnord";
-
// timezonen offsett
$gmdateOffset=3600;
-// für Developen 1, sonst = 0
-$DEBUG = 0;
+// f�r Developen 1, sonst = 0
+$debug = 0;
// SSL Cert-KEY
$show_SSLCERT = "MD5:<br>MD5SED<br>\n".
- "SHA1:<br>SHA1SED";
+ "SHA1:<br>SHA1SED";
//globale const. fuer schischtplan
$GlobalZeileProStunde = 4;
@@ -42,7 +42,7 @@ $Tempdir="./tmp";
// local timezone
date_default_timezone_set("Europe/Berlin");
-//Pentabarf ConferenzDI für UpdateDB
+//Pentabarf ConferenzDI f�r UpdateDB
$PentabarfXMLhost = "cccv.pentabarf.org";
$PentabarfXMLpath = "Xcal/conference/";
$PentabarfXMLEventID = "31";
diff --git a/default-conf/var_www_includes/config_IAX.php b/default-conf/var_www_includes/config_IAX.php
index e7eca465..87c3d8ea 100644
--- a/default-conf/var_www_includes/config_IAX.php
+++ b/default-conf/var_www_includes/config_IAX.php
@@ -1,4 +1,4 @@
-<?PHP
+<?php
$IAXenable = TRUE;
diff --git a/default-conf/var_www_includes/config_db.php b/default-conf/var_www_includes/config_db.php
index d959be90..d07529c0 100755..100644
--- a/default-conf/var_www_includes/config_db.php
+++ b/default-conf/var_www_includes/config_db.php
@@ -1,6 +1,9 @@
<?php
-include("funktion_db.php");
-$con = mysql_connect("localhost", "root", "changeme") or die ("connection failed");
-$sel = mysql_select_db("tabel") or die (mysql_error());
+
+// MySQL-Connection Settings
+$config['host'] = "localhost";
+$config['user'] = "root";
+$config['pw'] = "";
+$config['db'] = "engelsystem";
?>
diff --git a/default-conf/var_www_includes/config_jabber.php b/default-conf/var_www_includes/config_jabber.php
index 13cd3538..13cd3538 100755..100644
--- a/default-conf/var_www_includes/config_jabber.php
+++ b/default-conf/var_www_includes/config_jabber.php
diff --git a/default-conf/var_www_includes/config_modem.php b/default-conf/var_www_includes/config_modem.php
index 0625936d..e6542fc4 100644
--- a/default-conf/var_www_includes/config_modem.php
+++ b/default-conf/var_www_includes/config_modem.php
@@ -1,11 +1,10 @@
-<?PHP
+<?php
+ // ist ein modem angeschlossen
+ $ModemEnable = false;
-//ist ein modem angeschlossen
-$ModemEnable = false;
+ // COM port
+ $ModemDev ="/dev/ttyS0";
-// COM port
-$ModemDev="/dev/ttyS0";
-
-// vorwahl, bei tnovis telefonanlage für das programmieren von weckrufen
-$WackupNumber="**3";
+ // vorwahl, bei tnovis telefonanlage fuer das programmieren von weckrufen
+ $WakeupNumber="**3";
?>
diff --git a/import/27C3_sample.xcs.xml b/import/27C3_sample.xcs.xml
new file mode 100644
index 00000000..a84e31d3
--- /dev/null
+++ b/import/27C3_sample.xcs.xml
@@ -0,0 +1,2090 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<iCalendar xmlns:xCal="urn:ietf:params:xml:ns:xcal" xmlns:pentabarf="http://pentabarf.org">
+ <vcalendar>
+ <version>2.0</version>
+ <prodid>-//Pentabarf//Schedule #&lt;Conference_release::Row:0x2eadcdf118d8&gt;//EN</prodid>
+ <x-wr-caldesc>27C3 Schedule Release #&lt;Conference_release::Row:0x2eadcdf118d8&gt;</x-wr-caldesc>
+ <x-wr-calname>27C3 Schedule</x-wr-calname>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4302@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4302</pentabarf:event-id>
+ <pentabarf:event-slug>27c3_keynote_we_come_in_peace</pentabarf:event-slug>
+ <pentabarf:title>27C3 Keynote</pentabarf:title>
+ <pentabarf:subtitle>We come in Peace</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T113000</dtstart>
+ <dtend>20101227T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>27C3 Keynote- We come in Peace</summary>
+ <description></description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4302.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Rop Gonggrijp</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4244@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4244</pentabarf:event-id>
+ <pentabarf:event-slug>critical_overview_of_10_years_pet</pentabarf:event-slug>
+ <pentabarf:title>A Critical Overview of 10 years of Privacy Enhancing Technologies</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T113000</dtstart>
+ <dtend>20101229T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>A Critical Overview of 10 years of Privacy Enhancing Technologies</summary>
+ <description>The objective of the session is to provide a critical overview of "privacy research" within computer science. The mechanisms proposed in the last ten year include mechanisms for anonymous communications, censorship resistance, selective disclosure credentials (and their integration in identity management systems), as well as privacy in databases. All of these system are meant to shield the user from different aspects of on-line surveillance either through allowing a user to keep some of her data "confidential" or by allowing her to assert "control" over her data. We will illustrate using concrete examples, why some paradigms came to dominate the &#64257;eld, their advantages, but also their blind spots, and unfulfilled promises given the conditions of our surveillance societies.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4244.en.html</url>
+ <location>Saal 2</location>
+ <attendee>seda</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4245@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4245</pentabarf:event-id>
+ <pentabarf:event-slug>adventures_in_analyzing_stuxnet</pentabarf:event-slug>
+ <pentabarf:title>Adventures in analyzing Stuxnet</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T230000</dtstart>
+ <dtend>20101228T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Adventures in analyzing Stuxnet</summary>
+ <description>There has been many publications on the topic of Stuxnet and its "sophistication" in the mainstream press. However, there is not a complete publication which explains all of the technical vulnerability details and how they were discovered. In this talk, you will get a first-hand account of the entire story.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4245.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Bruce Dang</attendee>
+ <attendee>Peter Ferrie</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4057@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4057</pentabarf:event-id>
+ <pentabarf:event-slug>adventures_in_mapping_afghanistan_elections</pentabarf:event-slug>
+ <pentabarf:title>Adventures in Mapping Afghanistan Elections</pentabarf:title>
+ <pentabarf:subtitle>The story of 3 Ushahidi mapping and reporting projects.</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T214500</dtstart>
+ <dtend>20101228T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Adventures in Mapping Afghanistan Elections- The story of 3 Ushahidi mapping and reporting projects.</summary>
+ <description>Monitoring and reporting about elections in a war zone is a complex and dangerous task. While crisis mapping carried out via sms and email proved highly successful with the use of Ushahidi in situations like post-election violence in Kenya, tracking crime in Atlanta, or earthquake recovery in Haiti, could it prove useful in such a complex situation as the Afghan political process? This year a team of people set out to do just that with three different Ushahidi mapping projects for national media, national election observers, and international observers. The following presentation is about the challenges we faced, successes we did or did not have, and the lessons learned for the future of crisis mapping.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4057.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Bicyclemark</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4168@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4168</pentabarf:event-id>
+ <pentabarf:event-slug>automated_architecture_independent_gadget_search</pentabarf:event-slug>
+ <pentabarf:title>A framework for automated architecture-independent gadget search</pentabarf:title>
+ <pentabarf:subtitle>CCC edition</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T143000</dtstart>
+ <dtend>20101230T150000</dtend>
+ <duration>00H30M00S</duration>
+ <summary>A framework for automated architecture-independent gadget search- CCC edition</summary>
+ <description>We demonstrate that automated, architecture-independent gadget search is possible. Gadgets are code fragments which can be used to build unintended programs from existing code in memory. Our contribution is a framework of algorithms capable of locating a Turing-complete gadget set.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4168.en.html</url>
+ <location>Saal 2</location>
+ <attendee>kornau</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4046@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4046</pentabarf:event-id>
+ <pentabarf:event-slug>all_colours_are_beautiful</pentabarf:event-slug>
+ <pentabarf:title>AllColoursAreBeautiful</pentabarf:title>
+ <pentabarf:subtitle>interactive light installation inspired by blinkenlights</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T183000</dtstart>
+ <dtend>20101227T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>AllColoursAreBeautiful- interactive light installation inspired by blinkenlights</summary>
+ <description>Starting in the beginning of August 2010 and lasting until the mid of November, the project AllColoursAreBeautiful by the Munich chapter of the Chaos Computer Club was serving as a platform for interested people on the world to illuminate, animate and interact with the front of a vacant department store in Munich.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4046.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Franz Pletz</attendee>
+ <attendee>lilafisch</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4114@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4114</pentabarf:event-id>
+ <pentabarf:event-slug>analyzing_modern_cryptographic_rfid_stystem</pentabarf:event-slug>
+ <pentabarf:title>Analyzing a modern cryptographic RFID system</pentabarf:title>
+ <pentabarf:subtitle>HID iClass demystified</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T171500</dtstart>
+ <dtend>20101229T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Analyzing a modern cryptographic RFID system- HID iClass demystified</summary>
+ <description>Popular contactless systems for physical access control still rely on obscurity. As we have shown, time and time again, proprietary encryption systems are weak and easy to break. In a follow-up to last year's presentation we will now demonstrate attacks on systems with 'proper' cryptographic algorithms.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4114.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Henryk Pl&#246;tz</attendee>
+ <attendee>Milosch Meriac</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4151@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4151</pentabarf:event-id>
+ <pentabarf:event-slug>android_geolocation_using_gsm_network</pentabarf:event-slug>
+ <pentabarf:title>Android geolocation using GSM network</pentabarf:title>
+ <pentabarf:subtitle>"Where was Waldroid?"</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T171500</dtstart>
+ <dtend>20101229T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Android geolocation using GSM network- "Where was Waldroid?"</summary>
+ <description>We introduce a new forensic technique that allows to collect users' past locations on most current Android phones, within a few seconds. It becomes possible to tell where the user was at a given time, or where a phone call took place over the last few hours or days.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4151.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Renaud Lifchitz</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4144@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4144</pentabarf:event-id>
+ <pentabarf:event-slug>short_political_history_of_acoustics</pentabarf:event-slug>
+ <pentabarf:title>A short political history of acoustics</pentabarf:title>
+ <pentabarf:subtitle>For whom, and to do what, the science of sound was developed in the 17th century</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T160000</dtstart>
+ <dtend>20101228T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>A short political history of acoustics- For whom, and to do what, the science of sound was developed in the 17th century</summary>
+ <description>The birth of the modern science of acoustics was directly intertwined with the desires to surveill and communicate, either in secret or to everybody at once. Acoustics was not just about 'learning more about nature,' right from the start it was an applied science, driven by very clear notions of who has the right, and thus should have the possibility, of listening in on others, who needs to be able to converse in private, and who should be heard by everybody if he wishes to. How are these historical ideas related to those of today?</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4144.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Oona Leganovic</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4160@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4160</pentabarf:event-id>
+ <pentabarf:event-slug>automatic_identification_cryptographic_primitives</pentabarf:event-slug>
+ <pentabarf:title>Automatic Identification of Cryptographic Primitives in Software</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T160000</dtstart>
+ <dtend>20101227T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Automatic Identification of Cryptographic Primitives in Software</summary>
+ <description>In this talk I demonstrate our research and the implementation of methods to detect cryptographic algorithms and their parameters in software. Based on
+our observations on cryptographic code, I will point out several inherent characteristics to design signature-based and generic identification methods.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4160.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Felix Gr&#246;bert</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4061@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4061</pentabarf:event-id>
+ <pentabarf:event-slug>bulding_custom_disassemblers</pentabarf:event-slug>
+ <pentabarf:title>Building Custom Disassemblers</pentabarf:title>
+ <pentabarf:subtitle>Instruction Set Reverse Engineering</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T171500</dtstart>
+ <dtend>20101228T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Building Custom Disassemblers- Instruction Set Reverse Engineering</summary>
+ <description>The Reverse Engineer occasionally faces situations where even his most advanced commercial tools do not support the instruction set of an arcane CPU. To overcome this situation, one can develop the missing disassembler. This talk is meant to be a tutorial on how to approach the task, what to focus on first and what surprises one may be in for. The primary focus will be on the transformation of byte code back into mnemonic representation where only the reverse transformation is available (i.e. you have the respective assembler). It also covers how to integrate your new disassembler into your reverse engineering tool chain.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4061.en.html</url>
+ <location>Saal 1</location>
+ <attendee>FX of Phenoelit</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4298@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4298</pentabarf:event-id>
+ <pentabarf:event-slug>ccc_jahresrueckblick_2010</pentabarf:event-slug>
+ <pentabarf:title>CCC-Jahresr&#252;ckblick 2010</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T113000</dtstart>
+ <dtend>20101229T133000</dtend>
+ <duration>02H00M00S</duration>
+ <summary>CCC-Jahresr&#252;ckblick 2010</summary>
+ <description>Wir berichten &#252;ber vergangene Veranstaltungen, Erfa-Aktivit&#228;ten, Demonstrationen, Hacks, Medienkontakte, Gerichtsverhandlungen, Lobbyarbeit sowie weiteres Erfreuliches und &#196;rgerliches des Jahres 2010 keinesfalls objektiv, sondern mit der gewohnten Hackerperspektive.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4298.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Andreas Bogk</attendee>
+ <attendee>Andy M&#252;ller-Maguhn</attendee>
+ <attendee>Constanze Kurz</attendee>
+ <attendee>Frank Rieger</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4211@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4211</pentabarf:event-id>
+ <pentabarf:event-slug>chip_and_pin_is_broken</pentabarf:event-slug>
+ <pentabarf:title>Chip and PIN is Broken</pentabarf:title>
+ <pentabarf:subtitle>Vulnerabilities in the EMV Protocol</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T203000</dtstart>
+ <dtend>20101229T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Chip and PIN is Broken- Vulnerabilities in the EMV Protocol</summary>
+ <description>EMV is the dominant protocol used for smart card payments worldwide, with over 730 million cards in circulation. Known to bank customers as &#8220;Chip and PIN&#8221;, it is used in Europe; it is being introduced in Canada; and there is pressure from banks to introduce it in the USA too. EMV secures credit and debit card transactions by authenticating both the card and the customer presenting it through a combination of cryptographic authentication codes, digital signatures, and the entry of a PIN. In this paper we describe and demonstrate a protocol flaw which allows criminals to use a genuine card to make a payment without knowing the card&#8217;s PIN, and to remain undetected even when the merchant has an online connection to the banking network.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4211.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Steven J. Murdoch</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4299@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4299</pentabarf:event-id>
+ <pentabarf:event-slug>closing_event</pentabarf:event-slug>
+ <pentabarf:title>Closing Event</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T183000</dtstart>
+ <dtend>20101230T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Closing Event</summary>
+ <description></description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4299.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Frank Rieger</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4096@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4096</pentabarf:event-id>
+ <pentabarf:event-slug>code_deobfuscation_by_optimization</pentabarf:event-slug>
+ <pentabarf:title>Code deobfuscation by optimization</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T124500</dtstart>
+ <dtend>20101227T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Code deobfuscation by optimization</summary>
+ <description>Optimization algorithms present an effective way for removing most obfuscations that are used today. Much of the compiler theory can be applied in removing obfuscations and building fast and reliable deobfuscation systems. By understanding traditional optimization problems and techniques it is possible to develop and customize compiler optimization algorithms for usage in binary deobfuscation/analysis.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4096.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Branko Spasojevic</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4276@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4276</pentabarf:event-id>
+ <pentabarf:event-slug>cognitive_psychology_for_hackers</pentabarf:event-slug>
+ <pentabarf:title>Cognitive Psychology for Hackers</pentabarf:title>
+ <pentabarf:subtitle>Bugs, exploits, and occasional patches</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T140000</dtstart>
+ <dtend>20101229T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Cognitive Psychology for Hackers- Bugs, exploits, and occasional patches</summary>
+ <description>Experience firsthand some of the most interesting, surprising, and perspective-changing findings from cognitive and social neuropsychology. With perceptual illusions, priming, biases, heuristics, and unconscious influences, humans have tons of firmware "bugs". All have exploits; some even have patches.
+
+Learn how to improve your own thinking, use others' bugs to your advantage, and gain new perspective on the unconscious and often illusory processes involved in your perceptions.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4276.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Sai</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4087@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4087</pentabarf:event-id>
+ <pentabarf:event-slug>console_hacking_2010</pentabarf:event-slug>
+ <pentabarf:title>Console Hacking 2010</pentabarf:title>
+ <pentabarf:subtitle>PS3 Epic Fail</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T160000</dtstart>
+ <dtend>20101229T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Console Hacking 2010- PS3 Epic Fail</summary>
+ <description>Over 70 million Wiis, over 40 million Xbox 360s and over 35 million Playstation 3s have been sold in the last few years. That makes over 145 million embedded devices out there and most of them are just used to play games. But what can you do with them if you don't like playing games? You hack them to make them run your own code of course!
+We're going to talk about the various hacks that you can use to gain control of your hardware and make it do what you want it to do.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4087.en.html</url>
+ <location>Saal 1</location>
+ <attendee>bushing</attendee>
+ <attendee>marcan</attendee>
+ <attendee>sven</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4140@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4140</pentabarf:event-id>
+ <pentabarf:event-slug>contemporary_profiling_of_web_users</pentabarf:event-slug>
+ <pentabarf:title>Contemporary Profiling of Web Users</pentabarf:title>
+ <pentabarf:subtitle>On Using Anonymizers and Still Get Fucked</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T140000</dtstart>
+ <dtend>20101227T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Contemporary Profiling of Web Users- On Using Anonymizers and Still Get Fucked</summary>
+ <description>This talk will provide a summary of recently discovered methods which allow to break the Internet's privacy and anonymity.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4140.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Dominik Herrmann</attendee>
+ <attendee>lexi</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4103@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4103</pentabarf:event-id>
+ <pentabarf:event-slug>copyright_enforcement_versus_freedoms</pentabarf:event-slug>
+ <pentabarf:title>Copyright Enforcement Vs. Freedoms</pentabarf:title>
+ <pentabarf:subtitle>ACTA, IPRED3 and other upcoming battles of the crusade against sharing</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T124500</dtstart>
+ <dtend>20101227T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Copyright Enforcement Vs. Freedoms- ACTA, IPRED3 and other upcoming battles of the crusade against sharing</summary>
+ <description>ACTA, upcoming criminal enforcement directive, filtering of content... The entertainment industries go further and further into their crusade against sharing. They not only attack our fundamental freedoms, but also the very essence of the Internet.
+
+This session is a panorama of the current and upcoming battles, campaigns and actions. Everyone can help defeat the motherf#&#167;$ers!</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4103.en.html</url>
+ <location>Saal 1</location>
+ <attendee>J&#233;r&#233;mie Zimmermann</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4003@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4003</pentabarf:event-id>
+ <pentabarf:event-slug>cybernetics_for_the_masses</pentabarf:event-slug>
+ <pentabarf:title>Cybernetics for the Masses</pentabarf:title>
+ <pentabarf:subtitle>implants, sensory extension and silicon - all for you!</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T124500</dtstart>
+ <dtend>20101230T133000</dtend>
+ <duration>00H45M00S</duration>
+ <summary>Cybernetics for the Masses- implants, sensory extension and silicon - all for you!</summary>
+ <description>Lightning talk on biohacking, complete with cyborg speaker, implant demonstrations, and knowledge of how to hack your own perception of electromagnetic radiation for approximately thirty Euros.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4003.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Lepht Anonym</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4067@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4067</pentabarf:event-id>
+ <pentabarf:event-slug>data_analysis_in_terabit_ethernet_traffic</pentabarf:event-slug>
+ <pentabarf:title>Data Analysis in Terabit Ethernet Traffic</pentabarf:title>
+ <pentabarf:subtitle>Solutions for monitoring and lawful interception within a lot of bits</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T140000</dtstart>
+ <dtend>20101230T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Data Analysis in Terabit Ethernet Traffic- Solutions for monitoring and lawful interception within a lot of bits</summary>
+ <description>Network traffic grows faster than monitoring and analysis tools can handle. During the last two years a couple of appliances hit the market which help in finding the &#8220;bits of interest&#8221;. Recently installed strategies and solutions for carriers, banks or lawful interception organizations will be discussed as examples.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4067.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Lars Weiler</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4231@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4231</pentabarf:event-id>
+ <pentabarf:event-slug>datenrettung_fun_with_hard_drives</pentabarf:event-slug>
+ <pentabarf:title>Data Recovery Techniques</pentabarf:title>
+ <pentabarf:subtitle>Fun with Hard Drives</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T214500</dtstart>
+ <dtend>20101228T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Data Recovery Techniques- Fun with Hard Drives</summary>
+ <description>Data recovery has always been an area of myths. This lecture will lift some of their covers.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4231.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Peter Franck</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4190@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4190</pentabarf:event-id>
+ <pentabarf:event-slug>data_retention_in_the_eu</pentabarf:event-slug>
+ <pentabarf:title>Data Retention in the EU five years after the Directive</pentabarf:title>
+ <pentabarf:subtitle>Why the time is now to get active</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T203000</dtstart>
+ <dtend>20101227T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Data Retention in the EU five years after the Directive- Why the time is now to get active</summary>
+ <description>2011 will again be a crucial year in the battle against data retention and blanket surveillance. The EU Commission is planning to publish its review of the directive in December (right in time before 27C3), and the lobbying and PR battle has already begun. In six months from now, we will see the legislative proposal from the EU commission for the revision of data retention.
+
+The talk will give a full picture of the legal state of play, what is going on in Brussels, what is already being done and of course where you can help. The speakers are closely involved in the process on the European and national level.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4190.en.html</url>
+ <location>Saal 1</location>
+ <attendee>axel</attendee>
+ <attendee>Katarzyna Szymielewicz</attendee>
+ <attendee>Patrick Breyer</attendee>
+ <attendee>Ralf Bendrath</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4123@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4123</pentabarf:event-id>
+ <pentabarf:event-slug>defense_is_not_dead</pentabarf:event-slug>
+ <pentabarf:title>Defense is not dead</pentabarf:title>
+ <pentabarf:subtitle>Why we will have more secure computers - tomorrow</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T183000</dtstart>
+ <dtend>20101228T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Defense is not dead- Why we will have more secure computers - tomorrow</summary>
+ <description>The security model of our current computer architectures - kernel in ring 0, processes in ring 3 - goes back to the early 70s. However, science hasn't stopped.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4123.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Andreas Bogk</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4017@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4017</pentabarf:event-id>
+ <pentabarf:event-slug>desktop_on_the_linux</pentabarf:event-slug>
+ <pentabarf:title>Desktop on the Linux... (and BSD, of course)</pentabarf:title>
+ <pentabarf:subtitle>you're doing it confused? weird? strange? wrong?</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T203000</dtstart>
+ <dtend>20101227T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Desktop on the Linux... (and BSD, of course)- you're doing it confused? weird? strange? wrong?</summary>
+ <description>Time to take a look back and under the hood of the current state of FOSS based desktops: The Good, The Bad and The Ugly &#8211; Bloat, strange APIs, too much complexity.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4017.en.html</url>
+ <location>Saal 2</location>
+ <attendee>datenwolf</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4297@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4297</pentabarf:event-id>
+ <pentabarf:event-slug>die_gesamte_technik_ist_sicher</pentabarf:event-slug>
+ <pentabarf:title>"Die gesamte Technik ist sicher"</pentabarf:title>
+ <pentabarf:subtitle>Besitz und Wissen: Relay-Angriffe auf den neuen Personalausweis</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T214500</dtstart>
+ <dtend>20101227T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>"Die gesamte Technik ist sicher"- Besitz und Wissen: Relay-Angriffe auf den neuen Personalausweis</summary>
+ <description>F&#252;r den neuen elektronischen Personalausweis sind drei verschiedene Leseger&#228;teklassen spezifiziert, von denen die einfachste bereits einige Kritik erfahren hat. Nach der Diskussion um die Sicherheit des Personalausweises stellt sich die Frage: K&#246;nnen zertifizierte Leseger&#228;te den neuen Ausweis sch&#252;tzen?</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4297.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Dominik Oepen</attendee>
+ <attendee>Frank Morgner</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4085@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4085</pentabarf:event-id>
+ <pentabarf:event-slug>digitale_spaltung_per_gesetz</pentabarf:event-slug>
+ <pentabarf:title>Digitale Spaltung per Gesetz</pentabarf:title>
+ <pentabarf:subtitle>Das Internet und geschaffene soziale Ungleichheit im Alltag von Erwerbslosen</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T203000</dtstart>
+ <dtend>20101229T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Digitale Spaltung per Gesetz- Das Internet und geschaffene soziale Ungleichheit im Alltag von Erwerbslosen</summary>
+ <description>Hartz IV-Empfangende brauchen keine internetf&#228;higen Computer, weil sie Fernseher haben. Dieser Ansicht sind deutsche Sozialgerichte und forcieren damit eine digitale Spaltung per Gesetz. Im Zeitalter der digitalen Informations- und Kommunikationsgesellschaft mutet dieser Umstand absurd an, aber eine breite &#246;ffentlichkeitswirksame Debatte steht bisher aus.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4085.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Betje Schwarz</attendee>
+ <attendee>Doris Gerbig</attendee>
+ <attendee>Kathrin Englert</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4203@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4203</pentabarf:event-id>
+ <pentabarf:event-slug>distributed_fpga_number_crunching_for_the_masses</pentabarf:event-slug>
+ <pentabarf:title>Distributed FPGA Number Crunching For The Masses</pentabarf:title>
+ <pentabarf:subtitle>How we obtained the equivalent power of a Deep Crack for a fistful of dollars - and how the community can benefit from this</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T113000</dtstart>
+ <dtend>20101228T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Distributed FPGA Number Crunching For The Masses- How we obtained the equivalent power of a Deep Crack for a fistful of dollars - and how the community can benefit from this</summary>
+ <description>In 1998, the EFF built "Deep Crack", a machine designed to perform a walk over DES's 56-bit keyspace in nine days, for $250.000. With today's FPGA technology, a cost decrease of 25x can be achieved, as the copacobana project has shown. If that's still too much, two approaches should be considered: Recycling hardware and distributed computing. This talk will be about combining both approaches for the greater good.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4203.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Felix Domke</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4006@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4006</pentabarf:event-id>
+ <pentabarf:event-slug>diy_synthesizers_and_sound_generators</pentabarf:event-slug>
+ <pentabarf:title>DIY synthesizers and sound generators</pentabarf:title>
+ <pentabarf:subtitle>Where does the sound come from?</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T160000</dtstart>
+ <dtend>20101229T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>DIY synthesizers and sound generators- Where does the sound come from?</summary>
+ <description>At least if you have used all the features of a synthesizer, you probably ask the questions: "How can I modify it? How can I build a synthesizer myself? What features do I personally need?"
+
+This talk covers this topic from a theoretical and technical point of view.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4006.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Sylwester</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4111@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4111</pentabarf:event-id>
+ <pentabarf:event-slug>eins_zwei_drei_alle_sind_dabei</pentabarf:event-slug>
+ <pentabarf:title>Eins, zwei, drei - alle sind dabei</pentabarf:title>
+ <pentabarf:subtitle>Von der Volksz&#228;hlung zum Bundesmelderegister</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T160000</dtstart>
+ <dtend>20101227T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Eins, zwei, drei - alle sind dabei- Von der Volksz&#228;hlung zum Bundesmelderegister</summary>
+ <description>Neben einer kurzen Einf&#252;hrung in die Problematik des Zensus 2011, soll es in dem Vortrag auch &#252;ber die CCC Stellungnahmen f&#252;r mehrere Landetage gehen. Weiterhin geht es auch um die mittlerweile abgewiesene Verfassungsbeschwerde des AK Zensus sowie weitere M&#246;glichkeiten "was zu machen".</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4111.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Oliver "Unicorn" Knapp</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4099@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4099</pentabarf:event-id>
+ <pentabarf:event-slug>file_print_electronics</pentabarf:event-slug>
+ <pentabarf:title>File -&gt; Print -&gt; Electronics</pentabarf:title>
+ <pentabarf:subtitle>A new circuit board printer will liberate you from the Arduino-Industrial Complex</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T113000</dtstart>
+ <dtend>20101228T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>File -&gt; Print -&gt; Electronics- A new circuit board printer will liberate you from the Arduino-Industrial Complex</summary>
+ <description>Are you ready to wake up from the cult of Arduino? Tired of plugging together black-box pre-built modules like a mindless drone, copying and pasting in code you found on Hackaday? You've soldered together your TV-Be-Gone, built your fifth Minty Boost, and your bench is awash with discarded Adafruit packaging and Make magazines. It's time to stop this passive consumption. It's time to create something that is truly yours. It's time, my friend, to design your first circuit board. And you'll need a machine to print it.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4099.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Jeff Gough</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4070@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4070</pentabarf:event-id>
+ <pentabarf:event-slug>fnord_jahresrueckblick_2010</pentabarf:event-slug>
+ <pentabarf:title>Fnord-Jahresr&#252;ckblick 2010</pentabarf:title>
+ <pentabarf:subtitle>von Atomausstieg bis Zwangsintegration</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T214500</dtstart>
+ <dtend>20101229T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Fnord-Jahresr&#252;ckblick 2010- von Atomausstieg bis Zwangsintegration</summary>
+ <description>Auch dieses Jahr werden wir uns wieder bem&#252;hen, Euch mit einem R&#252;ckblick auf die Fnords des Jahres zu unterhalten.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4070.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Felix von Leitner</attendee>
+ <attendee>Frank Rieger</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4334@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4334</pentabarf:event-id>
+ <pentabarf:event-slug>fnord_jahresrueckblick_2010_translation</pentabarf:event-slug>
+ <pentabarf:title>Fnord-Jahresr&#252;ckblick 2010 (english translation)</pentabarf:title>
+ <pentabarf:subtitle>von Atomausstieg bis Zwangsintegration</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T214500</dtstart>
+ <dtend>20101229T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Fnord-Jahresr&#252;ckblick 2010 (english translation)- von Atomausstieg bis Zwangsintegration</summary>
+ <description>Auch dieses Jahr werden wir uns wieder bem&#252;hen, Euch mit einem R&#252;ckblick auf die Fnords des Jahres zu unterhalten.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4334.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Felix von Leitner</attendee>
+ <attendee>Frank Rieger</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4164@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4164</pentabarf:event-id>
+ <pentabarf:event-slug>friede_sei_mit_euren_daten</pentabarf:event-slug>
+ <pentabarf:title>Friede sei mit Euren Daten</pentabarf:title>
+ <pentabarf:subtitle>Ein datenschutzrechtlicher Ausflug in ein kirchliches Parelleluniversum</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T171500</dtstart>
+ <dtend>20101227T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Friede sei mit Euren Daten- Ein datenschutzrechtlicher Ausflug in ein kirchliches Parelleluniversum</summary>
+ <description>Bundesdeutscher und kirchlicher Datenschutz f&#252;hren eine Parallelexistenz. W&#228;hrend das Bundesdatenschutzgesetz von der &#214;ffentlichkeit wahrgenommen und kritisch begleitet wird, ist den Wenigsten &#252;berhaupt klar, dass es auch einen vom BDSG losgel&#246;sten Datenschutz innerhalb der Kirchen gibt, der sich in einigen wichtigen Punkten vom staatlichen unterscheidet. Dieser Vortrag soll das Bewusstsein f&#252;r ein Recht wecken, von dem sechzig Prozent der Deutschen betroffen sind &#8211; oft ohne es zu wissen. Praxisbeispiele und Tipps inbegriffen.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4164.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Jochim Selzer</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4175@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4175</pentabarf:event-id>
+ <pentabarf:event-slug>from_robot_to_robot</pentabarf:event-slug>
+ <pentabarf:title>From robot to robot</pentabarf:title>
+ <pentabarf:subtitle>Restoring creativity in school pupils using robotics</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T124500</dtstart>
+ <dtend>20101227T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>From robot to robot- Restoring creativity in school pupils using robotics</summary>
+ <description>Today, hacking is reserved for the microscopic fraction of the population who manage to shake themselves free of the suppressive education regime. Student Robotics is the beginning of the solution. By fostering creativity through competition to solve engineering challenges, we provide the inspiration society desperately needs. We develop an open platform for robotics and provide it to schools to open students' minds to the world of hacking.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4175.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Robert Spanton</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4018@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4018</pentabarf:event-id>
+ <pentabarf:event-slug>frozencache</pentabarf:event-slug>
+ <pentabarf:title>FrozenCache</pentabarf:title>
+ <pentabarf:subtitle>Mitigating cold-boot attacks for Full-Disk-Encryption software</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T230000</dtstart>
+ <dtend>20101230T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>FrozenCache- Mitigating cold-boot attacks for Full-Disk-Encryption software</summary>
+ <description>Cold boot attacks are a major risk for the protection that Full-Disk-Encryption solutions provide. FrozenCache is a general-purpose solution to this attack for x86 based systems that employs a special CPU cache mode known as "Cache-as-RAM". Switching the CPU cache into a special mode forces data to held exclusively in the CPU cache and not to be written to the backing RAM locations, thus safeguarding data from being obtained from RAM by means of cold boot attacks.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4018.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Juergen Pabel</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4141@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4141</pentabarf:event-id>
+ <pentabarf:event-slug>hacker_jeopardy</pentabarf:event-slug>
+ <pentabarf:title>Hacker Jeopardy</pentabarf:title>
+ <pentabarf:subtitle>Number guessing for geeks</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T230000</dtstart>
+ <dtend>20101230T010000</dtend>
+ <duration>02H00M00S</duration>
+ <summary>Hacker Jeopardy- Number guessing for geeks</summary>
+ <description>The Hacker Jeopardy is a quiz show.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4141.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Ray</attendee>
+ <attendee>Stefan 'Sec' Zehl</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4333@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4333</pentabarf:event-id>
+ <pentabarf:event-slug>hacker_jeopardy_translation</pentabarf:event-slug>
+ <pentabarf:title>Hacker Jeopardy (english translation)</pentabarf:title>
+ <pentabarf:subtitle>Number guessing for geeks</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T230000</dtstart>
+ <dtend>20101230T010000</dtend>
+ <duration>02H00M00S</duration>
+ <summary>Hacker Jeopardy (english translation)- Number guessing for geeks</summary>
+ <description>The Hacker Jeopardy is a quiz show.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4333.en.html</url>
+ <location>Saal 2</location>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>3983@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>3983</pentabarf:event-id>
+ <pentabarf:event-slug>hackers_and_computer_science</pentabarf:event-slug>
+ <pentabarf:title>Hackers and Computer Science</pentabarf:title>
+ <pentabarf:subtitle>What hacker research taught me</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T134500</dtstart>
+ <dtend>20101230T141500</dtend>
+ <duration>00H30M00S</duration>
+ <summary>Hackers and Computer Science- What hacker research taught me</summary>
+ <description>Although most academics and industry practitioners regard "hacking" as mostly ad-hoc, a loose collection of useful tricks essentially random in nature, I will argue that hacking has in fact become a "distinct research and engineering discipline" with deep underlying engineering ideas and insights. Although not yet formally defined as such, it are these ideas and insights that drive the great contributions that hacking has been making to our understanding of computing, including the challenges of handling complexity, composition, and security in complex systems. I will argue that hacking uncovers and helps to understand (and teach) fundamental issues that go to the heart of Computer Science as we know it, and will try to formulate several such fundamental principles which I have learned from hacker research.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/3983.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Sergey</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4176@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4176</pentabarf:event-id>
+ <pentabarf:event-slug>hacking_ibuttons</pentabarf:event-slug>
+ <pentabarf:title>Hacking iButtons</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T203000</dtstart>
+ <dtend>20101227T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Hacking iButtons</summary>
+ <description></description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4176.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Christian Brandt</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4265@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4265</pentabarf:event-id>
+ <pentabarf:event-slug>hacking_smart_phones</pentabarf:event-slug>
+ <pentabarf:title>hacking smart phones</pentabarf:title>
+ <pentabarf:subtitle>expanding the attack surface and then some</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T183000</dtstart>
+ <dtend>20101227T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>hacking smart phones- expanding the attack surface and then some</summary>
+ <description>There's been a fair bit written and presented about smartphone's, and yet, when it comes to the attack surface of the operating systems running on them, and the applications running on top of those, much still has to be explorer. This talk will dive a bit deeper into that attack surface.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4265.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Ilja van Sprundel</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4193@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4193</pentabarf:event-id>
+ <pentabarf:event-slug>having_fun_with_rtp</pentabarf:event-slug>
+ <pentabarf:title>Having fun with RTP</pentabarf:title>
+ <pentabarf:subtitle>&#8222;Who is speaking???&#8220; </pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T171500</dtstart>
+ <dtend>20101230T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Having fun with RTP- &#8222;Who is speaking???&#8220; </summary>
+ <description>A lot of people are interested and involved in voice over IP security. Most of the effort is concentrated on the security of the signalling protocols. This talk is focussing on the security of the voice part involved in todays voice over IP world. It is the result of the questions that I had to ask myself while i was debugging audio quality problems of customers and implementing a RTP stack from scratch.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4193.en.html</url>
+ <location>Saal 3</location>
+ <attendee>kapejod</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4295@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4295</pentabarf:event-id>
+ <pentabarf:event-slug>high_speed_high_security_cryptography</pentabarf:event-slug>
+ <pentabarf:title>High-speed high-security cryptography: encrypting and authenticating the whole Internet</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T203000</dtstart>
+ <dtend>20101228T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>High-speed high-security cryptography: encrypting and authenticating the whole Internet</summary>
+ <description>Are you writing a program that sends data through the Internet? Are you sending the data through HTTP, or SMTP, or simply TCP, leaving it vulnerable to espionage, corruption, and sabotage by anyone who owns a machine connected to the same network?
+
+You can use SSH and IPsec to protect communication with your own machines, but how do you talk to the rest of the Internet? You can use TCPcrypt to protect yourself against attackers too lazy to forge packets, but how do you protect yourself against serious attackers? You can use HTTPS for low-frequency communication, but how do you handle heavy network traffic, and how do you protect yourself against the security flaws in HTTPS? Today's Internet cryptography is slow, untrustworthy, hard to use, and remarkably unsuccessful as a competitor to good old unprotected TCP.
+
+This talk will present a different approach to high-security Internet cryptography. This approach is easy for users, easy for system administrators, and, perhaps most importantly, easy for programmers. The main reason that the approach has not been tried before is that it seems to involve very slow cryptographic operations; this talk will show that the approach is extremely fast when it is done right.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4295.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Daniel J. Bernstein</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4301@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4301</pentabarf:event-id>
+ <pentabarf:event-slug>flow_analysis_of_internet_activities</pentabarf:event-slug>
+ <pentabarf:title>How the Internet sees you</pentabarf:title>
+ <pentabarf:subtitle>demonstrating what activities most ISPs see you doing on the Internet</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T160000</dtstart>
+ <dtend>20101230T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>How the Internet sees you- demonstrating what activities most ISPs see you doing on the Internet</summary>
+ <description>On the Internet one tends to think that one is pretty much safe from poking eyes. Taps in most countries can only be established after a judge has issued a warrant, thus upto such a tap is succesfully deployed one might think one is pretty much in the clear.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4301.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Jeroen Massar</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4089@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4089</pentabarf:event-id>
+ <pentabarf:event-slug>ich_sehe_nicht_dass_wir_nicht_zustimmen_werden</pentabarf:event-slug>
+ <pentabarf:title>Ich sehe nicht, dass wir nicht zustimmen werden</pentabarf:title>
+ <pentabarf:subtitle>Die Sprache des politischen Verrats und seiner Rechtfertigung</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101230T124500</dtstart>
+ <dtend>20101230T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Ich sehe nicht, dass wir nicht zustimmen werden- Die Sprache des politischen Verrats und seiner Rechtfertigung</summary>
+ <description>Der Vortrag zeigt auf, wie sich Politiker rechtfertigen, wenn sie gegen ihre Argumentation und die &#220;berzeugungen entscheiden oder handeln, f&#252;r die sie stehen. Es ergibt sich dabei eine extreme Zwangslage, denn es ist oft nicht so einfach m&#246;glich, die zuvor vorgebrachten Argumente aufzugeben. Also muss auf Leerformeln, Nebelkerzen, Scheinargumente und spezielle grammatische Mittel zur&#252;ckgegriffen werden, die die Regresspflicht mindern (Konjunktive, doppelte Verneinungen, Modalpartikeln usw.); dabei sind Kunstgriffe n&#246;tig, die &#252;ber die inzwischen hinl&#228;nglich bekannte Leyen-Rhetorik hinausgehen.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4089.en.html</url>
+ <location>Saal 1</location>
+ <attendee>maha/Martin Haase</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4149@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4149</pentabarf:event-id>
+ <pentabarf:event-slug>i_control_your_code</pentabarf:event-slug>
+ <pentabarf:title>I Control Your Code</pentabarf:title>
+ <pentabarf:subtitle>Attack Vectors Through the Eyes of Software-based Fault Isolation</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T140000</dtstart>
+ <dtend>20101228T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>I Control Your Code- Attack Vectors Through the Eyes of Software-based Fault Isolation</summary>
+ <description>Unsafe languages and an arms race for new bugs calls for an additional line of defense in software systems. User-space virtualization uses dynamic instrumentation to detect different attack vectors and protects from the execution of malicious code. An additional advantage of these virtualization systems is that they can be used to analyze different exploits step by step and to extract the exploit code from a running program.
+
+This talk explains the concept of different attack vectors (stack buffer overflows, format string attacks, return to libc attacks, race attacks / TOCTTOU, integer overflows, heap buffer overflows, and code anomalies). For each of these attack vectors we show possible exploits and explain how the virtualization system is able to detect and prevent the exploit.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4149.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Mathias Payer</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4084@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4084</pentabarf:event-id>
+ <pentabarf:event-slug>ignorance_and_peace_narratives_in_cyberspace</pentabarf:event-slug>
+ <pentabarf:title>Ignorance and Peace Narratives in Cyberspace</pentabarf:title>
+ <pentabarf:subtitle>Cloud Computing, Assessment, and Fools like Me.</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T134500</dtstart>
+ <dtend>20101229T141500</dtend>
+ <duration>00H30M00S</duration>
+ <summary>Ignorance and Peace Narratives in Cyberspace- Cloud Computing, Assessment, and Fools like Me.</summary>
+ <description>This paper explores the challenges of being proactive with existing and future data mining possibilities when facing the realities of institutional expectations for assessment and when facing the fact that one&#8217;s own understanding of cyber capabilities is less than ideal. This paper discusses the current assessment cyber resources, trends, and pressures within USA academic institutions and the challenges of reactive/proactive labor in the midst of multiple levels of technological/informational literacies amongst administrators.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4084.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Angela Crow</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4206@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4206</pentabarf:event-id>
+ <pentabarf:event-slug>immi_from_concept_to_reality</pentabarf:event-slug>
+ <pentabarf:title>IMMI, from concept to reality</pentabarf:title>
+ <pentabarf:subtitle>The Icelandic Modern Media Initiative and our need for a well-regulated flow of information</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T171500</dtstart>
+ <dtend>20101229T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>IMMI, from concept to reality- The Icelandic Modern Media Initiative and our need for a well-regulated flow of information</summary>
+ <description>The talk will give an update on the status of the Icelandic Modern Media Initiative. If we put IMMI into the context of the bus Rop talked about in the keynote, then IMMI is the quality rubber for the tires that can ride that road safely. It is part of what our bus should look like, ride like, feel like. The talk will also try to define some more of that bus, and elaborate on what else we need apart from the best rubber we can get.
+
+The talk will hence deal with some of the latest developments in respect to freedom of speech, specifically that of the press, and political pressure being excersized on it, roles and responsibilities, and the role of responsibility.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4206.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Daniel Domscheit-Berg</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4237@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4237</pentabarf:event-id>
+ <pentabarf:event-slug>indect_eu_surveillance_project</pentabarf:event-slug>
+ <pentabarf:title>INDECT - an EU-Surveillance Project</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T183000</dtstart>
+ <dtend>20101229T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>INDECT - an EU-Surveillance Project</summary>
+ <description>INDECT
+
+The acronym stands for Intelligent Information System Supporting Observation, Searching and Detection for Security of Citizens in Urban Environment.
+A total of 17 partners in nine member states are developing an infrastructure for linking existing surveillance technologies to form one mighty instrument for controlling the people. They are laying the foundation of a European police state, since INDECT's results serve to increase the effectiveness of police operation on the national and European level.
+INDECT is funded under the European Commission's Seventh Framework Programme (FP7), the security-related research of which provides &#8364; 1.4 billion Euro for more than 60 partly interlaced projects.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4237.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Sylvia Johnigk</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4236@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4236</pentabarf:event-id>
+ <pentabarf:event-slug>international_cyber_jurisdiction</pentabarf:event-slug>
+ <pentabarf:title>International Cyber Jurisdiction</pentabarf:title>
+ <pentabarf:subtitle>Kill Switching&#8221; Cyberspace, Cyber Criminal Prosecution &amp; Jurisdiction Hopping</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T160000</dtstart>
+ <dtend>20101230T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>International Cyber Jurisdiction- Kill Switching&#8221; Cyberspace, Cyber Criminal Prosecution &amp; Jurisdiction Hopping</summary>
+ <description>Concepts of sovereignty, freedom, privacy and intellectual property become amorphous when discussing territories that only exists as far as the Internet connects. International cyber jurisdiction is supported by a complicated web of international law and treaties. Jurisdiction hopping, a technique that is becoming popular for controversial content, is one we have used for the U.S. 1st Amendment censorship-resistant and non-profit hosting company, Project DOD, by using PRQ's services in Sweden. This technique is used to place assets in a diverse, but accessible, web of countries in which that content may be legal in the hosting country, but may have legal complications in the country in which it is accessed. As ownership and protection of property becomes a concept that is difficult to maintain across boundaries that are not easily distinguishable, can the U.S. "kill-switch" parts of the Internet and under what authority can it be done? Similarly, the geographic challenges to international cyber criminal law &#8211; and the feasibility of new sovereign nations &#8211; will be analyzed. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4236.en.html</url>
+ <location>Saal 2</location>
+ <attendee>TiffanyRad</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4121@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4121</pentabarf:event-id>
+ <pentabarf:event-slug>is_the_ssliverse_a_safe_place</pentabarf:event-slug>
+ <pentabarf:title>Is the SSLiverse a safe place?</pentabarf:title>
+ <pentabarf:subtitle>An update on EFF's SSL Observatory project</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T160000</dtstart>
+ <dtend>20101228T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Is the SSLiverse a safe place?- An update on EFF's SSL Observatory project</summary>
+ <description>The EFF SSL Observatory has collected a dataset of all TLS/HTTPS certificates visible on the public web. We discuss this dataset - what we have learned from it, how you can use it, and how intend to offer a live, continually updated version of it.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4121.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Jesse</attendee>
+ <attendee>Peter Eckersley</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4011@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4011</pentabarf:event-id>
+ <pentabarf:event-slug>embedded_reverse_engineering</pentabarf:event-slug>
+ <pentabarf:title>JTAG/Serial/FLASH/PCB Embedded Reverse Engineering Tools and Techniques</pentabarf:title>
+ <pentabarf:subtitle>a dump of simple tools for embedded analysis at many layers</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T140000</dtstart>
+ <dtend>20101227T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>JTAG/Serial/FLASH/PCB Embedded Reverse Engineering Tools and Techniques- a dump of simple tools for embedded analysis at many layers</summary>
+ <description>Bring your target. Will release a slew of simple tools that explore attack surfaces and explain of how to use: jtag/serial scanners, parallel flash dumper, DePCB board routing analysis. So, crossover from software RE and start hacking/improving like its 1996 again. (full documentation and reference at: http://events.ccc.de/congress/2010/wiki/Embedded_Analysis)</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4011.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Nathan Fain</attendee>
+ <attendee>Vadik</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4296@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4296</pentabarf:event-id>
+ <pentabarf:event-slug>lightning_days_d2</pentabarf:event-slug>
+ <pentabarf:title>Lightning Talks - Day 2</pentabarf:title>
+ <pentabarf:subtitle>4 minutes of fame</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T124500</dtstart>
+ <dtend>20101228T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Lightning Talks - Day 2- 4 minutes of fame</summary>
+ <description>4 minutes for every speaker. Learn about the good, the bad, and the ugly - in software, hardware, projects, and more.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4296.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Nick Farr</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4239@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4239</pentabarf:event-id>
+ <pentabarf:event-slug>lightning_talks_d3</pentabarf:event-slug>
+ <pentabarf:title>Lightning Talks - Day 3</pentabarf:title>
+ <pentabarf:subtitle>where is my community?</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T113000</dtstart>
+ <dtend>20101229T134500</dtend>
+ <duration>02H15M00S</duration>
+ <summary>Lightning Talks - Day 3- where is my community?</summary>
+ <description>4 minutes for every speaker. Learn about the good, the bad, and the ugly - in software, hardware, projects, and more. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4239.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Nick Farr</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4300@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4300</pentabarf:event-id>
+ <pentabarf:event-slug>lightning_talks_d4</pentabarf:event-slug>
+ <pentabarf:title>Lightning Talks - Day 4</pentabarf:title>
+ <pentabarf:subtitle>where is my community?</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T113000</dtstart>
+ <dtend>20101230T134500</dtend>
+ <duration>02H15M00S</duration>
+ <summary>Lightning Talks - Day 4- where is my community?</summary>
+ <description>4 minutes for every speaker. Learn about the good, the bad, and the ugly - in software, hardware, projects, and more.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4300.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Nick Farr</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4195@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4195</pentabarf:event-id>
+ <pentabarf:event-slug>literarischer_abend</pentabarf:event-slug>
+ <pentabarf:title>Literarischer Abend</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101228T171500</dtstart>
+ <dtend>20101228T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Literarischer Abend</summary>
+ <description>Ein literarischer Abend im Quartett.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4195.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Andreas Lehner</attendee>
+ <attendee>Lars</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4073@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4073</pentabarf:event-id>
+ <pentabarf:event-slug>logikschaltungen_ohne_elektronik</pentabarf:event-slug>
+ <pentabarf:title>Logikschaltungen ohne Elektronik</pentabarf:title>
+ <pentabarf:subtitle>logische Schaltungen mit Pneumatik</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101228T143000</dtstart>
+ <dtend>20101228T150000</dtend>
+ <duration>00H30M00S</duration>
+ <summary>Logikschaltungen ohne Elektronik- logische Schaltungen mit Pneumatik</summary>
+ <description>Ein kurzer &#220;berblick &#252;ber mechanische und str&#246;mungstechnische Logikschaltungen und Computer</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4073.en.html</url>
+ <location>Saal 2</location>
+ <attendee>&#196;pex</attendee>
+ <attendee>xif</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4210@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4210</pentabarf:event-id>
+ <pentabarf:event-slug>lying_to_the_neighbours</pentabarf:event-slug>
+ <pentabarf:title>Lying To The Neighbours</pentabarf:title>
+ <pentabarf:subtitle>Nasty effects with tracker-less BitTorrent</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T130000</dtstart>
+ <dtend>20101228T133000</dtend>
+ <duration>00H30M00S</duration>
+ <summary>Lying To The Neighbours- Nasty effects with tracker-less BitTorrent</summary>
+ <description>Distributed Hash Tables implement Routing and Addressability in large P2P networks. In the Kademlia adaption for Bittorrent a peer's address (NodeID) is to be generated randomly, or more appropriate: arbitrarily. Because randomness isn't verifiable, an implementation can advertise itself with popular NodeIDs or even change them on a per-packet basis.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4210.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Astro</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4081@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4081</pentabarf:event-id>
+ <pentabarf:event-slug>netzmedienrecht_lobbyismus_korruption</pentabarf:event-slug>
+ <pentabarf:title>Netzmedienrecht, Lobbyismus und Korruption</pentabarf:title>
+ <pentabarf:subtitle>Wie wirkt die Lobby von Medienkonzernen?</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101228T171500</dtstart>
+ <dtend>20101228T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Netzmedienrecht, Lobbyismus und Korruption- Wie wirkt die Lobby von Medienkonzernen?</summary>
+ <description>Die Mediennutzung, aber auch ihre Verwaltung und Verg&#252;tung, also ihr Management, m&#252;ssen an eine digitale Netzwelt angepasst werden. Wie ist der Stand der juristischen Auseinandersetzung um die Rechte von Urhebern, Verwertern und Nutzern von Medieninhalten? Wie und wo setzen sich starke Wirtschaftsinteressen mit Lobbygruppen durch?</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4081.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Thomas Barth</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4094@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4094</pentabarf:event-id>
+ <pentabarf:event-slug>netzneutralitaet_und_qos</pentabarf:event-slug>
+ <pentabarf:title>Netzneutralit&#228;t und QoS - ein Widerspruch?</pentabarf:title>
+ <pentabarf:subtitle>Fakten auf den Tisch</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T183000</dtstart>
+ <dtend>20101227T200000</dtend>
+ <duration>01H30M00S</duration>
+ <summary>Netzneutralit&#228;t und QoS - ein Widerspruch?- Fakten auf den Tisch</summary>
+ <description>Geht es mit der Netzneutralit&#228;t zu Ende? Was haben wir den Lobbyisten und PR-Leuten der Telekommunikationsunternehmen argumentativ entgegenzusetzen? Was sind die Fakten, was geh&#246;rt ins Reich der Mythen?</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4094.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Andreas Bogk</attendee>
+ <attendee>Falk L&#252;ke</attendee>
+ <attendee>scusi</attendee>
+ <attendee>Uli Blumenthal</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4261@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4261</pentabarf:event-id>
+ <pentabarf:event-slug>key_recovery_attacks_rc4</pentabarf:event-slug>
+ <pentabarf:title>News Key Recovery Attacks on RC4/WEP</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T171500</dtstart>
+ <dtend>20101230T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>News Key Recovery Attacks on RC4/WEP</summary>
+ <description>In this paper, we present several weaknesses in the stream cipher RC4.
+First, we present a technique to automatically reveal linear
+correlations in the PRGA of RC4. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4261.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Martin Vuagnoux</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4142@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4142</pentabarf:event-id>
+ <pentabarf:event-slug>nodejs_as_a_networking_tool</pentabarf:event-slug>
+ <pentabarf:title>Node.js as a networking tool</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T134500</dtstart>
+ <dtend>20101228T141500</dtend>
+ <duration>00H30M00S</duration>
+ <summary>Node.js as a networking tool</summary>
+ <description>Node.js is a library that provides non-blocking I/O for Google's V8 JavaScript engine. This talk explores node's suitability for a diverse range of networking applications.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4142.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Felix Geisend&#246;rfer</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4221@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4221</pentabarf:event-id>
+ <pentabarf:event-slug>omg_wtf_pdf</pentabarf:event-slug>
+ <pentabarf:title>OMG WTF PDF</pentabarf:title>
+ <pentabarf:subtitle>What you didn't know about Acrobat</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T113000</dtstart>
+ <dtend>20101230T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>OMG WTF PDF- What you didn't know about Acrobat</summary>
+ <description>Ambiguities in the PDF specification means that no two PDF parsers will see a file in the same way. This leads to many opportunities for exploit obfuscation.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4221.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Julia Wolf</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4339@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4339</pentabarf:event-id>
+ <pentabarf:event-slug>openleaks</pentabarf:event-slug>
+ <pentabarf:title>OpenLeaks</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T160000</dtstart>
+ <dtend>20101230T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>OpenLeaks</summary>
+ <description></description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4339.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Daniel Domscheit-Berg</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4143@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4143</pentabarf:event-id>
+ <pentabarf:event-slug>parttimescientists</pentabarf:event-slug>
+ <pentabarf:title>Part-Time Scientists</pentabarf:title>
+ <pentabarf:subtitle>One year of Rocket Science!</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T160000</dtstart>
+ <dtend>20101228T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Part-Time Scientists- One year of Rocket Science!</summary>
+ <description>The Part-Time Scientists is an international team of Scientists and Engineers participating in the first private race to the moon, the Google Lunar X-Prize. Our approach to win this competition is quite unique as everyone involved really is a part-time scientist.
+
+In our presentation we will present our latest lunar rover, lander, electronic and communications developments.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4143.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Karsten Becker</attendee>
+ <attendee>Robert Boehme</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4253@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4253</pentabarf:event-id>
+ <pentabarf:event-slug>pentanews_game_show</pentabarf:event-slug>
+ <pentabarf:title>Pentanews Game Show</pentabarf:title>
+ <pentabarf:subtitle>Your opponents will be riddled as well</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T001500</dtstart>
+ <dtend>20101228T011500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Pentanews Game Show- Your opponents will be riddled as well</summary>
+ <description>Out of the news section of the [C3D2](http://www.c3d2.de "CCC Dresden") [radio programme](http://www.pentamedia.org/pentaradio Pentaradio24) we've compiled an entertaining game show, an Internet-based multiplayer "Who becomes millionaire?" challenge. The audience and folks on the peace missions are asked to help the players.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4253.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Alien8</attendee>
+ <attendee>Astro</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4326@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4326</pentabarf:event-id>
+ <pentabarf:event-slug>radio_der_zukunft</pentabarf:event-slug>
+ <pentabarf:title>Radio der Zukunft</pentabarf:title>
+ <pentabarf:subtitle>Was kommt nach dem analogen Radio?</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T140000</dtstart>
+ <dtend>20101229T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Radio der Zukunft- Was kommt nach dem analogen Radio?</summary>
+ <description>Radio &#8211; das ist eine der wenigen elektronischen Medientechnologien, die den Sprung in die digitale &#196;ra noch nicht richtig geschafft hat. W&#228;hrend die Fernsehverbreitung schon fast vollst&#228;ndig per volldigitalen Systemen wie DVB-T stattfindet, bleiben die Radiosender dem guten alten Analog-Funk auf UKW treu. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4326.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Peter Welchering</attendee>
+ <attendee>Ralph M&#252;ller-Schmid</attendee>
+ <attendee>Tim Pritlove</attendee>
+ <attendee>Willi Steul</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>3957@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>3957</pentabarf:event-id>
+ <pentabarf:event-slug>ipv6_insecurities</pentabarf:event-slug>
+ <pentabarf:title>Recent advances in IPv6 insecurities</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T214500</dtstart>
+ <dtend>20101227T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Recent advances in IPv6 insecurities</summary>
+ <description>New protocol features have been proposed and implemented in the last 5 years and ISPs are now slowly starting to deploy IPv6. This talk starts with a brief summary of the issues presented five years ago, and then expands on the new risks.
+Discovered implemention security issues in Windows 7/2008, Linux and Cisco will be shown too. Comes with a GPL'ed toolkit: thc-ipv6</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/3957.en.html</url>
+ <location>Saal 2</location>
+ <attendee>vanHauser</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4036@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4036</pentabarf:event-id>
+ <pentabarf:event-slug>reverse_engineering_a_real_word_rfid_payment_system</pentabarf:event-slug>
+ <pentabarf:title>Reverse Engineering a real-world RFID payment system</pentabarf:title>
+ <pentabarf:subtitle>Corporations enabling citizens to print digital money</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T203000</dtstart>
+ <dtend>20101229T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Reverse Engineering a real-world RFID payment system- Corporations enabling citizens to print digital money</summary>
+ <description>How to reverse engineer the data format of a real-world RFID based debit card system.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4036.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Harald Welte</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4159@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4159</pentabarf:event-id>
+ <pentabarf:event-slug>reverse_engineering_mos_6502</pentabarf:event-slug>
+ <pentabarf:title>Reverse Engineering the MOS 6502 CPU</pentabarf:title>
+ <pentabarf:subtitle>3510 transistors in 60 minutes</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T124500</dtstart>
+ <dtend>20101228T134500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Reverse Engineering the MOS 6502 CPU- 3510 transistors in 60 minutes</summary>
+ <description>The MOS 6502 CPU, which was designed in 1975 and powered systems like the Apple II, the Atari 2600, the Nintendo NES and the Commodore 64 for two decades, has always been subject to intense reverse engineering of its inner workings. Only recently, the Visual6502.org project has converted a hi-res die-shot of the 6502 into a polygon model suitable for visually simulating the original mask at the transistor level. This talk will present the way from a chip package to a digital representation, how to simulate transistors in software, and new insights gained form this research about 6502 internals, like "illegal" opcodes.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4159.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Michael Steil</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4082@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4082</pentabarf:event-id>
+ <pentabarf:event-slug>sap_landscape</pentabarf:event-slug>
+ <pentabarf:title>Rootkits and Trojans on Your SAP Landscape</pentabarf:title>
+ <pentabarf:subtitle>SAP Security and the Enterprise</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T230000</dtstart>
+ <dtend>20101228T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Rootkits and Trojans on Your SAP Landscape- SAP Security and the Enterprise</summary>
+ <description>SAP systems are the heart of many enterprises. Most critical business functions run on SAP Applications and the complexity of these systems makes it very difficult to protect against attackers. Default setups, forgotten/unimplemented security configurations, weak password management and change processes that apply to one &#8216;unimportant&#8217; system can result in complete compromise of the SAP landscape. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4082.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Ertunga Arsal</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>3952@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>3952</pentabarf:event-id>
+ <pentabarf:event-slug>running_your_own_gsm_stack_on_a_phone_osmocombb</pentabarf:event-slug>
+ <pentabarf:title>Running your own GSM stack on a phone</pentabarf:title>
+ <pentabarf:subtitle>Introducing Project OsmocomBB</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T183000</dtstart>
+ <dtend>20101229T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Running your own GSM stack on a phone- Introducing Project OsmocomBB</summary>
+ <description>In recent years, we have seen several Free Software projects implementing the network side of the GSM protocol. In 2010, OsmocomBB was started to create a free software implementation of the telephone-side.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/3952.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Harald Welte</attendee>
+ <attendee>Steve Markgraf</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4183@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4183</pentabarf:event-id>
+ <pentabarf:event-slug>safety_on_open_sea</pentabarf:event-slug>
+ <pentabarf:title>Safety on the Open Sea</pentabarf:title>
+ <pentabarf:subtitle>Safe navigation with the aid of an open sea chart.</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T160000</dtstart>
+ <dtend>20101229T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Safety on the Open Sea- Safe navigation with the aid of an open sea chart.</summary>
+ <description>In maritime shipping accurate positioning is vital to preserve damage to life, ship, and goods. Today, we might tend to think that this problem is sufficiently solved yet because of the existence of electronic positioning systems like, most notably, the Global Positioning System (GPS) or the Russian counterpart GLONASS. This is wrong. Positions in terms of latitude and longitude just make sense together with an accurate sea chart (and of course, together with a navigator that is able to translate charting data into reality).</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4183.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Bernhard Fischer</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4138@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4138</pentabarf:event-id>
+ <pentabarf:event-slug>secure_communications_below_the_hearing_threshold</pentabarf:event-slug>
+ <pentabarf:title>Secure communications below the hearing threshold</pentabarf:title>
+ <pentabarf:subtitle>Improved approaches for auditive steganography</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T230000</dtstart>
+ <dtend>20101229T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Secure communications below the hearing threshold- Improved approaches for auditive steganography</summary>
+ <description>Auditive steganography allows for various usage scenarios. In our project we focused on hidden communications in VoIP and GSM in which voice data is typically compressed and transmitted in realtime. A framework has been developed to meet these requirements, providing interfaces for robust steganographic algorithms.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4138.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Marcus Nutzinger</attendee>
+ <attendee>Rainer Poisel</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4230@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4230</pentabarf:event-id>
+ <pentabarf:event-slug>security_nightmares</pentabarf:event-slug>
+ <pentabarf:title>Security Nightmares</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101230T171500</dtstart>
+ <dtend>20101230T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Security Nightmares</summary>
+ <description>Was hat sich im letzten Jahr im Bereich IT-Sicherheit getan? Welche neuen Entwicklungen haben sich ergeben? Welche neuen Buzzwords und Trends waren zu sehen?</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4230.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Frank Rieger</attendee>
+ <attendee>Ron</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4181@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4181</pentabarf:event-id>
+ <pentabarf:event-slug>sip_home_gateways_under_fire</pentabarf:event-slug>
+ <pentabarf:title>SIP home gateways under fire</pentabarf:title>
+ <pentabarf:subtitle>Source routing attacks applied to SIP</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T143000</dtstart>
+ <dtend>20101229T150000</dtend>
+ <duration>00H30M00S</duration>
+ <summary>SIP home gateways under fire- Source routing attacks applied to SIP</summary>
+ <description>The SIP home gateway -- which combines a NAT router, a SIP proxy, and analogue phone adapters -- is the weakest link in a Voice over IP network. SIP's numerous source routing mechanisms share the well-known security weaknesses of IP source routing. The talk discusses possible exploits and countermeasures.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4181.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Wolfgang Beck</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4060@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4060</pentabarf:event-id>
+ <pentabarf:event-slug>attacking_mobile_phones</pentabarf:event-slug>
+ <pentabarf:title>SMS-o-Death</pentabarf:title>
+ <pentabarf:subtitle>From analyzing to attacking mobile phones on a large scale.</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T171500</dtstart>
+ <dtend>20101227T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>SMS-o-Death- From analyzing to attacking mobile phones on a large scale.</summary>
+ <description>Smart phones, everybody has a smart phone! No! Just about 16% of all mobile phones are smart phones! Feature phones are the most common type of mobile phone in the world. Some time ago we decided to investigate the security of feature phones. In this talk we show how we analyzed feature phones for SMS security issues. We show our results and the kind of attacks that are possible with our bugs.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4060.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Collin Mulliner</attendee>
+ <attendee>Nico Golde</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4125@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4125</pentabarf:event-id>
+ <pentabarf:event-slug>spinning_the_electronic_wheel</pentabarf:event-slug>
+ <pentabarf:title>Spinning the electronic Wheel</pentabarf:title>
+ <pentabarf:subtitle>Still the bicycles for the 21th century</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T230000</dtstart>
+ <dtend>20101228T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Spinning the electronic Wheel- Still the bicycles for the 21th century</summary>
+ <description>Dreieinhalb Jahre nach dem Talk '21st Century digital Bikes' auf dem Camp 2007 ist einiges in der Welt der elektrischen Fortbewegung passiert. Ende 2010 ist ein guter Zeitpunkt, den Stand der Dinge aufzurollen, die Neuigkeiten darzustellen und &#252;ber eine mehr unsch&#228;rfer als klarer werdende Zukunft der elektrischen Mobilit&#228;t zu sprechen.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4125.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Betty</attendee>
+ <attendee>Gismo C.</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4145@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4145</pentabarf:event-id>
+ <pentabarf:event-slug>spoilers_human_interfaces_airplanes</pentabarf:event-slug>
+ <pentabarf:title>"Spoilers, Reverse Green, DECEL!" or "What's it doing now?"</pentabarf:title>
+ <pentabarf:subtitle>Thoughts on the Automation and its Human interfaces on Airplanes</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T203000</dtstart>
+ <dtend>20101228T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>"Spoilers, Reverse Green, DECEL!" or "What's it doing now?"- Thoughts on the Automation and its Human interfaces on Airplanes</summary>
+ <description>Getting the interfaces right to computers controlling complex and dangerous machines such as commercial airliners is crucial. I will present a successful accident analysis method and talk about interface design problems, ideas for solutions, methods for understanding causal control flow. There will be some spectacular aviation accident videos and stories of bad luck, bad design, bad decisions, and a hero that managed to turn a near-catastrophe into an accident without fatalities.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4145.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Bernd Sieker</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4184@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4184</pentabarf:event-id>
+ <pentabarf:event-slug>stanislaw_lem_weltverbesserer</pentabarf:event-slug>
+ <pentabarf:title>Stanislaw Lem - Der entt&#228;uschte Weltverbesserer</pentabarf:title>
+ <pentabarf:subtitle>Ein audiovisuelles Live-Feature</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101229T001500</dtstart>
+ <dtend>20101229T011500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Stanislaw Lem - Der entt&#228;uschte Weltverbesserer- Ein audiovisuelles Live-Feature</summary>
+ <description>Man kennt ihn als einen der wichtigsten Science-Fiction-Autoren des zwanzigsten Jahrhunderts. Aber Lem war mehr als das: Als Philosoph und Wissenschaftler konnte er technische Entwicklungen der Menschheit und ihre Auswirkungen sogar voraussehen. Als solcher pr&#228;gte er viele heute gel&#228;ufige Begriffe f&#252;r technische Errungenschaften, die seinerzeit noch gar nicht existierten. Seine teils utopische, teils humoristische und selbstironische Art zu schreiben, brachte ihm weltweit gro&#223;e Popularit&#228;t ein, seine B&#252;cher erreichten eine Auflage von mehr als 45 Millionen und wurden zum Teil verfilmt.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4184.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Agata Kr&#243;likowski</attendee>
+ <attendee>Constanze Kurz</attendee>
+ <attendee>Ina Kwasniewski</attendee>
+ <attendee>Jens-Martin Loebel</attendee>
+ <attendee>Kai Kittler</attendee>
+ <attendee>Marcus Richter</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4097@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4097</pentabarf:event-id>
+ <pentabarf:event-slug>identifizierung_von_netzwerkprotokollen</pentabarf:event-slug>
+ <pentabarf:title>Techniken zur Identifizierung von Netzwerk-Protokollen</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101228T183000</dtstart>
+ <dtend>20101228T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Techniken zur Identifizierung von Netzwerk-Protokollen</summary>
+ <description>Der Vortrag soll Techniken aufzeigen, mit denen man Netzwerk-Protokolle identifizieren kann, die in Layer 7 des OSI-Modells angesiedelt sind. Alle Techniken - darunter auch die Deep Packet Inspection (DPI) - werden technisch erl&#228;utert und kritisch bewertet.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4097.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Florian Adamsky</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4055@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4055</pentabarf:event-id>
+ <pentabarf:event-slug>terrorists_win_exploiting_telecommunications_data</pentabarf:event-slug>
+ <pentabarf:title>Terrorists Win - Exploiting Telecommunications Data Retention?</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T123000</dtstart>
+ <dtend>20101229T133000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Terrorists Win - Exploiting Telecommunications Data Retention?</summary>
+ <description>Telecommunications data retention (TDR) has become a reality in most
+Western countries. Protagonists claim that the collection of massive
+amounts of data on the communication behavior of all individuals
+within a country would enable law enforcement agencies to exploit
+patterns in the stored data to uncover connections between suspects.
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4055.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Kay Hamacher</attendee>
+ <attendee>Stefan Katzenbeisser</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4090@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4090</pentabarf:event-id>
+ <pentabarf:event-slug>baseband_apocalypse</pentabarf:event-slug>
+ <pentabarf:title>The Baseband Apocalypse</pentabarf:title>
+ <pentabarf:subtitle>all your baseband are belong to us</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T203000</dtstart>
+ <dtend>20101228T213000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>The Baseband Apocalypse- all your baseband are belong to us</summary>
+ <description>Attack scenarios against mobile phones have thus far concentrated on the application processor. The operating systems running on these processors are getting hardened by vendors as can be seen in the case of Apple's iOS -- the current release uses data execution prevention and code signing. In contrast, the GSM stack running on the baseband processor is neglected. The advent of open-source solutions such as OpenBSC and OpenBTS for running GSM base stations is a game-changer: Malicious base stations are not within the attack model assumed by the GSMA and ETSI. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4090.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Ralf-Philipp Weinmann</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4201@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4201</pentabarf:event-id>
+ <pentabarf:event-slug>the_concert_a_disconcerting_moment_for_free_culture</pentabarf:event-slug>
+ <pentabarf:title>"The Concert"</pentabarf:title>
+ <pentabarf:subtitle>a disconcerting moment for free culture</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T183000</dtstart>
+ <dtend>20101228T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>"The Concert"- a disconcerting moment for free culture</summary>
+ <description>Corey Cerovsek and Julien Quentin, accomplished musicians known worldwide for their classical recital performances, and media artist Alex Antener present something that's not quite an ordinary concert, to draw attention to the importance of the public domain in centuries of classical music tradition. It's both more &#8212; and less &#8212; than what you might expect to see and hear at a classical concert.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4201.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Alex Antener</attendee>
+ <attendee>Corey Cerovsek</attendee>
+ <attendee>Julien Quentin</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4174@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4174</pentabarf:event-id>
+ <pentabarf:event-slug>the_hidden_nemesis</pentabarf:event-slug>
+ <pentabarf:title>The Hidden Nemesis</pentabarf:title>
+ <pentabarf:subtitle>Backdooring Embedded Controllers</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T230000</dtstart>
+ <dtend>20101229T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>The Hidden Nemesis- Backdooring Embedded Controllers</summary>
+ <description>Want to persistently backdoor a laptop? Backdooring the BIOS is out of the question since your target can dump and diff it? Planting hardware is out of the question as well? Shhhhhhh.. I have something for you:
+</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4174.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Ralf-Philipp Weinmann</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4263@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4263</pentabarf:event-id>
+ <pentabarf:event-slug>resisting_excessive_government_surveillance</pentabarf:event-slug>
+ <pentabarf:title>The importance of resisting Excessive Government Surveillance</pentabarf:title>
+ <pentabarf:subtitle>Join me in exposing and challenging the constant violations of our right to privacy</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T230000</dtstart>
+ <dtend>20101229T000000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>The importance of resisting Excessive Government Surveillance- Join me in exposing and challenging the constant violations of our right to privacy</summary>
+ <description>My name is Nicholas Merrill and I was the plaintiff in a legal case in the US court system where I challenged the FBI&#8217;s policy of using a feature of the so-called USA PATRIOT act - what are called &#8220;National Security Letters&#8221; - to bypass the American Constitution's system of checks and balances and in violation of the United Nations Universal Declaration of Human Rights - in order to obtain protected personal information and to unmask anonymous Internet users. I spent over 6 years not able to speak to anyone (other than my lawyers) about my case - forced to lie to those closest to me due to an FBI gag order that carried a possible 10 year prison sentence for violating it. However the lawsuit resulted in the establishment of two key legal precedents and made changes that affect every Internet worker and Telephone worker in America. I would like to speak to the 27C3 audience in order to tell about my experience and to challenge (and offer my support and assistance to) those individuals who are in a position to challenge government surveillance requests to follow their consciences and do so.
+
+People who work at Internet Service Providers and Telephone companies as well as IT workers at Universities and private businesses are increasingly likely to encounter government attempts at surveillance. I would like to speak to the CCC regarding my experiences in resisting a National Security Letter and also a &#8220;Grand Jury Subpoena&#8221; as well as my experience of being gagged by the FBI for nearly 7 years - unable to speak on the subject or identify myself as the plaintiff in the NSL lawsuit.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4263.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Nicholas Merrill</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4124@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4124</pentabarf:event-id>
+ <pentabarf:event-slug>three_jobs_that_journalists_will_do_in_2050</pentabarf:event-slug>
+ <pentabarf:title>Three jobs that journalists will do in 2050</pentabarf:title>
+ <pentabarf:subtitle>Why future media may be more powerful (and more subversive) than ever before</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T140000</dtstart>
+ <dtend>20101230T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Three jobs that journalists will do in 2050- Why future media may be more powerful (and more subversive) than ever before</summary>
+ <description>Print media are dying, but what is rising up to take their place? In this presentation, I'll answer that question by describing three new kinds of jobs for journalists that do not exist in mainstream print media. These jobs are: hacker journalist, data-mining reporter, and crowd engineer. I'll be describing what these jobs entail, and current examples of organizations already employing people to do them.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4124.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Annalee Newitz</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4098@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4098</pentabarf:event-id>
+ <pentabarf:event-slug>tor_is_peace_software_freedom_is_slavery</pentabarf:event-slug>
+ <pentabarf:title>Tor is Peace, Software Freedom is Slavery, Wikipedia is Truth</pentabarf:title>
+ <pentabarf:subtitle>The political philosophy of the Internet</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101230T113000</dtstart>
+ <dtend>20101230T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Tor is Peace, Software Freedom is Slavery, Wikipedia is Truth- The political philosophy of the Internet</summary>
+ <description>The Internet began as state-sponsored anarchy, but it is now the tool of first resort for dissidents and propagandists alike. The poster-child project of the Free Software Movement runs on the authority of a single person; the rest clash over the very definition of the word 'free'. A company which pictured itself as smashing Big Brother is now seen as one of the perceived secretive and authoritarian in the industry; and for another, 'Don't Be Evil' is proving to be a challenging motto to live by.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4098.en.html</url>
+ <location>Saal 2</location>
+ <attendee>Adam</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4234@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4234</pentabarf:event-id>
+ <pentabarf:event-slug>usb_and_libusb</pentabarf:event-slug>
+ <pentabarf:title>USB and libusb</pentabarf:title>
+ <pentabarf:subtitle>So much more than a serial port with power</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101227T171500</dtstart>
+ <dtend>20101227T181500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>USB and libusb- So much more than a serial port with power</summary>
+ <description>Learn about the benefits and limitations of Universal Serial Bus, how communication works on the bus, how and why the right (and sometimes wrong?) driver can be loaded automatically by the operating system, and find out the easiest way to add USB to your washing machine, toaster, or other favorite appliance.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4234.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Peter Stuge</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4252@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4252</pentabarf:event-id>
+ <pentabarf:event-slug>von_zensursula_ueber_censilia_zum_kindernet</pentabarf:event-slug>
+ <pentabarf:title>Von Zensursula &#252;ber Censilia hin zum Kindernet</pentabarf:title>
+ <pentabarf:subtitle>Jahresr&#252;ckblick rund um Internet-Sperren, Sendezeitbegrenzungen im Internet und vermeintlichen Jugendschutz</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T140000</dtstart>
+ <dtend>20101227T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Von Zensursula &#252;ber Censilia hin zum Kindernet- Jahresr&#252;ckblick rund um Internet-Sperren, Sendezeitbegrenzungen im Internet und vermeintlichen Jugendschutz</summary>
+ <description>Nach Zensursula kam Censilia und das Kindernet: 2010 brachte nach den hitzigen Diskussionen um Internet-Sperren und das Zugangserschwerungsgesetz einige neue Entwicklungen &#8211; und die Rundfunkkommission der L&#228;nder wollte mal wieder den Jugendschutz im Internet angehen.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4252.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Alvar C. H. Freude</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4185@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4185</pentabarf:event-id>
+ <pentabarf:event-slug>whistleblowing__licht_ins_dunkel</pentabarf:event-slug>
+ <pentabarf:title>Whistleblowing</pentabarf:title>
+ <pentabarf:subtitle>Licht ins Dunkel!</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101227T160000</dtstart>
+ <dtend>20101227T170000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Whistleblowing- Licht ins Dunkel!</summary>
+ <description>Whistleblowing als universelles Konzept f&#252;r mehr Transparenz &#8211; oder: &#252;ber die R&#252;ckeroberung der Dunkelr&#228;ume in Wirtschaft und Politik auch jenseits von Wikileaks.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4185.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Johannes Ludwig</attendee>
+ <attendee>Whistleblower-Netzwerk</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4208@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4208</pentabarf:event-id>
+ <pentabarf:event-slug>wideband_gsm_sniffing</pentabarf:event-slug>
+ <pentabarf:title>Wideband GSM Sniffing</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101228T140000</dtstart>
+ <dtend>20101228T150000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Wideband GSM Sniffing</summary>
+ <description>GSM is still the most widely used security technology in the world with a user base of 5 billion and a quickly growing number of critical applications. 26C3's rainbow table attack on GSM's A5/1 encryption convinced many users that GSM calls should be considered unprotected. The network operators, however, have not woken up to the threat yet. Perhaps the new capabilities to be unleashed this year &#8211; like wide-band sniffing and real-time signal processing &#8211; will wake them up.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4208.en.html</url>
+ <location>Saal 1</location>
+ <attendee>Karsten Nohl</attendee>
+ <attendee>Sylvain Munaut</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4338@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4338</pentabarf:event-id>
+ <pentabarf:event-slug>wikileaks_und_mehr</pentabarf:event-slug>
+ <pentabarf:title>Wikileaks und mehr</pentabarf:title>
+ <pentabarf:subtitle>Eine Whistleblowerperspektive auf Leaking-Plattformen</pentabarf:subtitle>
+ <pentabarf:language>German</pentabarf:language>
+ <pentabarf:language-code>de</pentabarf:language-code>
+ <dtstart>20101228T113000</dtstart>
+ <dtend>20101228T123000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Wikileaks und mehr- Eine Whistleblowerperspektive auf Leaking-Plattformen</summary>
+ <description>Als kurzfristiger Ersatz f&#252;r eine ausgefallenen Vortrag wurde die Entwicklung von Wikileaks kurz nachgezeichnet, bis hin zu den derzeit entstehenden weiteren Leaking-Plattformen. Im Mittelpunkt stand die Frage welchen Nutzen Wikileaks &amp; Co. f&#252;r Whistleblower bieten, welche Voraussetzungen f&#252;r ihre anonyme Nutzung bestehen und wie die Entwicklung weitergehen wird.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4338.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Guido Strack</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4187@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4187</pentabarf:event-id>
+ <pentabarf:event-slug>your_infrastructure_will_kill_you</pentabarf:event-slug>
+ <pentabarf:title>Your Infrastructure Will Kill You</pentabarf:title>
+ <pentabarf:subtitle></pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T183000</dtstart>
+ <dtend>20101229T193000</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Your Infrastructure Will Kill You</summary>
+ <description>The past century our infrastructure has seen both massive expansion and heavy centralization. When it fails, it fails big -- this is the reality of our modern interconnectedness. We live in a world of crumbling bridges and bankrupt states, and our infrastructure will kill us. The people we&#8217;re relying on to keep us safe are trying to accomplish long-term risk management with short-term thinking. So, what now? We can't opt out, but we can become more resilient, and we can start thinking about risk differently.</description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4187.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Eleanor Saitta</attendee>
+</vevent>
+<vevent>
+ <method>PUBLISH</method>
+ <uid>4209@27C3@pentabarf.org</uid>
+ <pentabarf:event-id>4209</pentabarf:event-id>
+ <pentabarf:event-slug>zero_sized_heap_allocations_vulnerability_analysis</pentabarf:event-slug>
+ <pentabarf:title>Zero-sized heap allocations vulnerability analysis</pentabarf:title>
+ <pentabarf:subtitle>Applications of theorem proving for securing the windows kernel</pentabarf:subtitle>
+ <pentabarf:language>English</pentabarf:language>
+ <pentabarf:language-code>en</pentabarf:language-code>
+ <dtstart>20101229T214500</dtstart>
+ <dtend>20101229T224500</dtend>
+ <duration>01H00M00S</duration>
+ <summary>Zero-sized heap allocations vulnerability analysis- Applications of theorem proving for securing the windows kernel</summary>
+ <description>The dynamic memory allocator is a fundamental component of modern operating systems, and one of the most important sources of security vulnerabilities. In this presentation, we emphasize on a particular weakness of the heap management that has proven to be the root cause of many escalation of privilege bugs in the windows kernel and other critical remote vulnerabilities in user-land applications. </description>
+ <class>PUBLIC</class>
+ <status>CONFIRMED</status>
+ <category>Lecture</category>
+ <url>http://events.ccc.de/congress/2010/Fahrplan/events/4209.en.html</url>
+ <location>Saal 3</location>
+ <attendee>Julien Vanegue</attendee>
+</vevent>
+ </vcalendar>
+</iCalendar>
diff --git a/includes/UserCVS.php b/includes/UserCVS.php
deleted file mode 100755
index 9210e446..00000000
--- a/includes/UserCVS.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-if( !isset($_SESSION['UID']))
- $_SESSION['UID'] = -1;
-
-// CVS import Data
-$SQL_CVS = "SELECT * FROM `UserCVS` WHERE UID=".$_SESSION['UID'];
-$Erg_CVS = mysql_query($SQL_CVS, $con);
-$_SESSION['CVS'] = mysql_fetch_array($Erg_CVS);
-
-
-// Group import Data, if nesseary
-if( isset( $_SESSION['CVS'][ "GroupID" ]))
-{
- $SQL_GRP = "SELECT * FROM `UserCVS` WHERE UID=".$_SESSION['CVS'][ "GroupID" ];
- $Erg_GRP = mysql_query($SQL_GRP, $con);
- $_SESSION['CVS_Group'] = mysql_fetch_array($Erg_GRP);
-
- foreach( $_SESSION['CVS'] as $k => $v)
- {
- if($v=="G") // Right == Group
- $_SESSION['CVS'][$k] = $_SESSION['CVS_Group'][$k];
- }
-}
-
-//pagename ermitteln
-$Page["Name"] = substr( $_SERVER['PHP_SELF'], strlen($ENGEL_ROOT) );
-
-//recht für diese seite auslesen
-if( isset( $_SESSION['CVS'][ $Page["Name"] ]))
- $Page["CVS"] = $_SESSION['CVS'][ $Page["Name"] ];
-else
-{
- echo "SYSTEM ERROR: now right for ". $Page["Name"]. "exist";
- die;
-}
-
-if( $DEBUG )
-{
-// foreach( $_SESSION as $k => $v)
-// echo "$k = $v<br>\n";
- echo "<pre>\$_SESSION:\n";
- print_r($_SESSION);
- echo "</pre>";
-
- if( strlen($Page["CVS"]) == 0 )
- echo "<h1><u> CVS ERROR, on page '". $Page["Name"]. "'</u></h1>";
- else
- echo "CVS: ". $Page["Name"]. " => '". $Page["CVS"]. "'<br>";
-
-}
-
-function funktion_isLinkAllowed( $PageName)
-{
- global $_SESSION;
-
- // separate page parameter
- $ParameterPos = strpos( $PageName, ".php?");
- if( $ParameterPos === FALSE)
- {
- $pName = $PageName;
- }
- else
- {
- $pName = substr( $PageName, 0, $ParameterPos + 4);
- }
-
- // check rights
- if( (isset( $_SESSION['CVS'][ $pName ]) === TRUE) &&
- ($_SESSION['CVS'][ $pName ] == "Y") )
- {
- return TRUE;
- }
-
- return FALSE;
-}
-
-function funktion_isLinkAllowed_addLink_OrLinkText( $PageName, $LinkText)
-{
- global $url, $ENGEL_ROOT;
-
- if( funktion_isLinkAllowed( $PageName) === TRUE)
- {
- return "<a href=\"". $url. $ENGEL_ROOT. $PageName. "\">". $LinkText. "</a>";
- }
-
- return $LinkText;
-}
-
-function funktion_isLinkAllowed_addLink_OrEmpty( $PageName, $LinkText)
-{
- global $url, $ENGEL_ROOT;
-
- if( funktion_isLinkAllowed( $PageName) === TRUE)
- {
- return "<a href=\"". $url. $ENGEL_ROOT. $PageName. "\">". $LinkText. "</a>";
- }
-
- return "";
-}
-
-?>
diff --git a/includes/config_MessegeServer.php b/includes/config_MessegeServer.php
deleted file mode 100644
index 3454ae0c..00000000
--- a/includes/config_MessegeServer.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?
-// Set the ip and port we will listen on
-define( SERVER_ADDRESS, "127.0.0.1" );
-define( SERVER_PORT, 9000 );
-
-define( DEBUG, TRUE);
-
-?>
diff --git a/includes/config_modem.php b/includes/config_modem.php
deleted file mode 100644
index 0625936d..00000000
--- a/includes/config_modem.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?PHP
-
-//ist ein modem angeschlossen
-$ModemEnable = false;
-
-// COM port
-$ModemDev="/dev/ttyS0";
-
-// vorwahl, bei tnovis telefonanlage für das programmieren von weckrufen
-$WackupNumber="**3";
-?>
diff --git a/includes/crypt.php b/includes/crypt.php
deleted file mode 100755
index 9707e719..00000000
--- a/includes/crypt.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-
-function PassCrypt($passwort) {
-include "config.php";
-
-switch ($crypt_system) {
- case "crypt":
- return "{crypt}".crypt($passwort, "77");
- case "md5":
- return md5($passwort);
- }
-
-}
-
-
-
-?>
diff --git a/includes/error_handler.php b/includes/error_handler.php
index 10f27d58..42e561fc 100755..100644
--- a/includes/error_handler.php
+++ b/includes/error_handler.php
@@ -1,88 +1,86 @@
<?php
-
- require_once("funktion_jabber.php");
+ require_once "funktion_jabber.php";
// global array for collected error_messages
$error_messages = array();
// general error handler collecting all messages in an array
- function Error_Handler($error_number, $error_string, $error_file, $error_line, $error_context)
- {
+ function Error_Handler($error_number, $error_string, $error_file, $error_line, $error_context) {
global $error_messages, $con;
- //SQL error genauer analysiert
+ // SQL error genauer analysiert
$Temp = "";
- foreach ($error_context as $k => $v )
- if( (strpos( "0$k", "sql") > 0) || (strpos( "0$k", "SQL") > 0))
- $Temp .= "Error Context: $k = $v\n";
-
- if( (strpos( "0$error_string", "MySQL") > 0) )
- $Temp .= "Error MySQL: ". mysql_error($con). "\n";
-
- //übergeben des arrays
- array_push( $error_messages, "Error Number: $error_number\n".
- "Error String: $error_string\n".
- "Error File: $error_file\n".
- "Error Line: $error_line\n".
- (strlen($Temp)? "$Temp": "")
- );
+ foreach ($error_context as $k => $v)
+ if((strpos( "0$k", "sql") > 0) || (strpos( "0$k", "SQL") > 0))
+ $Temp .= "Error Context: $k = $v\n";
+
+ if((strpos( "0$error_string", "MySQL") > 0))
+ $Temp .= "Error MySQL: ". mysql_error($con). "\n";
+
+ // Uebergeben des arrays
+ array_push($error_messages, "Error Number: " . $error_number . "\n".
+ "Error String: " . $error_string . "\n".
+ "Error File: " . $error_file . "\n".
+ "Error Line: " . $error_line . "\n".
+ (strlen($Temp)? "$Temp": ""));
}
// register error handler
set_error_handler("Error_Handler");
- ini_set( "error_reporting", E_ALL);
- if( $DEBUG)
- {
- ini_set( "display_errors", "On");
- ini_set( "display_startup_errors", "On");
- ini_set( "html_errors", "On");
+ error_reporting(E_ALL);
+
+ if($debug) {
+ ini_set("display_errors", "On");
+ ini_set("display_startup_errors", "On");
+ ini_set("html_errors", "On");
}
// send errors
- function send_errors()
- {
+ function send_errors() {
global $error_messages;
- if (!$error_messages) return;
-
+ if(!$error_messages)
+ return;
+
$message = "";
foreach($error_messages as $value)
$message .= $value."\n";
+
$message .= "\n";
-
- if( isset( $_POST))
- {
- foreach ($_POST as $k => $v )
+
+ if(isset($_POST)) {
+ foreach ($_POST as $k => $v)
$message .= "_POST: $k = ". ( $k!="password"? $v : "???..."). "\n";
+
$message .= "\n";
}
-
- if( isset( $_GET))
- {
- foreach ($_GET as $k => $v )
- $message .= "_GET: $k = $v\n";
+
+ if(isset($_GET)) {
+ foreach ($_GET as $k => $v)
+ $message .= "_GET: $k = $v\n";
+
$message .= "\n";
}
-
+
$message .= "\n\n";
if( isset( $_SESSION))
{
- foreach ($_SESSION as $k => $v )
+ foreach ($_SESSION as $k => $v )
$message .= "_SESSION: $k = $v\n";
$message .= "\n";
}
if( isset( $_SESSION['CVS']))
{
- foreach ($_SESSION['CVS'] as $k => $v )
+ foreach ($_SESSION['CVS'] as $k => $v )
if( strlen($k)>3 )
$message .= "_SESSION['CVS']: $k = $v\n";
$message .= "\n";
}
-
- foreach ($_SERVER as $k => $v )
+
+ foreach ($_SERVER as $k => $v )
if( strpos( "0$k", "SERVER_")==0)
$message .= "_SERVER: $k = $v\n";
@@ -102,7 +100,7 @@
function send_message(&$message)
{
chdir(dirname(__FILE__));
- require_once('./config_jabber.php');
+ require_once('../config/config_jabber.php');
if (isset($jabber_recipient) && count($jabber_recipient)) {
$jabber = new Jabber($server, $port, $username, $password, $resource);
diff --git a/includes/footer.php b/includes/footer.php
deleted file mode 100755
index f65e8a7e..00000000
--- a/includes/footer.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?PHP
-
-?>
-
-
-
-<!-- anfang des footers //-->
-
-
-
-
- <br>
- <p align="center">
- <?PHP If (IsSet($_SESSION['oldurl']))
- echo "<a href=\"". $_SESSION["oldurl"]. "\">".Get_Text("back")."</a>&nbsp;";
- ?>
- <a href="#top"><?PHP echo Get_Text("top"); ?></a>
- </p>
- </td>
- </tr>
-</table>
- </td>
-
-
-
-
-<!-- anfang des menue parts //-->
-<?PHP
-if( $_SESSION['Menu'] =="R") include("menu.php");
-?>
- </td>
-
-
-
-<!-- ende des menue parts //-->
-
-
-
- </tr>
- <tr>
- <td colspan="2">
- <h5 align="center"> &#169; copyleft - <a href="mailto:erzengel@lists.ccc.de">Kontakt</a>
- <?PHP
- include( "funktion_counter.php");
- include( "funktion_flag.php");
- ?></h5>
- </td>
- </tr>
-</table>
-
-<!-- </div> -->
-<?php mysql_close($con); ?>
-</div>
-
-
-</BODY>
-</HTML>
diff --git a/includes/funktion_SendMessenges.php b/includes/funktion_SendMessenges.php
index d71e4804..b6de67cc 100644
--- a/includes/funktion_SendMessenges.php
+++ b/includes/funktion_SendMessenges.php
@@ -1,18 +1,14 @@
-<?php
-
-
-function SendData($Data)
-{
- include("config_MessegeServer.php");
- // Create a UDP socket
- $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
- //send packed
- socket_sendto($sock, $Data, 9999, 0x4, SERVER_ADDRESS, SERVER_PORT);
-}
-
-function SendMessageJabber($Adresse, $Nachricht)
-{
- SendData( "#message $Adresse $Nachricht");
-}
-
-?>
+<?php
+ function SendData($Data) {
+ include "config_MessegeServer.php";
+ // Create a UDP socket
+ $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
+
+ //send packed
+ socket_sendto($sock, $Data, 9999, 0x4, SERVER_ADDRESS, SERVER_PORT);
+ }
+
+ function SendMessageJabber($Adresse, $Nachricht) {
+ SendData( "#message $Adresse $Nachricht");
+ }
+?>
diff --git a/includes/funktion_activeUser.php b/includes/funktion_activeUser.php
deleted file mode 100755
index d19895a8..00000000
--- a/includes/funktion_activeUser.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?PHP
-
-// Functionen gibt es nicht auf ellen rechern
-if( !function_exists("bcdiv"))
-{
- function bcdiv( $param1, $param2)
- {
- return floor( $param1 / $param2);
- }
-}
-
-if( !function_exists("bcmod"))
-{
- function bcmod( $param1, $param2)
- {
- return $param1 - ( $param2 * bcdiv( $param1, $param2));
- }
-}
-
-
-echo "<h4 class=\"menu\">Engel online</h4>";
-
-$SQL = "SELECT UID, Nick, lastLogIn ".
- "FROM User ".
- "WHERE (`lastLogIn` > '". gmdate("YmdHis", time()-(60*60)). "' AND NOT (UID=". $_SESSION['UID']. ")) ".
- "ORDER BY lastLogIn DESC;";
-
-$Erg = mysql_query( $SQL, $con);
-
-
-$Tist = (gmdate("d", time()) * 60 * 60 * 24) + // Tag
- (gmdate("H", time()) * 60 * 60) + // Stunde
- (gmdate("i", time()) * 60) + // Minute
- (gmdate("s", time()) ); // Sekunde
-
-for( $i=0; $i<mysql_num_rows($Erg); $i++)
-{
- echo "\t\t\t<li>";
- if( $_SESSION['UID']>0 )
- echo DisplayAvatar( mysql_result( $Erg, $i, "UID"));
- // Schow Admin Page
- echo funktion_isLinkAllowed_addLink_OrLinkText(
- "admin/userChangeNormal.php?enterUID=". mysql_result( $Erg, $i, "UID"). "&Type=Normal",
- mysql_result( $Erg, $i, "Nick"));
-
- $Tlog = (substr( mysql_result( $Erg, $i, "lastLogIn"), 8, 2) * 60 * 60 * 24) + // Tag
- (substr( mysql_result( $Erg, $i, "lastLogIn"), 11, 2) * 60 * 60) + // Stunde
- (substr( mysql_result( $Erg, $i, "lastLogIn"), 14, 2) * 60) + // Minute
- (substr( mysql_result( $Erg, $i, "lastLogIn"), 17, 2) ); // Sekunde
-
- $Tlog = $Tist-$Tlog;
- echo " ". bcdiv( $Tlog, 60). ":";
- if( strlen(bcmod( $Tlog, 60))==1)
- echo "0";
- echo bcmod( $Tlog, 60);
- echo "</li>\n";
-}
-
-?>
diff --git a/includes/funktion_counter.php b/includes/funktion_counter.php
deleted file mode 100644
index 70b104d4..00000000
--- a/includes/funktion_counter.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?PHP
-
-$SQL = "SELECT `Anz` FROM `Counter` WHERE `URL`=\"". $Page["Name"]. "\"";
-$Erg = mysql_query($SQL, $con);
-
-echo mysql_error($con);
-
-if(mysql_num_rows($Erg)==0)
-{
-// echo "Counter: 1";
- $SQL = "INSERT INTO `Counter` ( `URL` , `Anz` ) ".
- "VALUES ('". $Page["Name"]. "', '1');";
- $Erg = mysql_query($SQL, $con);
-}
-elseif(mysql_num_rows($Erg)==1)
-{
-// echo "Counter: ". (mysql_result($Erg, 0, 0)+1);
- $SQL = "UPDATE `Counter` SET `Anz` = '". (mysql_result($Erg, 0, 0) +1). "' ".
- "WHERE `URL` = '". $Page["Name"]. "' LIMIT 1 ;";
- $Erg = mysql_query($SQL, $con);
-}
-
-
-?>
diff --git a/includes/funktion_cron.php b/includes/funktion_cron.php
index 17ac5a76..3a0e984b 100755..100644
--- a/includes/funktion_cron.php
+++ b/includes/funktion_cron.php
@@ -1,144 +1,131 @@
-<?PHP
-
-function UID2DECT($UID)
-{
- global $con;
- $SQL = "SELECT DECT FROM `User` WHERE UID='$UID'";
- $Erg = mysql_query($SQL, $con);
- if( mysql_num_rows( $Erg) == 1)
- return mysql_result($Erg, 0);
- else
- return "";
-}
-function RID2Room($RID)
-{
- global $con;
- $SQL = "SELECT Name FROM `Room` WHERE RID='$RID'";
- $Erg = mysql_query($SQL, $con);
- if( mysql_num_rows( $Erg) == 1)
- return mysql_result($Erg, 0);
- else
- return "";
-}
-
-function TID2Engeltype($TID)
-{
- global $con;
- $SQL = "SELECT Name FROM `EngelType` WHERE TID='$TID'";
- $Erg = mysql_query($SQL, $con);
- if( mysql_num_rows( $Erg) == 1)
- return mysql_result($Erg, 0);
- else
- return "";
-}
-
-
-function DialNumberIAX( $DECTnumber, $Time, $RID, $TID)
-{
- global $IAXenable, $IAXcontent, $IAXserver, $AnrufDelay, $DebugDECT, $Tempdir, $AsteriskOutputDir;
-
- //Parameter verarbeiten
- $TimeH = substr( $Time, 11, 2);
- $TimeM = substr( $Time, 14, 2);
- $TimeM = substr( $Time, 14, 2) + $AnrufDelay;
- if( $TimeM < 0 )
- {
- $TimeM += 60;
- $TimeH -= 1;
- }
- if( $TimeH < 0 )
- $TimeH += 24;
-
- if( strlen( $TimeH) == 1)
- $TimeH = "0".$TimeH;
-
- if( $IAXenable)
- { $Message="die-nee shisht beh-kinned , in where-neegin me-nooten . . . your shift beginns in a few minutes";
- if (isset($SetHttpIAX))
- {
- $post_data = array();
- $post_data['code'] = "89o8eu9cg4";
- $post_data['callerid'] = "1023";
- $post_data['nr'] = "$DECTnumber";
- //$post_data['message'] = "Deine schicht beginnt in ein paar minuten . . . your shift beginns in a few minutes ";
- $post_data['message'] = "die-nee shisht beh-kinned , in where-neegin me-nooten . . . your shift beginns in a few minutes ";
- $url = "https://23c3.eventphone.de/~bef/call.php";
-
- $o="";
- foreach ($post_data as $k=>$v)
- {
- $o.= "$k=".urlencode(utf8_encode($v))."&";
- }
- $post_data=substr($o,0,-1);
-
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- $result = curl_exec($ch);
- echo curl_error($ch);
- curl_close($ch);
- }
- else
- {
- // IAX file Schareiebn
- $CallFile = $Tempdir. "/call_". date("Ymd_His"). "_$DECTnumber";
-
- if($DebugDECT) echo "IAX create file for dialing Number $DECTnumber\n";
- $file = fopen( $CallFile, 'w' );
- if( $file != FALSE)
- {
- fputs( $file, "Channel: SIP/$DECTnumber@$IAXserver\n"); //Ziel nummer
- fputs( $file, "Callerid: Engelserver\n");
- // fputs( $file, "Callerid: $IAXcontent\n");
- // fputs( $file, "Context: $DECTnumber@$IAXserver\n");
- fputs( $file, "Extension: s\n");
- fputs( $file, "MaxRetries: 1\n");
- fputs( $file, "RetryTime: 10\n");
- fputs( $file, "SetVar: msg=$Message\n");
-// fputs( $file, "SetVar: TimeH=$TimeH\n");
-// fputs( $file, "SetVar: TimeM=$TimeM\n");
-// fputs( $file, "SetVar: DECTnumber=$DECTnumber\n");
-// fputs( $file, "SetVar: Room=". RID2Room( $RID). "\n");
-// fputs( $file, "SetVar: Engeltype=". TID2Engeltype( $TID). "\n");
- fclose($file);
- system( "chmod 777 ". $CallFile);
- system( "mv ". $CallFile. " ". $AsteriskOutputDir);
-
- }
- else
- echo "error: $CallFile not created";
- }
- }
- else
- if($DebugDECT) echo "IAX is disable\n";
-}
-
-function DialNumberModem( $DECTnumber, $Time)
-{
- global $AnrufDelay;
-
- //Parameter verarbeiten
- $TimeH = substr( $Time, 11, 2);
- $TimeM = substr( $Time, 14, 2);
- $TimeM = substr( $Time, 14, 2) + $AnrufDelay;
- if( $TimeM < 0 )
- {
- $TimeM += 60;
- $TimeH -= 1;
- }
- if( $TimeH < 0 )
- $TimeH += 24;
-
- if( strlen( $TimeH) == 1)
- $TimeH = "0".$TimeH;
-
- SetWackeup( $DECTnumber, $TimeH, $TimeM);
-}
-
-return 0;
+<?php
+ function UID2DECT($UID) {
+ global $con;
+ $SQL = "SELECT DECT FROM `User` WHERE UID='$UID'";
+ $Erg = mysql_query($SQL, $con);
-?>
+ if(mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+ }
+
+ function RID2Room($RID) {
+ global $con;
+ $SQL = "SELECT Name FROM `Room` WHERE RID='$RID'";
+ $Erg = mysql_query($SQL, $con);
+
+ if(mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+ }
+
+ function TID2Engeltype($TID) {
+ global $con;
+ $SQL = "SELECT Name FROM `EngelType` WHERE TID='$TID'";
+ $Erg = mysql_query($SQL, $con);
+
+ if(mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+ }
+
+
+ function DialNumberIAX( $DECTnumber, $Time, $RID, $TID) {
+ global $IAXenable, $IAXcontent, $IAXserver, $AnrufDelay, $DebugDECT, $Tempdir, $AsteriskOutputDir;
+
+ // Parameter verarbeiten
+ $TimeH = substr( $Time, 11, 2);
+ $TimeM = substr( $Time, 14, 2);
+ $TimeM = substr( $Time, 14, 2) + $AnrufDelay;
+
+ if($TimeM < 0) {
+ $TimeM += 60;
+ $TimeH -= 1;
+ }
+
+ if($TimeH < 0)
+ $TimeH += 24;
+
+ if(strlen( $TimeH) == 1)
+ $TimeH = "0" . $TimeH;
+
+ if($IAXenable) {
+ $Message = "die-nee shisht beh-kinned, in where-neegin me-nooten . . . your shift beginns in a few minutes";
+ if(isset($SetHttpIAX)) {
+ $post_data = array();
+ $post_data['code'] = "89o8eu9cg4";
+ $post_data['callerid'] = "1023";
+ $post_data['nr'] = "$DECTnumber";
+ //$post_data['message'] = "Deine schicht beginnt in ein paar minuten . . . your shift beginns in a few minutes ";
+ $post_data['message'] = "die-nee shisht beh-kinned , in where-neegin me-nooten . . . your shift beginns in a few minutes ";
+ $url = "https://23c3.eventphone.de/~bef/call.php";
+
+ $o = "";
+ foreach ($post_data as $k => $v) {
+ $o.= "$k=" . urlencode(utf8_encode($v)) . "&";
+ }
+
+ $post_data = substr($o, 0, -1);
+
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ $result = curl_exec($ch);
+ echo curl_error($ch);
+ curl_close($ch);
+ } else {
+ // IAX file Schareiebn
+ $CallFile = $Tempdir. "/call_". date("Ymd_His"). "_$DECTnumber";
+
+ if($DebugDECT)
+ echo "IAX create file for dialing Number $DECTnumber\n";
+
+ $file = fopen( $CallFile, 'w');
+
+ if($file != false) {
+ fputs($file, "Channel: SIP/$DECTnumber@$IAXserver\n");
+ fputs($file, "Callerid: Engelserver\n");
+ fputs($file, "Extension: s\n");
+ fputs($file, "MaxRetries: 1\n");
+ fputs($file, "RetryTime: 10\n");
+ fputs($file, "SetVar: msg=$Message\n");
+ fclose($file);
+ system("chmod 777 " . $CallFile);
+ system("mv " . $CallFile . " " . $AsteriskOutputDir);
+ } else
+ echo "error: $CallFile not created";
+ }
+ } else
+ if($DebugDECT)
+ echo "IAX is disable\n";
+ }
+
+ function DialNumberModem($DECTnumber, $Time) {
+ global $AnrufDelay;
+
+ // Parameter verarbeiten
+ $TimeH = substr($Time, 11, 2);
+ $TimeM = substr($Time, 14, 2);
+ $TimeM = substr($Time, 14, 2) + $AnrufDelay;
+
+ if($TimeM < 0) {
+ $TimeM += 60;
+ $TimeH -= 1;
+ }
+
+ if($TimeH < 0)
+ $TimeH += 24;
+
+ if(strlen( $TimeH) == 1)
+ $TimeH = "0" . $TimeH;
+
+ SetWackeup($DECTnumber, $TimeH, $TimeM);
+ }
+?>
diff --git a/includes/funktion_db.php b/includes/funktion_db.php
index cbfb198f..ffd7d6a2 100644
--- a/includes/funktion_db.php
+++ b/includes/funktion_db.php
@@ -1,149 +1,145 @@
-<?PHP
-
-if( !function_exists("db_query"))
-{
- function Ausgabe_Daten($SQL)
- {
- global $con;
- $Erg = mysql_query($SQL, $con);
-
- echo mysql_error($con);
-
- $Zeilen = mysql_num_rows($Erg);
- $Anzahl_Felder = mysql_num_fields($Erg);
-
- $Diff = "<table border=1>";
- $Diff .= "<tr>";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- $Diff .= "<th>". mysql_field_name($Erg, $m). "</th>";
- $Diff .= "</tr>";
-
- for ($n = 0 ; $n < $Zeilen ; $n++)
- {
- $Diff .= "<tr>";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- $Diff .= "<td>".mysql_result($Erg, $n, $m). "</td>";
- $Diff .= "</tr>";
- }
- $Diff .= "</table>";
- return $Diff;
- }
-
- function db_querry_getDatenAssocArray($SQL)
- {
- global $con;
-
- $Erg = mysql_query($SQL, $con);
- echo mysql_error($con);
-
- $Daten = array();
- for( $i=0; $i<mysql_num_rows($Erg); $i++)
- $Daten[$i] = mysql_fetch_assoc($Erg);
-
- return $Daten;
- }
-
- function db_querry_diffDaten($Daten1, $Daten2)
- {
- $Gefunden=False;
-
- $Diff = "\n<table border=1>\n";
- $Diff .= "<tr>\n\t<th>Feldname</th>\n\t<th>old Value</th>\n\t<th>new Value</th>\n";
- $Diff .= "</tr>\n";
- foreach($Daten1 as $DataKey => $Data1)
- {
- if( isset( $Daten2[$DataKey]))
- {
- $Data2 = $Daten2[$DataKey];
- foreach($Data1 as $key => $value)
- if( $value != $Data2[$key])
- {
- $Gefunden=TRUE;
- $Diff .= "<tr>\n\t<td>$key</td>\n\t<td>$value</td>\n\t<td>".$Data2[$key]."</rd>\n</tr>";
- }
- }
- else
- foreach($Data1 as $key => $value)
- {
- $Gefunden=TRUE;
- $Diff .= "<tr>\n\t<td>$key</td>\n\t<td>$value</td>\n\t<td></rd>\n</tr>";
- }
- }
- $Diff .= "</table>\n";
-
- if( $Gefunden)
- return $Diff;
- else
- return "\nno changes Fount\n";
- }
-
- function db_query( $SQL, $comment)
- {
- global $con, $Page;
- $Diff = "";
-
- //commed anlyse udn daten sicherung
- if( strpos( "#$SQL", "UPDATE") > 0)
- {
- //Tabellen name ermitteln
- $Table_Start = strpos( $SQL, "`");
- $Table_End = strpos( $SQL, "`", $Table_Start+1);
- $Table = substr( $SQL, $Table_Start, ($Table_End-$Table_Start+1));
-
- //SecureTest
- if( $Table_Start == 0 || $Table_End == 0) die("<h1>funktion_db ERROR SQL: '$SQL' nicht OK</h1>");
-
- //WHERE ermitteln
- $Where_Start = strpos( $SQL, "WHERE");
- $Where = substr( $SQL, $Where_Start);
- if( $Where_Start == 0) $Where = ";";
-
- if( strlen( $Where) < 2)
- {
- $Diff = "can't show, too mutch data (no filter was set)";
- $querry_erg = mysql_query($SQL, $con);
- }
- else
- {
- $Daten1 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
- $querry_erg = mysql_query($SQL, $con);
- $Daten2 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
- $Diff = db_querry_diffDaten($Daten1, $Daten2);
- }
- }
- elseif( strpos( "#$SQL", "DELETE") > 0)
- {
- $TableWhere = substr( $SQL, 6);
- $Diff .= Ausgabe_Daten( "SELECT * $TableWhere");
-
- //execute command
- $querry_erg = mysql_query($SQL, $con);
- }
- elseif( strpos( "#$SQL", "INSERT") > 0)
- {
- //execute command
- $querry_erg = mysql_query($SQL, $con);
- }
- else
- {
- //execute command
- $querry_erg = mysql_query($SQL, $con);
- }
-
- $SQLCommand = "SQL:<br>". htmlentities( $SQL, ENT_QUOTES);
- if( strlen($Diff) > 0)
- $SQLCommand .= "<br><br>Diff:<br>$Diff";
-
- $Commend = htmlentities( ($Page["Name"]. ": ". $comment), ENT_QUOTES);
- //LOG commands in DB
- $SQL_SEC = "INSERT INTO `ChangeLog` ( `UID` , `SQLCommad` , `Commend` ) ".
- " VALUES ( '". $_SESSION['UID']. "', ".
- "'". mysql_escape_string( $SQLCommand). "', ".
- "'". mysql_escape_string( $Commend). "' );";
- $erg = mysql_query($SQL_SEC, $con);
- echo mysql_error($con);
- return $querry_erg;
- }//function db_query(
+<?php
+ if( !function_exists("db_query")) {
+ function Ausgabe_Daten($SQL) {
+ global $con;
+ $Erg = mysql_query($SQL, $con);
+
+ echo mysql_error($con);
+
+ $Zeilen = mysql_num_rows($Erg);
+ $Anzahl_Felder = mysql_num_fields($Erg);
+
+ $Diff = "<table border=1>";
+ $Diff .= "<tr>";
+
+ for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
+ $Diff .= "<th>". mysql_field_name($Erg, $m). "</th>";
+
+ $Diff .= "</tr>";
+
+ for ($n = 0 ; $n < $Zeilen ; $n++) {
+ $Diff .= "<tr>";
+
+ for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
+ $Diff .= "<td>".mysql_result($Erg, $n, $m). "</td>";
+
+ $Diff .= "</tr>";
+ }
+
+ $Diff .= "</table>";
+ return $Diff;
+ }
+
+ function db_querry_getDatenAssocArray($SQL) {
+ global $con;
+
+ $Erg = mysql_query($SQL, $con);
+ echo mysql_error($con);
+
+ $Daten = array();
+
+ for( $i=0; $i<mysql_num_rows($Erg); $i++)
+ $Daten[$i] = mysql_fetch_assoc($Erg);
+
+ return $Daten;
+ }
+
+ function db_querry_diffDaten($Daten1, $Daten2) {
+ $Gefunden = false;
+
+ $Diff = "\n<table border=1>\n";
+ $Diff .= "<tr>\n<th>Feldname</th>\n<th>old Value</th>\n<th>new Value</th>\n";
+ $Diff .= "</tr>\n";
+
+ foreach($Daten1 as $DataKey => $Data1) {
+ if(isset( $Daten2[$DataKey])) {
+ $Data2 = $Daten2[$DataKey];
+
+ foreach($Data1 as $key => $value)
+ if( $value != $Data2[$key]) {
+ $Gefunden = true;
+ $Diff .= "<tr>\n<td>$key</td>\n<td>$value</td>\n<td>" . $Data2[$key] . "</rd>\n</tr>";
+ }
+ } else
+ foreach($Data1 as $key => $value) {
+ $Gefunden = true;
+ $Diff .= "<tr>\n<td>$key</td>\n<td>$value</td>\n<td></rd>\n</tr>";
+ }
+ }
+
+ $Diff .= "</table>\n";
+
+ if($Gefunden)
+ return $Diff;
+ else
+ return "\nno changes Fount\n";
+ }
+
+ function db_query( $SQL, $comment) {
+ global $con, $Page;
+ $Diff = "";
+
+ // commed anlyse udn daten sicherung
+ if(strpos("#$SQL", "UPDATE") > 0) {
+ // Tabellen name ermitteln
+ $Table_Start = strpos( $SQL, "`");
+ $Table_End = strpos( $SQL, "`", $Table_Start+1);
+ $Table = substr( $SQL, $Table_Start, ($Table_End-$Table_Start+1));
+
+ //SecureTest
+ if( $Table_Start == 0 || $Table_End == 0) die("<h1>funktion_db ERROR SQL: '$SQL' nicht OK</h1>");
+
+ //WHERE ermitteln
+ $Where_Start = strpos( $SQL, "WHERE");
+ $Where = substr( $SQL, $Where_Start);
+ if( $Where_Start == 0) $Where = ";";
+
+ if( strlen( $Where) < 2)
+ {
+ $Diff = "can't show, too mutch data (no filter was set)";
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ else
+ {
+ $Daten1 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $querry_erg = mysql_query($SQL, $con);
+ $Daten2 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $Diff = db_querry_diffDaten($Daten1, $Daten2);
+ }
+ }
+ elseif( strpos( "#$SQL", "DELETE") > 0)
+ {
+ $TableWhere = substr( $SQL, 6);
+ $Diff .= Ausgabe_Daten( "SELECT * $TableWhere");
+
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ elseif( strpos( "#$SQL", "INSERT") > 0)
+ {
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ else
+ {
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+
+ $SQLCommand = "SQL:<br />". htmlentities( $SQL, ENT_QUOTES);
+ if( strlen($Diff) > 0)
+ $SQLCommand .= "<br /><br />Diff:<br />$Diff";
+
+ $Commend = htmlentities( ($Page["Name"]. ": ". $comment), ENT_QUOTES);
+ //LOG commands in DB
+ $SQL_SEC = "INSERT INTO `ChangeLog` ( `UID` , `SQLCommad` , `Commend` ) ".
+ " VALUES ( '". $_SESSION['UID']. "', ".
+ "'". mysql_escape_string( $SQLCommand). "', ".
+ "'". mysql_escape_string( $Commend). "' );";
+ $erg = mysql_query($SQL_SEC, $con);
+ echo mysql_error($con);
+ return $querry_erg;
+ }//function db_query(
}
?>
diff --git a/includes/funktion_db_list.php b/includes/funktion_db_list.php
index 9393e97e..35bb7255 100755..100644
--- a/includes/funktion_db_list.php
+++ b/includes/funktion_db_list.php
@@ -1,67 +1,62 @@
-<?PHP
+<?php
-function funktion_db_list($Table_Name)
-{
+
+// Gibt eine Tabelle generisch als HTML aus
+function funktion_db_list($Table_Name) {
global $con;
- $SQL = "SELECT * FROM `".$Table_Name."`";
+ $html = "";
+
+ $SQL = "SELECT * FROM `" . $Table_Name . "`";
$Erg = mysql_query($SQL, $con);
// anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
+ $Zeilen = mysql_num_rows($Erg);
$Anzahl_Felder = mysql_num_fields($Erg);
- echo "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">";
- echo "<caption>DB: $Table_Name</caption>";
+ $html .= "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">";
+ $html .= "<caption>DB: $Table_Name</caption>";
- echo "<tr class=\"contenttopic\">";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- {
- echo "<th>". mysql_field_name($Erg, $m). "</th>";
+ $html .= "<tr class=\"contenttopic\">";
+ for ($m = 0; $m < $Anzahl_Felder; $m++) {
+ $html .= "<th>" . mysql_field_name($Erg, $m) . "</th>";
}
- echo "</tr>";
+ $html .= "</tr>";
- for ($n = 0 ; $n < $Zeilen ; $n++)
- {
- echo "<tr class=\"content\">";
- for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
- {
- echo "<td>".mysql_result($Erg, $n, $m). "</td>";
+ for ($n = 0; $n < $Zeilen; $n++) {
+ $html .= "<tr class=\"content\">";
+ for ($m = 0; $m < $Anzahl_Felder; $m++) {
+ $html .= "<td>" . mysql_result($Erg, $n, $m) . "</td>";
}
- echo "</tr>";
+ $html .= "</tr>";
}
- echo "</table>";
+ $html .= "</table>";
+ return $html;
}
-function funktion_db_element_list_2row( $TopicName, $SQL)
-{
- global $con;
+function funktion_db_element_list_2row($TopicName, $SQL) {
+ $html = "";
+ $html .= "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
+ $html .= "<caption>$TopicName</caption>";
+ # $html .= "<tr class=\"contenttopic\"> <td><h1>$TopicName</h1></td> </tr>\n";
- echo "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
- echo "<caption>$TopicName</caption>";
-# echo "\t<tr class=\"contenttopic\"> <td><h1>$TopicName</h1></td> </tr>\n";
+ $Erg = sql_query($SQL);
- $Erg = mysql_query($SQL, $con);
- echo mysql_error($con);
-
- echo "<tr class=\"contenttopic\">";
- for ($m = 0 ; $m < mysql_num_fields($Erg) ; $m++)
- {
- echo "<th>". mysql_field_name($Erg, $m). "</th>";
+ $html .= "<tr class=\"contenttopic\">";
+ for ($m = 0; $m < mysql_num_fields($Erg); $m++) {
+ $html .= "<th>" . mysql_field_name($Erg, $m) . "</th>";
}
- echo "</tr>";
+ $html .= "</tr>";
- for ($n = 0 ; $n < mysql_num_rows($Erg) ; $n++)
- {
- echo "<tr class=\"content\">";
- for ($m = 0 ; $m < mysql_num_fields($Erg) ; $m++)
- {
- echo "<td>".mysql_result($Erg, $n, $m). "</td>";
+ for ($n = 0; $n < mysql_num_rows($Erg); $n++) {
+ $html .= "<tr class=\"content\">";
+ for ($m = 0; $m < mysql_num_fields($Erg); $m++) {
+ $html .= "<td>" . mysql_result($Erg, $n, $m) . "</td>";
}
- echo "</tr>";
+ $html .= "</tr>";
}
- echo "</table>\n";
+ $html .= "</table>\n";
+ return $html;
}
-
?>
diff --git a/includes/funktion_faq.php b/includes/funktion_faq.php
deleted file mode 100755
index 641ea38d..00000000
--- a/includes/funktion_faq.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?PHP
-
-function noAnswer() {
- global $con;
-
- $SQL = "SELECT UID FROM Questions WHERE `AID`='0'";
- $Res=mysql_query($SQL, $con);
-
- return mysql_num_rows($Res);
-}
-
-?>
diff --git a/includes/funktion_flag.php b/includes/funktion_flag.php
deleted file mode 100644
index 56d8a993..00000000
--- a/includes/funktion_flag.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?PHP
-echo "<br>";
-
-if( strpos( $_SERVER["REQUEST_URI"], "?") >0)
- $URL = $_SERVER["REQUEST_URI"]. "&SetLanguage=";
-else
- $URL = $_SERVER["REQUEST_URI"]. "?SetLanguage=";
-
-echo "<a href=\"". $URL. "DE\"><img src=\"". $url. $ENGEL_ROOT. "pic/flag/de.gif\" alt=\"DE\"></a> ";
-echo "<a href=\"". $URL. "EN\"><img src=\"". $url. $ENGEL_ROOT. "pic/flag/en.gif\" alt=\"EN\"></a> ";
-
-?>
diff --git a/includes/funktion_jabber.php b/includes/funktion_jabber.php
index 9c699d70..9c699d70 100755..100644
--- a/includes/funktion_jabber.php
+++ b/includes/funktion_jabber.php
diff --git a/includes/funktion_lang.php b/includes/funktion_lang.php
deleted file mode 100755
index d5d3e144..00000000
--- a/includes/funktion_lang.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?PHP
-
-
-function Get_Text ($TextID, $NoError=FALSE)
-{
- GLOBAL $con, $error_messages, $DEBUG;
-
- if( !isset($_SESSION['Sprache']))
- $_SESSION['Sprache'] = "EN";
- if( $_SESSION['Sprache']=="")
- $_SESSION['Sprache']="EN";
- if( isset($_GET["SetLanguage"]))
- $_SESSION['Sprache']= $_GET["SetLanguage"];
-
- $SQL = "SELECT * FROM `Sprache` WHERE TextID=\"$TextID\" AND Sprache ='".$_SESSION['Sprache']."'";
- @$Erg = mysql_query($SQL, $con);
-
- if( mysql_num_rows( $Erg) == 1)
- return (@mysql_result($Erg, 0, "Text"));
- elseif( $NoError && !$DEBUG)
- return "";
- else
- {
- array_push($error_messages, "Get_Text, '$TextID' found ". mysql_num_rows( $Erg). "x in Sprache Database Table for Language (".$_SESSION['Sprache'].")\n");
- return "Error Data, '$TextID' found ". mysql_num_rows( $Erg). "x";
- }
-
-}
-
-function Print_Text ($TextID, $NoError=FALSE)
-{
- echo Get_Text ($TextID, $NoError);
-}
-
-?>
diff --git a/includes/funktion_menu.php b/includes/funktion_menu.php
deleted file mode 100755
index 87196ede..00000000
--- a/includes/funktion_menu.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?PHP
-
-function ShowMenu( $MenuName)
-{
- global $MenueTableStart, $MenueTableEnd, $_SESSION, $DEBUG, $url, $ENGEL_ROOT;
- $Gefunden=FALSE;
-
- //Überschift
- $Text = "<h4 class=\"menu\">". Get_Text("$MenuName/"). "</h4>";
-
- //einträge
- foreach( $_SESSION['CVS'] as $Key => $Entry )
- if( strpos( $Key, ".php") > 0)
- if( (strpos( "00$Key", "0$MenuName") > 0) ||
- ((strlen($MenuName)==0) && (strpos( "0$Key", "/") == 0) ) )
- {
- $TempName = Get_Text($Key, TRUE);
- if(( TRUE||$DEBUG) && (strlen($TempName)==0) )
- $TempName = "not found: \"$Key\"";
-
- if( $Entry == "Y")
- {
- //zum absichtlkichen ausblenden von einträgen
- if( strlen($TempName)>1)
- {
- //sonderfälle:
- if( $Key=="admin/faq.php")
- $TempName .= " (". noAnswer(). ")";
- //ausgabe
- $Text .= "\t\t\t<li><a href=\"". $url. $ENGEL_ROOT. $Key. "\">$TempName</a></li>\n";
- $Gefunden = TRUE;
- }
- }
- elseif( $DEBUG )
- {
- $Gefunden = TRUE;
- $Text .= "\t\t\t<li>$TempName ($Key)</li>\n";
- }
- }
- if( $Gefunden)
- echo $MenueTableStart.$Text.$MenueTableEnd;
-}//function ShowMenue
-
-?>
diff --git a/includes/funktion_modem.php b/includes/funktion_modem.php
index 3a74e0f8..8e93ebf4 100755..100644
--- a/includes/funktion_modem.php
+++ b/includes/funktion_modem.php
@@ -1,35 +1,34 @@
-<?PHP
-include "config_modem.php";
+<?php
+ include "config_modem.php";
-function DialNumber( $Number )
-{
- global $Dev, $ModemEnable;
+ function DialNumber($Number) {
+ global $Dev, $ModemEnable;
+
+ if($ModemEnable) {
+ echo "Dial number: '<u>$Number</u>' was called<br />\n";
- if( $ModemEnable)
- {
- echo "Dial number: '<u>$Number</u>' was called<br>\n";
- $fp = fopen( $ModemDev, "w");
- sleep(1);
- fwrite( $fp, "+++");
- sleep(1);
- fwrite( $fp, "ATZ\n");
- sleep(1);
- fwrite( $fp, "ATX1\n");
- sleep(1);
- fwrite( $fp, "ATD $Number \n");
- sleep(8);
- fclose($fp);
- sleep(1);
- }
- else
- echo "Modem is Disable, number: '<u>$Number</u>' was not called<br>\n";
+ $fp = fopen( $ModemDev, "w");
+ sleep(1);
+ fwrite( $fp, "+++");
+ sleep(1);
+ fwrite( $fp, "ATZ\n");
+ sleep(1);
+ fwrite( $fp, "ATX1\n");
+ sleep(1);
+ fwrite( $fp, "ATD $Number \n");
+ sleep(8);
+ fclose($fp);
+ sleep(1);
+ }
+ else
+ echo "Modem is Disable, number: '<u>$Number</u>' was not called<br />\n";
}
function SetWackeup( $Number, $TimeH, $TimeM)
{
- global $WackupNumber;
- DialNumber( "$WackupNumber$TimeH$TimeM$Number");
+ global $WakeupNumber;
+ DialNumber( "$WakeupNumber$TimeH$TimeM$Number");
}
?>
diff --git a/includes/funktion_schichtplan.php b/includes/funktion_schichtplan.php
deleted file mode 100755
index 0b5b9910..00000000
--- a/includes/funktion_schichtplan.php
+++ /dev/null
@@ -1,389 +0,0 @@
-<?php
-
-
-/*#######################################################
-# gibt die engelschischten aus #
-#######################################################*/
-function ausgabe_Feld_Inhalt( $SID, $Man )
-{
-// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
-// die eingetragenden und und offenden Schichteintäge zurück
- global $EngelType, $EngelTypeID, $TID2Name, $con, $DEBUG, $gmdateOffset;
-
- $Spalten = "";
-
- if( !isset($_GET["Icon"]))
- $_GET["Icon"]=1;
-
- ///////////////////////////////////////////////////////////////////
- // Schow Admin Page
- ///////////////////////////////////////////////////////////////////
- $Spalten.=funktion_isLinkAllowed_addLink_OrEmpty(
- "admin/schichtplan.php?action=change&SID=$SID",
- "edit<br>\n\t\t");
-
- ///////////////////////////////////////////////////////////////////
- // Ausgabe des Schischtnamens
- ///////////////////////////////////////////////////////////////////
- $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');";
- $Erg = mysql_query($SQL, $con);
- if( mysql_result($Erg, 0, 0) != "")
- $Spalten.="<a href=\"". mysql_result($Erg, 0, 0). "\" target=\"_black\"><u>$Man:</u></a><br>";
- else
- $Spalten.="<u>".$Man.":</u><br>";
-
-
- ///////////////////////////////////////////////////////////////////
- // SQL abfrage für die benötigten schichten
- ///////////////////////////////////////////////////////////////////
- $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
- $Erg = mysql_query($SQL, $con);
-
- $Anzahl = mysql_num_rows($Erg);
- $Feld=0;
- $Temp_TID_old=-1;
- for( $i = 0; $i < $Anzahl; $i++ )
- {
- if( isset($Temp[$Feld]["TID"]))
- $Temp_TID_old = $Temp[$Feld]["TID"];
- if( isset($Temp[$Feld]["UID"]))
- $Temp_UID_old = $Temp[$Feld]["UID"];
-
- $Temp_TID = mysql_result($Erg, $i, "TID");
-
- // wenn sich der Type ändert wird zumnästen feld geweckselt
- if( $Temp_TID_old != $Temp_TID )
- $Feld++;
-
- $Temp[$Feld]["TID"] = $Temp_TID;
- $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
-
- // sonderfall ersten durchlauf
- if( $i == 0 )
- {
- $Temp_TID_old = $Temp[$Feld]["TID"];
- $Temp_UID_old = $Temp[$Feld]["UID"];
- }
-
- // ist es eine zu vergeben schicht?
- if( $Temp[$Feld]["UID"] == 0 )
- {
- if( isset($Temp[$Feld]["free"]))
- $Temp[$Feld]["free"]++;
- else
- $Temp[$Feld]["free"]=1;
- }
- else
- $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
- } // FOR
-
-
- ///////////////////////////////////////////////////////////////////
- // Aus gabe der Schicht
- ///////////////////////////////////////////////////////////////////
- if( isset($Temp))
- if( count($Temp) )
- foreach( $Temp as $TempEntry => $TempValue )
- {
- if( !isset($TempValue["free"]))
- $TempValue["free"] = 0;
-
- // ausgabe EngelType
- $Spalten.= $EngelTypeID[ $TempValue["TID"] ]. " ";
-
- // ausgabe Eingetragener Engel
- if( isset($TempValue["Engel"]))
- if( count($TempValue["Engel"]) > 0 )
- {
- if( count($TempValue["Engel"]) == 1 )
- $Spalten.= Get_Text("inc_schicht_ist"). ":<br>\n\t\t";
- else
- $Spalten.= Get_Text("inc_schicht_sind"). ":<br>\n\t\t";
-
- foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
- {
- if( funktion_isLinkAllowed( "admin/user.php") === TRUE)
- {
- // add color, wenn Engel "Gekommen"
- $TempText=
- ((UIDgekommen( $TempEngelID ) == "1")
- ? "<span style=\"color: blue;\">"
- : "<span style=\"color: red;\">").
- UID2Nick( $TempEngelID). "</span>";
- }
- else
- {
- $TempText = UID2Nick( $TempEngelID );
- }
-
- // add link to user
- $TempText= funktion_isLinkAllowed_addLink_OrLinkText(
- "admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal",
- $TempText);
-
- $Spalten.= "&nbsp;&nbsp;". $TempText.
- ( ($_GET["Icon"]==1) ? DisplayAvatar( $TempEngelID): "").
- "<br>\n\t\t";
-
-
- }
- $Spalten = substr( $Spalten, 0, strlen($Spalten)-7 );
- }
-
- // ausgabe benötigter Engel
- ////////////////////////////
- //in vergangenheit
- $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '".
- gmdate("Y-m-d H:i:s", time()+ $gmdateOffset). "')";
- $Ergtime = mysql_query($SQLtime, $con);
- if( mysql_num_rows( $Ergtime) > 0)
- {
- //wenn keien rechte definiert sind
- if( !isset($_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ]))
- $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] = "Y";
-
- if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y")
- if( $TempValue["free"] > 0 )
- {
- $Spalten.= "<br>\n\t\t&nbsp;&nbsp;<a href=\"./schichtplan_add.php?SID=$SID&TID=".
- $TempValue["TID"]."\">";
- $Spalten.= $TempValue["free"];
- if( $TempValue["free"] != 1 )
- $Spalten.= Get_Text("inc_schicht_weitere").
- " ".Get_Text("inc_schicht_Engel").
- Get_Text("inc_schicht_wird");
- else
- $Spalten.= Get_Text("inc_schicht_weiterer").
- " ".Get_Text("inc_schicht_Engel").
- Get_Text("inc_schicht_werden");
- $Spalten.= Get_Text("inc_schicht_noch_gesucht");
- $Spalten.= "</a>";
- }
- }
- else
- {
- if( isset($TempValue["free"]))
- if( $TempValue["free"] > 0 )
- $Spalten.= "<br>\n\t\t&nbsp;&nbsp;<h3><a>Fehlen noch: ".
- $TempValue["free"]. "</a></h3>";
- }
- $Spalten.= "<br>\n\t\t";
-
- } // FOREACH
- return $Spalten;
-} // function Ausgabe_Feld_Inhalt
-
-
-
-/*#######################################################
-# gibt die engelschischten Druckergerecht aus #
-#######################################################*/
-function Ausgabe_Feld_Inhalt_Druck($RID, $Man )
-{
-// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
-// die eingetragenden und und offenden Schichteintäge zurück
-
-
-} // function Ausgabe_Feld_Inhalt
-
-
-
-
-/*#######################################################
-# Ausgabe der Raum Spalten #
-#######################################################*/
-function CreateRoomShifts( $raum )
-{
- global $Spalten, $ausdatum, $con, $DEBUG, $GlobalZeileProStunde, $error_messages;
-
- /////////////////////////////////////////////////////////////
- // beginnt die erste schicht vor dem heutigen tag und geht darüber hinaus
- /////////////////////////////////////////////////////////////
- $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ".
- "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND ".
- "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;";
- $ErgSonder = mysql_query($SQLSonder, $con);
- if( (mysql_num_rows( $ErgSonder) > 1) )
- {
- if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE )
- {
- echo "<h1>". Get_Text("pub_schichtplan_colision"). "</h1> ";
- for( $i=0; $i<mysql_num_rows( $ErgSonder); $i++)
- {
- echo "<a href=\"./../admin/schichtplan.php?action=change&SID=".
- mysql_result($ErgSonder, $i, "SID"). "\">".
- mysql_result($ErgSonder, $i, "DateS").
- " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-24)".
- "</a><br>\n\t\t";
- }
- }
- }
- elseif( (mysql_num_rows( $ErgSonder) == 1) )
- {
- $Spalten[0].= "\t\t<td valign=\"top\" rowspan=\"". (24 * $GlobalZeileProStunde). "\">\n".
- "\t\t\t<h3>&uarr;&uarr;&uarr;</h3>".
- Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"),
- mysql_result($ErgSonder, 0, "Man") ).
- "\t\t\t<h3>&darr;&darr;&darr;</h3>".
- "\n\t\t</td>\n";
- return;
- }
-
- $ZeitZeiger = 0;
-
- /////////////////////////////////////////////////////////////
- // beginnt die erste schicht vor dem heutigen tag?
- /////////////////////////////////////////////////////////////
- $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ".
- "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND ".
- "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;";
- $ErgSonder = mysql_query($SQLSonder, $con);
- if( (mysql_num_rows( $ErgSonder) > 1) )
- {
- if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE )
- {
- echo "<h1>". Get_Text("pub_schichtplan_colision"). "</h1> ";
- for( $i=0; $i<mysql_num_rows( $ErgSonder); $i++)
- {
- echo "<a href=\"./../admin/schichtplan.php?action=change&SID=".
- mysql_result($ErgSonder, $i, "SID"). "\">".
- mysql_result($ErgSonder, $i, "DateS").
- " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-xx)".
- "</a><br>\n\t\t";
- }
- }
- }
- elseif( (mysql_num_rows( $ErgSonder) == 1) )
- {
- $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+
- (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60);
- $Spalten[0].= "\t\t<td valign=\"top\" rowspan=\"". ($ZeitZeiger * $GlobalZeileProStunde). "\">\n".
- "\t\t\t<h3>&uarr;&uarr;&uarr;</h3>".
- Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"),
- mysql_result($ErgSonder, 0, "Man") ).
- "\n\t\t</td>\n";
- }
-
- /////////////////////////////////////////////////////////////
- // gibt die schichten für den tag aus
- /////////////////////////////////////////////////////////////
- $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ".
- "WHERE ((`RID` = '$raum') and ".
- "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and ".
- "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;";
- $Erg = mysql_query($SQL, $con);
- for( $i = 0; $i < mysql_num_rows($Erg); ++$i )
- {
- $ZeitPos = substr( mysql_result($Erg, $i, "DateS"), 11, 2 )+
- (substr( mysql_result($Erg, $i, "DateS"), 14, 2 ) / 60);
- $len = mysql_result($Erg, $i, "Len");
-
- if( $len <= 0)
- array_push( $error_messages, "Error in shift denition SID=". mysql_result($Erg, $i, "SID"). " Len=$len");
-
- if( $ZeitZeiger < $ZeitPos )
- {
- $Spalten[$ZeitZeiger * $GlobalZeileProStunde].=
- "\t\t<td valign=\"top\" rowspan=\"". ( ($ZeitPos - $ZeitZeiger ) * $GlobalZeileProStunde ). "\">&nbsp;</td>\n";
-
- $ZeitZeiger += $ZeitPos - $ZeitZeiger;
- }
- if($ZeitZeiger == $ZeitPos )
- {
- //sonderfall wenn die schicht über dei 24 stunden hinaus geht
- // (eintrag abkürzen, pfeiel ausgeben)
- $Spalten[$ZeitZeiger * $GlobalZeileProStunde].=
- "\t\t<td valign=\"top\" rowspan=\"".
- ( ( ($len+$ZeitZeiger)? $len : 24-$len+$ZeitZeiger) * $GlobalZeileProStunde).
- "\">\n".
- "\t\t\t".
- Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"),
- mysql_result($Erg, $i, "Man") ).
- (( ($ZeitZeiger+$len) > 24)? "\t\t\t<h3>&darr;&darr;&darr;</h3>" : "").
- "\n\t\t</td>\n";
- $ZeitZeiger += $len;
- }
- else
- {
- echo "<h1>". Get_Text("pub_schichtplan_colision"). "</h1> ";
- echo "<a href=\"./../admin/schichtplan.php?action=change&SID=".
- mysql_result($Erg, $i, "SID"). "\">".
- mysql_result($Erg, $i, "DateS").
- " '". mysql_result($Erg, $i, "Man"). "' ".
- " (". mysql_result($Erg, $i, "SID"). " R$raum) (xx-xx)</a><br><br>";
- }
- }
- if( $ZeitZeiger < 24 )
- $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].=
- "\t\t<td valign=\"top\" rowspan=\"".
- ((24 - $ZeitZeiger) * $GlobalZeileProStunde ).
- "\">&nbsp;</td>\n";
-} // function CreateRoomShifts
-
-
-/*#######################################################
-# Ausgabe der freien schichten #
-#######################################################*/
-function showEmptyShifts( )
-{
- global $con, $DEBUG, $RoomID, $gmdateOffset;
-
- echo "<table border=\"1\">\n";
- echo "<tr>\n";
- echo "\t<th>". Get_Text("inc_schicht_date"). "</th>\n";
- echo "\t<th>". Get_Text("inc_schicht_time"). "</th>\n";
- echo "\t<th>". Get_Text("inc_schicht_room"). "</th>\n";
- echo "\t<th>". Get_Text("inc_schicht_commend"). "</th>\n";
- echo "</tr>\n";
-
- $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ".
- "WHERE (`Shifts`.`DateS`>='". gmdate("Y-m-d H:i:s", time()+$gmdateOffset). "') ".
- "ORDER BY `DateS`, `RID`;";
- $Erg = mysql_query($sql, $con);
-
- $angezeigt = 0;
- for ($i=0; ($i<mysql_num_rows($Erg)) && ($angezeigt< 15); $i++)
- if( isset($RoomID[mysql_result( $Erg, $i, "RID")]))
- if( $RoomID[mysql_result( $Erg, $i, "RID")]!="" )
- {
- $Sql2 = "SELECT `UID` FROM `ShiftEntry` ".
- "WHERE `SID`=". mysql_result( $Erg, $i, "SID"). " AND ".
- "`UID`='0';";
- $Erg2 = mysql_query($Sql2, $con);
-
- if( mysql_num_rows($Erg2)>0)
- {
- $angezeigt++;
- echo "<tr>\n";
- echo "\t<td>". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "</td>\n";
- echo "\t<td>". substr(mysql_result( $Erg, $i, "DateS"), 11). "</td>\n";
- echo "\t<td>". $RoomID[mysql_result( $Erg, $i, "RID")]. "</td>\n";
- echo "\t<td>".
- ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")).
- "</td>\n";
- echo "</tr>\n";
- }
- }
-
- echo "</table>\n";
-
-} //function showEmptyShifts
-
-
-/*#######################################################
-# Gibt die anzahl der Schichten im Raum zurück #
-#######################################################*/
-function SummRoomShifts( $raum )
-{
- global $ausdatum, $con, $DEBUG, $GlobalZeileProStunde;
-
- $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ".
- "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND ".
- "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;";
-
- $ErgSonder = mysql_query($SQLSonder, $con);
-
- return mysql_num_rows($ErgSonder);
-}
-
-?>
diff --git a/includes/funktion_schichtplan_Tage.php b/includes/funktion_schichtplan_Tage.php
deleted file mode 100755
index 5ac92e7e..00000000
--- a/includes/funktion_schichtplan_Tage.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?PHP
-
-if( !function_exists("DatumUm1TagErhoehen"))
-{
- function DatumUm1TagErhoehen( $Datum)
- {
- $Jahr = substr( $Datum, 0, 4);
- $Monat = substr( $Datum, 5, 2);
- $Tag = substr( $Datum, 8, 2);
-
- $Tag++;
-
- switch( $Monat)
- {
- case 1: $Mmax=31; break;
- case 2: $Mmax=28; break;
- case 3: $Mmax=31; break;
- case 4: $Mmax=30; break;
- case 5: $Mmax=31; break;
- case 6: $Mmax=30; break;
- case 7: $Mmax=31; break;
- case 8: $Mmax=31; break;
- case 9: $Mmax=30; break;
- case 10: $Mmax=31; break;
- case 11: $Mmax=30; break;
- case 12: $Mmax=31; break;
- }
-
- if( $Tag > $Mmax)
- {
- $Tag = 1;
- $Monat++;
- }
-
- if( $Monat > 12 )
- {
- $Monat = 1;
- $Jahr++;
- }
-
- $Tag = strlen( $Tag ) == 1 ? "0".$Tag : $Tag;
- $Monat = strlen( $Monat ) == 1 ? "0".$Monat : $Monat;
-
- return ("$Jahr-$Monat-$Tag");
- } //function DatumUm1Tagerhoehen(
-}
-
-//suchen den ersten eintrags
-$SQL = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1";
-$Erg = mysql_query($SQL, $con);
-
-$Pos=0;
-
-if( mysql_num_rows($Erg)>0)
-{
- do
- {
- //Startdatum einlesen und link ausgeben
- $DateS = substr(mysql_result($Erg, 0 , 0), 0,10);
- $VeranstaltungsTage[$Pos++] = $DateS;
-
- //auslesen den endes und eventuelle weitere tage ausgeben
- $SQL2 = "SELECT MAX(`DateE`) FROM `Shifts` ".
- "WHERE ( (`DateS` like '$DateS%') AND NOT (`DateE` like '%00:00:00'))";
- $Erg2 = mysql_query($SQL2, $con);
- $DateE = substr(mysql_result($Erg2, 0 , 0), 0,10);
-
- if( strlen($DateE) == 0)
- $DateE = $DateS;
- else
- while( $DateS != $DateE)
- {
- $DateS = DatumUm1TagErhoehen( $DateS);
- $VeranstaltungsTage[$Pos++] = $DateS;
- }
-
- //suchen den nästen eintrag
- $SQL = "SELECT `DateS` FROM `Shifts` ".
- "WHERE (`DateS` > '$DateE 23:59:59' ) ".
- "ORDER BY `DateS` ".
- "LIMIT 1";
- $Erg = mysql_query($SQL, $con);
- } while( mysql_fetch_row($Erg) > 0);
-}
-$VeranstaltungsTageMax = $Pos-1;
-
-?>
diff --git a/includes/funktion_schichtplan_beamer.php b/includes/funktion_schichtplan_beamer.php
index ab935e0d..85c5ffe8 100755..100644
--- a/includes/funktion_schichtplan_beamer.php
+++ b/includes/funktion_schichtplan_beamer.php
@@ -5,176 +5,176 @@
#######################################################*/
// erstellt ein Array der Reume
- $sql = "SELECT `RID`, `Name` FROM `Room` ".
- "WHERE `Show`='Y'".
- "ORDER BY `Number`, `Name`;";
-
- $Erg = mysql_query($sql, $con);
- $rowcount = mysql_num_rows($Erg);
-
- for ($i=0; $i<$rowcount; $i++)
- {
- $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
- $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
-
- $RoomID[ mysql_result($Erg, $i, "RID") ] = mysql_result($Erg, $i, "Name");
- }
+ $sql = "SELECT `RID`, `Name` FROM `Room` ".
+ "WHERE `Show`='Y'".
+ "ORDER BY `Number`, `Name`;";
+
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
+
+ $RoomID[ mysql_result($Erg, $i, "RID") ] = mysql_result($Erg, $i, "Name");
+ }
// erstellt ein Aray der Engeltypen
- $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
- $Erg = mysql_query($sql, $con);
- $rowcount = mysql_num_rows($Erg);
- for ($i=0; $i<$rowcount; $i++)
- {
- $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
- $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+ $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
+ $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
- $EngelTypeID[ mysql_result($Erg, $i, "TID") ] =
- mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
- }
+ $EngelTypeID[ mysql_result($Erg, $i, "TID") ] =
+ mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+ }
/*#######################################################
-# gibt die engelschischten aus #
+# gibt die engelschischten aus #
#######################################################*/
function ausgabe_Feld_Inhalt( $SID, $Man )
{
// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
// die eingetragenden und und offenden Schichteintäge zurück
- global $EngelType, $EngelTypeID, $con;
- //form Config
- global $DEBUG;
-
- $Out = "";
-
- $Out.= "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n";
-
- $Out.= "\t\t\t<colgroup span=\"2\" align=\"left\" valign=\"center\">\n".
- "\t\t\t\t<col width=\"45%\">\n".
- "\t\t\t\t<col width=\"*\">\n".
- "\t\t\t\t</colgroup>\n";
-
- ///////////////////////////////////////////////////////////////////
- // SQL abfrage für die benötigten schichten
- ///////////////////////////////////////////////////////////////////
- $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
- $Erg = mysql_query($SQL, $con);
-
- $Anzahl = mysql_num_rows($Erg);
- $Feld=-1;
- for( $i = 0; $i < $Anzahl; $i++ )
- {
-
- $Temp_TID = mysql_result($Erg, $i, "TID");
-
- // wenn sich der Type ändert wird zumnästen feld geweckselt
- if( ($i==0) || ($Temp_TID_old != $Temp_TID) )
- {
- $Feld++;
- $Temp[$Feld]["free"]=0;
- $Temp[$Feld]["Engel"]=array();
- }
-
- $Temp[$Feld]["TID"] = $Temp_TID;
- $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
-
- // ist es eine zu vergeben schicht?
- if( $Temp[$Feld]["UID"] == 0 )
- $Temp[$Feld]["free"]++;
- else
- $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
-
- $Temp_TID_old = $Temp[$Feld]["TID"];
- } // FOR
-
-
- ///////////////////////////////////////////////////////////////////
- // Aus gabe der Schicht
- ///////////////////////////////////////////////////////////////////
- if( isset($Temp) && count($Temp) )
- foreach( $Temp as $TempEntry => $TempValue )
- {
- $Out.= "\t\t\t<tr>\n";
-
- // ausgabe EngelType
- $Out.= "\t\t\t\t<td>". $EngelTypeID[ $TempValue["TID"] ];
-
- // ausgabe Eingetragener Engel
- if( count($TempValue["Engel"]) > 0 )
- {
- if( count($TempValue["Engel"]) == 1 )
- $Out.= " ". trim(Get_Text("inc_schicht_ist")). ":";
- else
- $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":";
- $Out.= "</td>\n";
- $Out.= "\t\t\t\t<td>";
-
- foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
- $Out.= UID2Nick( $TempEngelID ). ", ";
-// $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", ";
- $Out = substr( $Out, 0, strlen($Out)-2 );
- }
- else
- {
- $Out.= ":</td>\n";
- $Out.= "\t\t\t\t<td>\n";
- }
-
-
- // ausgabe benötigter Engel
- ////////////////////////////
- if( $_SESSION['CVS']["nonpublic/schichtplan_add.php"] == "Y")
+ global $EngelType, $EngelTypeID, $con;
+ //form Config
+ global $debug;
+
+ $Out = "";
+
+ $Out.= "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n";
+
+ $Out.= "<colgroup span=\"2\" align=\"left\" valign=\"center\">\n".
+ "<col width=\"45%\">\n".
+ "<col width=\"*\">\n".
+ "</colgroup>\n";
+
+ ///////////////////////////////////////////////////////////////////
+ // SQL abfrage für die benötigten schichten
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
+ $Erg = mysql_query($SQL, $con);
+
+ $Anzahl = mysql_num_rows($Erg);
+ $Feld=-1;
+ for( $i = 0; $i < $Anzahl; $i++ )
+ {
+
+ $Temp_TID = mysql_result($Erg, $i, "TID");
+
+ // wenn sich der Type ändert wird zumnästen feld geweckselt
+ if( ($i==0) || ($Temp_TID_old != $Temp_TID) )
+ {
+ $Feld++;
+ $Temp[$Feld]["free"]=0;
+ $Temp[$Feld]["Engel"]=array();
+ }
+
+ $Temp[$Feld]["TID"] = $Temp_TID;
+ $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
+
+ // ist es eine zu vergeben schicht?
+ if( $Temp[$Feld]["UID"] == 0 )
+ $Temp[$Feld]["free"]++;
+ else
+ $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
+
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ } // FOR
+
+
+ ///////////////////////////////////////////////////////////////////
+ // Aus gabe der Schicht
+ ///////////////////////////////////////////////////////////////////
+ if( isset($Temp) && count($Temp) )
+ foreach( $Temp as $TempEntry => $TempValue )
+ {
+ $Out.= "<tr>\n";
+
+ // ausgabe EngelType
+ $Out.= "<td>". $EngelTypeID[ $TempValue["TID"] ];
+
+ // ausgabe Eingetragener Engel
+ if( count($TempValue["Engel"]) > 0 )
+ {
+ if( count($TempValue["Engel"]) == 1 )
+ $Out.= " ". trim(Get_Text("inc_schicht_ist")). ":";
+ else
+ $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":";
+ $Out.= "</td>\n";
+ $Out.= "<td>";
+
+ foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
+ $Out.= UID2Nick( $TempEngelID ). ", ";
+// $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", ";
+ $Out = substr( $Out, 0, strlen($Out)-2 );
+ }
+ else
+ {
+ $Out.= ":</td>\n";
+ $Out.= "<td>\n";
+ }
+
+
+ // ausgabe benötigter Engel
+ ////////////////////////////
+ if( $_SESSION['CVS']["nonpublic/schichtplan_add.php"] == "Y")
{
- if ( $TempValue["free"] > 0)
- {
- if( count($TempValue["Engel"]) > 0)
- $Out.= ", ";
- $Out.= $TempValue["free"]. "x free ";
- }
- }
- $Out.= "</td>\n";
- $Out.= "\t\t\t</tr>\n";
-
- } // FOREACH
-
- $Out.= "\t\t\t</table>\n\t";
-
- return $Out;
+ if ( $TempValue["free"] > 0)
+ {
+ if( count($TempValue["Engel"]) > 0)
+ $Out.= ", ";
+ $Out.= $TempValue["free"]. "x free ";
+ }
+ }
+ $Out.= "</td>\n";
+ $Out.= "</tr>\n";
+
+ } // FOREACH
+
+ $Out.= "</table>\n";
+
+ return $Out;
} // function Ausgabe_Feld_Inhalt
/*#######################################################
-# gibt die engelschischten für einen Ruam aus #
+# gibt die engelschischten für einen Ruam aus #
#######################################################*/
function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege )
{
- global $con;
-
- $SQL = "SELECT `SID`, `Len`, `Man` FROM `Shifts` ".
- "WHERE ( (`RID` = '$RID') AND ".
- "((`DateE` like '". gmdate("Y-m-d H", $Time+3600). "%') OR ".
- " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;";
-
- $ErgRoom = mysql_query($SQL, $con);
- $Out= "\t<td>";
- if( mysql_num_rows( $ErgRoom)>0 )
- for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ )
- {
- $AnzahlEintraege++;
- $Out.= ausgabe_Feld_Inhalt( mysql_result( $ErgRoom, $i-1, "SID"),
- mysql_result( $ErgRoom, $i-1, "Man"));
- if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) )
- $Out.= "<br>";
-// $Out.= "<hr width=\"95%\" align=\"center\">\n\t\t\t\t";
-
- }
- else
- $Out.= "&nbsp;";
-
- $Out.= "</td>\n";
-
- return $Out;
+ global $con;
+
+ $SQL = "SELECT `SID`, `Len`, `Man` FROM `Shifts` ".
+ "WHERE ( (`RID` = '$RID') AND ".
+ "((`DateE` like '". gmdate("Y-m-d H", $Time+3600). "%') OR ".
+ " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;";
+
+ $ErgRoom = mysql_query($SQL, $con);
+ $Out= "<td>";
+ if( mysql_num_rows( $ErgRoom)>0 )
+ for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ )
+ {
+ $AnzahlEintraege++;
+ $Out.= ausgabe_Feld_Inhalt( mysql_result( $ErgRoom, $i-1, "SID"),
+ mysql_result( $ErgRoom, $i-1, "Man"));
+ if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) )
+ $Out.= "<br />";
+// $Out.= "<hr width=\"95%\" align=\"center\">\n";
+
+ }
+ else
+ $Out.= "&nbsp;";
+
+ $Out.= "</td>\n";
+
+ return $Out;
}
?>
diff --git a/includes/funktion_user.php b/includes/funktion_user.php
deleted file mode 100755
index 0cdf8144..00000000
--- a/includes/funktion_user.php
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-function UID2Nick($UID)
-{
- global $con;
-
- if( $UID>0) {
- $SQL = "SELECT Nick FROM `User` WHERE UID='$UID'";
- } else {
- $SQL = "SELECT Name FROM `UserGroups` WHERE UID='$UID'";
- }
- $Erg = mysql_query($SQL, $con);
-
- //echo $UID."#";
- if( mysql_num_rows($Erg)) {
- if( $UID>0 ) {
- return mysql_result($Erg, 0);
- } else {
- return "Group-".mysql_result($Erg, 0);
- }
- } else {
- if( $UID == -1)
- return "logout User";
- else
- return "UserID $UID not found";
- }
-}
-
-
-function TID2Type($TID)
-{
- global $con;
-
- $SQL = "SELECT Name FROM `EngelType` WHERE TID='$TID'";
- $Erg = mysql_query($SQL, $con);
-
- if( mysql_num_rows($Erg))
- return mysql_result($Erg, 0);
- else
- return "";
-}
-
-
-function ReplaceSmilies($eckig)
-{
- global $url, $ENGEL_ROOT;
-
- $neueckig = $eckig;
- $neueckig = str_replace(";o))", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_redface.gif\">",$neueckig);
- $neueckig = str_replace(":-))", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_redface.gif\">",$neueckig);
- $neueckig = str_replace(";o)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_wind.gif\">",$neueckig);
- $neueckig = str_replace(":)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_smile.gif\">",$neueckig);
- $neueckig = str_replace(":-)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_smile.gif\">",$neueckig);
- $neueckig = str_replace(":(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_sad.gif\">",$neueckig);
- $neueckig = str_replace(":-(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_sad.gif\">",$neueckig);
- $neueckig = str_replace(":o(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_sad.gif\">",$neueckig);
- $neueckig = str_replace(":o)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_lol.gif\">",$neueckig);
- $neueckig = str_replace(";o(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_cry.gif\">",$neueckig);
- $neueckig = str_replace(";(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_cry.gif\">",$neueckig);
- $neueckig = str_replace(";-(", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_cry.gif\">",$neueckig);
- $neueckig = str_replace("8)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_rolleyes.gif\">",$neueckig);
- $neueckig = str_replace("8o)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_rolleyes.gif\">",$neueckig);
- $neueckig = str_replace(":P", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_evil.gif\">",$neueckig);
- $neueckig = str_replace(":-P", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_evil.gif\">",$neueckig);
- $neueckig = str_replace(":oP", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_evil.gif\">",$neueckig);
- $neueckig = str_replace(";P", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_mad.gif\">",$neueckig);
- $neueckig = str_replace(";oP", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_mad.gif\">",$neueckig);
- $neueckig = str_replace("?)", "<img src=\"". $url. $ENGEL_ROOT. "pic/smiles/icon_question.gif\">",$neueckig);
- return $neueckig;
-}
-
-
-function GetPicturShow($UID)
-{
- global $con;
-
- $SQL= "SELECT `show` FROM `UserPicture` WHERE `UID`='$UID'";
- $res = mysql_query( $SQL, $con);
- if( mysql_num_rows($res) == 1)
- return mysql_result( $res, 0, 0);
- else
- return "";
-}
-
-
-/* Parameter:
- <UserID>
- [<Höhe des Bildes (wenn die höhe kleiner 1 ist wird die höhe nicht begrenzt)>] */
-function displayPictur($UID, $height="30")
-{
- global $url, $ENGEL_ROOT;
- if( $height > 0)
- return( "<img src=\"". $url. $ENGEL_ROOT. "ShowUserPicture.php?UID=$UID\" height=\"$height\" alt=\"picture of USER$UID\" class=\"photo\">");
- else
- return( "<img src=\"". $url. $ENGEL_ROOT. "ShowUserPicture.php?UID=$UID\" alt=\"picture of USER$UID\">");
-}
-
-
-/* Parameter:
- <UserID>
- [<Höhe des Bildes (wenn die höhe kleiner 1 ist wird die höhe nicht begrenzt)>] */
-function displayavatar( $UID, $height="30")
-{
- global $con, $url, $ENGEL_ROOT;
-
- if( GetPicturShow($UID) == 'Y')
- return "&nbsp;". displayPictur( $UID, $height);
-
- // show avator
- $asql = "select * from User where UID = $UID";
- $aerg = mysql_query ($asql, $con);
- if( mysql_num_rows($aerg) )
- if( mysql_result($aerg, 0, "Avatar") > 0)
- return ("&nbsp;<img src=\"". $url. $ENGEL_ROOT. "pic/avatar/avatar". mysql_result($aerg, 0, "Avatar"). ".gif\">");
-
-}
-
-function UIDgekommen($UID)
-{
- global $con;
-
- $SQL = "SELECT `Gekommen` FROM `User` WHERE UID='$UID'";
- $Erg = mysql_query($SQL, $con);
-
- //echo $UID."#";
- if( mysql_num_rows($Erg))
- return mysql_result($Erg, 0);
- else
- return "0";
-}
-
-?>
diff --git a/includes/funktion_xml.php b/includes/funktion_xml.php
index 8e911a4f..4ab3bfd5 100755..100644
--- a/includes/funktion_xml.php
+++ b/includes/funktion_xml.php
@@ -1,162 +1,152 @@
-<?PHP
-
-
-class element
-{
+<?php
+class element {
var $name = '';
- var $attributes = array();
+ var $attributes = array ();
var $data = '';
var $depth = 0;
- var $sub = array();
+ var $sub = array ();
}
$XMLDEBUG = 0;
$depth = 0;
$XMLmain = new element;
-$XMLpos = array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+$XMLpos = array (
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+);
//$XMLpos = array( 0, 0, 0, 0, 0, 0);
-
-function convertValues( $Data)
-{
+
+function convertValues($Data) {
global $XMLDEBUG;
- if( $XMLDEBUG)
- {
+
+ if ($XMLDEBUG) {
$Data = htmlspecialchars($Data);
$Data = mysql_escape_string($Data);
$Data = htmlentities($Data);
}
+
$Data = utf8_decode($Data);
return $Data;
}
-
-function dataXMLmain( $Data, &$Objekt, $Tiefe )
-{
+function dataXMLmain($Data, & $Objekt, $Tiefe) {
global $XMLmain, $XMLpos, $depth, $XMLDEBUG;
-
- if( $XMLDEBUG)
- echo "?$Tiefe$depth";
- if( ($depth-1)==$Tiefe)
- {
-// $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= convertValues($Data);
- $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= htmlentities( convertValues($Data), ENT_QUOTES);
-
- if( $XMLDEBUG)
- echo "???". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. "|$Data|$Tiefe???<br>";
- }
- else
- dataXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1);
+
+ if ($XMLDEBUG)
+ echo "?$Tiefe$depth";
+
+ if (($depth -1) == $Tiefe) {
+ $Objekt->sub[$XMLpos[$Tiefe]]->data .= htmlentities(convertValues($Data), ENT_QUOTES);
+
+ if ($XMLDEBUG)
+ echo "???" . $Objekt->sub[$XMLpos[$Tiefe]]->name . "|$Data|$Tiefe???<br />";
+ } else
+ dataXMLmain($Data, $Objekt->sub[$XMLpos[$Tiefe]], $Tiefe +1);
}
-function startXMLmain( $Data, &$Objekt, $Tiefe )
-{
+function startXMLmain($Data, & $Objekt, $Tiefe) {
global $XMLpos, $depth, $XMLDEBUG;
- if( $XMLDEBUG)
- if($Tiefe==1)
- { print_r(array_values ($XMLpos)); echo "--".$Data->name;
- echo " #$Tiefe/$depth#";
- }
-
- if( $depth==$Tiefe)
- {
- $Objekt->sub[ $XMLpos[$Tiefe] ] = $Data;
- if( $XMLDEBUG)
- echo "|". $XMLpos[$Tiefe]."|". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. " ". $Data->name." save|". "#-#<br>";
- }
- else
- startXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1);
+ if ($XMLDEBUG)
+ if ($Tiefe == 1) {
+ print_r(array_values($XMLpos));
+ echo "--" . $Data->name;
+ echo " #$Tiefe/$depth#";
+ }
+
+ if ($depth == $Tiefe) {
+ $Objekt->sub[$XMLpos[$Tiefe]] = $Data;
+ if ($XMLDEBUG)
+ echo "|" . $XMLpos[$Tiefe] . "|" . $Objekt->sub[$XMLpos[$Tiefe]]->name . " " . $Data->name . " save|" . "#-#<br />";
+ } else
+ startXMLmain($Data, $Objekt->sub[$XMLpos[$Tiefe]], $Tiefe +1);
}
-function start_element_handler($parser, $name, $attribs)
-{
+function start_element_handler($parser, $name, $attribs) {
global $depth, $XMLmain, $XMLpos;
$Data = new element;
$Data->name = $name;
- while(list($key, $value) = each($attribs))
+ while (list ($key, $value) = each($attribs))
$Data->attributes[$key] = convertValues($value);
$Data->depth = $depth;
- $XMLpos[$depth]++;
+ $XMLpos[$depth]++;
- if( $depth==0)
- $XMLmain= $Data;
+ if ($depth == 0)
+ $XMLmain = $Data;
else
- startXMLmain( $Data, $XMLmain, 1);
+ startXMLmain($Data, $XMLmain, 1);
$depth++;
}
-function end_element_handler($parser, $name)
-{
+function end_element_handler($parser, $name) {
global $depth, $XMLpos;
- $XMLpos[$depth]=0;
+ $XMLpos[$depth] = 0;
$depth--;
}
-function character_data_handler($parser, $data)
-{
+function character_data_handler($parser, $data) {
global $XMLmain;
- if( strlen(trim($data)) )
- dataXMLmain( $data, $XMLmain, 1);
+ if (strlen(trim($data)))
+ dataXMLmain($data, $XMLmain, 1);
}
/*#######################################################################################*/
-function readXMLfile( $file )
-{
+function readXMLfile($file) {
global $XMLDEBUG;
-
+
//$xml_parser = xml_parser_create_ns();
$xml_parser = xml_parser_create("UTF-8");
xml_set_element_handler($xml_parser, "start_element_handler", "end_element_handler");
xml_set_character_data_handler($xml_parser, "character_data_handler");
-
- if (file_exists($file))
- {
- if (!($fp = fopen($file, "r")))
- {
- echo(" <h1>could not open XML file \"$file\"</h1>");
+
+ if (file_exists($file)) {
+ if (!($fp = fopen($file, "r"))) {
+ echo (" <h1>could not open XML file \"$file\"</h1>");
return -1;
}
- }
- else
- {
- echo(" <h1>XML file \"$file\" not exist</h1>");
+ } else {
+ echo (" <h1>XML file \"$file\" not exist</h1>");
return -1;
}
- if( $XMLDEBUG) echo "<pre>";
- while ($data = fread($fp, 4096))
- {
- if (!xml_parse($xml_parser, $data, feof($fp)))
- {
- die(sprintf("XML error: %s at line %d",
- xml_error_string(xml_get_error_code($xml_parser)),
- xml_get_current_line_number($xml_parser)));
+ if ($XMLDEBUG)
+ echo "<pre>";
+ while ($data = fread($fp, 4096)) {
+ if (!xml_parse($xml_parser, $data, feof($fp))) {
+ die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
}
}
- if( $XMLDEBUG) echo "</pre>";
+ if ($XMLDEBUG)
+ echo "</pre>";
xml_parser_free($xml_parser);
return 0;
}
/*#######################################################################################*/
-function getXMLsubPease( $Sourse, $Name )
-{
- foreach($Sourse->sub as $key => $value) {
+function getXMLsubPease($Sourse, $Name) {
+ foreach ($Sourse->sub as $key => $value) {
if ($value->name == $Name) {
- return $value;
+ return $value;
}
}
-
- echo "<h1>Fehler: getXMLsubPease( $Sourse, $Name ) not found</h1>";
-// die;
+ // die;
}
/*#######################################################################################*/
-function getXMLsubData( $Sourse, $Name )
-{
- $XML = getXMLsubPease( $Sourse, $Name);
+function getXMLsubData($Sourse, $Name) {
+ $XML = getXMLsubPease($Sourse, $Name);
return $XML->data;
}
?>
diff --git a/includes/funktion_xml_room.php b/includes/funktion_xml_room.php
index a8f626d1..f31d5661 100755..100644
--- a/includes/funktion_xml_room.php
+++ b/includes/funktion_xml_room.php
@@ -1,69 +1,61 @@
-<?PHP
-
-
-/*##############################################################################################
- R o o m
- ##############################################################################################*/
-echo "\n\n<br>\n<h1>Rooms:</h1>\n";
-
-function saveRoomData()
-{
- global $con;
- if( isset($_GET["NameXML"]))
- {
- $SQL= "INSERT INTO `Room` ( `Name`, `FromPentabarf` ) ".
- "VALUES ('". mysql_escape_string($_GET["NameXML"]). "', 'Y');";
- $Erg = mysql_query($SQL, $con);
- if( $Erg )
- echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war erfogreich<br>";
- else
- echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war <u>nicht</u> erfogreich.(".
- mysql_error($con). ")<br>[$SQL]<br>";
- }
- else
- echo "Fehler in den Parametern!<br>";
-} /*function saveRoomData*/
-
-if( isset($_GET["RoomUpdate"]))
- saveRoomData();
-
-//INIT Status counter
-$DS_KO = 0;
-
-//Ausgabe
-echo "<table border=\"0\">\n";
-echo "<tr><th>Name</th><th>state</th></tr>\n";
-if( $EnableSchudle)
-foreach($XMLmain->sub as $EventKey => $Event)
-{
- if( $Event->name == "VEVENT")
- {
- $NameXML = getXMLsubData( $Event, "LOCATION");
- if( !isset( $RoomName[$NameXML]))
- {
- $RoomName[$NameXML] = "";
-
- if( isset($_GET["UpdateALL"]))
- {
- $_GET["NameXML"] = $NameXML;
- saveRoomData();
- CreateRoomArrays();
- }
- else
- {
- echo "<form action=\"dbUpdateFromXLS.php\">\n";
- echo "\t<tr>\n";
- echo "\t<td><input name=\"NameXML\" type=\"text\" value=\"$NameXML\" readonly></td>\n";
- echo "\t<td><input type=\"submit\" name=\"RoomUpdate\" value=\"update\"></td>\n";
- $DS_KO++;
- echo "\t</tr>\n";
- echo "</form>\n";
- echo "<br>";
- }
- }
- }
-}
-echo "<tr><td colspan=\"6\">status: $DS_KO nicht vorhanden.</td></tr>\n";
-echo "</table>\n";
-
-?>
+<?php
+ echo "<h1>Rooms:</h1>\n";
+
+ function saveRoomData() {
+ global $con;
+
+ if(isset($_GET["NameXML"])) {
+ $SQL = "INSERT INTO `Room` ( `Name`, `FromPentabarf` ) ".
+ "VALUES ('". mysql_escape_string($_GET["NameXML"]). "', 'Y');";
+ $Erg = mysql_query($SQL, $con);
+
+ if($Erg)
+ echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war erfogreich<br />";
+ else
+ echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war <u>nicht</u> erfogreich.(".
+
+ mysql_error($con). ")<br />[$SQL]<br />";
+ } else
+ echo "Fehler in den Parametern!<br />";
+ }
+
+ if(isset($_GET["RoomUpdate"]))
+ saveRoomData();
+
+ // INIT Status counter
+ $DS_KO = 0;
+
+ // Ausgabe
+ echo "<table border=\"0\">\n";
+ echo "<tr><th>Name</th><th>state</th></tr>\n";
+
+ if($EnableSchudle) {
+ foreach($XMLmain->sub as $EventKey => $Event) {
+ if( $Event->name == "VEVENT") {
+ $NameXML = getXMLsubData( $Event, "LOCATION");
+
+ if( !isset( $RoomName[$NameXML])) {
+ $RoomName[$NameXML] = "";
+
+ if(isset($_GET["UpdateALL"])) {
+ $_GET["NameXML"] = $NameXML;
+ saveRoomData();
+ CreateRoomArrays();
+ } else {
+ echo "<form action=\"dbUpdateFromXLS.php\">\n";
+ echo "<tr>\n";
+ echo "<td><input name=\"NameXML\" type=\"text\" value=\"$NameXML\" readonly></td>\n";
+ echo "<td><input type=\"submit\" name=\"RoomUpdate\" value=\"update\"></td>\n";
+ $DS_KO++;
+ echo "</tr>\n";
+ echo "</form>\n";
+ echo "<br />";
+ }
+ }
+ }
+ }
+ }
+
+ echo "<tr><td colspan=\"6\">status: $DS_KO nicht vorhanden.</td></tr>\n";
+ echo "</table>\n";
+?>
diff --git a/includes/funktion_xml_schudle.php b/includes/funktion_xml_schudle.php
index 4ef0a42f..f73f11ad 100755..100644
--- a/includes/funktion_xml_schudle.php
+++ b/includes/funktion_xml_schudle.php
@@ -1,178 +1,178 @@
-<?PHP
+<?php
/*##############################################################################################
- s c h e d u l e
+ s c h e d u l e
##############################################################################################*/
echo "\n\n<h1>Schedule:</h1>\n";
function SaveSchedule()
{
- global $RoomID, $RoomName;
- global $con;
+ global $RoomID, $RoomName;
+ global $con;
- if( isset($_GET["PSIDXML"]) &&
- isset($_GET["DateXML"]) &&
- isset($_GET["RIDXML"]) &&
- isset($_GET["LenXML"]) &&
- isset($_GET["ManXML"]) &&
- isset($_GET["URLXML"]) )
- {
- //erzeuge von `DateE`
- $TimeStart = substr( $_GET["DateXML"], 11, 2) + (substr($_GET["DateXML"], 14, 2)/60);
- $TimeEnd = ($_GET["LenXML"] + $TimeStart) * 60;
- $TimeM = $TimeEnd % 60;
- $TimeH = ($TimeEnd - $TimeM)/60;
- if( $TimeH>=24 )
- {
- $TimeH -= 24;
- $DateEnd = substr($_GET["DateXML"], 0, 8).
- (substr($_GET["DateXML"], 8, 2)+1). " ";
- }
- else
- $DateEnd = substr($_GET["DateXML"], 0, 11);
- $DateEnd .= "$TimeH:$TimeM:00";
-
- //Namen ermitteln
- $_GET["RIDXML"] = $RoomName[$_GET["RIDXML"]];
-
- //Update OR insert ?
- $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
- $Erg1 = mysql_query($SQL1, $con);
-
- if( mysql_num_rows($Erg1)==0)
- {
- echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "'";
- $SQL= "INSERT INTO `Shifts` (`PSID`, `DateS`, `DateE`, `Len`, `RID`, `Man`, `URL`) ".
- "VALUES ('". $_GET["PSIDXML"]. "', ".
- "'". $_GET["DateXML"]. "', ".
- "'". $DateEnd. "', ".
- "'". $_GET["LenXML"]. "', ".
- "'". $_GET["RIDXML"]. "', ".
- "'". mysql_escape_string($_GET["ManXML"]). "', ".
- "'". $_GET["URLXML"]. "'".
- ");";
- }
- else
- {
- echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "' (SID ".
- mysql_result( $Erg1, 0, "SID"). ")";
- $SQL= "UPDATE `Shifts` SET ".
- "`DateS` = '". $_GET["DateXML"]. "', ".
- "`DateE` = '". $DateEnd. "', ".
- "`Len` = '". $_GET["LenXML"]. "', ".
- "`RID` = '". $_GET["RIDXML"]. "', ".
- "`Man` = '". mysql_escape_string($_GET["ManXML"]). "', ".
- "`URL`= '". $_GET["URLXML"]. "' ".
- "WHERE `PSID` = '". $_GET["PSIDXML"]. "' LIMIT 1;";
- }
- $Erg = mysql_query($SQL, $con);
- if( $Erg )
- {
- echo ", war erfogreich<br>\n";
+ if( isset($_GET["PSIDXML"]) &&
+ isset($_GET["DateXML"]) &&
+ isset($_GET["RIDXML"]) &&
+ isset($_GET["LenXML"]) &&
+ isset($_GET["ManXML"]) &&
+ isset($_GET["URLXML"]) )
+ {
+ //erzeuge von `DateE`
+ $TimeStart = substr( $_GET["DateXML"], 11, 2) + (substr($_GET["DateXML"], 14, 2)/60);
+ $TimeEnd = ($_GET["LenXML"] + $TimeStart) * 60;
+ $TimeM = $TimeEnd % 60;
+ $TimeH = ($TimeEnd - $TimeM)/60;
+ if( $TimeH>=24 )
+ {
+ $TimeH -= 24;
+ $DateEnd = substr($_GET["DateXML"], 0, 8).
+ (substr($_GET["DateXML"], 8, 2)+1). " ";
+ }
+ else
+ $DateEnd = substr($_GET["DateXML"], 0, 11);
+ $DateEnd .= "$TimeH:$TimeM:00";
+
+ //Namen ermitteln
+ $_GET["RIDXML"] = $RoomName[$_GET["RIDXML"]];
+
+ //Update OR insert ?
+ $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
+ $Erg1 = mysql_query($SQL1, $con);
+
+ if( mysql_num_rows($Erg1)==0)
+ {
+ echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "'";
+ $SQL= "INSERT INTO `Shifts` (`PSID`, `DateS`, `DateE`, `Len`, `RID`, `Man`, `URL`) ".
+ "VALUES ('". $_GET["PSIDXML"]. "', ".
+ "'". $_GET["DateXML"]. "', ".
+ "'". $DateEnd. "', ".
+ "'". $_GET["LenXML"]. "', ".
+ "'". $_GET["RIDXML"]. "', ".
+ "'". mysql_escape_string($_GET["ManXML"]). "', ".
+ "'". $_GET["URLXML"]. "'".
+ ");";
+ }
+ else
+ {
+ echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "' (SID ".
+ mysql_result( $Erg1, 0, "SID"). ")";
+ $SQL= "UPDATE `Shifts` SET ".
+ "`DateS` = '". $_GET["DateXML"]. "', ".
+ "`DateE` = '". $DateEnd. "', ".
+ "`Len` = '". $_GET["LenXML"]. "', ".
+ "`RID` = '". $_GET["RIDXML"]. "', ".
+ "`Man` = '". mysql_escape_string($_GET["ManXML"]). "', ".
+ "`URL`= '". $_GET["URLXML"]. "' ".
+ "WHERE `PSID` = '". $_GET["PSIDXML"]. "' LIMIT 1;";
+ }
+ $Erg = mysql_query($SQL, $con);
+ if( $Erg )
+ {
+ echo ", war erfogreich<br />\n";
- //SID auslesen
- $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
- $Erg1 = mysql_query($SQL1, $con);
- $newSID = mysql_result($Erg1, 0, 0);
+ //SID auslesen
+ $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
+ $Erg1 = mysql_query($SQL1, $con);
+ $newSID = mysql_result($Erg1, 0, 0);
- // erstellt ein Array der Reume
- $sql2 = "SELECT * FROM `Room` ".
- "WHERE `RID`='".$_GET["RIDXML"]. "' ".
- "ORDER BY `Number`, `Name`;";
- $Erg2 = mysql_query( $sql2, $con);
- for( $j=0; $j<mysql_num_fields( $Erg2); $j++)
- {
- if( substr( mysql_field_name($Erg2, $j), 0, 12)=="DEFAULT_EID_" )
- {
- // extract db values
- $EngelNeeded = mysql_result($Erg2, 0, $j);
- $EngelTypeID = substr( mysql_field_name($Erg2, $j), 12);
+ // erstellt ein Array der Reume
+ $sql2 = "SELECT * FROM `Room` ".
+ "WHERE `RID`='".$_GET["RIDXML"]. "' ".
+ "ORDER BY `Number`, `Name`;";
+ $Erg2 = mysql_query( $sql2, $con);
+ for( $j=0; $j<mysql_num_fields( $Erg2); $j++)
+ {
+ if( substr( mysql_field_name($Erg2, $j), 0, 12)=="DEFAULT_EID_" )
+ {
+ // extract db values
+ $EngelNeeded = mysql_result($Erg2, 0, $j);
+ $EngelTypeID = substr( mysql_field_name($Erg2, $j), 12);
- // chech exist shifts
- $sqlShifts = "SELECT * FROM `ShiftEntry` ".
- "WHERE `SID`='". $newSID. "' AND ".
- "`TID` = '". $EngelTypeID. "';";
- $ErgShifts = mysql_query( $sqlShifts, $con);
- $EngelNeeded_Exist = mysql_num_rows( $ErgShifts);
-
- // check for not empty shifts
- $sqlShiftsNotEmpty = "SELECT * FROM `ShiftEntry` ".
- "WHERE `SID`='". $newSID. "' AND ".
- "`TID` = '". $EngelTypeID. "' AND ".
- "`UID` != 0 ;";
- $ErgShiftsNotEmpty = mysql_query( $sqlShiftsNotEmpty, $con);
- $EngelNeeded_NotEmpty = mysql_num_rows( $ErgShiftsNotEmpty);
-
- // Angel create/delte?
- if( $EngelNeeded > $EngelNeeded_Exist)
- {
- echo "---->Create Shifts for engeltype: ". TID2Type($EngelTypeID). " ".
- ($EngelNeeded-$EngelNeeded_Exist). "x<br>\n------>\n";
- for( $i=0; $i < ($EngelNeeded-$EngelNeeded_Exist); $i++ )
- {
- $SQL3 = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (".
- "'". $newSID. "', ".
- "'". $EngelTypeID. "');";
- $Erg3 = mysql_query($SQL3, $con);
- if ($Erg3 == 1)
- echo "pass ";
- else
- echo "fail <u>". mysql_error($con).
- "</u>($SQL3)<br>\n";
- }
- echo "<br>\n";
- }
- else if ($EngelNeeded < $EngelNeeded_Exist)
- {
- if( $EngelNeeded > $EngelNeeded_NotEmpty)
- {
- $EngelMin = $EngelNeeded;
- }
- else
- {
- $EngelMin = $EngelNeeded_NotEmpty;
- echo "---> WARING ". $EngelNeeded_NotEmpty.
- " shift is used, can't del ". TID2Type($EngelTypeID). " shifts\t";
- }
+ // chech exist shifts
+ $sqlShifts = "SELECT * FROM `ShiftEntry` ".
+ "WHERE `SID`='". $newSID. "' AND ".
+ "`TID` = '". $EngelTypeID. "';";
+ $ErgShifts = mysql_query( $sqlShifts, $con);
+ $EngelNeeded_Exist = mysql_num_rows( $ErgShifts);
+
+ // check for not empty shifts
+ $sqlShiftsNotEmpty = "SELECT * FROM `ShiftEntry` ".
+ "WHERE `SID`='". $newSID. "' AND ".
+ "`TID` = '". $EngelTypeID. "' AND ".
+ "`UID` != 0 ;";
+ $ErgShiftsNotEmpty = mysql_query( $sqlShiftsNotEmpty, $con);
+ $EngelNeeded_NotEmpty = mysql_num_rows( $ErgShiftsNotEmpty);
+
+ // Angel create/delte?
+ if( $EngelNeeded > $EngelNeeded_Exist)
+ {
+ echo "---->Create Shifts for engeltype: ". TID2Type($EngelTypeID). " ".
+ ($EngelNeeded-$EngelNeeded_Exist). "x<br />\n------>\n";
+ for( $i=0; $i < ($EngelNeeded-$EngelNeeded_Exist); $i++ )
+ {
+ $SQL3 = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (".
+ "'". $newSID. "', ".
+ "'". $EngelTypeID. "');";
+ $Erg3 = mysql_query($SQL3, $con);
+ if ($Erg3 == 1)
+ echo "pass ";
+ else
+ echo "fail <u>". mysql_error($con).
+ "</u>($SQL3)<br />\n";
+ }
+ echo "<br />\n";
+ }
+ else if ($EngelNeeded < $EngelNeeded_Exist)
+ {
+ if( $EngelNeeded > $EngelNeeded_NotEmpty)
+ {
+ $EngelMin = $EngelNeeded;
+ }
+ else
+ {
+ $EngelMin = $EngelNeeded_NotEmpty;
+ echo "---> WARING ". $EngelNeeded_NotEmpty.
+ " shift is used, can't del ". TID2Type($EngelTypeID). " shifts";
+ }
- echo "---->Delete empty Shifts for engeltype: ". TID2Type($EngelTypeID). " ".
- ($EngelNeeded_Exist-$EngelMin)."x<br>\n------>\n";
- for( $i=$EngelMin; $i<$EngelNeeded_Exist; $i++ )
- {
- $SQL3 = "DELETE FROM `ShiftEntry` ".
- "WHERE `SID` = ". $newSID. " AND ".
- "`TID` = ". $EngelTypeID. " AND ".
- "`UID` = 0 ".
- "LIMIT 1;";
- $Erg3 = mysql_query($SQL3, $con);
- if ($Erg3 == 1)
- echo "pass ";
- else
- echo "fail <u>". mysql_error($con).
- "</u>($SQL3)<br>\n";
- }
- echo "<br>\n";
- }
- else
- {
-// echo "---->Nothing to do, for engeltype: ". TID2Type($EngelTypeID). "<br>\n";
- }
- }
- }
+ echo "---->Delete empty Shifts for engeltype: ". TID2Type($EngelTypeID). " ".
+ ($EngelNeeded_Exist-$EngelMin)."x<br />\n------>\n";
+ for( $i=$EngelMin; $i<$EngelNeeded_Exist; $i++ )
+ {
+ $SQL3 = "DELETE FROM `ShiftEntry` ".
+ "WHERE `SID` = ". $newSID. " AND ".
+ "`TID` = ". $EngelTypeID. " AND ".
+ "`UID` = 0 ".
+ "LIMIT 1;";
+ $Erg3 = mysql_query($SQL3, $con);
+ if ($Erg3 == 1)
+ echo "pass ";
+ else
+ echo "fail <u>". mysql_error($con).
+ "</u>($SQL3)<br />\n";
+ }
+ echo "<br />\n";
+ }
+ else
+ {
+// echo "---->Nothing to do, for engeltype: ". TID2Type($EngelTypeID). "<br />\n";
+ }
+ }
+ }
- }
- else
- echo ", war <u>nicht</u> erfogreich.(".
- mysql_error($con). ")<br>[$SQL]<br>\n";
- }
- else
- echo "Fehler in den Parametern!<br>";
+ }
+ else
+ echo ", war <u>nicht</u> erfogreich.(".
+ mysql_error($con). ")<br />[$SQL]<br />\n";
+ }
+ else
+ echo "Fehler in den Parametern!<br />";
} /*SaveSchedule*/
if( isset($_GET["ScheduleUpdate"]))
- SaveSchedule();
+ SaveSchedule();
//INIT Status counter
$DS_OK = 0;
@@ -182,127 +182,127 @@ $Where = "";
//ausgabe
echo "<table border=\"0\">\n";
echo "<tr><th>PSID</th><th>Date</th>".
- "<th>Room</th><th>Len</th><th>Name</th><th>state</th></tr>\n";
+ "<th>Room</th><th>Len</th><th>Name</th><th>state</th></tr>\n";
echo "<tr align=\"center\"><td>XML - DB</td><td>XML - DB</td>".
- "<td>XML - DB</td><td>XML - DB</td><td>XML - DB</td><td></td></tr>\n";
+ "<td>XML - DB</td><td>XML - DB</td><td>XML - DB</td><td></td></tr>\n";
if( $EnableSchudle)
foreach($XMLmain->sub as $EventKey => $Event)
{
- if( $Event->name == "VEVENT")
- {
- echo "<form action=\"dbUpdateFromXLS.php\">\n";
- echo "\t<tr>\n";
-
- $PSIDXML = getXMLsubData( $Event, "UID");
- $DateXML =
- substr( getXMLsubData( $Event, "DTSTART"), 0, 4). "-".
- substr( getXMLsubData( $Event, "DTSTART"), 4, 2). "-".
- substr( getXMLsubData( $Event, "DTSTART"), 6, 2). " ".
- substr( getXMLsubData( $Event, "DTSTART"), 9, 2). ":".
- substr( getXMLsubData( $Event, "DTSTART"), 11,2). ":00";
- $LenXML = substr( getXMLsubData( $Event, "DURATION"), 0, 2) + ( substr( getXMLsubData( $Event, "DURATION"), 3, 2)/60);
- $RIDXML = getXMLsubData( $Event, "LOCATION");
- $ManXML = getXMLsubData( $Event, "SUMMARY");
- $URLXML = getXMLsubData( $Event, "URL");
-
- if( isset($_GET["UpdateALL"]))
- {
- $_GET["PSIDXML"] = $PSIDXML;
- $_GET["DateXML"] = $DateXML;
- $_GET["LenXML"] = $LenXML;
- $_GET["RIDXML"] = $RIDXML;
- $_GET["ManXML"] = $ManXML;
- $_GET["URLXML"] = $URLXML;
- SaveSchedule();
- }
-
- $SQL = "SELECT * FROM `Shifts` WHERE `PSID`='$PSIDXML'";
- $Erg = mysql_query($SQL, $con);
- if(mysql_num_rows($Erg)>0)
- {
- $SIDDB = mysql_result($Erg, 0, "SID");
- $PSIDDB = mysql_result($Erg, 0, "PSID");
- $TimeDB = mysql_result($Erg, 0, "DateS");
- $LenDB = mysql_result($Erg, 0, "Len");
- if( isset($RoomID[mysql_result($Erg, 0, "RID")]))
- $RIDDB = $RoomID[mysql_result($Erg, 0, "RID")];
- else
- $RIDDB = "RID". mysql_result($Erg, 0, "RID");
-
- $ManDB = mysql_result($Erg, 0, "Man");
- $URLDB = mysql_result($Erg, 0, "URL");
- }
- else
- $SIDDB = $PSIDDB = $TimeDB = $LenDB = $RIDDB = $ManDB = $URLDB = "";
+ if( $Event->name == "VEVENT")
+ {
+ echo "<form action=\"dbUpdateFromXLS.php\">\n";
+ echo "<tr>\n";
+
+ $PSIDXML = getXMLsubData( $Event, "UID");
+ $DateXML =
+ substr( getXMLsubData( $Event, "DTSTART"), 0, 4). "-".
+ substr( getXMLsubData( $Event, "DTSTART"), 4, 2). "-".
+ substr( getXMLsubData( $Event, "DTSTART"), 6, 2). " ".
+ substr( getXMLsubData( $Event, "DTSTART"), 9, 2). ":".
+ substr( getXMLsubData( $Event, "DTSTART"), 11,2). ":00";
+ $LenXML = substr( getXMLsubData( $Event, "DURATION"), 0, 2) + ( substr( getXMLsubData( $Event, "DURATION"), 3, 2)/60);
+ $RIDXML = getXMLsubData( $Event, "LOCATION");
+ $ManXML = getXMLsubData( $Event, "SUMMARY");
+ $URLXML = getXMLsubData( $Event, "URL");
+
+ if( isset($_GET["UpdateALL"]))
+ {
+ $_GET["PSIDXML"] = $PSIDXML;
+ $_GET["DateXML"] = $DateXML;
+ $_GET["LenXML"] = $LenXML;
+ $_GET["RIDXML"] = $RIDXML;
+ $_GET["ManXML"] = $ManXML;
+ $_GET["URLXML"] = $URLXML;
+ SaveSchedule();
+ }
+
+ $SQL = "SELECT * FROM `Shifts` WHERE `PSID`='$PSIDXML'";
+ $Erg = mysql_query($SQL, $con);
+ if(mysql_num_rows($Erg)>0)
+ {
+ $SIDDB = mysql_result($Erg, 0, "SID");
+ $PSIDDB = mysql_result($Erg, 0, "PSID");
+ $TimeDB = mysql_result($Erg, 0, "DateS");
+ $LenDB = mysql_result($Erg, 0, "Len");
+ if( isset($RoomID[mysql_result($Erg, 0, "RID")]))
+ $RIDDB = $RoomID[mysql_result($Erg, 0, "RID")];
+ else
+ $RIDDB = "RID". mysql_result($Erg, 0, "RID");
+
+ $ManDB = mysql_result($Erg, 0, "Man");
+ $URLDB = mysql_result($Erg, 0, "URL");
+ }
+ else
+ $SIDDB = $PSIDDB = $TimeDB = $LenDB = $RIDDB = $ManDB = $URLDB = "";
- echo "\t<td><input name=\"PSIDXML\" type=\"text\" value=\"$PSIDXML\" size=\"2\" eadonly></td>\n";
- echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"$DateXML\" size=\"17\" readonly>\n\t\t".
- "<input name=\"DateDB\" type=\"text\" value=\"$TimeDB\" size=\"17\" readonly></td>\n";
- echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"$RIDXML\" size=\"15\" readonly>\n\t\t".
- "<input name=\"RIDDB\" type=\"text\" value=\"$RIDDB\" size=\"15\" readonly></td>\n";
- echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"$LenXML\" size=\"1\"readonly>\n\t\t".
- "<input name=\"LenDB\" type=\"text\" value=\"$LenDB\" size=\"1\"readonly></td>\n";
- echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"$ManXML\" size=\"40\"readonly>\n\t\t".
- "<input name=\"ManDB\" type=\"text\" value=\"$ManDB\" size=\"40\"readonly></td>\n";
- echo "\t<td><input name=\"URLXML\" type=\"hidden\" value=\"$URLXML\"></td>\n";
- echo "\t<td><input name=\"URLDB\" type=\"hidden\" value=\"$URLDB\"></td>\n";
- if( !( $PSIDXML==$PSIDDB &&
- $DateXML==$TimeDB &&
- $RIDXML==$RIDDB &&
- $LenXML==$LenDB &&
- $ManXML==$ManDB &&
- $URLXML==$URLDB) )
- {
- echo "\t<td><input type=\"submit\" name=\"ScheduleUpdate\" value=\"update\"></td>\n";
- $DS_KO++;
- }
- else
- {
- echo "\t<td>". funktion_isLinkAllowed_addLink_OrLinkText("admin/schichtplan.php?action=change&SID=".$SIDDB, "edit"). "</td>\n";
- $DS_OK++;
- }
- echo "\t</tr>\n";
- echo "</form>\n";
- $Where.= " OR `PSID`='$PSIDXML'";
- }
+ echo "<td><input name=\"PSIDXML\" type=\"text\" value=\"$PSIDXML\" size=\"2\" eadonly></td>\n";
+ echo "<td><input name=\"DateXML\" type=\"text\" value=\"$DateXML\" size=\"17\" readonly>\n".
+ "<input name=\"DateDB\" type=\"text\" value=\"$TimeDB\" size=\"17\" readonly></td>\n";
+ echo "<td><input name=\"RIDXML\" type=\"text\" value=\"$RIDXML\" size=\"15\" readonly>\n".
+ "<input name=\"RIDDB\" type=\"text\" value=\"$RIDDB\" size=\"15\" readonly></td>\n";
+ echo "<td><input name=\"LenXML\" type=\"text\" value=\"$LenXML\" size=\"1\"readonly>\n".
+ "<input name=\"LenDB\" type=\"text\" value=\"$LenDB\" size=\"1\"readonly></td>\n";
+ echo "<td><input name=\"ManXML\" type=\"text\" value=\"$ManXML\" size=\"40\"readonly>\n".
+ "<input name=\"ManDB\" type=\"text\" value=\"$ManDB\" size=\"40\"readonly></td>\n";
+ echo "<td><input name=\"URLXML\" type=\"hidden\" value=\"$URLXML\"></td>\n";
+ echo "<td><input name=\"URLDB\" type=\"hidden\" value=\"$URLDB\"></td>\n";
+ if( !( $PSIDXML==$PSIDDB &&
+ $DateXML==$TimeDB &&
+ $RIDXML==$RIDDB &&
+ $LenXML==$LenDB &&
+ $ManXML==$ManDB &&
+ $URLXML==$URLDB) )
+ {
+ echo "<td><input type=\"submit\" name=\"ScheduleUpdate\" value=\"update\"></td>\n";
+ $DS_KO++;
+ }
+ else
+ {
+ echo "<td>". funktion_isLinkAllowed_addLink_OrLinkText("admin/schichtplan.php?action=change&SID=".$SIDDB, "edit"). "</td>\n";
+ $DS_OK++;
+ }
+ echo "</tr>\n";
+ echo "</form>\n";
+ $Where.= " OR `PSID`='$PSIDXML'";
+ }
}
echo "<tr><td colspan=\"6\">status: $DS_KO/$DS_OK nicht Aktuel.</td></tr>\n";
//Anzeige von nicht im XML File vorkommende entraege
if( $Where =="")
- $SQL2 = "SELECT * FROM `Shifts` WHERE NOT `PSID`='';";
+ $SQL2 = "SELECT * FROM `Shifts` WHERE NOT `PSID`='';";
else
- $SQL2 = "SELECT * FROM `Shifts` WHERE NOT (".substr( $Where, 4). ") AND NOT PSID = '';";
-
+ $SQL2 = "SELECT * FROM `Shifts` WHERE NOT (".substr( $Where, 4). ") AND NOT PSID = '';";
+
$Erg2 = mysql_query($SQL2, $con);
echo mysql_error($con);
if(mysql_num_rows($Erg2)>0 && $EnableSchudleDB )
- for( $i=0; $i<mysql_num_rows( $Erg2); $i++)
- {
- echo "\t<tr>\n";
- $SID = mysql_result($Erg2, $i, "SID");
- $Time = mysql_result($Erg2, $i, "DateS");
- $Len = mysql_result($Erg2, $i, "Len");
- if( isset($RoomID[ mysql_result($Erg2, $i, "RID")]))
- $RID = $RoomID[ mysql_result($Erg2, $i, "RID")];
- else
- $RID = "RID.". mysql_result($Erg2, $i, "RID");
- $Man = mysql_result($Erg2, $i, "Man");
- echo "\t<td><input name=\"SIDXML\" type=\"text\" value=\"$SID\" size=\"2\" eadonly></td>\n";
- echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"\" size=\"17\" readonly>\n\t\t".
- "<input name=\"DateDB\" type=\"text\" value=\"$Time\" size=\"17\" readonly></td>\n";
- echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"\" size=\"15\" readonly>\n\t\t".
- "<input name=\"RIDDB\" type=\"text\" value=\"$RID\" size=\"15\" readonly></td>\n";
- echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"\" size=\"1\"readonly>\n\t\t".
- "<input name=\"LenDB\" type=\"text\" value=\"$Len\" size=\"1\"readonly></td>\n";
- echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"\" size=\"40\"readonly>\n\t\t".
- "<input name=\"ManDB\" type=\"text\" value=\"$Man\" size=\"40\"readonly></td>\n";
- echo "\t<td>". funktion_isLinkAllowed_addLink_OrLinkText( "admin/schichtplan.php?action=change&SID=".$SID, "edit").
- "</td>\n";
- echo "\t<tr>\n";
- }
+ for( $i=0; $i<mysql_num_rows( $Erg2); $i++)
+ {
+ echo "<tr>\n";
+ $SID = mysql_result($Erg2, $i, "SID");
+ $Time = mysql_result($Erg2, $i, "DateS");
+ $Len = mysql_result($Erg2, $i, "Len");
+ if( isset($RoomID[ mysql_result($Erg2, $i, "RID")]))
+ $RID = $RoomID[ mysql_result($Erg2, $i, "RID")];
+ else
+ $RID = "RID.". mysql_result($Erg2, $i, "RID");
+ $Man = mysql_result($Erg2, $i, "Man");
+ echo "<td><input name=\"SIDXML\" type=\"text\" value=\"$SID\" size=\"2\" eadonly></td>\n";
+ echo "<td><input name=\"DateXML\" type=\"text\" value=\"\" size=\"17\" readonly>\n".
+ "<input name=\"DateDB\" type=\"text\" value=\"$Time\" size=\"17\" readonly></td>\n";
+ echo "<td><input name=\"RIDXML\" type=\"text\" value=\"\" size=\"15\" readonly>\n".
+ "<input name=\"RIDDB\" type=\"text\" value=\"$RID\" size=\"15\" readonly></td>\n";
+ echo "<td><input name=\"LenXML\" type=\"text\" value=\"\" size=\"1\"readonly>\n".
+ "<input name=\"LenDB\" type=\"text\" value=\"$Len\" size=\"1\"readonly></td>\n";
+ echo "<td><input name=\"ManXML\" type=\"text\" value=\"\" size=\"40\"readonly>\n".
+ "<input name=\"ManDB\" type=\"text\" value=\"$Man\" size=\"40\"readonly></td>\n";
+ echo "<td>". funktion_isLinkAllowed_addLink_OrLinkText( "admin/schichtplan.php?action=change&SID=".$SID, "edit").
+ "</td>\n";
+ echo "<tr>\n";
+ }
echo "</table>";
diff --git a/includes/funktionen.php b/includes/funktionen.php
deleted file mode 100755
index d841e6ec..00000000
--- a/includes/funktionen.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/* Schichtverplanung im Adminbereich */
-function Dsubstr($DateString,$re) {
- if ($re==1)
- return substr($DateString, 0, 2);
- elseif ($re==2)
- return substr($DateString, 3, 2);
- else
- return substr($DateString, 6, 4);
-}
-
-/* Schichtverplanung im Engelbereich */
-
-function engeldate($edate,$m) {
- if ($m==t)
- return substr($edate, 8, 2);
- elseif ($m==m)
- return substr($edate, 5, 2);
- elseif ($m==u)
- return substr($edate, 11, 5);
- else
- return substr($edate, 0, 4);
-}
-
-?>
diff --git a/includes/header.php b/includes/header.php
index e5d97a0c..9cd2e51d 100755..100644
--- a/includes/header.php
+++ b/includes/header.php
@@ -1,137 +1,102 @@
-<?PHP
-include ("header_start.php");
+<?php
+include "header_start.php";
-echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
+echo "<!DOCTYPE html>\n";
?>
-<HTML>
-<HEAD>
-<?PHP
-
-echo "<TITLE>--- $title ---</TITLE>\n";
-?>
-<meta name="keywords" content="Engel, Himmelsverwaltung">
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-<meta http-equiv="Content-Style-Type" content="text/css">
-<meta http-equiv="expires" content="0">
-<meta name="robots" content="index">
-<meta name="revisit-after" content="1 days">
-<meta http-equiv="content-language" content="de">
-<script type="text/javascript" src="<?PHP echo $url. $ENGEL_ROOT; ?>/css/grossbild.js"></script>
-<link rel=stylesheet type="text/css" href="<?PHP echo $url. $ENGEL_ROOT; ?>css/style<?PHP
- if (!IsSet($_SESSION['color']))
- echo "6";
- else
- echo $_SESSION['color'];
- ?>.css">
-<?PHP
-if (isset($reload))
-{
- if ($reload=="")
- {
- $reload=3330;
- }
- echo "\n<meta http-equiv=\"refresh\" content=\"".$reload.
- "; URL=./?reload=".$reload."\">\n";
+<html>
+<head>
+
+<title><?php echo $title; ?> - Engelsystem</title>
+<meta charset="UTF-8" />
+<meta http-equiv="content-type" content="text/html;charset=utf-8" />
+<meta name="content-style-type" content="text/css" />
+<meta name="keywords" content="Engel, Himmelsverwaltung" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="expires" content="0" />
+<meta name="robots" content="index" />
+<meta name="revisit-after" content="1 days" />
+<script type="text/javascript" src="css/grossbild.js"></script>
+<link rel="stylesheet" type="text/css" href="css/base.css" />
+<link rel="stylesheet" type="text/css" href="css/style<?php echo isset($_SESSION['color']) ? $_SESSION['color'] : $default_theme ?>.css" />
+<link rel="stylesheet" type="text/css" href="../css/base.css" />
+<link rel="stylesheet" type="text/css" href="../css/style<?php echo isset($_SESSION['color']) ? $_SESSION['color'] : $default_theme ?>.css" />
+
+<?php
+if (isset ($reload)) {
+ if ($reload == "")
+ $reload = 3330;
+
+ echo "\n<meta http-equiv=\"refresh\" content=\"" . $reload . "; URL=./?reload=" . $reload . "\">\n";
}
-if (isset($Page["AutoReload"]))
-{
- echo "\n<meta http-equiv=\"refresh\" content=\"". $Page["AutoReload"].
- "; URL=". $url. $ENGEL_ROOT. $Page["Name"]."\">\n";
-}
+if (isset ($Page["AutoReload"]))
+ echo "\n<meta http-equiv=\"refresh\" content=\"" . $Page["AutoReload"] .
+ "; URL=" . $url . $ENGEL_ROOT . $Page["Name"] . "\">\n";
-echo "</HEAD>\n";
+echo "</head>\n";
/////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////// B O D Y
/////////////////////////////////////////////////////////////////////////////////////////////
-echo "<BODY>\n";
-
-echo "<div name=\"topic\" align=\"center\">\n\n";
-
-if( isset($_SESSION['color']) && ($_SESSION['color']==6) )
-{
- echo "\t<a name=\"#top\"><img src=\"". $url. $ENGEL_ROOT. "pic/himmel_w.png\" alt=\"Unser Himmel\"></a>\n";
-}
-else
-{
- echo "\t<a name=\"#top\"><img src=\"". $url. $ENGEL_ROOT. "pic/himmel.png\" alt=\"Unser Himmel\"></a>\n";
-}
-echo "</div>\n\n";
+echo "<body class=\"background\">\n";
+echo '<header><a href="' . $url . $ENGEL_ROOT . '" id="logo"></a></header>';
//ausgabe new message
-if( isset($_SESSION['CVS']["nonpublic/messages.php"]))
-{
- if( $_SESSION['CVS']["nonpublic/messages.php"] == "Y")
- {
- $SQL = "SELECT `Datum` FROM `Messages` WHERE `RUID`=". $_SESSION["UID"]. " AND `isRead`='N'";
- $erg = mysql_query($SQL, $con);
- if( mysql_num_rows( $erg ) > 0 )
- echo "<br><a href=\"". $url. $ENGEL_ROOT.
- "nonpublic/messages.php\">". Get_Text("pub_messages_new1").
- " ". mysql_num_rows( $erg ). " ".
- Get_Text("pub_messages_new2"). "</a><br><br>";
- }
+if (isset ($_SESSION['CVS']["nonpublic/messages.php"])) {
+ if ($_SESSION['CVS']["nonpublic/messages.php"] == "Y") {
+ $SQL = "SELECT `Datum` FROM `Messages` WHERE `RUID`=" . $_SESSION["UID"] . " AND `isRead`='N'";
+ $erg = mysql_query($SQL, $con);
+ if (mysql_num_rows($erg) > 0)
+ echo "<br /><a href=\"" . $url . $ENGEL_ROOT .
+ "nonpublic/messages.php\">" . Get_Text("pub_messages_new1") .
+ " " . mysql_num_rows($erg) . " " .
+ Get_Text("pub_messages_new2") . "</a><br /><br />";
+ }
}
?>
-<table width="95%" align="center" border="0" cellpadding="7" cellspacing="0">
- <tr>
-<?PHP
+<div id="body">
+<div id="menu">
+<?php
+
+
//ausgaeb Menu
-if( !isset($_SESSION['Menu'])) $_SESSION['Menu'] = "L";
-if( $_SESSION['Menu'] =="L") include("menu.php");
+if (!isset ($_SESSION['Menu']))
+ $_SESSION['Menu'] = "L";
+if ($_SESSION['Menu'] == "L")
+ include ("menu.php");
?>
+</div>
+<div id="content" class="container">
+<?php
- <td valign="top" align="center">
-<table border="0" width="100%" align="center" class="border" cellpadding="5" cellspacing="1">
- <tr class="contenttopic">
- <td>
-<?PHP
- echo "\t<a name=\"#$header\" class=\"contenttopic\">";
- if( strlen( $header) == 0 )
- echo "\n\t<b>". Get_Text($Page["Name"]). "</b></a>\n";
- else
- echo "\n\t<b>$header</b></a>\n";
-?>
- </td>
- </tr>
- <tr class="content">
- <td>
-<br>
-<?php
-echo "\n\n\n";
-
-if (IsSet($_SESSION['UID'])) {
- if( isset($_SESSION['oldurl']))
+echo '<h1>' . (strlen($header) == 0 ? Get_Text($Page["Name"]) : $header) . '</h1>';
+echo '<article class="content">';
+
+if (isset ($_SESSION['UID'])) {
+ if (isset ($_SESSION['oldurl']))
$BACKUP_SESSION_OLDURL = $_SESSION['oldurl'];
- if( isset($_SESSION['newurl']))
+ if (isset ($_SESSION['newurl']))
$_SESSION['oldurl'] = $_SESSION['newurl'];
$_SESSION['newurl'] = $_SERVER["REQUEST_URI"];
-}
-
+}
-function SetHeaderGo2Back ()
-{
+function SetHeaderGo2Back() {
global $BACKUP_SESSION_OLDURL;
$_SESSION['oldurl'] = $BACKUP_SESSION_OLDURL;
}
+if ($Page["CVS"] != "Y") {
+ echo "Du besitzt kein Rechte f&uuml;r diesen Bereich.<br />\n";
-if ( $Page["CVS"] != "Y" )
-{
- echo "Du besitzt kein Rechte für diesen Bereich.<br>\n";
- If (IsSet($_SESSION['oldurl']))
- echo "<a href=\"". $_SESSION["oldurl"]. "\">".Get_Text("back")."</a> geht's zur&uuml;ck...\n";
+ if (isset ($_SESSION['oldurl']))
+ echo "<a href=\"" . $_SESSION["oldurl"] . "\">hier</a> gehts zur&uuml;ck...\n";
else
- echo "<a href=\"". $url. $ENGEL_ROOT. "\">".Get_Text("back")."</a> geht's zur&uuml;ck...\n";
- exit ();
+ echo "<a href=\"" . $url . $ENGEL_ROOT . "\">hier</a> geht's zur&uuml;ck...\n";
+
+ exit ();
}
?>
-
<!-- ende des header parts //-->
-
-
-
diff --git a/includes/header_start.php b/includes/header_start.php
deleted file mode 100755
index 997fa94e..00000000
--- a/includes/header_start.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?PHP
-ini_set( "session.gc_maxlifetime", "65535");
-
-include ("config.php");
-include ("error_handler.php");
-include ("config_db.php");
-include ("funktion_lang.php");
-include ("funktion_faq.php"); //für noAnswer() im menu
-include ("funktion_menu.php");
-include ("funktion_user.php");
-
-
-if( isset($SystemDisableMessage) && ( strlen($SystemDisableMessage)>0) )
-{
- echo "<HTML>\n".
- "<BODY>\n". $SystemDisableMessage. "\n<BODY>\n".
- "</HTML>";
- die();
-}
-
-if( !isset($_SESSION))
-{
- session_start();
-}
-include ("secure.php");
-
-if( !isset($_SESSION['IP']))
-{
- $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
-}
-
-if (IsSet($_SESSION['UID']) and ($_SESSION['IP'] <> $_SERVER['REMOTE_ADDR']))
-{
- session_destroy ();
- header("Location: $url". $ENGEL_ROOT );
-}
-
-include ("UserCVS.php");
-
-
-//UPdate LASTlogin
-if( isset($_SESSION['UID']))
-{
- $SQLlastLogIn = "UPDATE `User` SET ".
- "`lastLogIn` = '". gmdate("Y-m-j H:i:s", time()). "'".
- " WHERE `UID` = '". $_SESSION['UID']. "' LIMIT 1;";
- mysql_query ($SQLlastLogIn, $con);
-}
-
-?>
diff --git a/includes/login_eingabefeld.php b/includes/login_eingabefeld.php
deleted file mode 100755
index bed1a2fd..00000000
--- a/includes/login_eingabefeld.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?PHP
-include ("config.php");
-
-echo "<form action=\"". $url. $ENGEL_ROOT. "nonpublic/index.php\" method=\"post\">";
-echo "<table>\n".
- "\t<tr>".
- "\t\t<td align=\"right\">". Get_Text("index_lang_nick"). "</td>".
- "\t\t<td><input type=\"text\" name=\"user\" size=\"23\"></td>".
- "\t</tr>".
- "\t<tr>".
- "\t\t<td align=\"right\">". Get_Text("index_lang_pass"). "</td>".
- "\t\t<td><input type=\"password\" name=\"password\" size=\"23\"></td>".
- "\t</tr>".
- "</table>".
- "<br><input type=\"submit\" value=\"". Get_Text("index_lang_send"). "\">";
-echo "</form>";
-
-
diff --git a/includes/menu.php b/includes/menu.php
deleted file mode 100755
index 6133b856..00000000
--- a/includes/menu.php
+++ /dev/null
@@ -1,63 +0,0 @@
-
-<!-- anfang des menue parts //-->
- <td width="160" valign="top">
-<?PHP
-$MenueTableStart="
-<table align=\"center\" class=\"border\" cellpadding=\"3\" cellspacing=\"1\">
- <tr>
- <td width=\"160\" class=\"menu\">
-";
-$MenueTableEnd="
- <br>
- </td>
- </tr>
-</table><br>
-";
-
-ShowMenu("");
-ShowMenu("nonpublic");
-ShowMenu("admin");
-
-if( !isset($submenus))
- $submenus = 0;
-
-if ($submenus >= 1 ) {
- $inc_name=$_SERVER['PHP_SELF'];
- $filenamepos=strrpos($inc_name, '/');
- $filenamepos+=1;
- $filename = substr ($inc_name, $filenamepos );
- $filepost = substr ($filename, 0, -4);
- $filepre = substr ($filename, -4 );
- $verzeichnis = substr ($inc_name, 0 , $filenamepos);
-
- for ($index_nummer=1; $index_nummer <= $submenus; $index_nummer++) {
-?>
-<table align="center" class="border" cellpadding="3" cellspacing="1">
- <tr>
- <td width="160" class="menu">
- <?php include ("./".$filepost.".".$index_nummer.$filepre); ?>
- </td>
- </tr>
-</table>
-
-<br>
-<?PHP
- }
-}
-
-if( isset($_SESSION['UID']))
-{
-?>
-<table align="center" class="border" cellpadding="3" cellspacing="1">
- <tr>
- <td width="160" class="menu">
- <?php include("funktion_activeUser.php"); ?>
- </td>
- </tr>
-</table>
-<?PHP
-}
-?>
- </td>
-
-<!-- ende des menue parts //-->
diff --git a/includes/pages/admin_angel_types.php b/includes/pages/admin_angel_types.php
new file mode 100644
index 00000000..c5283899
--- /dev/null
+++ b/includes/pages/admin_angel_types.php
@@ -0,0 +1,96 @@
+<?php
+
+function admin_angel_types() {
+ $html = "";
+ if (!isset ($_REQUEST['action'])) {
+
+ $table = "";
+ $angel_types = sql_select("SELECT * FROM `AngelTypes` ORDER BY `Name`");
+
+ foreach ($angel_types as $angel_type)
+ $table .= sprintf(
+ '<tr><td>%s</td><td>%s</td><td>'
+ . '<a href="%s&action=edit&id=%s">Edit</a></td></tr>',
+ $angel_type['Name'], $angel_type['Man'],
+ page_link_to("admin_angel_types"),
+ $angel_type['TID']
+ );
+
+ $html .= template_render('../templates/admin_angel_types.html', array (
+ 'link' => page_link_to("admin_angel_types"),
+ 'table' => $table
+ ));
+
+ } else {
+
+ switch ($_REQUEST['action']) {
+
+ case 'create' :
+ $name = strip_request_item("name");
+ $man = strip_request_item("man");
+
+ sql_query("INSERT INTO `AngelTypes` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "'");
+
+ header("Location: " . page_link_to("admin_angel_types"));
+ break;
+
+ case 'edit' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing AngelType ID.");
+
+ $angel_type = sql_select("SELECT * FROM `AngelTypes` WHERE `TID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($angel_type) > 0) {
+ list ($angel_type) = $angel_type;
+
+ $html .= template_render(
+ '../templates/admin_angel_types_edit_form.html', array (
+ 'link' => page_link_to("admin_angel_types"),
+ 'id' => $id,
+ 'name' => $angel_type['Name'],
+ 'man' => $angel_type['Man']
+ ));
+ } else
+ return error("No Angel Type found.");
+ break;
+
+ case 'save' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing AngelType ID.");
+
+ $angel_type = sql_select("SELECT * FROM `AngelTypes` WHERE `TID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($angel_type) > 0) {
+ list ($angel_type) = $angel_type;
+
+ $name = strip_request_item("name");
+ $man = strip_request_item("man");
+
+ sql_query("UPDATE `AngelTypes` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "' WHERE `TID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_angel_types"));
+ } else
+ return error("No Angel Type found.");
+ break;
+
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing AngelType ID.");
+
+ $angel_type = sql_select("SELECT * FROM `AngelTypes` WHERE `TID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($angel_type) > 0) {
+ sql_query("DELETE FROM `AngelTypes` WHERE `TID`=" . sql_escape($id) . " LIMIT 1");
+ sql_query("DELETE FROM `RoomAngelTypes` WHERE `angel_type_id`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_angel_types"));
+ } else
+ return error("No Angel Type found.");
+ break;
+ }
+ }
+
+ return $html;
+}
+?>
diff --git a/includes/pages/admin_faq.php b/includes/pages/admin_faq.php
new file mode 100644
index 00000000..b8ba1a64
--- /dev/null
+++ b/includes/pages/admin_faq.php
@@ -0,0 +1,105 @@
+<?php
+function admin_faq() {
+ if (!isset ($_REQUEST['action'])) {
+ $faqs_html = "";
+ $faqs = sql_select("SELECT * FROM `FAQ`");
+ foreach ($faqs as $faq) {
+ $faqs_html .= sprintf(
+ '<tr><td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>'
+ . '<td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>'
+ . '<td><a href="%s&action=edit&id=%s">Edit</a></td></tr>',
+ $faq['Frage_de'], $faq['Antwort_de'],
+ $faq['Frage_en'], $faq['Antwort_en'],
+ page_link_to('admin_faq'), $faq['FID']
+ );
+ }
+ return template_render('../templates/admin_faq.html', array (
+ 'link' => page_link_to("admin_faq"),
+ 'faqs' => $faqs_html
+ ));
+ } else {
+ switch ($_REQUEST['action']) {
+ case 'create' :
+ $frage = strip_request_item_nl('frage');
+ $antwort = strip_request_item_nl('antwort');
+ $question = strip_request_item_nl('question');
+ $answer = strip_request_item_nl('answer');
+
+ sql_query("INSERT INTO `FAQ` SET `Frage_de`='" . sql_escape($frage)
+ . "', `Frage_en`='" . sql_escape($question)
+ . "', `Antwort_de`='" . sql_escape($antwort)
+ . "', `Antwort_en`='" . sql_escape($answer)
+ . "'"
+ );
+
+ header("Location: " . page_link_to("admin_faq"));
+ break;
+
+ case 'save' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing FAQ ID.");
+
+ $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($faq) > 0) {
+ list ($faq) = $faq;
+
+ $frage = strip_request_item_nl('frage');
+ $antwort = strip_request_item_nl('antwort');
+ $question = strip_request_item_nl('question');
+ $answer = strip_request_item_nl('answer');
+
+ sql_query("UPDATE `FAQ` SET `Frage_de`='" . sql_escape($frage)
+ . "', `Frage_en`='" . sql_escape($question)
+ . "', `Antwort_de`='" . sql_escape($antwort)
+ . "', `Antwort_en`='" . sql_escape($answer)
+ . "' WHERE `FID`=" . sql_escape($id) . " LIMIT 1"
+ );
+
+ header("Location: " . page_link_to("admin_faq"));
+ } else
+ return error("No FAQ found.");
+ break;
+
+ case 'edit' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing FAQ ID.");
+
+ $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($faq) > 0) {
+ list ($faq) = $faq;
+
+ return template_render('../templates/admin_faq_edit_form.html', array (
+ 'link' => page_link_to("admin_faq"),
+ 'id' => $id,
+ 'frage' => $faq['Frage_de'],
+ 'antwort' => $faq['Antwort_de'],
+ 'question' => $faq['Frage_en'],
+ 'answer' => $faq['Antwort_en']
+ ));
+ } else
+ return error("No FAQ found.");
+ break;
+
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing FAQ ID.");
+
+ $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($faq) > 0) {
+ list ($faq) = $faq;
+
+ sql_query("DELETE FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_faq"));
+ } else
+ return error("No FAQ found.");
+ break;
+ }
+ }
+}
+?>
diff --git a/includes/pages/admin_groups.php b/includes/pages/admin_groups.php
new file mode 100644
index 00000000..770f09b4
--- /dev/null
+++ b/includes/pages/admin_groups.php
@@ -0,0 +1,91 @@
+<?php
+function admin_groups() {
+ global $user;
+
+ $html = "";
+ $groups = sql_select("SELECT * FROM `Groups` ORDER BY `Name`");
+ if (!isset ($_REQUEST["action"])) {
+ $groups_html = "";
+ foreach ($groups as $group) {
+ $groups_html .= sprintf(
+ '<tr><td>%s</td>',
+ $group['Name']
+ );
+ $privileges = sql_select("SELECT * FROM `GroupPrivileges` JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `group_id`=" . sql_escape($group['UID']));
+ $privileges_html = array ();
+
+ foreach ($privileges as $priv)
+ $privileges_html[] = $priv['name'];
+
+ $groups_html .= sprintf(
+ '<td>%s</td>'
+ . '<td><a href="%s&action=edit&id=%s">Ändern</a></td>',
+ join(', ', $privileges_html),
+ page_link_to("admin_groups"),
+ $group['UID']
+ );
+ }
+
+ return template_render('../templates/admin_groups.html', array (
+ 'nick' => $user['Nick'],
+ 'groups' => $groups_html
+ ));
+ } else {
+ switch ($_REQUEST["action"]) {
+ case 'edit' :
+ if (isset ($_REQUEST['id']) && preg_match("/^-[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Groups ID.");
+
+ $room = sql_select("SELECT * FROM `Groups` WHERE `UID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($room) > 0) {
+ list ($room) = $room;
+ $privileges = sql_select("SELECT `Privileges`.*, `GroupPrivileges`.`group_id` FROM `Privileges` LEFT OUTER JOIN `GroupPrivileges` ON (`Privileges`.`id` = `GroupPrivileges`.`privilege_id` AND `GroupPrivileges`.`group_id`=" . sql_escape($id) . ") ORDER BY `Privileges`.`name`");
+ $privileges_html = "";
+ foreach ($privileges as $priv)
+ $privileges_html .= sprintf(
+ '<tr><td><input type="checkbox" '
+ . 'name="privileges[]" value="%s" %s />'
+ . '</td> <td>%s</td> <td>%s</td></tr>',
+ $priv['id'],
+ ($priv['group_id'] != ""
+ ? 'checked="checked"'
+ : ''),
+ $priv['name'],
+ $priv['desc']
+ );
+
+ $html .= template_render('../templates/admin_groups_edit_form.html', array (
+ 'link' => page_link_to("admin_groups"),
+ 'id' => $id,
+ 'privileges' => $privileges_html
+ ));
+ } else
+ return error("No Group found.");
+ break;
+
+ case 'save' :
+ if (isset ($_REQUEST['id']) && preg_match("/^-[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Groups ID.");
+
+ $room = sql_select("SELECT * FROM `Groups` WHERE `UID`=" . sql_escape($id) . " LIMIT 1");
+ if (!is_array($_REQUEST['privileges']))
+ $_REQUEST['privileges'] = array ();
+ if (count($room) > 0) {
+ list ($room) = $room;
+ sql_query("DELETE FROM `GroupPrivileges` WHERE `group_id`=" . sql_escape($id));
+ foreach ($_REQUEST['privileges'] as $priv)
+ if (preg_match("/^[0-9]{1,}$/", $priv) && sql_num_query("SELECT * FROM `Privileges` WHERE `id`=" . sql_escape($priv)) > 0)
+ sql_query("INSERT INTO `GroupPrivileges` SET `group_id`=" . sql_escape($id) . ", `privilege_id`=" . sql_escape($priv));
+ header("Location: " . page_link_to("admin_groups"));
+ } else
+ return error("No Group found.");
+ break;
+ }
+ }
+ return $html;
+}
+?>
diff --git a/includes/pages/admin_import.php b/includes/pages/admin_import.php
new file mode 100644
index 00000000..6523050c
--- /dev/null
+++ b/includes/pages/admin_import.php
@@ -0,0 +1,253 @@
+<?php
+function admin_import() {
+ global $Room, $RoomID, $RoomName;
+ global $PentabarfGetWith, $PentabarfXMLpath, $PentabarfXMLhost;
+
+ require_once ("includes/funktion_xml.php");
+ ///////////
+ // DEBUG //
+ ///////////
+ $ShowDataStrukture = 0;
+ $EnableRoomFunctions = 1;
+ $EnableRooms = 1;
+ $EnableSchudleFunctions = 1;
+ $EnableSchudle = 1;
+ $EnableSchudleDB = 1;
+
+ CreateRoomArrays();
+
+ $html = "";
+
+ /*##############################################################################################
+ F I L E
+ ##############################################################################################*/
+ $html .= "\n\n<br />\n<h1>XML File:</h1>\n";
+ if (isset ($_POST["PentabarfUser"]) && isset ($_POST["password"]) && isset ($_POST["PentabarfURL"])) {
+ $html .= "Update XCAL-File from Pentabarf..";
+ if ($PentabarfGetWith == "fsockopen") {
+
+ //backup error messeges and delate
+ $Backuperror_messages = $error_messages;
+ $fp = fsockopen("ssl://$PentabarfXMLhost", 443, $errno, $errstr, 30);
+ // $error_messages = $Backuperror_messages;
+
+ if (!$fp) {
+ $html .= "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!" .
+ "[$errstr ($errno)]</h2>";
+ } else {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
+ $head = 'GET /' . $PentabarfXMLpath . $_POST["PentabarfURL"] . ' HTTP/1.1' . "\r\n" .
+ 'Host: ' . $PentabarfXMLhost . "\r\n" .
+ 'User-Agent: Engelsystem' . "\r\n" .
+ 'Authorization: Basic ' .
+ base64_encode($_POST["PentabarfUser"] . ':' . $_POST["password"]) . "\r\n" .
+ "\r\n";
+ fputs($fp, $head);
+ $Zeilen = -1;
+ while (!feof($fp)) {
+ $Temp = fgets($fp, 1024);
+
+ // ende des headers
+ if ($Temp == "f20\r\n") {
+ $Zeilen = 0;
+ $Temp = "";
+ }
+
+ //file ende?
+ if ($Temp == "0\r\n")
+ break;
+
+ if (($Zeilen > -1) && ($Temp != "ffb\r\n")) {
+ //steuerzeichen ausfiltern
+ if (strpos("#$Temp", "\r\n") > 0)
+ $Temp = substr($Temp, 0, strlen($Temp) - 2);
+ if (strpos("#$Temp", "1005") > 0)
+ $Temp = "";
+ if (strpos("#$Temp", "783") > 0)
+ $Temp = "";
+ //schreiben in file
+ fputs($fileOut, $Temp);
+ $Zeilen++;
+ }
+ }
+ fclose($fileOut);
+
+ $html .= "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
+ $html .= "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
+ fclose($fp);
+ }
+ }
+ elseif ($PentabarfGetWith == "fopen") {
+ //user uns password in url einbauen
+ $FileNameIn = "https://" . $_POST["PentabarfUser"] . ':' . $_POST["password"] . "@" .
+ $PentabarfXMLhost . "/" . $PentabarfXMLpath . $_POST["PentabarfURL"];
+
+ if (($fileIn = fopen($FileNameIn, "r")) != FALSE) {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
+ $Zeilen = 0;
+ while (!feof($fileIn)) {
+ $Zeilen++;
+ fputs($fileOut, fgets($fileIn));
+ }
+ fclose($fileOut);
+ $html .= "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
+ $html .= "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
+ fclose($fileIn);
+ } else
+ $html .= "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!</h2>";
+ }
+ elseif ($PentabarfGetWith == "wget") {
+ $Command = "wget --http-user=" . $_POST["PentabarfUser"] . " --http-passwd=" . $_POST["password"] . " " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] .
+ " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML" .
+ " --no-check-certificate";
+ $html .= system($Command, $Status);
+ if ($Status == 0)
+ $html .= "OK.<br />";
+ else
+ $html .= "fail ($Status)($Command).<br />";
+ }
+ elseif ($PentabarfGetWith == "lynx") {
+ $Command = "lynx -auth=" . $_POST["PentabarfUser"] . ":" . $_POST["password"] . " -dump " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . " > $Tempdir/engelXML";
+ $html .= system($Command, $Status);
+ if ($Status == 0)
+ $html .= "OK.<br />";
+ else
+ $html .= "fail ($Status)($Command).<br />";
+ }
+ elseif ($PentabarfGetWith == "fopen") {
+ //user uns password in url einbauen
+ $FileNameIn = "https://" . $_POST["PentabarfUser"] . ':' . $_POST["password"] . "@" .
+ $PentabarfXMLhost . "/" . $PentabarfXMLpath . $_POST["PentabarfURL"];
+
+ if (($fileIn = fopen($FileNameIn, "r")) != FALSE) {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
+ $Zeilen = 0;
+ while (!feof($fileIn)) {
+ $Zeilen++;
+ fputs($fileOut, fgets($fileIn));
+ }
+ fclose($fileOut);
+ $html .= "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
+ $html .= "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
+ fclose($fileIn);
+ } else
+ $html .= "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!</h2>";
+ }
+ elseif ($PentabarfGetWith == "wget") {
+ $Command = "wget --http-user=" . $_POST["PentabarfUser"] . " --http-passwd=" . $_POST["password"] . " " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] .
+ " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML" .
+ " --no-check-certificate";
+ $html .= system($Command, $Status);
+ if ($Status == 0)
+ $html .= "OK.<br />";
+ else
+ $html .= "fail ($Status)($Command).<br />";
+ }
+ elseif ($PentabarfGetWith == "lynx") {
+ $Command = "lynx -auth=" . $_POST["PentabarfUser"] . ":" . $_POST["password"] . " -dump " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . " > $Tempdir/engelXML";
+ $html .= system($Command, $Status);
+ if ($Status == 0)
+ $html .= "OK.<br />";
+ else
+ $html .= "fail ($Status)($Command).<br />";
+ } else
+ $html .= "<h1>The PentabarfGetWith='$PentabarfGetWith' not supported</h1>";
+ } else {
+ $html .= "<form action=\"dbUpdateFromXLS.php\" method=\"post\">\n";
+ $html .= "<table border=\"0\">\n";
+ $html .= "\t<tr><td>XCAL-File: https://$PentabarfXMLhost/$PentabarfXMLpath</td>" .
+ "<td><input name=\"PentabarfURL\" type=\"text\" size=\"4\" maxlength=\"5\" " .
+ "value=\"$PentabarfXMLEventID\"></td></tr>\n";
+ $html .= "\t<tr><td>Username:</td>" .
+ "<td><input name=\"PentabarfUser\" type=\"text\" size=\"30\" maxlength=\"30\"></td></tr>\n";
+ $html .= "\t<tr><td>Password:</td>" .
+ "<td><input name=\"password\" type=\"password\" size=\"30\" maxlength=\"30\"></td></tr>\n";
+ $html .= "\t<tr><td></td><td><input type=\"submit\" name=\"FileUpload\" value=\"upload\"></td></tr>\n";
+ $html .= "</table>\n";
+ $html .= "</form>\n";
+ }
+
+ //readXMLfile("xml.php.xml");
+ if (readXMLfile("../import/27C3_sample.xcs.xml") == 0) {
+ $XMLmain = getXMLsubPease($XMLmain, "VCALENDAR");
+
+ if ($ShowDataStrukture) {
+ $html .= "<pre><br />";
+ $html .= $XMLmain->name;
+ $html .= "<br />";
+ print_r(array_values($XMLmain->sub));
+ $html .= "</pre>";
+ }
+
+ /*
+ $html .= "<br />";
+ $Feld=7;
+ $html .= "$Feld#". $XMLmain->sub[$Feld]->name. "<br />";
+ $html .= "$Feld#". $XMLmain->sub[$Feld]->sub;
+ //print_r(array_values ($XMLmain->sub[$Feld]->sub));
+ while(list($key, $value) = each($XMLmain->sub[$Feld]->sub))
+ $html .= "?ID".$value->sub[1]->data. "=". $value->sub[2]->data. "\n";
+ $html .= "</pre>";
+ */
+
+ /*##############################################################################################
+ V e r s i o n
+ ##############################################################################################*/
+
+ $html .= "<hr>\n";
+ $XMLrelease = getXMLsubPease($XMLmain, "X-WR-CALDESC");
+ $html .= "release: " . $XMLrelease->data . "<br />\n";
+ //$XMLreleaseDate = getXMLsubPease( $XMLmain, "RELEASE-DATE");
+ //$html .= "release date: ". $XMLreleaseDate->data. "<br />\n";
+ $html .= "<hr>\n";
+
+ /*##############################################################################################
+ V e r s i o n
+ ##############################################################################################*/
+ if ($EnableRoomFunctions)
+ include ("includes/funktion_xml_room.php");
+
+ if ($EnableSchudleFunctions)
+ include ("includes/funktion_xml_schudle.php");
+
+ /*##############################################################################################
+ U P D A T E A L L
+ ##############################################################################################*/
+ $html .= "\n\n<br />\n<h1>Update ALL:</h1>\n";
+
+ $html .= "<form action=\"dbUpdateFromXLS.php\">\n";
+ $html .= "\t<input type=\"submit\" name=\"UpdateALL\" value=\"now\">\n";
+ $html .= "</form>\n";
+
+ } //if XMLopenOOK
+ return $html;
+}
+
+/*##############################################################################################
+ erstellt Arrays der Reume
+ ##############################################################################################*/
+function CreateRoomArrays() {
+ global $Room, $RoomID, $RoomName, $con;
+
+ $sql = "SELECT `RID`, `Name` FROM `Room` " .
+ "WHERE `Show`='Y'" .
+ "ORDER BY `Number`, `Name`;";
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+
+ for ($i = 0; $i < $rowcount; $i++) {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
+ $RoomID[mysql_result($Erg, $i, "RID")] = mysql_result($Erg, $i, "Name");
+ $RoomName[mysql_result($Erg, $i, "Name")] = mysql_result($Erg, $i, "RID");
+ }
+}
+?>
+
diff --git a/includes/pages/admin_language.php b/includes/pages/admin_language.php
new file mode 100644
index 00000000..749cd643
--- /dev/null
+++ b/includes/pages/admin_language.php
@@ -0,0 +1,110 @@
+<?php
+function admin_language() {
+ global $user;
+
+ $html = "";
+ if (!isset ($_POST["TextID"])) {
+ $html .= Get_Text("Hello") . $user['Nick'] . ", <br />\n";
+ $html .= Get_Text("pub_sprache_text1") . "<br /><br />\n";
+
+ $html .= "<a href=\"" . page_link_to("admin_language") . "&ShowEntry=y\">" . Get_Text("pub_sprache_ShowEntry") . "</a>";
+ // ausgabe Tabellenueberschift
+ $SQL_Sprachen = "SELECT `Sprache` FROM `Sprache` GROUP BY `Sprache`;";
+ $erg_Sprachen = sql_query($SQL_Sprachen);
+
+ for ($i = 0; $i < mysql_num_rows($erg_Sprachen); $i++)
+ $Sprachen[mysql_result($erg_Sprachen, $i, "Sprache")] = $i;
+
+ $html .= "\t<table border=\"0\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n\t\t<tr>";
+ $html .= "\t\t<td class=\"contenttopic\"><b>" . Get_Text("pub_sprache_TextID") . "</b></td>";
+ foreach ($Sprachen as $Name => $Value)
+ $html .= "<td class=\"contenttopic\"><b>" .
+ Get_Text("pub_sprache_Sprache") . " " . $Name .
+ "</b></td>";
+ $html .= "\t\t<td class=\"contenttopic\"><b>" . Get_Text("pub_sprache_Edit") . "</b></td>";
+ $html .= "\t\t</tr>";
+
+ if (isset ($_GET["ShowEntry"])) {
+ // ausgabe eintraege
+ $SQL = "SELECT * FROM `Sprache` ORDER BY `TextID`;";
+ $erg = sql_query($SQL);
+
+ $TextID_Old = mysql_result($erg, 0, "TextID");
+ for ($i = 0; $i < mysql_num_rows($erg); $i++) {
+ $TextID_New = mysql_result($erg, $i, "TextID");
+ if ($TextID_Old != $TextID_New) {
+ $html .= "<form action=\"" . page_link_to("admin_language") . "\" method=\"post\">";
+ $html .= "<tr class=\"content\">\n";
+ $html .= "\t\t<td>$TextID_Old " .
+ "<input name=\"TextID\" type=\"hidden\" value=\"$TextID_Old\"> </td>\n";
+
+ foreach ($Sprachen as $Name => $Value) {
+ $Value = html_entity_decode($Value, ENT_QUOTES);
+ $html .= "\t\t<td><textarea name=\"$Name\" cols=\"22\" rows=\"8\">$Value</textarea></td>\n";
+ $Sprachen[$Name] = "";
+ }
+
+ $html .= "\t\t<td><input type=\"submit\" value=\"Save\"></td>\n";
+ $html .= "</tr>";
+ $html .= "</form>\n";
+ $TextID_Old = $TextID_New;
+ }
+ $Sprachen[mysql_result($erg, $i, "Sprache")] = mysql_result($erg, $i, "Text");
+ } /*FOR*/
+ }
+
+ //fuer neu eintraege
+ $html .= "<form action=\"" . page_link_to("admin_language") . "\" method=\"post\">";
+ $html .= "<tr class=\"content\">\n";
+ $html .= "\t\t<td><input name=\"TextID\" type=\"text\" size=\"40\" value=\"new\"> </td>\n";
+
+ foreach ($Sprachen as $Name => $Value)
+ $html .= "\t\t<td><textarea name=\"$Name\" cols=\"22\" rows=\"8\">$Name Text</textarea></td>\n";
+
+ $html .= "\t\t<td><input type=\"submit\" value=\"Save\"></td>\n";
+ $html .= "</tr>";
+ $html .= "</form>\n";
+
+ $html .= "</table>\n";
+ } /*if( !isset( $TextID ) )*/
+ else {
+ $html .= "edit: " . $_POST["TextID"] . "<br /><br />";
+ foreach ($_POST as $k => $v) {
+ if ($k != "TextID") {
+ $sql_test = "SELECT * FROM `Sprache` " .
+ "WHERE `TextID`='" . sql_escape($_POST["TextID"])
+ . "' AND `Sprache`='"
+ . sql_escape($k) . "'";
+
+ $erg_test = sql_query($sql_test);
+
+ if (mysql_num_rows($erg_test) == 0) {
+ $sql_save = "INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) " .
+ "VALUES ('" . sql_escape($_POST["TextID"]) . "', '"
+ . sql_escape($k) . "', '"
+ . sql_escape($v) . "')";
+
+ $html .= $sql_save . "<br />";
+ $Erg = sql_query($sql_save);
+ $html .= success("$k Save: OK<br />\n");
+ } else
+ if (mysql_result($erg_test, 0, "Text") != $v) {
+ $sql_save = "UPDATE `Sprache` SET `Text`='"
+ . sql_escape($v) . "' " .
+ "WHERE `TextID`='"
+ . sql_escape($_POST["TextID"])
+ . "' AND `Sprache`='" . sql_escape($k) . "' ";
+
+ $html .= $sql_save . "<br />";
+ $Erg = sql_query($sql_save);
+ $html .= success(" $k Update: OK<br />\n");
+ } else
+ $html .= "\t $k no changes<br />\n";
+ }
+ }
+
+ }
+ return $html;
+}
+?>
+
diff --git a/includes/pages/admin_log.php b/includes/pages/admin_log.php
new file mode 100644
index 00000000..2798b2cf
--- /dev/null
+++ b/includes/pages/admin_log.php
@@ -0,0 +1,76 @@
+<?php
+function admin_log() {
+ require_once ("includes/funktion_db_list.php");
+
+ $html = "";
+ $SQL = "SELECT * FROM `ChangeLog` ORDER BY `Time` DESC LIMIT 0,10000";
+ $Erg = sql_query($SQL);
+
+ if (mysql_num_rows($Erg) > 0) {
+ $html .= "<table border=1>\n";
+ $html .= "<tr>\n\t<th>Time</th>\n\t<th>User</th>\n\t<th>Commend</th>\n\t<th>SQL Command</th>\n</tr>\n";
+ for ($n = 0; $n < mysql_num_rows($Erg); $n++) {
+ $html .= "<tr>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Time") . "</td>\n";
+ $html .= "\t<td>" . UID2Nick(mysql_result($Erg, $n, "UID")) . displayavatar(mysql_result($Erg, $n, "UID")) . "</td>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Commend") . "</td>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "SQLCommad") . "</td>\n";
+ $html .= "</tr>\n";
+ }
+ $html .= "</table>\n";
+ } else {
+ $html .= "Log is empty...";
+ }
+ $html .= "<hr />";
+
+ $html .= "<h1>Web Counter</h1>";
+ $html .= funktion_db_list("Counter");
+
+ /*
+ $html .= "<h1>Raeume</h1> <br />";
+ funktion_db_list("Raeume");
+
+ $html .= "<h1>Schichtbelegung</h1> <br />";
+ funktion_db_list("Schichtbelegung");
+
+ $html .= "<h1>Schichtplan</h1> <br />Hier findest du alle bisher eingetragenen Schichten:";
+ funktion_db_list("Schichtplan");
+
+ $html .= "<h1>User</h1> <br />";
+ funktion_db_list("User");
+
+ $html .= "<h1>News</h1> <br />";
+ funktion_db_list("News");
+
+ $html .= "<h1>FAQ</h1> <br />";
+ funktion_db_list("FAQ");
+
+ $html .= "Deaktiviert";
+ */
+
+ $html .= "<hr>\n";
+ $html .= funktion_db_element_list_2row("Tshirt-Size aller engel", "SELECT `Size`, COUNT(`Size`) FROM `User` GROUP BY `Size`");
+ $html .= "<br />\n";
+ $html .= funktion_db_element_list_2row("Tshirt ausgegeben", "SELECT `Size`, COUNT(`Size`) FROM `User` WHERE `Tshirt`='1' GROUP BY `Size`");
+ $html .= "<br />\n";
+ $html .= funktion_db_element_list_2row("Tshirt nicht ausgegeben (Gekommen=1)", "SELECT COUNT(`Size`), `Size` FROM `User` WHERE `Gekommen`='1' and `Tshirt`='0' GROUP BY `Size`");
+
+ $html .= "<hr>\n";
+ $html .= funktion_db_element_list_2row("Hometown", "SELECT COUNT(`Hometown`), `Hometown` FROM `User` GROUP BY `Hometown`");
+ $html .= "<br />\n";
+ $html .= funktion_db_element_list_2row("Engeltypen", "SELECT COUNT(`Art`), `Art` FROM `User` GROUP BY `Art`");
+
+ $html .= "<hr>\n";
+ $html .= funktion_db_element_list_2row("Gesamte Arbeit", "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID)");
+ $html .= "<br />\n";
+ $html .= funktion_db_element_list_2row("Geleisteter Arbeit", "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (ShiftEntry.UID!=0)");
+
+ $html .= "<hr>\n";
+ $html .= funktion_db_element_list_2row("Gesamte Arbeit (Ohne Raum aufabau (RID=7)", "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (Shifts.RID!=7)");
+ $html .= "<br />\n";
+ $html .= funktion_db_element_list_2row("Geleisteter Arbeit (Ohne Raum aufabau (RID=7)", "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (ShiftEntry.UID!=0) AND (Shifts.RID!=7)");
+
+ return $html;
+}
+?>
+
diff --git a/includes/pages/admin_news.php b/includes/pages/admin_news.php
new file mode 100644
index 00000000..2c6e1f45
--- /dev/null
+++ b/includes/pages/admin_news.php
@@ -0,0 +1,87 @@
+<?php
+function admin_news() {
+ global $user;
+
+ if (!isset ($_GET["action"])) {
+ header("Location: " . page_link_to("news"));
+ } else {
+ $html = "";
+ switch ($_GET["action"]) {
+ case 'edit' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing News ID.");
+
+ $news = sql_select("SELECT * FROM `News` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($news) > 0) {
+ list ($news) = $news;
+
+ $html .= '<a href="' . page_link_to("news") . '">&laquo Back</a>';
+
+ $html .= "<form action=\"" . page_link_to("admin_news") . "&action=save\" method=\"post\">\n";
+
+ $html .= "<table>\n";
+ $html .= " <tr><td>Datum</td><td>" .
+ date("Y-m-d H:i", $news['Datum']) . "</td></tr>\n";
+ $html .= " <tr><td>Betreff</td><td><input type=\"text\" size=\"40\" name=\"eBetreff\" value=\"" .
+ $news["Betreff"] . "\"></td></tr>\n";
+ $html .= " <tr><td>Text</td><td><textarea rows=\"10\" cols=\"80\" name=\"eText\">" .
+ $news["Text"] . "</textarea></td></tr>\n";
+ $html .= " <tr><td>Engel</td><td>" .
+ UID2Nick($news["UID"]) . "</td></tr>\n";
+ $html .= " <tr><td>Treffen</td><td>" . html_select_key('eTreffen', array (
+ '1' => "Ja",
+ '0' => "Nein"
+ ), $news['Treffen']) . "</td></tr>\n";
+ $html .= "</table>";
+
+ $html .= "<input type=\"hidden\" name=\"id\" value=\"" . $id . "\">\n";
+ $html .= "<input type=\"submit\" name=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
+
+ $html .= "<form action=\"" . page_link_to("admin_news") . "&action=delete\" method=\"POST\">\n";
+ $html .= "<input type=\"hidden\" name=\"id\" value=\"" . $id . "\">\n";
+ $html .= "<input type=\"submit\" name=\"submit\" value=\"Löschen\">\n";
+ $html .= "</form>";
+ } else
+ return error("No News found.");
+ break;
+
+ case 'save' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing News ID.");
+
+ $news = sql_select("SELECT * FROM `News` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($news) > 0) {
+ list ($news) = $news;
+
+ sql_query("UPDATE `News` SET `Datum`='" . sql_escape(time()) . "', `Betreff`='" . sql_escape($_POST["eBetreff"]) . "', `Text`='" . sql_escape($_POST["eText"]) . "', `UID`='" . sql_escape($user['UID']) .
+ "', `Treffen`='" . sql_escape($_POST["eTreffen"]) . "' WHERE `ID`=".sql_escape($id)." LIMIT 1");
+ header("Location: " . page_link_to("news"));
+ } else
+ return error("No News found.");
+ break;
+
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing News ID.");
+
+ $news = sql_select("SELECT * FROM `News` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($news) > 0) {
+ list ($news) = $news;
+
+ sql_query("DELETE FROM `news` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("news"));
+ } else
+ return error("No News found.");
+ break;
+ }
+ }
+ return $html;
+}
+?> \ No newline at end of file
diff --git a/includes/pages/admin_questions.php b/includes/pages/admin_questions.php
new file mode 100644
index 00000000..0e4469d5
--- /dev/null
+++ b/includes/pages/admin_questions.php
@@ -0,0 +1,85 @@
+<?php
+function admin_new_questions() {
+ global $user, $privileges;
+
+ if (in_array("admin_questions", $privileges)) {
+ $new_messages = sql_num_query("SELECT * FROM `Questions` WHERE `AID`=0");
+
+ if ($new_messages > 0)
+ return '<p class="notice"><a href="' . page_link_to("admin_questions") . '">There are unanswered questions!</a></p><hr />';
+ }
+
+ return "";
+}
+
+function admin_questions() {
+ global $user;
+
+ if (!isset ($_REQUEST['action'])) {
+ $open_questions = "";
+ $questions = sql_select("SELECT * FROM `Questions` WHERE `AID`=0");
+ foreach ($questions as $question)
+ $open_questions .= template_render(
+ '../templates/admin_question_unanswered.html', array (
+ 'question_nick' => UID2Nick($question['UID']),
+ 'question_id' => $question['QID'],
+ 'link' => page_link_to("admin_questions"),
+ 'question' => str_replace("\n", '<br />', $question['Question'])
+ ));
+
+ $answered_questions = "";
+ $questions = sql_select("SELECT * FROM `Questions` WHERE `AID`>0");
+
+ foreach ($questions as $question)
+ $answered_questions .= template_render(
+ '../templates/admin_question_answered.html', array (
+ 'question_id' => $question['QID'],
+ 'question_nick' => UID2Nick($question['UID']),
+ 'question' => str_replace("\n", "<br />", $question['Question']),
+ 'answer_nick' => UID2Nick($question['AID']),
+ 'answer' => str_replace("\n", "<br />", $question['Answer']),
+ 'link' => page_link_to("admin_questions"),
+ ));
+
+ return template_render('../templates/admin_questions.html', array (
+ 'link' => page_link_to("admin_questions"),
+ 'open_questions' => $open_questions,
+ 'answered_questions' => $answered_questions
+ ));
+ } else {
+ switch ($_REQUEST['action']) {
+ case 'answer' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Question ID.");
+
+ $question = sql_select("SELECT * FROM `Questions` WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($question) > 0 && $question[0]['AID'] == "0") {
+ $answer = trim(preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['answer'])));
+
+ if ($answer != "") {
+ sql_query("UPDATE `Questions` SET `AID`=" . sql_escape($user['UID']) . ", `Answer`='" . sql_escape($answer) . "' WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_questions"));
+ } else
+ return error("Please enter an answer!");
+ } else
+ return error("No question found.");
+ break;
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Question ID.");
+
+ $question = sql_select("SELECT * FROM `Questions` WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($question) > 0) {
+ sql_query("DELETE FROM `Questions` WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_questions"));
+ } else
+ return error("No question found.");
+ break;
+ }
+ }
+}
+?>
diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php
new file mode 100644
index 00000000..be54b8ea
--- /dev/null
+++ b/includes/pages/admin_rooms.php
@@ -0,0 +1,143 @@
+<?php
+function admin_rooms() {
+ global $user;
+
+ $html = "";
+ $rooms = sql_select("SELECT * FROM `Room` ORDER BY `Number`, `Name`");
+ if (!isset ($_REQUEST["action"])) {
+ $html .= "Hallo " . $user['Nick'] .
+ ",<br />\nhier hast du die M&ouml;glichkeit, neue R&auml;ume f&uuml;r die Schichtpl&auml;ne einzutragen " .
+ "oder vorhandene abzu&auml;ndern:<br /><br />\n";
+
+ // Räume auflisten
+ if (count($rooms) > 0) {
+ $html .= '<table><thead><tr>';
+
+ $html .= "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
+ $html .= "<tr class=\"contenttopic\">\n";
+
+ // Tabellenüberschriften generieren
+ foreach ($rooms[0] as $attr => $tmp)
+ if ($attr != 'RID')
+ $html .= '<th>' . $attr . '</th>';
+ $html .= '<th>&nbsp;</th>';
+ $html .= '</tr></thead><tbody>';
+
+ foreach ($rooms as $i => $room) {
+ $html .= '<tr>';
+ foreach ($room as $attr => $value)
+ if ($attr != 'RID')
+ $html .= '<td>' . $value . '</td>';
+ $html .= '<td><a href="' . page_link_to("admin_rooms") . '&action=change&RID=' . $room['RID'] . '">Edit</a></td>';
+ $html .= '</tr>';
+ }
+
+ $html .= '</tbody></table>';
+ }
+ $html .= "<hr /><a href=\"" . page_link_to("admin_rooms") . "&action=new\">Neuen Raum/Ort eintragen</a><br />\n";
+ } else {
+ switch ($_REQUEST["action"]) {
+
+ case 'new' :
+ $html .= template_render('../templates/admin_rooms_new_form.html', array (
+ 'link' => page_link_to("admin_rooms")
+ ));
+ break;
+
+ case 'newsave' :
+ $name = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Name']));
+ $man = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Man']));
+ $from_pentabarf = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['FromPentabarf']));
+ $show = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['Show']));
+ $number = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['Number']));
+ sql_query("INSERT INTO `Room` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($show) . "', `Number`='" . sql_escape($number) . "'");
+ header("Location: " . page_link_to("admin_rooms"));
+ break;
+
+ case 'change' :
+ if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID']))
+ $rid = $_REQUEST['RID'];
+ else
+ return error("Incomplete call, missing Room ID.");
+
+ $room = sql_select("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1");
+ if (count($room) > 0) {
+ list ($room) = $room;
+ $room_angel_types = sql_select("SELECT * FROM `AngelTypes` LEFT OUTER JOIN `RoomAngelTypes` ON (`AngelTypes`.`TID` = `RoomAngelTypes`.`angel_type_id` AND `RoomAngelTypes`.`room_id`=" . sql_escape($rid) . ") ORDER BY `AngelTypes`.`Name`");
+
+ $angel_types = "";
+ foreach ($room_angel_types as $room_angel_type) {
+ if ($room_angel_type['count'] == "")
+ $room_angel_type['count'] = "0";
+ $angel_types .= '<tr><td>' . $room_angel_type['Name'] . '</td><td><input type="text" name="angel_type_' . $room_angel_type['TID'] . '" value="' . $room_angel_type['count'] . '" /></td></tr>';
+ }
+
+ $html .= template_render('../templates/admin_rooms_edit_form.html', array (
+ 'link' => page_link_to("admin_rooms"),
+ 'room_id' => $rid,
+ 'name' => $room['Name'],
+ 'man' => $room['Man'],
+ 'number' => $room['Number'],
+ 'from_pentabarf_options' => html_options('FromPentabarf', array (
+ 'Y' => 'Yes',
+ 'N' => 'No'
+ ), $room['FromPentabarf']),
+ 'show_options' => html_options('Show', array (
+ 'Y' => 'Yes',
+ 'N' => 'No'
+ ), $room['show']),
+ 'angel_types' => $angel_types
+ ));
+ } else
+ return error("No Room found.");
+ break;
+
+ case 'changesave' :
+ if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID']))
+ $rid = $_REQUEST['RID'];
+ else
+ return error("Incomplete call, missing Room ID.");
+
+ $room = sql_select("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1");
+ if (count($room) > 0) {
+ list ($room) = $room;
+ $room_angel_types = sql_select("SELECT * FROM `AngelTypes` LEFT OUTER JOIN `RoomAngelTypes` ON (`AngelTypes`.`TID` = `RoomAngelTypes`.`angel_type_id` AND `RoomAngelTypes`.`room_id`=" . sql_escape($rid) . ") ORDER BY `AngelTypes`.`Name`");
+
+ $name = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Name']));
+ $man = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Man']));
+ $from_pentabarf = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['FromPentabarf']));
+ $show = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['Show']));
+ $number = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['Number']));
+ sql_query("UPDATE `Room` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($show) . "', `Number`='" . sql_escape($number) . "' WHERE `RID`=" . sql_escape($rid) . " LIMIT 1");
+ sql_query("DELETE FROM `RoomAngelTypes` WHERE `room_id`=" . sql_escape($rid));
+ foreach ($room_angel_types as $room_angel_type) {
+ if (isset ($_REQUEST['angel_type_' . $room_angel_type['TID']]) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['angel_type_' . $room_angel_type['TID']]))
+ $count = $_REQUEST['angel_type_' . $room_angel_type['TID']];
+ else
+ $count = "0";
+ sql_query("INSERT INTO `RoomAngelTypes` SET `room_id`=" . sql_escape($rid) . ", `angel_type_id`=" . sql_escape($room_angel_type['TID']) . ", `count`=" . sql_escape($count));
+ }
+ header("Location: " . page_link_to("admin_rooms"));
+ } else
+ return error("No Room found.");
+ break;
+
+ case 'delete' :
+ if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID']))
+ $rid = $_REQUEST['RID'];
+ else
+ return error("Incomplete call, missing Room ID.");
+
+ if (sql_num_query("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1") > 0) {
+ sql_query("DELETE FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1");
+ sql_query("DELETE FROM `RoomAngelTypes` WHERE `room_id`=" . sql_escape($rid) . " LIMIT 1");
+ header("Location: " . page_link_to("admin_rooms"));
+ } else
+ return error("No Room found.");
+ break;
+
+ }
+ }
+ return $html;
+}
+?>
diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php
new file mode 100644
index 00000000..0399dda8
--- /dev/null
+++ b/includes/pages/admin_user.php
@@ -0,0 +1,324 @@
+<?php
+function admin_user() {
+ global $user;
+
+ include ("includes/funktion_db_list.php");
+
+ $html = "";
+
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['id']) && sql_num_query("SELECT * FROM `User` WHERE `UID`=" . sql_escape($_REQUEST['id'])) > 0) {
+ $id = $_REQUEST['id'];
+ if (!isset ($_REQUEST['action'])) {
+ $html .= "Hallo,<br />" .
+ "hier kannst du den Eintrag &auml;ndern. Unter dem Punkt 'Gekommen' " .
+ "wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, " .
+ "dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. " .
+ "Wenn T-Shirt ein 'Ja' enth&auml;lt, bedeutet dies, dass der Engel " .
+ "bereits sein T-Shirt erhalten hat.<br /><br />\n";
+
+ $html .= "<form action=\"" . page_link_to("admin_user") . "&action=save&id=$id\" method=\"post\">\n";
+ $html .= "<table border=\"0\">\n";
+ $html .= "<input type=\"hidden\" name=\"Type\" value=\"Normal\">\n";
+
+ $SQL = "SELECT * FROM `User` WHERE `UID`='" . $id . "'";
+ $Erg = sql_query($SQL);
+
+ $html .= "<tr><td>\n";
+ $html .= "<table>\n";
+ $html .= " <tr><td>Nick</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eNick\" value=\"" .
+ mysql_result($Erg, 0, "Nick") . "\"></td></tr>\n";
+ $html .= " <tr><td>lastLogIn</td><td>" .
+ date("Y-m-d H:i", mysql_result($Erg, 0, "lastLogIn")) . "</td></tr>\n";
+ $html .= " <tr><td>Name</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eName\" value=\"" .
+ mysql_result($Erg, 0, "Name") . "\"></td></tr>\n";
+ $html .= " <tr><td>Vorname</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eVorname\" value=\"" .
+ mysql_result($Erg, 0, "Vorname") . "\"></td></tr>\n";
+ $html .= " <tr><td>Alter</td><td>" .
+ "<input type=\"text\" size=\"5\" name=\"eAlter\" value=\"" .
+ mysql_result($Erg, 0, "Alter") . "\"></td></tr>\n";
+ $html .= " <tr><td>Telefon</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eTelefon\" value=\"" .
+ mysql_result($Erg, 0, "Telefon") . "\"></td></tr>\n";
+ $html .= " <tr><td>Handy</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eHandy\" value=\"" .
+ mysql_result($Erg, 0, "Handy") . "\"></td></tr>\n";
+ $html .= " <tr><td>DECT</td><td>" .
+ "<input type=\"text\" size=\"4\" name=\"eDECT\" value=\"" .
+ mysql_result($Erg, 0, "DECT") . "\"></td></tr>\n";
+ $html .= " <tr><td>email</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eemail\" value=\"" .
+ mysql_result($Erg, 0, "email") . "\"></td></tr>\n";
+ $html .= " <tr><td>ICQ</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"eICQ\" value=\"" .
+ mysql_result($Erg, 0, "ICQ") . "\"></td></tr>\n";
+ $html .= " <tr><td>jabber</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"ejabber\" value=\"" .
+ mysql_result($Erg, 0, "jabber") . "\"></td></tr>\n";
+ $html .= " <tr><td>Size</td><td>" .
+ html_select_key('size', array (
+ 'S' => "S",
+ 'M' => "M",
+ 'L' => "L",
+ 'XL' => "XL",
+ '2XL' => "2XL",
+ '3XL' => "3XL",
+ '4XL' => "4XL",
+ '5XL' => "5XL",
+ 'S-G' => "S Girl",
+ 'M-G' => "M Girl",
+ 'L-G' => "L Girl",
+ 'XL-G' => "XL Girl"
+ ), mysql_result($Erg, 0, "Size")) . "</td></tr>\n";
+
+ $options = array (
+ '1' => "Yes",
+ '0' => "No"
+ );
+
+ // Gekommen?
+ $html .= " <tr><td>Gekommen</td><td>\n";
+ $html .= html_options('eGekommen', $options, mysql_result($Erg, 0, "Gekommen")) . "</td></tr>\n";
+
+ // Aktiv?
+ $html .= " <tr><td>Aktiv</td><td>\n";
+ $html .= html_options('eAktiv', $options, mysql_result($Erg, 0, "Aktiv")) . "</td></tr>\n";
+
+ // T-Shirt bekommen?
+ $html .= " <tr><td>T-Shirt</td><td>\n";
+ $html .= html_options('eTshirt', $options, mysql_result($Erg, 0, "Tshirt")) . "</td></tr>\n";
+
+ $html .= " <tr><td>Hometown</td><td>" .
+ "<input type=\"text\" size=\"40\" name=\"Hometown\" value=\"" .
+ mysql_result($Erg, 0, "Hometown") . "\"></td></tr>\n";
+
+ $html .= "</table>\n</td><td valign=\"top\">" . displayavatar($id, false) . "</td></tr>";
+
+ $html .= "</td></tr>\n";
+ $html .= "</table>\n<br />\n";
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
+
+ $html .= "<hr />";
+
+ $html .= "Hier kannst Du das Passwort dieses Engels neu setzen:<form action=\"" . page_link_to("admin_user") . "&action=change_pw&id=$id\" method=\"post\">\n";
+ $html .= "<table>\n";
+ $html .= " <tr><td>Passwort</td><td>" .
+ "<input type=\"password\" size=\"40\" name=\"new_pw\" value=\"\"></td></tr>\n";
+ $html .= " <tr><td>Wiederholung</td><td>" .
+ "<input type=\"password\" size=\"40\" name=\"new_pw2\" value=\"\"></td></tr>\n";
+
+ $html .= "</table>";
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
+
+ $html .= "<hr />";
+
+ $html .= "Hier kannst Du die Benutzergruppen des Engels festlegen:<form action=\"" . page_link_to("admin_user") . "&action=save_groups&id=" . $id . "\" method=\"post\">\n";
+ $html .= '<table>';
+
+ list ($my_highest_group) = sql_select("SELECT * FROM `UserGroups` WHERE `uid`=" . sql_escape($user['UID']) . " ORDER BY `uid`");
+ list ($his_highest_group) = sql_select("SELECT * FROM `UserGroups` WHERE `uid`=" . sql_escape($id) . " ORDER BY `uid`");
+
+ if ($id != $user['UID'] && $my_highest_group <= $his_highest_group) {
+ $groups = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = " . sql_escape($id) . ") WHERE `Groups`.`UID` >= " . sql_escape($my_highest_group['group_id']) . " ORDER BY `Groups`.`Name`");
+ foreach ($groups as $group)
+ $html .= '<tr><td><input type="checkbox" name="groups[]" value="' . $group['UID'] . '"' . ($group['group_id'] != "" ? ' checked="checked"' : '') . ' /></td><td>' . $group['Name'] . '</td></tr>';
+
+ $html .= '</table>';
+
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
+
+ $html .= "<hr />";
+ }
+
+ $html .= "<form action=\"" . page_link_to("admin_user") . "&action=delete&id=" . $id . "\" method=\"post\">\n";
+ $html .= "<input type=\"submit\" value=\"Löschen\">\n";
+ $html .= "</form>";
+
+ $html .= "<hr />";
+ $html .= funktion_db_element_list_2row("Freeloader Shifts", "SELECT `Remove_Time`, `Length`, `Comment` FROM `ShiftFreeloader` WHERE UID=" . $_REQUEST['id']);
+ } else {
+ switch ($_REQUEST['action']) {
+ case 'save_groups' :
+ if ($id != $user['UID']) {
+ list ($my_highest_group) = sql_select("SELECT * FROM `UserGroups` WHERE `uid`=" . sql_escape($user['UID']) . " ORDER BY `uid`");
+ list ($his_highest_group) = sql_select("SELECT * FROM `UserGroups` WHERE `uid`=" . sql_escape($id) . " ORDER BY `uid`");
+
+ if ($my_highest_group <= $his_highest_group) {
+ $groups = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = " . sql_escape($id) . ") WHERE `Groups`.`UID` >= " . sql_escape($my_highest_group['group_id']) . " ORDER BY `Groups`.`Name`");
+ $grouplist = array ();
+ foreach ($groups as $group)
+ $grouplist[] = $group['UID'];
+
+ if (!is_array($_REQUEST['groups']))
+ $_REQUEST['groups'] = array ();
+
+ sql_query("DELETE FROM `UserGroups` WHERE `uid`=" . sql_escape($id));
+ foreach ($_REQUEST['groups'] as $group)
+ if (in_array($group, $grouplist))
+ sql_query("INSERT INTO `UserGroups` SET `uid`=" .
+ sql_escape($id) . ", `group_id`=" . sql_escape($group));
+ $html .= success("Benutzergruppen gespeichert.");
+ } else {
+ $html .= error("Du kannst keine Engel mit mehr Rechten bearbeiten.");
+ }
+ } else {
+ $html .= error("Du kannst Deine eigenen Rechte nicht bearbeiten.");
+ }
+ break;
+
+ case 'delete' :
+ if ($user['UID'] != $id) {
+ sql_query("DELETE FROM `User` WHERE `UID`=" . sql_escape($id) . " LIMIT 1");
+ sql_query("DELETE FROM `UserGroups` WHERE `uid`=" . sql_escape($id));
+ sql_query("UPDATE `ShiftEntry` SET `UID`=0, `Comment`=NULL WHERE `UID`=" . sql_escape($id));
+ $html .= success("Benutzer gelöscht!");
+ } else {
+ $html .= error("Du kannst Dich nicht selber löschen!");
+ }
+ break;
+
+ case 'save' :
+ $SQL = "UPDATE `User` SET ";
+ $SQL .= " `Nick` = '" . $_POST["eNick"] . "', `Name` = '" . $_POST["eName"] . "', " .
+ "`Vorname` = '" . $_POST["eVorname"] . "', " .
+ "`Telefon` = '" . $_POST["eTelefon"] . "', " .
+ "`Handy` = '" . $_POST["eHandy"] . "', " .
+ "`Alter` = '" . $_POST["eAlter"] . "', " .
+ "`DECT` = '" . $_POST["eDECT"] . "', " .
+ "`email` = '" . $_POST["eemail"] . "', " .
+ "`ICQ` = '" . $_POST["eICQ"] . "', " .
+ "`jabber` = '" . $_POST["ejabber"] . "', " .
+ "`Size` = '" . $_POST["eSize"] . "', " .
+ "`Gekommen`= '" . $_POST["eGekommen"] . "', " .
+ "`Aktiv`= '" . $_POST["eAktiv"] . "', " .
+ "`Tshirt` = '" . $_POST["eTshirt"] . "', " .
+ "`Hometown` = '" . $_POST["Hometown"] . "' " .
+ "WHERE `UID` = '" . $id .
+ "' LIMIT 1;";
+ sql_query($SQL);
+ $html .= success("Änderung wurde gespeichert...\n");
+ break;
+
+ case 'change_pw' :
+ if ($_REQUEST['new_pw'] != "" && $_REQUEST['new_pw'] == $_REQUEST['new_pw2']) {
+ sql_query("UPDATE `User` SET `Passwort`='" . sql_escape(PassCrypt($_REQUEST['new_pw'])) . "' WHERE `UID`=" . sql_escape($id) . " LIMIT 1");
+ $html .= success("Passwort neu gesetzt.");
+ } else {
+ $html .= error("Die Eingaben müssen übereinstimmen und dürfen nicht leer sein!");
+ }
+ break;
+ }
+ }
+ } else {
+ // Userliste, keine UID uebergeben...
+
+ $html .= "<a href=\"" . page_link_to("register") . "\">Neuen Engel eintragen &raquo;</a><br /><br />\n";
+
+ if (!isset ($_GET["OrderBy"]))
+ $_GET["OrderBy"] = "Nick";
+ $SQL = "SELECT * FROM `User` ORDER BY `" . sql_escape($_GET["OrderBy"]) . "` ASC";
+ $Erg = sql_query($SQL);
+
+ // anzahl zeilen
+ $Zeilen = mysql_num_rows($Erg);
+
+ $html .= "Anzahl Engel: $Zeilen<br /><br />\n";
+ $html .= '
+ <table width="100%" class="border" cellpadding="2" cellspacing="1"> <thead>
+ <tr class="contenttopic">
+ <th>
+ <a href="' . page_link_to("admin_user") . '&OrderBy=Nick">Nick</a>
+ </th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Vorname">Vorname</a> <a href="' . page_link_to("admin_user") . '&OrderBy=Name">Name</a></th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Alter">Alter</a></th>
+ <th>
+ <a href="' . page_link_to("admin_user") . '&OrderBy=email">E-Mail</a>
+ </th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Size">Gr&ouml;&szlig;e</a></th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Gekommen">Gekommen</a></th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Aktiv">Aktiv</a></th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=Tshirt">T-Shirt</a></th>
+ <th><a href="' . page_link_to("admin_user") . '&OrderBy=CreateDate">Registriert</a></th>
+ <th>&Auml;nd.</th>
+ </tr></thead>';
+ $Gekommen = 0;
+ $Active = 0;
+ $Tshirt = 0;
+
+ for ($n = 0; $n < $Zeilen; $n++) {
+ $title = "";
+ $user_groups = sql_select("SELECT * FROM `UserGroups` JOIN `Groups` ON (`Groups`.`UID` = `UserGroups`.`group_id`) WHERE `UserGroups`.`uid`=" . sql_escape(mysql_result($Erg, $n, "UID")) . " ORDER BY `Groups`.`Name`");
+ $groups = array ();
+ foreach ($user_groups as $user_group) {
+ $groups[] = $user_group['Name'];
+ }
+ $title .= 'Groups: ' . join(", ", $groups) . "<br />";
+ if (strlen(mysql_result($Erg, $n, "Telefon")) > 0)
+ $title .= "Tel: " . mysql_result($Erg, $n, "Telefon") . "<br />";
+ if (strlen(mysql_result($Erg, $n, "Handy")) > 0)
+ $title .= "Handy: " . mysql_result($Erg, $n, "Handy") . "<br />";
+ if (strlen(mysql_result($Erg, $n, "DECT")) > 0)
+ $title .= "DECT: <a href=\"./dect.php?custum=" . mysql_result($Erg, $n, "DECT") . "\">" .
+ mysql_result($Erg, $n, "DECT") . "</a><br />";
+ if (strlen(mysql_result($Erg, $n, "Hometown")) > 0)
+ $title .= "Hometown: " . mysql_result($Erg, $n, "Hometown") . "<br />";
+ if (strlen(mysql_result($Erg, $n, "lastLogIn")) > 0)
+ $title .= "Last login: " . date("Y-m-d H:i", mysql_result($Erg, $n, "lastLogIn")) . "<br />";
+ if (strlen(mysql_result($Erg, $n, "Art")) > 0)
+ $title .= "Type: " . mysql_result($Erg, $n, "Art") . "<br />";
+ if (strlen(mysql_result($Erg, $n, "ICQ")) > 0)
+ $title .= "ICQ: " . mysql_result($Erg, $n, "ICQ") . "<br />";
+ if (strlen(mysql_result($Erg, $n, "jabber")) > 0)
+ $title .= "jabber: " . mysql_result($Erg, $n, "jabber") . "<br />";
+
+ $html .= "<tr class=\"content\">\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Nick") . "</td>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Vorname") . " " . mysql_result($Erg, $n, "Name") . "</td>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Alter") . "</td>\n";
+ $html .= "\t<td>";
+ if (strlen(mysql_result($Erg, $n, "email")) > 0)
+ $html .= "<a href=\"mailto:" . mysql_result($Erg, $n, "email") . "\">" .
+ mysql_result($Erg, $n, "email") . "</a>";
+ $html .= '<div class="hidden">' . $title . '</div>';
+ $html .= "</td>\n";
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Size") . "</td>\n";
+ $Gekommen += mysql_result($Erg, $n, "Gekommen");
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Gekommen") . "</td>\n";
+ $Active += mysql_result($Erg, $n, "Aktiv");
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Aktiv") . "</td>\n";
+ $Tshirt += mysql_result($Erg, $n, "Tshirt");
+ $html .= "\t<td>" . mysql_result($Erg, $n, "Tshirt") . "</td>\n";
+ $html .= "<td>" . mysql_result($Erg, $n, "CreateDate") . "</td>";
+ $html .= "\t<td>" . '<a href="' . page_link_to("admin_user") . '&id=' . mysql_result($Erg, $n, "UID") . '">Edit</a>' .
+ "</td>\n";
+ $html .= "</tr>\n";
+ }
+ $html .= "<tr>" .
+ "<td></td><td></td><td></td><td></td><td></td>" .
+ "<td>$Gekommen</td><td>$Active</td><td>$Tshirt</td><td></td><td></td></tr>\n";
+ $html .= "\t</table>\n";
+ // Ende Userliste
+
+ $html .= "<hr /><h2>Statistics</h2>";
+ $html .= funktion_db_element_list_2row("Hometown", "SELECT COUNT(`Hometown`), `Hometown` FROM `User` GROUP BY `Hometown`");
+
+ $html .= "<br />\n";
+
+ $html .= funktion_db_element_list_2row("Engeltypen", "SELECT COUNT(`Art`), `Art` FROM `User` GROUP BY `Art`");
+
+ $html .= "<br />\n";
+
+ $html .= funktion_db_element_list_2row("Used Groups", "SELECT Groups.Name AS 'GroupName', COUNT(Groups.Name) AS Count FROM `UserGroups` " .
+ "LEFT JOIN `Groups` ON Groups.UID = UserGroups.group_id " .
+ "WHERE (UserGroups.group_id!='NULL') " .
+ "GROUP BY `GroupName` " .
+ "");
+ }
+ return $html;
+}
+?> \ No newline at end of file
diff --git a/includes/pages/guest_credits.php b/includes/pages/guest_credits.php
new file mode 100644
index 00000000..89f68fde
--- /dev/null
+++ b/includes/pages/guest_credits.php
@@ -0,0 +1,5 @@
+<?php
+function guest_credits() {
+ return template_render('../templates/guest_credits.html', array ());
+}
+?> \ No newline at end of file
diff --git a/includes/pages/guest_faq.php b/includes/pages/guest_faq.php
new file mode 100644
index 00000000..e639731b
--- /dev/null
+++ b/includes/pages/guest_faq.php
@@ -0,0 +1,24 @@
+<?php
+function guest_faq() {
+ $html = "";
+ $faqs = sql_select("SELECT * FROM `FAQ`");
+ foreach ($faqs as $faq) {
+ $html .= "<dl>";
+ if ($_SESSION['Sprache'] == "DE") {
+ $html .= sprintf(
+ '<dt>%s</dt> <dd>%s</dd>',
+ $faq['Frage_de'],
+ $faq['Antwort_de']
+ );
+ } else {
+ $html .= sprintf(
+ '<dt>%s</dt> <dd>%s</dd>',
+ $faq['Frage_en'],
+ $faq['Antwort_en']
+ );
+ }
+ $html .= "</dl>";
+ }
+ return $html;
+}
+?>
diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php
new file mode 100644
index 00000000..db20a207
--- /dev/null
+++ b/includes/pages/guest_login.php
@@ -0,0 +1,269 @@
+<?php
+
+
+// Engel registrieren
+function guest_register() {
+ $html = "";
+ $success = "none";
+
+ if (isset ($_POST["send"])) {
+ $eNick = trim($_POST["Nick"]);
+
+ if ($_POST["Alter"] == "")
+ $_POST["Alter"] = 23;
+
+ // user vorhanden?
+ $Ergans = sql_select("SELECT UID FROM `User` WHERE `Nick`='" . sql_escape($_POST["Nick"]) . "'");
+
+ if (strlen($_POST["Nick"]) < 2)
+ $error = Get_Text("makeuser_error_nick1")
+ . $_POST["Nick"] . Get_Text("makeuser_error_nick2");
+
+ elseif (count($Ergans) > 0)
+ $error = Get_Text("makeuser_error_nick1")
+ . $_POST["Nick"] . Get_Text("makeuser_error_nick3");
+
+ elseif (strlen($_POST["email"]) <= 6 && strstr($_POST["email"], "@") == FALSE && strstr($_POST["email"], ".") == false)
+ $error = Get_Text("makeuser_error_mail");
+
+ elseif (!is_numeric($_POST["Alter"]))
+ $error = Get_Text("makeuser_error_Alter");
+
+ elseif ($_POST["Passwort"] != $_POST["Passwort2"])
+ $error = Get_Text("makeuser_error_password1");
+
+ elseif (strlen($_POST["Passwort"]) < 6)
+ $error = Get_Text("makeuser_error_password2");
+
+ else {
+ $_POST["Passwort"] = PassCrypt($_POST["Passwort"]);
+ unset ($_POST["Passwort2"]);
+
+ $Erg = sql_query("INSERT INTO `User` (" .
+ "`Nick` , " . "`Name` , " .
+ "`Vorname`, " . "`Alter` , " .
+ "`Telefon`, " . "`DECT`, " .
+ "`Handy`, " . "`email`, " .
+ "`ICQ`, " . "`jabber`, " .
+ "`Size`, " . "`Passwort`, " .
+ "`Art` , " . "`kommentar`, " .
+ "`Hometown`," . "`CreateDate`, `Sprache` ) " .
+ "VALUES ( '"
+ . sql_escape($_POST["Nick"]) . "', " . "'"
+ . sql_escape($_POST["Name"]) . "', " . "'"
+ . sql_escape($_POST["Vorname"]) . "', " . "'"
+ . sql_escape($_POST["Alter"]) . "', " . "'"
+ . sql_escape($_POST["Telefon"]) . "', " . "'"
+ . sql_escape($_POST["DECT"]) . "', " . "'"
+ . sql_escape($_POST["Handy"]) . "', " . "'"
+ . sql_escape($_POST["email"]) . "', " . "'"
+ . sql_escape($_POST["ICQ"]) . "', " . "'"
+ . sql_escape($_POST["jabber"]) . "', " . "'"
+ . sql_escape($_POST["Size"]) . "', " . "'"
+ . sql_escape($_POST["Passwort"]) . "', " . "'"
+ . sql_escape($_POST["Art"]) . "', " . "'"
+ . sql_escape($_POST["kommentar"]) . "', " . "'"
+ . sql_escape($_POST["Hometown"]) . "',"
+ . "NOW(), '"
+ . sql_escape($_SESSION["Sprache"])
+ . "')"
+ );
+
+ if ($Erg != 1) {
+ $html .= Get_Text("makeuser_error_write1") . "<br />\n";
+ $error = sql_error();
+ } else {
+ $html .= "<p class=\"success\">" . Get_Text("makeuser_writeOK") . "\n";
+
+ $Erg3 = mysql_query("INSERT INTO `UserGroups` SET `uid`=" . sql_escape(sql_id()) . ", `group_id`=-2");
+
+ if ($Erg3 != 1) {
+ $html .= "<h1>" . Get_Text("makeuser_error_write2") . "<br />\n";
+ $error = sql_error();
+ } else {
+ $html .= Get_Text("makeuser_writeOK2") . "<br />\n";
+ $html .= "<h1>" . Get_Text("makeuser_writeOK3") . "</h1>\n";
+ }
+
+ $html .= Get_Text("makeuser_writeOK4") . "</p><p></p>\n<br /><br />\n";
+ $success = "any";
+
+ if (isset ($SubscribeMailinglist)) {
+ if ($_POST["subscribe-mailinglist"] == "") {
+ $headers = "From: " . $_POST["email"] . "\r\n" .
+ "X-Mailer: PHP/" . phpversion();
+ mail($SubscribeMailinglist, "subject", "message", $headers);
+ }
+ }
+ }
+ }
+
+ if (isset ($error))
+ $html .= error($error);
+ } else {
+ // init vars
+ $_POST["Nick"] = "";
+ $_POST["Name"] = "";
+ $_POST["Vorname"] = "";
+ $_POST["Alter"] = "";
+ $_POST["Telefon"] = "";
+ $_POST["DECT"] = "";
+ $_POST["Handy"] = "";
+ $_POST["email"] = "";
+ $_POST["subscribe-mailinglist"] = "";
+ $_POST["ICQ"] = "";
+ $_POST["jabber"] = "";
+ $_POST["Size"] = "L";
+ $_POST["Art"] = "";
+ $_POST["kommentar"] = "";
+ $_POST["Hometown"] = "";
+ }
+
+ if ($success == "none") {
+ $html .= "<h1>" . Get_Text("makeuser_text0") . "</h1>\n";
+ $html .= "<h2>" . Get_Text("makeuser_text1") . "</h2>\n";
+ $html .= "<form action=\"\" method=\"post\">\n";
+ $html .= "<table>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Nickname") . "*</td><td><input type=\"text\" size=\"40\" name=\"Nick\" value=\"" . $_POST["Nick"] . "\" /></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Nachname") . "</td><td><input type=\"text\" size=\"40\" name=\"Name\" value=\"" . $_POST["Name"] . "\" /></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Vorname") . "</td><td><input type=\"text\" size=\"40\" name=\"Vorname\" value=\"" . $_POST["Vorname"] . "\" /></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Alter") . "</td><td><input type=\"text\" size=\"40\" name=\"Alter\" value=\"" . $_POST["Alter"] . "\"></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Telefon") . "</td><td><input type=\"text\" size=\"40\" name=\"Telefon\" value=\"" . $_POST["Telefon"] . "\"></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_DECT") . "</td><td><input type=\"text\" size=\"40\" name=\"DECT\" value=\"" . $_POST["DECT"] . "\"></td><td>\n";
+ $html .= "<!--a href=\"https://21c3.ccc.de/wiki/index.php/POC\"><img src=\"./pic/external.png\" alt=\"external: \">DECT</a--></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Handy") . "</td><td><input type=\"text\" size=\"40\" name=\"Handy\" value=\"" . $_POST["Handy"] . "\"></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_E-Mail") . "*</td><td><input type=\"text\" size=\"40\" name=\"email\" value=\"" . $_POST["email"] . "\"></td></tr>\n";
+
+ if (isset ($SubscribeMailinglist))
+ $html .= "<tr><td>" . Get_Text("makeuser_subscribe-mailinglist") . "</td><td><input type=\"checkbox\" name=\"subscribe-mailinglist\" value=\"" . $_POST["subscribe-mailinglist"] . "\">($SubscribeMailinglist)</td></tr>\n";
+
+ $html .= "<tr><td>ICQ</td><td><input type=\"text\" size=\"40\" name=\"ICQ\" value=\"" . $_POST["ICQ"] . "\"></td></tr>\n";
+ $html .= "<tr><td>jabber</td><td><input type=\"text\" size=\"40\" name=\"jabber\" value=\"" . $_POST["jabber"] . "\"></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_T-Shirt") . " Gr&ouml;sse*</td><td align=\"left\">\n";
+ $html .= "<select name=\"Size\">\n";
+ $html .= "<option value=\"S\"";
+ if ($_POST["Size"] == "S")
+ $html .= " selected";
+ $html .= ">S</option>\n";
+ $html .= "<option value=\"M\"";
+ if ($_POST["Size"] == "M")
+ $html .= " selected";
+ $html .= ">M</option>\n";
+ $html .= "<option value=\"L\"";
+ if ($_POST["Size"] == "L")
+ $html .= " selected";
+ $html .= ">L</option>\n";
+ $html .= "<option value=\"XL\"";
+ if ($_POST["Size"] == "XL")
+ $html .= " selected";
+ $html .= ">XL</option>\n";
+ $html .= "<option value=\"2XL\"";
+ if ($_POST["Size"] == "2XL")
+ $html .= " selected";
+ $html .= ">2XL</option>\n";
+ $html .= "<option value=\"3XL\"";
+ if ($_POST["Size"] == "3XL")
+ $html .= " selected";
+ $html .= ">3XL</option>\n";
+ $html .= "<option value=\"4XL\"";
+ if ($_POST["Size"] == "4XL")
+ $html .= " selected";
+ $html .= ">4XL</option>\n";
+ $html .= "<option value=\"5XL\"";
+ if ($_POST["Size"] == "5XL")
+ $html .= " selected";
+ $html .= ">5XL</option>\n";
+ $html .= "<option value=\"S-G\"";
+ if ($_POST["Size"] == "S-G")
+ $html .= " selected";
+ $html .= ">S Girl</option>\n";
+ $html .= "<option value=\"M-G\"";
+ if ($_POST["Size"] == "M-G")
+ $html .= " selected";
+ $html .= ">M Girl</option>\n";
+ $html .= "<option value=\"L-G\"";
+ if ($_POST["Size"] == "L-G")
+ $html .= " selected";
+ $html .= ">L Girl</option>\n";
+ $html .= "<option value=\"XL-G\"";
+ if ($_POST["Size"] == "XL-G")
+ $html .= " selected";
+ $html .= ">XL Girl</option>\n";
+ $html .= "</select>\n";
+ $html .= "</td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Engelart") . "</td><td align=\"left\">\n";
+ $html .= "<select name=\"Art\">\n";
+
+ $engel_types = sql_select("SELECT * FROM `AngelTypes` ORDER BY `NAME`");
+ foreach ($engel_types as $engel_type) {
+ $Name = $engel_type['Name'] . Get_Text("inc_schicht_engel");
+ $html .= "<option value=\"" . $Name . "\"";
+
+ if ($_POST["Art"] == $Name)
+ $html .= " selected";
+
+ $html .= ">$Name</option>\n";
+ }
+
+ $html .= "</select>\n";
+ $html .= "</td>\n";
+ $html .= "</tr>\n";
+ $html .= "<tr>\n";
+ $html .= "<td>" . Get_Text("makeuser_text2") . "</td>\n";
+ $html .= "<td><textarea rows=\"5\" cols=\"40\" name=\"kommentar\">" . $_POST["kommentar"] . "</textarea></td>\n";
+ $html .= "</tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Hometown") . "</td><td><input type=\"text\" size=\"40\" name=\"Hometown\" value=\"" . $_POST["Hometown"] . "\"></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Passwort") . "*</td><td><input type=\"password\" size=\"40\" name=\"Passwort\"/></td></tr>\n";
+ $html .= "<tr><td>" . Get_Text("makeuser_Passwort2") . "*</td><td><input type=\"password\" size=\"40\" name=\"Passwort2\"/></td></tr>\n";
+ $html .= "<tr><td>&nbsp;</td><td><input type=\"submit\" name=\"send\" value=\"" . Get_Text("makeuser_Anmelden") . "\"/></td></tr>\n";
+ $html .= "</table>\n";
+ $html .= "</form>\n";
+ $html .= Get_Text("makeuser_text3");
+ }
+ return $html;
+}
+
+function guest_logout() {
+ unset ($_SESSION['uid']);
+ header("Location: " . page_link_to("start"));
+}
+
+function guest_login() {
+ global $user;
+ unset ($_SESSION['uid']);
+
+ $html = "";
+ if (isset ($_REQUEST['login_submit'])) {
+ $login_user = sql_select("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($_REQUEST["user"]) . "'");
+
+ if (count($login_user) == 1) { // Check, ob User angemeldet wird...
+ $login_user = $login_user[0];
+ if ($login_user["Passwort"] == PassCrypt($_REQUEST["password"])) { // Passwort ok...
+ $_SESSION['uid'] = $login_user['UID'];
+ $_SESSION['Sprache'] = $login_user['Sprache'];
+ header("Location: " . page_link_to("news"));
+ } else { // Passwort nicht ok...
+ $ErrorText = "pub_index_pass_no_ok";
+ } // Ende Passwort-Check
+ } else { // Anzahl der User in User-Tabelle <> 1 --> keine Anmeldung
+ if ($user_anz == 0)
+ $ErrorText = "pub_index_User_unset";
+ else
+ $ErrorText = "pub_index_User_more_as_one";
+ } // Ende Check, ob User angemeldet wurde}
+ }
+ if (isset ($ErrorText))
+ $html .= error(Get_Text($ErrorText));
+ $html .= guest_login_form();
+ return $html;
+}
+
+function guest_login_form() {
+ return template_render("../templates/guest_login_form.html", array (
+ 'link' => page_link_to("login"),
+ 'nick' => Get_Text("index_lang_nick"),
+ 'pass' => Get_Text("index_lang_pass"),
+ 'send' => Get_Text("index_lang_send")
+ ));
+}
+?>
diff --git a/includes/pages/guest_start.php b/includes/pages/guest_start.php
new file mode 100644
index 00000000..286511f2
--- /dev/null
+++ b/includes/pages/guest_start.php
@@ -0,0 +1,13 @@
+<?php
+function guest_start() {
+ require_once ('includes/pages/guest_login.php');
+ $html = "<p>" . Get_Text("index_text1") . "</p>\n";
+ $html .= "<p>" . Get_Text("index_text2") . "</p>\n";
+ $html .= "<p>" . Get_Text("index_text3") . "</p>\n";
+
+ $html .= guest_login_form();
+
+ $html .= "<h6>" . Get_Text("index_text4") . "</h6>";
+ return $html;
+}
+?> \ No newline at end of file
diff --git a/includes/pages/user_messages.php b/includes/pages/user_messages.php
new file mode 100644
index 00000000..a13b28f0
--- /dev/null
+++ b/includes/pages/user_messages.php
@@ -0,0 +1,239 @@
+<?php
+function user_unread_messages() {
+ global $user, $privileges;
+
+ if (in_array("user_messages", $privileges)) {
+ $new_messages = sql_num_query("SELECT * FROM `Messages` WHERE isRead='N' AND `RUID`=" . sql_escape($user['UID']));
+
+ if ($new_messages > 0)
+ return sprintf(
+ '<p class="notice"><a href="%s">%s %s %s</a></p><hr />',
+ page_link_to("user_messages"),
+ Get_Text("pub_messages_new1"),
+ $new_messages,
+ Get_Text("pub_messages_new2")
+ );
+ }
+
+ return "";
+}
+
+function user_messages() {
+ global $user;
+
+ if (!isset ($_REQUEST['action'])) {
+ $users = sql_select("SELECT * FROM `User` WHERE NOT `UID`="
+ . sql_escape($user['UID']) . " ORDER BY `Nick`");
+
+ $to_select_data = array (
+ "" => "Select receiver..."
+ );
+
+ foreach ($users as $u)
+ $to_select_data[$u['UID']] = $u['Nick'];
+
+ $to_select = html_select_key('to', $to_select_data, '');
+
+ $messages_html = "";
+ $messages = sql_select("SELECT * FROM `Messages` WHERE `SUID`="
+ . sql_escape($user['UID'])
+ . " OR `RUID`=" . sql_escape($user['UID'])
+ . " ORDER BY `isRead`,`Datum` DESC"
+ );
+ foreach ($messages as $message) {
+
+ $messages_html .= sprintf(
+ '<tr %s> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td>'
+ .'<td>%s</td>',
+ ($message['isRead'] == 'N' ? ' class="new_message"' : ''),
+ ($message['isRead'] == 'N' ? '•' : ''),
+ date("Y-m-d H:i", $message['Datum']),
+ UID2Nick($message['SUID']),
+ UID2Nick($message['RUID']),
+ str_replace("\n", '<br />', $message['Text'])
+ );
+
+ $messages_html .= '<td>';
+ if ($message['RUID'] == $user['UID']) {
+ if ($message['isRead'] == 'N')
+ $messages_html .= '<a href="' . page_link_to("user_messages") . '&action=read&id=' . $message['id'] . '">' . Get_Text("pub_messages_MarkRead") . '</a>';
+ } else {
+ $messages_html .= '<a href="' . page_link_to("user_messages") . '&action=delete&id=' . $message['id'] . '">' . Get_Text("pub_messages_DelMsg") . '</a>';
+ }
+ $messages_html .= '</td></tr>';
+ }
+
+ return template_render('../templates/user_messages.html', array (
+ 'link' => page_link_to("user_messages"),
+ 'greeting' => Get_Text("Hello") . $user['Nick'] . ", <br />\n"
+ . Get_Text("pub_messages_text1") . "<br /><br />\n",
+ 'messages' => $messages_html,
+ 'new_label' => Get_Text("pub_messages_Neu"),
+ 'date_label' => Get_Text("pub_messages_Datum"),
+ 'from_label' => Get_Text("pub_messages_Von"),
+ 'to_label' => Get_Text("pub_messages_An"),
+ 'text_label' => Get_Text("pub_messages_Text"),
+ 'date' => date("Y-m-d H:i"),
+ 'from' => $user['Nick'],
+ 'to_select' => $to_select,
+ 'submit_label' => Get_Text("save")
+ ));
+ } else {
+ switch ($_REQUEST['action']) {
+ case "read" :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Message ID.");
+
+ $message = sql_select("SELECT * FROM `Messages` WHERE `id`=" . sql_escape($id) . " LIMIT 1");
+ if (count($message) > 0 && $message[0]['RUID'] == $user['UID']) {
+ sql_query("UPDATE `Messages` SET `isRead`='Y' WHERE `id`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("user_messages"));
+ } else
+ return error("No Message found.");
+ break;
+
+ case "delete" :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Message ID.");
+
+ $message = sql_select("SELECT * FROM `Messages` WHERE `id`=" . sql_escape($id) . " LIMIT 1");
+ if (count($message) > 0 && $message[0]['SUID'] == $user['UID']) {
+ sql_query("DELETE FROM `Messages` WHERE `id`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("user_messages"));
+ } else
+ return error("No Message found.");
+ break;
+
+ case "send" :
+ $text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['text']));
+ $to = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['to']));
+ if ($text != "" && is_numeric($to) && sql_num_query("SELECT * FROM `User` WHERE `UID`=" . sql_escape($to) . " AND NOT `UID`=" . sql_escape($user['UID']) . " LIMIT 1") > 0) {
+ sql_query("INSERT INTO `Messages` SET `Datum`=" . sql_escape(time()) . ", `SUID`=" . sql_escape($user['UID']) . ", `RUID`=" . sql_escape($to) . ", `Text`='" . sql_escape($text) . "'");
+ header("Location: " . page_link_to("user_messages"));
+ } else {
+ return error(Get_Text("pub_messages_Send_Error"));
+ }
+ break;
+ }
+ return "";
+ }
+
+ if (!isset ($_GET["action"]))
+ $_GET["action"] = "start";
+
+ switch ($_GET["action"]) {
+ case "start" :
+ echo Get_Text("Hello") . $_SESSION['Nick'] . ", <br />\n";
+ echo Get_Text("pub_messages_text1") . "<br /><br />\n";
+
+ //show exist Messages
+ $SQL = "SELECT * FROM `Messages` WHERE `SUID`='" . $_SESSION["UID"] . "' OR `RUID`='" . $_SESSION["UID"] . "'";
+ $erg = mysql_query($SQL, $con);
+
+ echo "<table border=\"0\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
+ echo "<tr>\n";
+ echo "<td class=\"contenttopic\"><b>" . Get_Text("pub_messages_Datum") . "</b></td>\n";
+ echo "<td class=\"contenttopic\"><b>" . Get_Text("pub_messages_Von") . "</b></td>\n";
+ echo "<td class=\"contenttopic\"><b>" . Get_Text("pub_messages_An") . "</b></td>\n";
+ echo "<td class=\"contenttopic\"><b>" . Get_Text("pub_messages_Text") . "</b></td>\n";
+ echo "<td class=\"contenttopic\"></td>\n";
+ echo "</tr>\n";
+
+ for ($i = 0; $i < mysql_num_rows($erg); $i++) {
+ echo "<tr class=\"content\">\n";
+ echo "<td>" . mysql_result($erg, $i, "Datum") . "</td>\n";
+ echo "<td>" . UID2Nick(mysql_result($erg, $i, "SUID")) . "</td>\n";
+ echo "<td>" . UID2Nick(mysql_result($erg, $i, "RUID")) . "</td>\n";
+ echo "<td>" . mysql_result($erg, $i, "Text") . "</td>\n";
+ echo "<td>";
+
+ if (mysql_result($erg, $i, "RUID") == $_SESSION["UID"]) {
+ echo "<a href=\"?action=DelMsg&Datum=" . mysql_result($erg, $i, "Datum") . "\">" . Get_Text("pub_messages_DelMsg") . "</a>";
+
+ if (mysql_result($erg, $i, "isRead") == "N")
+ echo "<a href=\"?action=MarkRead&Datum=" . mysql_result($erg, $i, "Datum") . "\">" . Get_Text("pub_messages_MarkRead") . "</a>";
+ } else {
+ if (mysql_result($erg, $i, "isRead") == "N")
+ echo Get_Text("pub_messages_NotRead");
+ }
+
+ echo "</td>\n";
+ echo "</tr>\n";
+ }
+
+ // send Messeges
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "?action=SendMsg\" method=\"POST\">";
+ echo "<tr class=\"content\">\n";
+ echo "<td></td>\n";
+ echo "<td></td>\n";
+
+ // Listet alle Nicks auf
+ echo "<td><select name=\"RUID\">\n";
+
+ $usql = "SELECT * FROM `User` WHERE (`UID`!='" . $_SESSION["UID"] . "') ORDER BY `Nick`";
+ $uErg = mysql_query($usql, $con);
+ $urowcount = mysql_num_rows($uErg);
+
+ for ($k = 0; $k < $urowcount; $k++) {
+ echo "<option value=\"" . mysql_result($uErg, $k, "UID") . "\">" . mysql_result($uErg, $k, "Nick") . "</option>\n";
+ }
+
+ echo "</select></td>\n";
+ echo "<td><textarea name=\"Text\" cols=\"30\" rows=\"10\"></textarea></td>\n";
+ echo "<td><input type=\"submit\" value=\"" . Get_Text("save") . "\"></td>\n";
+ echo "</tr>\n";
+ echo "</form>";
+
+ echo "</table>\n";
+ break;
+
+ case "SendMsg" :
+ echo Get_Text("pub_messages_Send1") . "...<br />\n";
+
+ $SQL = "INSERT INTO `Messages` ( `Datum` , `SUID` , `RUID` , `Text` ) VALUES (" .
+ "'" . gmdate("Y-m-j H:i:s", time()) . "', " .
+ "'" . $_SESSION["UID"] . "', " .
+ "'" . $_POST["RUID"] . "', " .
+ "'" . $_POST["Text"] . "');";
+
+ $Erg = mysql_query($SQL, $con);
+
+ if ($Erg == 1)
+ echo Get_Text("pub_messages_Send_OK") . "\n";
+ else
+ echo Get_Text("pub_messages_Send_Error") . "...\n(" . mysql_error($con) . ")";
+ break;
+
+ case "MarkRead" :
+ $SQL = "UPDATE `Messages` SET `isRead` = 'Y' " .
+ "WHERE `Datum` = '" . $_GET["Datum"] . "' AND `RUID`='" . $_SESSION["UID"] . "' " .
+ "LIMIT 1 ;";
+ $Erg = mysql_query($SQL, $con);
+
+ if ($Erg == 1)
+ echo Get_Text("pub_messages_MarkRead_OK") . "\n";
+ else
+ echo Get_Text("pub_messages_MarkRead_KO") . "...\n(" . mysql_error($con) . ")";
+ break;
+
+ case "DelMsg" :
+ $SQL = "DELETE FROM `Messages` " .
+ "WHERE `Datum` = '" . $_GET["Datum"] . "' AND `RUID` ='" . $_SESSION["UID"] . "' " .
+ "LIMIT 1;";
+ $Erg = mysql_query($SQL, $con);
+
+ if ($Erg == 1)
+ echo Get_Text("pub_messages_DelMsg_OK") . "\n";
+ else
+ echo Get_Text("pub_messages_DelMsg_KO") . "...\n(" . mysql_error($con) . ")";
+ break;
+
+ default :
+ echo Get_Text("pub_messages_NoCommand");
+ }
+}
+?>
diff --git a/includes/pages/user_news.php b/includes/pages/user_news.php
new file mode 100644
index 00000000..818c2da2
--- /dev/null
+++ b/includes/pages/user_news.php
@@ -0,0 +1,168 @@
+<?php
+function user_meetings() {
+ global $DISPLAY_NEWS, $privileges, $user;
+
+ $html = "";
+
+ if (isset ($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page']))
+ $page = $_REQUEST['page'];
+ else
+ $page = 0;
+
+ $news = sql_select("SELECT * FROM `News` WHERE `Treffen`=1 ORDER BY `ID` DESC LIMIT " . ($page * $DISPLAY_NEWS) . ", " . $DISPLAY_NEWS);
+ foreach ($news as $entry)
+ $html .= display_news($entry);
+
+ $html .= "<div class=\"pagination\">\n\n";
+ $dis_rows = ceil(sql_num_query("SELECT * FROM `News` WHERE `Treffen`=1") / $DISPLAY_NEWS);
+
+ $html .= Get_Text(5);
+
+ for ($i = 0; $i < $dis_rows; $i++) {
+ if ($i == $_REQUEST['page'])
+ $html .= ($i +1) . "&nbsp; ";
+ else
+ $html .= '<a href="' . page_link_to("news") . '&page=' . $i . '">' . ($i +1) . '</a>&nbsp; ';
+ }
+ $html .= '</div>';
+ return $html;
+}
+
+function display_news($news) {
+ global $privileges, $p;
+
+ $html .= "";
+ $html .= '<article class="news' . ($news['Treffen'] == 1 ? ' meeting' : '') . '">';
+ $html .= '<details>';
+ $html .= date("Y-m-d H:i", $news['Datum']) . ', ';
+ $html .= UID2Nick($news['UID']);
+ if ($p != "news_comments")
+ $html .= ', <a href="' . page_link_to("news_comments") . '&nid=' . $news['ID'] . '">Kommentare (' . sql_num_query("SELECT * FROM `news_comments` WHERE `Refid`='" . sql_escape($news['ID']) . "'") . ') &raquo;</a>';
+ $html .= '</details>';
+ $html .= '<h3>' . ($news['Treffen'] == 1 ? '[Meeting] ' : '') . ReplaceSmilies($news['Betreff']) . '</h3>';
+ $html .= '<p>' . ReplaceSmilies(nl2br($news['Text'])) . '</p>';
+ if (in_array("admin_news", $privileges))
+ $html .= "<details><a href=\"" . page_link_to("admin_news") . "&action=edit&id=" . $news['ID'] . "\">Edit</a></details>\n";
+
+ $html .= '</article>';
+ return $html;
+}
+
+function user_news_comments() {
+ global $user;
+
+ $html = "";
+ if (isset ($_REQUEST["nid"]) && preg_match("/^[0-9]{1,}$/", $_REQUEST['nid']) && sql_num_query("SELECT * FROM `News` WHERE `ID`=" . sql_escape($_REQUEST['nid']) . " LIMIT 1") > 0) {
+ $nid = $_REQUEST["nid"];
+ list ($news) = sql_select("SELECT * FROM `News` WHERE `ID`=" . sql_escape($_REQUEST['nid']) . " LIMIT 1");
+ if (isset ($_REQUEST["text"])) {
+ $text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['text']));
+ sql_query("INSERT INTO `news_comments` (`Refid`, `Datum`, `Text`, `UID`) VALUES ('" . sql_escape($nid) . "', '" . date("Y-m-d H:i:s") . "', '" . sql_escape($text) . "', '" . sql_escape($user["UID"]) . "')");
+ $html .= success("Eintrag wurde gespeichert");
+ }
+
+ $html .= '<a href="' . page_link_to("news") . '">&laquo; Back</a>';
+ $html .= display_news($news);
+
+ $html .= '<h2>Kommentare</h2>';
+
+ $comments = sql_select("SELECT * FROM `news_comments` WHERE `Refid`='" . $nid . "' ORDER BY 'ID'");
+ foreach ($comments as $comment) {
+ $html .= '<article class="news_comment">';
+ $html .= DisplayAvatar($comment['UID']);
+ $html .= '<details>';
+ $html .= $comment['Datum'] . ', ';
+ $html .= UID2Nick($comment['UID']);
+ $html .= '</details>';
+ $html .= '<p>' . nl2br($comment['Text']) . '</p>';
+ $html .= '</article>';
+ }
+
+ $html .= "</table>";
+ $html .= '
+ <br />
+ <hr>
+ <h2>Neuer Kommentar:</h2>
+ <a name="Neu">&nbsp;</a>
+
+ <form action="' . page_link_to("news_comments") . '" method="post">
+ <input type="hidden" name="nid" value="' . $_REQUEST["nid"] . '">
+ <table>
+ <tr>
+ <td align="right" valign="top">Text:</td>
+ <td><textarea name="text" cols="50" rows="10"></textarea></td>
+ </tr>
+ </table>
+ <br />
+ <input type="submit" value="sichern...">
+ </form>';
+ } else {
+ $html .= "Fehlerhafter Aufruf!";
+ }
+
+ return $html;
+}
+
+function user_news() {
+ global $DISPLAY_NEWS, $privileges, $user;
+
+ $html = "";
+
+ if (isset ($_POST["text"]) && isset ($_POST["betreff"])) {
+ if (!isset ($_POST["treffen"]) || !in_array("admin_news", $privileges))
+ $_POST["treffen"] = 0;
+ sql_query("INSERT INTO `News` (`Datum`, `Betreff`, `Text`, `UID`, `Treffen`) " .
+ "VALUES ('" . sql_escape(time()) . "', '" . sql_escape($_POST["betreff"]) . "', '" . sql_escape($_POST["text"]) . "', '" . sql_escape($user['UID']) .
+ "', '" . sql_escape($_POST["treffen"]) . "');");
+ $html .= success(Get_Text(4));
+ }
+
+ if (isset ($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page']))
+ $page = $_REQUEST['page'];
+ else
+ $page = 0;
+
+ $news = sql_select("SELECT * FROM `News` ORDER BY `ID` DESC LIMIT " . ($page * $DISPLAY_NEWS) . ", " . $DISPLAY_NEWS);
+ foreach ($news as $entry)
+ $html .= display_news($entry);
+
+ $html .= "<div class=\"pagination\">\n\n";
+ $dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
+
+ $html .= Get_Text(5);
+
+ for ($i = 0; $i < $dis_rows; $i++) {
+ if ($i == $_REQUEST['page'])
+ $html .= ($i +1) . "&nbsp; ";
+ else
+ $html .= '<a href="' . page_link_to("news") . '&page=' . $i . '">' . ($i +1) . '</a>&nbsp; ';
+ }
+ $html .= '</div>
+ <br /><hr />
+ <h2>' . Get_Text(6) . '</h2>
+ <a name="Neu">&nbsp;</a>
+
+ <form action="" method="post">
+ <table>
+ <tr>
+ <td align="right">' . Get_Text(7) . '</td>
+ <td><input type="text" name="betreff" size="60"></td>
+ </tr>
+ <tr>
+ <td align="right">' . Get_Text(8) . '</td>
+ <td><textarea name="text" cols="50" rows="10"></textarea></td>
+ </tr>';
+ if (in_array('admin_news', $privileges)) {
+ $html .= ' <tr>
+ <td align="right">' . Get_Text(9) . '</td>
+ <td><input type="checkbox" name="treffen" size="1" value="1"></td>
+ </tr>';
+
+ }
+ $html .= '</table>
+ <br />
+ <input type="submit" value="' . Get_Text("save") . '">
+ </form>';
+ return $html;
+}
+?> \ No newline at end of file
diff --git a/includes/pages/user_questions.php b/includes/pages/user_questions.php
new file mode 100644
index 00000000..4e9daa5a
--- /dev/null
+++ b/includes/pages/user_questions.php
@@ -0,0 +1,50 @@
+<?php
+function user_questions() {
+ global $user;
+
+ if (!isset ($_REQUEST['action'])) {
+ $open_questions = "";
+ $questions = sql_select("SELECT * FROM `Questions` WHERE `AID`=0 AND `UID`=" . sql_escape($user['UID']));
+ foreach ($questions as $question)
+ $open_questions .= '<tr><td>' . str_replace("\n", '<br />', $question['Question']) . '</td><td><a href="' . page_link_to("user_questions") . '&action=delete&id=' . $question['QID'] . '">Delete</a></td><tr>';
+
+ $answered_questions = "";
+ $questions = sql_select("SELECT * FROM `Questions` WHERE `AID`>0 AND `UID`=" . sql_escape($user['UID']));
+ foreach ($questions as $question) {
+ $answered_questions .= '<tr><td>' . str_replace("\n", '<br />', $question['Question']) . '</td>';
+ $answered_questions .= '<td>' . UID2Nick($question['AID']) . '</td><td>' . str_replace("\n", '<br />', $question['Answer']) . '</td>';
+ $answered_questions .= '<td><a href="' . page_link_to("user_questions") . '&action=delete&id=' . $question['QID'] . '">Delete</a></td><tr>';
+ }
+
+ return template_render('../templates/user_questions.html', array (
+ 'link' => page_link_to("user_questions"),
+ 'open_questions' => $open_questions,
+ 'answered_questions' => $answered_questions
+ ));
+ } else {
+ switch ($_REQUEST['action']) {
+ case 'ask' :
+ $question = trim(preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['question'])));
+ if ($question != "") {
+ sql_query("INSERT INTO `Questions` SET `UID`=" . sql_escape($user['UID']) . ", `Question`='" . sql_escape($question) . "'");
+ header("Location: " . page_link_to("user_questions"));
+ } else
+ return error("Please enter a question!");
+ break;
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing Question ID.");
+
+ $question = sql_select("SELECT * FROM `Questions` WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($question) > 0 && $question[0]['UID'] == $user['UID']) {
+ sql_query("DELETE FROM `Questions` WHERE `QID`=" . sql_escape($id) . " LIMIT 1");
+ header("Location: " . page_link_to("user_questions"));
+ } else
+ return error("No question found.");
+ break;
+ }
+ }
+}
+?> \ No newline at end of file
diff --git a/includes/pages/user_settings.php b/includes/pages/user_settings.php
new file mode 100644
index 00000000..97c8626f
--- /dev/null
+++ b/includes/pages/user_settings.php
@@ -0,0 +1,252 @@
+<?php
+function user_settings() {
+ global $user;
+
+ if (!isset ($_REQUEST['action'])) {
+ $tshirt_html = template_render('../templates/user_settings_tshirt.html', array (
+ 'label_size' => Get_Text("makeuser_T-Shirt"),
+ 'size_select' => ($user['Tshirt'] == 0) ? html_select_key('size', array (
+ 'S' => "S",
+ 'M' => "M",
+ 'L' => "L",
+ 'XL' => "XL",
+ '2XL' => "2XL",
+ '3XL' => "3XL",
+ '4XL' => "4XL",
+ '5XL' => "5XL",
+ 'S-G' => "S Girl",
+ 'M-G' => "M Girl",
+ 'L-G' => "L Girl",
+ 'XL-G' => "XL Girl"
+ ), $user['Size']) : $user['Size']
+ ));
+
+ return template_render('../templates/user_settings.html', array (
+ 'link' => page_link_to("user_settings"),
+ 'greeting' => Get_Text("Hallo") . $user['Nick'] . ",<br />" . Get_Text(13),
+ 'text_user_data' => Get_Text("pub_einstellungen_Text_UserData"),
+ 'label_nick' => Get_Text("pub_einstellungen_Nick"),
+ 'label_name' => Get_Text("pub_einstellungen_Name"),
+ 'label_prename' => Get_Text("pub_einstellungen_Vorname"),
+ 'label_age' => Get_Text("pub_einstellungen_Alter"),
+ 'label_tel' => Get_Text("pub_einstellungen_Telefon"),
+ 'label_mobile' => Get_Text("pub_einstellungen_Handy"),
+ 'label_dect' => Get_Text("pub_einstellungen_DECT"),
+ 'label_mail' => Get_Text("pub_einstellungen_Email"),
+ 'label_hometown' => Get_Text("pub_einstellungen_Hometown"),
+ 'nick' => $user['Nick'],
+ 'name' => $user['Name'],
+ 'prename' => $user['Vorname'],
+ 'age' => $user['Alter'],
+ 'tel' => $user['Telefon'],
+ 'mobile' => $user['Handy'],
+ 'dect' => $user['DECT'],
+ 'mail' => $user['email'],
+ 'icq' => $user['ICQ'],
+ 'jabber' => $user['jabber'],
+ 'hometown' => $user['Hometown'],
+ 'label_save' => Get_Text("save"),
+ 'tshirts' => $tshirt_html,
+ 'text_password' => Get_Text(14),
+ 'current_pw_label' => Get_Text(15),
+ 'new_pw_label' => Get_Text(16),
+ 'new_pw2_label' => Get_Text(17),
+ 'text_theme' => Get_Text(18),
+ 'theme_label' => Get_Text(19),
+ 'theme_select' => html_select_key('theme', array (
+ "1" => "Standard-Style",
+ "2" => "ot/Gelber Style",
+ "3" => "Club-Mate Style",
+ "5" => "Debian Style",
+ "6" => "c-base Style",
+ "7" => "Blau/Gelber Style",
+ "8" => "Pastel Style",
+ "4" => "Test Style",
+ "9" => "Test Style 21c3",
+ "10" => "msquare (cccamp2011)"
+ ), $user['color']),
+ 'text_language' => Get_Text(20),
+ 'language_label' => Get_Text(21),
+ 'language_select' => html_select_key('language', array (
+ 'DE' => "Deutsch",
+ 'EN' => "English"
+ ), $user['Sprache'])
+ ));
+ } else {
+ switch ($_REQUEST['action']) {
+ case 'sprache' :
+ if (isset ($_REQUEST['language']) && preg_match("/^DE|EN$/", $_REQUEST['language']))
+ $language = $_REQUEST['language'];
+ else
+ $language = "EN";
+ sql_query("UPDATE `User` SET " . "`Sprache`='" . sql_escape($language) . "' WHERE `UID`=" . sql_escape($user['UID']) . " LIMIT 1");
+ $_SESSION['Sprache'] = $language;
+ header("Location: " . page_link_to("user_settings"));
+ break;
+
+ case 'colour' :
+ $theme = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['theme']));
+ sql_query("UPDATE `User` SET " . "`color`='" . sql_escape($theme) . "' WHERE `UID`=" . sql_escape($user['UID']) . " LIMIT 1");
+ header("Location: " . page_link_to("user_settings"));
+ break;
+
+ case 'set' :
+ $html = "";
+ if ($_REQUEST["new_pw"] == $_REQUEST["new_pw2"]) {
+ if (PassCrypt($_REQUEST["current_pw"]) == $user['Passwort']) {
+ sql_query("UPDATE `User` SET `Passwort`='" . sql_escape(PassCrypt($_REQUEST['new_pw'])) . "' WHERE `UID`=" . sql_escape($user['UID']) . " LIMIT 1");
+ header("Location: " . page_link_to("user_settings"));
+ } else {
+ $html .= error(Get_Text(30));
+ }
+ } else {
+ $html .= error(Get_Text(31));
+ }
+ return $html;
+ break;
+
+ case "setUserData" :
+ $nick = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['nick']));
+ $name = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['name']));
+ $prename = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['prename']));
+ $age = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['age']));
+ $tel = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['tel']));
+ $mobile = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['mobile']));
+ $dect = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['dect']));
+ $mail = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['mail']));
+ $icq = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['icq']));
+ $jabber = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['jabber']));
+ $hometown = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['hometown']));
+ $size = ($user['TShirt'] == 0) ? preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['size'])) : $user['Size'];
+
+ sql_query("UPDATE `User` SET " .
+ "`Nick`='" . sql_escape($nick) . "', " .
+ "`Name`='" . sql_escape($name) . "', " .
+ "`Vorname`='" . sql_escape($prename) . "', " .
+ "`Alter`='" . sql_escape($age) . "', " .
+ "`Telefon`='" . sql_escape($tel) . "', " .
+ "`Handy`='" . sql_escape($mobile) . "', " .
+ "`DECT`='" . sql_escape($dect) . "', " .
+ "`email`='" . sql_escape($mail) . "', " .
+ "`ICQ`='" . sql_escape($icq) . "', " .
+ "`jabber`='" . sql_escape($jabber) . "', " .
+ "`Hometown`='" . sql_escape($hometown) . "', " .
+ "`Size`='" . sql_escape($size) . "' " .
+ "WHERE `UID`=" . sql_escape($user['UID']) . " LIMIT 1");
+ header("Location: " . page_link_to("user_settings"));
+ break;
+ }
+ }
+
+ // AVATARE
+ /*
+ if (get_cfg_var("file_uploads")) {
+ echo "<br />\n<hr width=\"100%\">\n<br />\n\n";
+ echo Get_Text('pub_einstellungen_PictureUpload') . "<br />";
+ echo "<form action=\"./einstellungen.php\" method=\"post\" enctype=\"multipart/form-data\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"sendPicture\">\n";
+ echo "<input name=\"file\" type=\"file\" size=\"50\" maxlength=\"" . get_cfg_var("post_max_size") . "\">\n";
+ echo "(max " . get_cfg_var("post_max_size") . "Byte)<br />\n";
+ echo "<input type=\"submit\" value=\"" . Get_Text("upload"), "\">\n";
+ echo "</form>\n";
+ }
+
+ switch (GetPicturShow($_SESSION['UID'])) {
+ case 'Y' :
+ echo Get_Text('pub_einstellungen_PictureShow') . "<br />";
+ echo displayPictur($_SESSION['UID'], 0);
+ echo "<form action=\"./einstellungen.php\" method=\"post\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"delPicture\">\n";
+ echo "<input type=\"submit\" value=\"" . Get_Text("delete"), "\">\n";
+ echo "</form>\n";
+ break;
+ case 'N' :
+ echo Get_Text('pub_einstellungen_PictureNoShow') . "<br />";
+ echo displayPictur($_SESSION['UID'], 0);
+ echo "<form action=\"./einstellungen.php\" method=\"post\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"delPicture\">\n";
+ echo "<input type=\"submit\" value=\"" . Get_Text("delete"), "\">\n";
+ echo "</form>\n";
+ echo "<br />\n<hr width=\"100%\">\n<br />\n\n";
+ case '' :
+ echo "<br />\n<hr width=\"100%\">\n<br />\n\n";
+ echo Get_Text(22) . "<br />";
+ echo "\n<form action=\"./einstellungen.php\" method=\"post\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"avatar\">\n";
+ echo "<table>\n";
+ echo "<tr>\n<td>" . Get_Text(23) . "<br /></td>\n</tr>\n";
+ echo "<tr>\n";
+ echo "<td>\n";
+ echo "<select name=\"eAvatar\" onChange=\"document.avatar.src = '" . $url . $ENGEL_ROOT . "pic/avatar/avatar' + this.value + '.gif'\" onKeyup=\"document.avatar.src = '" . $url . $ENGEL_ROOT . "pic/avatar/avatar' + this.value + '.gif'\">\n";
+
+ for ($i = 1; file_exists("../pic/avatar/avatar" . $i . ".gif"); $i++)
+ echo "<option value=\"" . $i . "\"" . ($_SESSION['Avatar'] == $i ? " selected" : "") . ">avatar" . $i . "</option>\n";
+
+ echo "</select>&nbsp;&nbsp;\n";
+ echo "<img src=\"" . $url . $ENGEL_ROOT . "pic/avatar/avatar" . $_SESSION['Avatar'] . ".gif\" name=\"avatar\" border=\"0\" align=\"top\">\n";
+ echo "</td>\n</tr>\n";
+ echo "</table>\n";
+ echo "<input type=\"submit\" value=\"" . Get_Text("save") . "\">\n";
+ echo "</form>\n";
+ break;
+ } //CASE
+
+ } else {
+ switch ($_POST["action"]) {
+
+ case 'avatar' :
+ $chsql = "UPDATE `User` SET `Avatar`='" . $_POST["eAvatar"] . "' WHERE `UID`='" . $_SESSION['UID'] . "' LIMIT 1";
+ $Erg = mysql_query($chsql, $con);
+ $_SESSION['Avatar'] = $_POST["eAvatar"];
+ if ($Erg == 1)
+ Print_Text(34);
+ else
+ Print_Text(29);
+ break;
+
+ case 'setUserData' :
+
+ break;
+
+ case 'sendPicture' :
+ if ($_FILES["file"]["size"] > 0) {
+ if (($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/gif")) {
+ $data = addslashes(fread(fopen($_FILES["file"]["tmp_name"], "r"), filesize($_FILES["file"]["tmp_name"])));
+
+ if (GetPicturShow($_SESSION['UID']) == "")
+ $SQL = "INSERT INTO `UserPicture` " .
+ "( `UID`,`Bild`, `ContentType`, `show`) " .
+ "VALUES ('" . $_SESSION['UID'] . "', '$data', '" . $_FILES["file"]["type"] . "', 'N')";
+ else
+ $SQL = "UPDATE `UserPicture` SET " .
+ "`Bild`='$data', " .
+ "`ContentType`='" . $_FILES["file"]["type"] . "', " .
+ "`show`='N' " .
+ "WHERE `UID`='" . $_SESSION['UID'] . "'";
+
+ $res = mysql_query($SQL, $con);
+ if ($res)
+ Print_Text("pub_einstellungen_send_OK");
+ else
+ Print_Text("pub_einstellungen_send_KO");
+
+ echo "<h6>('" . $_FILES["file"]["name"] . "', MIME-Type: " . $_FILES["file"]["type"] . ", " . $_FILES["file"]["size"] . " Byte)</h6>";
+ } else
+ Print_Text("pub_einstellungen_send_KO");
+ } else
+ Print_Text("pub_einstellungen_send_KO");
+ break;
+
+ case 'delPicture' :
+ $chsql = "DELETE FROM `UserPicture` WHERE `UID`='" . $_SESSION['UID'] . "' LIMIT 1";
+ $Erg = mysql_query($chsql, $con);
+ if ($Erg == 1)
+ Print_Text("pub_einstellungen_del_OK");
+ else
+ Print_Text("pub_einstellungen_del_KO");
+ Break;
+ }
+ }
+ */
+}
+?>
diff --git a/includes/pages/user_wakeup.php b/includes/pages/user_wakeup.php
new file mode 100644
index 00000000..2c6940e7
--- /dev/null
+++ b/includes/pages/user_wakeup.php
@@ -0,0 +1,86 @@
+<?php
+function user_wakeup() {
+ global $user;
+
+ $html = "";
+
+ if (isset ($_REQUEST['action'])) {
+ switch ($_REQUEST['action']) {
+ case 'create' :
+ $date = DateTime::createFromFormat("Y-m-d H:i", $_REQUEST['Date']);
+ if ($date != null) {
+ $date = $date->getTimestamp();
+ $bemerkung = strip_request_item_nl('Bemerkung');
+ $ort = strip_request_item('Ort');
+ $SQL = "INSERT INTO `Wecken` (`UID`, `Date`, `Ort`, `Bemerkung`) "
+ . "VALUES ('" . sql_escape($user['UID']) . "', '"
+ . sql_escape($date) . "', '" . sql_escape($ort) . "', " . "'"
+ . sql_escape($bemerkung) . "')";
+ sql_query($SQL);
+ $html .= success(Get_Text(4));
+ } else
+ $html .= error("Broken date!");
+ break;
+
+ case 'delete' :
+ if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id']))
+ $id = $_REQUEST['id'];
+ else
+ return error("Incomplete call, missing wake-up ID.");
+
+ $wakeup = sql_select("SELECT * FROM `Wecken` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ if (count($wakeup) > 0 && $wakeup[0]['UID'] == $user['UID']) {
+ sql_query("DELETE FROM `Wecken` WHERE `ID`=" . sql_escape($id) . " LIMIT 1");
+ $html .= success("Wake-up call deleted.");
+ } else
+ return error("No wake-up found.");
+ break;
+ }
+ }
+
+ $html .= "<p>" . Get_Text("Hello") . $user['Nick'] . ",<br />"
+ . Get_Text("pub_wake_beschreibung") . "</p>\n\n";
+ $html .= Get_Text("pub_wake_beschreibung2");
+ $html .= '
+<table border="0" width="100%" class="border" cellpadding="2" cellspacing="1">
+ <tr class="contenttopic">
+ <th>' . Get_Text("pub_wake_Datum") . '</th>
+ <th>' . Get_Text("pub_waeckliste_Nick") . '</th>
+ <th>' . Get_Text("pub_wake_Ort") . '</th>
+ <th>' . Get_Text("pub_wake_Bemerkung") . '</th>
+ <th></th>
+ </tr>
+';
+
+ $sql = "SELECT * FROM `Wecken` ORDER BY `Date` ASC";
+ $Erg = sql_query($sql);
+ $count = mysql_num_rows($Erg);
+
+ for ($i = 0; $i < $count; $i++) {
+ $row = mysql_fetch_row($Erg);
+ $html .= '<tr class="content">';
+ $html .= '<td>' . date("Y-m-d H:i", mysql_result($Erg, $i, "Date")) . ' </td>';
+ $html .= '<td>' . UID2Nick(mysql_result($Erg, $i, "UID")) . ' </td>';
+ $html .= '<td>' . mysql_result($Erg, $i, "Ort") . ' </td>';
+ $html .= '<td>' . mysql_result($Erg, $i, "Bemerkung") . ' </td>';
+ if (mysql_result($Erg, $i, "UID") == $user['UID'])
+ $html .= '<td><a href="' . page_link_to("user_wakeup") . '&action=delete&id=' . mysql_result($Erg, $i, "ID") . "\">" . Get_Text("pub_wake_del") . '</a></td>';
+ else
+ $html .= '<td></td>';
+ $html .= '</tr>';
+ }
+
+ $html .= '</table><hr />' . Get_Text("pub_wake_Text2");
+
+ $html .= template_render('../templates/user_wakeup.html', array (
+ 'wakeup_link' => page_link_to("user_wakeup"),
+ 'date_text' => Get_Text("pub_wake_Datum"),
+ 'date_value' => date("Y-m-d H:i"),
+ 'place_text' => Get_Text("pub_wake_Ort"),
+ 'comment_text' => Get_Text("pub_wake_Bemerkung"),
+ 'comment_value' => "Knock knock Leo, follow the white rabbit to the blue tent",
+ 'submit_text' => Get_Text("pub_wake_bouton")
+ ));
+ return $html;
+}
+?>
diff --git a/includes/secure.php b/includes/secure.php
deleted file mode 100755
index d6b5c512..00000000
--- a/includes/secure.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-//soll dein funktion entahlten die alle übergebenen parameter überprüft
-//'`'"
-
-if( $DEBUG)
- echo "secure.php START<br>\n";
-
-foreach ($_GET as $k => $v)
-{
-// $v = htmlspecialchars($v, ENT_QUOTES);
-// $v = mysql_escape_string($v);
- $v = htmlentities($v, ENT_QUOTES);
- if (preg_match('/([\'"`\'])/', $v, $match))
- {
- print "sorry get has illegal char '$match[1]'";
- exit;
- }
- $_GET[$k] = $v;
-
- if( $DEBUG)
- echo "GET $k=\"$v\"<br>";
-}
-
-foreach ($_POST as $k => $v)
-{
-// $v = htmlspecialchars($v, ENT_QUOTES);
-// $v = mysql_escape_string($v);
- $v = htmlentities($v, ENT_QUOTES);
- if (preg_match('/([\'"`\'])/', $v, $match)) {
- print "sorry post has illegal char '$match[1]'";
- exit;
- }
- $_POST[$k] = $v;
-
- if( $DEBUG)
- echo "POST $k=\"$v\"<br>";
-}
-if( $DEBUG)
- echo "secure.php END<br>\n";
-
-?>
diff --git a/includes/sys_auth.php b/includes/sys_auth.php
new file mode 100644
index 00000000..15c5591a
--- /dev/null
+++ b/includes/sys_auth.php
@@ -0,0 +1,95 @@
+<?php
+
+
+// Testet ob ein User eingeloggt ist und lädt die entsprechenden Privilegien
+function load_auth() {
+ global $user, $privileges;
+
+ if (!isset ($_SESSION['IP']))
+ $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
+
+ if ($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
+ session_destroy();
+ header("Location: " . link_to_page($start));
+ }
+
+ $user = null;
+ if (isset ($_SESSION['uid'])) {
+ $user = sql_select("SELECT * FROM `User` WHERE `UID`=" . sql_escape($_SESSION['uid']) . " LIMIT 1");
+ if (count($user) > 0) {
+ // User ist eingeloggt, Datensatz zur Verfügung stellen und Timestamp updaten
+ list ($user) = $user;
+ sql_query("UPDATE `User` SET " . "`lastLogIn` = '" . time() . "'" . " WHERE `UID` = '" . sql_escape($_SESSION['uid']) . "' LIMIT 1;");
+ } else
+ unset ($_SESSION['uid']);
+ }
+
+ $privileges = isset ($user) ? privileges_for_user($user['UID']) : privileges_for_group(-1);
+}
+
+function PassCrypt($passwort) {
+ global $crypt_system;
+
+ switch ($crypt_system) {
+ case "crypt" :
+ return "{crypt}" . crypt($passwort, "77");
+ case "md5" :
+ return md5($passwort);
+ }
+}
+
+// JSON Authorisierungs-Schnittstelle
+function json_auth_service() {
+ global $CurrentExternAuthPass;
+
+ header("Content-Type: application/json");
+
+ $User = $_REQUEST['user'];
+ $Pass = $_REQUEST['pw'];
+ $SourceOuth = $_REQUEST['so'];
+
+ if (isset ($CurrentExternAuthPass) && $SourceOuth == $CurrentExternAuthPass) {
+ $sql = "SELECT * FROM `User` WHERE `Nick`='" . sql_escape($User) . "'";
+ $Erg = sql_query($sql);
+
+ if (mysql_num_rows($Erg) == 1) {
+ if (mysql_result($Erg, 0, "Passwort") == PassCrypt($Pass)) {
+ $UID = mysql_result($Erg, 0, "UID");
+
+ $user_privs = sql_select("SELECT `Privileges`.`name` FROM `User` JOIN `UserGroups` ON (`User`.`UID` = `UserGroups`.`uid`) JOIN `GroupPrivileges` ON (`UserGroups`.`group_id` = `GroupPrivileges`.`group_id`) JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `User`.`UID`=" . sql_escape($UID) . ";");
+ foreach ($user_privs as $user_priv)
+ $privileges[] = $user_priv['name'];
+
+ $msg = array (
+ 'status' => 'success',
+ 'rights' => $privileges
+ );
+ echo json_encode($msg);
+ die();
+ }
+ }
+ }
+
+ echo json_encode(array (
+ 'status' => 'failed',
+ 'error' => "JSON Service GET syntax: https://engelsystem.de/?auth&user=<user>&pw=<password>&so=<key>, POST is possible too"
+ ));
+ die();
+}
+
+function privileges_for_user($user_id) {
+ $privileges = array ();
+ $user_privs = sql_select("SELECT `Privileges`.`name` FROM `User` JOIN `UserGroups` ON (`User`.`UID` = `UserGroups`.`uid`) JOIN `GroupPrivileges` ON (`UserGroups`.`group_id` = `GroupPrivileges`.`group_id`) JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `User`.`UID`=" . sql_escape($user_id) . ";");
+ foreach ($user_privs as $user_priv)
+ $privileges[] = $user_priv['name'];
+ return $privileges;
+}
+
+function privileges_for_group($group_id) {
+ $privileges = array ();
+ $groups_privs = sql_select("SELECT * FROM `GroupPrivileges` JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `group_id`=" . sql_escape($group_id));
+ foreach ($groups_privs as $guest_priv)
+ $privileges[] = $guest_priv['name'];
+ return $privileges;
+}
+?>
diff --git a/includes/sys_counter.php b/includes/sys_counter.php
new file mode 100644
index 00000000..abcb652b
--- /dev/null
+++ b/includes/sys_counter.php
@@ -0,0 +1,10 @@
+<?php
+function counter() {
+ global $p;
+
+ if (sql_num_query("SELECT `Anz` FROM `Counter` WHERE `URL`='" . sql_escape($p) . "'") == 0)
+ sql_query("INSERT INTO `Counter` ( `URL` , `Anz` ) VALUES ('" . sql_escape($p) . "', '1');");
+ else
+ sql_query("UPDATE `Counter` SET `Anz` = `Anz` + 1 WHERE `URL` = '" . sql_escape($p) . "' LIMIT 1 ;");
+}
+?>
diff --git a/includes/sys_lang.php b/includes/sys_lang.php
new file mode 100644
index 00000000..833d00b8
--- /dev/null
+++ b/includes/sys_lang.php
@@ -0,0 +1,26 @@
+<?php
+function Get_Text($TextID, $NoError = false) {
+ global $con, $error_messages, $debug;
+
+ if (!isset ($_SESSION['Sprache']))
+ $_SESSION['Sprache'] = "EN";
+ if ($_SESSION['Sprache'] == "")
+ $_SESSION['Sprache'] = "EN";
+ if (isset ($_GET["SetLanguage"]))
+ $_SESSION['Sprache'] = $_GET["SetLanguage"];
+
+ $SQL = "SELECT * FROM `Sprache` WHERE TextID=\"$TextID\" AND Sprache ='" . $_SESSION['Sprache'] . "'";
+ @ $Erg = mysql_query($SQL, $con);
+
+ if (mysql_num_rows($Erg) == 1)
+ return (@ mysql_result($Erg, 0, "Text"));
+ elseif ($NoError && !$debug) return "";
+ else {
+ return "Error Data, '$TextID' found " . mysql_num_rows($Erg) . "x";
+ }
+}
+
+function Print_Text($TextID, $NoError = false) {
+ echo Get_Text($TextID, $NoError);
+}
+?>
diff --git a/includes/sys_menu.php b/includes/sys_menu.php
new file mode 100644
index 00000000..dfe33216
--- /dev/null
+++ b/includes/sys_menu.php
@@ -0,0 +1,121 @@
+<?php
+function page_link_to($page) {
+ return '?p=' . $page;
+}
+
+function make_navigation() {
+ global $p;
+ global $privileges;
+ $menu_items = $privileges;
+ $menu_items[] = "faq";
+ $menu = "";
+
+ // Standard Navigation
+ $menu .= make_navigation_for(Get_Text('/'), array (
+ "start",
+ "login",
+ "logout",
+ "register",
+ "faq"
+ ));
+
+ // Engel Navigation
+ $menu .= make_navigation_for(Get_Text('inc_schicht_engel'), array (
+ "news",
+ "user_meetings",
+ "user_myshifts",
+ "user_shifts",
+ "user_messages",
+ "user_questions",
+ "user_wakeup",
+ "user_settings"
+ ));
+
+ // Admin Navigation
+ $menu .= make_navigation_for(Get_Text('admin/'), array (
+ "admin_user",
+ "admin_usershifts",
+ "admin_questions",
+ "admin_angel_types",
+ "admin_shifts",
+ "admin_rooms",
+ "admin_groups",
+ "admin_faq",
+ "admin_language",
+ "admin_import",
+ "admin_log"
+ ));
+ return $menu;
+}
+
+function make_navigation_for($name, $pages) {
+ global $privileges, $p;
+
+ $specials = array (
+ "faq"
+ );
+
+ $menu = "";
+ foreach ($pages as $page)
+ if (in_array($page, $privileges) || in_array($page, $specials))
+ $menu .= '<li' . ($page == $p ? ' class="selected"' : '') . '><a href="' . page_link_to($page) . '">' . Get_Text($page) . '</a></li>';
+
+ if ($menu != "")
+ $menu = '<nav class="container"><h4>' . $name . '</h4><ul class="content">' . $menu . '</ul></nav>';
+ return $menu;
+}
+
+function make_menu() {
+ return make_navigation() . make_onlineusers() . make_langselect();
+}
+
+function make_onlineusers() {
+ global $privileges, $user;
+ $html = '<nav class="container"><h4>Engel online</h4>';
+
+ $query = "SELECT UID, Nick, lastLogIn " . "FROM User " . "WHERE (`lastLogIn` > '" . (time() - 60 * 60) . "') " . "ORDER BY lastLogIn DESC";
+ $users = sql_select($query);
+
+ if (count($users) > 0) {
+ $html .= "<ul class=\"content\">";
+
+ foreach ($users as $online_user) {
+ if (isset ($user) && $online_user['UID'] == $user['UID'])
+ continue;
+
+ $html .= "<li>";
+
+ //if (isset ($user))
+ //$html .= DisplayAvatar($online_user['UID']);
+
+ // Show Admin Page
+ if (in_array("admin_user_edit", $privileges)) {
+ $html .= '<a href="admin/userChangeNormal.php?enterUID=' . $online_user['UID'] . '&Type=Normal">' . $online_user['Nick'] . '</a>';
+ } else {
+ $html .= $online_user['Nick'];
+ }
+ $last_action = time() - $online_user['lastLogIn'];
+
+ $html .= " " . date("i:s", $last_action);
+ $html .= "</li>\n";
+ }
+
+ $html .= "</ul>";
+ } else {
+ $html .= '<p class="content">Nobody...</p>';
+ }
+ $html .= '</nav>';
+ return $html;
+}
+
+function make_langselect() {
+ if (strpos($_SERVER["REQUEST_URI"], "?") > 0)
+ $URL = $_SERVER["REQUEST_URI"] . "&SetLanguage=";
+ else
+ $URL = $_SERVER["REQUEST_URI"] . "?SetLanguage=";
+
+ $html = '<p class="content"><a class="sprache" href="' . $URL . 'DE"><img src="pic/flag/de.png" alt="DE" title="Deutsch"></a>';
+ $html .= '<a class="sprache" href="' . $URL . 'EN"><img src="pic/flag/en.png" alt="EN" title="English"></a></p>';
+ return '<nav class="container"><h4>' . Get_Text("Sprache") . '</h4>' . $html . '</nav>';
+}
+?> \ No newline at end of file
diff --git a/includes/sys_mysql.php b/includes/sys_mysql.php
new file mode 100644
index 00000000..c076be7c
--- /dev/null
+++ b/includes/sys_mysql.php
@@ -0,0 +1,61 @@
+<?php
+function sql_connect($host, $user, $pw, $db) {
+ global $con;
+ global $host;
+
+ @ $con = mysql_connect($host, $user, $pw);
+
+ if ($con == null)
+ die("no mysql-connection");
+
+ if (!mysql_select_db($db, $con))
+ die("mysql db-selection failed");
+
+ mysql_query("SET CHARACTER SET utf8;", $con);
+ mysql_query("SET NAMES 'utf8'", $con);
+}
+
+// Do select query
+function sql_select($query) {
+ global $con;
+ $start = microtime(true);
+ if ($result = mysql_query($query, $con)) {
+ $data = array ();
+ while ($line = mysql_fetch_assoc($result)) {
+ array_push($data, $line);
+ }
+ return $data;
+ } else {
+ die('MySQL-query error: ' . $query . ", " . mysql_error($con));
+ }
+}
+
+// Execute a query
+function sql_query($query) {
+ global $con;
+ $start = microtime(true);
+ if ($result = mysql_query($query, $con)) {
+ return $result;
+ } else {
+ die('MySQL-query error: ' . $query . ", " . mysql_error($con));
+ }
+}
+
+function sql_id() {
+ global $con;
+ return mysql_insert_id($con);
+}
+
+function sql_escape($query) {
+ return mysql_real_escape_string($query);
+}
+
+function sql_num_query($query) {
+ return mysql_num_rows(sql_query($query));
+}
+
+function sql_error() {
+ global $con;
+ return mysql_error($con);
+}
+?>
diff --git a/includes/sys_page.php b/includes/sys_page.php
new file mode 100644
index 00000000..e499cd57
--- /dev/null
+++ b/includes/sys_page.php
@@ -0,0 +1,26 @@
+<?php
+
+function strip_request_item($name) {
+ return preg_replace(
+ "/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui",
+ '',
+ strip_tags($_REQUEST[$name])
+ );
+}
+
+function strip_request_item_nl($name) {
+ return preg_replace(
+ "/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui",
+ '',
+ strip_tags($_REQUEST[$name])
+ );
+}
+
+function error($msg) {
+ return '<p class="error">' . $msg . '</p>';
+}
+
+function success($msg) {
+ return '<p class="success">' . $msg . '</p>';
+}
+?>
diff --git a/includes/sys_shift.php b/includes/sys_shift.php
new file mode 100644
index 00000000..7baeb8a4
--- /dev/null
+++ b/includes/sys_shift.php
@@ -0,0 +1,443 @@
+<?php
+function load_shift_basics() {
+ global $VeranstaltungsTageMax, $Room, $RoomID, $EngelType, $EngelTypeID, $TID2Name, $Veranstaltungstage;
+
+ // erstellt ein Array der Räume
+ $rooms = sql_select("SELECT `RID`, `Name` FROM `Room` WHERE `Show`='Y' ORDER BY `Number`, `Name`");
+ foreach ($rooms as $i => $r) {
+ $Room[$i] = array (
+ 'RID' => $r['RID'],
+ 'Name' => $r['Name']
+ );
+ $RoomID[$r['RID']] = $r['Name'];
+ }
+
+ // erstellt ein Array der Engeltypen
+ $engel_types = sql_select("SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`");
+ foreach ($engel_types as $engel_type) {
+ $EngelType[$i] = array (
+ 'TID' => $engel_type['TID'],
+ 'Name' => $engel_type['Name'] . Get_Text("inc_schicht_engel")
+ );
+ $EngelTypeID[$engel_type['TID']] = $engel_type['Name'] . Get_Text("inc_schicht_engel");
+ $TID2Name[$engel_type['TID']] = $engel_type['Name'];
+ }
+
+ // Erste Schicht suchen
+ $Pos = 0;
+ $first_shift = sql_select("SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1");
+ if (count($first_shift) > 0) {
+ do {
+ // Startdatum einlesen und link ausgeben
+ $DateS = substr($first_shift[0]['DateS'], 0, 10);
+ $VeranstaltungsTage[$Pos++] = $DateS;
+
+ // auslesen den endes und eventuelle weitere tage ausgeben
+ $last_shift = sql_select("SELECT MAX(`DateE`) FROM `Shifts` WHERE ( (`DateS` like '" . sql_escape($DateS) . "%') AND NOT (`DateE` like '%00:00:00'))");
+ $DateE = substr($last_shift[0]['DateE'], 0, 10);
+
+ if (strlen($DateE) == 0)
+ $DateE = $DateS;
+ else
+ while ($DateS != $DateE) {
+ $DateS = DatumUm1TagErhoehen($DateS);
+ $VeranstaltungsTage[$Pos++] = $DateS;
+ }
+
+ // suchen den nächsten eintrag
+ $first_shift = sql_select("SELECT `DateS` FROM `Shifts` " . "WHERE (`DateS` > '" . sql_escape($DateE) . " 23:59:59' ) " . "ORDER BY `DateS` " . "LIMIT 1");
+ } while (count($first_shift) > 0);
+ }
+
+ $VeranstaltungsTageMax = $Pos -1;
+}
+
+/*#######################################################
+# gibt die engelschischten aus #
+#######################################################*/
+function ausgabe_Feld_Inhalt($SID, $Man) {
+ // gibt, nach �bergabe der der SchichtID (SID) und der RaumBeschreibung,
+ // die eingetragenden und und offenden Schichteint�ge zur�ck
+ global $EngelType, $EngelTypeID, $TID2Name, $con, $debug, $gmdateOffset;
+
+ $Spalten = "";
+
+ if (!isset ($_GET["Icon"]))
+ $_GET["Icon"] = 1;
+
+ ///////////////////////////////////////////////////////////////////
+ // Schow Admin Page
+ ///////////////////////////////////////////////////////////////////
+ $Spalten .= funktion_isLinkAllowed_addLink_OrEmpty("admin/schichtplan.php?action=change&SID=$SID", "edit<br />\n");
+
+ ///////////////////////////////////////////////////////////////////
+ // Ausgabe des Schichtnamens
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');";
+ $Erg = mysql_query($SQL, $con);
+ if (mysql_result($Erg, 0, 0) != "")
+ $Spalten .= "<a href=\"" . mysql_result($Erg, 0, 0) . "\" target=\"_black\"><u>$Man:</u></a><br />";
+ else
+ $Spalten .= "<u>" .
+ $Man . ":</u><br />";
+
+ ///////////////////////////////////////////////////////////////////
+ // SQL abfrage f�r die ben�tigten schichten
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '" . sql_escape($SID) . "') ORDER BY `TID`, `UID` DESC ;";
+ $Erg = mysql_query($SQL, $con);
+
+ $Anzahl = mysql_num_rows($Erg);
+ $Feld = 0;
+ $Temp_TID_old = -1;
+ for ($i = 0; $i < $Anzahl; $i++) {
+ if (isset ($Temp[$Feld]["TID"]))
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ if (isset ($Temp[$Feld]["UID"]))
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+
+ $Temp_TID = mysql_result($Erg, $i, "TID");
+
+ // wenn sich der Type �ndert wird zumn�sten feld geweckselt
+ if ($Temp_TID_old != $Temp_TID)
+ $Feld++;
+
+ $Temp[$Feld]["TID"] = $Temp_TID;
+ $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
+
+ // sonderfall ersten durchlauf
+ if ($i == 0) {
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+ }
+
+ // ist es eine zu vergeben schicht?
+ if ($Temp[$Feld]["UID"] == 0) {
+ if (isset ($Temp[$Feld]["free"]))
+ $Temp[$Feld]["free"]++;
+ else
+ $Temp[$Feld]["free"] = 1;
+ } else
+ $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
+ } // FOR
+
+ ///////////////////////////////////////////////////////////////////
+ // Aus gabe der Schicht
+ ///////////////////////////////////////////////////////////////////
+ if (isset ($Temp))
+ if (count($Temp))
+ foreach ($Temp as $TempEntry => $TempValue) {
+ if (!isset ($TempValue["free"]))
+ $TempValue["free"] = 0;
+
+ // ausgabe EngelType
+ $Spalten .= $EngelTypeID[$TempValue["TID"]] . " ";
+
+ // ausgabe Eingetragener Engel
+ if (isset ($TempValue["Engel"]))
+ if (count($TempValue["Engel"]) > 0) {
+ if (count($TempValue["Engel"]) == 1)
+ $Spalten .= Get_Text("inc_schicht_ist") . ":<br />\n";
+ else
+ $Spalten .= Get_Text("inc_schicht_sind") . ":<br />\n";
+
+ foreach ($TempValue["Engel"] as $TempEngelEntry => $TempEngelID) {
+ if (funktion_isLinkAllowed("admin/user.php") === TRUE) {
+ // add color, wenn Engel "Gekommen"
+ $TempText = ((UIDgekommen($TempEngelID) == "1") ? "<span style=\"color: blue;\">" : "<span style=\"color: red;\">") .
+ UID2Nick($TempEngelID) . "</span>";
+ } else {
+ $TempText = UID2Nick($TempEngelID);
+ }
+
+ // add link to user
+ $TempText = funktion_isLinkAllowed_addLink_OrLinkText("admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal", $TempText);
+
+ $Spalten .= "&nbsp;&nbsp;" . $TempText .
+ (($_GET["Icon"] == 1) ? DisplayAvatar($TempEngelID) : "") .
+ "<br />\n";
+
+ }
+ $Spalten = substr($Spalten, 0, strlen($Spalten) - 7);
+ }
+
+ // ausgabe ben�tigter Engel
+ ////////////////////////////
+ //in vergangenheit
+ $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='" . sql_escape($SID) . "' AND `DateE` >= '" .
+ gmdate("Y-m-d H:i:s", time() + $gmdateOffset) . "')";
+ $Ergtime = mysql_query($SQLtime, $con);
+ if (mysql_num_rows($Ergtime) > 0) {
+ //wenn keien rechte definiert sind
+ if (!isset ($_SESSION['CVS'][$TID2Name[$TempValue["TID"]]]))
+ $_SESSION['CVS'][$TID2Name[$TempValue["TID"]]] = "Y";
+
+ if ($_SESSION['CVS'][$TID2Name[$TempValue["TID"]]] == "Y")
+ if ($TempValue["free"] > 0) {
+ $Spalten .= "<br />\n&nbsp;&nbsp;<a href=\"./schichtplan_add.php?SID=$SID&TID=" .
+ $TempValue["TID"] . "\">";
+ $Spalten .= $TempValue["free"];
+ if ($TempValue["free"] != 1)
+ $Spalten .= Get_Text("inc_schicht_weitere") .
+ " " . Get_Text("inc_schicht_Engel") .
+ Get_Text("inc_schicht_wird");
+ else
+ $Spalten .= Get_Text("inc_schicht_weiterer") .
+ " " . Get_Text("inc_schicht_Engel") .
+ Get_Text("inc_schicht_werden");
+ $Spalten .= Get_Text("inc_schicht_noch_gesucht");
+ $Spalten .= "</a>";
+ }
+ } else {
+ if (isset ($TempValue["free"]))
+ if ($TempValue["free"] > 0)
+ $Spalten .= "<br />\n&nbsp;&nbsp;<h3><a>Fehlen noch: " .
+ $TempValue["free"] . "</a></h3>";
+ }
+ $Spalten .= "<br />\n";
+
+ } // FOREACH
+ return $Spalten;
+} // function Ausgabe_Feld_Inhalt
+
+/*#######################################################
+# gibt die engelschischten Druckergerecht aus #
+#######################################################*/
+function Ausgabe_Feld_Inhalt_Druck($RID, $Man) {
+ // gibt, nach �bergabe der der SchichtID (SID) und der RaumBeschreibung,
+ // die eingetragenden und und offenden Schichteint�ge zur�ck
+
+} // function Ausgabe_Feld_Inhalt
+
+/*#######################################################
+# Ausgabe der Raum Spalten #
+#######################################################*/
+function CreateRoomShifts($raum) {
+ global $Spalten, $ausdatum, $con, $debug, $GlobalZeileProStunde, $error_messages;
+
+ /////////////////////////////////////////////////////////////
+ // beginnt die erste schicht vor dem heutigen tag und geht dar�ber hinaus
+ /////////////////////////////////////////////////////////////
+ $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` " .
+ "WHERE ((`RID` = '" . sql_escape($raum) . "') AND (`DateE` > '$ausdatum 23:59:59') AND " .
+ "(`DateS` < '" . sql_escape($ausdatum) . " 00:00:00') ) ORDER BY `DateS`;";
+ $ErgSonder = mysql_query($SQLSonder, $con);
+ if ((mysql_num_rows($ErgSonder) > 1)) {
+ if (funktion_isLinkAllowed("admin/schichtplan.php") === TRUE) {
+ echo "<h1>" . Get_Text("pub_schichtplan_colision") . "</h1> ";
+ for ($i = 0; $i < mysql_num_rows($ErgSonder); $i++) {
+ echo "<a href=\"./../admin/schichtplan.php?action=change&SID=" .
+ mysql_result($ErgSonder, $i, "SID") . "\">" .
+ mysql_result($ErgSonder, $i, "DateS") .
+ " '" . mysql_result($ErgSonder, $i, "Man") . "' (RID $raum) (00-24)" .
+ "</a><br />\n";
+ }
+ }
+ }
+ elseif ((mysql_num_rows($ErgSonder) == 1)) {
+ $Spalten[0] .= "<td valign=\"top\" rowspan=\"" . (24 * $GlobalZeileProStunde) . "\">\n" .
+ "<h3>&uarr;&uarr;&uarr;</h3>" .
+ Ausgabe_Feld_Inhalt(mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man")) .
+ "<h3>&darr;&darr;&darr;</h3>" .
+ "\n</td>\n";
+ return;
+ }
+
+ $ZeitZeiger = 0;
+
+ /////////////////////////////////////////////////////////////
+ // beginnt die erste schicht vor dem heutigen tag?
+ /////////////////////////////////////////////////////////////
+ $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` " .
+ "WHERE ((`RID` = '" . sql_escape($raum) . "') AND (`DateE` > '" . sql_escape($ausdatum) . " 00:00:00') AND " .
+ "(`DateS` < '" . sql_escape($ausdatum) . " 00:00:00') ) ORDER BY `DateS`;";
+
+ $ErgSonder = mysql_query($SQLSonder, $con);
+ if ((mysql_num_rows($ErgSonder) > 1)) {
+ if (funktion_isLinkAllowed("admin/schichtplan.php") === TRUE) {
+ echo "<h1>" . Get_Text("pub_schichtplan_colision") . "</h1> ";
+ for ($i = 0; $i < mysql_num_rows($ErgSonder); $i++) {
+ echo "<a href=\"./../admin/schichtplan.php?action=change&SID=" .
+ mysql_result($ErgSonder, $i, "SID") . "\">" .
+ mysql_result($ErgSonder, $i, "DateS") .
+ " '" . mysql_result($ErgSonder, $i, "Man") . "' (RID $raum) (00-xx)" .
+ "</a><br />\n";
+ }
+ }
+ }
+ elseif ((mysql_num_rows($ErgSonder) == 1)) {
+ $ZeitZeiger = substr(mysql_result($ErgSonder, 0, "DateE"), 11, 2) + (substr(mysql_result($ErgSonder, 0, "DateE"), 14, 2) / 60);
+ $Spalten[0] .= "<td valign=\"top\" rowspan=\"" . ($ZeitZeiger * $GlobalZeileProStunde) . "\">\n" .
+ "<h3>&uarr;&uarr;&uarr;</h3>" .
+ Ausgabe_Feld_Inhalt(mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man")) .
+ "\n</td>\n";
+ }
+
+ /////////////////////////////////////////////////////////////
+ // gibt die schichten f�r den tag aus
+ /////////////////////////////////////////////////////////////
+ $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` " .
+ "WHERE ((`RID` = '" . sql_escape($raum) . "') and " .
+ "(`DateS` >= '" . sql_escape($ausdatum) . ' ' . sql_escape($ZeitZeiger) . ":00:00') and " .
+ "(`DateS` like '" . sql_escape($ausdatum) . "%')) ORDER BY `DateS`;";
+ $Erg = mysql_query($SQL, $con);
+ for ($i = 0; $i < mysql_num_rows($Erg); ++ $i) {
+ $ZeitPos = substr(mysql_result($Erg, $i, "DateS"), 11, 2) + (substr(mysql_result($Erg, $i, "DateS"), 14, 2) / 60);
+ $len = mysql_result($Erg, $i, "Len");
+
+ if ($len <= 0)
+ array_push($error_messages, "Error in shift denition SID=" . mysql_result($Erg, $i, "SID") . " Len=$len");
+
+ if ($ZeitZeiger < $ZeitPos) {
+ $Spalten[$ZeitZeiger * $GlobalZeileProStunde] .= "<td valign=\"top\" rowspan=\"" . (($ZeitPos - $ZeitZeiger) * $GlobalZeileProStunde) . "\">&nbsp;</td>\n";
+
+ $ZeitZeiger += $ZeitPos - $ZeitZeiger;
+ }
+ if ($ZeitZeiger == $ZeitPos) {
+ //sonderfall wenn die schicht �ber dei 24 stunden hinaus geht
+ // (eintrag abk�rzen, pfeiel ausgeben)
+ $Spalten[$ZeitZeiger * $GlobalZeileProStunde] .= "<td valign=\"top\" rowspan=\"" .
+ ((($len + $ZeitZeiger) ? $len : 24 - $len + $ZeitZeiger) * $GlobalZeileProStunde) .
+ "\">\n" .
+ "" .
+ Ausgabe_Feld_Inhalt(mysql_result($Erg, $i, "SID"), mysql_result($Erg, $i, "Man")) .
+ ((($ZeitZeiger + $len) > 24) ? "<h3>&darr;&darr;&darr;</h3>" : "") .
+ "\n</td>\n";
+ $ZeitZeiger += $len;
+ } else {
+ echo "<h1>" . Get_Text("pub_schichtplan_colision") . "</h1> ";
+ echo "<a href=\"./../admin/schichtplan.php?action=change&SID=" .
+ mysql_result($Erg, $i, "SID") . "\">" .
+ mysql_result($Erg, $i, "DateS") .
+ " '" . mysql_result($Erg, $i, "Man") . "' " .
+ " (" . mysql_result($Erg, $i, "SID") . " R$raum) (xx-xx)</a><br /><br />";
+ }
+ }
+ if ($ZeitZeiger < 24)
+ $Spalten[($ZeitZeiger * $GlobalZeileProStunde)] .= "<td valign=\"top\" rowspan=\"" .
+ ((24 - $ZeitZeiger) * $GlobalZeileProStunde) .
+ "\">&nbsp;</td>\n";
+} // function CreateRoomShifts
+
+/*#######################################################
+# Ausgabe der freien schichten #
+#######################################################*/
+function showEmptyShifts() {
+ global $con, $debug, $RoomID, $gmdateOffset;
+
+ echo "<table border=\"1\">\n";
+ echo "<tr>\n";
+ echo "<th>" . Get_Text("inc_schicht_date") . "</th>\n";
+ echo "<th>" . Get_Text("inc_schicht_time") . "</th>\n";
+ echo "<th>" . Get_Text("inc_schicht_room") . "</th>\n";
+ echo "<th>" . Get_Text("inc_schicht_commend") . "</th>\n";
+ echo "</tr>\n";
+
+ $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` " .
+ "WHERE (`Shifts`.`DateS`>='" . gmdate("Y-m-d H:i:s", time() + $gmdateOffset) . "') " .
+ "ORDER BY `DateS`, `RID`;";
+ $Erg = mysql_query($sql, $con);
+
+ $angezeigt = 0;
+ for ($i = 0;($i < mysql_num_rows($Erg)) && ($angezeigt < 15); $i++)
+ if (isset ($RoomID[mysql_result($Erg, $i, "RID")]))
+ if ($RoomID[mysql_result($Erg, $i, "RID")] != "") {
+ $Sql2 = "SELECT `UID` FROM `ShiftEntry` " .
+ "WHERE `SID`=" . mysql_result($Erg, $i, "SID") . " AND " .
+ "`UID`='0';";
+ $Erg2 = mysql_query($Sql2, $con);
+
+ if (mysql_num_rows($Erg2) > 0) {
+ $angezeigt++;
+ echo "<tr>\n";
+ echo "<td>" . substr(mysql_result($Erg, $i, "DateS"), 0, 10) . "</td>\n";
+ echo "<td>" . substr(mysql_result($Erg, $i, "DateS"), 11) . "</td>\n";
+ echo "<td>" . $RoomID[mysql_result($Erg, $i, "RID")] . "</td>\n";
+ echo "<td>" .
+ ausgabe_Feld_Inhalt(mysql_result($Erg, $i, "SID"), mysql_result($Erg, $i, "Man")) .
+ "</td>\n";
+ echo "</tr>\n";
+ }
+ }
+
+ echo "</table>\n";
+
+} //function showEmptyShifts
+
+/*#######################################################
+# Gibt die anzahl der Schichten im Raum zur�ck #
+#######################################################*/
+function SummRoomShifts($raum) {
+ global $ausdatum, $con, $debug, $GlobalZeileProStunde;
+
+ $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` " .
+ "WHERE ((`RID` = '" . sql_escape($raum) . "') AND (`DateE` >= '$ausdatum 00:00:00') AND " .
+ "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;";
+
+ $ErgSonder = mysql_query($SQLSonder, $con);
+
+ return mysql_num_rows($ErgSonder);
+}
+
+function DatumUm1TagErhoehen($Datum) {
+ $Jahr = substr($Datum, 0, 4);
+ $Monat = substr($Datum, 5, 2);
+ $Tag = substr($Datum, 8, 2);
+
+ $Tag++;
+
+ switch ($Monat) {
+ case 1 :
+ $Mmax = 31;
+ break;
+ case 2 :
+ $Mmax = 28;
+ break;
+ case 3 :
+ $Mmax = 31;
+ break;
+ case 4 :
+ $Mmax = 30;
+ break;
+ case 5 :
+ $Mmax = 31;
+ break;
+ case 6 :
+ $Mmax = 30;
+ break;
+ case 7 :
+ $Mmax = 31;
+ break;
+ case 8 :
+ $Mmax = 31;
+ break;
+ case 9 :
+ $Mmax = 30;
+ break;
+ case 10 :
+ $Mmax = 31;
+ break;
+ case 11 :
+ $Mmax = 30;
+ break;
+ case 12 :
+ $Mmax = 31;
+ break;
+ }
+
+ if ($Tag > $Mmax) {
+ $Tag = 1;
+ $Monat++;
+ }
+
+ if ($Monat > 12) {
+ $Monat = 1;
+ $Jahr++;
+ }
+
+ $Tag = strlen($Tag) == 1 ? "0" . $Tag : $Tag;
+ $Monat = strlen($Monat) == 1 ? "0" . $Monat : $Monat;
+
+ return ("$Jahr-$Monat-$Tag");
+}
+?>
diff --git a/includes/sys_template.php b/includes/sys_template.php
new file mode 100644
index 00000000..7524b0cb
--- /dev/null
+++ b/includes/sys_template.php
@@ -0,0 +1,36 @@
+<?php
+
+
+// Load and render template
+function template_render($file, $data) {
+ if (file_exists($file)) {
+ $template = file_get_contents($file);
+ if (is_array($data))
+ foreach ($data as $name => $content) {
+ $template = str_replace("%" . $name . "%", $content, $template);
+ }
+ return $template;
+ } else {
+ die('Cannot find template file &laquo;' . $file . '&raquo;.');
+ }
+}
+
+function html_options($name, $options, $selected = "") {
+ $html = "";
+ foreach ($options as $value => $label)
+ $html .= '<input type="radio"' . ($value == $selected ? ' checked="checked"' : '') . ' name="' . $name . '" value="' . $value . '"> ' . $label;
+
+ return $html;
+}
+
+function html_select_key($name, $rows, $selected) {
+ $html = '<select name="' . $name . '">';
+ foreach ($rows as $key => $row)
+ if (($key == $selected) || ($row == $selected))
+ $html .= '<option value="' . $key . '" selected="selected">' . $row . '</option>';
+ else
+ $html .= '<option value="' . $key . '">' . $row . '</option>';
+ $html .= '</select>';
+ return $html;
+}
+?> \ No newline at end of file
diff --git a/includes/sys_user.php b/includes/sys_user.php
new file mode 100644
index 00000000..8d5a6ae6
--- /dev/null
+++ b/includes/sys_user.php
@@ -0,0 +1,106 @@
+<?php
+function UID2Nick($UID) {
+ if ($UID > 0)
+ $SQL = "SELECT Nick FROM `User` WHERE UID='" . sql_escape($UID) . "'";
+ else
+ $SQL = "SELECT Name FROM `Groups` WHERE UID='" . sql_escape($UID) . "'";
+
+ $Erg = sql_select($SQL);
+
+ if (count($Erg) > 0) {
+ if ($UID > 0)
+ return $Erg[0]['Nick'];
+ else
+ return "Group-" . $Erg[0]['Name'];
+ } else {
+ if ($UID == -1)
+ return "Guest";
+ else
+ return "UserID $UID not found";
+ }
+}
+
+function TID2Type($TID) {
+ global $con;
+
+ $SQL = "SELECT Name FROM `EngelType` WHERE TID='" . sql_escape($TID) . "'";
+ $Erg = mysql_query($SQL, $con);
+
+ if (mysql_num_rows($Erg))
+ return mysql_result($Erg, 0);
+ else
+ return "";
+}
+
+function ReplaceSmilies($neueckig) {
+ global $url, $ENGEL_ROOT;
+
+ $neueckig = str_replace(";o))", "<img src=\"pic/smiles/icon_redface.gif\">", $neueckig);
+ $neueckig = str_replace(":-))", "<img src=\"pic/smiles/icon_redface.gif\">", $neueckig);
+ $neueckig = str_replace(";o)", "<img src=\"pic/smiles/icon_wind.gif\">", $neueckig);
+ $neueckig = str_replace(":)", "<img src=\"pic/smiles/icon_smile.gif\">", $neueckig);
+ $neueckig = str_replace(":-)", "<img src=\"pic/smiles/icon_smile.gif\">", $neueckig);
+ $neueckig = str_replace(":(", "<img src=\"pic/smiles/icon_sad.gif\">", $neueckig);
+ $neueckig = str_replace(":-(", "<img src=\"pic/smiles/icon_sad.gif\">", $neueckig);
+ $neueckig = str_replace(":o(", "<img src=\"pic/smiles/icon_sad.gif\">", $neueckig);
+ $neueckig = str_replace(":o)", "<img src=\"pic/smiles/icon_lol.gif\">", $neueckig);
+ $neueckig = str_replace(";o(", "<img src=\"pic/smiles/icon_cry.gif\">", $neueckig);
+ $neueckig = str_replace(";(", "<img src=\"pic/smiles/icon_cry.gif\">", $neueckig);
+ $neueckig = str_replace(";-(", "<img src=\"pic/smiles/icon_cry.gif\">", $neueckig);
+ $neueckig = str_replace("8)", "<img src=\"pic/smiles/icon_rolleyes.gif\">", $neueckig);
+ $neueckig = str_replace("8o)", "<img src=\"pic/smiles/icon_rolleyes.gif\">", $neueckig);
+ $neueckig = str_replace(":P", "<img src=\"pic/smiles/icon_evil.gif\">", $neueckig);
+ $neueckig = str_replace(":-P", "<img src=\"pic/smiles/icon_evil.gif\">", $neueckig);
+ $neueckig = str_replace(":oP", "<img src=\"pic/smiles/icon_evil.gif\">", $neueckig);
+ $neueckig = str_replace(";P", "<img src=\"pic/smiles/icon_mad.gif\">", $neueckig);
+ $neueckig = str_replace(";oP", "<img src=\"pic/smiles/icon_mad.gif\">", $neueckig);
+ $neueckig = str_replace("?)", "<img src=\"pic/smiles/icon_question.gif\">", $neueckig);
+
+ return $neueckig;
+}
+
+function GetPicturShow($UID) {
+ global $con;
+
+ $SQL = "SELECT `show` FROM `UserPicture` WHERE `UID`='" . sql_escape($UID) . "'";
+ $res = mysql_query($SQL, $con);
+
+ if (mysql_num_rows($res) == 1)
+ return mysql_result($res, 0, 0);
+ else
+ return "";
+}
+
+function displayPictur($UID, $height = "30") {
+ global $url, $ENGEL_ROOT;
+
+ if ($height > 0)
+ return ("<div class=\"avatar\"><img src=\"" . $url . $ENGEL_ROOT . "ShowUserPicture.php?UID=$UID\" height=\"$height\" alt=\"picture of USER$UID\" class=\"photo\"></div>");
+ else
+ return ("<div class=\"avatar\"><img class=\"avatar\" src=\"" . $url . $ENGEL_ROOT . "ShowUserPicture.php?UID=$UID\" alt=\"picture of USER$UID\"></div>");
+}
+
+function displayavatar($UID, $height = "30") {
+ global $con, $url, $ENGEL_ROOT;
+
+ if (GetPicturShow($UID) == 'Y')
+ return "&nbsp;" . displayPictur($UID, $height);
+
+ $user = sql_select("SELECT * FROM `User` WHERE `UID`=" . sql_escape($UID) . " LIMIT 1");
+ if (count($user) > 0)
+ if ($user[0]['Avatar'] > 0)
+ return '<div class="avatar">' . ("&nbsp;<img src=\"pic/avatar/avatar" . $user[0]['Avatar'] . ".gif\">") . '</div>';
+}
+
+function UIDgekommen($UID) {
+ global $con;
+
+ $SQL = "SELECT `Gekommen` FROM `User` WHERE UID='" . sql_escape($UID) . "'";
+ $Erg = mysql_query($SQL, $con);
+
+ if (mysql_num_rows($Erg))
+ return mysql_result($Erg, 0);
+ else
+ return "0";
+}
+?>
diff --git a/services/cron_dect.php b/services/cron_dect.php
index b5e338c6..57d12e0f 100755
--- a/services/cron_dect.php
+++ b/services/cron_dect.php
@@ -1,61 +1,51 @@
-<?PHP
-
-include ("../includes/config.php");
-include ("../includes/config_IAX.php");
-include ("../includes/config_db.php");
-include ("../includes/error_handler.php");
-include ("../includes/funktion_modem.php");
-include ("../includes/funktion_cron.php");
-
-
-//ausfuerungs Ruetmuss (in s)
-$StartTimeBeforEvent = (60/4)*60;
-$AnrufDelay = -5;
-$DebugDECT = FALSE;
-#$DebugDECT = TRUE;
-
-//Timeout erhöhen;
-set_time_limit(50000);
-
-//SQL zusammensetzen
-$SQL = "SELECT Shifts.DateS, Shifts.RID, ShiftEntry.UID, ShiftEntry.TID ".
- "FROM `Shifts` INNER JOIN `ShiftEntry` ON `Shifts`.`SID` = `ShiftEntry`.`SID` ";
-if( $DebugDECT)
- $SQL .= "WHERE (Shifts.DateS>'2007-07-09 09:45:00' AND ".
- "Shifts.DateS<='2007-07-09 11:00:00');";
-else
- $SQL .= "WHERE ((`Shifts`.`DateS`>'". gmdate("Y-m-d H:i:s", time()+120+$gmdateOffset). "') AND ".
- "(`Shifts`.`DateS`<='". gmdate("Y-m-d H:i:s", time()+120+$gmdateOffset+$StartTimeBeforEvent). "') );";
-
-$Erg = mysql_query($SQL, $con);
-echo mysql_error($con);
-
-$Z=0;
-for( $i=0; $i<mysql_num_rows($Erg); $i++)
-{
- if( mysql_result($Erg, $i, "UID")>0)
- {
- $DECTnumber = UID2DECT(mysql_result($Erg, $i, "UID"));
- if( $DECTnumber!="")
- {
- echo "dial $DECTnumber\n";
- DialNumberIAX( $DECTnumber,
- mysql_result($Erg, $i, "DateS"),
- mysql_result($Erg, $i, "RID"),
- mysql_result($Erg, $i, "TID"));
- DialNumberModem( $DECTnumber,
- mysql_result($Erg, $i, "DateS"));
- if( $Z++>10)
- {
- $Z=0;
- sleep(30);
- }
- }
+<?php
+ include "../includes/config.php";
+ include "../includes/config_IAX.php";
+ include "../includes/config_db.php";
+ include "../includes/error_handler.php";
+ include "../includes/funktion_modem.php";
+ include "../includes/funktion_cron.php";
+
+ // ausfuerungs Ruetmuss (in s)
+ $StartTimeBeforEvent = (60 / 4) * 60;
+ $AnrufDelay = -5;
+ $DebugDECT = false;
+
+ // Timeout erhoehen
+ set_time_limit(50000);
+
+ // SQL zusammensetzen
+ $SQL = "SELECT Shifts.DateS, Shifts.RID, ShiftEntry.UID, ShiftEntry.TID ".
+ "FROM `Shifts` INNER JOIN `ShiftEntry` ON `Shifts`.`SID` = `ShiftEntry`.`SID` ";
+
+ if($DebugDECT)
+ $SQL .= "WHERE (Shifts.DateS>'2007-07-09 09:45:00' AND ".
+ "Shifts.DateS<='2007-07-09 11:00:00');";
+ else
+ $SQL .= "WHERE ((`Shifts`.`DateS`>'". gmdate("Y-m-d H:i:s", time()+120+$gmdateOffset). "') AND ".
+ "(`Shifts`.`DateS`<='". gmdate("Y-m-d H:i:s", time()+120+$gmdateOffset+$StartTimeBeforEvent). "') );";
+
+ $Erg = mysql_query($SQL, $con);
+ echo mysql_error($con);
+
+ $Z = 0;
+
+ for($i = 0; $i < mysql_num_rows($Erg); $i++) {
+ if(mysql_result($Erg, $i, "UID") > 0) {
+ $DECTnumber = UID2DECT(mysql_result($Erg, $i, "UID"));
+
+ if($DECTnumber != "") {
+ echo "dial $DECTnumber\n";
+ DialNumberIAX( $DECTnumber, mysql_result($Erg, $i, "DateS"), mysql_result($Erg, $i, "RID"), mysql_result($Erg, $i, "TID"));
+ DialNumberModem( $DECTnumber, mysql_result($Erg, $i, "DateS"));
+
+ if($Z++ > 10) {
+ $Z = 0;
+ sleep(30);
+ }
+ }
+ }
}
-}
-
-return 0;
-
+ return 0;
?>
-
diff --git a/services/dect_clear.php b/services/dect_clear.php
index 713cce36..b49b1e40 100755
--- a/services/dect_clear.php
+++ b/services/dect_clear.php
@@ -1,25 +1,19 @@
-<?PHP
-// löscht alle eintrag in der telefonanlage, indem jede nummer einzähln gelöscht wir (#10<NUMBER>)
+<?php
+ include "../includes/db.php";
+ include "../includes/config.php";
+ include "../includes/funktion_modem.php";
-include ("../includes/db.php");
-include ("../includes/config.php");
-include ("../includes/funktion_modem.php");
+ $SQL = "SELECT DECT FROM `User`;";
+ $Erg = mysql_query($SQL, $con);
+ echo mysql_error($con);
-$SQL = "SELECT DECT FROM `User`;";
+ for($i=0; $i < mysql_num_rows($Erg); $i++) {
+ $Number = "#10" . mysql_result($Erg, $i, "DECT");
-$Erg = mysql_query($SQL, $con);
-
-echo mysql_error($con);
-
-for( $i=0; $i<mysql_num_rows($Erg); $i++)
-{
- $Number = "#10". mysql_result($Erg, $i, "DECT");
- if( strlen($Number)==7)
- DialNumber( $Number);
-}
-
-return 0;
+ if(strlen($Number) == 7)
+ DialNumber($Number);
+ }
+ return 0;
?>
-
diff --git a/services/jabberserver.php b/services/jabberserver.php
index 8a80b35c..94ef3a8b 100755
--- a/services/jabberserver.php
+++ b/services/jabberserver.php
@@ -1,113 +1,75 @@
-<?php
-
-/****************************************************************************************************/
-// INCLUDE
-/****************************************************************************************************/
-require_once('../includes/config_jabber.php');
-require_once("../includes/funktion_jabber.php");
-include("../includes/config_MessegeServer.php");
-
-// Set time limit to indefinite execution
-set_time_limit( 0 );
-
-/****************************************************************************************************/
-// show MODE
-/****************************************************************************************************/
-if( DEBUG)
- echo "DEBUG mode is enable\n\tjabber is disable\n\n";
-
-/****************************************************************************************************/
-// INIT jabber
-/****************************************************************************************************/
-if( !DEBUG)
-{
- echo "INIT jabber\n";
- $jabber = new Jabber($server, $port, $username, $password, $resource);
- if ( !($jabber->Connect() && $jabber->SendAuth()))
- die("Couldn't connect to Jabber Server.");
-}
-
-
-/****************************************************************************************************/
-// INIT socked
-/****************************************************************************************************/
-echo "INIT socked\n";
- //http://de3.php.net/manual/de/function.socket-listen.php
-// Create a UDP socket
-$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die('Could not create socked ('.socket_strerror(socket_last_error()). ')');
-// Bind the socket to an address/port
-socket_bind($sock, SERVER_ADDRESS, SERVER_PORT) or die('Could not bind to address ('.socket_strerror(socket_last_error()). ')');
-// Setzt Nonbock Mode
-socket_set_nonblock($sock);
-
-
-/****************************************************************************************************/
-// Loop continuos
-/****************************************************************************************************/
-$RUNNING = TRUE;
-while( $RUNNING )
-{
- if( @socket_recvfrom($sock, $data, 65535, 0, $ip, $port))
- {
- //daten empfangen
- $data = substr($data,0, strlen($data)-1); //ENTER entfernen
- echo "\n". gmdate("Y-m-d H:i:s", time()). "\tresive from $ip:$port ". strlen($data). " byte data ($data)\n";
- PackedAnalyser( $data);
- }
-
- usleep(100000); // 100ms delay keeps the doctor away
-} // end while
-
-//disconnect jabber
-if( !DEBUG)
- $jabber->Disconnect();
-
-// Close the master sockets
-socket_close($sock);
-
-/****************************************************************************************************/
-/****************************************** MAIN END ************************************************/
-/****************************************************************************************************/
-
-
-/****************************************************************************************************/
-//***** function PackedAnalyser
-/****************************************************************************************************/
-function PackedAnalyser( $data )
-{
- GLOBAL $jabber, $RUNNING;
- // init array
- $matches = array();
-
- //#message
- if( preg_match( "/^#(message) ([^ ]+) (.+)/i", $data, $matches ) )
- {
- if( $matches[2]=="" || $matches[3]=="")
- {
- // Wrong syntax
- echo "\t\t\t\t#messaage parameter fail\n";
- }
- else
- {
- // Whisper
- if( !DEBUG)
- $jabber->SendMessage($value, "normal", NULL, array("body" => $message, "subject" => "Error in Pentabarf"), NULL);
- else
- echo "\t\t\t\tmessage to:\"". $matches[2]. "\" Text: \"". $matches[3]. "\"\n";
- }
- }
- elseif( preg_match( "/^#quit/i", $data, $matches ) )
- {
- if( DEBUG)
- {
- echo "\t\t\t\tSystem Shutdown\n\n";
- $RUNNING = FALSE;
- }
- }
- else
- {
- echo "\t\t\t\tcommand not found\n\n";
- }
-}
-
-?>
+<?php
+ require_once "../includes/config_jabber.php";
+ require_once "../includes/funktion_jabber.php";
+ include "../includes/config_MessegeServer.php";
+
+ // Set time limit to indefinite execution
+ set_time_limit(0);
+
+ if(DEBUG)
+ echo "DEBUG mode is enable\n\tjabber is disable\n\n";
+
+ if(!DEBUG) {
+ echo "INIT jabber\n";
+ $jabber = new Jabber($server, $port, $username, $password, $resource);
+
+ if(!($jabber->Connect() && $jabber->SendAuth()))
+ die("Couldn't connect to Jabber Server.");
+ }
+
+ echo "INIT socked\n";
+
+ // Create a UDP socket
+ $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die('Could not create socked (' . socket_strerror(socket_last_error()) . ')');
+
+ // Bind the socket to an address/port
+ socket_bind($sock, SERVER_ADDRESS, SERVER_PORT) or die('Could not bind to address (' . socket_strerror(socket_last_error()) . ')');
+
+ // Setzt Nonbock Mode
+ socket_set_nonblock($sock);
+
+ $RUNNING = true;
+
+ while($RUNNING) {
+ if(@socket_recvfrom($sock, $data, 65535, 0, $ip, $port)) {
+ // daten empfangen
+ $data = substr($data, 0, strlen($data)-1); //ENTER entfernen
+ echo "\n". gmdate("Y-m-d H:i:s", time()). "\tresive from $ip:$port ". strlen($data). " byte data ($data)\n";
+ PackedAnalyser( $data);
+ }
+
+ usleep(100000); // 100ms delay keeps the doctor away
+ } // end while
+
+ // disconnect jabber
+ if(!DEBUG)
+ $jabber->Disconnect();
+
+ // Close the master sockets
+ socket_close($sock);
+
+ function PackedAnalyser($data) {
+ global $jabber, $RUNNING;
+ // init array
+ $matches = array();
+
+ //#message
+ if(preg_match("/^#(message) ([^ ]+) (.+)/i", $data, $matches)) {
+ if($matches[2]=="" || $matches[3]=="")
+ echo "\t\t\t\t#messaage parameter fail\n";
+ else {
+ // Whisper
+ if(!DEBUG)
+ $jabber->SendMessage($value, "normal", NULL, array("body" => $message, "subject" => "Error in Pentabarf"), NULL);
+ else
+ echo "\t\t\t\tmessage to:\"". $matches[2]. "\" Text: \"". $matches[3]. "\"\n";
+ }
+ } elseif(preg_match("/^#quit/i", $data, $matches)) {
+ if(DEBUG) {
+ echo "\t\t\t\tSystem Shutdown\n\n";
+ $RUNNING = false;
+ }
+ } else
+ echo "\t\t\t\tcommand not found\n\n";
+ }
+?>
diff --git a/templates/admin_angel_types.html b/templates/admin_angel_types.html
new file mode 100644
index 00000000..4ad8e9f1
--- /dev/null
+++ b/templates/admin_angel_types.html
@@ -0,0 +1,41 @@
+Angel types:
+<table>
+ <thead>
+ <tr>
+ <th>
+ Name
+ </th>
+ <th>
+ Man
+ </th>
+ <th>
+ Action
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %table%
+ </tbody>
+</table>
+<hr />
+<h2>Create new Angel type:</h2>
+<form action="%link%&action=create" method="post">
+ <table>
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ <input type="text" name="name" value="" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Man
+ </td>
+ <td>
+ <input type="text" name="man" value="" />
+ </td>
+ </tr>
+ </table><input type="submit" name="submit" value="Create" />
+</form> \ No newline at end of file
diff --git a/templates/admin_angel_types_edit_form.html b/templates/admin_angel_types_edit_form.html
new file mode 100644
index 00000000..16ffebca
--- /dev/null
+++ b/templates/admin_angel_types_edit_form.html
@@ -0,0 +1,24 @@
+Edit angel type:
+<form action="%link%&action=save" method="post">
+ <table>
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ <input type="text" name="name" value="%name%" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Man
+ </td>
+ <td>
+ <input type="text" name="man" value="%man%" />
+ </td>
+ </tr>
+ </table><input type="hidden" name="id" value="%id%" /><input type="submit" name="submit" value="Save" />
+</form>
+<form action="%link%&action=delete" method="post">
+ <input type="hidden" name="id" value="%id%" /><input type="submit" name="submit" value="Delete" />
+</form> \ No newline at end of file
diff --git a/templates/admin_faq.html b/templates/admin_faq.html
new file mode 100644
index 00000000..5dacf522
--- /dev/null
+++ b/templates/admin_faq.html
@@ -0,0 +1,56 @@
+<table>
+ <thead>
+ <tr>
+ <th>
+ Deutsch
+ </th>
+ <th>
+ English
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %faqs%
+ </tbody>
+</table>
+<hr/>Create new FAQ:
+<form action="%link%&action=create" method="post">
+ <table>
+ <tr>
+ <td>
+ Frage
+ </td>
+ <td>
+ <textarea name="frage"></textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Antwort
+ </td>
+ <td>
+ <textarea name="antwort"></textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Question
+ </td>
+ <td>
+ <textarea name="question"></textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Answer
+ </td>
+ <td>
+ <textarea name="answer"></textarea>
+ </td>
+ </tr>
+ </table>
+ <input type="submit" name="submit" value="Create" />
+</form> \ No newline at end of file
diff --git a/templates/admin_faq_edit_form.html b/templates/admin_faq_edit_form.html
new file mode 100644
index 00000000..1ef791aa
--- /dev/null
+++ b/templates/admin_faq_edit_form.html
@@ -0,0 +1,41 @@
+Edit FAQ:
+<form action="%link%&action=save" method="post">
+ <table>
+ <tr>
+ <td>
+ Frage
+ </td>
+ <td>
+ <textarea name="frage">%frage%</textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Antwort
+ </td>
+ <td>
+ <textarea name="antwort">%antwort%</textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Question
+ </td>
+ <td>
+ <textarea name="question">%question%</textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Answer
+ </td>
+ <td>
+ <textarea name="answer">%answer%</textarea>
+ </td>
+ </tr>
+ </table>
+ <input type="hidden" name="id" value="%id%" /><input type="submit" name="submit" value="Save" />
+</form><hr/>
+<form action="%link%&action=delete" method="post">
+ Delete FAQ: <input type="hidden" name="id" value="%id%" /><input type="submit" name="submit" value="Delete" />
+</form> \ No newline at end of file
diff --git a/templates/admin_groups.html b/templates/admin_groups.html
new file mode 100644
index 00000000..c5b4ac57
--- /dev/null
+++ b/templates/admin_groups.html
@@ -0,0 +1,21 @@
+Hallo %nick%,
+<br/>
+hier hast du die Möglichkeit Gruppenrechte zu ändern:
+<table>
+ <thead>
+ <tr>
+ <th>
+ Name
+ </th>
+ <th>
+ Rechte
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %groups%
+ </tbody>
+</table>
diff --git a/templates/admin_groups_edit_form.html b/templates/admin_groups_edit_form.html
new file mode 100644
index 00000000..5729df64
--- /dev/null
+++ b/templates/admin_groups_edit_form.html
@@ -0,0 +1,21 @@
+<form action="%link%&action=save" method="post">
+ <table>
+ <thead>
+ <tr>
+ <th>
+ &nbsp;
+ </th>
+ <th>
+ Name
+ </th>
+ <th>
+ Description
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %privileges%
+ </tbody>
+ </table>
+ <input type="hidden" name="id" value="%id%" /><input type="submit" name="submit" value="Save" />
+</form> \ No newline at end of file
diff --git a/templates/admin_question_answered.html b/templates/admin_question_answered.html
new file mode 100644
index 00000000..e4f07932
--- /dev/null
+++ b/templates/admin_question_answered.html
@@ -0,0 +1,9 @@
+<tr>
+ <td> %question_nick% </td>
+ <td> %question% </td>
+ <td> %answer_nick% </td>
+ <td> %answer% </td>
+ <td>
+ <a href="%link%&action=delete&id=%question_id%">Delete</a>
+ </td>
+</tr>
diff --git a/templates/admin_question_unanswered.html b/templates/admin_question_unanswered.html
new file mode 100644
index 00000000..fc3db78a
--- /dev/null
+++ b/templates/admin_question_unanswered.html
@@ -0,0 +1,14 @@
+<tr>
+ <td> %question_nick% </td>
+ <td> %question% </td>
+ <td>
+ <form action="%link%&action=answer" method="post">
+ <textarea name="answer"></textarea>
+ <input type="hidden" name="id" value="%question_id%" />
+ <input type="submit" name="submit" value="Send" />
+ </form>
+ </td>
+ <td>
+ <a href="%link%&action=delete&id=%question_id%">Delete</a>
+ </td>
+</tr>
diff --git a/templates/admin_questions.html b/templates/admin_questions.html
new file mode 100644
index 00000000..171f10b5
--- /dev/null
+++ b/templates/admin_questions.html
@@ -0,0 +1,47 @@
+Not yet answered questions:
+<table>
+ <thead>
+ <tr>
+ <th>
+ From
+ </th>
+ <th>
+ Question
+ </th>
+ <th>
+ Answer
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %open_questions%
+ </tbody>
+</table>
+<hr/> Answered questions:
+<table>
+ <thead>
+ <tr>
+ <th>
+ From
+ </th>
+ <th>
+ Question
+ </th>
+ <th>
+ From
+ </th>
+ <th>
+ Answer
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %answered_questions%
+ </tbody>
+</table>
diff --git a/templates/admin_rooms_edit_form.html b/templates/admin_rooms_edit_form.html
new file mode 100644
index 00000000..cd1506fa
--- /dev/null
+++ b/templates/admin_rooms_edit_form.html
@@ -0,0 +1,59 @@
+Raum und dafür benötigte Engel bearbeiten:
+<br/>
+<form action="%link%&action=changesave" method="post">
+ <table>
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ <input type="text" name="Name" value="%name%" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Man
+ </td>
+ <td>
+ <input type="text" name="Man" value="%man%" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ From Pentabarf
+ </td>
+ <td>
+ %from_pentabarf_options%
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Show
+ </td>
+ <td>
+ %show_options%
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Number
+ </td>
+ <td>
+ <input type="text" name="Number" value="%number%" />
+ </td>
+ </tr>
+ <tr>
+ <th>
+ Angle Type
+ </th>
+ <th>
+ Needed for this room
+ </th>
+ </tr>
+ %angel_types%
+ </table>
+ <input type="hidden" name="RID" value="%room_id%" /><input type="submit" value="Save" />
+</form>
+<form action="%link%&action=delete" method="post">
+ <input type="hidden" name="RID" value="%room_id%" /><input type="submit" value="Delete" />
+</form> \ No newline at end of file
diff --git a/templates/admin_rooms_new_form.html b/templates/admin_rooms_new_form.html
new file mode 100644
index 00000000..f386259c
--- /dev/null
+++ b/templates/admin_rooms_new_form.html
@@ -0,0 +1,46 @@
+Neuen Raum einrichten:
+<br/>
+<form action="%link%&action=newsave" method="post">
+ <table>
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ <input type="text" name="Name" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Man
+ </td>
+ <td>
+ <input type="text" name="Man" />
+ </td>
+ </tr>
+ <tr>
+ <td>
+ From Pentabarf
+ </td>
+ <td>
+ <input type="radio" name="FromPentabarf" value="Y" /> Yes <input type="radio" name="FromPentabarf" value="N" />No
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Show
+ </td>
+ <td>
+ <input type="radio" name="Show" value="Y" /> Yes<input type="radio" name="Show" value="N" /> No
+ </td>
+ </tr>
+ <tr>
+ <td>
+ Number
+ </td>
+ <td>
+ <input type="text" name="Number" value="" />
+ </td>
+ </tr>
+ </table><input type="submit" value="Create" />
+</form> \ No newline at end of file
diff --git a/templates/guest_credits.html b/templates/guest_credits.html
new file mode 100644
index 00000000..a248d431
--- /dev/null
+++ b/templates/guest_credits.html
@@ -0,0 +1,12 @@
+<h2>The angelsystem has been (re)done by:</h2>
+<ul>
+ <li>
+ ?
+ </li>
+ <li>
+ helios
+ </li>
+ <li>
+ msquare
+ </li>
+</ul>
diff --git a/templates/guest_login_form.html b/templates/guest_login_form.html
new file mode 100644
index 00000000..c0cef263
--- /dev/null
+++ b/templates/guest_login_form.html
@@ -0,0 +1,22 @@
+<form action="%link%" method="post">
+ <table>
+ <tr>
+ <td align="right">
+ %nick%
+ </td>
+ <td>
+ <input type="text" name="user" size="23" />
+ </td>
+ </tr>
+ <tr>
+ <td align="right">
+ %pass%
+ </td>
+ <td>
+ <input type="password" name="password" size="23">
+ </td>
+ </tr>
+ </table>
+ <br/>
+ <input type="submit" name="login_submit" value="%send%">
+</form> \ No newline at end of file
diff --git a/templates/layout.html b/templates/layout.html
new file mode 100644
index 00000000..0eb67e5b
--- /dev/null
+++ b/templates/layout.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>%title% - Engelsystem</title>
+ <meta charset="UTF-8" />
+ <meta http-equiv="content-type" content="text/html;charset=utf-8" />
+ <meta name="content-style-type" content="text/css" />
+ <meta name="keywords" content="Engel, Himmelsverwaltung" />
+ <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta http-equiv="expires" content="0" />
+ <meta name="robots" content="index" />
+ <meta name="revisit-after" content="1 days" />
+ <script type="text/javascript" src="css/grossbild.js">
+ </script>
+ <link rel="stylesheet" type="text/css" href="css/base.css" />
+ <link rel="stylesheet" type="text/css" href="css/style%theme%.css" />
+ </head>
+ <body class="background">
+ <header>
+ <a href="?" id="logo"></a>
+ </header>
+ <div id="body">
+ <div id="menu">
+ %menu%
+ </div>
+ <div id="content" class="container">
+ <h1>%title%</h1>
+ <article class="content">
+ %content%
+ </article>
+ </div>
+ </div>
+ <footer>
+ <p>
+ &copy; copyleft | <a href="mailto:erzengel@lists.ccc.de">Contact</a>
+ | <a href="?p=credits">Credits</a>
+ <br/>
+ This is hell. Temporarily.
+ </p>
+ </footer>
+ </body>
+</html>
diff --git a/templates/user_messages.html b/templates/user_messages.html
new file mode 100644
index 00000000..b7bb26fb
--- /dev/null
+++ b/templates/user_messages.html
@@ -0,0 +1,50 @@
+%greeting%
+<form action="%link%&action=send" method="post">
+ <table>
+ <thead>
+ <tr>
+ <th>
+ %new_label%
+ </th>
+ <th>
+ %date_label%
+ </th>
+ <th>
+ %from_label%
+ </th>
+ <th>
+ %to_label%
+ </th>
+ <th>
+ %text_label%
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %messages%
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+ %date%
+ </td>
+ <td>
+ %from%
+ </td>
+ <td>
+ %to_select%
+ </td>
+ <td>
+ <textarea name="text"></textarea>
+ </td>
+ <td>
+ <input type="submit" name="submit" value="%submit_label%" />
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</form> \ No newline at end of file
diff --git a/templates/user_questions.html b/templates/user_questions.html
new file mode 100644
index 00000000..f5fb46ae
--- /dev/null
+++ b/templates/user_questions.html
@@ -0,0 +1,52 @@
+Not yet answered questions:
+<table>
+ <thead>
+ <tr>
+ <th>
+ Question
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %open_questions%
+ </tbody>
+</table>
+<hr/> Answered questions:
+<table>
+ <thead>
+ <tr>
+ <th>
+ Question
+ </th>
+ <th>
+ From
+ </th>
+ <th>
+ Answer
+ </th>
+ <th>
+ &nbsp;
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ %answered_questions%
+ </tbody>
+</table>
+<hr/>Ask an arch angel:
+<form action="%link%&action=ask" method="post">
+ <table>
+ <tr>
+ <td>
+ Question:
+ </td>
+ <td>
+ <textarea name="question"></textarea>
+ </td>
+ </tr>
+ </table>
+ <input type="submit" name="submit" value="Ask" />
+</form> \ No newline at end of file
diff --git a/templates/user_settings.html b/templates/user_settings.html
new file mode 100644
index 00000000..08790d33
--- /dev/null
+++ b/templates/user_settings.html
@@ -0,0 +1,106 @@
+%greeting%
+
+<hr width="100%">
+%text_user_data%
+<form action="%link%&action=setUserData" method="post">
+ <table>
+ <tr>
+ <td>%label_nick%</td>
+ <td><input type="text" name="nick" size="23" value="%nick%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_name%</td>
+ <td><input type="text" name="name" size="23" value="%name%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_prename%</td>
+ <td><input type="text" name="prename" size="23" value="%prename%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_age%</td>
+ <td><input type="text" name="age" size="3" value="%age%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_tel%</td>
+ <td><input type="text" name="tel" size="40" value="%tel%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_mobile%</td>
+ <td><input type="text" name="mobile" size="40" value="%mobile%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_dect%</td>
+ <td><input type="text" name="dect" size="4" value="%dect%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_mail%</td>
+ <td><input type="text" name="mail" size="40" value="%mail%"></td>
+ </tr>
+
+ <tr>
+ <td>ICQ</td>
+ <td><input type="text" name="icq" size="40" value="%icq%"></td>
+ </tr>
+
+ <tr>
+ <td>jabber</td>
+ <td><input type="text" name="jabber" size="40" value="%jabber%"></td>
+ </tr>
+
+ <tr>
+ <td>%label_hometown%</td>
+ <td><input type="text" name="hometown" size="40" value="%hometown%"></td>
+ </tr>
+%tshirts%
+ </table>
+ <input type="submit" value="%label_save%">
+</form>
+
+<hr />
+
+%text_password%
+<form action="%link%&action=set" method="post">
+ <table>
+ <tr><td>%current_pw_label%</td><td><input type="password" name="current_pw" size="20"></td></tr>
+ <tr><td>%new_pw_label%</td><td><input type="password" name="new_pw" size="20"></td></tr>
+ <tr><td>%new_pw2_label%</td><td><input type="password" name="new_pw2" size="20"></td></tr>
+ </table>
+ <input type="submit" value="%label_save%">
+</form>
+
+<hr />
+
+%text_theme%
+<form action="%link%&action=colour" method="post">
+ <table>
+ <tr>
+ <td>%theme_label%</td>
+ <td>
+ %theme_select%
+ </td>
+ </tr>
+ </table>
+ <input type="submit" value="%label_save%">
+</form>
+
+<hr />
+
+%text_language%
+<form action="%link%&action=sprache" method="post">
+ <table>
+ <tr>
+ <td>%language_label%</td>
+ <td>
+ %language_select%
+ </td>
+ </tr>
+ </table>
+ <input type="submit" value="%label_save%">
+</form>
diff --git a/templates/user_settings_tshirt.html b/templates/user_settings_tshirt.html
new file mode 100644
index 00000000..e147acae
--- /dev/null
+++ b/templates/user_settings_tshirt.html
@@ -0,0 +1,4 @@
+ <tr>
+ <td>%label_size%</td>
+ <td>%size_select%</td>
+ </tr> \ No newline at end of file
diff --git a/templates/user_wakeup.html b/templates/user_wakeup.html
new file mode 100644
index 00000000..d02ff5e8
--- /dev/null
+++ b/templates/user_wakeup.html
@@ -0,0 +1,18 @@
+<form action="%wakeup_link%&amp;action=create" method="post">
+<table>
+ <tr>
+ <td align="right"> %date_text%: </td>
+ <td><input type="text" name="Date" value="%date_value%"></td>
+ </tr>
+ <tr>
+ <td align="right"> %place_text% </td>
+ <td><input type="text" name="Ort" value=""></td>
+ </tr>
+ <tr>
+ <td align="right"> %comment_text% </td>
+ <td><textarea name="Bemerkung" rows="5" cols="40">
+%comment_value%</textarea></td>
+ </tr>
+</table>
+<input type="submit" name="submit" value="%submit_text%" />
+</form>
diff --git a/txt/LICENSE b/txt/LICENSE
index b722224c..b722224c 100755..100644
--- a/txt/LICENSE
+++ b/txt/LICENSE
diff --git a/txt/README b/txt/README
index d516369a..4d8ca9bb 100644
--- a/txt/README
+++ b/txt/README
@@ -3,9 +3,9 @@ DIRS:
./DB
Standart DB File
./www
- daten für http verbindung
+ daten fuer http verbindung
./www-ssl
- daten für https verbindung
+ daten fuer https verbindung
Anfordeungen:
-------------
diff --git a/txt/TODO b/txt/TODO
index 21ea5ecc..a3f3e045 100644
--- a/txt/TODO
+++ b/txt/TODO
@@ -1,3 +1,32 @@
+jetzt:
+ * aktiv
+ * gekommen
+ * tshirt
+ * schichtimport
+ * schichtadministration
+ * meine schichten
+ * schichten
+ * Services?
+ * DECT-kram?
+ * weckservice?
+
+später:
+ * Zurück-/Backlinks setzen
+ * Pagination
+ * MD5-Passwörter mit Salt speichern
+ * Passwort-Mindestanforderungen stellen
+ * User-Avatare (code liegt auskommentiert in user_settings.php)
+ * user_messages schön machen (dialogbasiert)
+ * Formulare weg von Tabellen
+ * Privilegien korrigieren (an die vom CVS anpassen)
+ * (Beim Raum-Management die benötigten Engel anzeigen)
+ * Löschen nur mit Rückfrage
+ * FAQ ordentlich mehrsprachig machen
+ * Fertig übersetzen/Sprachwirrwarr beseitigen
+ * Ãœbersetzung
+ * Infotresen-Support (Engel angekommen/Badge gekriegt ohne Adminrechte
+ setzen)
+
* schichten ueber monatsgrenzen einbaue im moment werden die tage nur
hochgezaehlt und die monatzgrenzen werden ignoriert
* verify use of dect_clear.php and jabberserver.php
diff --git a/www-ssl/ShowUserPicture.php b/www-ssl/ShowUserPicture.php
index 0b61d153..5a222c07 100644
--- a/www-ssl/ShowUserPicture.php
+++ b/www-ssl/ShowUserPicture.php
@@ -1,58 +1,56 @@
-<?PHP
+<?php
+// Momentan keine Avatar-Funktionen
+die();
-include ("../includes/config.php");
-include ("../includes/error_handler.php");
-include ("../includes/config_db.php");
-if( !isset($_SESSION)) session_start();
-include ("../includes/secure.php");
+require_once ('bootstrap.php');
+include "config/config.php";
+include "includes/error_handler.php";
+include "config/config_db.php";
+
+if (!isset ($_SESSION))
+ session_start();
+
+include "includes/secure.php";
// Parameter check
-if( !isset($_GET["UID"]) )
- $_GET["UID"]= "-1";
-
-$SQL= "SELECT * FROM `UserPicture` WHERE `UID`='". $_GET["UID"]. "'";
-$res = mysql_query( $SQL, $con);
-
-if( mysql_num_rows($res) == 1)
-{
- //genügend rechte
- if( !isset($_SESSION['UID']) || $_SESSION['UID'] == -1)
- {
- header( "HTTP/1.0 403 Forbidden");
- die( "403 Forbidden");
+if (!isset ($_GET["UID"]))
+ $_GET["UID"] = "-1";
+
+$SQL = "SELECT * FROM `UserPicture` WHERE `UID`='" . $_GET["UID"] . "'";
+$res = mysql_query($SQL, $con);
+
+if (mysql_num_rows($res) == 1) {
+ // genuegend rechte
+ if (!isset ($_SESSION['UID']) || $_SESSION['UID'] == -1) {
+ header("HTTP/1.0 403 Forbidden");
+ die("403 Forbidden");
}
-
+
// ist das bild sichtbar?
- if( (mysql_result($res, 0, "show")=="N") AND
- ($_SESSION['UID']!=$_GET["UID"]) AND
- ($_SESSION['CVS'][ "admin/UserPicture.php" ] == "N"))
- {
- $SQL= "SELECT * FROM `UserPicture` WHERE `UID`='-1'";
- $res = mysql_query( $SQL, $con);
- if( mysql_num_rows($res) != 1)
- {
- header( 'HTTP/1.0 404 Not Found');
- die( "404 Not Found");
+ if ((mysql_result($res, 0, "show") == "N") AND ($_SESSION['UID'] != $_GET["UID"]) AND ($_SESSION['CVS']["admin/UserPicture.php"] == "N")) {
+ $SQL = "SELECT * FROM `UserPicture` WHERE `UID`='-1'";
+ $res = mysql_query($SQL, $con);
+
+ if (mysql_num_rows($res) != 1) {
+ header("HTTP/1.0 404 Not Found");
+ die("404 Not Found");
}
}
- /// bild aus db auslesen
+ // bild aus db auslesen
$bild = mysql_result($res, 0, "Bild");
-
+
// ausgabe bild
- header( "Accept-Ranges: bytes");
- header( "Content-Length: ". strlen($bild));
- header( "Content-type: ". mysql_result($res, 0, "ContentType"));
- header( "Cache-control: public");
- header( "Cache-request-directive: min-fresh = 120");
- header( "Cache-request-directive: max-age = 360");
+ header("Accept-Ranges: bytes");
+ header("Content-Length: " . strlen($bild));
+ header("Content-type: " . mysql_result($res, 0, "ContentType"));
+ header("Cache-control: public");
+ header("Cache-request-directive: min-fresh = 120");
+ header("Cache-request-directive: max-age = 360");
echo $bild;
+} else {
+ header("HTTP/1.0 404 Not Found");
+ die("404 Not Found");
}
-else
-{
- header( 'HTTP/1.0 404 Not Found');
- die( "404 Not Found");
-}
-
?>
diff --git a/www-ssl/admin/EngelType.php b/www-ssl/admin/EngelType.php
deleted file mode 100755
index 29df5ad7..00000000
--- a/www-ssl/admin/EngelType.php
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-$title = "R&auml;ume";
-$header = "Verwaltung der R&auml;ume";
-include ("../../includes/header.php");
-include("../../includes/funktion_db.php");
-
-function runSQL( $SQL)
-{
- global $con;
- // hier muesste das SQL ausgefuehrt werden...
- $Erg = mysql_query($SQL, $con);
- if ($Erg)
- {
- echo "&Auml;nderung wurde gesichert...<br>";
- echo "[$SQL]<br>";
- return 1;
- }
- else
- {
- echo "Fehler beim speichern... bitte noch ein mal probieren :)";
- echo "<br><br>".mysql_error( $con ). "<br>";
- echo "[$SQL]<br>";
- return 0;
- }
-}
-
-function runSQL_log( $SQL, $commed)
-{
- global $con;
- // hier muesste das SQL ausgefuehrt werden...
- $Erg = db_query($SQL, $commed);
- if ($Erg)
- {
- echo "&Auml;nderung wurde gesichert...<br>";
- echo "[$SQL]<br>";
- return 1;
- }
- else
- {
- echo "Fehler beim speichern... bitte noch ein mal probieren :)";
- echo "<br><br>".mysql_error( $con ). "<br>";
- echo "[$SQL]<br>";
- return 0;
- }
-}
-
-
-
-$Sql = "SELECT * FROM `EngelType` ORDER BY `NAME`";
-$Erg = mysql_query($Sql, $con);
-
-if( !IsSet($_GET["action"]) )
-{
- echo "Hallo ".$_SESSION['Nick'].
- ",<br>\nhier hast du die M&ouml;glichkeit, neue Engeltypen f&uuml;r die Schichtpl&auml;ne einzutragen ".
- "oder vorhandene abzu&auml;ndern:<br><br>\n";
-
- echo "<a href=\"./EngelType.php?action=new\">- Neuen EngelType eintragen</a><br>\n";
-
- echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
- echo "<tr class=\"contenttopic\">\n";
-
- for( $i = 1; $i < mysql_num_fields($Erg); $i++ )
- {
- echo "\t<td>". mysql_field_name($Erg, $i). "</td>";
- }
- echo "\t<td>&Auml;ndern</td>";
- echo "</tr>";
-
- for( $t = 0; $t < mysql_num_rows($Erg); $t++ )
- {
- echo "\t<tr class=\"content\">\n";
- for ($j = 1; $j < mysql_num_fields($Erg); $j++)
- {
- echo "\t\t<td>".mysql_result($Erg, $t, $j)."</td>\n";
- }
- echo "\t\t<td><a href=\"./EngelType.php?action=change&TID=".mysql_result($Erg, $t, "TID")."\">###</a></td>\n";
- echo "\t</tr>\n";
- } // ende Auflistung Raeume
- echo "</table>";
-}
-else
-{
-
-switch ($_GET["action"]) {
-
-case 'new':
- echo "Neuen EngelType einrichten: <br>";
- echo "<form action=\"./EngelType.php\" method=\"GET\">\n";
- echo "<table>\n";
-
- for( $Uj = 1; $Uj < mysql_num_fields($Erg); $Uj++ )
- {
- echo "<td>".mysql_field_name($Erg, $Uj)."</td>".
- "<td><input type=\"text\" size=\"40\" name=\"".mysql_field_name($Erg, $Uj)."\"></td></tr>\n";
- }
- echo "</table>\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"newsave\">\n";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>";
- break;
-
-case 'newsave':
- $vars = $_GET;
- $count = count($vars) - 1;
- $vars = array_splice($vars, 0, $count);
- $Keys="";
- $Values="";
- foreach($vars as $key => $value){
- $Keys .= ", `$key`";
- $Values .= ", '$value'";
- }
-
- if( runSQL_log( "INSERT INTO `EngelType` (". substr($Keys, 2). ") VALUES (". substr($Values, 2). ")",
- "save new EngelType") )
- {
- SetHeaderGo2Back();
-
- $SQL2 = "SELECT * FROM `EngelType` WHERE `Name`='". $_GET["Name"]. "'";
- $ERG = mysql_query($SQL2, $con);
-
- if( mysql_num_rows($ERG) == 1)
- runSQL_log( "ALTER TABLE `Room` ADD `DEFAULT_EID_". mysql_result( $ERG, 0, 0).
- "` INT DEFAULT '0' NOT NULL;",
- "add new EngelType in Romm Table");
- }
- break;
-
-case 'change':
- if (! IsSet($_GET["TID"]))
- echo "Fehlerhafter Aufruf!";
- else
- {
- echo "Raum ab&auml;ndern:\n";
- echo "Hier kannst du eintragen, den EngelType &auml;ndern.";
- echo "<form action=\"./EngelType.php\" method=\"GET\">\n";
- echo "<table>\n";
-
- $SQL2 = "SELECT * FROM `EngelType` WHERE `TID`='". $_GET["TID"]. "'";
- $ERG = mysql_query($SQL2, $con);
-
- for ($Uj = 1; $Uj < mysql_num_fields($ERG); $Uj++)
- echo "<tr><td>". mysql_field_name($ERG, $Uj). "</td>".
- "<td><input type=\"text\" size=\"40\" name=\"e". mysql_field_name($ERG, $Uj). "\" ".
- "value=\"". mysql_result($ERG, 0, $Uj). "\"></td></tr>\n";
-
- echo "</table>\n";
- echo "<input type=\"hidden\" name=\"eTID\" value=\"". $_GET["TID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"changesave\">\n";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>";
- echo "<form action=\"./EngelType.php\" method=\"GET\">\n";
- echo "<input type=\"hidden\" name=\"TID\" value=\"". $_GET["TID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"delete\">\n";
- echo "<input type=\"submit\" value=\"L&ouml;schen...\">";
- echo "</form>";
- }
- break;
-
-case 'changesave':
- $vars = $_GET;
- $count = count($vars) - 2;
- $vars = array_splice($vars, 0, $count);
- $keys="";
- $sql="";
- foreach($vars as $key => $value)
- {
- $keys = substr( $key, 1);
- $sql .= ", `". $keys. "`='". $value. "'";
- }
- runSQL_log( "UPDATE `EngelType` SET ". substr($sql, 2). " WHERE `TID`='". $_GET["eTID"]. "'",
- "Save Change EngelType");
- SetHeaderGo2Back();
- break;
-
-case 'delete':
- if (IsSet($_GET["TID"]))
- {
- if( runSQL_log( "DELETE FROM `EngelType` WHERE `TID`='". $_GET["TID"]. "'", "delete EngelType"))
- runSQL_log( "ALTER TABLE `Room` DROP `DEFAULT_EID_". $_GET["TID"]. "`;",
- "delete EngelType in Room Table");
- }
- else
- echo "Fehlerhafter Aufruf";
- SetHeaderGo2Back();
- break;
-}
-}
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/admin/Recentchanges.php b/www-ssl/admin/Recentchanges.php
deleted file mode 100755
index ec167e17..00000000
--- a/www-ssl/admin/Recentchanges.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?PHP
-
-$title = "ChangeLog";
-$header = "Datenbank-Auszug";
-include ("../../includes/header.php");
-
-$SQL = "SELECT * FROM `ChangeLog` ORDER BY `Time` DESC LIMIT 0,10000";
-$Erg = mysql_query($SQL, $con);
-
-echo mysql_error($con);
-
-echo "<table border=1>\n";
-echo "<tr>\n\t<th>Time</th>\n\t<th>User</th>\n\t<th>Commend</th>\n\t<th>SQL Commad</th>\n</tr>\n";
-
-for ($n = 0 ; $n < mysql_num_rows($Erg) ; $n++)
-{
- echo "<tr>\n";
- echo "\t<td>". mysql_result( $Erg, $n, "Time"). "</td>\n";
- echo "\t<td>". UID2Nick(mysql_result( $Erg, $n, "UID")). displayavatar(mysql_result( $Erg, $n, "UID")). "</td>\n";
- echo "\t<td>". mysql_result( $Erg, $n, "Commend"). "</td>\n";
- echo "\t<td>". mysql_result( $Erg, $n, "SQLCommad"). "</td>\n";
- echo "</tr>\n";
-}
-
-echo "</table>\n";
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/UserPicture.php b/www-ssl/admin/UserPicture.php
index 5a1a60bf..25f8b54b 100755..100644
--- a/www-ssl/admin/UserPicture.php
+++ b/www-ssl/admin/UserPicture.php
@@ -1,120 +1,105 @@
<?php
+require_once ('../bootstrap.php');
+
$title = "UserPicture";
$header = "Verwaltung der User Picture";
-include ("../../includes/header.php");
-include ("../../includes/funktion_schichtplan_array.php");
+include ("includes/header.php");
+include ("includes/funktion_schichtplan_aray.php");
-if( IsSet($_GET["action"]) )
-{
- UnSet($SQL);
+if (IsSet ($_GET["action"])) {
+ UnSet ($SQL);
- switch ($_GET["action"])
- {
- case 'FormUpload':
+ switch ($_GET["action"]) {
+ case 'FormUpload' :
echo "Hier kannst Du ein Foto hochladen f&ouml;r:";
echo "<form action=\"./UserPicture.php?action=sendPicture\" method=\"post\" enctype=\"multipart/form-data\">\n";
echo "\t<select name=\"UID\">\n";
- $usql="SELECT * FROM `User` ORDER BY `Nick`";
+ $usql = "SELECT * FROM `User` ORDER BY `Nick`";
$uErg = mysql_query($usql, $con);
- for ($k=0; $k<mysql_num_rows($uErg); $k++)
- echo "\t\t<option value=\"".mysql_result($uErg, $k, "UID")."\">". mysql_result($uErg, $k, "Nick"). "</option>\n";
+ for ($k = 0; $k < mysql_num_rows($uErg); $k++)
+ echo "\t\t<option value=\"" . mysql_result($uErg, $k, "UID") . "\">" . mysql_result($uErg, $k, "Nick") . "</option>\n";
echo "\t</select>\n";
echo "\t<input type=\"hidden\" name=\"action\" value=\"sendPicture\">\n";
- echo "\t<input name=\"file\" type=\"file\" size=\"50\" maxlength=\"". get_cfg_var("post_max_size"). "\">\n";
- echo "\t(max ". get_cfg_var("post_max_size"). "Byte)<br>\n";
- echo "\t<input type=\"submit\" value=\"". Get_Text("upload"),"\">\n";
+ echo "\t<input name=\"file\" type=\"file\" size=\"50\" maxlength=\"" . get_cfg_var("post_max_size") . "\">\n";
+ echo "\t(max " . get_cfg_var("post_max_size") . "Byte)<br />\n";
+ echo "\t<input type=\"submit\" value=\"" . Get_Text("upload"), "\">\n";
echo "</form>\n";
break;
- case 'sendPicture':
- if( ($_FILES["file"]["size"] > 0) && (isset( $_POST["UID"])) )
- {
- if( ($_FILES["file"]["type"] == "image/jpeg") ||
- ($_FILES["file"]["type"] == "image/png") ||
- ($_FILES["file"]["type"] == "image/gif") )
- {
- $data = addslashes(fread(fopen($_FILES["file"]["tmp_name"], "r"), filesize($_FILES["file"]["tmp_name"])));
-
- if( GetPicturShow( $_POST['UID']) == "")
- $SQL = "INSERT INTO `UserPicture` ".
- "( `UID`,`Bild`, `ContentType`, `show`) ".
- "VALUES ('". $_POST['UID']. "', '$data', '". $_FILES["file"]["type"]. "', 'N')";
- else
- $SQL = "UPDATE `UserPicture` SET ".
- "`Bild`='$data', ".
- "`ContentType`='". $_FILES["file"]["type"]. "' ".
- "WHERE `UID`='". $_POST['UID']. "'";
-
- echo "Upload Pictur:'" . $_FILES["file"]["name"] . "', ".
- "MIME-Type: " . $_FILES["file"]["type"]. ", ".
- $_FILES["file"]["size"]. " Byte ".
- "for ". UID2Nick( $_POST["UID"]);
- }
- else
- Print_Text("pub_einstellungen_send_KO");
- }
- else
- Print_Text("pub_einstellungen_send_KO");
- break;
-
- case 'SetN':
- if (IsSet($_GET["UID"]))
- {
- echo "Bild von '". UID2Nick( $_GET["UID"]). "' wurde gesperrt:<br>";
- $SQL = "UPDATE `UserPicture` SET `show`='N' WHERE `UID`='". $_GET["UID"]. "'";
- }
- else
+ case 'sendPicture' :
+ if (($_FILES["file"]["size"] > 0) && (isset ($_POST["UID"]))) {
+ if (($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "image/gif")) {
+ $data = addslashes(fread(fopen($_FILES["file"]["tmp_name"], "r"), filesize($_FILES["file"]["tmp_name"])));
+
+ if (GetPicturShow($_POST['UID']) == "")
+ $SQL = "INSERT INTO `UserPicture` " .
+ "( `UID`,`Bild`, `ContentType`, `show`) " .
+ "VALUES ('" . $_POST['UID'] . "', '$data', '" . $_FILES["file"]["type"] . "', 'N')";
+ else
+ $SQL = "UPDATE `UserPicture` SET " .
+ "`Bild`='$data', " .
+ "`ContentType`='" . $_FILES["file"]["type"] . "' " .
+ "WHERE `UID`='" . $_POST['UID'] . "'";
+
+ echo "Upload Pictur:'" . $_FILES["file"]["name"] . "', " .
+ "MIME-Type: " . $_FILES["file"]["type"] . ", " .
+ $_FILES["file"]["size"] . " Byte " .
+ "for " . UID2Nick($_POST["UID"]);
+ } else
+ Print_Text("pub_einstellungen_send_KO");
+ } else
+ Print_Text("pub_einstellungen_send_KO");
+ break;
+
+ case 'SetN' :
+ if (IsSet ($_GET["UID"])) {
+ echo "Bild von '" . UID2Nick($_GET["UID"]) . "' wurde gesperrt:<br />";
+ $SQL = "UPDATE `UserPicture` SET `show`='N' WHERE `UID`='" . $_GET["UID"] . "'";
+ } else
echo "Fehlerhafter Aufruf";
break;
- case 'SetY':
- if (IsSet($_GET["UID"]))
- {
- echo "Bild von '". UID2Nick( $_GET["UID"]). "' wurde Freigegeben:<br>";
- $SQL = "UPDATE `UserPicture` SET `show`='Y' WHERE `UID`='". $_GET["UID"]. "'";
- }
- else
+ case 'SetY' :
+ if (IsSet ($_GET["UID"])) {
+ echo "Bild von '" . UID2Nick($_GET["UID"]) . "' wurde Freigegeben:<br />";
+ $SQL = "UPDATE `UserPicture` SET `show`='Y' WHERE `UID`='" . $_GET["UID"] . "'";
+ } else
echo "Fehlerhafter Aufruf";
break;
- case 'del':
- echo "Wollen Sie das Bild von '". UID2Nick( $_GET["UID"]). "' wirklich l&ouml;schen? ".
- "<a href=\"./UserPicture.php?action=delYes&UID=". $_GET["UID"]. "\">Yes</a>";
+ case 'del' :
+ echo "Wollen Sie das Bild von '" . UID2Nick($_GET["UID"]) . "' wirklich l&ouml;schen? " .
+ "<a href=\"./UserPicture.php?action=delYes&UID=" . $_GET["UID"] . "\">Yes</a>";
break;
- case 'delYes':
- if (IsSet($_GET["UID"]))
- {
- echo "Bild von '". UID2Nick( $_GET["UID"]). "' wurde gel&ouml;scht:<br>";
- $SQL = "DELETE FROM `UserPicture` WHERE `UID`='". $_GET["UID"]. "' LIMIT 1";
- }
- else
+ case 'delYes' :
+ if (IsSet ($_GET["UID"])) {
+ echo "Bild von '" . UID2Nick($_GET["UID"]) . "' wurde gel&ouml;scht:<br />";
+ $SQL = "DELETE FROM `UserPicture` WHERE `UID`='" . $_GET["UID"] . "' LIMIT 1";
+ } else
echo "Fehlerhafter Aufruf";
break;
- default:
+ default :
echo "Fehlerhafter Aufruf";
-
+
} //switch
// Update ???
- if (IsSet($SQL))
- {
+ if (IsSet ($SQL)) {
// hier muesste das SQL ausgefuehrt werden...
$Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- echo "&Auml;nderung wurde gesichert...<br>";
- else
- {
- echo "Fehler beim speichern... bitte noch ein mal probieren :)";
- echo "<br><br>".mysql_error( $con ). "<br>($SQL)<br>";
+ if ($Erg == 1)
+ echo "&Auml;nderung wurde gesichert...<br />";
+ else {
+ echo "Fehler beim speichern... bitte noch ein mal probieren :)";
+ echo "<br /><br />" . mysql_error($con) . "<br />($SQL)<br />";
}
- } // Ende Update
- echo "<br>\n<hr width=\"100%\">\n<br>\n\n";
+ } // Ende Update
+ echo "<br />\n<hr width=\"100%\">\n<br />\n\n";
} //IF IsSet($action)
-
//ausgabe der Liste
$Sql = "SELECT * FROM `UserPicture` WHERE `UID`>0;";
$Erg = mysql_query($Sql, $con);
-
-echo "Hallo ". $_SESSION['Nick']. ",<br>\nhier hast du die M&ouml;glichkeit, die Bilder der Engel freizugeben:<br><br>\n";
+
+echo "Hallo " . $_SESSION['Nick'] . ",<br />\nhier hast du die M&ouml;glichkeit, die Bilder der Engel freizugeben:<br /><br />\n";
echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
echo "<tr class=\"contenttopic\">\n";
@@ -124,26 +109,24 @@ echo "\t<td>Status</td>\n";
echo "\t<td>L&ouml;schen</td>\n";
echo "</tr>";
-for( $t = 0; $t < mysql_num_rows($Erg); $t++ )
-{
+for ($t = 0; $t < mysql_num_rows($Erg); $t++) {
$UIDs = mysql_result($Erg, $t, "UID");
echo "\t<tr class=\"content\">\n";
-
- echo "\t\t<td>". UID2Nick(mysql_result($Erg, $t, "UID")). "</td>\n";
- echo "\t\t<td>". displayPictur( $UIDs, 0). "</td>\n";
-
- if( GetPicturShow( $UIDs) == "Y")
+
+ echo "\t\t<td>" . UID2Nick(mysql_result($Erg, $t, "UID")) . "</td>\n";
+ echo "\t\t<td>" . displayPictur($UIDs, 0) . "</td>\n";
+
+ if (GetPicturShow($UIDs) == "Y")
echo "\t\t<td><a href=\"./UserPicture.php?action=SetN&UID=$UIDs\">sperren</a></td>\n";
- elseif( GetPicturShow( $UIDs) == "N")
- echo "\t\t<td><a href=\"./UserPicture.php?action=SetY&UID=$UIDs\">freigeben</a></td>\n";
+ elseif (GetPicturShow($UIDs) == "N") echo "\t\t<td><a href=\"./UserPicture.php?action=SetY&UID=$UIDs\">freigeben</a></td>\n";
else
- echo "\t\t<td>ERROR: show='". GetPicturShow( $UIDs). "'</td>\n";
+ echo "\t\t<td>ERROR: show='" . GetPicturShow($UIDs) . "'</td>\n";
echo "\t\t<td><a href=\"./UserPicture.php?action=del&UID=$UIDs\">del</a></td>\n";
echo "\t</tr>\n";
} // ende Auflistung Raeume
echo "</table>";
-echo "<br><a href=\"./UserPicture.php?action=FormUpload\">picture upload</a>\n";
+echo "<br /><a href=\"./UserPicture.php?action=FormUpload\">picture upload</a>\n";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/aktiv.php b/www-ssl/admin/aktiv.php
index 2ad92b3d..8db62f98 100755..100644
--- a/www-ssl/admin/aktiv.php
+++ b/www-ssl/admin/aktiv.php
@@ -1,31 +1,31 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
$title = "akive Engel";
$header = "Liste der aktiven Engel";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
+include ("includes/header.php");
+include ("includes/funktion_db_list.php");
echo "<form action=\"./aktiv.php\" method=\"post\">";
-echo Get_Text("pub_aktive_Text1")."<br>\n";
-echo Get_Text("pub_aktive_Text2")."<br><br>\n";
-
+echo Get_Text("pub_aktive_Text1") . "<br />\n";
+echo Get_Text("pub_aktive_Text2") . "<br /><br />\n";
+
// auswahlbox
-echo Get_Text("pub_aktive_Text31")."\n";
+echo Get_Text("pub_aktive_Text31") . "\n";
echo "<select name=\"Anzahl\">\n";
-for( $i=0; $i<50; $i++)
+for ($i = 0; $i < 50; $i++)
echo "\t<option value=\"$i\">$i</option>\n";
echo "</select>";
-echo Get_Text("pub_aktive_Text32")."<br><br>\n";
+echo Get_Text("pub_aktive_Text32") . "<br /><br />\n";
echo "<input type=\"submit\" name=\"SendType\" value=\"Show..\">\n";
echo "<input type=\"submit\" name=\"SendType\" value=\"Write..\">\n";
echo "</form>\n";
echo "<form action=\"./aktiv.php\" method=\"post\">\n";
- echo "\t<br><input type=\"submit\" name=\"ResetActive\" value=\"reset Active setting\">\n";
+echo "\t<br /><input type=\"submit\" name=\"ResetActive\" value=\"reset Active setting\">\n";
echo "</form>\n";
-if( Isset($_POST["ResetActive"]) )
-{
+if (Isset ($_POST["ResetActive"])) {
$SQLreset = "UPDATE `User` SET `Aktiv`='0'";
$ErgReset = db_query($SQLreset, "Reset Active");
if ($ErgReset != 1)
@@ -34,64 +34,59 @@ if( Isset($_POST["ResetActive"]) )
echo "Active wurde erfolgreich zurueckgesetzt\n";
}
-if( IsSet($_POST["Anzahl"]) )
- echo "<br>\n\n".Get_Text("pub_aktive_Text5_1"). $_POST["Anzahl"]. Get_Text("pub_aktive_Text5_2"). ":";
+if (IsSet ($_POST["Anzahl"]))
+ echo "<br />\n\n" . Get_Text("pub_aktive_Text5_1") . $_POST["Anzahl"] . Get_Text("pub_aktive_Text5_2") . ":";
-echo "<br><br>\n\n";
+echo "<br /><br />\n\n";
//ausgabe tabelle
echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
echo "<tr class=\"contenttopic\">\n";
-echo "\t<td>". Get_Text("pub_aktive_Nick"). "</td>\n";
-echo "\t<td>". Get_Text("pub_aktive_Anzahl"). "</td>\n";
-echo "\t<td>". Get_Text("pub_aktive_Time"). "</td>\n";
-echo "\t<td>". Get_Text("pub_aktive_Time"). " Weight</td>\n";
-echo "\t<td>Freeloader ". Get_Text("pub_aktive_Anzahl"). "</td>\n";
-echo "\t<td>Freeloader ". Get_Text("pub_aktive_Time"). "</td>\n";
-echo "\t<td>". Get_Text("pub_aktive_Time"). " result</td>\n";
-echo "\t<td>". Get_Text("pub_aktive_Active"). "</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Nick") . "</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Anzahl") . "</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Time") . "</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Time") . " Weight</td>\n";
+echo "\t<td>Freeloader " . Get_Text("pub_aktive_Anzahl") . "</td>\n";
+echo "\t<td>Freeloader " . Get_Text("pub_aktive_Time") . "</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Time") . " result</td>\n";
+echo "\t<td>" . Get_Text("pub_aktive_Active") . "</td>\n";
echo "</tr>\n";
-
+
$SQL = "
SELECT d.UID, d.nr, d.len, d.lenWeight, f.nr AS nrFree, f.len AS lenFree, d.lenWeight - COALESCE(f.len, 0) as lenReal
- FROM
- (SELECT e.UID, COUNT(s.Len) as nr, SUM(s.Len) as len, SUM( s.Len*(1+(((HOUR(s.DateS)+2)%24)<10 and ((HOUR(s.DateE)+2)%24)<=10)) ) as lenWeight FROM `Shifts` AS s INNER JOIN `ShiftEntry` AS e USING(SID) WHERE NOT UID=0 GROUP BY UID) as d
- LEFT JOIN
- (SELECT UID, COUNT(Length) AS nr, SUM(Length) AS len FROM `ShiftFreeloader` GROUP BY UID) AS f
- USING(UID)
- ORDER BY lenReal DESC, nr DESC, UID";
+ FROM
+ (SELECT e.UID, COUNT(s.Len) as nr, SUM(s.Len) as len, SUM( s.Len*(1+(((HOUR(s.DateS)+2)%24)<10 and ((HOUR(s.DateE)+2)%24)<=10)) ) as lenWeight FROM `Shifts` AS s INNER JOIN `ShiftEntry` AS e USING(SID) WHERE NOT UID=0 GROUP BY UID) as d
+ LEFT JOIN
+ (SELECT UID, COUNT(Length) AS nr, SUM(Length) AS len FROM `ShiftFreeloader` GROUP BY UID) AS f
+ USING(UID)
+ ORDER BY lenReal DESC, nr DESC, UID";
$Erg = mysql_query($SQL, $con);
echo mysql_error($con);
$rowcount = mysql_num_rows($Erg);
-$aktivecount=0;
-for ($i=0; $i<$rowcount; $i++)
-{
+$aktivecount = 0;
+for ($i = 0; $i < $rowcount; $i++) {
echo "\n\n\t<tr class=\"content\">\n";
- echo "\t\t<td>". UID2Nick(mysql_result($Erg, $i, "UID")). "</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "nr"). "x</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "len"). "h</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "lenWeight"). "h</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "nrFree"). "x</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "lenFree"). "h</td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "lenReal"). "h</td>\n";
-
-
+ echo "\t\t<td>" . UID2Nick(mysql_result($Erg, $i, "UID")) . "</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "nr") . "x</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "len") . "h</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "lenWeight") . "h</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "nrFree") . "x</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "lenFree") . "h</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "lenReal") . "h</td>\n";
+
echo "\t\t<td>";
- if (IsSet($_POST["Anzahl"]))
- {
- if( $_POST["Anzahl"] < mysql_result($Erg, $i, "lenReal") )
- {
+ if (IsSet ($_POST["Anzahl"])) {
+ if ($_POST["Anzahl"] < mysql_result($Erg, $i, "lenReal")) {
$aktivecount++;
- if( $_POST["SendType"]=="Show..")
+ if ($_POST["SendType"] == "Show..")
echo "show set";
- else
- {
- $SQL2="UPDATE `User` SET `Aktiv`='1' WHERE `UID`='". mysql_result($Erg, $i, "UID"). "' LIMIT 1";
+ else {
+ $SQL2 = "UPDATE `User` SET `Aktiv`='1' WHERE `UID`='" . mysql_result($Erg, $i, "UID") . "' LIMIT 1";
$Erg2 = db_query($SQL2, "update Active State");
if ($Erg2 != 1)
- echo "Fehler beim speichern bei Engel ".UID2Nick(mysql_result($Erg, $i, "UID"));
+ echo "Fehler beim speichern bei Engel " . UID2Nick(mysql_result($Erg, $i, "UID"));
else
echo "write set";
}
@@ -103,8 +98,8 @@ for ($i=0; $i<$rowcount; $i++)
echo "</table>";
-echo "<br>Anzahl eintraege: $aktivecount / $rowcount (Aktive/Mitschichten)<br><br>";
+echo "<br />Anzahl eintraege: $aktivecount / $rowcount (Aktive/Mitschichten)<br /><br />";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/dbUpdateFromXLS.php b/www-ssl/admin/dbUpdateFromXLS.php
index 3f66a310..88879de7 100755..100644
--- a/www-ssl/admin/dbUpdateFromXLS.php
+++ b/www-ssl/admin/dbUpdateFromXLS.php
@@ -1,8 +1,10 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
+
$title = "DB Update from XML";
$header = "DB Update from XML";
-include ("../../includes/header.php");
-include ("../../includes/funktion_xml.php");
+include ("includes/header.php");
+include ("includes/funktion_xml.php");
///////////
// DEBUG //
@@ -14,280 +16,237 @@ $EnableSchudleFunctions = 1;
$EnableSchudle = 1;
$EnableSchudleDB = 1;
-
/*##############################################################################################
- erstellt Arrays der Reume
+ erstellt Arrays der Reume
##############################################################################################*/
-function CreateRoomArrays()
-{
+function CreateRoomArrays() {
global $Room, $RoomID, $RoomName, $con;
- $sql = "SELECT `RID`, `Name` FROM `Room` ".
- "WHERE `Show`='Y'".
- "ORDER BY `Number`, `Name`;";
+ $sql = "SELECT `RID`, `Name` FROM `Room` " .
+ "WHERE `Show`='Y'" .
+ "ORDER BY `Number`, `Name`;";
$Erg = mysql_query($sql, $con);
$rowcount = mysql_num_rows($Erg);
- for ($i=0; $i<$rowcount; $i++)
- {
- $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ for ($i = 0; $i < $rowcount; $i++) {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
$Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
- $RoomID[ mysql_result($Erg, $i, "RID") ] = mysql_result($Erg, $i, "Name");
- $RoomName[ mysql_result($Erg, $i, "Name") ] = mysql_result($Erg, $i, "RID");
+ $RoomID[mysql_result($Erg, $i, "RID")] = mysql_result($Erg, $i, "Name");
+ $RoomName[mysql_result($Erg, $i, "Name")] = mysql_result($Erg, $i, "RID");
}
}
CreateRoomArrays();
/*##############################################################################################
- F I L E
+ F I L E
##############################################################################################*/
-echo "\n\n<br>\n<h1>XML File:</h1>\n";
-if( isset($_POST["PentabarfUser"]) && isset($_POST["password"]) && isset($_POST["PentabarfURL"]))
-{
+echo "\n\n<br />\n<h1>XML File:</h1>\n";
+if (isset ($_POST["PentabarfUser"]) && isset ($_POST["password"]) && isset ($_POST["PentabarfURL"])) {
echo "Update XCAL-File from Pentabarf..";
- if($PentabarfGetWith=="fsockopen")
- {
-
- //backup error messeges and delate
- $Backuperror_messages = $error_messages;
- $fp = fsockopen( "ssl://$PentabarfXMLhost", 443, $errno, $errstr, 30);
-// $error_messages = $Backuperror_messages;
-
- if( !$fp)
- {
- echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. "' not readable!".
- "[$errstr ($errno)]</h2>";
- }
- else
- {
- if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
- {
- $head = 'GET /'. $PentabarfXMLpath. $_POST["PentabarfURL"]. ' HTTP/1.1'."\r\n".
- 'Host: '. $PentabarfXMLhost. "\r\n".
- 'User-Agent: Engelsystem'. "\r\n".
- 'Authorization: Basic '.
- base64_encode($_POST["PentabarfUser"]. ':'. $_POST["password"])."\r\n".
+ if ($PentabarfGetWith == "fsockopen") {
+
+ //backup error messeges and delate
+ $Backuperror_messages = $error_messages;
+ $fp = fsockopen("ssl://$PentabarfXMLhost", 443, $errno, $errstr, 30);
+ // $error_messages = $Backuperror_messages;
+
+ if (!$fp) {
+ echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!" .
+ "[$errstr ($errno)]</h2>";
+ } else {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
+ $head = 'GET /' . $PentabarfXMLpath . $_POST["PentabarfURL"] . ' HTTP/1.1' . "\r\n" .
+ 'Host: ' . $PentabarfXMLhost . "\r\n" .
+ 'User-Agent: Engelsystem' . "\r\n" .
+ 'Authorization: Basic ' .
+ base64_encode($_POST["PentabarfUser"] . ':' . $_POST["password"]) . "\r\n" .
"\r\n";
- fputs( $fp, $head);
- $Zeilen = -1;
- while (!feof($fp))
- {
- $Temp= fgets($fp,1024);
-
- // ende des headers
- if( $Temp== "f20\r\n" )
- {
- $Zeilen = 0;
- $Temp="";
- }
-
- //file ende?
- if( $Temp=="0\r\n")
- break;
-
- if( ($Zeilen>-1) && ($Temp!="ffb\r\n") )
- {
- //steuerzeichen ausfiltern
- if( strpos( "#$Temp", "\r\n") > 0)
- $Temp = substr($Temp, 0, strlen($Temp)-2);
- if( strpos( "#$Temp", "1005") > 0)
+ fputs($fp, $head);
+ $Zeilen = -1;
+ while (!feof($fp)) {
+ $Temp = fgets($fp, 1024);
+
+ // ende des headers
+ if ($Temp == "f20\r\n") {
+ $Zeilen = 0;
$Temp = "";
- if( strpos( "#$Temp", "783") > 0)
- $Temp = "";
- //schreiben in file
- fputs( $fileOut, $Temp);
- $Zeilen++;
+ }
+
+ //file ende?
+ if ($Temp == "0\r\n")
+ break;
+
+ if (($Zeilen > -1) && ($Temp != "ffb\r\n")) {
+ //steuerzeichen ausfiltern
+ if (strpos("#$Temp", "\r\n") > 0)
+ $Temp = substr($Temp, 0, strlen($Temp) - 2);
+ if (strpos("#$Temp", "1005") > 0)
+ $Temp = "";
+ if (strpos("#$Temp", "783") > 0)
+ $Temp = "";
+ //schreiben in file
+ fputs($fileOut, $Temp);
+ $Zeilen++;
+ }
}
- }
- fclose( $fileOut);
-
- echo "<br>Es wurden $Zeilen Zeilen eingelesen<br>";
+ fclose($fileOut);
+
+ echo "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
+ echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
+ fclose($fp);
}
- else
- echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
- fclose($fp);
}
- }
- elseif($PentabarfGetWith=="fopen")
- {
+ elseif ($PentabarfGetWith == "fopen") {
//user uns password in url einbauen
- $FileNameIn = "https://". $_POST["PentabarfUser"]. ':'. $_POST["password"]. "@".
- $PentabarfXMLhost. "/". $PentabarfXMLpath. $_POST["PentabarfURL"];
-
+ $FileNameIn = "https://" . $_POST["PentabarfUser"] . ':' . $_POST["password"] . "@" .
+ $PentabarfXMLhost . "/" . $PentabarfXMLpath . $_POST["PentabarfURL"];
- if( ($fileIn = fopen( $FileNameIn, "r")) != FALSE)
- {
- if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
- {
+ if (($fileIn = fopen($FileNameIn, "r")) != FALSE) {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
$Zeilen = 0;
- while (!feof($fileIn))
- {
+ while (!feof($fileIn)) {
$Zeilen++;
- fputs( $fileOut, fgets( $fileIn));
+ fputs($fileOut, fgets($fileIn));
}
- fclose( $fileOut);
- echo "<br>Es wurden $Zeilen Zeilen eingelesen<br>";
- }
- else
+ fclose($fileOut);
+ echo "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
- fclose( $fileIn);
- }
- else
- echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. "' not readable!</h2>";
+ fclose($fileIn);
+ } else
+ echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!</h2>";
}
- elseif( $PentabarfGetWith=="wget")
- {
- $Command = "wget --http-user=". $_POST["PentabarfUser"]. " --http-passwd=".$_POST["password"]. " ".
- "https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"].
- " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML".
- " --no-check-certificate";
- echo system( $Command, $Status);
- if( $Status==0)
- echo "OK.<br>";
+ elseif ($PentabarfGetWith == "wget") {
+ $Command = "wget --http-user=" . $_POST["PentabarfUser"] . " --http-passwd=" . $_POST["password"] . " " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] .
+ " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML" .
+ " --no-check-certificate";
+ echo system($Command, $Status);
+ if ($Status == 0)
+ echo "OK.<br />";
else
- echo "fail ($Status)($Command).<br>";
+ echo "fail ($Status)($Command).<br />";
}
- elseif( $PentabarfGetWith=="lynx")
- {
- $Command = "lynx -auth=". $_POST["PentabarfUser"]. ":".$_POST["password"]. " -dump ".
- "https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. " > $Tempdir/engelXML";
- echo system( $Command, $Status);
- if( $Status==0)
- echo "OK.<br>";
+ elseif ($PentabarfGetWith == "lynx") {
+ $Command = "lynx -auth=" . $_POST["PentabarfUser"] . ":" . $_POST["password"] . " -dump " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . " > $Tempdir/engelXML";
+ echo system($Command, $Status);
+ if ($Status == 0)
+ echo "OK.<br />";
else
- echo "fail ($Status)($Command).<br>";
+ echo "fail ($Status)($Command).<br />";
}
- elseif($PentabarfGetWith=="fopen")
- {
+ elseif ($PentabarfGetWith == "fopen") {
//user uns password in url einbauen
- $FileNameIn = "https://". $_POST["PentabarfUser"]. ':'. $_POST["password"]. "@".
- $PentabarfXMLhost. "/". $PentabarfXMLpath. $_POST["PentabarfURL"];
-
+ $FileNameIn = "https://" . $_POST["PentabarfUser"] . ':' . $_POST["password"] . "@" .
+ $PentabarfXMLhost . "/" . $PentabarfXMLpath . $_POST["PentabarfURL"];
- if( ($fileIn = fopen( $FileNameIn, "r")) != FALSE)
- {
- if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
- {
+ if (($fileIn = fopen($FileNameIn, "r")) != FALSE) {
+ if (($fileOut = fopen("$Tempdir/engelXML", "w")) != FALSE) {
$Zeilen = 0;
- while (!feof($fileIn))
- {
+ while (!feof($fileIn)) {
$Zeilen++;
- fputs( $fileOut, fgets( $fileIn));
+ fputs($fileOut, fgets($fileIn));
}
- fclose( $fileOut);
- echo "<br>Es wurden $Zeilen Zeilen eingelesen<br>";
- }
- else
+ fclose($fileOut);
+ echo "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
+ } else
echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
- fclose( $fileIn);
- }
- else
- echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. "' not readable!</h2>";
+ fclose($fileIn);
+ } else
+ echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . "' not readable!</h2>";
}
- elseif( $PentabarfGetWith=="wget")
- {
- $Command = "wget --http-user=". $_POST["PentabarfUser"]. " --http-passwd=".$_POST["password"]. " ".
- "https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"].
- " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML".
- " --no-check-certificate";
- echo system( $Command, $Status);
- if( $Status==0)
- echo "OK.<br>";
+ elseif ($PentabarfGetWith == "wget") {
+ $Command = "wget --http-user=" . $_POST["PentabarfUser"] . " --http-passwd=" . $_POST["password"] . " " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] .
+ " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML" .
+ " --no-check-certificate";
+ echo system($Command, $Status);
+ if ($Status == 0)
+ echo "OK.<br />";
else
- echo "fail ($Status)($Command).<br>";
+ echo "fail ($Status)($Command).<br />";
}
- elseif( $PentabarfGetWith=="lynx")
- {
- $Command = "lynx -auth=". $_POST["PentabarfUser"]. ":".$_POST["password"]. " -dump ".
- "https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. " > $Tempdir/engelXML";
- echo system( $Command, $Status);
- if( $Status==0)
- echo "OK.<br>";
+ elseif ($PentabarfGetWith == "lynx") {
+ $Command = "lynx -auth=" . $_POST["PentabarfUser"] . ":" . $_POST["password"] . " -dump " .
+ "https://$PentabarfXMLhost/$PentabarfXMLpath" . $_POST["PentabarfURL"] . " > $Tempdir/engelXML";
+ echo system($Command, $Status);
+ if ($Status == 0)
+ echo "OK.<br />";
else
- echo "fail ($Status)($Command).<br>";
- }
- else
+ echo "fail ($Status)($Command).<br />";
+ } else
echo "<h1>The PentabarfGetWith='$PentabarfGetWith' not supported</h1>";
-}
-else
-{
+} else {
echo "<form action=\"dbUpdateFromXLS.php\" method=\"post\">\n";
echo "<table border=\"0\">\n";
- echo "\t<tr><td>XCAL-File: https://$PentabarfXMLhost/$PentabarfXMLpath</td>".
- "<td><input name=\"PentabarfURL\" type=\"text\" size=\"4\" maxlength=\"5\" ".
- "value=\"$PentabarfXMLEventID\"></td></tr>\n";
- echo "\t<tr><td>Username:</td>".
- "<td><input name=\"PentabarfUser\" type=\"text\" size=\"30\" maxlength=\"30\"></td></tr>\n";
- echo "\t<tr><td>Password:</td>".
- "<td><input name=\"password\" type=\"password\" size=\"30\" maxlength=\"30\"></td></tr>\n";
+ echo "\t<tr><td>XCAL-File: https://$PentabarfXMLhost/$PentabarfXMLpath</td>" .
+ "<td><input name=\"PentabarfURL\" type=\"text\" size=\"4\" maxlength=\"5\" " .
+ "value=\"$PentabarfXMLEventID\"></td></tr>\n";
+ echo "\t<tr><td>Username:</td>" .
+ "<td><input name=\"PentabarfUser\" type=\"text\" size=\"30\" maxlength=\"30\"></td></tr>\n";
+ echo "\t<tr><td>Password:</td>" .
+ "<td><input name=\"password\" type=\"password\" size=\"30\" maxlength=\"30\"></td></tr>\n";
echo "\t<tr><td></td><td><input type=\"submit\" name=\"FileUpload\" value=\"upload\"></td></tr>\n";
echo "</table>\n";
echo "</form>\n";
}
-
-
//readXMLfile("xml.php.xml");
-if( readXMLfile("$Tempdir/engelXML") == 0)
-{
-$XMLmain = getXMLsubPease( $XMLmain, "VCALENDAR");
-
+if (readXMLfile("$Tempdir/engelXML") == 0) {
+ $XMLmain = getXMLsubPease($XMLmain, "VCALENDAR");
+
+ if ($ShowDataStrukture) {
+ echo "<pre><br />";
+ echo $XMLmain->name;
+ echo "<br />";
+ print_r(array_values($XMLmain->sub));
+ echo "</pre>";
+ }
-if( $ShowDataStrukture)
-{
- echo "<pre><br>";
- echo $XMLmain->name;
- echo "<br>";
- print_r(array_values ($XMLmain->sub));
+ /*
+ echo "<br />";
+ $Feld=7;
+ echo "$Feld#". $XMLmain->sub[$Feld]->name. "<br />";
+ echo "$Feld#". $XMLmain->sub[$Feld]->sub;
+ //print_r(array_values ($XMLmain->sub[$Feld]->sub));
+ while(list($key, $value) = each($XMLmain->sub[$Feld]->sub))
+ echo "?ID".$value->sub[1]->data. "=". $value->sub[2]->data. "\n";
echo "</pre>";
-}
-
-/*
-echo "<br>";
-$Feld=7;
-echo "$Feld#". $XMLmain->sub[$Feld]->name. "<br>";
-echo "$Feld#". $XMLmain->sub[$Feld]->sub;
-//print_r(array_values ($XMLmain->sub[$Feld]->sub));
-while(list($key, $value) = each($XMLmain->sub[$Feld]->sub))
- echo "?ID".$value->sub[1]->data. "=". $value->sub[2]->data. "\n";
-echo "</pre>";
-*/
-
-
-/*##############################################################################################
- V e r s i o n
- ##############################################################################################*/
-
-echo "<hr>\n";
-$XMLrelease = getXMLsubPease( $XMLmain, "X-WR-CALDESC");
-echo "release: ". $XMLrelease->data. "<br>\n";
-//$XMLreleaseDate = getXMLsubPease( $XMLmain, "RELEASE-DATE");
-//echo "release date: ". $XMLreleaseDate->data. "<br>\n";
-echo "<hr>\n";
-
-
-
-/*##############################################################################################
- V e r s i o n
- ##############################################################################################*/
-if( $EnableRoomFunctions)
- include("../../includes/funktion_xml_room.php");
-
-if( $EnableSchudleFunctions)
- include("../../includes/funktion_xml_schudle.php");
-
-
-/*##############################################################################################
- U P D A T E A L L
- ##############################################################################################*/
-echo "\n\n<br>\n<h1>Update ALL:</h1>\n";
-
-echo "<form action=\"dbUpdateFromXLS.php\">\n";
-echo "\t<input type=\"submit\" name=\"UpdateALL\" value=\"now\">\n";
-echo "</form>\n";
+ */
+
+ /*##############################################################################################
+ V e r s i o n
+ ##############################################################################################*/
+
+ echo "<hr>\n";
+ $XMLrelease = getXMLsubPease($XMLmain, "X-WR-CALDESC");
+ echo "release: " . $XMLrelease->data . "<br />\n";
+ //$XMLreleaseDate = getXMLsubPease( $XMLmain, "RELEASE-DATE");
+ //echo "release date: ". $XMLreleaseDate->data. "<br />\n";
+ echo "<hr>\n";
+
+ /*##############################################################################################
+ V e r s i o n
+ ##############################################################################################*/
+ if ($EnableRoomFunctions)
+ include ("includes/funktion_xml_room.php");
+
+ if ($EnableSchudleFunctions)
+ include ("includes/funktion_xml_schudle.php");
+
+ /*##############################################################################################
+ U P D A T E A L L
+ ##############################################################################################*/
+ echo "\n\n<br />\n<h1>Update ALL:</h1>\n";
+
+ echo "<form action=\"dbUpdateFromXLS.php\">\n";
+ echo "\t<input type=\"submit\" name=\"UpdateALL\" value=\"now\">\n";
+ echo "</form>\n";
} //if XMLopenOOK
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/debug.php b/www-ssl/admin/debug.php
deleted file mode 100755
index 708e2fb8..00000000
--- a/www-ssl/admin/debug.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?PHP
-
-$title = "Debug-Liste";
-$header = "Datenbank-Auszug";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-echo "<h1>Web Counter</h1>";
-funktion_db_list("Counter");
-
-/*
-echo "<h1>Raeume</h1> <br>";
-funktion_db_list("Raeume");
-
-echo "<h1>Schichtbelegung</h1> <br>";
-funktion_db_list("Schichtbelegung");
-
-echo "<h1>Schichtplan</h1> <br>Hier findest du alle bisher eingetragenen Schichten:";
-funktion_db_list("Schichtplan");
-
-echo "<h1>User</h1> <br>";
-funktion_db_list("User");
-
-echo "<h1>News</h1> <br>";
-funktion_db_list("News");
-
-echo "<h1>FAQ</h1> <br>";
-funktion_db_list("FAQ");
-
-echo "Deaktiviert";
-*/
-
-echo "<hr>\n";
-funktion_db_element_list_2row( "Tshirt-Size aller engel",
- "SELECT `Size`, COUNT(`Size`) FROM `User` GROUP BY `Size`");
-echo "<br>\n";
-funktion_db_element_list_2row( "Tshirt ausgegeben",
- "SELECT `Size`, COUNT(`Size`) FROM `User` WHERE `Tshirt`='1' GROUP BY `Size`");
-echo "<br>\n";
-funktion_db_element_list_2row( "Tshirt nicht ausgegeben (Gekommen=1)",
- "SELECT COUNT(`Size`), `Size` FROM `User` WHERE `Gekommen`='1' and `Tshirt`='0' GROUP BY `Size`");
-
-echo "<hr>\n";
-funktion_db_element_list_2row( "Hometown",
- "SELECT COUNT(`Hometown`), `Hometown` FROM `User` GROUP BY `Hometown`");
-echo "<br>\n";
-funktion_db_element_list_2row( "Engeltypen",
- "SELECT COUNT(`Art`), `Art` FROM `User` GROUP BY `Art`");
-
-echo "<hr>\n";
-funktion_db_element_list_2row( "Gesamte Arbeit",
- "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID)");
-echo "<br>\n";
-funktion_db_element_list_2row( "Geleisteter Arbeit",
- "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (ShiftEntry.UID!=0)");
-
-echo "<hr>\n";
-funktion_db_element_list_2row( "Gesamte Arbeit (Ohne Raum aufabau (RID=7)",
- "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (Shifts.RID!=7)");
-echo "<br>\n";
-funktion_db_element_list_2row( "Geleisteter Arbeit (Ohne Raum aufabau (RID=7)",
- "SELECT COUNT(*) AS `Count [x]`, SUM(Shifts.Len) as `Sum [h]` from Shifts LEFT JOIN ShiftEntry USING(SID) WHERE (ShiftEntry.UID!=0) AND (Shifts.RID!=7)");
-
-
-
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/dect.php b/www-ssl/admin/dect.php
index 43f8a77e..4e9f472a 100755..100644
--- a/www-ssl/admin/dect.php
+++ b/www-ssl/admin/dect.php
@@ -1,70 +1,69 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
$title = "Engelsystem - DECT";
$header = "DECT send call";
-include ("../../includes/header.php");
+include ("includes/header.php");
-include ("../../includes/config_IAX.php");
-//include ("../../includes/funktion_modem.php");
-include ("../../includes/funktion_cron.php");
+include ("config/config_IAX.php");
+//include ("includes/funktion_modem.php");
+include ("includes/funktion_cron.php");
-if( !isset($_GET["dial"])) $_GET["dial"] = "";
-if( !isset($_GET["custum"])) $_GET["custum"] = "";
+if (!isset ($_GET["dial"]))
+ $_GET["dial"] = "";
+if (!isset ($_GET["custum"]))
+ $_GET["custum"] = "";
-if( $_GET["dial"]=="dial")
-{
- if( $_GET["DECT"]=="")
+if ($_GET["dial"] == "dial") {
+ if ($_GET["DECT"] == "")
$Number = $_GET["custum"];
else
$Number = $_GET["DECT"];
-
- if( strlen( $_GET["timeh"])== 1)
- $_GET["timeh"] = "0". $_GET["timeh"];
-
- if( strlen( $_GET["timem"])== 1)
- $_GET["timem"] = "0". $_GET["timem"];
-
-// SetWackeup( $Number, $_GET["timeh"], $_GET["timem"]);
- DialNumberIAX($Number, $_GET["timeh"], $_GET["timem"],0);
+
+ if (strlen($_GET["timeh"]) == 1)
+ $_GET["timeh"] = "0" . $_GET["timeh"];
+
+ if (strlen($_GET["timem"]) == 1)
+ $_GET["timem"] = "0" . $_GET["timem"];
+
+ // SetWackeup( $Number, $_GET["timeh"], $_GET["timem"]);
+ DialNumberIAX($Number, $_GET["timeh"], $_GET["timem"], 0);
$_GET["custum"] = $Number;
}
+echo "<form action=\"./dect.php\" method=\"GET\">\n";
+echo "<table>\n";
+
+echo "<tr><th>Number</th><th>h:m</th><th></th></tr>\n";
+
+echo "<tr><td>\n";
+// Listet alle Nicks auf
+echo "<select name=\"DECT\">\n";
+echo "\t<option value=\"\">costum</option>\n";
+
+$usql = "SELECT * FROM `User` WHERE NOT `DECT`='' ORDER BY `Nick`";
+$uErg = mysql_query($usql, $con);
+$urowcount = mysql_num_rows($uErg);
+for ($k = 0; $k < $urowcount; $k++) {
+ echo "\t<option value=\"" . mysql_result($uErg, $k, "DECT") . "\">" .
+ mysql_result($uErg, $k, "Nick") .
+ " (" . mysql_result($uErg, $k, "DECT") . ")" .
+ "</option>\n";
+}
+echo "</select>\n";
+
+echo "<input type=\"text\" name=\"custum\" size=\"4\" maxlength=\"4\" value=\"" . $_GET["custum"] . "\">\n";
+echo "</td>\n";
+
+echo "<td><input type=\"text\" name=\"timeh\" size=\"2\" maxlength=\"2\" value=\"" . gmdate("H", time() + 90 + 3600) . "\">:";
+echo "<input type=\"text\" name=\"timem\" size=\"2\" maxlength=\"2\" value=\"" . gmdate("i", time() + 90 + 3600) . "\"></td>\n";
+echo "<td><input type=\"submit\" name=\"dial\" value=\"dial\"></td>\n";
+echo "</tr>";
+echo "</table>\n";
+
+echo "</form>";
- echo "<form action=\"./dect.php\" method=\"GET\">\n";
- echo "<table>\n";
-
- echo "<tr><th>Number</th><th>h:m</th><th></th></tr>\n";
-
- echo "<tr><td>\n";
- // Listet alle Nicks auf
- echo "<select name=\"DECT\">\n";
- echo "\t<option value=\"\">costum</option>\n";
-
- $usql="SELECT * FROM `User` WHERE NOT `DECT`='' ORDER BY `Nick`";
- $uErg = mysql_query($usql, $con);
- $urowcount = mysql_num_rows($uErg);
- for ($k=0; $k<$urowcount; $k++)
- {
- echo "\t<option value=\"".mysql_result($uErg, $k, "DECT")."\">".
- mysql_result($uErg, $k, "Nick").
- " (". mysql_result($uErg, $k, "DECT"). ")".
- "</option>\n";
- }
- echo "</select>\n";
-
- echo "<input type=\"text\" name=\"custum\" size=\"4\" maxlength=\"4\" value=\"". $_GET["custum"]. "\">\n";
- echo "</td>\n";
-
- echo "<td><input type=\"text\" name=\"timeh\" size=\"2\" maxlength=\"2\" value=\"". gmdate("H", time()+90+3600). "\">:";
- echo "<input type=\"text\" name=\"timem\" size=\"2\" maxlength=\"2\" value=\"". gmdate("i", time()+90+3600). "\"></td>\n";
- echo "<td><input type=\"submit\" name=\"dial\" value=\"dial\"></td>\n";
- echo "</tr>";
- echo "</table>\n";
-
- echo "</form>";
-
-
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/dect_call.php b/www-ssl/admin/dect_call.php
deleted file mode 100755
index 0befbe3a..00000000
--- a/www-ssl/admin/dect_call.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?PHP
-include ("../../includes/header.php");
-
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/faq.1.php b/www-ssl/admin/faq.1.php
deleted file mode 100755
index 0951fcb6..00000000
--- a/www-ssl/admin/faq.1.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<h4 class="menu"> Anfragen und FAQ </h4>
-
-<li><a href="faq.php?quest=all">Alle Anfragen</a></li>
-<li><a href="faq.php?quest=open">Offene Anfragen (<?PHP echo noAnswer(); ?>)</a></li>
-<li><a href="faq.php?quest=faq">FAQ-Liste editiern</a></li>
-
diff --git a/www-ssl/admin/faq.php b/www-ssl/admin/faq.php
deleted file mode 100755
index 2a927eab..00000000
--- a/www-ssl/admin/faq.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "FAQ / Fragen an die Erzengel";
-$submenus = 1;
-include ("../../includes/header.php");
-include ("../../includes/funktion_db.php");
-
-//var init
-$quest_bearb=0;
-
-if (IsSet($_GET["quest"]))
-{
-
-switch ($_GET["quest"])
-{
-
-// *---------------------------------------------------------------------------
-// * Anfragen - Bearbeitung
-// *---------------------------------------------------------------------------
-// * je nach Übergabeoption ($quest) koennen Anfragen beantwortet werden oder
-// * als FAQ uebergeben werden
-// *---------------------------------------------------------------------------
-
-case "all":
- $SQL="SELECT * FROM `Questions` ORDER BY QID DESC";
-?>
- Alle Anfragen:<br>
- <table width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <th>Frage</th>
- <th>Anfragender</th>
- <th>Beantwortet?</th>
- <th>Antwort</th>
- <th>Antwort von</th>
- <th>change</th>
- </tr>
-
-<?PHP
-
- $Erg = mysql_query($SQL, $con);
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
- for ($n = 0 ; $n < $Zeilen ; $n++) {
- echo "<tr class=\"content\">\n";
- echo "<td>".mysql_result($Erg, $n, "Question")."</td>\n";
- echo "<td>".UID2Nick(mysql_result($Erg, $n, "UID"))."</td>\n";
- echo "<td>";
- if (mysql_result($Erg, $n, "AID")>0)
- {
- echo "Ja</td>\n";
- echo "<td>".mysql_result($Erg, $n, "Answer")."</td>\n";
- echo "<td>".UID2Nick(mysql_result($Erg, $n, "AID"))."</td>\n";
- }
- else
- {
- echo "Nein</td>\n";
- echo "<td>&nbsp;</td>\n";
- echo "<td>&nbsp;</td>\n";
- }
- echo "<td><a href=\"faq.php?quest=edit&QID=".mysql_result($Erg, $n, "QID")."\">xxx</a></td>";
- echo "</tr>\n";
- }
- echo "</table>\n";
- break;
-
-case "open":
- $SQL="SELECT * FROM `Questions` WHERE `AID`='0' ORDER BY `QID` DESC";
- $quest_bearb=1; // Fragenliste anzeigen
- echo "\t\tOffene Anfragen:<br>\n";
- break;
-
-case "edit":
- if (!IsSet($_GET["QID"]))
- echo "\t\tFehlerhafter Aufruf...<br>Bitte die Bearbeitung nochmals beginnen :)\n";
- else
- {
- $SQL = "SELECT * FROM `Questions` WHERE `QID`='". $_GET["QID"]. "'";
- $Erg = mysql_query($SQL, $con);
- echo "\t\t<form action=\"./faq.php\" method=\"GET\">\n";
- echo "\t\tAnfrage von <b>". UID2NICK(mysql_result($Erg, 0, "UID")). "</b>:<br>\n";
- echo "\t\t<textarea name=\"Question\" rows=\"3\" cols=\"80\">".
- mysql_result($Erg, 0, "Question"). "</textarea>\n";
- echo "<br><br>Antwort der Erzengel:<br>\n";
- if (mysql_result($Erg, 0, "Answer")=="")
- echo "\t\t<textarea name=\"Answer\" rows=\"5\" cols=\"80\">".
- "Bitte hier die Antwort eintragen...</textarea><br>\n";
- else
- echo "\t\t<textarea name=\"Answer\" rows=\"5\" cols=\"80\">".
- mysql_result($Erg, 0, "Answer"). "</textarea>\n<br>\n";
- echo "\t\t<input type=\"hidden\" name=\"QID\" value=\"". $_GET["QID"]. "\">\n";
- echo "\t\t<input type=\"hidden\" name=\"quest\" value=\"save\">\n";
- echo "\t\t<input type=\"submit\" value=\"Sichern...\">\n";
- echo "\t</form>\n";
- if (mysql_result($Erg, 0, "AID")<>"0")
- {
- echo "\tDu kannst diese Anfrage so wie sie ist, als Engel-FAQ eintrag &uuml;bernehmen.<br>\n";
- echo "<a href=\"./faq.php?quest=transfer&QID=". $_GET["QID"]. "\">Als FAQ-Eintrag sichern...</a>\n";
- }
- } // Abfrage der QID
- break;
-
-case "save":
- if (!IsSet($_GET["QID"]))
- echo "\tFehlerhafter Aufruf... Bitte die Bearbeitung nochmal starten...";
- else
- {
- $SQL = "UPDATE `Questions` SET `Question`='". $_GET["Question"].
- "', `AID`='". $_SESSION['UID']. "' , `Answer`='". $_GET["Answer"]. "' ".
- "WHERE `QID`='". $_GET["QID"]. "' LIMIT 1";
- $Erg = db_query($SQL, "save Question");
- if ($Erg == 1)
- {
- echo "\tDer Eintrag wurde ge&auml;ndert<br>\n";
- SetHeaderGo2Back();
- }
- else
- echo "\tEin Fehler ist aufgetreten. Sorry, du kannst es aber ja nochmal probieren :)\n";
- }
- break;
-
-case "transfer":
- if (!IsSet($_GET["QID"]))
- echo "\tFehlerhafter Aufruf... Bitte die Bearbeitung nochmal starten...\n";
- else
- {
- $SQL1="SELECT * FROM `Questions` WHERE `QID`='". $_GET["QID"]. "'";
- $Erg = mysql_query($SQL1, $con);
- $SQL2="INSERT INTO `FAQ` Values ('', '".
- mysql_result($Erg, 0, "Question")."', '".mysql_result($Erg, 0, "Answer")."')";
- $Erg = db_query($SQL2, "trasfert to request to the FAQ");
- if ($Erg == 1)
- echo "\tDer Eintrag wurde &uuml;bertragen.<br>\n";
- else
- echo "\tEin Fehler ist aufgetreten. Sorry, du kannst es aber ja nochmal probieren :)\n";
- }
-
- break;
-
-// *---------------------------------------------------------------------------
-// * FAQ - Bearbeitung
-// *---------------------------------------------------------------------------
-// * je nach Übergabeoption ($quest) koennen FAQ's erfasst werden,
-// * geaendert oder geloscht werden...
-// *---------------------------------------------------------------------------
-case "faq":
- $quest_bearb=0; // keine Fragenliste anzeigen, FAQ editieren...
- echo "\tFAQ-Liste:<br>";
- echo "<a href=\"./faq.php?quest=faqnew\">Neuen Eintrag</a>";
-
- $SQL = "SELECT * FROM `FAQ`";
- $Erg = mysql_query($SQL, $con);
-
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
-
- for ($n = 0 ; $n < $Zeilen ; $n++)
- if (mysql_result($Erg, $n, "Antwort")!="")
- {
- echo "\t<p class=\"question\">". mysql_result($Erg, $n, "Frage"). "</p>\n";
- echo "\t<p class=\"answetion\">". mysql_result($Erg, $n, "Antwort")."</p>\n";
- echo "\t<a href=\"./faq.php?quest=faqedit&FAQID=". mysql_result($Erg, $n, "FID").
- "\">Bearbeiten</a>\n<br>---<br>\n";
- }
- break;
-
-case "faqedit":
- if (!IsSet($_GET["FAQID"]))
- echo "\tFehlerhafter Aufruf...<br>Bitte die Bearbeitung nochmals beginnen :)\n";
- else
- {
- $SQL = "SELECT * FROM `FAQ` WHERE `FID`='". $_GET["FAQID"]. "'";
- $Erg = mysql_query($SQL, $con);
-
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
-?>
- <form action="./faq.php" method="GET">
- Frage:<br>
- <textarea name="Frage" rows="3" cols="80"><?php echo mysql_result($Erg, 0, "Frage"); ?></textarea>
- <br><br>
- Antwort:<br>
- <textarea name="Antwort" rows="5" cols="80"><?php echo mysql_result($Erg, 0, "Antwort"); ?></textarea><br>
- <input type="hidden" name="FAQID" value="<?PHP echo $_GET["FAQID"]; ?>">
- <input type="hidden" name="quest" value="faqsave">
- <input type="submit" value="Sichern...">
- </form>
- <form action="./faq.php">
- <input type="hidden" name="FAQID" value="<?PHP echo $_GET["FAQID"]; ?>">
- <input type="hidden" name="quest" value="faqdelete">
- <input type="submit" value="L&ouml;schen...">
- </form>
-<?php
- }
- break;
-
-case "faqdelete";
- if (!IsSet($_GET["FAQID"]))
- echo "\tFehlerhafter Aufruf... Bitte die Bearbeitung nochmal starten...\n";
- else
- {
- $SQL = "DELETE FROM `FAQ` WHERE `FID`='". $_GET["FAQID"]. "' LIMIT 1";
- $Erg = db_query($SQL, "delate faq item");
- if ($Erg == 1)
- echo "\tDer Eintrag wurde gel&ouml;scht<br>\n";
- else
- echo "\tEin Fehler ist aufgetreten. Ist der Eintag bereits gel&ouml;scht gewesen?\n";
- }
- break;
-
-case "faqsave";
- if (!IsSet($_GET["FAQID"]))
- echo "\tFehlerhafter Aufruf... Bitte die Bearbeitung nochmal starten...\n";
- else
- {
- $SQL = "UPDATE `FAQ` SET `Frage`='". $_GET["Frage"]. "', `Antwort`='". $_GET["Antwort"].
- "' WHERE `FID`='". $_GET["FAQID"]. "' LIMIT 1";
- $Erg = db_query($SQL, $con);
- if ($Erg == 1)
- echo "\tDer Eintrag wurde ge&auml;ndert<br>\n";
- else
- echo "\tEin Fehler ist aufgetreten. Sorry, du kannst es aber ja nochmal probieren :)\n";
- }
- break;
-
-case "faqnew":
-?>
- <form action="./faq.php" method="GET">
- Frage:<br>
- <textarea name="Frage" rows="3" cols="80">Frage...</textarea><br><br>
- Antwort:<br>
- <textarea name="Antwort" rows="5" cols="80">Antwort</textarea><br>
- <input type="hidden" name="quest" value="faqnewsave">
- <input type="submit" value="Sichern...">
- </form>
-<?php
- break;
-
-case "faqnewsave";
- $SQL = "INSERT INTO `FAQ` VALUES ('', '". $_GET["Frage"]. "', '". $_GET["Antwort"]. "')";
- $Erg = db_query($SQL, "Save new FAQ entry");
- if ($Erg == 1)
- echo "\tDer Eintrag wurde erfasst.<br>\n";
- else
- echo "\tEin Fehler ist aufgetreten. Sorry, du kannst es aber ja nochmal probieren :)\n";
- break;
-
-} //switch ($_GET["quest"])
-
-
-// Hilfsroutine für die Anfragen:
-// Fragenliste anzeigen???
-if ($quest_bearb==1)
-{
- $Erg = mysql_query($SQL, $con);
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
-
- if ($Zeilen==0)
- echo "\tkeine vorhanden...\n";
- else
- for ($n = 0 ; $n < $Zeilen ; $n++)
- {
- echo "\t<p>". nl2br(mysql_result($Erg, $n, "Question"))."\n</p><br>\n";
- echo "\t<a href=\"./faq.php?quest=edit&QID=". mysql_result($Erg, $n, "QID"). "\">Bearbeiten</a>\n";
- echo "<br>---<br>\n";
- }
-
-}
-
-} //if (IsSet($_GET["quest"]))
-else
-{
- echo "Bitte w&auml;hle aus, ob du:\n";
- echo "<ul>\n";
- echo "\t<li><a href=\"./faq.php?quest=all\">Alle Anfragen anzeigen/bearbeiten m&ouml;chtest</a></li>\n";
- echo "\t<li><a href=\"./faq.php?quest=open\">Alle offenen Anfragen anzeigen/bearbeiten m&ouml;chtest (".
- noAnswer(). ")</a></li>\n";
- echo "\t<li><a href=\"./faq.php?quest=faq\">Die FAQ's anzeigen/bearbeiten</a></li>\n";
- echo "</ul>\n";
-}
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/admin/free.php b/www-ssl/admin/free.php
index 1781d434..b45fadcf 100755..100644
--- a/www-ssl/admin/free.php
+++ b/www-ssl/admin/free.php
@@ -1,15 +1,14 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
$title = "Erzengel";
$header = "Freie Engel";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
+include ("includes/header.php");
+include ("includes/funktion_db_list.php");
+echo "Hallo " . $_SESSION['Nick'] . ",<br />\n";
-echo "Hallo ".$_SESSION['Nick'].",<br>\n";
-
-echo "<br><br>\n\nHier findest du alle Engel, welche zur Zeit in keiner Schicht verplant sind:<br><br>\n";
-
+echo "<br /><br />\n\nHier findest du alle Engel, welche zur Zeit in keiner Schicht verplant sind:<br /><br />\n";
#######################################################
# Ermitteln freier Engel
@@ -21,34 +20,32 @@ echo "<br><br>\n\nHier findest du alle Engel, welche zur Zeit in keiner Schicht
/* geht nicht ??? unter stabel !!
$SQL= "SELECT User.Nick, Schichtplan.*, Schichtbelegung.* ".
- "FROM Schichtplan, User LEFT OUTER ".
- "JOIN Schichtbelegung ON User.UID=Schichtbelegung.UID ".
- "WHERE Schichtplan.SID = Schichtbelegung.SID AND ".
- "Schichtplan.Date < now() and ".
- "Schichtplan.EndDate > now() ".
- "ORDER BY Nick";
-
+ "FROM Schichtplan, User LEFT OUTER ".
+ "JOIN Schichtbelegung ON User.UID=Schichtbelegung.UID ".
+ "WHERE Schichtplan.SID = Schichtbelegung.SID AND ".
+ "Schichtplan.Date < now() and ".
+ "Schichtplan.EndDate > now() ".
+ "ORDER BY Nick";
+
$SQL = "SELECT Shifts.*, ShiftEntry.*, User.Nick ".
- "FROM User ".
- "INNER JOIN (Shifts INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID) ON User.UID = ShiftEntry.UID ".
- "WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() );";
+ "FROM User ".
+ "INNER JOIN (Shifts INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID) ON User.UID = ShiftEntry.UID ".
+ "WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() );";
*/
-$SQL = "SELECT Shifts.*, ShiftEntry.* ".
- "FROM `Shifts` INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID ".
- "WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() AND ShiftEntry.UID>0);";
+$SQL = "SELECT Shifts.*, ShiftEntry.* " .
+"FROM `Shifts` INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID " .
+"WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() AND ShiftEntry.UID>0);";
//SELECT User.Nick, Schichtplan.*, Schichtbelegung. * FROM User LEFT JOIN Schichtbelegung ON User.UID=Schichtbelegung.UID, Schichtplan LEFT JOIN Schichtbelegung ON Schichtplan.SID = Schichtbelegung.SID WHERE Schichtplan.Date < now() and Schichtplan.EndDate > now() ORDER BY Nick
//echo "<pre>$SQL</pre>";
$Erg = mysql_query($SQL, $con);
-$Zeilen = mysql_num_rows($Erg);
+$Zeilen = mysql_num_rows($Erg);
// for ($i = 1; $i < mysql_num_fields($Erg); $i++)
// echo "|".mysql_field_name($Erg, $i);
-
-
echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
echo "\t<tr class=\"contenttopic\">\n";
echo "\t\t<td>Nick</td>\n";
@@ -58,47 +55,44 @@ echo "\t\t<td>Von</td>\n";
echo "\t\t<td>Bis</td>\n";
echo "\t</tr>\n";
-
-$inuse="";
-for ($i=0; $i < $Zeilen; $i++)
-{
+$inuse = "";
+for ($i = 0; $i < $Zeilen; $i++) {
echo "<tr class=\"content\">\n";
- echo "<td><a href=\"./userChangeNormal.php?Type=Normal&enterUID=". mysql_result($Erg, $i, "UID"). "\">".
- UID2Nick(mysql_result($Erg, $i, "UID")). "</td></a>\n";
+ echo "<td><a href=\"./userChangeNormal.php?Type=Normal&enterUID=" . mysql_result($Erg, $i, "UID") . "\">" .
+ UID2Nick(mysql_result($Erg, $i, "UID")) . "</td></a>\n";
echo "<td></td>\n";
- echo "<td>". mysql_result($Erg, $i, "RID"). "</td>\n";
- echo "<td>". mysql_result($Erg, $i, "DateS"). "</td>\n";
- echo "<td>". mysql_result($Erg, $i, "DateE"). "</td>\n";
+ echo "<td>" . mysql_result($Erg, $i, "RID") . "</td>\n";
+ echo "<td>" . mysql_result($Erg, $i, "DateS") . "</td>\n";
+ echo "<td>" . mysql_result($Erg, $i, "DateE") . "</td>\n";
echo "</tr>\n";
- if ($inuse!="")
- $inuse.= " OR ";
- $inuse.= "(Nick = \"". UID2Nick(mysql_result($Erg, $i, "UID")). "\")";
+ if ($inuse != "")
+ $inuse .= " OR ";
+ $inuse .= "(Nick = \"" . UID2Nick(mysql_result($Erg, $i, "UID")) . "\")";
}
-if ($inuse!="")
- $inuse=" WHERE NOT (".$inuse.")";
+if ($inuse != "")
+ $inuse = " WHERE NOT (" .
+ $inuse . ")";
echo "</table>\n";
-
//##########################################################################################################
-echo "<br><br>\n\nhier findest du alle Engel, welche zur Zeit in keiner Schichten verplant sind:<br><br>\n";
+echo "<br /><br />\n\nhier findest du alle Engel, welche zur Zeit in keiner Schichten verplant sind:<br /><br />\n";
echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\"\>\n";
echo "\t<tr class=\"contenttopic\">\n\t\t<td>Nick</td>\n\t\t<td>DECT</td>\n\t</tr>\n";
-$SQL = "SELECT Nick, UID, DECT FROM User".$inuse.";";
+$SQL = "SELECT Nick, UID, DECT FROM User" . $inuse . ";";
$Erg = mysql_query($SQL, $con);
-$Zeilen = mysql_num_rows($Erg);
-for ($i=0; $i < $Zeilen; $i++)
-{
+$Zeilen = mysql_num_rows($Erg);
+for ($i = 0; $i < $Zeilen; $i++) {
echo "\t<tr class=\"content\">\n";
- echo "\t\t<td><a href=\"./userChangeNormal.php?Type=Normal&enterUID=". mysql_result($Erg, $i, "UID"). "\">".
- mysql_result($Erg, $i, "Nick"). "</a></td>\n";
- echo "\t\t<td>". mysql_result($Erg, $i, "DECT"). "</td>\n";
- echo "\n</tr>\n";
+ echo "\t\t<td><a href=\"./userChangeNormal.php?Type=Normal&enterUID=" . mysql_result($Erg, $i, "UID") . "\">" .
+ mysql_result($Erg, $i, "Nick") . "</a></td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "DECT") . "</td>\n";
+ echo "\n</tr>\n";
}
echo "</table>\n";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/free_DECT.php b/www-ssl/admin/free_DECT.php
index 6ec38ff6..4b4e3085 100755..100644
--- a/www-ssl/admin/free_DECT.php
+++ b/www-ssl/admin/free_DECT.php
@@ -1,9 +1,9 @@
-<?PHP
-
-include ("../../includes/config_db.php");
-include ("../../includes/funktion_db_list.php");
-include ("../../includes/funktion_user.php");
+<?php
+require_once ('../bootstrap.php');
+include ("config/config_db.php");
+include ("includes/funktion_db_list.php");
+include ("includes/funktion_user.php");
#######################################################
# Ermitteln freier Engel
@@ -11,68 +11,55 @@ include ("../../includes/funktion_user.php");
# auslesen aller Engel und dazugehoerige Schichten
#######################################################
-$SQL = "SELECT Shifts.*, ShiftEntry.* ".
- "FROM `Shifts` INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID ".
- "WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() AND ShiftEntry.UID>0);";
+$SQL = "SELECT Shifts.*, ShiftEntry.* " .
+"FROM `Shifts` INNER JOIN ShiftEntry ON Shifts.SID = ShiftEntry.SID " .
+"WHERE (Shifts.DateS<=Now() AND Shifts.DateE>=Now() AND ShiftEntry.UID>0);";
$Erg = mysql_query($SQL, $con);
-$Zeilen = mysql_num_rows($Erg);
+$Zeilen = mysql_num_rows($Erg);
-$inuse="";
-for ($i=0; $i < $Zeilen; $i++)
-{
- if ($inuse!="")
- $inuse.= " OR ";
- $inuse.= "(UID = \"". mysql_result($Erg, $i, "UID"). "\")";
-}
-if ($inuse!="")
-{
- $inuse=" WHERE (NOT (".$inuse.")) AND (DECT!='')";
+$inuse = "";
+for ($i = 0; $i < $Zeilen; $i++) {
+ if ($inuse != "")
+ $inuse .= " OR ";
+ $inuse .= "(UID = \"" . mysql_result($Erg, $i, "UID") . "\")";
}
-else
-{
- $inuse=" WHERE (DECT!='')";
+if ($inuse != "") {
+ $inuse = " WHERE (NOT (" . $inuse . ")) AND (DECT!='')";
+} else {
+ $inuse = " WHERE (DECT!='')";
}
-
//##########################################################################################################
-$SQL = "SELECT * FROM User".$inuse.";";
+$SQL = "SELECT * FROM User" . $inuse . ";";
$Erg = mysql_query($SQL, $con);
-$Zeilen = mysql_num_rows($Erg);
-for ($i=0; $i < $Zeilen; $i++)
-{
+$Zeilen = mysql_num_rows($Erg);
+for ($i = 0; $i < $Zeilen; $i++) {
// get DECT number
- echo mysql_result($Erg, $i, "DECT"). "\t";
+ echo mysql_result($Erg, $i, "DECT") . "\t";
// get all user rights
- $SQL_RIGHT = "SELECT * FROM UserCVS WHERE UID=". mysql_result($Erg, $i, "UID"). ";";
+ $SQL_RIGHT = "SELECT * FROM UserCVS WHERE UID=" . mysql_result($Erg, $i, "UID") . ";";
$Erg_RIGHT = mysql_query($SQL_RIGHT, $con);
$UserRights = mysql_fetch_array($Erg_RIGHT);
- foreach( $UserRights as $Var => $Value)
- {
- if( (strpos( $Var, ".php") === false) AND
- (strpos( $Var, "/") === false) AND
- (strpos( $Var, "UID") === false) AND
- (is_numeric($Var) === false) )
- {
- echo "\"".$Var. "\"=". $Value. "\t";
+ foreach ($UserRights as $Var => $Value) {
+ if ((strpos($Var, ".php") === false) AND (strpos($Var, "/") === false) AND (strpos($Var, "UID") === false) AND (is_numeric($Var) === false)) {
+ echo "\"" . $Var . "\"=" . $Value . "\t";
}
}
// get shift types
- $SQL_TYPES = "SELECT TID FROM `ShiftEntry` WHERE UID=". mysql_result($Erg, $i, "UID"). " GROUP BY TID;";
+ $SQL_TYPES = "SELECT TID FROM `ShiftEntry` WHERE UID=" . mysql_result($Erg, $i, "UID") . " GROUP BY TID;";
$Erg_TYPES = mysql_query($SQL_TYPES, $con);
- $Zeilen_Typen = mysql_num_rows($Erg_TYPES);
- for ($j=0; $j < $Zeilen_Typen; $j++)
- {
- echo "\"TID_". TID2Type( mysql_result($Erg_TYPES, $j, "TID")). "\"=Y\t";
+ $Zeilen_Typen = mysql_num_rows($Erg_TYPES);
+ for ($j = 0; $j < $Zeilen_Typen; $j++) {
+ echo "\"TID_" . TID2Type(mysql_result($Erg_TYPES, $j, "TID")) . "\"=Y\t";
}
echo "\n";
-// echo "<br>";
+ // echo "<br />";
}
-
?>
diff --git a/www-ssl/admin/group.php b/www-ssl/admin/group.php
deleted file mode 100755
index 00b7329f..00000000
--- a/www-ssl/admin/group.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Editieren der Engelliste";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-if (!IsSet($_GET["enterGID"]))
-{
- // Userliste, keine UID uebergeben...
-
- $SQL = "SELECT * FROM `UserGroups` ORDER BY `Name` ASC";
- $Erg = mysql_query($SQL, $con);
- echo mysql_error($con);
-
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
-
- echo "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
- echo "<tr class=\"contenttopic\">\n";
- echo "\t<td>Groupname</td>\n";
- echo "\t<td>Link</td>\n";
- echo "</tr>\n";
-
- for ($n = 0 ; $n < $Zeilen ; $n++) {
- echo "<tr class=\"content\">\n";
- echo "\t<td>".mysql_result($Erg, $n, "Name")."</td>\n";
-
- echo "<td><a href=\"./userChangeSecure.php?enterUID=".
- mysql_result($Erg, $n, "UID")."&Type=Secure\">change</a></td>\n";
- echo "</tr>\n";
- }
-
- // new form
- echo "<tr class=\"content\">\n";
- echo "\t<form action=\"userSaveSecure.php?new=newGroup\" method=\"POST\">\n";
- echo "\t\t<td><input name=\"GroupName\" type=\"text\" value=\"--new group--\"></td>\n";
- echo "\t\t<td><input type=\"submit\" name=\"Send\" value=\"Save\"></td>\n";
- echo "\t</form>\n";
- echo "</tr>\n";
-
- echo "\t</table>\n";
- // Ende Userliste
-}
-
-include ("../../includes/footer.php");
-?>
-
-
diff --git a/www-ssl/admin/index.php b/www-ssl/admin/index.php
deleted file mode 100755
index bd10551b..00000000
--- a/www-ssl/admin/index.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?PHP
-
-$title = "Erzengel";
-$header = "Index";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-echo "Hallo Erzengel ".$_SESSION['Nick'].",<br>\n";
-
-?>
-
-du bist jetzt im Erzengel-Bereich. Hier kannst du die Engel-Verwaltung vornehmen.<br><br>
-
-Bitte melde dich <a href="../logout.php">hier</a> nach getaner Arbeit immer ab, damit kein anderer hier &Auml;nderungen vornehmen kann.
-
-<?PHP
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/news.php b/www-ssl/admin/news.php
deleted file mode 100755
index ba79150b..00000000
--- a/www-ssl/admin/news.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?PHP
-
-$title = "Newsverwaltung";
-$header = "Verwaltung der News";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-
-if (!IsSet($_GET["action"]))
-{
- $SQL = "SELECT * FROM `News` ORDER BY `Datum` DESC";
- $Erg = mysql_query($SQL, $con);
-
- $rowcount = mysql_num_rows($Erg);
- ?>
-Hallo <?PHP echo $_SESSION['Nick'] ?>, <br>
-hier kannst du die News s&auml;ubern... falls jemand auf die Idee kommt,
-hier herumzuspamen oder aus Versehen falsche Informationen zu hinterlegen :)<br><br>
-
-<table width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <td>Datum</td>
- <td>Betreff</td>
- <td>Text</td>
- <td>Erfasser</td>
- <td>Engeltreff</td>
- <td>&Auml;nd.</td>
- </tr>
-<?PHP
-
- for ($i=0; $i < $rowcount; $i++)
- {
- echo "\t<tr class=\"content\">\n";
- echo "\t <td>".mysql_result($Erg, $i, "Datum")."</td>";
- echo "\t <td>".mysql_result($Erg, $i, "Betreff")."</td>";
- echo "\t <td>".mysql_result($Erg, $i, "Text")."</td>";
- echo "\t <td>".UID2Nick(mysql_result($Erg, $i, "UID"))."</td>";
- echo "\t <td>".mysql_result($Erg, $i, "Treffen")."</td>";
- echo "\t <td><a href=\"./news.php?action=change&date=".mysql_result($Erg, $i, "Datum")."\">XXX</a></td>";
- echo "\t</tr>\n";
- }
- echo "</table>";
-}
-else
-{
-
- unSet($chsql);
-
- switch ($_GET["action"])
- {
- case 'change':
- if (isset($_GET["date"]))
- {
- $SQL = "SELECT * FROM `News` WHERE (`Datum`='". $_GET["date"]. "')";
- $Erg = mysql_query($SQL, $con);
-
- if( mysql_num_rows( $Erg)>0)
- {
- echo "<form action=\"./news.php\" method=\"GET\">\n";
-
- echo "<table>\n";
- echo " <tr><td>Datum</td><td><input type=\"text\" size=\"40\" name=\"date\" value=\"".
- mysql_result($Erg, 0, "Datum")."\" disabled></td></tr>\n";
- echo " <tr><td>Betreff</td><td><input type=\"text\" size=\"40\" name=\"eBetreff\" value=\"".
- mysql_result($Erg, 0, "Betreff")."\"></td></tr>\n";
- echo " <tr><td>Text</td><td><textarea rows=\"10\" cols=\"80\" name=\"eText\">".
- mysql_result($Erg, 0, "Text")."</textarea></td></tr>\n";
- echo " <tr><td>Engel</td><td><input type=\"text\" size=\"40\" name=\"eUser\" value=\"".
- UID2Nick(mysql_result($Erg, 0, "UID"))."\" disabled></td></tr>\n";
- echo " <tr><td>Treffen</td><td><input type=\"text\" size=\"40\" name=\"eTreffen\" value=\"".
- mysql_result($Erg, 0, "Treffen")."\"></td></tr>\n";
- echo "</table>";
-
- echo "<input type=\"hidden\" name=\"date\" value=\"". $_GET["date"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"change_save\">\n";
- echo "<input type=\"submit\" value=\"Abschicken...\">\n";
- echo "</form>";
-
- echo "<form action=\"./news.php?action=delete\" method=\"POST\">\n";
- echo "<input type=\"hidden\" name=\"date\" value=\"". $_GET["date"]. "\">\n";
- echo "<input type=\"submit\" value=\"l&ouml;schen...\">\n";
- echo "</form>";
- }
- else
- echo "FEHLER: Eintrag \"". $_GET["date"]. "\" nicht gefunden";
- }
- else
- echo "Fehler: \"date\" nicht übergeben";
- break;
-
- case 'change_save':
- if( isset($_GET["date"]) && isset($_GET["eBetreff"]) && isset($_GET["eText"]) )
- $chsql="UPDATE `News` SET `Betreff`='". $_GET["eBetreff"]. "', `Text`='". $_GET["eText"].
- "', `Treffen`='". $_GET["eTreffen"]. "' WHERE (`Datum`='". $_GET["date"]. "') limit 1";
- else
- echo "Fehler: nicht genügend parameter übergeben";
- break;
-
- case 'delete':
- if (isset($_POST["date"]))
- $chsql="DELETE FROM `News` WHERE `Datum`='". $_POST["date"]. "' LIMIT 1";
- else
- echo "Fehler: \"date\" nicht übergeben";
- break;
- } //SWITCH
-
- if (IsSet($chsql))
- {
- // SQL-Statement ausführen...
- $Erg = mysql_query($chsql, $con);
- If ($Erg == 1)
- echo "&Auml;nderung erfolgreich gesichert...";
- else
- echo "Ein Fehler ist aufgetreten... probiere es am besten nocheinmal... :)<br><br>\n".
- mysql_error($con). "<br><br>\n[$chsql]";
- SetHeaderGo2Back();
- }
-}// IF-ELSE
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/schichtplan.1.php b/www-ssl/admin/schichtplan.1.php
index 30761390..fe8c0384 100755..100644
--- a/www-ssl/admin/schichtplan.1.php
+++ b/www-ssl/admin/schichtplan.1.php
@@ -1,5 +1,5 @@
-<h4 class="menu"> Schichtplan </h4>
-
+<h4>Schichtplan</h4>
+<ul class="content">
<li><a href="./schichtplan.php">Ein-/Austragen</a></li>
<li><a href="./schichtplan_druck.php">Druckversion</a></li>
-
+</ul> \ No newline at end of file
diff --git a/www-ssl/admin/schichtplan.php b/www-ssl/admin/schichtplan.php
index cf0eee98..70ef5a6a 100755..100644
--- a/www-ssl/admin/schichtplan.php
+++ b/www-ssl/admin/schichtplan.php
@@ -1,395 +1,362 @@
<?php
+require_once ('../bootstrap.php');
+
$title = "Schichtplan";
$header = "Neue Schichten erfassen";
$submenus = 1;
-include ("../../includes/header.php");
+include ("includes/header.php");
+
+function executeSQL($SQL) {
+ global $debug, $con;
-function executeSQL( $SQL)
-{
- global $DEBUG, $con;
-
$Erg = mysql_query($SQL, $con);
- if( $DEBUG )
- echo "DEBUG SQL: $SQL<br>\n";
- if ($Erg == 1)
- {
- echo "SQL war erfolgreich";
- }
- else
- {
- echo "SQL Fehler (". mysql_error($con).")" ;
+ if ($debug)
+ echo "DEBUG SQL: $SQL<br />\n";
+ if ($Erg == 1) {
+ echo "SQL war erfolgreich";
+ } else {
+ echo "SQL Fehler (" . mysql_error($con) . ")";
}
}
-if (!IsSet($_GET["action"])) {
-echo "Hallo ".$_SESSION['Nick'].",<br>\n";
-echo "hier kannst du Schichten anlegen, &auml;ndern oder l&ouml;schen.<br><br>";
-echo "<a href=\"./shiftadd.php\">Neue Schicht einplanen</a><br><br>\n\n";
+if (!IsSet ($_GET["action"])) {
+ echo "Hallo " . $_SESSION['Nick'] . ",<br />\n";
+ echo "hier kannst du Schichten anlegen, &auml;ndern oder l&ouml;schen.<br /><br />";
+ echo "<a href=\"./shiftadd.php\">Neue Schicht einplanen</a><br /><br />\n\n";
-echo "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"GET\" >\n";
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"GET\" >\n";
?>
<table width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <td></td>
- <td>Datum</td>
- <td>Raum</td>
- <td>Dauer</td>
- <td>&Auml;ndern</td>
- </tr>
-<?PHP
-
-$sql = "SELECT `SID`, `DateS`, `RID`, `Len` FROM `Shifts` ".
+ <tr class="contenttopic">
+ <td></td>
+ <td>Datum</td>
+ <td>Raum</td>
+ <td>Dauer</td>
+ <td>&Auml;ndern</td>
+ </tr>
+<?php
+
+
+ $sql = "SELECT `SID`, `DateS`, `RID`, `Len` FROM `Shifts` " .
"ORDER BY `RID`, `DateS` ";
-$Erg = mysql_query($sql, $con);
-$rowcount = mysql_num_rows($Erg);
-for( $i = 0; $i < $rowcount; $i++)
-{
- echo "\t<tr class=\"content\">\n";
- echo "\t\t<td><input type=\"checkbox\" name=\"SID". mysql_result($Erg, $i, "SID"). "\" ".
- "value=\"". mysql_result($Erg, $i, "SID"). "\"></td>\n";
- echo "\t\t<td>".mysql_result($Erg, $i, "DateS")."</td>\n";
-
- $sql2= "SELECT `Name` FROM `Room` WHERE `RID`='".mysql_result($Erg, $i, "RID")."'";
- $Erg2 = mysql_query($sql2, $con);
- if( mysql_num_rows($Erg2) > 0)
- echo "\t\t<td>".mysql_result($Erg2, 0, "Name")."</td>\n";
- else
- echo "\t\t<td>Unbenkannt (RID=". mysql_result($Erg, $i, "RID"). ")</td>\n";
- echo "\t\t<td>".mysql_result($Erg, $i, "Len")." Std. </td>\n";
- echo "\t\t<td><a href=\"./schichtplan.php?action=change&SID=".
- mysql_result($Erg, $i, "SID")."\">####</a></td>\n";
- echo "\t</tr>\n";
-}
-echo "</table>\n";
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+ for ($i = 0; $i < $rowcount; $i++) {
+ echo "\t<tr class=\"content\">\n";
+ echo "\t\t<td><input type=\"checkbox\" name=\"SID" . mysql_result($Erg, $i, "SID") . "\" " .
+ "value=\"" . mysql_result($Erg, $i, "SID") . "\"></td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "DateS") . "</td>\n";
-echo "<input type=\"hidden\" name=\"action\" value=\"deleteShifs\">\n";
-echo "<input type=\"submit\" value=\"L&ouml;schen...\">\n";
-echo "</form>\n";
+ $sql2 = "SELECT `Name` FROM `Room` WHERE `RID`='" . mysql_result($Erg, $i, "RID") . "'";
+ $Erg2 = mysql_query($sql2, $con);
+ if (mysql_num_rows($Erg2) > 0)
+ echo "\t\t<td>" . mysql_result($Erg2, 0, "Name") . "</td>\n";
+ else
+ echo "\t\t<td>Unbenkannt (RID=" . mysql_result($Erg, $i, "RID") . ")</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "Len") . " Std. </td>\n";
+ echo "\t\t<td><a href=\"./schichtplan.php?action=change&SID=" .
+ mysql_result($Erg, $i, "SID") . "\">####</a></td>\n";
+ echo "\t</tr>\n";
+ }
+ echo "</table>\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"deleteShifs\">\n";
+ echo "<input type=\"submit\" value=\"L&ouml;schen...\">\n";
+ echo "</form>\n";
} else {
-// aus sicherheitzgründen wegen späterer genuzung
-UnSet($chSQL);
+ // aus sicherheitzgr�nden wegen sp�terer genuzung
+ UnSet ($chSQL);
-switch ($_GET["action"]){
+ switch ($_GET["action"]) {
-case 'change':
- if ( !IsSet($_GET["SID"]) )
- {
- echo "Fehlerhafter Aufruf!\n";
- }
- else
- {
-
- $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '". $_GET["SID"]. "' )";
- $Erg = mysql_query($sql, $con);
+ case 'change' :
+ if (!IsSet ($_GET["SID"])) {
+ echo "Fehlerhafter Aufruf!\n";
+ } else {
- echo "Schicht ab&auml;ndern: <br>\n";
-
- // Anzeige Allgemeiner schaischt daten
- echo "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"GET\" >";
- echo "<table>\n";
- echo " <tr><td>Schichtbeginn</td>".
- "<td><input value=\"". mysql_result($Erg, 0, "DateS").
- "\" type=\"text\" size=\"40\" name=\"eDate\"></td></tr>\n";
- echo " <tr><td>Raum</td><td>\n<select name=\"eRID\">\n";
-
- $sql2 = "SELECT `RID`, `Name`, `FromPentabarf` FROM `Room`";
- $Erg2 = mysql_query($sql2, $con);
- $rowcount = mysql_num_rows($Erg2);
- $FromPentabarf = "N";
- for( $i = 0; $i < $rowcount; $i++ )
- {
- $RID=mysql_result($Erg2, $i, "RID");
- echo " <option value=\"".$RID."\"";
- if( $RID == mysql_result($Erg, 0, "RID") )
- {
- echo " selected";
- $FromPentabarf = mysql_result($Erg2, $i, "FromPentabarf");
- }
- echo ">".mysql_result($Erg2, $i, "Name")."</option>\n";
- }
- echo " </select>\n</td></tr>\n";
-
- echo " <tr><td>Dauer in h</td>".
- "<td><input value=\"". mysql_result($Erg, 0, "Len").
- "\" type=\"text\" size=\"40\" name=\"eDauer\"></td></tr>\n";
- echo " <tr><td>Beschreibung</td>".
- "<td><input value=\"". mysql_result($Erg, 0, "Man").
- "\" type=\"text\" size=\"40\" name=\"eName\"></td></tr>\n";
- echo " <tr><td>URL</td>".
- "<td><input value=\"". mysql_result($Erg, 0, "URL").
- "\" type=\"text\" size=\"40\" name=\"eURL\"></td></tr>\n";
- if( $FromPentabarf == "Y")
- {
- echo " <tr><td></td>".
- "<td><h1>!!! Imported from Pentabarf !!!</h1></td></tr>\n";
- }
- echo "</table>\n";
-
- echo "<input type=\"hidden\" name=\"SID\" value=\"". $_GET["SID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"changesave\">\n";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>\n\n";
-
- // Löschen
- echo "<form action=\"". $_SERVER['SCRIPT_NAME']. "\" method=\"GET\" >\n";
- echo "<input type=\"hidden\" name=\"SID\" value=\"". $_GET["SID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"delete\">\n";
- echo "<input type=\"submit\" value=\"L&ouml;schen...\">\n";
- echo "</form>\n\n";
-
- echo "<b>ACHTUNG:</b><br>\n";
- echo "Beim L&ouml;schen werden die bisher eingetragenen Engel f&uuml;r diese Schicht mitgel&ouml;scht.<br>\n";
-
- echo "<br><hr>\n\n\n\n";
-
- //Freie Engelschichten
- $sql3 = "SELECT `TID` FROM `ShiftEntry` WHERE `SID`='". $_GET["SID"]. "' AND `UID`='0'";
- $Erg3 = mysql_query($sql3, $con);
- $rowcount = mysql_num_rows($Erg3);
-
- echo "Folgende Engelschichten sind noch nicht vergeben.\n";
- echo "Und koenen, wenn diese nSchicht nicht benoetigt wird geloet werden:<br>\n";
- for ($j=0; $j < $rowcount; $j++)
- {
- $TID = mysql_result($Erg3, $j, 0);
- echo "<a href=\"./schichtplan.php?action=engelshiftdel&SID=". $_GET["SID"]. "&TID=$TID\">".
- "freie ". TID2Type($TID). Get_Text("inc_schicht_Engel"). "schicht loeschen</a><br>\n";
- }
- echo "<br><hr>\n\n\n\n";
-
- //Ausgabe eingetragener schischten
- $sql3 = "SELECT * FROM `ShiftEntry` WHERE `SID`='". $_GET["SID"]. "' AND NOT `UID`='0'";
- $Erg3 = mysql_query($sql3, $con);
- $rowcount = mysql_num_rows($Erg3);
-
- echo "Folgende Engel Sind fuer die Schicht eingetargen.\n";
- echo "Und koennen, wenn diese nicht zu Schicht erschienen sind ausgetragen werden:<br>\n";
- echo "<table border=\"1\">\n".
- "<tr class=\"contenttopic\">".
- "<th>nick</th>".
- "<th>type</th>".
- "<th>normal</th>".
- "<th>freeloader :-(</th>".
- "</tr>";
-
- for ($j=0; $j < $rowcount; $j++)
- {
- $userUID=mysql_result($Erg3, $j, "UID");
- echo "\t<tr>\n";
- echo "\t\t<td>". UID2Nick($userUID). "</td>\n";
- echo "\t\t<td>". TID2Type(mysql_result($Erg3, $j, "TID")). Get_Text("inc_schicht_Engel"). "</td>\n";
- echo "\t\t<td><a href=\"./schichtplan.php?action=engeldel&SID=". $_GET["SID"]. "&UIDs=$userUID&freeloader=0\">###-austragen-###</a></td>\n";
- echo "\t\t<td><a href=\"./schichtplan.php?action=engeldel&SID=". $_GET["SID"]. "&UIDs=$userUID&freeloader=1\">###-austragen-freeloader-###</a></td>\n";
- echo "\t</tr>\n";
- } // FOR
-
- echo "</table><br><hr>\n\n\n\n";
-
- //Nachtragen von Engeln
- echo "Hat ein anderer Engel die Schicht &uuml;bernommen, trage ihn bitte ein:";
- echo "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"GET\" >\n";
- echo "<input type=\"hidden\" name=\"SID\" value=\"". $_GET["SID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"engeladd\">\n";
-
- // Listet alle Nicks auf
- echo "<select name=\"UIDs\">\n";
- if( $FromPentabarf != "Y")
- {
- echo "\t<option value=\"0\">--neu--</option>\n";
- }
-
- $usql="SELECT * FROM `User` ORDER BY `Nick`";
- $uErg = mysql_query($usql, $con);
- $urowcount = mysql_num_rows($uErg);
- for ($k=0; $k<$urowcount; $k++)
- {
- echo "\t<option value=\"".mysql_result($uErg, $k, "UID")."\">".
- mysql_result($uErg, $k, "Nick").
- "</option>\n";
- }
- echo "</select>\n";
-
- echo " als \n";
-
- // holt eine liste der benötigten Engel zu dieser Schischt
- $sql3 = "SELECT Count(`TID`) AS `CTID`, `TID` FROM `ShiftEntry` ";
- $sql3.= "WHERE (`SID`='". $_GET["SID"]. "' AND `UID`='0') ";
- $sql3.= "GROUP BY `SID`, `TID`, `UID` ";
- $Erg3 = mysql_query($sql3, $con);
- $i=-1;
- while( ++$i < mysql_num_rows($Erg3))
- {
- $EngelNeed[mysql_result($Erg3, $i, "TID")] = mysql_result($Erg3, $i, "CTID");
- }
-
- // Gibt dei möglich Engeltypen aus und zeigt wíefiel noch beötigt werden
- echo "<select name=\"TID\">\n";
- $SQL2 = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
- $Erg2 = mysql_query($SQL2, $con);
- for ($l = 0; $l < mysql_num_rows($Erg2); $l++)
- {
- $EngelTID = mysql_result($Erg2, $l, "TID");
- echo "<option value=\"$EngelTID\">";
- echo mysql_result($Erg2, $l, "Name"). Get_Text("inc_schicht_engel");
- if( !isset($EngelNeed[$EngelTID]) )
- echo " (0)";
- else
- echo " (".$EngelNeed[$EngelTID].")";
- echo "</option>\n";
- }
- echo "</select>\n";
-
- echo "<input type=\"submit\" value=\"eintragen...\">\n";
-
- echo "<br>\n<input value=\"1\" type=\"text\" size=\"5\" name=\"eAnzahlNew\"> Anzahl New\n";
-
- echo "</form>";
-
- } // IF ISSET(
- break;
-
-case 'engeladd':
- if( $_GET["UIDs"]>0)
- {
-
- $SQL = "SELECT * FROM `ShiftEntry` ".
- "WHERE (`SID`='". $_GET["SID"]. "' AND `TID`='". $_GET["TID"]. "' AND `UID`='0')";
- $ERG = mysql_query($SQL, $con);
- if( mysql_num_rows($ERG) != 0 )
- {
- $chSQL = "UPDATE `ShiftEntry` SET ".
- "`UID`='". $_GET["UIDs"]. "', `Comment`='shift added by ".$_SESSION['Nick']."' ".
- "WHERE (`SID`='". $_GET["SID"]. "' AND ".
- "`TID`='". $_GET["TID"]. "' AND `UID`='0' ) LIMIT 1";
- }
- else
- {
- $chSQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`, `UID`, `Comment`) VALUES (".
- "'". $_GET["SID"]. "', '". $_GET["TID"]. "', ".
- "'". $_GET["UIDs"]. "', 'shift added by ".$_SESSION['Nick']."')";
- }
- echo "Es wird folgende Schicht zus&auml;tzlich eingetragen:<br>\n";
- echo "Engel: ".UID2Nick($_GET["UIDs"])."<br>\n";
- echo "Bemerkung: Schicht eingetragen durch Erzengel ".$_SESSION['Nick']."<br>\n<br>\n";
- }
- else
- {
- echo "Es wird folgende Schicht wurde ". $_GET["eAnzahlNew"]. "x zus&auml;tzlich eingetragen:<br>\n";
- for( $i=0; $i<$_GET["eAnzahlNew"]; $i++)
- {
- echo "$i. <br>\n";
- $SQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`, `UID`, `Comment`) VALUES (";
- $SQL .= "'". $_GET["SID"]. "', '". $_GET["TID"]. "', '0', NULL)";
- $ERG = mysql_query($SQL, $con);
- if( $DEBUG )
- echo "DEBUG SQL: $SQL<br>\n";
- if ($ERG == 1)
- {
- echo "&Auml;nderung wurde gesichert...<br>";
+ $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '" . $_GET["SID"] . "' )";
+ $Erg = mysql_query($sql, $con);
+
+ echo "Schicht ab&auml;ndern: <br />\n";
+
+ // Anzeige Allgemeiner schaischt daten
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"GET\" >";
+ echo "<table>\n";
+ echo " <tr><td>Schichtbeginn</td>" .
+ "<td><input value=\"" . mysql_result($Erg, 0, "DateS") .
+ "\" type=\"text\" size=\"40\" name=\"eDate\"></td></tr>\n";
+ echo " <tr><td>Raum</td><td>\n<select name=\"eRID\">\n";
+
+ $sql2 = "SELECT `RID`, `Name`, `FromPentabarf` FROM `Room`";
+ $Erg2 = mysql_query($sql2, $con);
+ $rowcount = mysql_num_rows($Erg2);
+ $FromPentabarf = "N";
+ for ($i = 0; $i < $rowcount; $i++) {
+ $RID = mysql_result($Erg2, $i, "RID");
+ echo " <option value=\"" . $RID . "\"";
+ if ($RID == mysql_result($Erg, 0, "RID")) {
+ echo " selected";
+ $FromPentabarf = mysql_result($Erg2, $i, "FromPentabarf");
+ }
+ echo ">" . mysql_result($Erg2, $i, "Name") . "</option>\n";
+ }
+ echo " </select>\n</td></tr>\n";
+
+ echo " <tr><td>Dauer in h</td>" .
+ "<td><input value=\"" . mysql_result($Erg, 0, "Len") .
+ "\" type=\"text\" size=\"40\" name=\"eDauer\"></td></tr>\n";
+ echo " <tr><td>Beschreibung</td>" .
+ "<td><input value=\"" . mysql_result($Erg, 0, "Man") .
+ "\" type=\"text\" size=\"40\" name=\"eName\"></td></tr>\n";
+ echo " <tr><td>URL</td>" .
+ "<td><input value=\"" . mysql_result($Erg, 0, "URL") .
+ "\" type=\"text\" size=\"40\" name=\"eURL\"></td></tr>\n";
+ if ($FromPentabarf == "Y") {
+ echo " <tr><td></td>" .
+ "<td><h1>!!! Imported from Pentabarf !!!</h1></td></tr>\n";
+ }
+ echo "</table>\n";
+
+ echo "<input type=\"hidden\" name=\"SID\" value=\"" . $_GET["SID"] . "\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"changesave\">\n";
+ echo "<input type=\"submit\" value=\"sichern...\">\n";
+ echo "</form>\n\n";
+
+ // L�schen
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"GET\" >\n";
+ echo "<input type=\"hidden\" name=\"SID\" value=\"" . $_GET["SID"] . "\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"delete\">\n";
+ echo "<input type=\"submit\" value=\"L&ouml;schen...\">\n";
+ echo "</form>\n\n";
+
+ echo "<b>ACHTUNG:</b><br />\n";
+ echo "Beim L&ouml;schen werden die bisher eingetragenen Engel f&uuml;r diese Schicht mitgel&ouml;scht.<br />\n";
+
+ echo "<br /><hr>\n\n\n\n";
+
+ //Freie Engelschichten
+ $sql3 = "SELECT `TID` FROM `ShiftEntry` WHERE `SID`='" . $_GET["SID"] . "' AND `UID`='0'";
+ $Erg3 = mysql_query($sql3, $con);
+ $rowcount = mysql_num_rows($Erg3);
+
+ echo "Folgende Engelschichten sind noch nicht vergeben.\n";
+ echo "Und koenen, wenn diese nSchicht nicht benoetigt wird geloet werden:<br />\n";
+ for ($j = 0; $j < $rowcount; $j++) {
+ $TID = mysql_result($Erg3, $j, 0);
+ echo "<a href=\"./schichtplan.php?action=engelshiftdel&SID=" . $_GET["SID"] . "&TID=$TID\">" .
+ "freie " . TID2Type($TID) . Get_Text("inc_schicht_Engel") . "schicht loeschen</a><br />\n";
+ }
+ echo "<br /><hr>\n\n\n\n";
+
+ //Ausgabe eingetragener schischten
+ $sql3 = "SELECT * FROM `ShiftEntry` WHERE `SID`='" . $_GET["SID"] . "' AND NOT `UID`='0'";
+ $Erg3 = mysql_query($sql3, $con);
+ $rowcount = mysql_num_rows($Erg3);
+
+ echo "Folgende Engel Sind fuer die Schicht eingetargen.\n";
+ echo "Und koennen, wenn diese nicht zu Schicht erschienen sind ausgetragen werden:<br />\n";
+ echo "<table border=\"1\">\n" .
+ "<tr class=\"contenttopic\">" .
+ "<th>nick</th>" .
+ "<th>type</th>" .
+ "<th>normal</th>" .
+ "<th>freeloader :-(</th>" .
+ "</tr>";
+
+ for ($j = 0; $j < $rowcount; $j++) {
+ $userUID = mysql_result($Erg3, $j, "UID");
+ echo "\t<tr>\n";
+ echo "\t\t<td>" . UID2Nick($userUID) . "</td>\n";
+ echo "\t\t<td>" . TID2Type(mysql_result($Erg3, $j, "TID")) . Get_Text("inc_schicht_Engel") . "</td>\n";
+ echo "\t\t<td><a href=\"./schichtplan.php?action=engeldel&SID=" . $_GET["SID"] . "&UIDs=$userUID&freeloader=0\">###-austragen-###</a></td>\n";
+ echo "\t\t<td><a href=\"./schichtplan.php?action=engeldel&SID=" . $_GET["SID"] . "&UIDs=$userUID&freeloader=1\">###-austragen-freeloader-###</a></td>\n";
+ echo "\t</tr>\n";
+ } // FOR
+
+ echo "</table><br /><hr>\n\n\n\n";
+
+ //Nachtragen von Engeln
+ echo "Hat ein anderer Engel die Schicht &uuml;bernommen, trage ihn bitte ein:";
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"GET\" >\n";
+ echo "<input type=\"hidden\" name=\"SID\" value=\"" . $_GET["SID"] . "\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"engeladd\">\n";
+
+ // Listet alle Nicks auf
+ echo "<select name=\"UIDs\">\n";
+ if ($FromPentabarf != "Y") {
+ echo "\t<option value=\"0\">--neu--</option>\n";
+ }
+
+ $usql = "SELECT * FROM `User` ORDER BY `Nick`";
+ $uErg = mysql_query($usql, $con);
+ $urowcount = mysql_num_rows($uErg);
+ for ($k = 0; $k < $urowcount; $k++) {
+ echo "\t<option value=\"" . mysql_result($uErg, $k, "UID") . "\">" .
+ mysql_result($uErg, $k, "Nick") .
+ "</option>\n";
+ }
+ echo "</select>\n";
+
+ echo " als \n";
+
+ // holt eine liste der ben�tigten Engel zu dieser Schischt
+ $sql3 = "SELECT Count(`TID`) AS `CTID`, `TID` FROM `ShiftEntry` ";
+ $sql3 .= "WHERE (`SID`='" . $_GET["SID"] . "' AND `UID`='0') ";
+ $sql3 .= "GROUP BY `SID`, `TID`, `UID` ";
+ $Erg3 = mysql_query($sql3, $con);
+ $i = -1;
+ while (++ $i < mysql_num_rows($Erg3)) {
+ $EngelNeed[mysql_result($Erg3, $i, "TID")] = mysql_result($Erg3, $i, "CTID");
+ }
+
+ // Gibt dei m�glich Engeltypen aus und zeigt w�efiel noch be�tigt werden
+ echo "<select name=\"TID\">\n";
+ $SQL2 = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
+ $Erg2 = mysql_query($SQL2, $con);
+ for ($l = 0; $l < mysql_num_rows($Erg2); $l++) {
+ $EngelTID = mysql_result($Erg2, $l, "TID");
+ echo "<option value=\"$EngelTID\">";
+ echo mysql_result($Erg2, $l, "Name") . Get_Text("inc_schicht_engel");
+ if (!isset ($EngelNeed[$EngelTID]))
+ echo " (0)";
+ else
+ echo " (" . $EngelNeed[$EngelTID] . ")";
+ echo "</option>\n";
+ }
+ echo "</select>\n";
+
+ echo "<input type=\"submit\" value=\"eintragen...\">\n";
+
+ echo "<br />\n<input value=\"1\" type=\"text\" size=\"5\" name=\"eAnzahlNew\"> Anzahl New\n";
+
+ echo "</form>";
+
+ } // IF ISSET(
+ break;
+
+ case 'engeladd' :
+ if ($_GET["UIDs"] > 0) {
+
+ $SQL = "SELECT * FROM `ShiftEntry` " .
+ "WHERE (`SID`='" . $_GET["SID"] . "' AND `TID`='" . $_GET["TID"] . "' AND `UID`='0')";
+ $ERG = mysql_query($SQL, $con);
+ if (mysql_num_rows($ERG) != 0) {
+ $chSQL = "UPDATE `ShiftEntry` SET " .
+ "`UID`='" . $_GET["UIDs"] . "', `Comment`='shift added by " . $_SESSION['Nick'] . "' " .
+ "WHERE (`SID`='" . $_GET["SID"] . "' AND " .
+ "`TID`='" . $_GET["TID"] . "' AND `UID`='0' ) LIMIT 1";
+ } else {
+ $chSQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`, `UID`, `Comment`) VALUES (" .
+ "'" . $_GET["SID"] . "', '" . $_GET["TID"] . "', " .
+ "'" . $_GET["UIDs"] . "', 'shift added by " . $_SESSION['Nick'] . "')";
+ }
+ echo "Es wird folgende Schicht zus&auml;tzlich eingetragen:<br />\n";
+ echo "Engel: " . UID2Nick($_GET["UIDs"]) . "<br />\n";
+ echo "Bemerkung: Schicht eingetragen durch Erzengel " . $_SESSION['Nick'] . "<br />\n<br />\n";
+ } else {
+ echo "Es wird folgende Schicht wurde " . $_GET["eAnzahlNew"] . "x zus&auml;tzlich eingetragen:<br />\n";
+ for ($i = 0; $i < $_GET["eAnzahlNew"]; $i++) {
+ echo "$i. <br />\n";
+ $SQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`, `UID`, `Comment`) VALUES (";
+ $SQL .= "'" . $_GET["SID"] . "', '" . $_GET["TID"] . "', '0', NULL)";
+ $ERG = mysql_query($SQL, $con);
+ if ($debug)
+ echo "DEBUG SQL: $SQL<br />\n";
+ if ($ERG == 1) {
+ echo "&Auml;nderung wurde gesichert...<br />";
+ } else {
+ echo "Fehler beim speichern... bitte noch ein mal probieren :)<br />";
+ echo mysql_error($con);
+ }
+ echo "Es wird eine weitere Schicht eingetragen:<br /><br />\n";
+ }
}
- else
- {
- echo "Fehler beim speichern... bitte noch ein mal probieren :)<br>";
- echo mysql_error($con);
+ break;
+
+ case 'engeldel' :
+ $chSQL = "UPDATE `ShiftEntry` SET `UID`='0', `Comment`= 'NULL' WHERE (`SID`='" . $_GET["SID"] .
+ "' AND `UID`='" . $_GET["UIDs"] . "') LIMIT 1";
+ if (isset ($_GET["freeloader"]) && $_GET["freeloader"] == 1) {
+ $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '" . $_GET["SID"] . "' )";
+ $Erg = mysql_query($sql, $con);
+ if (mysql_num_rows($Erg) == 1) {
+ $UID = $_GET["UIDs"];
+ $Length = mysql_result($Erg, 0, "Len");
+ $Comment = "Start: " . mysql_result($Erg, 0, "DateS") . "; " .
+ "Beschreibung: " . mysql_result($Erg, 0, "Man") . "; " .
+ "Removed by " . $_SESSION['Nick'];
+ $ch2SQL = "INSERT INTO `ShiftFreeloader` (`Remove_Time`, `UID`, `Length`, `Comment`) " .
+ "VALUES ( CURRENT_TIMESTAMP, '$UID', '$Length', '$Comment');";
+ }
}
- echo "Es wird eine weitere Schicht eingetragen:<br><br>\n";
- }
- }
- break;
-
-case 'engeldel':
- $chSQL = "UPDATE `ShiftEntry` SET `UID`='0', `Comment`= 'NULL' WHERE (`SID`='". $_GET["SID"].
- "' AND `UID`='". $_GET["UIDs"]. "') LIMIT 1";
- if( isset($_GET["freeloader"]) && $_GET["freeloader"]==1)
- {
- $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '". $_GET["SID"]. "' )";
- $Erg = mysql_query($sql, $con);
- if( mysql_num_rows( $Erg) == 1)
- {
- $UID = $_GET["UIDs"];
- $Length = mysql_result($Erg, 0, "Len");
- $Comment = "Start: ". mysql_result($Erg, 0, "DateS"). "; ".
- "Beschreibung: ". mysql_result($Erg, 0, "Man"). "; ".
- "Removed by ". $_SESSION['Nick'];
- $ch2SQL =
- "INSERT INTO `ShiftFreeloader` (`Remove_Time`, `UID`, `Length`, `Comment`) ".
- "VALUES ( CURRENT_TIMESTAMP, '$UID', '$Length', '$Comment');";
- }
- }
- break;
-
-case 'engelshiftdel':
- $chSQL = "DELETE FROM `ShiftEntry` WHERE `SID`='". $_GET["SID"]. "' AND `TID`='".
- $_GET["TID"]. "' AND `UID`='0' LIMIT 1";
- break;
-
-case 'changesave':
- $query = mysql_query("SELECT DATE_ADD('". $_GET["eDate"]. "', INTERVAL '+0 ". $_GET["eDauer"]. "' DAY_HOUR)", $con);
- $enddate = mysql_fetch_row($query);
-
- $chSQL = "UPDATE `Shifts` SET ".
- "`DateS`='". $_GET["eDate"]. "', ".
- "`DateE`='".$enddate[0]. "', ".
- "`RID`='". $_GET["eRID"]. "', ".
- "`Len`='". $_GET["eDauer"]. "', ".
- "`Man`='". $_GET["eName"]. "', ".
- "`URL`='". $_GET["eURL"]. "' ".
- "WHERE `SID`='". $_GET["SID"]. "'";
- SetHeaderGo2Back();
- break;
-
-case 'delete':
- $chSQL = "DELETE FROM `Shifts` WHERE `SID`='". $_GET["SID"]. "' LIMIT 1";
- $ch2SQL = "DELETE FROM `ShiftEntry` WHERE `SID`='". $_GET["SID"]. "'";
- SetHeaderGo2Back();
- break;
-
-case 'deleteShifs':
- foreach ($_GET as $k => $v)
- if( strpos( " ".$k, "SID") == 1)
- {
- echo "Shifts $v wird gelöscht...";
- executeSQL( "DELETE FROM `Shifts` WHERE `SID`='$v' LIMIT 1");
- echo "<br>\n";
- echo "ShiftEntry $v wird gelöscht...";
- executeSQL( "DELETE FROM `ShiftEntry` WHERE `SID`='$v'");
- echo "<br><br>\n";
- }
- break;
-
-} // end switch
-
-if (IsSet($chSQL)){
-// echo $chSQL;
- // hier muesste das SQL ausgefuehrt werden...
- $Erg = mysql_query($chSQL, $con);
- if( $DEBUG )
- echo "DEBUG SQL: $chSQL<br>\n";
- if ($Erg == 1)
- {
- echo "&Auml;nderung wurde gesichert...<br>";
- if( $DEBUG )
- echo "DEBUG: ergebniss". $Erg. "<br>\n";
- if (IsSet($ch2SQL))
- {
- $Erg = mysql_query($ch2SQL, $con);
- if( $DEBUG )
- echo "DEBUG SQL: $ch2SQL<br>\n";
- if( $DEBUG ) echo "DEBUG: ergebniss". $Erg. "<br>\n";
+ break;
+
+ case 'engelshiftdel' :
+ $chSQL = "DELETE FROM `ShiftEntry` WHERE `SID`='" . $_GET["SID"] . "' AND `TID`='" .
+ $_GET["TID"] . "' AND `UID`='0' LIMIT 1";
+ break;
+
+ case 'changesave' :
+ $query = mysql_query("SELECT DATE_ADD('" . $_GET["eDate"] . "', INTERVAL '+0 " . $_GET["eDauer"] . "' DAY_HOUR)", $con);
+ $enddate = mysql_fetch_row($query);
+
+ $chSQL = "UPDATE `Shifts` SET " .
+ "`DateS`='" . $_GET["eDate"] . "', " .
+ "`DateE`='" . $enddate[0] . "', " .
+ "`RID`='" . $_GET["eRID"] . "', " .
+ "`Len`='" . $_GET["eDauer"] . "', " .
+ "`Man`='" . $_GET["eName"] . "', " .
+ "`URL`='" . $_GET["eURL"] . "' " .
+ "WHERE `SID`='" . $_GET["SID"] . "'";
+ SetHeaderGo2Back();
+ break;
+
+ case 'delete' :
+ $chSQL = "DELETE FROM `Shifts` WHERE `SID`='" . $_GET["SID"] . "' LIMIT 1";
+ $ch2SQL = "DELETE FROM `ShiftEntry` WHERE `SID`='" . $_GET["SID"] . "'";
+ SetHeaderGo2Back();
+ break;
+
+ case 'deleteShifs' :
+ foreach ($_GET as $k => $v)
+ if (strpos(" " . $k, "SID") == 1) {
+ echo "Shifts $v wird gel�scht...";
+ executeSQL("DELETE FROM `Shifts` WHERE `SID`='$v' LIMIT 1");
+ echo "<br />\n";
+ echo "ShiftEntry $v wird gel�scht...";
+ executeSQL("DELETE FROM `ShiftEntry` WHERE `SID`='$v'");
+ echo "<br /><br />\n";
+ }
+ break;
+
+ } // end switch
+
+ if (IsSet ($chSQL)) {
+ // echo $chSQL;
+ // hier muesste das SQL ausgefuehrt werden...
+ $Erg = mysql_query($chSQL, $con);
+ if ($debug)
+ echo "DEBUG SQL: $chSQL<br />\n";
+ if ($Erg == 1) {
+ echo "&Auml;nderung wurde gesichert...<br />";
+ if ($debug)
+ echo "DEBUG: ergebniss" . $Erg . "<br />\n";
+ if (IsSet ($ch2SQL)) {
+ $Erg = mysql_query($ch2SQL, $con);
+ if ($debug)
+ echo "DEBUG SQL: $ch2SQL<br />\n";
+ if ($debug)
+ echo "DEBUG: ergebniss" . $Erg . "<br />\n";
+ }
+ } else {
+ echo "Fehler beim speichern... bitte noch ein mal probieren :)<br />";
+ echo mysql_error($con);
}
- }
- else
- {
- echo "Fehler beim speichern... bitte noch ein mal probieren :)<br>";
- echo mysql_error($con);
- }
-} // Ende Update
+ } // Ende Update
}
-
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/schichtplan_druck.1.php b/www-ssl/admin/schichtplan_druck.1.php
index 30761390..30761390 100755..100644
--- a/www-ssl/admin/schichtplan_druck.1.php
+++ b/www-ssl/admin/schichtplan_druck.1.php
diff --git a/www-ssl/admin/schichtplan_druck.php b/www-ssl/admin/schichtplan_druck.php
index 80205f9a..3e856c5e 100755..100644
--- a/www-ssl/admin/schichtplan_druck.php
+++ b/www-ssl/admin/schichtplan_druck.php
@@ -1,54 +1,50 @@
<?php
+require_once ('../bootstrap.php');
+
$title = "Himmel";
$header = "Schichtpl&auml;ne";
$submenus = 1;
+if (!IsSet ($_GET["action"])) {
+ include ("includes/header.php");
+ include ("includes/funktionen.php");
+ include ("includes/funktion_schichtplan_aray.php");
+ include ("includes/funktion_schichtplan.php");
-if (!IsSet($_GET["action"]))
-{
- include ("../../includes/header.php");
- include ("../../includes/funktionen.php");
- include ("../../includes/funktion_schichtplan_array.php");
- include ("../../includes/funktion_schichtplan.php");
+ echo "Hallo " . $_SESSION['Nick'] . "<br />\n" .
+ "auf dieser Seite kannst du dir den Schichtplan in einer Druckansicht generieren lassen. W&auml;hle hierf&uuml;r ein Datum und den Raum:\n" .
+ "<br />\n";
- echo "Hallo ". $_SESSION['Nick']. "<br>\n".
- "auf dieser Seite kannst du dir den Schichtplan in einer Druckansicht generieren lassen. W&auml;hle hierf&uuml;r ein Datum und den Raum:\n".
- "<br>\n";
-
- foreach( $VeranstaltungsTage as $k => $v)
- {
-
- $res = mysql_query("SELECT Name, RID FROM `Room` WHERE `show`!='N' ORDER BY `Name`;",$con);
- for ($i = 0; $i < mysql_num_rows($res); $i++)
- {
+ foreach ($VeranstaltungsTage as $k => $v) {
+
+ $res = mysql_query("SELECT Name, RID FROM `Room` WHERE `show`!='N' ORDER BY `Name`;", $con);
+ for ($i = 0; $i < mysql_num_rows($res); $i++) {
$Tag = $VeranstaltungsTage[$k];
- $RID = mysql_result($res,$i,"RID");
+ $RID = mysql_result($res, $i, "RID");
$Rname = mysql_result($res, $i, "Name");
- echo "\t<a href=\"./schichtplan_druck.php?action=1&Raum=$RID&ausdatum=$Tag\" target=\"_blank\">$Tag $Rname</a><br>\n";
+ echo "\t<a href=\"./schichtplan_druck.php?action=1&Raum=$RID&ausdatum=$Tag\" target=\"_blank\">$Tag $Rname</a><br />\n";
}
- echo "<br>\n";
+ echo "<br />\n";
}
- echo "<br><br>";
-
- include ("../../includes/footer.php");
-}
-else //#################################################################
-{
- if (IsSet($_GET["Raum"]) AND IsSet($_GET["ausdatum"]))
+ echo "<br /><br />";
+
+ include ("includes/footer.php");
+} else //#################################################################
{
- $Raum = $_GET["Raum"];
- $ausdatum = $_GET["ausdatum"];
-
- include ("../../includes/config_db.php");
- include ("../../includes/config.php");
- include ("../../includes/secure.php");
- //var wird nur gesetzt immer edit auszublenden, achtung sesion darf nicht gestart sein !!!
- $_SESSION['CVS'][ "admin/schichtplan.php" ] = "N";
- include ("../../includes/funktion_lang.php");
- include ("../../includes/funktion_schichtplan.php");
- include ("../../includes/funktion_schichtplan_array.php");
- include ("../../includes/funktion_user.php");
- ?>
+ if (IsSet ($_GET["Raum"]) AND IsSet ($_GET["ausdatum"])) {
+ $Raum = $_GET["Raum"];
+ $ausdatum = $_GET["ausdatum"];
+
+ include ("config/config_db.php");
+ include ("config/config.php");
+ include ("includes/secure.php");
+ //var wird nur gesetzt immer edit auszublenden, achtung sesion darf nicht gestart sein !!!
+ $_SESSION['CVS']["admin/schichtplan.php"] = "N";
+ include ("includes/funktion_lang.php");
+ include ("includes/funktion_schichtplan.php");
+ include ("includes/funktion_schichtplan_aray.php");
+ include ("includes/funktion_user.php");
+?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
@@ -67,63 +63,57 @@ else //#################################################################
<h1>Schichtplan</h1>
<table>
- <tr>
- <td width="250" align="left">
- <span style="font-weight:bold;font-size:100%">Datum:</span>
- <span style="font-weight:bold;font-size:200%"><?PHP echo $ausdatum; ?></span>
- </td>
- <td width="350" align="right">
- <span style="font-weight:bold;font-size:100%">Raum:</span>
- <span style="font-weight:bold;font-size:200%"><?PHP echo $RoomID[$Raum]; ?> </span>
- </td>
- </tr>
+ <tr>
+ <td width="250" align="left">
+ <span style="font-weight:bold;font-size:100%">Datum:</span>
+ <span style="font-weight:bold;font-size:200%"><?php echo $ausdatum; ?></span>
+ </td>
+ <td width="350" align="right">
+ <span style="font-weight:bold;font-size:100%">Raum:</span>
+ <span style="font-weight:bold;font-size:200%"><?php echo $RoomID[$Raum]; ?> </span>
+ </td>
+ </tr>
</table>
<table border="2" width="650" class="border" cellpadding="2" cellspacing="1">
<!--Ausgabe Spalten �berschrift-->
- <tr class="contenttopic">
- <th bgcolor="#E0E0E0">Uhrzeit</th>
- <th bgcolor="#E0E0E0">Schichtplanbelegung</th>
- </tr>
-<?PHP
+ <tr class="contenttopic">
+ <th bgcolor="#E0E0E0">Uhrzeit</th>
+ <th bgcolor="#E0E0E0">Schichtplanbelegung</th>
+ </tr>
+<?php
-//Zeit Ausgeben
-for( $i = 0; $i < 24; $i++ )
- for( $j = 0; $j < $GlobalZeileProStunde; $j++)
- {
- $Spalten[$i * $GlobalZeileProStunde + $j] =
- "\t<tr class=\"content\">\n";
- if( $j==0)
- {
- $Spalten[$i * $GlobalZeileProStunde + $j].=
- "\t\t<td rowspan=\"$GlobalZeileProStunde\">";
- if( $i < 10 )
- $Spalten[$i * $GlobalZeileProStunde + $j].= "0";
- $Spalten[$i * $GlobalZeileProStunde + $j].= "$i:";
- if( ( ($j*60) / $GlobalZeileProStunde) < 10 )
- $Spalten[$i * $GlobalZeileProStunde + $j].= "0";
- $Spalten[$i * $GlobalZeileProStunde + $j].=
- ( ($j*60) / $GlobalZeileProStunde). "</td>\n";
-
- }
- }
+ //Zeit Ausgeben
+ for ($i = 0; $i < 24; $i++)
+ for ($j = 0; $j < $GlobalZeileProStunde; $j++) {
+ $Spalten[$i * $GlobalZeileProStunde + $j] = "\t<tr class=\"content\">\n";
+ if ($j == 0) {
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= "\t\t<td rowspan=\"$GlobalZeileProStunde\">";
+ if ($i < 10)
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= "0";
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= "$i:";
+ if ((($j * 60) / $GlobalZeileProStunde) < 10)
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= "0";
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= (($j * 60) / $GlobalZeileProStunde) . "</td>\n";
-CreateRoomShifts( $Raum );
+ }
+ }
+ CreateRoomShifts($Raum);
-// Ausgabe Zeilen
- for ($i = 0; $i < (24 * $GlobalZeileProStunde); $i++) echo $Spalten[$i];
-// Ende
-echo "</table>\n";
+ // Ausgabe Zeilen
+ for ($i = 0; $i < (24 * $GlobalZeileProStunde); $i++)
+ echo $Spalten[$i];
+ // Ende
+ echo "</table>\n";
-echo "Stand: ". gmdate("Y-m-d H:i"). "\n";
-echo "</body>\n";
-echo "</html>\n";
+ echo "Stand: " . gmdate("Y-m-d H:i") . "\n";
+ echo "</body>\n";
+ echo "</html>\n";
-} //isset($Vars)
+ } //isset($Vars)
} //isset($Action)
-
?>
diff --git a/www-ssl/admin/shiftadd.php b/www-ssl/admin/shiftadd.php
index 70391041..d6b1f8ff 100755..100644
--- a/www-ssl/admin/shiftadd.php
+++ b/www-ssl/admin/shiftadd.php
@@ -1,38 +1,37 @@
<?php
-$title = "Schicht Hinzufügen";
+require_once ('../bootstrap.php');
+
+$title = "Schicht Hinzufügen";
$header = "Neue Schichten erfassen";
-include ("../../includes/header.php");
+include ("includes/header.php");
-$Time = time()+3600+3600;
+$Time = time() + 3600 + 3600;
-echo "Hallo ".$_SESSION['Nick'].",<br>\n";
+echo "Hallo " . $_SESSION['Nick'] . ",<br />\n";
// erstellt ein Array der Reume
- $sql = "SELECT `RID`, `Name` FROM `Room` ORDER BY `Name`";
- $Erg = mysql_query($sql, $con);
- $rowcount = mysql_num_rows($Erg);
-
- for ($i=0; $i<$rowcount; $i++)
- {
- $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
- $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
- }
+$sql = "SELECT `RID`, `Name` FROM `Room` ORDER BY `Name`";
+$Erg = mysql_query($sql, $con);
+$rowcount = mysql_num_rows($Erg);
+
+for ($i = 0; $i < $rowcount; $i++) {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
+}
// erstellt ein Aray der Engeltypen
- $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
- $Erg = mysql_query($sql, $con);
- $rowcount = mysql_num_rows($Erg);
-
- for ($i=0; $i<$rowcount; $i++)
- {
- $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
- $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
- }
+$sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
+$Erg = mysql_query($sql, $con);
+$rowcount = mysql_num_rows($Erg);
+
+for ($i = 0; $i < $rowcount; $i++) {
+ $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
+ $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name") . Get_Text("inc_schicht_engel");
+}
-// sesion mit stanadrt werten befüllen
-if( !isset( $_SESSION['shiftadd.php']['SchichtName']))
-{
+// sesion mit stanadrt werten bef�llen
+if (!isset ($_SESSION['shiftadd.php']['SchichtName'])) {
$_SESSION['shiftadd.php']['SchichtName'] = "--???--";
$_SESSION['shiftadd.php']['RID'] = "";
$_SESSION['shiftadd.php']['MonthJahr'] = gmdate("Y-m", $Time);
@@ -45,314 +44,307 @@ if( !isset( $_SESSION['shiftadd.php']['SchichtName']))
$_SESSION['shiftadd.php']['NachtON'] = "OFF";
$_SESSION['shiftadd.php']['len_night'] = "00-04-08-10-12-14-16-18-20-22-24";
}
-// wenn werte übergeben in sesion eintragen
-if( !isset($_GET["NachtON"]))
+// wenn werte �bergeben in sesion eintragen
+if (!isset ($_GET["NachtON"]))
$_GET["NachtON"] = "OFF";
-if( !isset($_GET["MoreThenOne"]))
+if (!isset ($_GET["MoreThenOne"]))
$_GET["MoreThenOne"] = "OFF";
-if( isset( $_GET["SchichtName"]))
-{
- foreach ($_GET as $k => $v)
- {
+if (isset ($_GET["SchichtName"])) {
+ foreach ($_GET as $k => $v) {
$_SESSION['shiftadd.php'][$k] = $v;
}
}
-
-if (!IsSet($_GET["action"]))
+if (!IsSet ($_GET["action"]))
$_GET["action"] = "new";
-switch( $_GET["action"])
-{
-case 'new':
+switch ($_GET["action"]) {
+ case 'new' :
?>
Hier kannst du neue Schichten eintragen. Dazu musst du den Anfang und das Ende der Schichten eintragen.
&Uuml;ber die L&auml;nge der Schichten errechnet sich dadurch die Anzahl dieser. Dadurch k&ouml;nnen gleich
mehrere Schichten auf einmal erfasst werden:
-<form action="<?PHP echo $_SERVER['SCRIPT_NAME']; ?>" >
+<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" >
<table>
<tr>
<td align="right">Name:</td>
- <td><input type="text" name="SchichtName" size="50" value="<?PHP echo $_SESSION["shiftadd.php"]["SchichtName"]; ?>"></td>
+ <td><input type="text" name="SchichtName" size="50" value="<?php echo $_SESSION["shiftadd.php"]["SchichtName"]; ?>"></td>
</tr>
<tr>
<td align="right">Ort:</td>
<td><select name="RID">
-<?PHP
- foreach ($Room As $RTemp)
- {
- echo "\t<option value=\"". $RTemp["RID"]. "\"";
- if( $RTemp["RID"] == $_SESSION["shiftadd.php"]["RID"])
- echo " SELECTED";
- echo ">". $RTemp["Name"]. "</option>\n";
- }
- ?>
+<?php
+
+
+ foreach ($Room As $RTemp) {
+ echo "\t<option value=\"" . $RTemp["RID"] . "\"";
+ if ($RTemp["RID"] == $_SESSION["shiftadd.php"]["RID"])
+ echo " SELECTED";
+ echo ">" . $RTemp["Name"] . "</option>\n";
+ }
+?>
</select></td>
</tr>
<tr><td><u>Zeit:</u></td></tr>
<tr>
<td align="right">Month.Jahr:</td>
- <td><input type="ext" name="MonthJahr" size="7" value="<?PHP echo $_SESSION["shiftadd.php"]["MonthJahr"]; ?>"></td>
+ <td><input type="ext" name="MonthJahr" size="7" value="<?php echo $_SESSION["shiftadd.php"]["MonthJahr"]; ?>"></td>
</tr>
<tr>
<td align="right">Beginn:</td>
- <td>Date<input type="text" name="SDatum" size="5" value="<?PHP echo $_SESSION["shiftadd.php"]["SDatum"]; ?>">
- Time<input type="text" name="STime" size="5" value="<?PHP echo $_SESSION["shiftadd.php"]["STime"]; ?>"></td>
+ <td>Date<input type="text" name="SDatum" size="5" value="<?php echo $_SESSION["shiftadd.php"]["SDatum"]; ?>">
+ Time<input type="text" name="STime" size="5" value="<?php echo $_SESSION["shiftadd.php"]["STime"]; ?>"></td>
</tr>
<tr>
<td align="right">More then One</td>
- <td><input type="checkbox" name="MoreThenOne" value="ON" <?PHP
- if( $_SESSION["shiftadd.php"]["MoreThenOne"]=="ON")
- echo " CHECKED";
- ?>></td>
+ <td><input type="checkbox" name="MoreThenOne" value="ON" <?php
+
+
+ if ($_SESSION["shiftadd.php"]["MoreThenOne"] == "ON")
+ echo " CHECKED";
+?>></td>
</tr>
<tr>
<td align="right">End:</td>
- <td>Date<input type="text" name="EDatum" size="5" value="<?PHP echo $_SESSION["shiftadd.php"]["EDatum"]; ?>">
- Time<input type="text" name="ETime" size="5" value="<?PHP echo $_SESSION["shiftadd.php"]["ETime"]; ?>"></td>
+ <td>Date<input type="text" name="EDatum" size="5" value="<?php echo $_SESSION["shiftadd.php"]["EDatum"]; ?>">
+ Time<input type="text" name="ETime" size="5" value="<?php echo $_SESSION["shiftadd.php"]["ETime"]; ?>"></td>
</tr>
<tr>
<td align="right">L&auml;nge in h:</td>
- <td><input type="text" name="len" size="5" value="<?PHP echo $_SESSION["shiftadd.php"]["len"]; ?>"></td>
+ <td><input type="text" name="len" size="5" value="<?php echo $_SESSION["shiftadd.php"]["len"]; ?>"></td>
</tr>
<tr>
<td align="right">Sonderschichten ein:</td>
- <td><input type="checkbox" name="NachtON" value="ON" <?PHP
- if($_SESSION["shiftadd.php"]["NachtON"]=="ON")
- echo " CHECKED";
- ?>></td>
+ <td><input type="checkbox" name="NachtON" value="ON" <?php
+
+
+ if ($_SESSION["shiftadd.php"]["NachtON"] == "ON")
+ echo " CHECKED";
+?>></td>
</tr>
<tr>
<td align="right">Sonder in h (Time;Time):</td>
- <td><input type="text" name="len_night" size="50" value="<?PHP echo $_SESSION["shiftadd.php"]["len_night"]; ?>"></td>
+ <td><input type="text" name="len_night" size="50" value="<?php echo $_SESSION["shiftadd.php"]["len_night"]; ?>"></td>
</tr>
<tr><td><u>Anzahl Engel je Type:</u></td></tr>
-<?PHP
- foreach ($EngelType As $TTemp)
- {
- echo " <tr><td align=\"right\">". $TTemp["Name"]. ":</td>\n";
- echo " <td><input type=\"text\" name=\"EngelType". $TTemp["TID"]. "\" size=\"5\" value=\"";
- if( isset($_SESSION["shiftadd.php"][ "EngelType". $TTemp["TID"] ]))
- echo $_SESSION["shiftadd.php"][ "EngelType". $TTemp["TID"] ];
- else
- echo "0";
- echo "\"></td>\n";
- }
+<?php
+
+
+ foreach ($EngelType As $TTemp) {
+ echo " <tr><td align=\"right\">" . $TTemp["Name"] . ":</td>\n";
+ echo " <td><input type=\"text\" name=\"EngelType" . $TTemp["TID"] . "\" size=\"5\" value=\"";
+ if (isset ($_SESSION["shiftadd.php"]["EngelType" . $TTemp["TID"]]))
+ echo $_SESSION["shiftadd.php"]["EngelType" . $TTemp["TID"]];
+ else
+ echo "0";
+ echo "\"></td>\n";
+ }
?>
</table>
- <br>
+ <br />
<input type="hidden" name="OnlyShow" value="ON">
<input type="hidden" name="action" value="newsave">
<input type="submit" value="zeig mal Gabriel!">
</form>
-<?PHP
- break; // Ende new
-
-case 'newsave':
- if (isset($_GET["SDatum"]) && ($_GET["len"] > 0))
- {
- $lenOrg = $_GET["len"];
- if( $_GET["NachtON"] == "ON" )
- {
- $lenArrayDummy = explode( "-", $_GET["len_night"]);
- foreach ( $lenArrayDummy as $Temp )
- {
- if( isset($Temp2) )
- $lenArray[intval($Temp2)] = intval($Temp)-intval($Temp2);
- $Temp2 = $Temp;
- }//foreach
- }//IF( $NachtON == "ON" )
-
- echo "<table border=\"1\">\n";
- echo "<tr>\n";
- echo "\t<td valign=\"top\" align=\"center\">Start</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">End</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">len</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">RID</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">Beschreibung</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">Entry 'Shifts'</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">SID</td>\n";
- echo "\t<td valign=\"top\" align=\"center\">Entrys</td>\n";
- echo "</tr>\n";
-
- $DateEnd = $_GET["SDatum"];
- $TimeEnd = intval($_GET["STime"]);
- $len=0;
- do
- {
- // define Start time
- $Date = $DateEnd;
- $Time = $TimeEnd;
- $_DateS = $_GET["MonthJahr"]. "-". $Date. " ". $Time. ":00:00";
-
- // define End time
- if( $_GET["NachtON"] == "ON" )
- {
- if( !isset($lenArray[$Time])) die("Zeit $Time h nicht definiert.");
- $_GET["len"] = $lenArray[$Time];
- if( $_GET["len"]<1) die("len <1");
- }
- $TimeEnd = $Time+ $_GET["len"];
-
- //Tagesüberschreitung
- while( $TimeEnd >= 24 )
- {
- $TimeEnd -= 24;
- $DateEnd += 1;
- }
- //ist schischt zu lang dan verkürzen
- if( $DateEnd > $_GET["EDatum"] || ($DateEnd == $_GET["EDatum"] && $TimeEnd >= $_GET["ETime"]) )
- {
- $_GET["len"] -= ($DateEnd- $_GET["EDatum"])*24;
- $_GET["len"] -= ($TimeEnd- $_GET["ETime"]); // -(-) ->> +
- $DateEnd = $_GET["EDatum"];
- $TimeEnd = $_GET["ETime"];
- }
- $_DateE = $_GET["MonthJahr"]. "-". $DateEnd. " ". $TimeEnd. ":00:00";
-
- if( $_DateS != $_DateE )
- CreateNewEntry();
-
- if( $_GET["MoreThenOne"]!="ON" ) break;
- if( $DateEnd >= $_GET["EDatum"] && $TimeEnd >= intval($_GET["ETime"]) ) break;
- } while( true );
- echo "</table>";
-
- if( $_GET["OnlyShow"]=="ON" )
- {
- echo "<form action=\"". $_SERVER['SCRIPT_NAME']. "\">";
- echo "\n\t<Input type=\"hidden\" name=\"SchichtName\" value=\"". $_GET["SchichtName"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"MonthJahr\" value=\"". $_GET["MonthJahr"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"SDatum\" value=\"". $_GET["SDatum"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"STime\" value=\"". $_GET["STime"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"MoreThenOne\" value=\"". $_GET["MoreThenOne"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"EDatum\" value=\"". $_GET["EDatum"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"ETime\" value=\"". $_GET["ETime"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"len\" value=\"". $lenOrg. "\">";
- echo "\n\t<input type=\"hidden\" name=\"RID\" value=\"". $_GET["RID"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"NachtON\" value=\"". $_GET["NachtON"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"len_night\" value=\"". $_GET["len_night"]. "\">";
- echo "\n\t<input type=\"hidden\" name=\"OnlyShow\" value=\"OFF\">";
- foreach ($EngelType As $TTemp)
- {
- $Temp = "EngelType".$TTemp["TID"];
- echo "\n\t<input type=\"hidden\" name=\"". $Temp. "\" value=\"". $_GET[$Temp]. "\">";
- }
- echo "\n\t<input type=\"hidden\" name=\"action\" value=\"newsave\">";
- echo "\n\t<input type=\"submit\" value=\"mach mal Gabriel!\">";
- echo "\n</form>";
- } //if
- } //IF
- break;
-
-case 'engeldel':
- break;
+<?php
-} // end switch
+ break; // Ende new
+
+ case 'newsave' :
+ if (isset ($_GET["SDatum"]) && ($_GET["len"] > 0)) {
+ $lenOrg = $_GET["len"];
+ if ($_GET["NachtON"] == "ON") {
+ $lenArrayDummy = explode("-", $_GET["len_night"]);
+ foreach ($lenArrayDummy as $Temp) {
+ if (isset ($Temp2))
+ $lenArray[intval($Temp2)] = intval($Temp) - intval($Temp2);
+ $Temp2 = $Temp;
+ } //foreach
+ } //IF( $NachtON == "ON" )
+
+ echo "<table border=\"1\">\n";
+ echo "<tr>\n";
+ echo "\t<td valign=\"top\" align=\"center\">Start</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">End</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">len</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">RID</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">Beschreibung</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">Entry 'Shifts'</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">SID</td>\n";
+ echo "\t<td valign=\"top\" align=\"center\">Entrys</td>\n";
+ echo "</tr>\n";
+
+ $DateEnd = $_GET["SDatum"];
+ $TimeEnd = intval($_GET["STime"]);
+ $len = 0;
+ do {
+ // define Start time
+ $Date = $DateEnd;
+ $Time = $TimeEnd;
+ $_DateS = $_GET["MonthJahr"] . "-" . $Date . " " . $Time . ":00:00";
+
+ // define End time
+ if ($_GET["NachtON"] == "ON") {
+ if (!isset ($lenArray[$Time]))
+ die("Zeit $Time h nicht definiert.");
+ $_GET["len"] = $lenArray[$Time];
+ if ($_GET["len"] < 1)
+ die("len <1");
+ }
+ $TimeEnd = $Time + $_GET["len"];
+
+ //Tages�berschreitung
+ while ($TimeEnd >= 24) {
+ $TimeEnd -= 24;
+ $DateEnd += 1;
+ }
+ //ist schischt zu lang dan verk�rzen
+ if ($DateEnd > $_GET["EDatum"] || ($DateEnd == $_GET["EDatum"] && $TimeEnd >= $_GET["ETime"])) {
+ $_GET["len"] -= ($DateEnd - $_GET["EDatum"]) * 24;
+ $_GET["len"] -= ($TimeEnd - $_GET["ETime"]); // -(-) ->> +
+ $DateEnd = $_GET["EDatum"];
+ $TimeEnd = $_GET["ETime"];
+ }
+ $_DateE = $_GET["MonthJahr"] . "-" . $DateEnd . " " . $TimeEnd . ":00:00";
+
+ if ($_DateS != $_DateE)
+ CreateNewEntry();
+ if ($_GET["MoreThenOne"] != "ON")
+ break;
+ if ($DateEnd >= $_GET["EDatum"] && $TimeEnd >= intval($_GET["ETime"]))
+ break;
+ }
+ while (true);
+ echo "</table>";
+
+ if ($_GET["OnlyShow"] == "ON") {
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\">";
+ echo "\n\t<Input type=\"hidden\" name=\"SchichtName\" value=\"" . $_GET["SchichtName"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"MonthJahr\" value=\"" . $_GET["MonthJahr"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"SDatum\" value=\"" . $_GET["SDatum"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"STime\" value=\"" . $_GET["STime"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"MoreThenOne\" value=\"" . $_GET["MoreThenOne"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"EDatum\" value=\"" . $_GET["EDatum"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"ETime\" value=\"" . $_GET["ETime"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"len\" value=\"" . $lenOrg . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"RID\" value=\"" . $_GET["RID"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"NachtON\" value=\"" . $_GET["NachtON"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"len_night\" value=\"" . $_GET["len_night"] . "\">";
+ echo "\n\t<input type=\"hidden\" name=\"OnlyShow\" value=\"OFF\">";
+ foreach ($EngelType As $TTemp) {
+ $Temp = "EngelType" . $TTemp["TID"];
+ echo "\n\t<input type=\"hidden\" name=\"" . $Temp . "\" value=\"" . $_GET[$Temp] . "\">";
+ }
+ echo "\n\t<input type=\"hidden\" name=\"action\" value=\"newsave\">";
+ echo "\n\t<input type=\"submit\" value=\"mach mal Gabriel!\">";
+ echo "\n</form>";
+ } //if
+ } //IF
+ break;
+
+ case 'engeldel' :
+ break;
-function CreateNewEntry()
-{
- global $con, $_DateS, $_DateE, $EngelType, $DEBUG;
- foreach ($EngelType As $TTemp)
- {
- $Temp = "EngelType".$TTemp["TID"];
+} // end switch
+
+function CreateNewEntry() {
+ global $con, $_DateS, $_DateE, $EngelType, $debug;
+ foreach ($EngelType As $TTemp) {
+ $Temp = "EngelType" . $TTemp["TID"];
global $$Temp;
- }
+ }
echo "<tr>\n";
echo "\t<td>$_DateS</td>\n";
echo "\t<td>$_DateE</td>\n";
- echo "\t<td>". $_GET["len"]. "</td>\n";
- echo "\t<td>". $_GET["RID"]. "</td>\n";
- echo "\t<td>". $_GET["SchichtName"]. "</td>\n";
-
-
- // Ist eintarg schon vorhanden?
- $SQL = "SELECT `SID` FROM `Shifts` ";
- $SQL .= "WHERE (".
- "`DateS` = '". $_DateS. "' AND ".
- "`DateE` = '". $_DateE. "' AND ".
- "`RID` = '". $_GET["RID"]. "');";
+ echo "\t<td>" . $_GET["len"] . "</td>\n";
+ echo "\t<td>" . $_GET["RID"] . "</td>\n";
+ echo "\t<td>" . $_GET["SchichtName"] . "</td>\n";
+
+ // Ist eintarg schon vorhanden?
+ $SQL = "SELECT `SID` FROM `Shifts` ";
+ $SQL .= "WHERE (" .
+ "`DateS` = '" . $_DateS . "' AND " .
+ "`DateE` = '" . $_DateE . "' AND " .
+ "`RID` = '" . $_GET["RID"] . "');";
$Erg = mysql_query($SQL, $con);
-
- if( mysql_num_rows($Erg) != 0 )
+
+ if (mysql_num_rows($Erg) != 0)
echo "\t<td>exists</td>";
- elseif( $_GET["OnlyShow"] == "OFF" )
- {
- // erstellt Eintrag in Shifts für die algemeine schicht
- $SQL = "INSERT INTO `Shifts` ( `DateS`, `DateE`, `Len`, `RID`, `Man`) VALUES ( ";
- $SQL .= "'". $_DateS. "', '". $_DateE. "', ";
- $SQL .= "'". $_GET["len"]. "', '". $_GET["RID"]. "', ";
- $SQL .= "'". $_GET["SchichtName"]. "');";
+ elseif ($_GET["OnlyShow"] == "OFF") {
+ // erstellt Eintrag in Shifts f�r die algemeine schicht
+ $SQL = "INSERT INTO `Shifts` ( `DateS`, `DateE`, `Len`, `RID`, `Man`) VALUES ( ";
+ $SQL .= "'" . $_DateS . "', '" . $_DateE . "', ";
+ $SQL .= "'" . $_GET["len"] . "', '" . $_GET["RID"] . "', ";
+ $SQL .= "'" . $_GET["SchichtName"] . "');";
$Erg = db_query($SQL, "create shift");
- $SQLFail = "\n\t<br>[".$SQL. "]";
+ $SQLFail = "\n\t<br />[" . $SQL . "]";
- if ($Erg == 1) echo "\t<td>pass</td>\n";
- else echo "\t<td>fail <br>\n<u>". mysql_error($con). "</u>$SQLFail</td>\n";
+ if ($Erg == 1)
+ echo "\t<td>pass</td>\n";
+ else
+ echo "\t<td>fail <br />\n<u>" . mysql_error($con) . "</u>$SQLFail</td>\n";
} else
echo "\t<td>only show</td>\n";
-
+
// sucht SID von eingetragennen schiten
- $SQL = "SELECT SID FROM `Shifts` ";
- $SQL .= "WHERE (".
- "`DateS` = '". $_DateS. "' AND ".
- "`DateE` = '". $_DateE. "' AND ".
- "`Len` = '". $_GET["len"]. "' AND ".
- "`RID` = '". $_GET["RID"]. "');";
+ $SQL = "SELECT SID FROM `Shifts` ";
+ $SQL .= "WHERE (" .
+ "`DateS` = '" . $_DateS . "' AND " .
+ "`DateE` = '" . $_DateE . "' AND " .
+ "`Len` = '" . $_GET["len"] . "' AND " .
+ "`RID` = '" . $_GET["RID"] . "');";
$Erg = mysql_query($SQL, $con);
- if( mysql_num_rows($Erg) == 0 )
+ if (mysql_num_rows($Erg) == 0)
echo "\t<td>?</td>";
- else
- {
+ else {
$SID = mysql_result($Erg, 0, "SID");
- echo "\t<td>". $SID. "</td>";
+ echo "\t<td>" . $SID . "</td>";
}
- // erstellt für jeden Engeltypen die eintrage in 'ShiftEntry'
+ // erstellt f�r jeden Engeltypen die eintrage in 'ShiftEntry'
echo "\t<td>";
- foreach ($EngelType As $TTemp)
- {
- $Temp = "EngelType".$TTemp["TID"];
-
- if( $_GET[$Temp] > 0 )
- {
+ foreach ($EngelType As $TTemp) {
+ $Temp = "EngelType" . $TTemp["TID"];
+
+ if ($_GET[$Temp] > 0) {
$i = 0;
- echo $_GET[$Temp]. " ".$TTemp["Name"]. "<br>\t";
- while( $i++ < $_GET[$Temp] )
- {
- if( $_GET["OnlyShow"] == "OFF" )
- {
- $SQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (";
- $SQL .= "'". $SID. "', ";
- $SQL .= "'". $TTemp["TID"]. "');";
+ echo $_GET[$Temp] . " " . $TTemp["Name"] . "<br />\t";
+ while ($i++ < $_GET[$Temp]) {
+ if ($_GET["OnlyShow"] == "OFF") {
+ $SQL = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (";
+ $SQL .= "'" . $SID . "', ";
+ $SQL .= "'" . $TTemp["TID"] . "');";
$Erg = mysql_query($SQL, $con);
- if( $DEBUG ) $SQLFail = "\n\t<br>[".$SQL. "]";
+ if ($debug)
+ $SQLFail = "\n\t<br />[" . $SQL . "]";
- if ($Erg == 1) echo "'pass' ";
- else echo "'fail' <u>". mysql_error($con). "</u>$SQLFail</td>\n";
+ if ($Erg == 1)
+ echo "'pass' ";
+ else
+ echo "'fail' <u>" . mysql_error($con) . "</u>$SQLFail</td>\n";
- }
- else
+ } else
echo "+";
}
- echo "<br>";
+ echo "<br />";
} // IF $$TEMP
} // FOREACH
echo "</td>";
-
+
echo "</tr>\n";
}
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/sprache.php b/www-ssl/admin/sprache.php
deleted file mode 100755
index ba09dae0..00000000
--- a/www-ssl/admin/sprache.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?PHP
-
-$title = "Sprache";
-$header = "Liste der existierenden Sprcheintr&auml;ge";
-include ("../../includes/header.php");
-
-
-if( !isset( $_GET["TextID"] ) )
-{
- echo Get_Text("Hello").$_SESSION['Nick'].", <br>\n";
- echo Get_Text("pub_sprache_text1")."<br><br>\n";
-
- echo "<a href=\"?ShowEntry=y\">". Get_Text("pub_sprache_ShowEntry"). "</a>";
- // ausgabe Tabellenueberschift
- $SQL_Sprachen = "SELECT `Sprache` FROM `Sprache` GROUP BY `Sprache`;";
- $erg_Sprachen = mysql_query($SQL_Sprachen, $con);
- echo mysql_error($con);
-
- for( $i=0; $i<mysql_num_rows( $erg_Sprachen ); $i++ )
- $Sprachen[mysql_result( $erg_Sprachen, $i, "Sprache" )] = $i;
-
- echo "\t<table border=\"0\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n\t\t<tr>";
- echo "\t\t<td class=\"contenttopic\"><b>". Get_Text("pub_sprache_TextID"). "</b></td>";
- foreach( $Sprachen as $Name => $Value )
- echo "<td class=\"contenttopic\"><b>".
- Get_Text("pub_sprache_Sprache"). " ". $Name.
- "</b></td>";
- echo "\t\t<td class=\"contenttopic\"><b>". Get_Text("pub_sprache_Edit"). "</b></td>";
- echo "\t\t</tr>";
-
-
- if( isset($_GET["ShowEntry"]))
- {
- // ausgabe eintraege
- $SQL = "SELECT * FROM `Sprache` ORDER BY `TextID`;";
- $erg = mysql_query($SQL, $con);
- echo mysql_error($con);
-
- $TextID_Old = mysql_result( $erg, 0, "TextID" );
- for( $i=0; $i<mysql_num_rows( $erg ); $i++ )
- {
- $TextID_New = mysql_result( $erg, $i, "TextID" );
- if( $TextID_Old != $TextID_New )
- {
- echo "<form action=\"sprache.php\">";
- echo "<tr class=\"content\">\n";
- echo "\t\t<td>$TextID_Old ".
- "<input name=\"TextID\" type=\"hidden\" value=\"$TextID_Old\"> </td>\n";
-
- foreach( $Sprachen as $Name => $Value )
- {
- $Value = html_entity_decode( $Value, ENT_QUOTES);
- echo "\t\t<td><textarea name=\"$Name\" cols=\"22\" rows=\"8\">$Value</textarea></td>\n";
- $Sprachen[ $Name ] = "";
- }
-
- echo "\t\t<td><input type=\"submit\" value=\"Save\"></td>\n";
- echo "</tr>";
- echo "</form>\n";
- $TextID_Old = $TextID_New;
- }
- $Sprachen[ mysql_result( $erg, $i, "Sprache" ) ] = mysql_result( $erg, $i, "Text" );
- } /*FOR*/
- }
-
- //fuer neu eintraege
- echo "<form action=\"sprache.php\">";
- echo "<tr class=\"content\">\n";
- echo "\t\t<td><input name=\"TextID\" type=\"text\" size=\"40\" value=\"new\"> </td>\n";
-
- foreach( $Sprachen as $Name => $Value )
- echo "\t\t<td><textarea name=\"$Name\" cols=\"22\" rows=\"8\">$Name Text</textarea></td>\n";
-
- echo "\t\t<td><input type=\"submit\" value=\"Save\"></td>\n";
- echo "</tr>";
- echo "</form>\n";
-
-
- echo "</table>\n";
-} /*if( !isset( $TextID ) )*/
-else
-{
- echo "edit: ". $_GET["TextID"]. "<br><br>";
- foreach ($_GET as $k => $v) {
- if( $k != "TextID" )
- {
- $sql_test = "SELECT * FROM `Sprache` ".
- "WHERE `TextID`='". $_GET["TextID"]. "' AND `Sprache`='$k'";
- $erg_test = mysql_query($sql_test, $con);
-
- if( mysql_num_rows($erg_test)==0 )
- {
- $sql_save = "INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) ".
- "VALUES ('". $_GET["TextID"]. "', '$k', '$v')";
- echo $sql_save."<br>";
- $Erg = mysql_query($sql_save, $con);
- if ($Erg == 1)
- echo "\t $k Save: OK<br>\n";
- else
- echo "\t $k Save: KO<br>\n";
- }
- else if( mysql_result($erg_test, 0, "Text")!=$v )
- {
- $sql_save = "UPDATE `Sprache` SET `Text`='$v' ".
- "WHERE `TextID`='". $_GET["TextID"]. "' AND `Sprache`='$k' ";
- echo $sql_save."<br>";
- $Erg = mysql_query($sql_save, $con);
- if ($Erg == 1)
- echo "\t $k Update: OK<br>\n";
- else
- echo "\t $k Update: KO<br>\n";
- }
- else
- echo "\t $k no changes<br>\n";
- }
- }
-
-}
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/tshirt.php b/www-ssl/admin/tshirt.php
index f7406d16..9a8e7010 100755..100644
--- a/www-ssl/admin/tshirt.php
+++ b/www-ssl/admin/tshirt.php
@@ -1,59 +1,62 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
$title = "T-Shirt-Ausgabe";
$header = "T-Shirt-Ausgabe f&uuml;r aktiven Engel";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
+include ("includes/header.php");
+include ("includes/funktion_db_list.php");
+If (IsSet ($_GET["aktiv"])) {
-If (IsSet($_GET["aktiv"])) {
-
- $SQL="UPDATE `User` SET `Tshirt`='1' WHERE `UID`='". $_GET["aktiv"]. "' limit 1";
+ $SQL = "UPDATE `User` SET `Tshirt`='1' WHERE `UID`='" . $_GET["aktiv"] . "' limit 1";
$Erg = mysql_query($SQL, $con);
- if ($Erg == 1) {
- } else {
- echo "Fehler beim speichern bei Engel ". UID2Nick($_GET["aktive"]). "<br>";
- }
+ if ($Erg == 1) {
+ } else {
+ echo "Fehler beim speichern bei Engel " . UID2Nick($_GET["aktive"]) . "<br />";
+ }
}
-
?>
-&Uuml;ber die Suchen-Funktion des Browsers kann diese Liste schnell nach einem Nick abgesucht werden.<br>
-Hinter diesem erscheint ein Link, &uuml;ber den man eintragen kann, dass der Engel sein T-Shirt erhalten hat.<br><br>
+&Uuml;ber die Suchen-Funktion des Browsers kann diese Liste schnell nach einem Nick abgesucht werden.<br />
+Hinter diesem erscheint ein Link, &uuml;ber den man eintragen kann, dass der Engel sein T-Shirt erhalten hat.<br /><br />
Liste aller aktiven Engel:
-<?PHP
-$SQL = "SELECT * FROM `User` WHERE (`Aktiv`='1') ORDER BY `Nick` ASC";
+<?php
+
+
+$SQL = "SELECT * FROM `User` WHERE (`Aktiv`='1') ORDER BY `Nick` ASC";
$Erg = mysql_query($SQL, $con);
$rowcount = mysql_num_rows($Erg);
?>
<table width="100%" class="border" cellpadding="2" cellspacing="1">
<tr class="contenttopic">
- <td>Nick</td>
- <td>Aktiv?</td>
- <td>Gr&ouml;sse</td>
- <td>T-Shirt ausgeben:</td>
- </td>
-<?PHP
-for ($i=0; $i<$rowcount; $i++){
- echo "\t<tr class=\"content\">\n";
- $eUID=mysql_result($Erg, $i, "UID");
- echo "\t\t<td>".UID2Nick($eUID)."</td>\n";
- echo "\t\t<td>".mysql_result($Erg, $i, "Aktiv")."</td>\n";
- echo "\t\t<td>".mysql_result($Erg, $i, "Size")."</td>\n";
-
- if (mysql_result($Erg, $i, "Tshirt") =="1") {
- echo "\t\t<td>bereits erhalten</td>";
- } else {
- echo "\t\t<td><a href=\"./tshirt.php?aktiv=$eUID\">XXXXXXXX</a></td>";
- }
- echo "\t</tr>\n";
+ <td>Nick</td>
+ <td>Aktiv?</td>
+ <td>Gr&ouml;sse</td>
+ <td>T-Shirt ausgeben:</td>
+ </td>
+<?php
+
+
+for ($i = 0; $i < $rowcount; $i++) {
+ echo "\t<tr class=\"content\">\n";
+ $eUID = mysql_result($Erg, $i, "UID");
+ echo "\t\t<td>" . UID2Nick($eUID) . "</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "Aktiv") . "</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "Size") . "</td>\n";
+
+ if (mysql_result($Erg, $i, "Tshirt") == "1") {
+ echo "\t\t<td>bereits erhalten</td>";
+ } else {
+ echo "\t\t<td><a href=\"./tshirt.php?aktiv=$eUID\">XXXXXXXX</a></td>";
+ }
+ echo "\t</tr>\n";
}
echo "</table>";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/user.php b/www-ssl/admin/user.php
deleted file mode 100755
index 362d6a3b..00000000
--- a/www-ssl/admin/user.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Editieren der Engelliste";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-if (!IsSet($_GET["enterUID"]))
-{
- // Userliste, keine UID uebergeben...
-
- echo "<a href=\"../makeuser.php\">Neuen Engel eintragen</a><br><br>\n";
-
- if( !isset($_GET["OrderBy"]) ) $_GET["OrderBy"] = "Nick";
- $SQL = "SELECT User.*, UserGroups.Name AS 'Group' FROM `User` ".
- "LEFT JOIN `UserCVS` ON User.UID = UserCVS.UID ".
- "LEFT JOIN `UserGroups` ON UserGroups.UID = UserCVS.GroupID ".
- "ORDER BY `". $_GET["OrderBy"]. "` ASC";
- $Erg = mysql_query($SQL, $con);
- echo mysql_error($con);
-
- // anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
-
- echo "Anzahl Engel: $Zeilen<br><br>\n";
-
- ?><table width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <td>
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Nick">Nick</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=CreateDate">CreateDate</a>
- </td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Name">Name</a></td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Vorname">Vorname</a></td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Alter">Alter</a></td>
- <td>
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=email">@</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=DECT">DECT</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Hometown">Hometown</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=lastLogIn">lastLogIn</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Art">Type</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=ICQ">ICQ</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=jabber">jabber</a> |
- <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Group">Group</a>
- </td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Size">Gr&ouml;&szlig;e</a></td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Gekommen">G</a></td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Aktiv">A</a></td>
- <td><a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?OrderBy=Tshirt">T</a></td>
- <td>&Auml;nd.</td>
- <td>Secure</td>
- </tr>
-
-
- <?PHP
- $Gekommen = 0;
- $Active = 0;
- $Tshirt = 0;
-
- for ($n = 0 ; $n < $Zeilen ; $n++) {
- echo "<tr class=\"content\">\n";
- echo "\t<td>".mysql_result($Erg, $n, "Nick"). "<br>(Create: ". mysql_result($Erg, $n, "CreateDate"). ")</td>\n";
- echo "\t<td>".mysql_result($Erg, $n, "Name")."</td>\n";
- echo "\t<td>".mysql_result($Erg, $n, "Vorname")."</td>\n";
- echo "\t<td>".mysql_result($Erg, $n, "Alter")."</td>\n";
- echo "\t<td>";
- if( strlen( mysql_result($Erg, $n, "Telefon"))>0)
- echo "\n\t\tTel: ". mysql_result($Erg, $n, "Telefon"). "<br>";
- if( strlen( mysql_result($Erg, $n, "Handy"))>0)
- echo "\n\t\tHandy: ". mysql_result($Erg, $n, "Handy"). "<br>";
- if( strlen( mysql_result($Erg, $n, "DECT"))>0)
- echo "\n\t\tDECT: <a href=\"./dect.php?custum=". mysql_result($Erg, $n, "DECT"). "\">".
- mysql_result($Erg, $n, "DECT"). "</a><br>";
- if( strlen( mysql_result($Erg, $n, "email"))>0)
- echo "\n\t\temail: <a href=\"mailto:".mysql_result($Erg, $n, "email")."\">".
- mysql_result($Erg, $n, "email")."</a><br>";
- if( strlen( mysql_result($Erg, $n, "Hometown"))>0)
- echo "\n\t\tHometown: ". mysql_result($Erg, $n, "Hometown"). "<br>";
- if( strlen( mysql_result($Erg, $n, "lastLogIn"))>0)
- echo "\n\t\tlastLogIn: ". mysql_result($Erg, $n, "lastLogIn"). "<br>";
- if( strlen( mysql_result($Erg, $n, "Art"))>0)
- echo "\n\t\tType: ". mysql_result($Erg, $n, "Art"). "<br>";
- if( strlen( mysql_result($Erg, $n, "ICQ"))>0)
- echo "\n\t\tICQ: ". mysql_result($Erg, $n, "ICQ"). "<br>";
- if( strlen( mysql_result($Erg, $n, "jabber"))>0)
- echo "\n\t\tjabber: ". mysql_result($Erg, $n, "jabber"). "<br>";
- echo "\n\t\tGroup: ". mysql_result($Erg, $n, "Group"). "<br>";
- echo "</td>\n";
- echo "\t<td>".mysql_result($Erg, $n, "Size")."</td>\n";
- $Gekommen += mysql_result($Erg, $n, "Gekommen");
- echo "\t<td>".mysql_result($Erg, $n, "Gekommen")."</td>\n";
- $Active += mysql_result($Erg, $n, "Aktiv");
- echo "\t<td>".mysql_result($Erg, $n, "Aktiv")."</td>\n";
- $Tshirt += mysql_result($Erg, $n, "Tshirt");
- echo "\t<td>".mysql_result($Erg, $n, "Tshirt")."</td>\n";
- echo "\t<td>". funktion_isLinkAllowed_addLink_OrEmpty(
- "admin/userChangeNormal.php?enterUID=".
- mysql_result($Erg, $n, "UID")."&Type=Normal",
- "&Auml;nd.").
- "</td>\n";
- echo "\t<td>". funktion_isLinkAllowed_addLink_OrEmpty(
- "admin/userChangeSecure.php?enterUID=".
- mysql_result($Erg, $n, "UID")."&Type=Secure",
- "Secure").
- "</td>\n";
- echo "</tr>\n";
- }
- echo "<tr>".
- "<td></td><td></td><td></td><td></td><td></td><td></td>".
- "<td>$Gekommen</td><td>$Active</td><td>$Tshirt</td><td></td></tr>\n";
- echo "\t</table>\n";
- // Ende Userliste
-
- echo "<h1>Statistics</h1>";
- funktion_db_element_list_2row( "Hometown",
- "SELECT COUNT(`Hometown`), `Hometown` FROM `User` GROUP BY `Hometown`");
-
- echo "<br>\n";
-
- funktion_db_element_list_2row( "Engeltypen",
- "SELECT COUNT(`Art`), `Art` FROM `User` GROUP BY `Art`");
-
- echo "<br>\n";
-
- funktion_db_element_list_2row( "Used Groups",
- "SELECT UserGroups.Name AS 'GroupName', COUNT(UserGroups.Name) AS Count FROM `UserCVS` ".
- "LEFT JOIN `UserGroups` ON UserGroups.UID = UserCVS.GroupID ".
- "WHERE (UserCVS.GroupID!='NULL') ".
- "GROUP BY `GroupName` ".
- "");
-}
-else
-{
- echo "error";
-}
-
-include ("../../includes/footer.php");
-?>
-
-
diff --git a/www-ssl/admin/userArrived.php b/www-ssl/admin/userArrived.php
index 32cd230d..93857d2e 100755..100644
--- a/www-ssl/admin/userArrived.php
+++ b/www-ssl/admin/userArrived.php
@@ -1,54 +1,53 @@
-<?PHP
+<?php
+require_once ('../bootstrap.php');
$title = "Engel Arrived";
$header = "Engel was arrived";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
+include ("includes/header.php");
+include ("includes/funktion_db_list.php");
+If (IsSet ($_GET["arrived"])) {
-If (IsSet($_GET["arrived"])) {
-
- $SQL="UPDATE `User` SET `Gekommen`='1' WHERE `UID`='". $_GET["arrived"]. "' limit 1";
+ $SQL = "UPDATE `User` SET `Gekommen`='1' WHERE `UID`='" . $_GET["arrived"] . "' limit 1";
$Erg = db_query($SQL, "Set User as Gekommen");
- if ($Erg == 1) {
- echo "<h2>". Get_Text("pri_userArrived_WriteOK"). " \"". UID2Nick($_GET["arrived"]). "\"</h2>";
- } else {
- echo "<h1>". Get_Text("pri_userArrived_WriteError"). " \"". UID2Nick($_GET["arrived"]). "\"</h1>";
- }
+ if ($Erg == 1) {
+ echo "<h2>" . Get_Text("pri_userArrived_WriteOK") . " \"" . UID2Nick($_GET["arrived"]) . "\"</h2>";
+ } else {
+ echo "<h1>" . Get_Text("pri_userArrived_WriteError") . " \"" . UID2Nick($_GET["arrived"]) . "\"</h1>";
+ }
}
-echo Get_Text("pri_userArrived_Text1"). "<br>";
-echo Get_Text("pri_userArrived_Text2"). "<br><br>";
+echo Get_Text("pri_userArrived_Text1") . "<br />";
+echo Get_Text("pri_userArrived_Text2") . "<br /><br />";
echo Get_Text("pri_userArrived_TableToppic");
-$SQL = "SELECT * FROM `User` ORDER BY `Nick` ASC";
+$SQL = "SELECT * FROM `User` ORDER BY `Nick` ASC";
$Erg = mysql_query($SQL, $con);
$rowcount = mysql_num_rows($Erg);
echo "<table width=\"100%\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
echo "\t<tr class=\"contenttopic\">\n";
-echo "\t\t<td>". Get_Text("pri_userArrived_TableTD_Nick"). "</td>\n";
-echo "\t\t<td>". Get_Text("pri_userArrived_TableTD_ArrivedShow"). "</td>\n";
-echo "\t\t<td>". Get_Text("pri_userArrived_TableTD_ArrivedSet"). "</td>\n";
+echo "\t\t<td>" . Get_Text("pri_userArrived_TableTD_Nick") . "</td>\n";
+echo "\t\t<td>" . Get_Text("pri_userArrived_TableTD_ArrivedShow") . "</td>\n";
+echo "\t\t<td>" . Get_Text("pri_userArrived_TableTD_ArrivedSet") . "</td>\n";
echo "\t</td>\n";
-for ($i=0; $i<$rowcount; $i++){
+for ($i = 0; $i < $rowcount; $i++) {
echo "\t<tr class=\"content\">\n";
- $eUID=mysql_result($Erg, $i, "UID");
- echo "\t\t<td>".UID2Nick($eUID)."</td>\n";
- echo "\t\t<td>".mysql_result($Erg, $i, "Gekommen")."</td>\n";
+ $eUID = mysql_result($Erg, $i, "UID");
+ echo "\t\t<td>" . UID2Nick($eUID) . "</td>\n";
+ echo "\t\t<td>" . mysql_result($Erg, $i, "Gekommen") . "</td>\n";
- if (mysql_result($Erg, $i, "Gekommen") =="1")
- {
- echo "\t\t<td>". Get_Text("pri_userArrived_TableEntry_Arrived"). "</td>";
+ if (mysql_result($Erg, $i, "Gekommen") == "1") {
+ echo "\t\t<td>" . Get_Text("pri_userArrived_TableEntry_Arrived") . "</td>";
} else {
- echo "\t\t<td><a href=\"./userArrived.php?arrived=$eUID\">". Get_Text("pri_userArrived_TableEntry_Set"). "</a></td>";
+ echo "\t\t<td><a href=\"./userArrived.php?arrived=$eUID\">" . Get_Text("pri_userArrived_TableEntry_Set") . "</a></td>";
}
echo "\t</tr>\n";
}
echo "</table>";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/admin/userChangeNormal.php b/www-ssl/admin/userChangeNormal.php
deleted file mode 100755
index 4ec014a7..00000000
--- a/www-ssl/admin/userChangeNormal.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Editieren der Engelliste";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-if (IsSet($_GET["enterUID"]))
-{
- // UserID wurde mit uebergeben --> Aendern...
-
- echo "Hallo,<br>".
- "hier kannst du den Eintrag &auml;ndern. Unter dem Punkt 'Gekommen' ".
- "wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, ".
- "dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. ".
- "Wenn T-Shirt ein 'Ja' enth&auml;lt, bedeutet dies, dass der Engel ".
- "bereits sein T-Shirt erhalten hat.<br><br>\n";
-
- echo "<form action=\"./userSaveNormal.php?action=change\" method=\"POST\">\n";
- echo "<table border=\"0\">\n";
- echo "<input type=\"hidden\" name=\"Type\" value=\"Normal\">\n";
-
- $SQL = "SELECT * FROM `User` WHERE `UID`='". $_GET["enterUID"]. "'";
- $Erg = mysql_query($SQL, $con);
-
- if (mysql_num_rows($Erg) != 1)
- echo "<tr><td>Sorry, der Engel (UID=". $_GET["enterUID"].
- ") wurde in der Liste nicht gefunden.</td></tr>";
- else
- {
- echo "<tr><td>\n";
- echo "<table>\n";
- echo " <tr><td>Nick</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eNick\" value=\"".
- mysql_result($Erg, 0, "Nick")."\"></td></tr>\n";
- echo " <tr><td>lastLogIn</td><td>".
- "<input type=\"text\" size=\"20\" name=\"elastLogIn\" value=\"".
- mysql_result($Erg, 0, "lastLogIn"). "\" disabled></td></tr>\n";
- echo " <tr><td>Name</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eName\" value=\"".
- mysql_result($Erg, 0, "Name")."\"></td></tr>\n";
- echo " <tr><td>Vorname</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eVorname\" value=\"".
- mysql_result($Erg, 0, "Vorname")."\"></td></tr>\n";
- echo " <tr><td>Alter</td><td>".
- "<input type=\"text\" size=\"5\" name=\"eAlter\" value=\"".
- mysql_result($Erg, 0, "Alter")."\"></td></tr>\n";
- echo " <tr><td>Telefon</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eTelefon\" value=\"".
- mysql_result($Erg, 0, "Telefon")."\"></td></tr>\n";
- echo " <tr><td>Handy</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eHandy\" value=\"".
- mysql_result($Erg, 0, "Handy")."\"></td></tr>\n";
- echo " <tr><td>DECT</td><td>".
- "<input type=\"text\" size=\"4\" name=\"eDECT\" value=\"".
- mysql_result($Erg, 0, "DECT")."\"></td></tr>\n";
- echo " <tr><td>email</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eemail\" value=\"".
- mysql_result($Erg, 0, "email")."\"></td></tr>\n";
- echo " <tr><td>ICQ</td><td>".
- "<input type=\"text\" size=\"40\" name=\"eICQ\" value=\"".
- mysql_result($Erg, 0, "ICQ")."\"></td></tr>\n";
- echo " <tr><td>jabber</td><td>".
- "<input type=\"text\" size=\"40\" name=\"ejabber\" value=\"".
- mysql_result($Erg, 0, "jabber")."\"></td></tr>\n";
- echo " <tr><td>Size</td><td>".
- "<input type=\"text\" size=\"5\" name=\"eSize\" value=\"".
- mysql_result($Erg, 0, "Size")."\"></td></tr>\n";
- echo " <tr><td>Passwort</td><td>".
- "<a href=\"./userSaveNormal.php?action=newpw&eUID="
- .mysql_result($Erg, 0, "UID")."\">neues Kennwort setzen</a></td></tr>\n";
-
- // Gekommen?
- echo " <tr><td>Gekommen</td><td>\n";
- echo " <input type=\"radio\" name=\"eGekommen\" value=\"0\"";
- if (mysql_result($Erg, 0, "Gekommen")=='0')
- echo " checked";
- echo ">No \n";
- echo " <input type=\"radio\" name=\"eGekommen\" value=\"1\"";
- if (mysql_result($Erg, 0, "Gekommen")=='1')
- echo " checked";
- echo ">Yes \n";
- echo "</td></tr>\n";
-
- // Aktiv?
- echo " <tr><td>Aktiv</td><td>\n";
- echo " <input type=\"radio\" name=\"eAktiv\" value=\"0\"";
- if (mysql_result($Erg, 0, "Aktiv")=='0')
- echo " checked";
- echo ">No \n";
- echo " <input type=\"radio\" name=\"eAktiv\" value=\"1\"";
- if (mysql_result($Erg, 0, "Aktiv")=='1')
- echo " checked";
- echo ">Yes \n";
- echo "</td></tr>\n";
-
- // T-Shirt bekommen?
- echo " <tr><td>T-Shirt</td><td>\n";
- echo " <input type=\"radio\" name=\"eTshirt\" value=\"0\"";
- if (mysql_result($Erg, 0, "Tshirt")=='0')
- echo " checked";
- echo ">No \n";
- echo " <input type=\"radio\" name=\"eTshirt\" value=\"1\"";
- if (mysql_result($Erg, 0, "Tshirt")=='1')
- echo " checked";
- echo ">Yes \n";
- echo "</td></tr>\n";
-
- echo " <tr><td>Hometown</td><td>".
- "<input type=\"text\" size=\"40\" name=\"Hometown\" value=\"".
- mysql_result($Erg, 0, "Hometown")."\"></td></tr>\n";
-
- echo "</table>\n</td><td valign=\"top\">". displayavatar($_GET["enterUID"], FALSE). "</td></tr>";
- }
-
- echo "</td></tr>\n";
- echo "</table>\n<br>\n";
- echo "<input type=\"hidden\" name=\"enterUID\" value=\"". $_GET["enterUID"]. "\">\n";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>";
-
- echo "<form action=\"./userSaveNormal.php?action=delete\" method=\"POST\">\n";
- echo "<input type=\"hidden\" name=\"enterUID\" value=\"". $_GET["enterUID"]. "\">\n";
- echo "<input type=\"submit\" value=\"l&ouml;schen...\">\n";
- echo "</form>";
-
-
- echo "<hr>";
- funktion_db_element_list_2row(
- "Freeloader Shifts",
- "SELECT `Remove_Time`, `Length`, `Comment` FROM `ShiftFreeloader` WHERE UID=". $_GET["enterUID"]);
-}
-
-include ("../../includes/footer.php");
-?>
-
-
diff --git a/www-ssl/admin/userChangeSecure.php b/www-ssl/admin/userChangeSecure.php
deleted file mode 100755
index 9da7bc75..00000000
--- a/www-ssl/admin/userChangeSecure.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Editieren der Engelliste";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-if (IsSet($_GET["enterUID"]))
-{
- // UserID wurde mit uebergeben --> Aendern...
-
- echo "Hallo,<br>".
- "hier kannst du den Eintrag &auml;ndern. Unter dem Punkt 'Gekommen' ".
- "wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, ".
- "dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. ".
- "Wenn T-Shirt ein 'Ja' enth&auml;lt, bedeutet dies, dass der Engel ".
- "bereits sein T-Shirt erhalten hat.<br><br>\n";
-
-
- $SQL_CVS = "SELECT * FROM `UserCVS` WHERE `UID`='". $_GET["enterUID"]. "'";
- $Erg_CVS = mysql_query($SQL_CVS, $con);
-
- if( mysql_num_rows($Erg_CVS) != 1)
- echo "Sorry, der Engel (UID=". $_GET["enterUID"]. ") wurde in der Liste nicht gefunden.";
- else
- {
- // Rename if is an group
- if( $_GET["enterUID"] < 0 ) {
- $SQLname = "SELECT `Name` FROM `UserGroups` WHERE `UID`='". $_GET["enterUID"]. "'";
- $ErgName = mysql_query($SQLname, $con);
- echo mysql_error($con);
-
- echo "<form action=\"./userSaveSecure.php?action=changeGroupName\" method=\"POST\">\n";
- echo "<input type=\"hidden\" name=\"enterUID\" value=\"". $_GET["enterUID"]. "\">\n";
- echo "<input type=\"text\" name=\"GroupName\" value=\"". mysql_result($ErgName, 0, "Name"). "\">\n";
- echo "<input type=\"submit\" value=\"rename\">\n";
- echo "</form>";
- }
-
- echo "<form action=\"./userSaveSecure.php?action=change\" method=\"POST\">\n";
- echo "<table border=\"0\">\n";
- echo "<input type=\"hidden\" name=\"Type\" value=\"Secure\">\n";
- echo " <tr><td><br><u>Rights of \"". UID2Nick($_GET["enterUID"]). "\":</u></td></tr>\n";
-
-
- $CVS_Data = mysql_fetch_array($Erg_CVS);
- $CVS_Data_i = 1;
- foreach ($CVS_Data as $CVS_Data_Name => $CVS_Data_Value)
- {
- $CVS_Data_i++;
- //nur jeder zweiter sonst wird für jeden text noch die position (Zahl) ausgegeben
- if( $CVS_Data_i%2 && $CVS_Data_Name!="UID")
- {
- if($CVS_Data_Name=="GroupID") {
- if( $_GET["enterUID"] > 0 )
- {
- echo "<tr><td><b>Group</b></td>\n".
- "<td><select name=\"GroupID\">";
-
- $SQL_Group = "SELECT * FROM `UserGroups`";
- $Erg_Group = mysql_query($SQL_Group, $con);
- for ($n = 0 ; $n < mysql_num_rows($Erg_Group) ; $n++)
- {
- $UID = mysql_result($Erg_Group, $n, "UID");
- echo "\t<option value=\"$UID\"";
- if( $CVS_Data_Value == $UID)
- echo " selected";
- echo ">". mysql_result($Erg_Group, $n, "Name"). "</option>\n";
- }
- echo "</select></td></tr>";
- }
- } else {
- echo "<tr><td>$CVS_Data_Name</td>\n<td>";
- echo "<input type=\"radio\" name=\"".($CVS_Data_i-1)."\" value=\"Y\" ";
- if( $CVS_Data_Value == "Y" )
- echo " checked";
- echo ">allow \n";
- echo "<input type=\"radio\" name=\"".($CVS_Data_i-1)."\" value=\"N\" ";
- if( $CVS_Data_Value == "N" )
- echo " checked";
- echo ">denied \n";
- if( $_GET["enterUID"] > 0 )
- {
- echo "<input type=\"radio\" name=\"".($CVS_Data_i-1)."\" value=\"G\" ";
- if( $CVS_Data_Value == "G" )
- echo " checked";
- echo ">group-setting \n";
- echo "</td></tr>";
- }
- }
- } //IF
- } //Foreach
- echo "</td></tr>\n";
-
- // Ende Formular
- echo "</td></tr>\n";
- echo "</table>\n<br>\n";
- echo "<input type=\"hidden\" name=\"enterUID\" value=\"". $_GET["enterUID"]. "\">\n";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>";
-
- echo "<br><form action=\"./userSaveSecure.php?action=delete\" method=\"POST\">\n";
- echo "<input type=\"hidden\" name=\"enterUID\" value=\"". $_GET["enterUID"]. "\">\n";
- echo "<input type=\"submit\" value=\"l&ouml;schen...\">\n";
- echo "</form>";
- }
-}
-
-include ("../../includes/footer.php");
-?>
-
-
diff --git a/www-ssl/admin/userDefaultSetting.php b/www-ssl/admin/userDefaultSetting.php
deleted file mode 100755
index 84d880ad..00000000
--- a/www-ssl/admin/userDefaultSetting.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?PHP
-
-$title = "Defalut User Setting";
-$header = "Defalut User Setting";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-
-echo "Hallo ".$_SESSION['Nick'].
- ",<br>\nhier hast du die M&ouml;glichkeit, die Defaulteinstellungen f&uuml;r neue User einzustellen:<br><br>\n";
-
-echo "<table border=\"0\" class=\"border\">\n";
-echo "\t<tr class=\"contenttopic\">\n";
-echo "\t\t<th>Page</th>\n\t\t<th>Show</th>\n\t\t<th></th>\n";
-echo "\t</tr>\n";
-
-if( isset( $_GET["Field"]) && isset( $_GET["Default"]) && isset( $_GET["Send"]))
-{
- switch( $_GET["Send"])
- {
- case "New":
- $SQL = "ALTER TABLE `UserCVS` ADD `". $_GET["Field"]. "` ".
- "CHAR( 1 ) DEFAULT '". $_GET["Default"]. "' NOT NULL";
- $Erg = db_query( $SQL, "New user default setting");
- if( $Erg == 1)
- echo "<H2>Create ".$_GET["Field"]. " = ". $_GET["Default"]. " succesfull</h2>\n";
- else
- echo "<H2>Create ".$_GET["Field"]. " = ". $_GET["Default"]. " error...</h2>\n".
- "[". mysql_error(). "]<br><br>";
- break;
- case "Del":
- echo "\t<tr class=\"content\">\n";
- echo "\t\t<form action=\"userDefaultSetting.php\">\n";
- echo "\t\t\t<td><input name=\"Field\" type=\"text\" value=\"". $_GET["Field"]. "\" readonly></td>\n";
- echo "\t\t\t<td><input name=\"Default\" type=\"text\" value=\"". $_GET["Default"]. "\" readonly></td>\n";
- echo "\t\t\t<td><input type=\"submit\" name=\"Send\" value=\"Del sure\"></td>\n";
- echo "\t\t</form>\n";
- echo "\t</tr>\n";
- break;
- case "Del sure":
- $SQL = "ALTER TABLE `UserCVS` DROP `". $_GET["Field"]. "` ";
- $Erg = db_query( $SQL, "del user default setting");
- if( $Erg == 1)
- echo "<H2>Delete ".$_GET["Field"]. " succesfull</h2>\n";
- else
- echo "<H2>Delete ".$_GET["Field"]. " error...</h2>\n".
- "[". mysql_error(). "]<br><br>";
- break;
- case "SetForAllUser":
- $SQL = "UPDATE `UserCVS` SET `". $_GET["Field"]. "`='". $_GET["Default"]. "' WHERE UID>0";
- $Erg = db_query( $SQL, "Set new user default setting for all user");
- if( $Erg == 1)
- echo "<H2>UPDATE ".$_GET["Field"]. " = ". $_GET["Default"]. " for all Users succesfull</h2>\n";
- else
- echo "<H2>UPDATE ".$_GET["Field"]. " = ". $_GET["Default"]. " for all Users error...</h2>\n".
- "[". mysql_error(). "]<br><br>";
- case "Save":
- $SQL = "ALTER TABLE `UserCVS` CHANGE `". $_GET["Field"]. "` ".
- "`". $_GET["Field"]. "` CHAR( 1 ) NOT NULL DEFAULT '". $_GET["Default"]. "'";
- $Erg = db_query( $SQL, "Save user default setting");
- if( $Erg == 1)
- echo "<H2>Write ".$_GET["Field"]. " = ". $_GET["Default"]. " succesfull</h2>\n";
- else
- echo "<H2>Write ".$_GET["Field"]. " = ". $_GET["Default"]. " error...</h2>\n".
- "[". mysql_error(). "]<br><br>";
- break;
- } //SWITCH
-} //IF(
-
-
-$erg = mysql_query("SHOW COLUMNS FROM `UserCVS`");
-echo mysql_error();
-echo "\t<tr class=\"content\">\n";
-echo "\t\t<form action=\"userDefaultSetting.php\">\n";
-echo "\t\t\t<input name=\"Field\" type=\"hidden\" value=\GroupID\">\n";
-echo "\t\t\t<td>Group</td>\n";
-echo "\t\t\t<td><select name=\"GroupID\">";
-
-$SQL_Group = "SELECT * FROM `UserGroups`";
-$Erg_Group = mysql_query($SQL_Group, $con);
-for ($n = 0 ; $n < mysql_num_rows($Erg_Group) ; $n++)
-{
- $UID = mysql_result($Erg_Group, $n, "UID");
- echo "\t<option value=\"$UID\"";
- if( mysql_result( $erg, 1, "Default") == $UID)
- echo " selected";
- echo ">". mysql_result($Erg_Group, $n, "Name"). "</option>\n";
-}
-echo "</select></td>\n";
-echo "\t\t\t<td><input type=\"submit\" name=\"Send\" value=\"Save\">\n";
-echo "\t\t\t <input type=\"submit\" name=\"Send\" value=\"SetForAllUser\"></td>\n";
-echo "\t\t</form>\n";
-echo "\t</tr>\n";
-
-for( $i=2; $i<mysql_num_rows($erg); $i++)
-{
- echo "\t<tr class=\"content\">\n";
- echo "\t\t<form action=\"userDefaultSetting.php\">\n";
- echo "\t\t\t<input name=\"Field\" type=\"hidden\" value=\"". mysql_result( $erg, $i, "Field"). "\">\n";
- echo "\t\t\t<td>". mysql_result( $erg, $i, "Field"). "</td>\n";
- echo "\t\t\t<td>\n";
-
- echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"Y\"";
- if( mysql_result( $erg, $i, "Default") == "Y")
- echo " checked";
- echo ">allow\n";
-
- echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"N\"";
- if( mysql_result( $erg, $i, "Default") == "N")
- echo " checked";
- echo ">denied\n";
-
- echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"G\"";
- if( mysql_result( $erg, $i, "Default") == "G")
- echo " checked";
- echo ">group-setting\n";
-
- echo "\t\t\t</td>\n";
- echo "\t\t\t<td><input type=\"submit\" name=\"Send\" value=\"Save\">\n";
- echo "\t\t\t <input type=\"submit\" name=\"Send\" value=\"Del\">\n";
- echo "\t\t\t <input type=\"submit\" name=\"Send\" value=\"SetForAllUser\"></td>\n";
- echo "\t\t</form>\n";
- echo "\t</tr>\n";
-}
-
-echo "\t<tr class=\"content\">\n";
-echo "\t\t<form action=\"userDefaultSetting.php\">\n";
-echo "\t\t\t<input name=\"New\" type=\"hidden\" value=\"New\">\n";
-echo "\t\t\t<td><input name=\"Field\" type=\"text\" value=\"new\"></td>\n";
-echo "\t\t\t<td>\n";
-echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"Y\">allow\n";
-echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"N\">denied\n";
-echo "\t\t\t\t<input type=\"radio\" name=\"Default\" value=\"G\" checked>group-setting\n";
-echo "\t\t\t</td>\n";
-echo "\t\t\t<td><input type=\"submit\" name=\"Send\" value=\"New\"></td>\n";
-echo "\t\t</form>\n";
-echo "\t</tr>\n";
-
-
-
-echo "</table>\n";
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/userSaveNormal.php b/www-ssl/admin/userSaveNormal.php
deleted file mode 100755
index 3a793d45..00000000
--- a/www-ssl/admin/userSaveNormal.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Index";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-include ("../../includes/crypt.php");
-include ("../../includes/funktion_db.php");
-
-if (IsSet($_GET["action"]))
-{
- SetHeaderGo2Back();
- echo "Gesendeter Befehl: ". $_GET["action"]. "<br>";
-
- switch ($_GET["action"])
- {
- case "change":
- if (IsSet($_POST["enterUID"]))
- {
- if ($_POST["Type"] == "Normal")
- {
- $SQL = "UPDATE `User` SET ";
- $SQL.= " `Nick` = '". $_POST["eNick"]. "', `Name` = '". $_POST["eName"]. "', ".
- "`Vorname` = '". $_POST["eVorname"]. "', ".
- "`Telefon` = '". $_POST["eTelefon"]. "', ".
- "`Handy` = '". $_POST["eHandy"]. "', ".
- "`DECT` = '". $_POST["eDECT"]. "', ".
- "`email` = '". $_POST["eemail"]. "', ".
- "`ICQ` = '". $_POST["eICQ"]. "', ".
- "`jabber` = '". $_POST["ejabber"]. "', ".
- "`Size` = '". $_POST["eSize"]. "', ".
- "`Gekommen`= '". $_POST["eGekommen"]. "', ".
- "`Aktiv`= '". $_POST["eAktiv"]. "', ".
- "`Tshirt` = '". $_POST["eTshirt"]. "', ".
- "`Hometown` = '". $_POST["Hometown"]. "' ".
- "WHERE `UID` = '". $_POST["enterUID"].
- "' LIMIT 1;";
- echo "User-";
- $Erg = db_query($SQL, "change user details");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- }
- else
- echo "<h1>Fehler: Unbekanter Type (". $_POST["Type"]. ") übergeben\n</h1>\n";
- }
- else
- echo "<h1>Fehler: UserID (enterUID) wurde nicht per POST übergeben</h1>\n";
- break;
-
- case "delete":
- if (IsSet($_POST["enterUID"]))
- {
- echo "delate User...";
- $SQL="DELETE FROM `User` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL, "User delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- echo "<br>\ndelate UserCVS...";
- $SQL2="DELETE FROM `UserCVS` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL2, "User CVS delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- echo "<br>\ndelate UserEntry...";
- $SQL3="UPDATE `ShiftEntry` SET `UID`='0', `Comment`=NULL ".
- "WHERE `UID`='". $_POST["enterUID"]. "';";
- $Erg = db_query($SQL3, "delate UserEntry");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- }
- break;
-
-
- case "newpw":
- echo "Bitte neues Kennwort f&uuml;r <b>";
- // Get Nick
- $USQL = "SELECT * FROM `User` WHERE `UID`='". $_GET["eUID"]. "'";
- $Erg = mysql_query($USQL, $con);
- echo mysql_result($Erg, 0, "Nick");
- echo "</b> eingeben:<br>";
- echo "<form action=\"./userSaveNormal.php?action=newpwsave\" method=\"POST\">\n";
- echo "<input type=\"Password\" name=\"ePasswort\">";
- echo "<input type=\"Password\" name=\"ePasswort2\">";
- echo "<input type=\"hidden\" name=\"eUID\" value=\"". $_GET["eUID"]. "\">";
- echo "<input type=\"submit\" value=\"sichern...\">\n";
- echo "</form>";
- break;
-
- case "newpwsave":
- if ($_POST["ePasswort"] == $_POST["ePasswort2"])
- { // beide Passwoerter passen...
- $_POST["ePasswort"] = PassCrypt($_POST["ePasswort"]);
- $SQL = "UPDATE `User` SET `Passwort`='". $_POST["ePasswort"]. "' ".
- "WHERE `UID`='". $_POST["eUID"]. "'";
- $Erg = db_query($SQL, "User new passwort");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- }
- else
- echo "Das Passwort wurde nicht &uuml;bereinstimmend eingegeben!";
- break;
- } // end switch
-
-// ende - Action ist gesetzt
-}
-else
-{
- // kein Action gesetzt -> abbruch
- echo "Unzul&auml;ssiger Aufruf.<br>Bitte neu editieren...";
-}
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/admin/userSaveSecure.php b/www-ssl/admin/userSaveSecure.php
deleted file mode 100755
index 4a3c1eae..00000000
--- a/www-ssl/admin/userSaveSecure.php
+++ /dev/null
@@ -1,178 +0,0 @@
-<?PHP
-
-$title = "User-Liste";
-$header = "Index";
-include ("../../includes/header.php");
-include ("../../includes/funktion_db_list.php");
-include ("../../includes/crypt.php");
-include ("../../includes/funktion_db.php");
-
-if( !IsSet($_POST["enterUID"]) )
-{
- $Right = "N";
-} elseif( $_POST["enterUID"] > 0 ) {
- $Right = $_SESSION['CVS'][ "admin/user.php"];
-} else {
- $Right = $_SESSION['CVS'][ "admin/group.php"];
-}
-
-if ( ($Right=="Y") && IsSet($_GET["action"]))
-{
- SetHeaderGo2Back();
- echo "Gesendeter Befehl: ". $_GET["action"]. "<br>";
-
- switch ($_GET["action"])
- {
- case "change":
- if (IsSet($_POST["enterUID"]))
- {
- if ($_POST["Type"] == "Secure")
- {
- $SQL2 = "UPDATE `UserCVS` SET ";
- $SQL_CVS = "SELECT * FROM `UserCVS` WHERE `UID`='". $_POST["enterUID"]. "'";
- $Erg_CVS = mysql_query($SQL_CVS, $con);
- $CVS_Data = mysql_fetch_array($Erg_CVS);
- $CVS_Data_i = 1;
- foreach ($CVS_Data as $CVS_Data_Name => $CVS_Data_Value)
- {
- if( ($CVS_Data_i+1)%2 && $CVS_Data_Name!="UID") {
- if( $CVS_Data_Name == "GroupID")
- {
- if( $_POST["enterUID"] > 0 )
- $SQL2.= "`$CVS_Data_Name` = '". $_POST["GroupID"]."', ";
- else
- $SQL2.= "`$CVS_Data_Name` = NULL, ";
- } else {
- $SQL2.= "`$CVS_Data_Name` = '". $_POST[$CVS_Data_i]."', ";
- }
- }
- $CVS_Data_i++;
- }
- $SQL2 = substr( $SQL2, 0, strlen($SQL2)-2 );
- $SQL2.= " WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- echo "<br>Secure-";
- $Erg = db_query($SQL2, "change user CVS");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- }
- else
- echo "<h1>Fehler: Unbekanter Type (". $_POST["Type"]. ") übergeben\n</h1>\n";
- }
- else
- echo "<h1>Fehler: UserID (enterUID) wurde nicht per POST übergeben</h1>\n";
- break;
-
- case "changeGroupName":
- if (IsSet($_POST["enterUID"]) && ($_POST["enterUID"]<0) )
- {
- $SQL = "UPDATE `UserGroups` SET `Name`='". $_POST["GroupName"]. "' WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1 ;";
- $Erg = db_query($SQL, "Update Group Name");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- }
- else
- echo "<h1>Fehler: UserID (enterUID) wurde nicht per POST übergeben</h1>\n";
- break;
-
- case "delete":
- if (IsSet($_POST["enterUID"]) && ($_POST["enterUID"]>0) )
- {
- echo "delate User...";
- $SQL="DELETE FROM `User` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL, "User delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- echo "<br>\ndelate UserCVS...";
- $SQL2="DELETE FROM `UserCVS` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL2, "User CVS delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- echo "<br>\ndelate UserEntry...";
- $SQL3="UPDATE `ShiftEntry` SET `UID`='0', `Comment`=NULL ".
- "WHERE `UID`='". $_POST["enterUID"]. "';";
- $Erg = db_query($SQL3, "delate UserEntry");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
- } elseif (IsSet($_POST["enterUID"]) && ($_POST["enterUID"]<0) ) {
- echo "delate Group...";
- $SQL="DELETE FROM `UserGroups` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL, "Group delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- echo "<br>\ndelate UserCVS...";
- $SQL2="DELETE FROM `UserCVS` WHERE `UID`='". $_POST["enterUID"]. "' LIMIT 1;";
- $Erg = db_query($SQL2, "User CVS delete");
- if ($Erg == 1) {
- echo "&Auml;nderung wurde gesichert...\n";
- } else {
- echo "Fehler beim speichern...\n(". mysql_error($con). ")";
- }
-
- }
- break;
- } // end switch
-
-// ende - Action ist gesetzt
-} elseif ( IsSet($_GET["new"]) && ($_SESSION['CVS']["admin/group.php"]=="Y") ) {
- echo "Gesendeter Befehl: ". $_GET["new"]. "<br>";
-
- switch ($_GET["new"])
- {
- case "newGroup":
- echo "\tGenerate new Group ID...\n";
- $SQLid="SELECT MIN(`UID`) FROM `UserCVS`;";
- $Erg = mysql_query( $SQLid);
-
- if( mysql_num_rows($Erg) == 1) {
- $NewId = mysql_result( $Erg, 0, 0)-1;
- $SQLnew1 = "INSERT INTO `UserGroups` (`UID`, `Name`) VALUES ('$NewId', '". $_POST["GroupName"]. "' );";
- $SQLnew2 = "INSERT INTO `UserCVS` (`UID`, `GroupID`) VALUES ('$NewId', NULL );";
- echo "\t<br>Generate new UserGroup ...\n";
- $ErgNew1 = db_query($SQLnew1, "create UserGroups Entry");
- if ($ErgNew1 == 1)
- {
- echo "\t<br>Generate new User rights...\n";
- $ErgNew2 = db_query($SQLnew2, "UserCVS Entry");
- if ($ErgNew1 == 1) {
- echo "\t<br>New group was created.\n";
- } else {
- echo "Error on creation\n(". mysql_error($con). ")";
- }
- } else {
- echo "Error on creation\n(". mysql_error($con). ")";
- }
-
- }
-
-
- break;
- }
-} else {
- // kein Action gesetzt -> abbruch
- echo "Unzul&auml;ssiger Aufruf.<br>Bitte neu editieren...";
-}
-
-include ("../../includes/footer.php");
-?>
-
diff --git a/www-ssl/bootstrap.php b/www-ssl/bootstrap.php
new file mode 100644
index 00000000..40a32578
--- /dev/null
+++ b/www-ssl/bootstrap.php
@@ -0,0 +1,10 @@
+<?php
+// path and include settings
+$rootpath = str_replace(DIRECTORY_SEPARATOR . 'bootstrap.php', '', __FILE__);
+define('ROOTPATH', $rootpath);
+
+$includePath = ini_get('include_path');
+$includePath .= PATH_SEPARATOR . ROOTPATH . DIRECTORY_SEPARATOR . '..';
+
+ini_set('include_path', $includePath);
+?> \ No newline at end of file
diff --git a/www-ssl/css/base.css b/www-ssl/css/base.css
new file mode 100644
index 00000000..236eba81
--- /dev/null
+++ b/www-ssl/css/base.css
@@ -0,0 +1,205 @@
+* {
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ font-family: Arial;
+ sans-serif;
+ font-size:
+ 14px;
+}
+
+header {
+ display: block;
+ width: 100%;
+}
+
+article, details {
+ clear: none;
+ display: block;
+ float: none;
+}
+
+footer {
+ clear: both;
+ display: block;
+ font-size: 12px;
+ text-align: center;
+ width: 100%;
+}
+
+footer p {
+ margin: 10px auto;
+}
+
+#logo {
+ background: url('../pic/himmel.png') top left no-repeat;
+ display: block;
+ height: 32px;
+ margin: 10px auto;
+ width: 380px;
+}
+
+#body {
+ margin: 0 5%;
+}
+
+#menu {
+ float: left;
+ width: 200px;
+}
+
+#content {
+ margin-left: 200px;
+}
+
+a {
+ color: #000;
+}
+
+td, dt, dd {
+ padding: 4px;
+}
+
+dt {
+ font-weight: bold;
+}
+
+dd {
+ margin-left: 20px;
+}
+
+h1, h2, h3, h4 {
+ font-size: 16px;
+ padding: 0 4px;
+}
+
+hr {
+ margin: 10px 0;
+}
+
+ul {
+ padding: 5px 0 5px 20px;
+}
+
+nav {
+ margin: 0 10px 10px 0;
+}
+
+#content > article {
+ padding: 10px;
+}
+
+p {
+ padding: 0 0 10px 0;
+}
+
+#menu p {
+ padding: 4px;
+}
+
+a.sprache img {
+ margin-right: 5px;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+th {
+ background: #f0f0f0;
+}
+
+td, th {
+ border: 1px solid #888;
+}
+
+textarea {
+ height: 200px;
+ width: 300px;
+}
+
+.hidden {
+ background: #fff;
+ border: 1px solid #888;
+ display: none;
+ font-size: 12px;
+ padding: 4px;
+}
+
+td .hidden {
+ position: absolute;
+}
+
+tr:hover .hidden {
+ display: block;
+}
+
+.clear {
+ clear: both;
+}
+
+.pagination {
+ text-align: center;
+}
+
+.background {
+ background: #f0f0f0;
+}
+
+.container {
+ border: 1px solid #888;
+}
+
+.content {
+ background: #fff;
+}
+
+.error {
+ color: #f00;
+}
+
+.success {
+ color: #090;
+}
+
+.notice {
+ background: #f0f0f0;
+ border: 2px solid #888;
+ margin: 10px;
+ padding: 10px;
+}
+
+.new_message {
+ font-weight: bold;
+}
+
+.news_comment, .news {
+ border: 1px solid #888;
+ margin: 10px 0;
+}
+
+.news_comment details, .news details {
+ background: #f0f0f0;
+ padding: 4px;
+}
+
+.news_comment p, .news p, h3 {
+ padding: 4px;
+}
+
+.news_comment p, .news_comment details {
+ margin-left: 72px;
+}
+
+.avatar {
+ float: left;
+ margin: 4px;
+ max-width: 64px;
+}
+
+.news.meeting {
+ border: 1px solid #000;
+ box-shadow: 1px 1px 5px #888;
+}
diff --git a/www-ssl/css/grossbild.js b/www-ssl/css/grossbild.js
index 618ecc1f..618ecc1f 100755..100644
--- a/www-ssl/css/grossbild.js
+++ b/www-ssl/css/grossbild.js
diff --git a/www-ssl/css/style.css.old b/www-ssl/css/style.css.old
deleted file mode 100755
index 254fb1b7..00000000
--- a/www-ssl/css/style.css.old
+++ /dev/null
@@ -1,53 +0,0 @@
-H1 {
- font-family : Helvetica,Arial,Verdana;
- font-size : 25pt;
-}
-H4 {
- font-family : Arial,Verdana;
-}
-A {
- font-family : Arial;
- font-size : small;
- text-decoration : none;
- color : #0000a0;
-}
-A:Visited {
- font-family : Arial;
- font-size : small;
- color : #0000a0;
- text-decoration : none;
-}
- A:Active {
- text-decoration : none;
- font-family : Arial;
- font-size : small;
-}
-A:Hover {
- font-family : Arial;
- font-size : small;
- color : #0000a0;
- text-decoration : underline;
- font-weight : bold;
-}
-B {
- font-weight : bold;
- font-family : Arial;
- font-size : small;
-}
-
-TD {
- font-size : small;
- font-family : Arial;
- padding-left : 1cm;
-}
-
-BODY {
- font-size : small;
- font-family : Arial;
- background-color : #f3b115;
- color : navy;
-}
-a.title {
- color:#ffa000;
-}
-
diff --git a/www-ssl/css/style.css.old2 b/www-ssl/css/style.css.old2
deleted file mode 100755
index 9f7c0c90..00000000
--- a/www-ssl/css/style.css.old2
+++ /dev/null
@@ -1,69 +0,0 @@
-H1 {
- font-family : Helvetica,Arial,Verdana;
- font-size : 25pt;
-}
-
-H4 {
- font-family : Arial,Verdana;
-}
-
-A {
- font-family : Arial;
- font-size : small;
- text-decoration : none;
- color : #778899;
-}
-
-A:Visited {
- font-family : Arial;
- font-size : small;
- color : #778899;
- text-decoration : none;
-}
-
-A:Active {
- text-decoration : none;
- font-family : Arial;
- font-size : small;
-}
-
-A:Hover {
- font-family : Arial;
- font-size : small;
- color : #778899;
- text-decoration : underline;
- font-weight : bold;
-}
-
-B {
- font-weight : bold;
- font-family : Arial;
- font-size : small;
-}
-
-TD {
- font-size : small;
- font-family : Arial;
-}
-
-BODY {
- font-size : small;
- font-family : Arial;
- background-color : #f3b115;
- color : navy;
-}
-
-
-a.title {
-color:#ffa000;
-}
-
-
-p.question {
- font-weight: bold;
-}
-
-p.answer {
- margin-left: 30px;
- margin-right: 30px;
-}
diff --git a/www-ssl/css/style1.css b/www-ssl/css/style1.css
index 8fec5db0..fd8426f1 100755..100644
--- a/www-ssl/css/style1.css
+++ b/www-ssl/css/style1.css
@@ -1,84 +1,83 @@
-body {
- background-color: #131313;
-
- color: #424242;
-
- line-height: 150%;
- font-family: Trebuchet MS, Lucida Grande, Arial, sans-serif;
-
- margin-bottom: 20px;
+body, .background {
+ background-color: #131313;
+ color: #424242;
+ line-height: 150%;
+ font-family: Trebuchet MS, Lucida Grande, Arial, sans-serif;
}
a {
- text-decoration: none;
- color: #424242
+ text-decoration: none;
+ color: #424242
}
td {
- font-size: small
+ font-size: small
}
a:active, a:hover {
- font-weight: bold
+ font-weight: bold
}
-
+
li {
- font-size: small
+ font-size: small
}
.content {
- background-color: #131313;
- color: #424242;
+ background-color: #131313;
+ color: #424242;
}
-.contenttopic {
- font-weight: bold;
- font-size: small;
- color: #000000;
- background-color: #333333
+.contenttopic, h1 {
+ font-weight: bold;
+ font-size: small;
+ color: #000000;
+ background-color: #333333
}
-.border {
- background-color: #333333
+.border, .container {
+ background-color: #333333;
+ border: 1px solid #424242;
}
.menu {
- background-color: #131313;
- color: #424242;
- font-size: small
+ background-color: #131313;
+ color: #424242;
+ font-size: small
}
-h4.menu {
- background-color: #333333;
- font-weight: bold;
- font-size: small;
- color: #000000
+
+h4 {
+ background-color: #333333;
+ font-weight: bold;
+ font-size: small;
+ color: #000000
}
.linkbox {
- background-color: #ffffff
+ background-color: #ffffff
}
.linkboxtitle {
- font-weight: bold;
- background-color: #000000;
- color: #ffffff
+ font-weight: bold;
+ background-color: #000000;
+ color: #ffffff
}
.question {
- font-weight: bold;
- font-size: 9pt
+ font-weight: bold;
+ font-size: 9pt
}
.engeltreffen {
- font-weight: bold;
- font-size: 9pt;
- color: #ff0000;
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
}
.answer {
- font-size: 9pt;
+ font-size: 9pt;
}
+
.comment {
- font-size : 6pt;
+ font-size: 6pt;
}
diff --git a/www-ssl/css/style1.css.old b/www-ssl/css/style1.css.old
deleted file mode 100755
index 4a597f35..00000000
--- a/www-ssl/css/style1.css.old
+++ /dev/null
@@ -1,79 +0,0 @@
-
-body {
- font-family: Arial;
- background-color: #3e9fef;
- color: #000000;
- font-size: small
-}
-
-a {
- text-decoration: none;
- color: #304930
-}
-
-td {
- font-size: small
-}
-
-a:active, a:hover {
- font-weight: bold
-}
-
-li {
- font-size: small
-}
-
-.content {
- background-color: #bdd9ef;
- color: #000000
-}
-
-.contenttopic {
- font-weight: bold;
- font-size: small;
- color: #fe961e;
- background-color: #157cc1
-}
-
-.border {
- background-color: #050509
-}
-
-.menu {
- background-color: #bdd9ef;
- color: #000022;
- font-size: small
-}
-h4.menu {
- font-weight: bold;
- font-size: small;
- color: #3e9fef
-}
-
-.linkbox {
- background-color: #ffffff
-}
-
-.linkboxtitle {
- font-weight: bold;
- background-color: #000000;
- color: #bdd9ef
-}
-
-.question {
- font-weight: bold;
- font-size: 9pt
-}
-
-.engeltreffen {
- font-weight: bold;
- font-size: 9pt;
- color: #ff0000;
-}
-
-.answer {
- font-size: 9pt;
-}
-.comment {
- font-size : 6pt;
-}
diff --git a/www-ssl/css/style10.css b/www-ssl/css/style10.css
new file mode 100644
index 00000000..fdaf9398
--- /dev/null
+++ b/www-ssl/css/style10.css
@@ -0,0 +1,11 @@
+#logo {
+ background: url('../pic/engelsystem_logo.png') top left no-repeat;
+ display: block;
+ height: 69px;
+ margin: 10px auto;
+ width: 523px;
+}
+
+tr:hover > td {
+ background: #f0f0f0;
+} \ No newline at end of file
diff --git a/www-ssl/css/style2.css b/www-ssl/css/style2.css
index e8510809..e8510809 100755..100644
--- a/www-ssl/css/style2.css
+++ b/www-ssl/css/style2.css
diff --git a/www-ssl/css/style3.css b/www-ssl/css/style3.css
index ca45d73c..ca45d73c 100755..100644
--- a/www-ssl/css/style3.css
+++ b/www-ssl/css/style3.css
diff --git a/www-ssl/css/style4.css b/www-ssl/css/style4.css
index b818c9c9..b818c9c9 100755..100644
--- a/www-ssl/css/style4.css
+++ b/www-ssl/css/style4.css
diff --git a/www-ssl/css/style5.css b/www-ssl/css/style5.css
index 4a8f7bcc..4a8f7bcc 100755..100644
--- a/www-ssl/css/style5.css
+++ b/www-ssl/css/style5.css
diff --git a/www-ssl/css/style6.css b/www-ssl/css/style6.css
index 72e1024d..8dc008e7 100755..100644
--- a/www-ssl/css/style6.css
+++ b/www-ssl/css/style6.css
@@ -1,11 +1,15 @@
-body {
+body, .background {
font-family: Arial, Helvetica, sans-serif;
background-color: #121327;
color: #FFFFFF;
font-size: small
}
+#logo {
+ background-image: url('../pic/himmel_w.png');
+}
+
a {
text-decoration: none;
color: #ff9900
@@ -35,7 +39,7 @@ li {
background-color: #333e47
}
-.border {
+.border, .container {
background-color: #000000
}
@@ -66,3 +70,7 @@ h4.menu {
.comment {
font-size : 6pt;
}
+
+h4, h1, th {
+ background: #333E47;
+}
diff --git a/www-ssl/css/style7.css b/www-ssl/css/style7.css
index 297f1d0c..297f1d0c 100755..100644
--- a/www-ssl/css/style7.css
+++ b/www-ssl/css/style7.css
diff --git a/www-ssl/css/style8.css b/www-ssl/css/style8.css
index 91d3b325..91d3b325 100755..100644
--- a/www-ssl/css/style8.css
+++ b/www-ssl/css/style8.css
diff --git a/www-ssl/css/style9.css b/www-ssl/css/style9.css
index 4310ca8c..4310ca8c 100755..100644
--- a/www-ssl/css/style9.css
+++ b/www-ssl/css/style9.css
diff --git a/www-ssl/faq.php b/www-ssl/faq.php
deleted file mode 100755
index 5aeaee54..00000000
--- a/www-ssl/faq.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$title = "Index";
-$header = "FAQ";
-include ("../includes/header.php");
-
-
-$SQL = "SELECT * FROM `FAQ`";
-$Erg = mysql_query($SQL, $con);
-
-// anzahl zeilen
-$Zeilen = mysql_num_rows($Erg);
-
-for ($n = 0 ; $n < $Zeilen ; $n++) {
- if (mysql_result($Erg, $n, "Antwort")!="") {
- echo "<p class='question'>".mysql_result($Erg, $n, "Frage")."</p>";
- echo "<p class='answetion'>".mysql_result($Erg, $n, "Antwort")."</p>";
- }
-}
-
-include ("../includes/footer.php");
-?>
-
diff --git a/www-ssl/index.php b/www-ssl/index.php
index 8192e987..e1a4496f 100755..100644
--- a/www-ssl/index.php
+++ b/www-ssl/index.php
@@ -1,19 +1,155 @@
<?php
-$title = "Index";
-$header = "Index";
-include ("../includes/header.php");
+require_once ('bootstrap.php');
+require_once ('includes/sys_auth.php');
+require_once ('includes/sys_counter.php');
+require_once ('includes/sys_lang.php');
+require_once ('includes/sys_menu.php');
+require_once ('includes/sys_mysql.php');
+require_once ('includes/sys_page.php');
+require_once ('includes/sys_shift.php');
+require_once ('includes/sys_template.php');
+require_once ('includes/sys_user.php');
-echo Get_Text("index_text1")."<br><br>";
-echo Get_Text("index_text2")."<br>";
-echo Get_Text("index_text3")."<br>";
+require_once ('config/config.php');
+require_once ('config/config_db.php');
-include ("../includes/login_eingabefeld.php");
+require_once ('includes/pages/admin_questions.php');
+require_once ('includes/pages/user_messages.php');
-echo "<h6>".Get_Text("index_text4")."</h6>";
+session_start();
-echo Get_Text("index_text5"). "<br>". $show_SSLCERT;
+sql_connect($config['host'], $config['user'], $config['pw'], $config['db']);
-include ("../includes/footer.php");
-?>
+load_auth();
+
+// JSON Authorisierung gewünscht?
+if (isset ($_REQUEST['auth']))
+ json_auth_service();
+
+// Gewünschte Seite/Funktion
+$p = isset ($user) ? "news" : "start";
+if (isset ($_REQUEST['p']))
+ $p = $_REQUEST['p'];
+
+$title = Get_Text($p);
+$content = "";
+// Recht dafür vorhanden?
+if (in_array($p, $privileges)) {
+ if ($p == "news") {
+ require_once ('includes/pages/user_news.php');
+ $content = user_news();
+ }
+ elseif ($p == "news_comments") {
+ require_once ('includes/pages/user_news.php');
+ $content = user_news_comments();
+ }
+ elseif ($p == "user_meetings") {
+ require_once ('includes/pages/user_news.php');
+ $content = user_meetings();
+ }
+ elseif ($p == "user_messages") {
+ $content = user_messages();
+ }
+ elseif ($p == "user_questions") {
+ require_once ('includes/pages/user_questions.php');
+ $content = user_questions();
+ }
+ elseif ($p == "user_wakeup") {
+ require_once ('includes/pages/user_wakeup.php');
+ $content = user_wakeup();
+ }
+ elseif ($p == "user_settings") {
+ require_once ('includes/pages/user_settings.php');
+ $content = user_settings();
+ }
+ elseif ($p == "login") {
+ require_once ('includes/pages/guest_login.php');
+ $content = guest_login();
+ }
+ elseif ($p == "register") {
+ require_once ('includes/pages/guest_login.php');
+ $content = guest_register();
+ }
+ elseif ($p == "logout") {
+ require_once ('includes/pages/guest_login.php');
+ $content = guest_logout();
+ }
+ elseif ($p == "admin_questions") {
+ $content = admin_questions();
+ }
+ elseif ($p == "admin_user") {
+ require_once ('includes/pages/admin_user.php');
+ $content = admin_user();
+ }
+ elseif ($p == "admin_news") {
+ require_once ('includes/pages/admin_news.php');
+ $content = admin_news();
+ }
+ elseif ($p == "admin_angel_types") {
+ require_once ('includes/pages/admin_angel_types.php');
+ $content = admin_angel_types();
+ }
+ elseif ($p == "admin_rooms") {
+ require_once ('includes/pages/admin_rooms.php');
+ $content = admin_rooms();
+ }
+ elseif ($p == "admin_groups") {
+ require_once ('includes/pages/admin_groups.php');
+ $content = admin_groups();
+ }
+ elseif ($p == "admin_faq") {
+ require_once ('includes/pages/admin_faq.php');
+ $content = admin_faq();
+ }
+ elseif ($p == "admin_language") {
+ require_once ('includes/pages/admin_language.php');
+ $content = admin_language();
+ }
+ elseif ($p == "admin_import") {
+ require_once ('includes/pages/admin_import.php');
+ $content = admin_import();
+ }
+ elseif ($p == "admin_log") {
+ require_once ('includes/pages/admin_log.php');
+ $content = admin_log();
+ } else {
+ require_once ('includes/pages/guest_start.php');
+ $content = guest_start();
+ }
+}
+elseif ($p == "credits") {
+ require_once ('includes/pages/guest_credits.php');
+ $content = guest_credits();
+}
+elseif ($p == "faq") {
+ require_once ('includes/pages/guest_faq.php');
+ $content = guest_faq();
+} else {
+ // Wenn schon eingeloggt, keine-Berechtigung-Seite anzeigen
+ if (isset ($user)) {
+ $title = Get_Text("no_access_title");
+ $content = Get_Text("no_access_text");
+ } else {
+ // Sonst zur Loginseite leiten
+ header("Location: " . page_link_to("login"));
+ }
+}
+// Hinweis für ungelesene Nachrichten
+if (isset ($user) && $p != "user_messages")
+ $content = user_unread_messages() . $content;
+
+// Erzengel Hinweis für unbeantwortete Fragen
+if (isset ($user) && $p != "admin_questions")
+ $content = admin_new_questions() . $content;
+
+echo template_render('../templates/layout.html', array (
+ 'theme' => isset ($user) ? $user['color'] : $default_theme,
+ 'title' => $title,
+ 'menu' => make_menu(),
+ 'content' => $content
+));
+
+counter();
+?>
diff --git a/www-ssl/lageplan.php b/www-ssl/lageplan.php
deleted file mode 100755
index 03aacf79..00000000
--- a/www-ssl/lageplan.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-$title = "Index";
-$header = "Lageplan";
-include ("../includes/header.php");
-
-echo "<p>". Get_Text("lageplan_text1"). "</p>";
-echo "<p><img src=\"./pic/lageplan/lageplan.jpg\"/>.";
-
-include ("../includes/footer.php");
-?>
-
diff --git a/www-ssl/logout.php b/www-ssl/logout.php
deleted file mode 100755
index e038be69..00000000
--- a/www-ssl/logout.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-include ("../includes/config.php");
-
-// Die Session zerstoeren...
-session_start();
-session_destroy ();
-// und eine neue erstellen, damit kein Erzengelmenü angezeigt wird (falls sich ein Erzengel abmeldet...)
-session_start();
-
-header("HTTP/1.1 302 Moved Temporarily");
-header("Location: ". $url. $ENGEL_ROOT);
-
-?>
diff --git a/www-ssl/makeuser.php b/www-ssl/makeuser.php
deleted file mode 100755
index 9ce07861..00000000
--- a/www-ssl/makeuser.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?PHP
-$title = "Anmeldung zum Chaos-Engel";
-$header = "";
-$success = "none";
-include ("../includes/config.php");
-include ("../includes/header.php");
-include ("../includes/config_db.php");
-include ("../includes/crypt.php");
-
-
-if( isset($_POST["send"]))
-{
- $eNick = trim($_POST["Nick"]);
- if( $_POST["Alter"]=="") $_POST["Alter"] = 0;
-
- //user vorhanden?
- $SQLans = "SELECT UID FROM `User` WHERE `Nick`='". $_POST["Nick"]. "'";
- $Ergans = mysql_query($SQLans, $con);
-
- if( strlen($_POST["Nick"]) < 2 )
- {
- $error= Get_Text("makeuser_error_nick1"). $_POST["Nick"]. Get_Text("makeuser_error_nick2");
- }
- elseif( mysql_num_rows( $Ergans) > 0)
- {
- $error= Get_Text("makeuser_error_nick1"). $_POST["Nick"]. Get_Text("makeuser_error_nick3");
- }
- elseif( strlen($_POST["email"]) <= 6 && strstr($_POST["email"], "@") == FALSE &&
- strstr($_POST["email"], ".") == FALSE )
- {
- $error= Get_Text("makeuser_error_mail");
- }
- elseif( !is_numeric($_POST["Alter"]))
- {
- $error= Get_Text("makeuser_error_Alter");
- }
- elseif( $_POST["Passwort"] != $_POST["Passwort2"] )
- {
- $error= Get_Text("makeuser_error_password1");
- }
- elseif( strlen($_POST["Passwort"]) < 6 )
- {
- $error= Get_Text("makeuser_error_password2");
- }
- else
- {
- $_POST["Passwort"] = PassCrypt($_POST["Passwort"]);
- unset($_POST["Passwort2"]);
-
- $SQL = "INSERT INTO `User` (".
- "`Nick` , ". "`Name` , ".
- "`Vorname`, ". "`Alter` , ".
- "`Telefon`, ". "`DECT`, ".
- "`Handy`, ". "`email`, ".
- "`ICQ`, ". "`jabber`, ".
- "`Size`, ". "`Passwort`, ".
- "`Art` , ". "`kommentar`, ".
- "`Hometown`,". "`CreateDate` ) ".
- "VALUES ( ".
- "'". $_POST["Nick"]. "', ". "'". $_POST["Name"]. "', ".
- "'". $_POST["Vorname"]. "', ". "'". $_POST["Alter"]. "', ".
- "'". $_POST["Telefon"]. "', ". "'". $_POST["DECT"]. "', ".
- "'". $_POST["Handy"]. "', ". "'". $_POST["email"]. "', ".
- "'". $_POST["ICQ"]. "', ". "'". $_POST["jabber"]. "', ".
- "'". $_POST["Size"]. "', ". "'". $_POST["Passwort"]. "', ".
- "'". $_POST["Art"]. "', ". "'". $_POST["kommentar"]. "', ".
- "'". $_POST["Hometown"]. "',". "NOW());";
- $Erg = mysql_query($SQL, $con);
-
- if ($Erg != 1)
- {
- echo Get_Text("makeuser_error_write1"). "<br>\n";
- $error = mysql_error($con);
- }
- else
- {
- echo "<p class=\"important\">". Get_Text("makeuser_writeOK"). "\n";
-
- $SQL2 = "SELECT `UID` FROM `User` WHERE `Nick`='". $_POST["Nick"]. "';";
- $Erg2 = mysql_query($SQL2, $con);
- $Data = mysql_fetch_array($Erg2);
-
- $SQL3 = "INSERT INTO `UserCVS` (`UID`) VALUES ('". $Data["UID"]. "');";
- $Erg3 = mysql_query($SQL3, $con);
- if ($Erg3 != 1)
- {
- echo "<h1>". Get_Text("makeuser_error_write2"). "<br>\n";
- $error = mysql_error($con);
- }
- else
- {
- echo Get_Text("makeuser_writeOK2"). "<br>\n";
- echo "<h1>". Get_Text("makeuser_writeOK3"). "</h1>\n";
- }
- echo Get_Text("makeuser_writeOK4"). "</p><p></p>\n<br><br>\n";
- $success="any";
-
- if ( isset($SubscribeMailinglist) )
- {
- if ( $_POST["subscribe-mailinglist"] == "")
- {
- $headers = "From: ". $_POST["email"]. "\r\n" .
- "X-Mailer: PHP/" . phpversion();
- mail( $SubscribeMailinglist, "subject", "message", $headers);
- }
- }
-
- }
- }
- if( isset($error) ){
- echo "<p class=\"warning\">\n$error\n</p>\n\n";
- }
-}
-else
-{
- //init vars
- $_POST["Nick"] = "";
- $_POST["Name"] = "";
- $_POST["Vorname"] = "";
- $_POST["Alter"] = "";
- $_POST["Telefon"] = "";
- $_POST["DECT"] = "";
- $_POST["Handy"] = "";
- $_POST["email"] = "";
- $_POST["subscribe-mailinglist"] = "";
- $_POST["ICQ"] = "";
- $_POST["jabber"] = "";
- $_POST["Size"] = "L";
- $_POST["Art"] = "";
- $_POST["kommentar"] = "";
- $_POST["Hometown"] = "";
-}
-
-if( $success=="none" ){
-echo "<h1>".Get_Text("makeuser_text0")."</h1>". "<h2>". Get_Text("makeuser_text1"). "</h2>";
-echo "\t<form action=\"\" method=\"post\">\n";
-echo "\t\t<table>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Nickname").
- "*</td><td><input type=\"text\" size=\"40\" name=\"Nick\" value=\"". $_POST["Nick"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Nachname").
- "</td><td><input type=\"text\" size=\"40\" name=\"Name\" value=\"". $_POST["Name"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Vorname").
- "</td><td><input type=\"text\" size=\"40\" name=\"Vorname\" value=\"". $_POST["Vorname"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Alter").
- "</td><td><input type=\"text\" size=\"40\" name=\"Alter\" value=\"". $_POST["Alter"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Telefon").
- "</td><td><input type=\"text\" size=\"40\" name=\"Telefon\" value=\"". $_POST["Telefon"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_DECT").
- "</td><td><input type=\"text\" size=\"40\" name=\"DECT\" value=\"". $_POST["DECT"]. "\"></td><td>\n";
-echo "\t\t\t<!--a href=\"https://21c3.ccc.de/wiki/index.php/POC\"><img src=\"./pic/external.png\" alt=\"external: \">DECT</a--></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Handy").
- "</td><td><input type=\"text\" size=\"40\" name=\"Handy\" value=\"". $_POST["Handy"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_E-Mail").
- "*</td><td><input type=\"text\" size=\"40\" name=\"email\" value=\"". $_POST["email"]. "\"></td></tr>\n";
-if ( isset($SubscribeMailinglist) )
-{
- echo "\t\t\t<tr><td>". Get_Text("makeuser_subscribe-mailinglist").
- "</td><td><input type=\"checkbox\" name=\"subscribe-mailinglist\" value=\"". $_POST["subscribe-mailinglist"]. "\">($SubscribeMailinglist)</td></tr>\n";
-}
-echo "\t\t\t<tr><td>ICQ</td><td><input type=\"text\" size=\"40\" name=\"ICQ\" value=\"". $_POST["ICQ"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>jabber</td><td><input type=\"text\" size=\"40\" name=\"jabber\" value=\"". $_POST["jabber"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_T-Shirt").
- " Gr&ouml;sse*</td><td align=\"left\">\n";
-echo "\t\t\t<select name=\"Size\">\n";
-echo "\t\t\t\t<option value=\"S\""; if ($_POST["Size"]=="S") echo " selected"; echo ">S</option>\n";
-echo "\t\t\t\t<option value=\"M\""; if ($_POST["Size"]=="M") echo " selected"; echo ">M</option>\n";
-echo "\t\t\t\t<option value=\"L\""; if ($_POST["Size"]=="L") echo " selected"; echo ">L</option>\n";
-echo "\t\t\t\t<option value=\"XL\""; if ($_POST["Size"]=="XL") echo " selected"; echo ">XL</option>\n";
-echo "\t\t\t\t<option value=\"2XL\""; if ($_POST["Size"]=="2XL") echo " selected"; echo ">2XL</option>\n";
-echo "\t\t\t\t<option value=\"3XL\""; if ($_POST["Size"]=="3XL") echo " selected"; echo ">3XL</option>\n";
-echo "\t\t\t\t<option value=\"4XL\""; if ($_POST["Size"]=="4XL") echo " selected"; echo ">4XL</option>\n";
-echo "\t\t\t\t<option value=\"5XL\""; if ($_POST["Size"]=="5XL") echo " selected"; echo ">5XL</option>\n";
-echo "\t\t\t\t<option value=\"S-G\""; if ($_POST["Size"]=="S-G") echo " selected"; echo ">S Girl</option>\n";
-echo "\t\t\t\t<option value=\"M-G\""; if ($_POST["Size"]=="M-G") echo " selected"; echo ">M Girl</option>\n";
-echo "\t\t\t\t<option value=\"L-G\""; if ($_POST["Size"]=="L-G") echo " selected"; echo ">L Girl</option>\n";
-echo "\t\t\t\t<option value=\"XL-G\""; if ($_POST["Size"]=="XL-G") echo " selected"; echo ">XL Girl</option>\n";
-echo "\t\t\t</select>\n";
-echo "\t\t\t</td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Engelart").
- "</td><td align=\"left\">\n";
-echo "\t\t\t<select name=\"Art\">\n";
-$Sql = "SELECT * FROM `EngelType` ORDER BY `NAME`";
-$Erg = mysql_query($Sql, $con);
-for( $t = 0; $t < mysql_num_rows($Erg); $t++ )
-{
- $Name = mysql_result($Erg, $t, "Name"). Get_Text("inc_schicht_engel");
- echo "\t\t\t\t<option value=\"$Name\"";
- if ($_POST["Art"]==$Name)
- echo " selected";
- echo ">$Name</option>\n";
-}
-echo "\t\t\t</select>\n";
-echo "\t\t\t</td>\n";
-echo "\t\t\t</tr>\n";
-echo "\t\t\t<tr>\n";
-echo "\t\t\t\t<td>". Get_Text("makeuser_text2"). "</td>\n";
-echo "\t\t\t<td><textarea rows=\"5\" cols=\"40\" name=\"kommentar\">". $_POST["kommentar"]. "</textarea></td>\n";
-echo "\t\t\t</tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Hometown").
- "</td><td><input type=\"text\" size=\"40\" name=\"Hometown\" value=\"". $_POST["Hometown"]. "\"></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Passwort").
- "*</td><td><input type=\"password\" size=\"40\" name=\"Passwort\"/></td></tr>\n";
-echo "\t\t\t<tr><td>". Get_Text("makeuser_Passwort2").
- "*</td><td><input type=\"password\" size=\"40\" name=\"Passwort2\"/></td></tr>\n";
-echo "\t\t\t<tr><td>&nbsp;</td><td><input type=\"submit\" name=\"send\" value=\"".
- Get_Text("makeuser_Anmelden"). "\"/></td></tr>\n";
-echo "\t\t</table>\n";
-echo "\t</form>\n";
-Print_Text("makeuser_text3");
-}
-
-include ("../includes/footer.php");
-?>
-
diff --git a/www-ssl/nonpublic/auth.php b/www-ssl/nonpublic/auth.php
deleted file mode 100755
index 99b153e5..00000000
--- a/www-ssl/nonpublic/auth.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?PHP
-header('Content-Type: application/json');
-
-include ("../../includes/config.php");
-include ("../../includes/config_db.php");
-
-$User = $_POST['user'];
-$Pass = $_POST['pw'];
-$SourceOuth = $_POST['so'];
-
-/*
-$User = $_GET['user'];
-$Pass = $_GET['pw'];
-$SourceOuth = $_GET['so'];
-*/
-
-/*
-$User = "admin";
-$Pass = "21232f297a57a5a743894a0e4a801fc3"; // "admin";
-$SourceOuth = 23;
-*/
-
-if ( isset($CurrentExternAuthPass) &&
- ($SourceOuth == $CurrentExternAuthPass) )
-{ // User ist noch nicht angemeldet
- $sql = "SELECT * FROM `User` WHERE `Nick`='". $User. "'";
- $Erg = mysql_query( $sql, $con);
-
- if ( mysql_num_rows( $Erg) == 1)
- { // Check, ob User angemeldet wird...
- if (mysql_result( $Erg, 0, "Passwort") == $Pass)
- { // Passwort ok...
- // Session wird eingeleitet und Session-Variablen gesetzt..
- $UID = mysql_result( $Erg, 0, "UID");
-
- // get CVS import Data
- $SQL = "SELECT * FROM `UserCVS` WHERE `UID`='". $UID. "'";
- $Erg_CVS = mysql_query($SQL, $con);
- $CVS = mysql_fetch_array($Erg_CVS);
-
- $msg = array(
- 'status' => 'success',
- 'rights' => $CVS
- );
- echo json_encode($msg);
-
- }
- else
- {
- echo json_encode(array('status' => 'failed'));
- }
- }
- else
- {
- echo json_encode(array('status' => 'failed'));
- }
-}
-else
-{
- echo json_encode(array('status' => 'failed'));
-}
-
-
-?>
-
-
diff --git a/www-ssl/nonpublic/einstellungen.php b/www-ssl/nonpublic/einstellungen.php
deleted file mode 100755
index aabcb830..00000000
--- a/www-ssl/nonpublic/einstellungen.php
+++ /dev/null
@@ -1,361 +0,0 @@
-<?PHP
-/* Todo: -add if-construct with configvar for user-shirt-settings
- *
- *
- */
-$title = "Himmel";
-$header = "Deine pers&ouml;nlichen Einstellungen";
-include ("../../includes/header.php");
-include ("../../includes/crypt.php");
-
-if (!IsSet($_POST["action"]))
-{
- echo Get_Text("Hallo").$_SESSION['Nick'].",<br>\n\n";
- Print_Text(13);
-?>
-<hr width=\"100%\">
-<?PHP Print_Text("pub_einstellungen_Text_UserData");?>
-<form action="./einstellungen.php" method="post">
- <input type="hidden" name="action" value="setUserData">
- <table>
- <tr> <td><?PHP Print_Text("pub_einstellungen_Nick"); ?></td>
- <td><input type="text" name="eNick" size="23" value="<?PHP echo $_SESSION["Nick"]; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Name"); ?></td>
- <td><input type="text" name="eName" size="23" value="<?PHP echo $_SESSION['Name']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Vorname"); ?></td>
- <td><input type="text" name="eVorname" size="23" value="<?PHP echo $_SESSION['Vorname']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Alter"); ?></td>
- <td><input type="text" name="eAlter" size="3" value="<?PHP echo $_SESSION['Alter']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Telefon"); ?></td>
- <td><input type="text" name="eTelefon" size="40" value="<?PHP echo $_SESSION['Telefon']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Handy"); ?></td>
- <td><input type="text" name="eHandy" size="40" value="<?PHP echo $_SESSION['Handy']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_DECT"); ?></td>
- <td><input type="text" name="eDECT" size="4" value="<?PHP echo $_SESSION['DECT']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_email"); ?></td>
- <td><input type="text" name="eemail" size="40" value="<?PHP echo $_SESSION['email']; ?>"></td></tr>
-
- <tr> <td>ICQ</td>
- <td><input type="text" name="eICQ" size="40" value="<?PHP echo $_SESSION['ICQ']; ?>"></td></tr>
-
- <tr> <td>jabber</td>
- <td><input type="text" name="ejabber" size="40" value="<?PHP echo $_SESSION['jabber']; ?>"></td></tr>
-
- <tr> <td><?PHP Print_Text("pub_einstellungen_Hometown"); ?></td>
- <td><input type="text" name="Hometown" size="40" value="<?PHP echo $_SESSION['Hometown']; ?>"></td></tr>
-<?PHP
-if( $_SESSION['CVS'][ "Change T_Shirt Size" ] == "Y" )
-{
-?>
- <tr> <td><?PHP Print_Text("makeuser_T-Shirt"); ?></td>
- <td><select name="Sizeid">
- <option <?php if($_SESSION['Size'] == 'S') { echo "selected"; } ?> value="S">S</option>
- <option <?php if($_SESSION['Size'] == 'M') { echo "selected"; } ?> value="M">M</option>
- <option <?php if($_SESSION['Size'] == 'L') { echo "selected"; } ?> value="L">L</option>
- <option <?php if($_SESSION['Size'] == 'XL') { echo "selected"; } ?> value="XL">XL</option>
- <option <?php if($_SESSION['Size'] == 'XXL') { echo "selected"; } ?> value="XXL">XXL</option>
- <option <?php if($_SESSION['Size'] == 'XXXL') { echo "selected"; } ?> value="XXXL">XXXL</option>
- </select></td></tr>
-<?PHP
-}
-?>
- </table>
- <input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
-<br>
-
-
-<hr width=\"100%\">
-<?PHP Print_Text(14);?>
-<form action="./einstellungen.php" method="post">
- <input type="hidden" name="action" value="set">
- <table>
- <tr><td><?PHP Print_Text(15); ?></td><td><input type="password" name="old" size="20"></td></tr>
- <tr><td><?PHP Print_Text(16); ?></td><td><input type="password" name="new1" size="20"></td></tr>
- <tr><td><?PHP Print_Text(17); ?></td><td><input type="password" name="new2" size="20"></td></tr>
- </table>
- <input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
-<br>
-
-
-<hr width="100%">
-<br>
-<?PHP Print_Text(18); ?>
-<form action="./einstellungen.php" method="post">
- <input type="hidden" name="action" value="colour">
- <table>
- <tr><td><?PHP Print_Text(19); ?></td>
- <td>
- <select name="colourid">
- <option <?php if($_SESSION['color'] == 1) { echo "selected"; } ?> value="1">Standard-Style</option>
- <option <?php if($_SESSION['color'] == 2) { echo "selected"; } ?> value="2">Rot/Gelber Style</option>
- <option <?php if($_SESSION['color'] == 3) { echo "selected"; } ?> value="3">Club-Mate Style</option>
- <option <?php if($_SESSION['color'] == 5) { echo "selected"; } ?> value="5">Debian Style</option>
- <option <?php if($_SESSION['color'] == 6) { echo "selected"; } ?> value="6">c-base Style</option>
- <option <?php if($_SESSION['color'] == 7) { echo "selected"; } ?> value="7">Blau/Gelber Style </option>
- <option <?php if($_SESSION['color'] == 8) { echo "selected"; } ?> value="8">Pastel Style</option>
- <option <?php if($_SESSION['color'] == 4) { echo "selected"; } ?> value="4">Test Style</option>
- <option <?php if($_SESSION['color'] == 9) { echo "selected"; } ?> value="9">Test Style 21c3 </option>
- </select>
- </td></tr>
- <tr><td>Menu</td>
- <td><input type="radio" name="eMenu" value="L"<?PHP
- if ($_SESSION['Menu']=='L') echo " checked"; ?>>L
- <input type="radio" name="eMenu" value="R"<?PHP
- if ($_SESSION['Menu']=='R') echo " checked"; ?>>R
- </td></tr>
- </table>
- <input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
-<br>
-<hr width="100%">
-<br>
-<?PHP Print_Text(20); ?>
-<form action="./einstellungen.php" method="post">
- <input type="hidden" name="action" value="sprache">
- <table>
- <tr><td><?PHP Print_Text(21); ?></td>
- <td>
- <select name="language">
- <option value="DE" <?php if($_SESSION['Sprache'] == 'DE') { echo "selected"; } ?>>Deutsch</option>
- <option value="EN" <?php if($_SESSION['Sprache'] == 'EN') { echo "selected"; } ?>>English</option>
-<?PHP /* <option value="NL" <?php if($_SESSION['Sprache'] == 'NL') { echo "selected"; } ?>>Dutch</option> */?>
- </select>
- </td></tr>
- </table>
- <input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
-<?PHP
-
-
- if( get_cfg_var("file_uploads"))
- {
- echo "<br>\n<hr width=\"100%\">\n<br>\n\n";
- echo Get_Text('pub_einstellungen_PictureUpload')."<br>";
- echo "<form action=\"./einstellungen.php\" method=\"post\" enctype=\"multipart/form-data\">\n";
- echo "\t<input type=\"hidden\" name=\"action\" value=\"sendPicture\">\n";
- echo "\t<input name=\"file\" type=\"file\" size=\"50\" maxlength=\"". get_cfg_var("post_max_size"). "\">\n";
- echo "\t(max ". get_cfg_var("post_max_size"). "Byte)<br>\n";
- echo "\t<input type=\"submit\" value=\"". Get_Text("upload"),"\">\n";
- echo "</form>\n";
- }
-
- switch( GetPicturShow( $_SESSION['UID']))
- {
- case 'Y':
- echo Get_Text('pub_einstellungen_PictureShow'). "<br>";
- echo displayPictur($_SESSION['UID'], 0);
- echo "<form action=\"./einstellungen.php\" method=\"post\">\n";
- echo "\t<input type=\"hidden\" name=\"action\" value=\"delPicture\">\n";
- echo "\t<input type=\"submit\" value=\"". Get_Text("delete"),"\">\n";
- echo "</form>\n";
- break;
- case 'N':
- echo Get_Text('pub_einstellungen_PictureNoShow'). "<br>";
- echo displayPictur($_SESSION['UID'], 0);
- echo "<form action=\"./einstellungen.php\" method=\"post\">\n";
- echo "\t<input type=\"hidden\" name=\"action\" value=\"delPicture\">\n";
- echo "\t<input type=\"submit\" value=\"". Get_Text("delete"),"\">\n";
- echo "</form>\n";
- echo "<br>\n<hr width=\"100%\">\n<br>\n\n";
- case '':
- echo "<br>\n<hr width=\"100%\">\n<br>\n\n";
- echo Get_Text(22). "<br>";
- echo "\n<form action=\"./einstellungen.php\" method=\"post\">\n";
- echo "\t<input type=\"hidden\" name=\"action\" value=\"avatar\">\n";
- echo "\t<table>\n";
- echo "\t\t<tr>\n\t\t\t<td>". Get_Text(23). "<br></td>\n\t\t</tr>\n";
- echo "\t\t<tr>\n";
- echo "\t\t\t<td>\n";
- echo "\t\t\t\t<select name=\"eAvatar\" onChange=\"document.avatar.src = '". $url. $ENGEL_ROOT. "pic/avatar/avatar' + this.value + '.gif'\"".
- "onKeyup=\"document.avatar.src = '". $url. $ENGEL_ROOT. "pic/avatar/avatar' + this.value + '.gif'\">\n";
- for ($i=1; file_exists("". "../pic/avatar/avatar$i.gif"); $i++ )
- echo "\t\t\t\t\t<option value=\"$i\"". ($_SESSION['Avatar'] == $i ? " selected":""). ">avatar$i</option>\n";
- echo "\t\t\t\t</select>&nbsp;&nbsp;\n";
- echo "\t\t\t\t<img src=\"". $url. $ENGEL_ROOT. "pic/avatar/avatar". $_SESSION['Avatar']. ".gif\" name=\"avatar\" border=\"0\" align=\"top\">\n";
- echo "\t\t\t</td>\n\t\t</tr>\n";
- echo "\t</table>\n";
- echo "\t<input type=\"submit\" value=\"". Get_Text("save"),"\">\n";
- echo "</form>\n";
- break;
- } //CASE
-
-} else {
-
-switch ($_POST["action"]) {
-
-case 'set':
- if ($_POST["new1"]==$_POST["new2"]){
- Print_Text(25);
- $sql = "SELECT * FROM `User` WHERE `UID`='".$_SESSION['UID']. "'";
- $Erg = mysql_query($sql, $con);
- if (PassCrypt($_POST["old"])==mysql_result($Erg, 0, "Passwort")) {
- Print_Text(26);
- Print_Text(27);
- $usql = "UPDATE `User` SET `Passwort`='". PassCrypt($_POST["new1"]). "' ".
- " WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1";
- $Erg = mysql_query($usql, $con);
- if ($Erg==1) {
- Print_Text(28);
- } else {
- Print_Text(29);
- }
- } else {
- Print_Text(30);
- }
- } else {
- Print_Text(31);
- }
- break;
-
-case 'colour':
-
- $chsql="UPDATE `User` SET ".
- "`color`= '". $_POST["colourid"]. "', ".
- "`Menu`= '". $_POST["eMenu"]. "' ".
- "WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1";
- $Erg = mysql_query($chsql, $con);
- echo mysql_error($con);
- $_SESSION['color']=$_POST["colourid"];
- $_SESSION['Menu']=$_POST["eMenu"];
- if ($Erg==1) {
- Print_Text(32);
- } else {
- Print_Text(29);
- }
- break;
-
-case 'sprache':
-
- $chsql="UPDATE `User` SET `Sprache` = '". $_POST["language"]. "' WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1";
- $Erg = mysql_query($chsql, $con);
- $_SESSION['Sprache']=$_POST["language"];
- if ($Erg==1) {
- Print_Text(33);
- } else {
- Print_Text(29);
- }
- break;
-
-case 'avatar':
- $chsql="UPDATE `User` SET `Avatar`='". $_POST["eAvatar"]. "' WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1";
- $Erg = mysql_query($chsql, $con);
- $_SESSION['Avatar']=$_POST["eAvatar"];
- if ($Erg==1)
- Print_Text(34);
- else
- Print_Text(29);
- break;
-
-case 'setUserData':
- if( $_SESSION['CVS'][ "Change T_Shirt Size" ] == "Y" )
- {
- $chsql= "UPDATE `User` SET ".
- "`Nick`='". $_POST["eNick"]. "', `Name`='". $_POST["eName"]. "', ".
- "`Vorname`='". $_POST["eVorname"]. "', `Alter`='". $_POST["eAlter"]. "', ".
- "`Telefon`='". $_POST["eTelefon"]. "', `Handy`='". $_POST["eHandy"]. "', ".
- "`DECT`='". $_POST["eDECT"]. "', `email`='". $_POST["eemail"]. "', ".
- "`ICQ`='". $_POST["eICQ"]. "', `jabber`='". $_POST["ejabber"]."', ".
- "`Hometown`='". $_POST["Hometown"]. "', `Size`='". $_POST["Sizeid"]. "' ".
- "WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1;";
- }
- else
- {
- $chsql= "UPDATE `User` SET ".
- "`Nick`='". $_POST["eNick"]. "', `Name`='". $_POST["eName"]. "', ".
- "`Vorname`='". $_POST["eVorname"]. "', `Alter`='". $_POST["eAlter"]. "', ".
- "`Telefon`='". $_POST["eTelefon"]. "', `Handy`='". $_POST["eHandy"]. "', ".
- "`DECT`='". $_POST["eDECT"]. "', `email`='". $_POST["eemail"]. "', ".
- "`ICQ`='". $_POST["eICQ"]. "', `jabber`='". $_POST["ejabber"]."', ".
- "`Hometown`='". $_POST["Hometown"]. "' ".
- "WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1;";
- }
- $Erg = mysql_query($chsql, $con);
-
- if ($Erg==1)
- {
- $_SESSION['Nick'] = $_POST["eNick"];
- $_SESSION['Name'] = $_POST["eName"];
- $_SESSION['Vorname'] = $_POST["eVorname"];
- $_SESSION['Alter'] = $_POST["eAlter"];
- $_SESSION['Telefon'] = $_POST["eTelefon"];
- $_SESSION['Handy'] = $_POST["eHandy"];
- $_SESSION['DECT'] = $_POST["eDECT"];
- $_SESSION['email'] = $_POST["eemail"];
- $_SESSION['ICQ'] = $_POST["eICQ"];
- $_SESSION['jabber'] = $_POST["ejabber"];
- $_SESSION['Hometown'] = $_POST["Hometown"];
- if( $_SESSION['CVS'][ "Change T_Shirt Size" ] == "Y" )
- {
- $_SESSION['Size']=$_POST["Sizeid"];
- }
- else if( $_SESSION['Size'] != $_POST["Sizeid"])
- {
- array_push($error_messages, "einstellungen.php, change t-shirt size not allowed\n");
- }
-
-
- Print_Text("pub_einstellungen_UserDateSaved");
- }
- else
- {
- Print_Text(29);
- echo mysql_error( $con);
- }
- break;
-
-case 'sendPicture':
- if( $_FILES["file"]["size"] > 0)
- {
- if( ($_FILES["file"]["type"] == "image/jpeg") ||
- ($_FILES["file"]["type"] == "image/png") ||
- ($_FILES["file"]["type"] == "image/gif") )
- {
- $data = addslashes(fread(fopen($_FILES["file"]["tmp_name"], "r"), filesize($_FILES["file"]["tmp_name"])));
-
- if( GetPicturShow( $_SESSION['UID']) == "")
- $SQL = "INSERT INTO `UserPicture` ".
- "( `UID`,`Bild`, `ContentType`, `show`) ".
- "VALUES ('". $_SESSION['UID']. "', '$data', '". $_FILES["file"]["type"]. "', 'N')";
- else
- $SQL = "UPDATE `UserPicture` SET ".
- "`Bild`='$data', ".
- "`ContentType`='". $_FILES["file"]["type"]. "', ".
- "`show`='N' ".
- "WHERE `UID`='". $_SESSION['UID']. "'";
-
- $res = mysql_query( $SQL, $con);
- if( $res)
- Print_Text("pub_einstellungen_send_OK");
- else
- Print_Text("pub_einstellungen_send_KO");
-
- echo "<h6>('" . $_FILES["file"]["name"] . "', MIME-Type: " . $_FILES["file"]["type"]. ", " . $_FILES["file"]["size"]. " Byte)</h6>";
- }
- else
- Print_Text("pub_einstellungen_send_KO");
- }
- else
- Print_Text("pub_einstellungen_send_KO");
- break;
-
-case 'delPicture':
- $chsql="DELETE FROM `UserPicture` WHERE `UID`='". $_SESSION['UID']. "' LIMIT 1";
- $Erg = mysql_query($chsql, $con);
- if ($Erg==1)
- Print_Text("pub_einstellungen_del_OK");
- else
- Print_Text("pub_einstellungen_del_KO");
- Break;
-}
-}
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/engelbesprechung.php b/www-ssl/nonpublic/engelbesprechung.php
deleted file mode 100755
index add50240..00000000
--- a/www-ssl/nonpublic/engelbesprechung.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "Engelbesprechung";
-include ("../../includes/header.php");
-?>
-
-<br>
-
-<?php
-
-$SQL = "SELECT * FROM `News` ORDER BY 'Datum' DESC";
-$Erg = mysql_query($SQL, $con);
-
-// anzahl zeilen
-$Zeilen = mysql_num_rows($Erg);
-
-for ($n = 0 ; $n < $Zeilen ; $n++)
-{
- if (mysql_result($Erg, $n, "Treffen")=="1")
- {
- echo "<p class='question'><u>".mysql_result($Erg, $n, "Betreff")."</u>";
-
- // Schow Admin Page
- if( $_SESSION['CVS'][ "admin/news.php" ] == "Y" )
- echo " <a href=\"./../admin/news.php?action=change&date=". mysql_result($Erg, $n, "Datum"). "\">[edit]</a>";
-
- echo "<br>&nbsp; &nbsp;<font size=1>".mysql_result($Erg, $n, "Datum").", ";
- echo UID2Nick(mysql_result($Erg, $n, "UID"))."</font></p>\n";
-
-
- echo "<p class='answetion'>".nl2br(mysql_result($Erg, $n, "Text"))."</p>\n";
- }
-}
-
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/faq.php b/www-ssl/nonpublic/faq.php
deleted file mode 100755
index 5adfb67c..00000000
--- a/www-ssl/nonpublic/faq.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "FAQ / Fragen an die Erzengel";
-include ("../../includes/header.php");
-
-
-// Erstaufruf, oder Frage bereits abgeschickt?
-if (!IsSet($_POST["eUID"]))
-{
- Print_Text(35);
-?>
-<br><br>
-<form action="./faq.php" method="POST">
- <input type="hidden" name="eUID" value="<?PHP echo $_SESSION['UID'] ?>">
- <textarea name="frage" cols="40" rows="10"><?PHP Print_Text(36); ?></textarea><br><br>
- <input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
-<?PHP
-
-} else {
-// Auswertung d. Formular-Daten:
-
-echo "<b>".Get_Text(37)."</b><br><br>\n".nl2br($_POST["frage"])."<br><br>\n".Get_Text(38)."<br>\n";
-
-$SQL = "INSERT INTO `Questions` VALUES ('', '".$_SESSION['UID']."', '". $_POST["frage"]. "', '', '')";
-$Erg = mysql_query($SQL, $con);
-
-}
-// Bisherige Anfragen:
-echo "<br>\n<b>".Get_Text(39)."</b><br>\n";
-echo "<hr width=\"99%\">\n";
-echo "<br><b>".Get_Text(40)."</b><br>\n";
-
-$SQL = "SELECT * FROM `Questions` WHERE `UID` = ". $_SESSION['UID']. " AND `AID`='0' ORDER BY 'QID' DESC";
-$Erg = mysql_query($SQL, $con);
-
-// anzahl zeilen
-$Zeilen = mysql_num_rows($Erg);
-
-if ($Zeilen==0){
- Print_Text(41);
-
-} else {
- for ($n = 0 ; $n < $Zeilen ; $n++) {
- echo "<p class='question'>".nl2br(mysql_result($Erg, $n, "Question"))."<br>\n";
-// Es gibt ja noch keine Antwort:
-// echo "<p class='answer'>".nl2br(mysql_result($Erg, $n, "Answer"))."</p>\n";
- echo "\n<br>---<br>";
- }
-}
-
-echo "<hr width=\"99%\">\n";
-echo "<br><b>".Get_Text(42)."</b><br>\n";
-$SQL = "SELECT * FROM `Questions` WHERE `UID`='".$_SESSION['UID']."' and `AID`<>'0' ORDER BY 'QID' DESC";
-$Erg = mysql_query($SQL, $con);
-
-// anzahl zeilen
-$Zeilen = mysql_num_rows($Erg);
-
-if ($Zeilen==0){
- Print_Text(41);
-} else {
- for ($n = 0 ; $n < $Zeilen ; $n++) {
- echo "<p class='question'>".nl2br(mysql_result($Erg, $n, "Question"))."<br>\n";
- echo "<p class='answer'>".nl2br(mysql_result($Erg, $n, "Answer")).
- "@". UID2Nick(mysql_result($Erg, $n, "AID"))."\n";
- echo "\n<br>---<br>";
- }
-}
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/index.php b/www-ssl/nonpublic/index.php
deleted file mode 100755
index affb571e..00000000
--- a/www-ssl/nonpublic/index.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?PHP
-$title = "Index";
-$header = "Index";
-
-include ("../../includes/config_db.php");
-include ("../../includes/crypt.php");
-
-session_start(); // alte Session - falls vorhanden - wiederherstellen...
-
-function LoginOK()
-{
- include ("../../includes/config.php");
- header("HTTP/1.1 302 Moved Temporarily");
- header("Location: ". $url. $ENGEL_ROOT. "nonpublic/news.php");
-}
-
-if ( !IsSet($_POST["user"]))
-{ // User ist bereits angemeldet... normaler Inhalt...
- LoginOK();
-}
-else
-{ // User ist noch nicht angemeldet
- $sql = "SELECT * FROM `User` WHERE `Nick`='". $_POST["user"]. "'";
- $userstring = mysql_query($sql, $con);
-
- // anzahl zeilen
- $user_anz = mysql_num_rows($userstring);
-
- if ($user_anz == 1) { // Check, ob User angemeldet wird...
- if (mysql_result($userstring, 0, "Passwort") == PassCrypt($_POST["password"])) { // Passwort ok...
- // Session wird eingeleitet und Session-Variablen gesetzt..
- // session_start();
- session_name("Himmel");
- $_SESSION['UID'] = mysql_result($userstring, 0, "UID");
- $_SESSION['Nick'] = mysql_result($userstring, 0, "Nick");
- $_SESSION['Name'] = mysql_result($userstring, 0, "Name");
- $_SESSION['Vorname'] = mysql_result($userstring, 0, "Vorname");
- $_SESSION['Alter'] = mysql_result($userstring, 0, "Alter");
- $_SESSION['Telefon'] = mysql_result($userstring, 0, "Telefon");
- $_SESSION['Handy'] = mysql_result($userstring, 0, "Handy");
- $_SESSION['DECT'] = mysql_result($userstring, 0, "DECT");
- $_SESSION['email'] = mysql_result($userstring, 0, "email");
- $_SESSION['ICQ'] = mysql_result($userstring, 0, "ICQ");
- $_SESSION['jabber'] = mysql_result($userstring, 0, "jabber");
- $_SESSION['Size'] = mysql_result($userstring, 0, "Size");
- $_SESSION['Gekommen'] = mysql_result($userstring, 0, "Gekommen");
- $_SESSION['Aktiv'] = mysql_result($userstring, 0, "Aktiv");
- $_SESSION['Tshirt'] = mysql_result($userstring, 0, "Tshirt");
- $_SESSION['Menu'] = mysql_result($userstring, 0, "Menu");
- $_SESSION['color'] = mysql_result($userstring, 0, "color");
- $_SESSION['Avatar'] = mysql_result($userstring, 0, "Avatar");
- $_SESSION['Sprache'] = mysql_result($userstring, 0, "Sprache");
- $_SESSION['Hometown'] = mysql_result($userstring, 0, "Hometown");
- $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
-
- // CVS import Data
- $SQL = "SELECT * FROM `UserCVS` WHERE `UID`='".$_SESSION['UID']."'";
- $Erg_CVS = mysql_query($SQL, $con);
- $_SESSION['CVS'] = mysql_fetch_array($Erg_CVS);
-
- LoginOK();
- }
- else
- { // Passwort nicht ok...
- $ErrorText = "pub_index_pass_no_ok";
- } // Ende Passwort-Check
- }
- else
- { // Anzahl der User in User-Tabelle <> 1 --> keine Anmeldung
- if ($user_anz == 0)
- $ErrorText = "pub_index_User_unset";
- else
- $ErrorText = "pub_index_User_more_as_one";
- } // Ende Check, ob User angemeldet wurde
-}
-include ("../../includes/header.php");
-if( isset($ErrorText))
- echo "<h2>". Get_Text($ErrorText). "</h2><br>\n";
-include ("../../includes/login_eingabefeld.php");
-include ("../../includes/footer.php");
-
-?>
-
-
diff --git a/www-ssl/nonpublic/messages.php b/www-ssl/nonpublic/messages.php
deleted file mode 100755
index 7d3bb7fb..00000000
--- a/www-ssl/nonpublic/messages.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "";
-
-include ("../../includes/header.php");
-
-If( !isset($_GET["action"]) )
- $_GET["action"] = "start";
-
-switch( $_GET["action"])
-{
- case "start":
- echo Get_Text("Hello"). $_SESSION['Nick']. ", <br>\n";
- echo Get_Text("pub_messages_text1"). "<br><br>\n";
-
- //#####################
- //show exist Messages
- //#####################
- $SQL = "SELECT * FROM `Messages` WHERE `SUID`='". $_SESSION["UID"]. "' OR `RUID`='". $_SESSION["UID"]. "'";
- $erg = mysql_query($SQL, $con);
-
- echo "<table border=\"0\" class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n";
- echo "<tr>\n";
- echo "\t<td class=\"contenttopic\"><b>". Get_Text("pub_messages_Datum"). "</b></td>\n";
- echo "\t<td class=\"contenttopic\"><b>". Get_Text("pub_messages_Von"). "</b></td>\n";
- echo "\t<td class=\"contenttopic\"><b>". Get_Text("pub_messages_An"). "</b></td>\n";
- echo "\t<td class=\"contenttopic\"><b>". Get_Text("pub_messages_Text"). "</b></td>\n";
- echo "\t<td class=\"contenttopic\"></td>\n";
- echo "</tr>\n";
-
- for( $i=0; $i<mysql_num_rows( $erg ); $i++ )
- {
- echo "<tr class=\"content\">\n";
- echo "\t<td>". mysql_result( $erg, $i, "Datum" ). "</td>\n";
- echo "\t<td>". UID2Nick( mysql_result( $erg, $i, "SUID" )). "</td>\n";
- echo "\t<td>". UID2Nick( mysql_result( $erg, $i, "RUID" )). "</td>\n";
- echo "\t<td>". mysql_result( $erg, $i, "Text" ). "</td>\n";
- echo "\t<td>";
-
- if( mysql_result( $erg, $i, "RUID")==$_SESSION["UID"])
- {
- echo "<a href=\"?action=DelMsg&Datum=". mysql_result( $erg, $i, "Datum" ).
- "\">". Get_Text("pub_messages_DelMsg"). "</a>";
- if( mysql_result( $erg, $i, "isRead")=="N")
- echo "<br><br><a href=\"?action=MarkRead&Datum=". mysql_result( $erg, $i, "Datum" ).
- "\">". Get_Text("pub_messages_MarkRead"). "</a>";
- }
- else
- {
- if( mysql_result( $erg, $i, "isRead")=="N")
- echo Get_Text("pub_messages_NotRead");
- }
-
- echo "</td>\n";
- echo "</tr>\n";
- }
-
- //#####################
- //send Messeges
- //#####################
- echo "<form action=\"". $_SERVER['SCRIPT_NAME']. "?action=SendMsg\" method=\"POST\" >";
- echo "<tr class=\"content\">\n";
- echo "\t<td></td>\n";
- echo "\t<td></td>\n";
- // Listet alle Nicks auf
- echo "\t<td><select name=\"RUID\">\n";
- $usql="SELECT * FROM `User` WHERE (`UID`!='". $_SESSION["UID"] ."') ORDER BY `Nick`";
- $uErg = mysql_query($usql, $con);
- $urowcount = mysql_num_rows($uErg);
- for ($k=0; $k<$urowcount; $k++)
- {
- echo "\t\t\t<option value=\"".mysql_result($uErg, $k, "UID")."\">".
- mysql_result($uErg, $k, "Nick"). "</option>\n";
- }
- echo "</select></td>\n";
- echo "\t<td><textarea name=\"Text\" cols=\"30\" rows=\"10\"></textarea></td>\n";
- echo "\t<td><input type=\"submit\" value=\"". Get_Text("save"). "\"></td>\n";
- echo "</tr>\n";
- echo "</form>";
-
- echo "</table>\n";
- break;
-
- case "SendMsg":
- echo Get_Text("pub_messages_Send1"). "...<br>\n";
-
- $SQL = "INSERT INTO `Messages` ( `Datum` , `SUID` , `RUID` , `Text` ) VALUES (".
- "'". gmdate("Y-m-j H:i:s", time()). "', ".
- "'". $_SESSION["UID"]. "', ".
- "'". $_POST["RUID"]."', ".
- "'". $_POST["Text"]. "');";
-
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- echo Get_Text("pub_messages_Send_OK"). "\n";
- else
- echo Get_Text("pub_messages_Send_Error"). "...\n(". mysql_error($con). ")";
- break;
-
- case "MarkRead":
- $SQL = "UPDATE `Messages` SET `isRead` = 'Y' ".
- "WHERE `Datum` = '". $_GET["Datum"]. "' AND `RUID`='". $_SESSION["UID"]. "' ".
- "LIMIT 1 ;";
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- echo Get_Text("pub_messages_MarkRead_OK"). "\n";
- else
- echo Get_Text("pub_messages_MarkRead_KO"). "...\n(". mysql_error($con). ")";
- break;
-
- case "DelMsg":
- $SQL = "DELETE FROM `Messages` ".
- "WHERE `Datum` = '". $_GET["Datum"]. "' AND `RUID` ='". $_SESSION["UID"]. "' ".
- "LIMIT 1;";
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- echo Get_Text("pub_messages_DelMsg_OK"). "\n";
- else
- echo Get_Text("pub_messages_DelMsg_KO"). "...\n(". mysql_error($con). ")";
- break;
-
- default:
- echo Get_Text("pub_messages_NoCommand");
-}
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/myschichtplan.php b/www-ssl/nonpublic/myschichtplan.php
index d5e02dcd..5d7b5da3 100755..100644
--- a/www-ssl/nonpublic/myschichtplan.php
+++ b/www-ssl/nonpublic/myschichtplan.php
@@ -1,185 +1,178 @@
<?php
-$title = "Himmel";
-$header = "Mein Schichtplan";
-include ("../../includes/header.php");
-include ("../../includes/funktionen.php");
-include ("../../includes/funktion_schichtplan.php");
-include ("../../includes/funktion_schichtplan_array.php");
+// Eigener Schichtplan
+require_once ('../bootstrap.php');
+$title = "Himmel";
+$header = "Mein Schichtplan";
-If( !IsSet($_GET["action"]) )
-{
+include ("includes/header.php");
+include ("includes/funktionen.php");
+include ("includes/funktion_schichtplan.php");
+include ("includes/funktion_schichtplan_aray.php");
- echo Get_Text("Hello").$_SESSION['Nick'].", <br>\n";
- echo Get_Text("pub_mywake_beschreibung1")."<br>\n";
- echo Get_Text("pub_mywake_beschreibung2")."<br><br>\n";
- echo Get_Text("pub_mywake_beschreibung3").($LETZTES_AUSTRAGEN).
- Get_Text("pub_mywake_beschreibung4")."<br><br>\n";
+if (!isset ($_GET["action"])) {
+ echo Get_Text("Hello") . $_SESSION['Nick'] . ", <br />\n";
+ echo Get_Text("pub_mywake_beschreibung1") . "<br />\n";
+ echo Get_Text("pub_mywake_beschreibung2") . "<br /><br />\n";
+ echo Get_Text("pub_mywake_beschreibung3") . ($LETZTES_AUSTRAGEN) .
+ Get_Text("pub_mywake_beschreibung4") . "<br /><br />\n";
$USER_ID = $_SESSION['UID'];
- if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" )
- {
- if( !isset( $_GET["UIDs"]) )
+
+ if ($_SESSION['CVS']["admin/schichtplan.php"] == "Y") {
+ if (!isset ($_GET["UIDs"]))
$_GET["UIDs"] = $_SESSION['UID'];
else
$USER_ID = $_GET["UIDs"];
-
- echo "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"GET\" >";
+
+ echo "<form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"GET\" >";
echo "Liste von <select name=\"UIDs\">\n";
- $usql="SELECT * FROM `User` ORDER BY `Nick`";
+
+ $usql = "SELECT * FROM `User` ORDER BY `Nick`";
$uErg = mysql_query($usql, $con);
$urowcount = mysql_num_rows($uErg);
- for ($k=0; $k<$urowcount; $k++)
- {
- echo "\t<option value=\"".mysql_result($uErg, $k, "UID")."\" ".
- ( ($_GET["UIDs"]==mysql_result($uErg, $k, "UID")) ? " selected":""). ">".
- mysql_result($uErg, $k, "Nick").
- "</option>\n";
+
+ for ($k = 0; $k < $urowcount; $k++) {
+ echo "<option value=\"" . mysql_result($uErg, $k, "UID") . "\" " .
+ (($_GET["UIDs"] == mysql_result($uErg, $k, "UID")) ? " selected" : "") . ">" .
+ mysql_result($uErg, $k, "Nick") .
+ "</option>\n";
}
+
echo "</select> anzeigen.\n";
echo mysql_error($con);
-
+
echo "<input type=\"submit\" value=\"zeigen\">\n";
echo "</form>";
-
}
-
- $SQL = "SELECT *, `ShiftEntry`.`Comment`, `ShiftEntry`.`TID` FROM `Shifts` ".
- "INNER JOIN `ShiftEntry` ".
- "ON `Shifts`.`SID`=`ShiftEntry`.`SID` ".
- "WHERE `ShiftEntry`.`UID`='$USER_ID' ".
- "ORDER BY `DateS`";
- $erg = mysql_query($SQL, $con);
- ?>
- <table border="0" class="border" cellpadding="2" cellspacing="1">
- <tr>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Datum");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Uhrzeit");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Len");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Name");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Ort");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Bemerkung");?></b></td>
- <td class="contenttopic"><b><?PHP echo Get_Text("pub_mywake_Austragen");?></b></td>
- </tr>
- <?PHP
-
- for( $i=0; $i<mysql_num_rows( $erg ); $i++ )
- {
+ $SQL = "SELECT *, `ShiftEntry`.`Comment`, `ShiftEntry`.`TID` FROM `Shifts` " .
+ "INNER JOIN `ShiftEntry` " .
+ "ON `Shifts`.`SID`=`ShiftEntry`.`SID` " .
+ "WHERE `ShiftEntry`.`UID`='$USER_ID' " .
+ "ORDER BY `DateS`";
+ $erg = mysql_query($SQL, $con);
+?>
+ <table border="0" class="border" cellpadding="2" cellspacing="1">
+ <tr>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Datum");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Uhrzeit");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Len");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Name");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Ort");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Bemerkung");?></b></td>
+ <td class="contenttopic"><b><?php echo Get_Text("pub_mywake_Austragen");?></b></td>
+ </tr>
+ <?php
+
+
+ for ($i = 0; $i < mysql_num_rows($erg); $i++) {
echo "<tr class=\"content\">";
- echo "<td>". substr(mysql_result( $erg, $i, "DateS" ), 0, 10). "</td>\n";
- echo "<td>". substr(mysql_result( $erg, $i, "DateS" ), 11). "</td>\n";
- echo "<td>". mysql_result( $erg, $i, "Len" ). " h</td>\n";
- echo "<td>". mysql_result( $erg, $i, "Man" ). "</td>\n";
- echo "<td>". $RoomID[mysql_result( $erg, $i, "RID" )]. "<br>\n".
- "(". TID2Type(mysql_result( $erg, $i, "TID" )).Get_Text("inc_schicht_engel"). ")".
- "</td>\n";
- echo "<td><pre style=\"font-family:Fixedsys,Courier; padding:12x;\">\n".
- mysql_result( $erg, $i, "Comment" ).
- "\n</pre>\n";
- echo "<br><a href=\"./myschichtplan.php?action=edit&SID=\n".
- mysql_result( $erg, $i, "SID" )."\"># vi #</a></td>\n";
-
+ echo "<td>" . substr(mysql_result($erg, $i, "DateS"), 0, 10) . "</td>\n";
+ echo "<td>" . substr(mysql_result($erg, $i, "DateS"), 11) . "</td>\n";
+ echo "<td>" . mysql_result($erg, $i, "Len") . " h</td>\n";
+ echo "<td>" . mysql_result($erg, $i, "Man") . "</td>\n";
+ echo "<td>" . $RoomID[mysql_result($erg, $i, "RID")] . "<br />\n" .
+ "(" . TID2Type(mysql_result($erg, $i, "TID")) . Get_Text("inc_schicht_engel") . ")" .
+ "</td>\n";
+ echo "<td><pre style=\"font-family:Fixedsys,Courier; padding:12x;\">\n" .
+ mysql_result($erg, $i, "Comment") .
+ "\n</pre>\n";
+ echo "<br /><a href=\"./myschichtplan.php?action=edit&SID=\n" .
+ mysql_result($erg, $i, "SID") . "\"># vi #</a></td>\n";
+
// bis $LETZTES_AUSTRAGEN (aus dem config-file) soll es moeglich sein, seine Schichten
//// selber noch austragen zu koennen...
- $schichtdate = mysql_result( $erg, $i, "DateS" );
- ereg( "^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $schichtdate, $res );
- $info["year"] = $res[1];
+ $schichtdate = mysql_result($erg, $i, "DateS");
+ ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $schichtdate, $res);
+ $info["year"] = $res[1];
$info["month"] = $res[2];
- $info["day"] = $res[3];
- $info["hour"] = $res[4];
- $info["min"] = $res[5];
- $info["sec"] = $res[6];
- $schichtdatum = (mktime($info["hour"],$info["min"],$info["sec"],$info["month"],$info["day"],$info["year"]));
- $lastAustragen = $LETZTES_AUSTRAGEN*3600;
+ $info["day"] = $res[3];
+ $info["hour"] = $res[4];
+ $info["min"] = $res[5];
+ $info["sec"] = $res[6];
+ $schichtdatum = (mktime($info["hour"], $info["min"], $info["sec"], $info["month"], $info["day"], $info["year"]));
+ $lastAustragen = $LETZTES_AUSTRAGEN * 3600;
$nowdate = time();
// wenn Schichtbeginn > jetziges Datum + $LETZTES_AUSTRAGEN - Stunden soll ein Austragen
// noch m�glich sein
- if( $schichtdatum > ($lastAustragen + $nowdate) )
- echo "<td> <a href=\"./myschichtplan.php?action=austragen&SID=".
- mysql_result( $erg, $i, "SID" )."\">".
- Get_Text("pub_mywake_austragen")."</a></td>\n";
- else
- echo "<td>". Get_Text("pub_mywake_austragen_n_c"). "</td>\n";
-
+ if ($schichtdatum > ($lastAustragen + $nowdate))
+ echo "<td> <a href=\"./myschichtplan.php?action=austragen&SID=" .
+ mysql_result($erg, $i, "SID") . "\">" .
+ Get_Text("pub_mywake_austragen") . "</a></td>\n";
+ else
+ echo "<td>" . Get_Text("pub_mywake_austragen_n_c") . "</td>\n";
+
echo "</tr>\n";
}
-echo "</table>\n\n";
+ echo "</table>\n\n";
-if( $_SESSION['CVS'][ "nonpublic/myschichtplan_ical.php" ] == "Y" )
-{
- echo "<br><a href=\"./myschichtplan_ical.php\">". Get_Text("pub_myschichtplan_ical"). "</a>\n";
-}
+ if ($_SESSION['CVS']["nonpublic/myschichtplan_ical.php"] == "Y") {
+ echo "<br /><a href=\"./myschichtplan_ical.php\">" . Get_Text("pub_myschichtplan_ical") . "</a>\n";
+ }
+
+} else {
+ If ($_GET["action"] == "austragen") {
+ echo Get_Text("pub_mywake_delate1") . "<br />\n";
+
+ $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '" . $_GET["SID"] . "')";
+ $Erg = mysql_query($sql, $con);
-}
-else
-{
- If( $_GET["action"] == "austragen" )
- {
- echo Get_Text("pub_mywake_delate1")."<br>\n";
-
- $sql = "SELECT * FROM `Shifts` WHERE (`SID` = '". $_GET["SID"]. "')";
- $Erg = mysql_query($sql, $con);
-
- $schichtdate = mysql_result( $Erg, 0, "DateS" );
- ereg( "^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $schichtdate, $res );
- $info["year"] = $res[1];
- $info["month"] = $res[2];
- $info["day"] = $res[3];
- $info["hour"] = $res[4];
- $info["min"] = $res[5];
- $info["sec"] = $res[6];
- $schichtdatum = (mktime($info["hour"],$info["min"],$info["sec"],$info["month"],$info["day"],$info["year"]));
- $lastAustragen = $LETZTES_AUSTRAGEN*3600;
- $nowdate = time();
- // wenn Schichtbeginn > jetziges Datum + $LETZTES_AUSTRAGEN - Stunden soll ein Austragen
- // noch m�glich sein
- if( $schichtdatum > ($lastAustragen + $nowdate) )
- {
- $sql2 = "UPDATE `ShiftEntry` ".
- "SET `UID` = '0', `Comment` = NULL ".
- "WHERE `SID` = '". $_GET["SID"]. "' AND `UID` = '". $_SESSION['UID']. "' LIMIT 1;";
- $Erg2 = mysql_query($sql2, $con);
- if ($Erg2 == 1)
- echo Get_Text("pub_mywake_add_ok"). "\n";
+ $schichtdate = mysql_result($Erg, 0, "DateS");
+ ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $schichtdate, $res);
+ $info["year"] = $res[1];
+ $info["month"] = $res[2];
+ $info["day"] = $res[3];
+ $info["hour"] = $res[4];
+ $info["min"] = $res[5];
+ $info["sec"] = $res[6];
+ $schichtdatum = (mktime($info["hour"], $info["min"], $info["sec"], $info["month"], $info["day"], $info["year"]));
+ $lastAustragen = $LETZTES_AUSTRAGEN * 3600;
+ $nowdate = time();
+ // wenn Schichtbeginn > jetziges Datum + $LETZTES_AUSTRAGEN - Stunden soll ein Austragen
+ // noch m�glich sein
+ if ($schichtdatum > ($lastAustragen + $nowdate)) {
+ $sql2 = "UPDATE `ShiftEntry` " .
+ "SET `UID` = '0', `Comment` = NULL " .
+ "WHERE `SID` = '" . $_GET["SID"] . "' AND `UID` = '" . $_SESSION['UID'] . "' LIMIT 1;";
+ $Erg2 = mysql_query($sql2, $con);
+ if ($Erg2 == 1)
+ echo Get_Text("pub_mywake_add_ok") . "\n";
+ else
+ echo Get_Text("pub_mywake_add_ko") . "\n";
+ } else
+ echo Get_Text("pub_mywake_after") . "\n";
+ }
+ elseif ($_GET["action"] == "edit") {
+ echo Get_Text("pub_myshift_Edit_Text1") . "\n";
+
+ $sql = "SELECT * FROM `ShiftEntry` WHERE ";
+ $sql .= "(`SID`='" . $_GET["SID"] . "' AND `UID`='" . $_SESSION['UID'] . "')";
+ $Erg = mysql_query($sql, $con);
+
+ echo "<form action=\"./myschichtplan.php\" method=\"GET\">\n";
+ echo "<textarea name='newtext' cols='50' rows='10'>" . mysql_result($Erg, 0, "Comment") . "</textarea><br /><br />\n";
+ echo "<input type=\"submit\" value=\"save\">\n";
+ echo "<input type=\"hidden\" name=\"SID\" value=\"" . $_GET["SID"] . "\">\n";
+ echo "<input type=\"hidden\" name=\"action\" value=\"editSave\">\n";
+ echo "</form>";
+ }
+ elseif ($_GET["action"] == "editSave") {
+ echo Get_Text("pub_myshift_EditSave_Text1") . "<br />\n";
+ $sql = "UPDATE `ShiftEntry` " .
+ "SET `Comment` = '" . $_GET["newtext"] . "' " .
+ "WHERE `SID`='" . $_GET["SID"] . "' AND `UID`='" . $_SESSION['UID'] . "' LIMIT 1;";
+ $Erg = mysql_query($sql, $con);
+ if ($Erg == 1)
+ echo " ..." . Get_Text("pub_myshift_EditSave_OK") . "\n";
else
- echo Get_Text("pub_mywake_add_ko"). "\n";
+ echo " ..." . Get_Text("pub_myshift_EditSave_KO") . "\n";
+ SetHeaderGo2Back();
}
- else
- echo Get_Text("pub_mywake_after"). "\n";
- }
- elseif( $_GET["action"] == "edit" )
- {
- echo Get_Text("pub_myshift_Edit_Text1"). "\n";
-
- $sql = "SELECT * FROM `ShiftEntry` WHERE ";
- $sql.= "(`SID`='". $_GET["SID"]. "' AND `UID`='". $_SESSION['UID']. "')";
- $Erg = mysql_query($sql, $con);
-
- echo "<form action=\"./myschichtplan.php\" method=\"GET\">\n";
- echo "<textarea name='newtext' cols='50' rows='10'>". mysql_result( $Erg, 0, "Comment" ). "</textarea><br><br>\n";
- echo "<input type=\"submit\" value=\"save\">\n";
- echo "<input type=\"hidden\" name=\"SID\" value=\"". $_GET["SID"]. "\">\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"editSave\">\n";
- echo "</form>";
- }
- elseif( $_GET["action"] == "editSave" )
- {
- echo Get_Text("pub_myshift_EditSave_Text1"). "<br>\n";
- $sql = "UPDATE `ShiftEntry` ".
- "SET `Comment` = '". $_GET["newtext"]. "' ".
- "WHERE `SID`='". $_GET["SID"]. "' AND `UID`='". $_SESSION['UID']. "' LIMIT 1;";
- $Erg = mysql_query($sql, $con);
- if ($Erg == 1)
- echo "\t ...". Get_Text("pub_myshift_EditSave_OK"). "\n";
- else
- echo "\t ...". Get_Text("pub_myshift_EditSave_KO"). "\n";
- SetHeaderGo2Back();
- }
}
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/nonpublic/myschichtplan_ical.php b/www-ssl/nonpublic/myschichtplan_ical.php
index 5d572520..ff74fef0 100755..100644
--- a/www-ssl/nonpublic/myschichtplan_ical.php
+++ b/www-ssl/nonpublic/myschichtplan_ical.php
@@ -1,52 +1,51 @@
<?php
-include ("../../includes/header_start.php");
+require_once ('../bootstrap.php');
-include ("../../includes/funktion_schichtplan_array.php");
+include ("includes/header_start.php");
-$SQL = "SELECT *, `ShiftEntry`.`Comment`, `ShiftEntry`.`TID` FROM `Shifts` ".
- "INNER JOIN `ShiftEntry` ".
- "ON `Shifts`.`SID`=`ShiftEntry`.`SID` ".
- "WHERE `ShiftEntry`.`UID`='". $_SESSION['UID']. "' ".
- "ORDER BY `DateS`";
-$erg = mysql_query($SQL, $con);
+include ("includes/funktion_schichtplan_aray.php");
+$SQL = "SELECT *, `ShiftEntry`.`Comment`, `ShiftEntry`.`TID` FROM `Shifts` " .
+"INNER JOIN `ShiftEntry` " .
+"ON `Shifts`.`SID`=`ShiftEntry`.`SID` " .
+"WHERE `ShiftEntry`.`UID`='" . $_SESSION['UID'] . "' " .
+"ORDER BY `DateS`";
+$erg = mysql_query($SQL, $con);
//HEADER
header("Content-Type: text/x-vCalendar");
-header("Content-Disposition: attachment; filename=\"Schichtplan.ics\"" );
+header("Content-Disposition: attachment; filename=\"Schichtplan.ics\"");
//DATA
echo "BEGIN:VCALENDAR\n";
echo "PRODID:-//Engelsystem//DE-EN\n";
echo "VERSION:2.0\n";
-echo "PRODID:". md5('icalschichtplan:'.$_SESSION['UID']). "\n";
+echo "PRODID:" . md5('icalschichtplan:' . $_SESSION['UID']) . "\n";
echo "METHOD:PUBLISH\n";
echo "CALSCALE:GREGORIAN\n";
echo "METHOD:PUBLISH\n";
-echo "X-WR-CALNAME;VALUE=TEXT:". "Himmel - Schichtplan\n";
+echo "X-WR-CALNAME;VALUE=TEXT:" . "Himmel - Schichtplan\n";
-for( $i=0; $i<mysql_num_rows( $erg ); $i++ )
-{
+for ($i = 0; $i < mysql_num_rows($erg); $i++) {
echo "BEGIN:VEVENT\n";
- echo "UID:". md5(mysql_result( $erg, $i, "Man" ). mysql_result( $erg, $i, "DateS" ))."\n";
+ echo "UID:" . md5(mysql_result($erg, $i, "Man") . mysql_result($erg, $i, "DateS")) . "\n";
echo "METHOD:PUBLISH\n";
- echo "DTSTART;TZID=Europe/Berlin:". date( 'Ymd\THis', strtotime( mysql_result( $erg, $i, "DateS" ) ) ). "\n";
- echo "DTEND;TZID=Europe/Berlin:". date( 'Ymd\THis', strtotime( mysql_result( $erg, $i, "DateE" ) ) ). "\n";
- echo "SUMMARY:". str_replace( ',', '\\,',mysql_result( $erg, $i, "Man" ) ). "\n";
+ echo "DTSTART;TZID=Europe/Berlin:" . date('Ymd\THis', strtotime(mysql_result($erg, $i, "DateS"))) . "\n";
+ echo "DTEND;TZID=Europe/Berlin:" . date('Ymd\THis', strtotime(mysql_result($erg, $i, "DateE"))) . "\n";
+ echo "SUMMARY:" . str_replace(',', '\\,', mysql_result($erg, $i, "Man")) . "\n";
echo "CLASS:PUBLIC\n";
echo "STATUS:CONFIRMED\n";
- echo "URL:". $url. $ENGEL_ROOT. "nonpublic/myschichtplan.php\n";
- echo "LOCATION:". $RoomID[mysql_result( $erg, $i, "RID" )]. "\n";
+ echo "URL:" . $url . $ENGEL_ROOT . "nonpublic/myschichtplan.php\n";
+ echo "LOCATION:" . $RoomID[mysql_result($erg, $i, "RID")] . "\n";
echo "BEGIN:VALARM\n";
echo "TRIGGER;VALUE=DURATION:-PT5M\n";
- echo "DESCRIPTION:". str_replace( ',', '\\,',mysql_result( $erg, $i, "Man" ) ). "\n";
+ echo "DESCRIPTION:" . str_replace(',', '\\,', mysql_result($erg, $i, "Man")) . "\n";
echo "ACTION:DISPLAY\n";
echo "END:VALARM\n";
echo "END:VEVENT\n";
}
echo "END:VCALENDAR\n";
-include( "../../includes/funktion_counter.php");
-
+include ("includes/funktion_counter.php");
?>
diff --git a/www-ssl/nonpublic/news.php b/www-ssl/nonpublic/news.php
deleted file mode 100755
index 2f04d22c..00000000
--- a/www-ssl/nonpublic/news.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "News";
-include ("../../includes/header.php");
-
-
-echo "<a href=\"#Neu\">".Get_Text(3)."</a>";
-include ("news_output.php");
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/news_comments.php b/www-ssl/nonpublic/news_comments.php
deleted file mode 100755
index 710d33dc..00000000
--- a/www-ssl/nonpublic/news_comments.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-$title = "Kommentare zu den News";
-$header = "Kommentar";
-include ("../../includes/header.php");
-
-
-if( IsSet( $_GET["nid"]))
-{
-
-
-if( IsSet( $_GET["text"]))
-{
- $ch_sql="INSERT INTO `news_comments` (`Refid`, `Datum`, `Text`, `UID`) ".
- "VALUES ('". $_GET["nid"]. "', '". date("Y-m-d H:i:s"). "', '". $_GET["text"]. "', '". $_SESSION["UID"]. "')";
- $Erg = mysql_query($ch_sql, $con);
- if ($Erg == 1)
- {
- echo "Eintrag wurde gespeichert<br><br>";
- SetHeaderGo2Back();
- }
-}
-
-$SQL = "SELECT * FROM `news_comments` WHERE `Refid`='". $_GET["nid"]. "' ORDER BY 'ID'";
-$Erg = mysql_query($SQL, $con);
-echo mysql_error( $con);
-// anzahl zeilen
-$news_rows = mysql_num_rows($Erg);
-
-?>
-<table border="0" width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <th width=100 align="left">Datum</th>
- <th align="left">Nick</th>
- </tr>
- <tr class="contenttopic">
- <th align="left" colspan=2>Kommentar</th>
- </tr>
-
-<?PHP
-for ($n = 0 ; $n < $news_rows ; $n++) {
- echo "\t<tr class=\"content\">";
- echo "\t\t<td width=100>";
- echo mysql_result($Erg, $n, "Datum");
- echo "\t\t</td>";
- echo "\t\t<td>";
- echo UID2Nick(mysql_result($Erg, $n, "UID"));
- // avatar anzeigen?
- echo DisplayAvatar (mysql_result($Erg, $n, "UID"));
- echo "\t\t</td>";
- echo "</tr>";
- echo "\t<tr class=\"content\">";
- echo "\t\t<td colspan=\"2\">";
- echo nl2br(mysql_result($Erg, $n, "Text"))."\n";
- echo "\t\t</td>";
- echo "</tr>";
-}
-
-echo "</table>";
-
-?>
-
-<br>
-<hr>
-<h4>Neuer Kommentar:</h4>
-<a name="Neu">&nbsp;</a>
-
-<form action="./news_comments.php" method="GET">
-<input type="hidden" name="nid" value="<?PHP echo $_GET["nid"]; ?>">
-<table>
- <tr>
- <td align="right" valign="top">Text:</td>
- <td><textarea name="text" cols="50" rows="10"></textarea></td>
- </tr>
-</table>
-<br>
-<input type="submit" value="sichern...">
-</form>
-
-<?PHP
-
-
-}
-else
-{
- echo "Fehlerhafter Aufruf!";
-}
-
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/news_output.php b/www-ssl/nonpublic/news_output.php
deleted file mode 100755
index e1afc067..00000000
--- a/www-ssl/nonpublic/news_output.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-if( isset( $_POST["text"]) && isset( $_POST["betreff"]) && IsSet( $_POST["date"]) )
-{
- if( !isset( $_POST["treffen"]))
- $_POST["treffen"] = 0;
- $SQL = "INSERT INTO `News` (`Datum`, `Betreff`, `Text`, `UID`, `Treffen`) ".
- "VALUES ('". $_POST["date"]. "', '". $_POST["betreff"]. "', '". $_POST["text"]. "', '".$_SESSION['UID'].
- "', '". $_POST["treffen"]. "');";
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- Print_Text(4);
-}
-
-if( !IsSet( $_GET["news_begin"]))
- $_GET["news_begin"]=0;
-
-if( !IsSet( $_GET["DISPLAY_NEWS"]))
- $_GET["DISPLAY_NEWS"] = 5;
-
-$SQL = "SELECT * FROM `News` ORDER BY `ID` DESC LIMIT ". intval($_GET["news_begin"]). ", ". intval($_GET["DISPLAY_NEWS"]);
-$Erg = mysql_query($SQL, $con);
-
-// anzahl zeilen
-$news_rows = mysql_num_rows($Erg);
-
-for ($n = 0 ; $n < $news_rows ; $n++)
-{
-
- if (mysql_result($Erg, $n, "Treffen") == 0)
- echo "<p class='question'>";
- else
- echo "<p class='engeltreffen'>";
-
- echo "<u>". ReplaceSmilies(mysql_result($Erg, $n, "Betreff")) ."</u>\n";
-
- // Schow Admin Page
- if( $_SESSION['CVS'][ "admin/news.php" ] == "Y" )
- echo " <a href=\"./../admin/news.php?action=change&date=". mysql_result($Erg, $n, "Datum"). "\">[edit]</a><br>\n\t\t";
-
- echo "<br>&nbsp; &nbsp;<font size=1>".mysql_result($Erg, $n, "Datum").", ";
- echo UID2Nick(mysql_result($Erg, $n, "UID"))."</font>";
- // avatar anzeigen?
- echo DisplayAvatar (mysql_result($Erg, $n, "UID"));
- echo "</p>\n";
- echo "<p class='answer'>". ReplaceSmilies(nl2br(mysql_result($Erg, $n, "Text"))) ."</p>\n";
- $RefID=mysql_result($Erg, $n, "ID");
- $countSQL="SELECT COUNT(*) FROM `news_comments` WHERE `Refid`='$RefID'";
- $countErg = mysql_query($countSQL, $con);
- $countcom = mysql_result($countErg, 0, "COUNT(*)");
- echo "<p class='comment' align='right'><a href=\"./news_comments.php?nid=$RefID\">$countcom comments</a></p>\n\n";
-}
-
-echo "<div align=\"center\">\n\n";
-$rowerg = mysql_query("SELECT * FROM `News`", $con);
-$rows = mysql_num_rows($rowerg);
-$dis_rows = round (($rows / $DISPLAY_NEWS)+0.5);
-
-Print_Text(5);
-
-for ($i=1; $i <= $dis_rows; $i++) {
- if (!((($i * $DISPLAY_NEWS) - $_GET["news_begin"]) == $DISPLAY_NEWS)) {
- echo "<a href=\"./news.php?news_begin=".(($i*$DISPLAY_NEWS) - $DISPLAY_NEWS - 1)."\">$i</a>&nbsp; ";
- } else {
- echo "$i&nbsp; ";
- }
-}
-echo "</div>";
-
-?>
-
-<br>
-<hr>
-<h4><?PHP Print_Text(6); ?></h4>
-<a name="Neu">&nbsp;</a>
-
-<form action="<?PHP echo $ENGEL_ROOT ?>nonpublic/news.php" method="post">
-<?PHP
-// Datum mit uebergeben, um doppelte Eintraege zu verhindern
-// (Reload nach dem Eintragen!)
-?>
-<input type="hidden" name="date" value="<?PHP echo date("Y-m-d H:i:s"); ?>">
-<table>
- <tr>
- <td align="right"><?PHP Print_Text(7); ?></td>
- <td><input type="text" name="betreff" size="60"></td>
- </tr>
- <tr>
- <td align="right"><?PHP Print_Text(8); ?></td>
- <td><textarea name="text" cols="50" rows="10"></textarea></td>
- </tr>
-
-<?PHP
-if ($_SESSION['CVS']["nonpublic/newsAddMeting"] == "Y") {
-?>
- <tr>
- <td align="right"><?PHP Print_Text(9); ?></td>
- <td><input type="checkbox" name="treffen" size="1" value="1"></td>
- </tr>
-<?PHP
-}
-?>
-</table>
-<br>
-<input type="submit" value="<?PHP Print_Text("save"); ?>">
-</form>
diff --git a/www-ssl/nonpublic/schichtplan.1.php b/www-ssl/nonpublic/schichtplan.1.php
index 5637d2d6..9c99c6ca 100755..100644
--- a/www-ssl/nonpublic/schichtplan.1.php
+++ b/www-ssl/nonpublic/schichtplan.1.php
@@ -1,21 +1,20 @@
<h4>&nbsp;Tage </h4>
<?PHP
-include ("../../includes/funktion_schichtplan_array.php");
+require_once ('../bootstrap.php');
-function Printlink( $Datum)
-{
+include ("includes/funktion_schichtplan_aray.php");
+
+function Printlink($Datum) {
GLOBAL $raum;
echo "\t<li><a href='./schichtplan.php?ausdatum=$Datum";
// ist ein raum gesetzt?
- if (IsSet($raum))
+ if (IsSet ($raum))
echo "&raum=$raum";
echo "'>$Datum</a></li>\n";
} //function Printlink(
-if( isset ($VeranstaltungsTage))
- foreach( $VeranstaltungsTage as $k => $v)
- Printlink( $v);
-
-
+if (isset ($VeranstaltungsTage))
+ foreach ($VeranstaltungsTage as $k => $v)
+ Printlink($v);
?>
diff --git a/www-ssl/nonpublic/schichtplan.2.php b/www-ssl/nonpublic/schichtplan.2.php
index 1b1b2d08..92443e13 100755..100644
--- a/www-ssl/nonpublic/schichtplan.2.php
+++ b/www-ssl/nonpublic/schichtplan.2.php
@@ -1,20 +1,20 @@
<h4>&nbsp;Raum&uuml;bersicht</h4>
<?php
+require_once ('../bootstrap.php');
-include ("../../includes/funktion_schichtplan_array.php");
+include ("includes/funktion_schichtplan_aray.php");
-if( isset ($Room))
- foreach( $Room as $RoomEntry )
- {
- if(isset($ausdatum))
- echo "\t<li><a href='./schichtplan.php?ausdatum=$ausdatum&raum=". $RoomEntry["RID"]. "'>".
- $RoomEntry["Name"]. "</a></li>\n";
- else
- echo "\t<li><a href='./schichtplan.php?raum=". $RoomEntry["RID"]. "'>".
- $RoomEntry["Name"]. "</a></li>\n";
- }
-echo "<br>";
-if(isset($ausdatum))
+if (isset ($Room))
+ foreach ($Room as $RoomEntry) {
+ if (isset ($ausdatum))
+ echo "\t<li><a href='./schichtplan.php?ausdatum=$ausdatum&raum=" . $RoomEntry["RID"] . "'>" .
+ $RoomEntry["Name"] . "</a></li>\n";
+ else
+ echo "\t<li><a href='./schichtplan.php?raum=" . $RoomEntry["RID"] . "'>" .
+ $RoomEntry["Name"] . "</a></li>\n";
+ }
+echo "<br />";
+if (isset ($ausdatum))
echo "<li><a href='./schichtplan.php?ausdatum=$ausdatum&raum=-1'>alle</a></li>";
else
echo "<li><a href='./schichtplan.php?raum=-1'>alle</a></li>";
diff --git a/www-ssl/nonpublic/schichtplan.php b/www-ssl/nonpublic/schichtplan.php
index aff33abd..2b9038a3 100755..100644
--- a/www-ssl/nonpublic/schichtplan.php
+++ b/www-ssl/nonpublic/schichtplan.php
@@ -1,77 +1,83 @@
<?php
+require_once ('../bootstrap.php');
+
$title = "Himmel";
$header = "Schichtpl&auml;ne";
$submenus = 2;
-if( isset($_GET["ausdatum"]))
+if (isset ($_GET["ausdatum"]))
$ausdatum = $_GET["ausdatum"];
-if( isset($_GET["raum"]))
-{
+if (isset ($_GET["raum"])) {
$raum = $_GET["raum"];
- if( $raum==-1 && isset($_GET["show"]))
- {
+
+ if ($raum == -1 && isset ($_GET["show"])) {
$raum = "";
- foreach ($_GET as $k => $v)
- {
- if( substr($k, 0, 5) == "raum_")
- {
- $raum = $raum. ";". $v;
+ foreach ($_GET as $k => $v) {
+ if (substr($k, 0, 5) == "raum_") {
+ $raum = $raum . ";" . $v;
}
}
}
}
+<<<<<<< HEAD
include ("../../includes/header.php");
include ("../../includes/funktionen.php");
include ("../../includes/funktion_schichtplan.php");
include ("../../includes/funktion_schichtplan_array.php");
?>
+=======
+include ("includes/header.php");
+include ("includes/funktionen.php");
+include ("includes/funktion_schichtplan.php");
+include ("includes/funktion_schichtplan_aray.php");
+>>>>>>> spezial_includes_camp
-<?PHP echo Get_Text("Hello").$_SESSION['Nick'].",<br>".
- Get_Text("pub_schicht_beschreibung"). "<br><br>";
+echo Get_Text("Hello") . $_SESSION['Nick'] . ",<br />" .
+Get_Text("pub_schicht_beschreibung") . "<br /><br />";
+
+function ShowSwitchDay() {
+ global $VeranstaltungsTage, $VeranstaltungsTageMax, $ausdatum, $raum;
-function ShowSwitchDay()
-{
- GLOBAL $VeranstaltungsTage, $VeranstaltungsTageMax, $ausdatum, $raum;
-
echo "\n\n<table border=\"0\" width=\"100%\"><tr>\n";
-
- if( isset($VeranstaltungsTage))
- foreach( $VeranstaltungsTage as $k => $v)
- if( $ausdatum == $v)
- {
- if( $k > 0)
- echo "\t\t\t<td align=\"left\">".
- "<a href='./schichtplan.php?ausdatum=". $VeranstaltungsTage[$k-1].
- "&raum=$raum'>". $VeranstaltungsTage[$k-1]. "</a></td>\n";
- if( $k < $VeranstaltungsTageMax)
- echo "\t\t\t<td align=\"right\">".
- "<a href='./schichtplan.php?ausdatum=". $VeranstaltungsTage[$k+1].
- "&raum=$raum'>". $VeranstaltungsTage[$k+1]. "</a></td>\n";
- }
+
+ if (isset ($VeranstaltungsTage))
+ foreach ($VeranstaltungsTage as $k => $v)
+ if ($ausdatum == $v) {
+ if ($k > 0)
+ echo "\t\t\t<td align=\"left\">" .
+ "<a href='./schichtplan.php?ausdatum=" . $VeranstaltungsTage[$k -1] .
+ "&raum=$raum'>" . $VeranstaltungsTage[$k -1] . "</a></td>\n";
+ if ($k < $VeranstaltungsTageMax)
+ echo "\t\t\t<td align=\"right\">" .
+ "<a href='./schichtplan.php?ausdatum=" . $VeranstaltungsTage[$k +1] .
+ "&raum=$raum'>" . $VeranstaltungsTage[$k +1] . "</a></td>\n";
+ }
echo "\n\n</table>";
}
// wenn kein Datum gesetzt ist (die Seite zum ersten mal aufgerufen wird),
// das Datum auf den ersten Tag setzen...
-if( !isset($ausdatum) )
-{
- $sql = "SELECT `DateS` FROM `Shifts` WHERE `DateS` like '". gmdate("Y-m-d", time()+$gmdateOffset). "%' ORDER BY `DateS`";
-// $sql = "SELECT `DateS` FROM `Shifts` WHERE `DateS` like '2004-12-29%' ORDER BY `DateS`";
+if (!isset ($ausdatum)) {
+ $sql = "SELECT `DateS` FROM `Shifts` WHERE `DateS` like '" . gmdate("Y-m-d", time() + $gmdateOffset) . "%' ORDER BY `DateS`";
+ // $sql = "SELECT `DateS` FROM `Shifts` WHERE `DateS` like '2004-12-29%' ORDER BY `DateS`";
$Erg = mysql_query($sql, $con);
- if( mysql_num_rows( $Erg ) == 0 )
- {
- $sql = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` ASC LIMIT 0, 1";
- $Erg = mysql_query($sql, $con);
+ if (mysql_num_rows($Erg) == 0) {
+ $sql = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` ASC LIMIT 0, 1";
+ $Erg = mysql_query($sql, $con);
}
- if( mysql_num_rows( $Erg ) > 0 )
- $ausdatum = substr(mysql_result($Erg,0,"DateS"),0,10);
+ if (mysql_num_rows($Erg) > 0)
+ $ausdatum = substr(mysql_result($Erg, 0, "DateS"), 0, 10);
else
- $ausdatum = gmdate("Y-m-d", time()+$gmdateOffset);
+ $ausdatum = gmdate("Y-m-d", time() + $gmdateOffset);
}
+if (!isset ($raum)) {
+ // Ausgabe wenn kein Raum Ausgew�hlt:
+ echo Get_Text("pub_schicht_auswahl_raeume") . "<br /><br />\n";
+<<<<<<< HEAD
if ( !isset($raum) )
{
@@ -80,11 +86,13 @@ if ( !isset($raum) )
if( isset($Room))
{
+=======
+ if (isset ($Room)) {
+>>>>>>> spezial_includes_camp
echo "<form action=\"./schichtplan.php\" method=\"GET\">\n";
- foreach( $Room as $RoomEntry )
- {
- echo "\t<li><input type=\"checkbox\" name=\"raum_". $RoomEntry["RID"]. "\" value=\"". $RoomEntry["RID"]." \">";
- echo "<a href='./schichtplan.php?ausdatum=$ausdatum&raum=". $RoomEntry["RID"]. "'>". $RoomEntry["Name"]. "</a>";
+ foreach ($Room as $RoomEntry) {
+ echo "\t<li><input type=\"checkbox\" name=\"raum_" . $RoomEntry["RID"] . "\" value=\"" . $RoomEntry["RID"] . " \">";
+ echo "<a href='./schichtplan.php?ausdatum=$ausdatum&raum=" . $RoomEntry["RID"] . "'>" . $RoomEntry["Name"] . "</a>";
echo "</input></li>\n";
}
echo "<input type=\"hidden\" name=\"ausdatum\" value=\"$ausdatum\">";
@@ -93,15 +101,15 @@ if ( !isset($raum) )
echo "</form>\n";
}
- echo "<br><br>";
- echo Get_Text("pub_schicht_alles_1"). "<a href='./schichtplan.php?ausdatum=$ausdatum&raum=-1'> <u>".
- Get_Text("pub_schicht_alles_2"). "</u> </a>".Get_Text("pub_schicht_alles_3");
- echo "\n<br><br>\n\n";
+ echo "<br /><br />";
+ echo Get_Text("pub_schicht_alles_1") . "<a href='./schichtplan.php?ausdatum=$ausdatum&raum=-1'> <u>" .
+ Get_Text("pub_schicht_alles_2") . "</u> </a>" . Get_Text("pub_schicht_alles_3");
+ echo "\n<br /><br />\n\n";
echo "<hr>\n\n";
- echo Get_Text("pub_schicht_EmptyShifts"). "\n";
-
-
+ echo Get_Text("pub_schicht_EmptyShifts") . "\n";
+
// zeit die naesten freien schichten
+<<<<<<< HEAD
showEmptyShifts();
}
else
@@ -113,6 +121,16 @@ else
else
echo Get_Text("pub_schicht_Anzeige_1"). $ausdatum.
Get_Text("pub_schicht_Anzeige_2"). $RoomID[$raum]. "<br><br>";
+=======
+ showEmptyShifts();
+} else { // Wenn einraum Ausgew�hlt ist:
+ if ($raum == -1)
+ echo Get_Text("pub_schicht_Anzeige_1") . $ausdatum . ":<br /><br />";
+ elseif (substr($raum, 0, 1) == ";") echo Get_Text("pub_schicht_Anzeige_1") . $ausdatum . ":<br /><br />";
+ else
+ echo Get_Text("pub_schicht_Anzeige_1") . $ausdatum .
+ Get_Text("pub_schicht_Anzeige_2") . $RoomID[$raum] . "<br /><br />";
+>>>>>>> spezial_includes_camp
ShowSwitchDay();
@@ -121,85 +139,82 @@ else
echo "\t\t<td>start</td>\n";
//Ausgabe Spalten �berschrift
+<<<<<<< HEAD
if( $raum == -1 )
{
if( isset($Room))
foreach( $Room as $RoomEntry )
if (SummRoomShifts($RoomEntry["RID"]) > 0)
echo "\t\t<th>". $RoomEntry["Name"]. "</th>\n";
+=======
+ if ($raum == -1) {
+ if (isset ($Room))
+ foreach ($Room as $RoomEntry)
+ if (SummRoomShifts($RoomEntry["RID"]) > 0)
+ echo "\t\t<th>" . $RoomEntry["Name"] . "</th>\n";
+>>>>>>> spezial_includes_camp
}
- elseif( substr( $raum, 0, 1) == ";" )
- {
- $words = preg_split("/;/", $raum);
- foreach ($words as $word)
- {
- if( strlen(trim($word)) > 0)
- echo "\t\t<th>". $RoomID[trim($word)]. "</th>\n";
+ elseif (substr($raum, 0, 1) == ";") {
+ $words = preg_split("/;/", $raum);
+ foreach ($words as $word) {
+ if (strlen(trim($word)) > 0)
+ echo "\t\t<th>" . $RoomID[trim($word)] . "</th>\n";
}
- }
- else
- echo "\t\t<th>". $RoomID[$raum]. "</th>\n";
- echo "\t</tr>\n";
-
+ } else
+ echo "\t\t<th>" . $RoomID[$raum] . "</th>\n";
+ echo "\t</tr>\n";
+
//Zeit Ausgeben
- for( $i = 0; $i < 24; $i++ )
- for( $j = 0; $j < $GlobalZeileProStunde; $j++)
- {
- $Spalten[$i * $GlobalZeileProStunde + $j] =
- "\t<tr class=\"content\">\n\t\t";
+ for ($i = 0; $i < 24; $i++)
+ for ($j = 0; $j < $GlobalZeileProStunde; $j++) {
+ $Spalten[$i * $GlobalZeileProStunde + $j] = "\t<tr class=\"content\">\n\t\t";
//Stunde:
- $SpaltenTemp="";
- $SpaltenTemp.= ($i<10)? "0$i:": "$i:";
+ $SpaltenTemp = "";
+ $SpaltenTemp .= ($i < 10) ? "0$i:" : "$i:";
//Minute
- $TempMinuten = (($j*60) / $GlobalZeileProStunde);
- $SpaltenTemp.= ($TempMinuten<10)? "0$TempMinuten": "$TempMinuten";
-
+ $TempMinuten = (($j * 60) / $GlobalZeileProStunde);
+ $SpaltenTemp .= ($TempMinuten < 10) ? "0$TempMinuten" : "$TempMinuten";
+
//aktuelle stunde markieren
- if( ($j==0) && ($i == gmdate("H", time()+$gmdateOffset)) && (gmdate("Y-m-d", time()+ $gmdateOffset) == $ausdatum) )
+ if (($j == 0) && ($i == gmdate("H", time() + $gmdateOffset)) && (gmdate("Y-m-d", time() + $gmdateOffset) == $ausdatum))
$SpaltenTemp = "<h1>$SpaltenTemp</h1>";
-
+
$SpaltenTemp = "<td>$SpaltenTemp</td>\n";
- $Spalten[$i * $GlobalZeileProStunde + $j].= $SpaltenTemp;
+ $Spalten[$i * $GlobalZeileProStunde + $j] .= $SpaltenTemp;
}
-
- if( $raum == -1 )
- {
- if( isset($Room))
- foreach( $Room as $RoomEntry )
- if (SummRoomShifts($RoomEntry["RID"]) > 0)
- CreateRoomShifts( $RoomEntry["RID"] );
+
+ if ($raum == -1) {
+ if (isset ($Room))
+ foreach ($Room as $RoomEntry)
+ if (SummRoomShifts($RoomEntry["RID"]) > 0)
+ CreateRoomShifts($RoomEntry["RID"]);
}
- elseif( substr( $raum, 0, 1) == ";" )
- {
- if( isset($Room))
- {
- $words = preg_split("/;/", $raum);
- foreach ($words as $word)
- {
- if( strlen(trim($word)) > 0)
- if (SummRoomShifts($word) > 0)
- CreateRoomShifts( $word );
- }
+ elseif (substr($raum, 0, 1) == ";") {
+ if (isset ($Room)) {
+ $words = preg_split("/;/", $raum);
+ foreach ($words as $word) {
+ if (strlen(trim($word)) > 0)
+ if (SummRoomShifts($word) > 0)
+ CreateRoomShifts($word);
+ }
}
- }
- else
- CreateRoomShifts( $raum );
-
+ } else
+ CreateRoomShifts($raum);
+
//Ausageb Zeilen
- for ($i = 0; $i < (24 * $GlobalZeileProStunde); $i++)
- {
- echo $Spalten[$i]."\t</tr>\n";
+ for ($i = 0; $i < (24 * $GlobalZeileProStunde); $i++) {
+ echo $Spalten[$i] . "\t</tr>\n";
}
- echo "</table>\n";
-
+ echo "</table>\n";
+
ShowSwitchDay();
-}//if (isset($raum))
+} //if (isset($raum))
-echo "<a href=\"". $_SESSION["newurl"]. "&Icon=0\">@</a>";
+echo "<a href=\"" . $_SESSION["newurl"] . "&Icon=0\">@</a>";
-include ("../../includes/footer.php");
+include ("includes/footer.php");
?>
diff --git a/www-ssl/nonpublic/schichtplan_add.php b/www-ssl/nonpublic/schichtplan_add.php
index 50caf5c7..1bbcdc4b 100755..100644
--- a/www-ssl/nonpublic/schichtplan_add.php
+++ b/www-ssl/nonpublic/schichtplan_add.php
@@ -1,126 +1,114 @@
<?php
+require_once ('../bootstrap.php');
+
$title = "Himmel";
$header = "Schichtpl&auml;ne";
-include ("../../includes/header.php");
-include ("../../includes/funktion_schichtplan.php");
-include ("../../includes/funktion_schichtplan_array.php");
-include ("../../includes/funktionen.php");
+include "includes/header.php";
+include "includes/funktion_schichtplan.php";
+include "includes/funktion_schichtplan_aray.php";
+include "includes/funktionen.php";
-if (isset($_POST["newtext"]) && isset($_POST["SID"]) && isset($_POST["TID"])) {
+if (isset ($_POST["newtext"]) && isset ($_POST["SID"]) && isset ($_POST["TID"])) {
SetHeaderGo2Back();
-
- // datum der einzutragenden schicht heraussuhen...
- $ShiftSQL = "SELECT `DateS`, `DateE` FROM `Shifts` WHERE `SID`='". $_POST["SID"]. ".'";
- $ShiftErg = mysql_query ($ShiftSQL, $con);
+
+ // datum der einzutragenden Schicht heraussuhen...
+ $ShiftSQL = "SELECT `DateS`, `DateE` FROM `Shifts` WHERE `SID`='" . $_POST["SID"] . ".'";
+ $ShiftErg = mysql_query($ShiftSQL, $con);
$beginSchicht = mysql_result($ShiftErg, 0, "DateS");
- $endSchicht = mysql_result($ShiftErg, 0, "DateE");
-
- //wenn keien rechte definiert sind
- if( !isset($_SESSION['CVS'][ $TID2Name[$_POST["TID"]] ]))
- $_SESSION['CVS'][ $TID2Name[$_POST["TID"]] ] = "Y";
-
- if( $_SESSION['CVS'][ $TID2Name[$_POST["TID"]] ] == "Y")
- {
- // Ueberpruefung, ob der Engel bereits f�r eine Schicht zu dieser Zeit eingetragen ist
- $SSQL="SELECT * FROM `Shifts`".
- " INNER JOIN `ShiftEntry` ON `ShiftEntry`.`SID` = `Shifts`.`SID`".
- " WHERE ((".
- " ((`Shifts`.`DateS` >= '$beginSchicht') and ".
- " (`Shifts`.`DateS` < '$endSchicht'))".
- " OR ".
- " ((`Shifts`.`DateE` > '$beginSchicht') and ".
- " (`Shifts`.`DateE` <= '$endSchicht')) ".
- ") and ".
- "(`ShiftEntry`.`UID` = '". $_SESSION['UID']. "'));";
- $bErg = mysql_query($SSQL, $con);
-
- if( mysql_num_rows($bErg) != 0 )
- echo Get_Text("pub_schichtplan_add_AllreadyinShift");
- else
- {
- //ermitteln der noch gesuchten
- $SQL3 = "SELECT * FROM `ShiftEntry`".
- " WHERE ((`SID` = '". $_POST["SID"]. "') AND (`TID` = '". $_POST["TID"]. "') AND (`UID` = '0'));";
- $Erg3 = mysql_query($SQL3, $con);
-
- if( mysql_num_rows($Erg3) <= 0 )
- echo Get_Text("pub_schichtplan_add_ToManyYousers");
- else
- {
- //write shift
- $SQL = "UPDATE `ShiftEntry` SET ".
- "`UID` = '". $_SESSION['UID']. "', ".
- "`Comment` = '". $_POST["newtext"]. "' ".
- "WHERE ( (`SID` = '". $_POST["SID"]. "') and ".
- "(`TID` = '". $_POST["TID"]. "') and ".
- "(`UID` = '0')) LIMIT 1;";
- $Erg = mysql_query($SQL, $con);
-
- if ($Erg != 1)
- echo Get_Text("pub_schichtplan_add_Error");
- else
- echo Get_Text("pub_schichtplan_add_WriteOK");
-
- }//TO Many USERS
- }//Allready in Shift
- }
- else
- {
+ $endSchicht = mysql_result($ShiftErg, 0, "DateE");
+
+ // wenn keien rechte definiert sind
+ if (!isset ($_SESSION['CVS'][$TID2Name[$_POST["TID"]]]))
+ $_SESSION['CVS'][$TID2Name[$_POST["TID"]]] = "Y";
+
+ if ($_SESSION['CVS'][$TID2Name[$_POST["TID"]]] == "Y") {
+ // Ueberpruefung, ob der Engel bereits fuer eine Schicht zu dieser Zeit eingetragen ist
+ $SSQL = "SELECT * FROM `Shifts`" .
+ " INNER JOIN `ShiftEntry` ON `ShiftEntry`.`SID` = `Shifts`.`SID`" .
+ " WHERE ((" .
+ " ((`Shifts`.`DateS` >= '$beginSchicht') and " .
+ " (`Shifts`.`DateS` < '$endSchicht'))" .
+ " OR " .
+ " ((`Shifts`.`DateE` > '$beginSchicht') and " .
+ " (`Shifts`.`DateE` <= '$endSchicht')) " .
+ ") and " .
+ "(`ShiftEntry`.`UID` = '" . $_SESSION['UID'] . "'));";
+ $bErg = mysql_query($SSQL, $con);
+
+ if (mysql_num_rows($bErg) != 0)
+ echo Get_Text("pub_schichtplan_add_AllreadyinShift");
+ else {
+ // ermitteln der noch gesuchten
+ $SQL3 = "SELECT * FROM `ShiftEntry`" .
+ " WHERE ((`SID` = '" . $_POST["SID"] . "') AND (`TID` = '" . $_POST["TID"] . "') AND (`UID` = '0'));";
+ $Erg3 = mysql_query($SQL3, $con);
+
+ if (mysql_num_rows($Erg3) <= 0)
+ echo Get_Text("pub_schichtplan_add_ToManyYousers");
+ else {
+ //write shift
+ $SQL = "UPDATE `ShiftEntry` SET " .
+ "`UID` = '" . $_SESSION['UID'] . "', " .
+ "`Comment` = '" . $_POST["newtext"] . "' " .
+ "WHERE ( (`SID` = '" . $_POST["SID"] . "') and " .
+ "(`TID` = '" . $_POST["TID"] . "') and " .
+ "(`UID` = '0')) LIMIT 1;";
+ $Erg = mysql_query($SQL, $con);
+
+ if ($Erg != 1)
+ echo Get_Text("pub_schichtplan_add_Error");
+ else
+ echo Get_Text("pub_schichtplan_add_WriteOK");
+ }
+ }
+ } else {
echo "<h1>:-(</h1>";
array_push($error_messages, "Hack atteck\n");
}
}
-elseif (isset($_GET["SID"]) && isset($_GET["TID"]))
-{
- //wenn keien rechte definiert sind
- if( !isset($_SESSION['CVS'][ $TID2Name[$_GET["TID"]] ]))
- $_SESSION['CVS'][ $TID2Name[$_GET["TID"]] ] = "Y";
-
-
+elseif (isset ($_GET["SID"]) && isset ($_GET["TID"])) {
+ //wenn keine Rechte definiert sind
+ if (!isset ($_SESSION['CVS'][$TID2Name[$_GET["TID"]]]))
+ $_SESSION['CVS'][$TID2Name[$_GET["TID"]]] = "Y";
- if( $_SESSION['CVS'][ $TID2Name[$_GET["TID"]] ] == "Y")
- {
+ if ($_SESSION['CVS'][$TID2Name[$_GET["TID"]]] == "Y") {
+ echo Get_Text("pub_schichtplan_add_Text1") . "<br /><br />\n\n" .
+ "<form action=\"./schichtplan_add.php\" method=\"post\">\n" .
+ "<table border=\"0\">\n";
- echo Get_Text("pub_schichtplan_add_Text1"). "<br><br>\n\n".
- "<form action=\"./schichtplan_add.php\" method=\"post\">\n".
- "<table border=\"0\">\n";
-
$SQL = "SELECT * FROM `Shifts` WHERE ";
- $SQL .="(`SID` = '". $_GET["SID"]. "')";
+ $SQL .= "(`SID` = '" . $_GET["SID"] . "')";
$Erg = mysql_query($SQL, $con);
-
- echo "<tr><td>". Get_Text("pub_schichtplan_add_Date"). ":</td> <td>".
- mysql_result($Erg, 0, "DateS"). "</td></tr>\n";
-
- echo "<tr><td>". Get_Text("pub_schichtplan_add_Place"). ":</td> <td>".
- $RoomID[ mysql_result($Erg, 0, "RID") ]. "</td></tr>\n";
-
- echo "<tr><td>". Get_Text("pub_schichtplan_add_Job"). ":</td> <td>".
- $EngelTypeID[$_GET["TID"]]. "</td></tr>\n";
-
- echo "<tr><td>". Get_Text("pub_schichtplan_add_Len"). ":</td> <td>".
- mysql_result($Erg, 0, "Len"). "h</td></tr>\n";
-
- echo "<tr><td>". Get_Text("pub_schichtplan_add_TextFor"). ":</td> <td>".
- mysql_result($Erg, 0, "Man"). "</td></tr>\n";
-
- echo "<tr><td valign='top'>". Get_Text("pub_schichtplan_add_Comment"). ":</td>\n <td>".
- "<textarea name='newtext' cols='50' rows='10'></textarea> </td></tr>\n";
-
- echo "<tr><td>&nbsp;</td>\n".
- "<td><input type=\"submit\" value=\"". Get_Text("pub_schichtplan_add_submit"). "\"> </td></tr>\n".
- "</table>\n".
- "<input type=\"hidden\" name=\"SID\" value=\"". $_GET["SID"]. "\">\n".
- "<input type=\"hidden\" name=\"TID\" value=\"". $_GET["TID"]. "\">\n".
- "</form>";
- }
- else
- {
+
+ echo "<tr><td>" . Get_Text("pub_schichtplan_add_Date") . ":</td> <td>" .
+ mysql_result($Erg, 0, "DateS") . "</td></tr>\n";
+
+ echo "<tr><td>" . Get_Text("pub_schichtplan_add_Place") . ":</td> <td>" .
+ $RoomID[mysql_result($Erg, 0, "RID")] . "</td></tr>\n";
+
+ echo "<tr><td>" . Get_Text("pub_schichtplan_add_Job") . ":</td> <td>" .
+ $EngelTypeID[$_GET["TID"]] . "</td></tr>\n";
+
+ echo "<tr><td>" . Get_Text("pub_schichtplan_add_Len") . ":</td> <td>" .
+ mysql_result($Erg, 0, "Len") . "h</td></tr>\n";
+
+ echo "<tr><td>" . Get_Text("pub_schichtplan_add_TextFor") . ":</td> <td>" .
+ mysql_result($Erg, 0, "Man") . "</td></tr>\n";
+
+ echo "<tr><td valign='top'>" . Get_Text("pub_schichtplan_add_Comment") . ":</td>\n <td>" .
+ "<textarea name='newtext' cols='50' rows='10'></textarea> </td></tr>\n";
+
+ echo "<tr><td>&nbsp;</td>\n" .
+ "<td><input type=\"submit\" value=\"" . Get_Text("pub_schichtplan_add_submit") . "\"> </td></tr>\n" .
+ "</table>\n" .
+ "<input type=\"hidden\" name=\"SID\" value=\"" . $_GET["SID"] . "\">\n" .
+ "<input type=\"hidden\" name=\"TID\" value=\"" . $_GET["TID"] . "\">\n" .
+ "</form>";
+ } else {
echo "<h1>:-(</h1>";
array_push($error_messages, "Hack atteck\n");
}
-
}
-include ("../../includes/footer.php");
+include "includes/footer.php";
?>
diff --git a/www-ssl/nonpublic/schichtplan_beamer.php b/www-ssl/nonpublic/schichtplan_beamer.php
index cd410fc2..269660e1 100755..100644
--- a/www-ssl/nonpublic/schichtplan_beamer.php
+++ b/www-ssl/nonpublic/schichtplan_beamer.php
@@ -1,61 +1,59 @@
<?php
-include ("../../includes/header_start.php");
+require_once ('../bootstrap.php');
-include ("../../includes/funktionen.php");
-include ("../../includes/funktion_schichtplan_beamer.php");
+include "includes/header_start.php";
+include "includes/funktionen.php";
+include "includes/funktion_schichtplan_beamer.php";
-$Time = time()+3600+3600;
-//$Time = 1104241344;
+$Time = time() + 3600 + 3600;
?>
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Schichtpl&auml;ne f&uuml;r Beamer</TITLE>
-<!--<link rel=stylesheet type="text/css" href="/css/style1.css">-->
-<meta http-equiv="refresh" content="30; URL=<?PHP echo $url. $_SERVER['PHP_SELF']?>">
-</HEAD>
-<BODY>
-<?PHP
+<html>
+<head>
+<title>Schichtpl&auml;ne f&uuml;r Beamer</title>
+<meta http-equiv="refresh" content="30; URL=<?php echo $url . $_SERVER['PHP_SELF']; ?>" />
+</head>
+
+<body>
+
+<?php
+
echo "<table border=\"1\" width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n";
echo "<colgroup span=\"4\" valign=\"center\">
- <col width=\"30\">
- <col width=\"3*\">
- <col width=\"3*\">
- <col width=\"3*\">
- </colgroup>\n";
-
-echo "<tr align=\"center\">\n".
-// "\t<td>&nbsp;</td>\n".
- "\t<td>". gmdate("d.m.y", $Time). "</td>\n".
- "\t<td>". gmdate("H", $Time-3600). ":00</td>\n".
- "\t<td>". gmdate("H", $Time+0). ":00</td>\n".
- "\t<td>". gmdate("H", $Time+3600). ":00</td>\n".
- "</tr>\n";
-
-foreach( $Room as $RoomEntry )
-{
-
- //var-init
+ <col width=\"30\">
+ <col width=\"3*\">
+ <col width=\"3*\">
+ <col width=\"3*\">
+ </colgroup>\n";
+
+echo "<tr align=\"center\">\n" .
+"<td>" . gmdate("d.m.y", $Time) . "</td>\n" .
+"<td>" . gmdate("H", $Time -3600) . ":00</td>\n" .
+"<td>" . gmdate("H", $Time +0) . ":00</td>\n" .
+"<td>" . gmdate("H", $Time +3600) . ":00</td>\n" .
+"</tr>\n";
+
+foreach ($Room as $RoomEntry) {
+ // var-init
$AnzahlEintraege = 0;
-
- $Out = ausgabe_Zeile( $RoomEntry["RID"], $Time-3600, $AnzahlEintraege);
- $Out.= ausgabe_Zeile( $RoomEntry["RID"], $Time, $AnzahlEintraege);
- $Out.= ausgabe_Zeile( $RoomEntry["RID"], $Time+3600, $AnzahlEintraege);
-
-
- //entfernt leere zeilen
- if( $AnzahlEintraege==0 )
+
+ $Out = ausgabe_Zeile($RoomEntry["RID"], $Time -3600, $AnzahlEintraege);
+ $Out .= ausgabe_Zeile($RoomEntry["RID"], $Time, $AnzahlEintraege);
+ $Out .= ausgabe_Zeile($RoomEntry["RID"], $Time +3600, $AnzahlEintraege);
+
+ if ($AnzahlEintraege == 0)
$Out = "";
else
- $Out = "<tr>\n\t<td>_". $RoomEntry["Name"]. "_</td>\n". $Out . "</tr>\n";
-
+ $Out = "<tr>\n<td>_" . $RoomEntry["Name"] . "_</td>\n" . $Out . "</tr>\n";
+
echo $Out;
}
+?>
-echo "</table>\n";
+</table>
-?>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/www-ssl/nonpublic/waeckliste.php b/www-ssl/nonpublic/waeckliste.php
deleted file mode 100755
index 7ca7460e..00000000
--- a/www-ssl/nonpublic/waeckliste.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "Weckdienst - Liste der zu weckenden Engel";
-
-include ("../../includes/header.php");
-
-?>
-
-<?PHP echo Get_Text("Hello"). $_SESSION['Nick'].",<br>\n".
- Get_Text("pub_waeckliste_Text1")?>
-<br><br>
-<table border="0" width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <th align="left"><?PHP echo Get_Text("pub_waeckliste_Nick");?></th>
- <th align="left"><?PHP echo Get_Text("pub_waeckliste_Datum");?></th>
- <th align="left"><?PHP echo Get_Text("pub_waeckliste_Ort");?></th>
- <th align="left"><?PHP echo Get_Text("pub_waeckliste_Comment");?></th>
- </tr>
-
-<?PHP
- $sql = "SELECT * FROM `Wecken` ORDER BY `Date` ASC";
- $Erg = mysql_query($sql, $con);
- $count = mysql_num_rows($Erg);
-
- for ($i=0; $i < $count; $i++) {
- $row=mysql_fetch_row($Erg);
-?>
- <tr class="content">
- <td align="left"><?PHP echo UID2Nick(mysql_result($Erg, $i, "UID")); ?> </td>
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Date"); ?> </td>
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Ort"); ?> </td>
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Bemerkung"); ?> </td>
- </tr>
-<?PHP
- }
-?>
-</table>
-<?PHP
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/nonpublic/wecken.php b/www-ssl/nonpublic/wecken.php
deleted file mode 100755
index 30ef689b..00000000
--- a/www-ssl/nonpublic/wecken.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-$title = "Himmel";
-$header = "Weckdienst";
-
-include ("../../includes/header.php");
-
-if( isset($_POST["eintragen"]))
- if( $_POST["eintragen"] == Get_Text("pub_wake_bouton") )
- {
- $SQL = "INSERT INTO `Wecken` (`UID`, `Date`, `Ort`, `Bemerkung`) ".
- "VALUES ('". $_SESSION['UID']. "', '". $_POST["Date"]. "', '". $_POST["Ort"]. "', ".
- "'". $_POST["Bemerkung"]. "')";
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- Print_Text(4);
- }
-if( isset($_GET["eintragen"]))
- if ($_GET["eintragen"] == "loeschen")
- {
- $SQL = "DELETE FROM `Wecken` WHERE `UID`='". $_SESSION['UID']. "' AND `ID`='". $_GET["weckID"]."' LIMIT 1";
- $Erg = mysql_query($SQL, $con);
- if ($Erg == 1)
- Print_Text(4);
- }
-
-echo Get_Text("Hello").$_SESSION['Nick'].",<br>".Get_Text("pub_wake_beschreibung"). "<br><br>\n\n";
-
-
-echo Get_Text("pub_wake_beschreibung2"); ?>
-<br><br>
-<table border="0" width="100%" class="border" cellpadding="2" cellspacing="1">
- <tr class="contenttopic">
- <th align="left"><?PHP echo Get_Text("pub_wake_Datum"); ?></th>
- <th align="left"><?PHP echo Get_Text("pub_wake_Ort"); ?></th>
- <th align="left"><?PHP echo Get_Text("pub_wake_Bemerkung"); ?></th>
- <th align="left"><?PHP echo Get_Text("pub_wake_change"); ?></th>
- </tr>
-
-<?PHP
- $sql = "SELECT * FROM `Wecken` WHERE `UID`='". $_SESSION['UID']. "' ORDER BY `Date` ASC";
- $Erg = mysql_query($sql, $con);
- $count = mysql_num_rows($Erg);
-
- for ($i=0; $i < $count; $i++) {
- $row=mysql_fetch_row($Erg);
-?>
- <tr class="content">
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Date"); ?> </td>
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Ort"); ?> </td>
- <td align="left"><?PHP echo mysql_result($Erg, $i, "Bemerkung"); ?> </td>
- <td align="left"><a href="./wecken.php?eintragen=loeschen&weckID=<?PHP
- echo mysql_result($Erg, $i, "ID")."\">".Get_Text("pub_wake_del"); ?></a></td>
- </tr>
-<?PHP
- }
-?>
-</table>
-<br><br>
-
-<?PHP echo Get_Text("pub_wake_Text2"); ?><br><br>
-
-<form action="wecken.php" method="post">
-<table>
- <tr>
- <td align="right"><?PHP echo Get_Text("pub_wake_Datum"); ?>:</td>
- <td align="left"><input type="text" name="Date" value="2003-08-05 08:00:00"></td>
- </tr>
- <tr>
- <td align="right"><?PHP echo Get_Text("pub_wake_Ort"); ?></td>
- <td align="left"><input type="text" name="Ort" value="Tent 23"></td>
- </tr>
- <tr>
- <td align="right"><?PHP echo Get_Text("pub_wake_Bemerkung"); ?></td>
- <td align="left"><textarea name="Bemerkung" rows="5" cols="40">knock knock leo, follow the white rabbit to the blue tent</textarea></td>
- </tr>
-</table>
-<input type="submit" name="eintragen" value="<?PHP echo Get_Text("pub_wake_bouton"); ?>">
-</form>
-<?PHP
-include ("../../includes/footer.php");
-?>
diff --git a/www-ssl/pic/avatar/avatar1.gif b/www-ssl/pic/avatar/avatar1.gif
index 1404f299..1404f299 100755..100644
--- a/www-ssl/pic/avatar/avatar1.gif
+++ b/www-ssl/pic/avatar/avatar1.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar10.gif b/www-ssl/pic/avatar/avatar10.gif
index 6ef61330..6ef61330 100755..100644
--- a/www-ssl/pic/avatar/avatar10.gif
+++ b/www-ssl/pic/avatar/avatar10.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar100.gif b/www-ssl/pic/avatar/avatar100.gif
index 1e00f0d3..1e00f0d3 100755..100644
--- a/www-ssl/pic/avatar/avatar100.gif
+++ b/www-ssl/pic/avatar/avatar100.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar101.gif b/www-ssl/pic/avatar/avatar101.gif
index 15a41959..15a41959 100755..100644
--- a/www-ssl/pic/avatar/avatar101.gif
+++ b/www-ssl/pic/avatar/avatar101.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar102.gif b/www-ssl/pic/avatar/avatar102.gif
index 325d9173..325d9173 100755..100644
--- a/www-ssl/pic/avatar/avatar102.gif
+++ b/www-ssl/pic/avatar/avatar102.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar103.gif b/www-ssl/pic/avatar/avatar103.gif
index c842fcdf..c842fcdf 100755..100644
--- a/www-ssl/pic/avatar/avatar103.gif
+++ b/www-ssl/pic/avatar/avatar103.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar104.gif b/www-ssl/pic/avatar/avatar104.gif
index 83483253..83483253 100755..100644
--- a/www-ssl/pic/avatar/avatar104.gif
+++ b/www-ssl/pic/avatar/avatar104.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar105.gif b/www-ssl/pic/avatar/avatar105.gif
index 1cdc0d10..1cdc0d10 100755..100644
--- a/www-ssl/pic/avatar/avatar105.gif
+++ b/www-ssl/pic/avatar/avatar105.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar106.gif b/www-ssl/pic/avatar/avatar106.gif
index be773e15..be773e15 100755..100644
--- a/www-ssl/pic/avatar/avatar106.gif
+++ b/www-ssl/pic/avatar/avatar106.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar107.gif b/www-ssl/pic/avatar/avatar107.gif
index b111f9c8..b111f9c8 100755..100644
--- a/www-ssl/pic/avatar/avatar107.gif
+++ b/www-ssl/pic/avatar/avatar107.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar108.gif b/www-ssl/pic/avatar/avatar108.gif
index 12a21a94..12a21a94 100755..100644
--- a/www-ssl/pic/avatar/avatar108.gif
+++ b/www-ssl/pic/avatar/avatar108.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar109.gif b/www-ssl/pic/avatar/avatar109.gif
index 32534f83..32534f83 100755..100644
--- a/www-ssl/pic/avatar/avatar109.gif
+++ b/www-ssl/pic/avatar/avatar109.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar11.gif b/www-ssl/pic/avatar/avatar11.gif
index 199b085d..199b085d 100755..100644
--- a/www-ssl/pic/avatar/avatar11.gif
+++ b/www-ssl/pic/avatar/avatar11.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar110.gif b/www-ssl/pic/avatar/avatar110.gif
index e2c70f54..e2c70f54 100755..100644
--- a/www-ssl/pic/avatar/avatar110.gif
+++ b/www-ssl/pic/avatar/avatar110.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar111.gif b/www-ssl/pic/avatar/avatar111.gif
index f197ea67..f197ea67 100755..100644
--- a/www-ssl/pic/avatar/avatar111.gif
+++ b/www-ssl/pic/avatar/avatar111.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar112.gif b/www-ssl/pic/avatar/avatar112.gif
index ff4ec284..ff4ec284 100755..100644
--- a/www-ssl/pic/avatar/avatar112.gif
+++ b/www-ssl/pic/avatar/avatar112.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar113.gif b/www-ssl/pic/avatar/avatar113.gif
index 1dbd37aa..1dbd37aa 100755..100644
--- a/www-ssl/pic/avatar/avatar113.gif
+++ b/www-ssl/pic/avatar/avatar113.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar114.gif b/www-ssl/pic/avatar/avatar114.gif
index 6b4b107e..6b4b107e 100755..100644
--- a/www-ssl/pic/avatar/avatar114.gif
+++ b/www-ssl/pic/avatar/avatar114.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar115.gif b/www-ssl/pic/avatar/avatar115.gif
index 2af52d2b..2af52d2b 100755..100644
--- a/www-ssl/pic/avatar/avatar115.gif
+++ b/www-ssl/pic/avatar/avatar115.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar116.gif b/www-ssl/pic/avatar/avatar116.gif
index 7db21919..7db21919 100755..100644
--- a/www-ssl/pic/avatar/avatar116.gif
+++ b/www-ssl/pic/avatar/avatar116.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar117.gif b/www-ssl/pic/avatar/avatar117.gif
index 5cb57d35..5cb57d35 100755..100644
--- a/www-ssl/pic/avatar/avatar117.gif
+++ b/www-ssl/pic/avatar/avatar117.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar118.gif b/www-ssl/pic/avatar/avatar118.gif
index fb1e43b5..fb1e43b5 100755..100644
--- a/www-ssl/pic/avatar/avatar118.gif
+++ b/www-ssl/pic/avatar/avatar118.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar119.gif b/www-ssl/pic/avatar/avatar119.gif
index 6a78fee5..6a78fee5 100755..100644
--- a/www-ssl/pic/avatar/avatar119.gif
+++ b/www-ssl/pic/avatar/avatar119.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar12.gif b/www-ssl/pic/avatar/avatar12.gif
index c6ee6937..c6ee6937 100755..100644
--- a/www-ssl/pic/avatar/avatar12.gif
+++ b/www-ssl/pic/avatar/avatar12.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar120.gif b/www-ssl/pic/avatar/avatar120.gif
index 278c5b14..278c5b14 100755..100644
--- a/www-ssl/pic/avatar/avatar120.gif
+++ b/www-ssl/pic/avatar/avatar120.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar121.gif b/www-ssl/pic/avatar/avatar121.gif
index 77bb5793..77bb5793 100755..100644
--- a/www-ssl/pic/avatar/avatar121.gif
+++ b/www-ssl/pic/avatar/avatar121.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar122.gif b/www-ssl/pic/avatar/avatar122.gif
index 67c03bfd..67c03bfd 100755..100644
--- a/www-ssl/pic/avatar/avatar122.gif
+++ b/www-ssl/pic/avatar/avatar122.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar123.gif b/www-ssl/pic/avatar/avatar123.gif
index 351c7ee0..351c7ee0 100755..100644
--- a/www-ssl/pic/avatar/avatar123.gif
+++ b/www-ssl/pic/avatar/avatar123.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar124.gif b/www-ssl/pic/avatar/avatar124.gif
index 13a090bc..13a090bc 100755..100644
--- a/www-ssl/pic/avatar/avatar124.gif
+++ b/www-ssl/pic/avatar/avatar124.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar125.gif b/www-ssl/pic/avatar/avatar125.gif
index e4338b9f..e4338b9f 100755..100644
--- a/www-ssl/pic/avatar/avatar125.gif
+++ b/www-ssl/pic/avatar/avatar125.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar126.gif b/www-ssl/pic/avatar/avatar126.gif
index 80759725..80759725 100755..100644
--- a/www-ssl/pic/avatar/avatar126.gif
+++ b/www-ssl/pic/avatar/avatar126.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar127.gif b/www-ssl/pic/avatar/avatar127.gif
index e3c7e056..e3c7e056 100755..100644
--- a/www-ssl/pic/avatar/avatar127.gif
+++ b/www-ssl/pic/avatar/avatar127.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar128.gif b/www-ssl/pic/avatar/avatar128.gif
index fb00ebd9..fb00ebd9 100755..100644
--- a/www-ssl/pic/avatar/avatar128.gif
+++ b/www-ssl/pic/avatar/avatar128.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar129.gif b/www-ssl/pic/avatar/avatar129.gif
index 40651db7..40651db7 100755..100644
--- a/www-ssl/pic/avatar/avatar129.gif
+++ b/www-ssl/pic/avatar/avatar129.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar13.gif b/www-ssl/pic/avatar/avatar13.gif
index 8328c337..8328c337 100755..100644
--- a/www-ssl/pic/avatar/avatar13.gif
+++ b/www-ssl/pic/avatar/avatar13.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar130.gif b/www-ssl/pic/avatar/avatar130.gif
index 45faa378..45faa378 100755..100644
--- a/www-ssl/pic/avatar/avatar130.gif
+++ b/www-ssl/pic/avatar/avatar130.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar131.gif b/www-ssl/pic/avatar/avatar131.gif
index 92cff06c..92cff06c 100755..100644
--- a/www-ssl/pic/avatar/avatar131.gif
+++ b/www-ssl/pic/avatar/avatar131.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar132.gif b/www-ssl/pic/avatar/avatar132.gif
index 8835d905..8835d905 100755..100644
--- a/www-ssl/pic/avatar/avatar132.gif
+++ b/www-ssl/pic/avatar/avatar132.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar133.gif b/www-ssl/pic/avatar/avatar133.gif
index 15abbcbe..15abbcbe 100755..100644
--- a/www-ssl/pic/avatar/avatar133.gif
+++ b/www-ssl/pic/avatar/avatar133.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar134.gif b/www-ssl/pic/avatar/avatar134.gif
index f559359f..f559359f 100755..100644
--- a/www-ssl/pic/avatar/avatar134.gif
+++ b/www-ssl/pic/avatar/avatar134.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar135.gif b/www-ssl/pic/avatar/avatar135.gif
index d9a07c47..d9a07c47 100755..100644
--- a/www-ssl/pic/avatar/avatar135.gif
+++ b/www-ssl/pic/avatar/avatar135.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar136.gif b/www-ssl/pic/avatar/avatar136.gif
index e7f9f76c..e7f9f76c 100755..100644
--- a/www-ssl/pic/avatar/avatar136.gif
+++ b/www-ssl/pic/avatar/avatar136.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar137.gif b/www-ssl/pic/avatar/avatar137.gif
index b62b374b..b62b374b 100755..100644
--- a/www-ssl/pic/avatar/avatar137.gif
+++ b/www-ssl/pic/avatar/avatar137.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar138.gif b/www-ssl/pic/avatar/avatar138.gif
index 49c44308..49c44308 100755..100644
--- a/www-ssl/pic/avatar/avatar138.gif
+++ b/www-ssl/pic/avatar/avatar138.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar139.gif b/www-ssl/pic/avatar/avatar139.gif
index 4281e84a..4281e84a 100755..100644
--- a/www-ssl/pic/avatar/avatar139.gif
+++ b/www-ssl/pic/avatar/avatar139.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar14.gif b/www-ssl/pic/avatar/avatar14.gif
index 1edaa2ca..1edaa2ca 100755..100644
--- a/www-ssl/pic/avatar/avatar14.gif
+++ b/www-ssl/pic/avatar/avatar14.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar140.gif b/www-ssl/pic/avatar/avatar140.gif
index b058941a..b058941a 100755..100644
--- a/www-ssl/pic/avatar/avatar140.gif
+++ b/www-ssl/pic/avatar/avatar140.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar141.gif b/www-ssl/pic/avatar/avatar141.gif
index 33def8f5..33def8f5 100755..100644
--- a/www-ssl/pic/avatar/avatar141.gif
+++ b/www-ssl/pic/avatar/avatar141.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar142.gif b/www-ssl/pic/avatar/avatar142.gif
index 416e7c26..416e7c26 100755..100644
--- a/www-ssl/pic/avatar/avatar142.gif
+++ b/www-ssl/pic/avatar/avatar142.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar143.gif b/www-ssl/pic/avatar/avatar143.gif
index 18ee70d9..18ee70d9 100755..100644
--- a/www-ssl/pic/avatar/avatar143.gif
+++ b/www-ssl/pic/avatar/avatar143.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar144.gif b/www-ssl/pic/avatar/avatar144.gif
index e322ac57..e322ac57 100755..100644
--- a/www-ssl/pic/avatar/avatar144.gif
+++ b/www-ssl/pic/avatar/avatar144.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar145.gif b/www-ssl/pic/avatar/avatar145.gif
index 5f047a5f..5f047a5f 100755..100644
--- a/www-ssl/pic/avatar/avatar145.gif
+++ b/www-ssl/pic/avatar/avatar145.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar146.gif b/www-ssl/pic/avatar/avatar146.gif
index 3d2fe843..3d2fe843 100755..100644
--- a/www-ssl/pic/avatar/avatar146.gif
+++ b/www-ssl/pic/avatar/avatar146.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar147.gif b/www-ssl/pic/avatar/avatar147.gif
index d1d54f74..d1d54f74 100755..100644
--- a/www-ssl/pic/avatar/avatar147.gif
+++ b/www-ssl/pic/avatar/avatar147.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar148.gif b/www-ssl/pic/avatar/avatar148.gif
index 0e715ed8..0e715ed8 100755..100644
--- a/www-ssl/pic/avatar/avatar148.gif
+++ b/www-ssl/pic/avatar/avatar148.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar149.gif b/www-ssl/pic/avatar/avatar149.gif
index 9cbe72c6..9cbe72c6 100755..100644
--- a/www-ssl/pic/avatar/avatar149.gif
+++ b/www-ssl/pic/avatar/avatar149.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar15.gif b/www-ssl/pic/avatar/avatar15.gif
index d197e82a..d197e82a 100755..100644
--- a/www-ssl/pic/avatar/avatar15.gif
+++ b/www-ssl/pic/avatar/avatar15.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar150.gif b/www-ssl/pic/avatar/avatar150.gif
index b790d296..b790d296 100755..100644
--- a/www-ssl/pic/avatar/avatar150.gif
+++ b/www-ssl/pic/avatar/avatar150.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar151.gif b/www-ssl/pic/avatar/avatar151.gif
index afc3b333..afc3b333 100755..100644
--- a/www-ssl/pic/avatar/avatar151.gif
+++ b/www-ssl/pic/avatar/avatar151.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar152.gif b/www-ssl/pic/avatar/avatar152.gif
index e30287d6..e30287d6 100755..100644
--- a/www-ssl/pic/avatar/avatar152.gif
+++ b/www-ssl/pic/avatar/avatar152.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar153.gif b/www-ssl/pic/avatar/avatar153.gif
index 82bb1775..82bb1775 100755..100644
--- a/www-ssl/pic/avatar/avatar153.gif
+++ b/www-ssl/pic/avatar/avatar153.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar154.gif b/www-ssl/pic/avatar/avatar154.gif
index 872008da..872008da 100755..100644
--- a/www-ssl/pic/avatar/avatar154.gif
+++ b/www-ssl/pic/avatar/avatar154.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar155.gif b/www-ssl/pic/avatar/avatar155.gif
index 51931858..51931858 100755..100644
--- a/www-ssl/pic/avatar/avatar155.gif
+++ b/www-ssl/pic/avatar/avatar155.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar156.gif b/www-ssl/pic/avatar/avatar156.gif
index 8b3781ff..8b3781ff 100755..100644
--- a/www-ssl/pic/avatar/avatar156.gif
+++ b/www-ssl/pic/avatar/avatar156.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar157.gif b/www-ssl/pic/avatar/avatar157.gif
index 7c8667cf..7c8667cf 100755..100644
--- a/www-ssl/pic/avatar/avatar157.gif
+++ b/www-ssl/pic/avatar/avatar157.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar158.gif b/www-ssl/pic/avatar/avatar158.gif
index ce3472cd..ce3472cd 100755..100644
--- a/www-ssl/pic/avatar/avatar158.gif
+++ b/www-ssl/pic/avatar/avatar158.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar159.gif b/www-ssl/pic/avatar/avatar159.gif
index c54f2b29..c54f2b29 100755..100644
--- a/www-ssl/pic/avatar/avatar159.gif
+++ b/www-ssl/pic/avatar/avatar159.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar16.gif b/www-ssl/pic/avatar/avatar16.gif
index d76a15cd..d76a15cd 100755..100644
--- a/www-ssl/pic/avatar/avatar16.gif
+++ b/www-ssl/pic/avatar/avatar16.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar160.gif b/www-ssl/pic/avatar/avatar160.gif
index deb3507c..deb3507c 100755..100644
--- a/www-ssl/pic/avatar/avatar160.gif
+++ b/www-ssl/pic/avatar/avatar160.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar161.gif b/www-ssl/pic/avatar/avatar161.gif
index f425b1f2..f425b1f2 100755..100644
--- a/www-ssl/pic/avatar/avatar161.gif
+++ b/www-ssl/pic/avatar/avatar161.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar162.gif b/www-ssl/pic/avatar/avatar162.gif
index 5625fe09..5625fe09 100755..100644
--- a/www-ssl/pic/avatar/avatar162.gif
+++ b/www-ssl/pic/avatar/avatar162.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar163.gif b/www-ssl/pic/avatar/avatar163.gif
index 8146a09d..8146a09d 100755..100644
--- a/www-ssl/pic/avatar/avatar163.gif
+++ b/www-ssl/pic/avatar/avatar163.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar164.gif b/www-ssl/pic/avatar/avatar164.gif
index 4690f9cb..4690f9cb 100755..100644
--- a/www-ssl/pic/avatar/avatar164.gif
+++ b/www-ssl/pic/avatar/avatar164.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar165.gif b/www-ssl/pic/avatar/avatar165.gif
index efe72a35..efe72a35 100755..100644
--- a/www-ssl/pic/avatar/avatar165.gif
+++ b/www-ssl/pic/avatar/avatar165.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar166.gif b/www-ssl/pic/avatar/avatar166.gif
index a1720be3..a1720be3 100755..100644
--- a/www-ssl/pic/avatar/avatar166.gif
+++ b/www-ssl/pic/avatar/avatar166.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar167.gif b/www-ssl/pic/avatar/avatar167.gif
index 04d31691..04d31691 100755..100644
--- a/www-ssl/pic/avatar/avatar167.gif
+++ b/www-ssl/pic/avatar/avatar167.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar168.gif b/www-ssl/pic/avatar/avatar168.gif
index 4d804c2a..4d804c2a 100755..100644
--- a/www-ssl/pic/avatar/avatar168.gif
+++ b/www-ssl/pic/avatar/avatar168.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar169.gif b/www-ssl/pic/avatar/avatar169.gif
index afe58a3f..afe58a3f 100755..100644
--- a/www-ssl/pic/avatar/avatar169.gif
+++ b/www-ssl/pic/avatar/avatar169.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar17.gif b/www-ssl/pic/avatar/avatar17.gif
index 994836b7..994836b7 100755..100644
--- a/www-ssl/pic/avatar/avatar17.gif
+++ b/www-ssl/pic/avatar/avatar17.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar170.gif b/www-ssl/pic/avatar/avatar170.gif
index dae4c36a..dae4c36a 100755..100644
--- a/www-ssl/pic/avatar/avatar170.gif
+++ b/www-ssl/pic/avatar/avatar170.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar171.gif b/www-ssl/pic/avatar/avatar171.gif
index 774aa9c2..774aa9c2 100755..100644
--- a/www-ssl/pic/avatar/avatar171.gif
+++ b/www-ssl/pic/avatar/avatar171.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar172.gif b/www-ssl/pic/avatar/avatar172.gif
index e6f7bc6c..e6f7bc6c 100755..100644
--- a/www-ssl/pic/avatar/avatar172.gif
+++ b/www-ssl/pic/avatar/avatar172.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar173.gif b/www-ssl/pic/avatar/avatar173.gif
index 3222ac99..3222ac99 100755..100644
--- a/www-ssl/pic/avatar/avatar173.gif
+++ b/www-ssl/pic/avatar/avatar173.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar174.gif b/www-ssl/pic/avatar/avatar174.gif
index a64201ca..a64201ca 100755..100644
--- a/www-ssl/pic/avatar/avatar174.gif
+++ b/www-ssl/pic/avatar/avatar174.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar175.gif b/www-ssl/pic/avatar/avatar175.gif
index c172a6eb..c172a6eb 100755..100644
--- a/www-ssl/pic/avatar/avatar175.gif
+++ b/www-ssl/pic/avatar/avatar175.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar176.gif b/www-ssl/pic/avatar/avatar176.gif
index bda3bae5..bda3bae5 100755..100644
--- a/www-ssl/pic/avatar/avatar176.gif
+++ b/www-ssl/pic/avatar/avatar176.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar177.gif b/www-ssl/pic/avatar/avatar177.gif
index d2951985..d2951985 100755..100644
--- a/www-ssl/pic/avatar/avatar177.gif
+++ b/www-ssl/pic/avatar/avatar177.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar178.gif b/www-ssl/pic/avatar/avatar178.gif
index 400ae2eb..400ae2eb 100755..100644
--- a/www-ssl/pic/avatar/avatar178.gif
+++ b/www-ssl/pic/avatar/avatar178.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar179.gif b/www-ssl/pic/avatar/avatar179.gif
index cfb7a1cf..cfb7a1cf 100755..100644
--- a/www-ssl/pic/avatar/avatar179.gif
+++ b/www-ssl/pic/avatar/avatar179.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar18.gif b/www-ssl/pic/avatar/avatar18.gif
index 4c1d9b57..4c1d9b57 100755..100644
--- a/www-ssl/pic/avatar/avatar18.gif
+++ b/www-ssl/pic/avatar/avatar18.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar180.gif b/www-ssl/pic/avatar/avatar180.gif
index 5be98c79..5be98c79 100755..100644
--- a/www-ssl/pic/avatar/avatar180.gif
+++ b/www-ssl/pic/avatar/avatar180.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar181.gif b/www-ssl/pic/avatar/avatar181.gif
index 44918224..44918224 100755..100644
--- a/www-ssl/pic/avatar/avatar181.gif
+++ b/www-ssl/pic/avatar/avatar181.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar182.gif b/www-ssl/pic/avatar/avatar182.gif
index 914c3efc..914c3efc 100755..100644
--- a/www-ssl/pic/avatar/avatar182.gif
+++ b/www-ssl/pic/avatar/avatar182.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar183.gif b/www-ssl/pic/avatar/avatar183.gif
index 27d55f8f..27d55f8f 100755..100644
--- a/www-ssl/pic/avatar/avatar183.gif
+++ b/www-ssl/pic/avatar/avatar183.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar184.gif b/www-ssl/pic/avatar/avatar184.gif
index 2ce57015..2ce57015 100755..100644
--- a/www-ssl/pic/avatar/avatar184.gif
+++ b/www-ssl/pic/avatar/avatar184.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar185.gif b/www-ssl/pic/avatar/avatar185.gif
index 8eb60378..8eb60378 100755..100644
--- a/www-ssl/pic/avatar/avatar185.gif
+++ b/www-ssl/pic/avatar/avatar185.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar186.gif b/www-ssl/pic/avatar/avatar186.gif
index d30bc664..d30bc664 100755..100644
--- a/www-ssl/pic/avatar/avatar186.gif
+++ b/www-ssl/pic/avatar/avatar186.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar187.gif b/www-ssl/pic/avatar/avatar187.gif
index 34bcc7d2..34bcc7d2 100755..100644
--- a/www-ssl/pic/avatar/avatar187.gif
+++ b/www-ssl/pic/avatar/avatar187.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar188.gif b/www-ssl/pic/avatar/avatar188.gif
index 3056d45a..3056d45a 100755..100644
--- a/www-ssl/pic/avatar/avatar188.gif
+++ b/www-ssl/pic/avatar/avatar188.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar189.gif b/www-ssl/pic/avatar/avatar189.gif
index 9fb4cd83..9fb4cd83 100755..100644
--- a/www-ssl/pic/avatar/avatar189.gif
+++ b/www-ssl/pic/avatar/avatar189.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar19.gif b/www-ssl/pic/avatar/avatar19.gif
index 40d42724..40d42724 100755..100644
--- a/www-ssl/pic/avatar/avatar19.gif
+++ b/www-ssl/pic/avatar/avatar19.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar190.gif b/www-ssl/pic/avatar/avatar190.gif
index f8c38853..f8c38853 100755..100644
--- a/www-ssl/pic/avatar/avatar190.gif
+++ b/www-ssl/pic/avatar/avatar190.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar191.gif b/www-ssl/pic/avatar/avatar191.gif
index e6af0d88..e6af0d88 100755..100644
--- a/www-ssl/pic/avatar/avatar191.gif
+++ b/www-ssl/pic/avatar/avatar191.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar192.gif b/www-ssl/pic/avatar/avatar192.gif
index 123ed736..123ed736 100755..100644
--- a/www-ssl/pic/avatar/avatar192.gif
+++ b/www-ssl/pic/avatar/avatar192.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar193.gif b/www-ssl/pic/avatar/avatar193.gif
index f82524d9..f82524d9 100755..100644
--- a/www-ssl/pic/avatar/avatar193.gif
+++ b/www-ssl/pic/avatar/avatar193.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar194.gif b/www-ssl/pic/avatar/avatar194.gif
index ae1d743b..ae1d743b 100755..100644
--- a/www-ssl/pic/avatar/avatar194.gif
+++ b/www-ssl/pic/avatar/avatar194.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar195.gif b/www-ssl/pic/avatar/avatar195.gif
index e22c9ba0..e22c9ba0 100755..100644
--- a/www-ssl/pic/avatar/avatar195.gif
+++ b/www-ssl/pic/avatar/avatar195.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar196.gif b/www-ssl/pic/avatar/avatar196.gif
index 87e6293d..87e6293d 100755..100644
--- a/www-ssl/pic/avatar/avatar196.gif
+++ b/www-ssl/pic/avatar/avatar196.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar197.gif b/www-ssl/pic/avatar/avatar197.gif
index 88764c73..88764c73 100755..100644
--- a/www-ssl/pic/avatar/avatar197.gif
+++ b/www-ssl/pic/avatar/avatar197.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar198.gif b/www-ssl/pic/avatar/avatar198.gif
index 58a64280..58a64280 100755..100644
--- a/www-ssl/pic/avatar/avatar198.gif
+++ b/www-ssl/pic/avatar/avatar198.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar199.gif b/www-ssl/pic/avatar/avatar199.gif
index e3861e3e..e3861e3e 100755..100644
--- a/www-ssl/pic/avatar/avatar199.gif
+++ b/www-ssl/pic/avatar/avatar199.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar2.gif b/www-ssl/pic/avatar/avatar2.gif
index 6c1e79a7..6c1e79a7 100755..100644
--- a/www-ssl/pic/avatar/avatar2.gif
+++ b/www-ssl/pic/avatar/avatar2.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar20.gif b/www-ssl/pic/avatar/avatar20.gif
index 7480ddd1..7480ddd1 100755..100644
--- a/www-ssl/pic/avatar/avatar20.gif
+++ b/www-ssl/pic/avatar/avatar20.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar200.gif b/www-ssl/pic/avatar/avatar200.gif
index bcee18dd..bcee18dd 100755..100644
--- a/www-ssl/pic/avatar/avatar200.gif
+++ b/www-ssl/pic/avatar/avatar200.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar201.gif b/www-ssl/pic/avatar/avatar201.gif
index 7ff54bd0..7ff54bd0 100755..100644
--- a/www-ssl/pic/avatar/avatar201.gif
+++ b/www-ssl/pic/avatar/avatar201.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar202.gif b/www-ssl/pic/avatar/avatar202.gif
index 9b9ad5aa..9b9ad5aa 100755..100644
--- a/www-ssl/pic/avatar/avatar202.gif
+++ b/www-ssl/pic/avatar/avatar202.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar203.gif b/www-ssl/pic/avatar/avatar203.gif
index 777e6ab9..777e6ab9 100755..100644
--- a/www-ssl/pic/avatar/avatar203.gif
+++ b/www-ssl/pic/avatar/avatar203.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar204.gif b/www-ssl/pic/avatar/avatar204.gif
index 6e16ed30..6e16ed30 100755..100644
--- a/www-ssl/pic/avatar/avatar204.gif
+++ b/www-ssl/pic/avatar/avatar204.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar205.gif b/www-ssl/pic/avatar/avatar205.gif
index f780d7d8..f780d7d8 100755..100644
--- a/www-ssl/pic/avatar/avatar205.gif
+++ b/www-ssl/pic/avatar/avatar205.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar206.gif b/www-ssl/pic/avatar/avatar206.gif
index 6a5b3ad7..6a5b3ad7 100755..100644
--- a/www-ssl/pic/avatar/avatar206.gif
+++ b/www-ssl/pic/avatar/avatar206.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar207.gif b/www-ssl/pic/avatar/avatar207.gif
index d956d1f9..d956d1f9 100755..100644
--- a/www-ssl/pic/avatar/avatar207.gif
+++ b/www-ssl/pic/avatar/avatar207.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar208.gif b/www-ssl/pic/avatar/avatar208.gif
index 571e059f..571e059f 100755..100644
--- a/www-ssl/pic/avatar/avatar208.gif
+++ b/www-ssl/pic/avatar/avatar208.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar209.gif b/www-ssl/pic/avatar/avatar209.gif
index d2976d85..d2976d85 100755..100644
--- a/www-ssl/pic/avatar/avatar209.gif
+++ b/www-ssl/pic/avatar/avatar209.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar21.gif b/www-ssl/pic/avatar/avatar21.gif
index 45b1b8a3..45b1b8a3 100755..100644
--- a/www-ssl/pic/avatar/avatar21.gif
+++ b/www-ssl/pic/avatar/avatar21.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar210.gif b/www-ssl/pic/avatar/avatar210.gif
index 2bd579b9..2bd579b9 100755..100644
--- a/www-ssl/pic/avatar/avatar210.gif
+++ b/www-ssl/pic/avatar/avatar210.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar211.gif b/www-ssl/pic/avatar/avatar211.gif
index 6e95b7d5..6e95b7d5 100755..100644
--- a/www-ssl/pic/avatar/avatar211.gif
+++ b/www-ssl/pic/avatar/avatar211.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar212.gif b/www-ssl/pic/avatar/avatar212.gif
index 39e012b7..39e012b7 100755..100644
--- a/www-ssl/pic/avatar/avatar212.gif
+++ b/www-ssl/pic/avatar/avatar212.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar213.gif b/www-ssl/pic/avatar/avatar213.gif
index 659fbb65..659fbb65 100755..100644
--- a/www-ssl/pic/avatar/avatar213.gif
+++ b/www-ssl/pic/avatar/avatar213.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar214.gif b/www-ssl/pic/avatar/avatar214.gif
index 822d3530..822d3530 100755..100644
--- a/www-ssl/pic/avatar/avatar214.gif
+++ b/www-ssl/pic/avatar/avatar214.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar215.gif b/www-ssl/pic/avatar/avatar215.gif
index e0909042..e0909042 100755..100644
--- a/www-ssl/pic/avatar/avatar215.gif
+++ b/www-ssl/pic/avatar/avatar215.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar216.gif b/www-ssl/pic/avatar/avatar216.gif
index 7ba52487..7ba52487 100755..100644
--- a/www-ssl/pic/avatar/avatar216.gif
+++ b/www-ssl/pic/avatar/avatar216.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar217.gif b/www-ssl/pic/avatar/avatar217.gif
index 1d69bb45..1d69bb45 100755..100644
--- a/www-ssl/pic/avatar/avatar217.gif
+++ b/www-ssl/pic/avatar/avatar217.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar218.gif b/www-ssl/pic/avatar/avatar218.gif
index 508bff13..508bff13 100755..100644
--- a/www-ssl/pic/avatar/avatar218.gif
+++ b/www-ssl/pic/avatar/avatar218.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar219.gif b/www-ssl/pic/avatar/avatar219.gif
index 6c695dd8..6c695dd8 100755..100644
--- a/www-ssl/pic/avatar/avatar219.gif
+++ b/www-ssl/pic/avatar/avatar219.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar22.gif b/www-ssl/pic/avatar/avatar22.gif
index 7f7d9a26..7f7d9a26 100755..100644
--- a/www-ssl/pic/avatar/avatar22.gif
+++ b/www-ssl/pic/avatar/avatar22.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar220.gif b/www-ssl/pic/avatar/avatar220.gif
index 76604ced..76604ced 100755..100644
--- a/www-ssl/pic/avatar/avatar220.gif
+++ b/www-ssl/pic/avatar/avatar220.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar221.gif b/www-ssl/pic/avatar/avatar221.gif
index 2d5ed7db..2d5ed7db 100755..100644
--- a/www-ssl/pic/avatar/avatar221.gif
+++ b/www-ssl/pic/avatar/avatar221.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar222.gif b/www-ssl/pic/avatar/avatar222.gif
index 607887e5..607887e5 100755..100644
--- a/www-ssl/pic/avatar/avatar222.gif
+++ b/www-ssl/pic/avatar/avatar222.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar223.gif b/www-ssl/pic/avatar/avatar223.gif
index 5c7f782f..5c7f782f 100755..100644
--- a/www-ssl/pic/avatar/avatar223.gif
+++ b/www-ssl/pic/avatar/avatar223.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar224.gif b/www-ssl/pic/avatar/avatar224.gif
index 46e7f845..46e7f845 100755..100644
--- a/www-ssl/pic/avatar/avatar224.gif
+++ b/www-ssl/pic/avatar/avatar224.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar225.gif b/www-ssl/pic/avatar/avatar225.gif
index 7eb3bfcd..7eb3bfcd 100755..100644
--- a/www-ssl/pic/avatar/avatar225.gif
+++ b/www-ssl/pic/avatar/avatar225.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar226.gif b/www-ssl/pic/avatar/avatar226.gif
index a030d2f9..a030d2f9 100755..100644
--- a/www-ssl/pic/avatar/avatar226.gif
+++ b/www-ssl/pic/avatar/avatar226.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar227.gif b/www-ssl/pic/avatar/avatar227.gif
index fe631b92..fe631b92 100755..100644
--- a/www-ssl/pic/avatar/avatar227.gif
+++ b/www-ssl/pic/avatar/avatar227.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar228.gif b/www-ssl/pic/avatar/avatar228.gif
index 459ed140..459ed140 100755..100644
--- a/www-ssl/pic/avatar/avatar228.gif
+++ b/www-ssl/pic/avatar/avatar228.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar229.gif b/www-ssl/pic/avatar/avatar229.gif
index 35546746..35546746 100755..100644
--- a/www-ssl/pic/avatar/avatar229.gif
+++ b/www-ssl/pic/avatar/avatar229.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar23.gif b/www-ssl/pic/avatar/avatar23.gif
index 55f84741..55f84741 100755..100644
--- a/www-ssl/pic/avatar/avatar23.gif
+++ b/www-ssl/pic/avatar/avatar23.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar230.gif b/www-ssl/pic/avatar/avatar230.gif
index 22ffccb0..22ffccb0 100755..100644
--- a/www-ssl/pic/avatar/avatar230.gif
+++ b/www-ssl/pic/avatar/avatar230.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar231.gif b/www-ssl/pic/avatar/avatar231.gif
index 52a82830..52a82830 100755..100644
--- a/www-ssl/pic/avatar/avatar231.gif
+++ b/www-ssl/pic/avatar/avatar231.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar232.gif b/www-ssl/pic/avatar/avatar232.gif
index a442015b..a442015b 100755..100644
--- a/www-ssl/pic/avatar/avatar232.gif
+++ b/www-ssl/pic/avatar/avatar232.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar233.gif b/www-ssl/pic/avatar/avatar233.gif
index ad676d9c..ad676d9c 100755..100644
--- a/www-ssl/pic/avatar/avatar233.gif
+++ b/www-ssl/pic/avatar/avatar233.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar234.gif b/www-ssl/pic/avatar/avatar234.gif
index bf9200c2..bf9200c2 100755..100644
--- a/www-ssl/pic/avatar/avatar234.gif
+++ b/www-ssl/pic/avatar/avatar234.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar235.gif b/www-ssl/pic/avatar/avatar235.gif
index 80aee34d..80aee34d 100755..100644
--- a/www-ssl/pic/avatar/avatar235.gif
+++ b/www-ssl/pic/avatar/avatar235.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar236.gif b/www-ssl/pic/avatar/avatar236.gif
index 036c71e1..036c71e1 100755..100644
--- a/www-ssl/pic/avatar/avatar236.gif
+++ b/www-ssl/pic/avatar/avatar236.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar237.gif b/www-ssl/pic/avatar/avatar237.gif
index bf78ace7..bf78ace7 100755..100644
--- a/www-ssl/pic/avatar/avatar237.gif
+++ b/www-ssl/pic/avatar/avatar237.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar238.gif b/www-ssl/pic/avatar/avatar238.gif
index 276187e1..276187e1 100755..100644
--- a/www-ssl/pic/avatar/avatar238.gif
+++ b/www-ssl/pic/avatar/avatar238.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar239.gif b/www-ssl/pic/avatar/avatar239.gif
index 818b54a3..818b54a3 100755..100644
--- a/www-ssl/pic/avatar/avatar239.gif
+++ b/www-ssl/pic/avatar/avatar239.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar24.gif b/www-ssl/pic/avatar/avatar24.gif
index 99226b50..99226b50 100755..100644
--- a/www-ssl/pic/avatar/avatar24.gif
+++ b/www-ssl/pic/avatar/avatar24.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar240.gif b/www-ssl/pic/avatar/avatar240.gif
index ccfa1346..ccfa1346 100755..100644
--- a/www-ssl/pic/avatar/avatar240.gif
+++ b/www-ssl/pic/avatar/avatar240.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar241.gif b/www-ssl/pic/avatar/avatar241.gif
index b2afaa82..b2afaa82 100755..100644
--- a/www-ssl/pic/avatar/avatar241.gif
+++ b/www-ssl/pic/avatar/avatar241.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar242.gif b/www-ssl/pic/avatar/avatar242.gif
index dfdb3baa..dfdb3baa 100755..100644
--- a/www-ssl/pic/avatar/avatar242.gif
+++ b/www-ssl/pic/avatar/avatar242.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar243.gif b/www-ssl/pic/avatar/avatar243.gif
index 14b7e935..14b7e935 100755..100644
--- a/www-ssl/pic/avatar/avatar243.gif
+++ b/www-ssl/pic/avatar/avatar243.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar244.gif b/www-ssl/pic/avatar/avatar244.gif
index bfc10515..bfc10515 100755..100644
--- a/www-ssl/pic/avatar/avatar244.gif
+++ b/www-ssl/pic/avatar/avatar244.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar245.gif b/www-ssl/pic/avatar/avatar245.gif
index 79dd0453..79dd0453 100755..100644
--- a/www-ssl/pic/avatar/avatar245.gif
+++ b/www-ssl/pic/avatar/avatar245.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar246.gif b/www-ssl/pic/avatar/avatar246.gif
index 26878722..26878722 100755..100644
--- a/www-ssl/pic/avatar/avatar246.gif
+++ b/www-ssl/pic/avatar/avatar246.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar247.gif b/www-ssl/pic/avatar/avatar247.gif
index 0b041108..0b041108 100755..100644
--- a/www-ssl/pic/avatar/avatar247.gif
+++ b/www-ssl/pic/avatar/avatar247.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar248.gif b/www-ssl/pic/avatar/avatar248.gif
index 7aa13465..7aa13465 100755..100644
--- a/www-ssl/pic/avatar/avatar248.gif
+++ b/www-ssl/pic/avatar/avatar248.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar249.gif b/www-ssl/pic/avatar/avatar249.gif
index c5cdf5d8..c5cdf5d8 100755..100644
--- a/www-ssl/pic/avatar/avatar249.gif
+++ b/www-ssl/pic/avatar/avatar249.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar25.gif b/www-ssl/pic/avatar/avatar25.gif
index d5e29f52..d5e29f52 100755..100644
--- a/www-ssl/pic/avatar/avatar25.gif
+++ b/www-ssl/pic/avatar/avatar25.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar250.gif b/www-ssl/pic/avatar/avatar250.gif
index 61c2b962..61c2b962 100755..100644
--- a/www-ssl/pic/avatar/avatar250.gif
+++ b/www-ssl/pic/avatar/avatar250.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar251.gif b/www-ssl/pic/avatar/avatar251.gif
index 01c2a370..01c2a370 100755..100644
--- a/www-ssl/pic/avatar/avatar251.gif
+++ b/www-ssl/pic/avatar/avatar251.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar252.gif b/www-ssl/pic/avatar/avatar252.gif
index 6656fe75..6656fe75 100755..100644
--- a/www-ssl/pic/avatar/avatar252.gif
+++ b/www-ssl/pic/avatar/avatar252.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar253.gif b/www-ssl/pic/avatar/avatar253.gif
index 4aaa9318..4aaa9318 100755..100644
--- a/www-ssl/pic/avatar/avatar253.gif
+++ b/www-ssl/pic/avatar/avatar253.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar254.gif b/www-ssl/pic/avatar/avatar254.gif
index 4439c722..4439c722 100755..100644
--- a/www-ssl/pic/avatar/avatar254.gif
+++ b/www-ssl/pic/avatar/avatar254.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar255.gif b/www-ssl/pic/avatar/avatar255.gif
index 3a5fd768..3a5fd768 100755..100644
--- a/www-ssl/pic/avatar/avatar255.gif
+++ b/www-ssl/pic/avatar/avatar255.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar256.gif b/www-ssl/pic/avatar/avatar256.gif
index 200dc450..200dc450 100755..100644
--- a/www-ssl/pic/avatar/avatar256.gif
+++ b/www-ssl/pic/avatar/avatar256.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar257.gif b/www-ssl/pic/avatar/avatar257.gif
index 9d9c823c..9d9c823c 100755..100644
--- a/www-ssl/pic/avatar/avatar257.gif
+++ b/www-ssl/pic/avatar/avatar257.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar258.gif b/www-ssl/pic/avatar/avatar258.gif
index 044edc01..044edc01 100755..100644
--- a/www-ssl/pic/avatar/avatar258.gif
+++ b/www-ssl/pic/avatar/avatar258.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar259.gif b/www-ssl/pic/avatar/avatar259.gif
index 83334fb9..83334fb9 100755..100644
--- a/www-ssl/pic/avatar/avatar259.gif
+++ b/www-ssl/pic/avatar/avatar259.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar26.gif b/www-ssl/pic/avatar/avatar26.gif
index 40d42724..40d42724 100755..100644
--- a/www-ssl/pic/avatar/avatar26.gif
+++ b/www-ssl/pic/avatar/avatar26.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar260.gif b/www-ssl/pic/avatar/avatar260.gif
index 8ec72dbe..8ec72dbe 100755..100644
--- a/www-ssl/pic/avatar/avatar260.gif
+++ b/www-ssl/pic/avatar/avatar260.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar261.gif b/www-ssl/pic/avatar/avatar261.gif
index 90505322..90505322 100755..100644
--- a/www-ssl/pic/avatar/avatar261.gif
+++ b/www-ssl/pic/avatar/avatar261.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar262.gif b/www-ssl/pic/avatar/avatar262.gif
index 4656c222..4656c222 100755..100644
--- a/www-ssl/pic/avatar/avatar262.gif
+++ b/www-ssl/pic/avatar/avatar262.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar263.gif b/www-ssl/pic/avatar/avatar263.gif
index 6954e902..6954e902 100755..100644
--- a/www-ssl/pic/avatar/avatar263.gif
+++ b/www-ssl/pic/avatar/avatar263.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar264.gif b/www-ssl/pic/avatar/avatar264.gif
index 4e46f7b9..4e46f7b9 100755..100644
--- a/www-ssl/pic/avatar/avatar264.gif
+++ b/www-ssl/pic/avatar/avatar264.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar265.gif b/www-ssl/pic/avatar/avatar265.gif
index df18535c..df18535c 100755..100644
--- a/www-ssl/pic/avatar/avatar265.gif
+++ b/www-ssl/pic/avatar/avatar265.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar266.gif b/www-ssl/pic/avatar/avatar266.gif
index 838305a7..838305a7 100755..100644
--- a/www-ssl/pic/avatar/avatar266.gif
+++ b/www-ssl/pic/avatar/avatar266.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar267.gif b/www-ssl/pic/avatar/avatar267.gif
index 8ac405e4..8ac405e4 100755..100644
--- a/www-ssl/pic/avatar/avatar267.gif
+++ b/www-ssl/pic/avatar/avatar267.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar268.gif b/www-ssl/pic/avatar/avatar268.gif
index fe61c645..fe61c645 100755..100644
--- a/www-ssl/pic/avatar/avatar268.gif
+++ b/www-ssl/pic/avatar/avatar268.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar269.gif b/www-ssl/pic/avatar/avatar269.gif
index c71da25a..c71da25a 100755..100644
--- a/www-ssl/pic/avatar/avatar269.gif
+++ b/www-ssl/pic/avatar/avatar269.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar27.gif b/www-ssl/pic/avatar/avatar27.gif
index 43cf2125..43cf2125 100755..100644
--- a/www-ssl/pic/avatar/avatar27.gif
+++ b/www-ssl/pic/avatar/avatar27.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar270.gif b/www-ssl/pic/avatar/avatar270.gif
index 9c11d479..9c11d479 100755..100644
--- a/www-ssl/pic/avatar/avatar270.gif
+++ b/www-ssl/pic/avatar/avatar270.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar271.gif b/www-ssl/pic/avatar/avatar271.gif
index ac95c950..ac95c950 100755..100644
--- a/www-ssl/pic/avatar/avatar271.gif
+++ b/www-ssl/pic/avatar/avatar271.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar272.gif b/www-ssl/pic/avatar/avatar272.gif
index 4d451488..4d451488 100755..100644
--- a/www-ssl/pic/avatar/avatar272.gif
+++ b/www-ssl/pic/avatar/avatar272.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar273.gif b/www-ssl/pic/avatar/avatar273.gif
index e26b9106..e26b9106 100755..100644
--- a/www-ssl/pic/avatar/avatar273.gif
+++ b/www-ssl/pic/avatar/avatar273.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar274.gif b/www-ssl/pic/avatar/avatar274.gif
index a941aa4c..a941aa4c 100755..100644
--- a/www-ssl/pic/avatar/avatar274.gif
+++ b/www-ssl/pic/avatar/avatar274.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar275.gif b/www-ssl/pic/avatar/avatar275.gif
index f324f6c0..f324f6c0 100755..100644
--- a/www-ssl/pic/avatar/avatar275.gif
+++ b/www-ssl/pic/avatar/avatar275.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar276.gif b/www-ssl/pic/avatar/avatar276.gif
index 6b0d8fee..6b0d8fee 100755..100644
--- a/www-ssl/pic/avatar/avatar276.gif
+++ b/www-ssl/pic/avatar/avatar276.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar277.gif b/www-ssl/pic/avatar/avatar277.gif
index 6fddc745..6fddc745 100755..100644
--- a/www-ssl/pic/avatar/avatar277.gif
+++ b/www-ssl/pic/avatar/avatar277.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar278.gif b/www-ssl/pic/avatar/avatar278.gif
index 59e3b51d..59e3b51d 100755..100644
--- a/www-ssl/pic/avatar/avatar278.gif
+++ b/www-ssl/pic/avatar/avatar278.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar279.gif b/www-ssl/pic/avatar/avatar279.gif
index c8c0bb84..c8c0bb84 100755..100644
--- a/www-ssl/pic/avatar/avatar279.gif
+++ b/www-ssl/pic/avatar/avatar279.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar28.gif b/www-ssl/pic/avatar/avatar28.gif
index 9251bdb6..9251bdb6 100755..100644
--- a/www-ssl/pic/avatar/avatar28.gif
+++ b/www-ssl/pic/avatar/avatar28.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar280.gif b/www-ssl/pic/avatar/avatar280.gif
index 954920d5..954920d5 100755..100644
--- a/www-ssl/pic/avatar/avatar280.gif
+++ b/www-ssl/pic/avatar/avatar280.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar281.gif b/www-ssl/pic/avatar/avatar281.gif
index 68ebd8cc..68ebd8cc 100755..100644
--- a/www-ssl/pic/avatar/avatar281.gif
+++ b/www-ssl/pic/avatar/avatar281.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar282.gif b/www-ssl/pic/avatar/avatar282.gif
index ec06f9f5..ec06f9f5 100755..100644
--- a/www-ssl/pic/avatar/avatar282.gif
+++ b/www-ssl/pic/avatar/avatar282.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar283.gif b/www-ssl/pic/avatar/avatar283.gif
index 2d0fad8a..2d0fad8a 100755..100644
--- a/www-ssl/pic/avatar/avatar283.gif
+++ b/www-ssl/pic/avatar/avatar283.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar284.gif b/www-ssl/pic/avatar/avatar284.gif
index 9cc79890..9cc79890 100755..100644
--- a/www-ssl/pic/avatar/avatar284.gif
+++ b/www-ssl/pic/avatar/avatar284.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar285.gif b/www-ssl/pic/avatar/avatar285.gif
index baf2c0b0..baf2c0b0 100755..100644
--- a/www-ssl/pic/avatar/avatar285.gif
+++ b/www-ssl/pic/avatar/avatar285.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar286.gif b/www-ssl/pic/avatar/avatar286.gif
index d74af8d4..d74af8d4 100755..100644
--- a/www-ssl/pic/avatar/avatar286.gif
+++ b/www-ssl/pic/avatar/avatar286.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar287.gif b/www-ssl/pic/avatar/avatar287.gif
index 0e4169ef..0e4169ef 100755..100644
--- a/www-ssl/pic/avatar/avatar287.gif
+++ b/www-ssl/pic/avatar/avatar287.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar288.gif b/www-ssl/pic/avatar/avatar288.gif
index 41c2e9b4..41c2e9b4 100755..100644
--- a/www-ssl/pic/avatar/avatar288.gif
+++ b/www-ssl/pic/avatar/avatar288.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar289.gif b/www-ssl/pic/avatar/avatar289.gif
index c68b431a..c68b431a 100755..100644
--- a/www-ssl/pic/avatar/avatar289.gif
+++ b/www-ssl/pic/avatar/avatar289.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar29.gif b/www-ssl/pic/avatar/avatar29.gif
index 10063690..10063690 100755..100644
--- a/www-ssl/pic/avatar/avatar29.gif
+++ b/www-ssl/pic/avatar/avatar29.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar290.gif b/www-ssl/pic/avatar/avatar290.gif
index f2ca018b..f2ca018b 100755..100644
--- a/www-ssl/pic/avatar/avatar290.gif
+++ b/www-ssl/pic/avatar/avatar290.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar291.gif b/www-ssl/pic/avatar/avatar291.gif
index b9b0bbc3..b9b0bbc3 100755..100644
--- a/www-ssl/pic/avatar/avatar291.gif
+++ b/www-ssl/pic/avatar/avatar291.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar292.gif b/www-ssl/pic/avatar/avatar292.gif
index 6eecd4d1..6eecd4d1 100755..100644
--- a/www-ssl/pic/avatar/avatar292.gif
+++ b/www-ssl/pic/avatar/avatar292.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar293.gif b/www-ssl/pic/avatar/avatar293.gif
index a1834818..a1834818 100755..100644
--- a/www-ssl/pic/avatar/avatar293.gif
+++ b/www-ssl/pic/avatar/avatar293.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar294.gif b/www-ssl/pic/avatar/avatar294.gif
index 6ef5611a..6ef5611a 100755..100644
--- a/www-ssl/pic/avatar/avatar294.gif
+++ b/www-ssl/pic/avatar/avatar294.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar295.gif b/www-ssl/pic/avatar/avatar295.gif
index 4c9fa7c6..4c9fa7c6 100755..100644
--- a/www-ssl/pic/avatar/avatar295.gif
+++ b/www-ssl/pic/avatar/avatar295.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar296.gif b/www-ssl/pic/avatar/avatar296.gif
index b6ab2095..b6ab2095 100755..100644
--- a/www-ssl/pic/avatar/avatar296.gif
+++ b/www-ssl/pic/avatar/avatar296.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar297.gif b/www-ssl/pic/avatar/avatar297.gif
index 38d1d659..38d1d659 100755..100644
--- a/www-ssl/pic/avatar/avatar297.gif
+++ b/www-ssl/pic/avatar/avatar297.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar298.gif b/www-ssl/pic/avatar/avatar298.gif
index f1ee804c..f1ee804c 100755..100644
--- a/www-ssl/pic/avatar/avatar298.gif
+++ b/www-ssl/pic/avatar/avatar298.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar299.gif b/www-ssl/pic/avatar/avatar299.gif
index 0d0b77b6..0d0b77b6 100755..100644
--- a/www-ssl/pic/avatar/avatar299.gif
+++ b/www-ssl/pic/avatar/avatar299.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar3.gif b/www-ssl/pic/avatar/avatar3.gif
index d8cd4306..d8cd4306 100755..100644
--- a/www-ssl/pic/avatar/avatar3.gif
+++ b/www-ssl/pic/avatar/avatar3.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar30.gif b/www-ssl/pic/avatar/avatar30.gif
index b339d48d..b339d48d 100755..100644
--- a/www-ssl/pic/avatar/avatar30.gif
+++ b/www-ssl/pic/avatar/avatar30.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar300.gif b/www-ssl/pic/avatar/avatar300.gif
index 2582b3a4..2582b3a4 100755..100644
--- a/www-ssl/pic/avatar/avatar300.gif
+++ b/www-ssl/pic/avatar/avatar300.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar301.gif b/www-ssl/pic/avatar/avatar301.gif
index 2350bc8f..2350bc8f 100755..100644
--- a/www-ssl/pic/avatar/avatar301.gif
+++ b/www-ssl/pic/avatar/avatar301.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar302.gif b/www-ssl/pic/avatar/avatar302.gif
index 2e05d242..2e05d242 100755..100644
--- a/www-ssl/pic/avatar/avatar302.gif
+++ b/www-ssl/pic/avatar/avatar302.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar303.gif b/www-ssl/pic/avatar/avatar303.gif
index 776cec3b..776cec3b 100755..100644
--- a/www-ssl/pic/avatar/avatar303.gif
+++ b/www-ssl/pic/avatar/avatar303.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar304.gif b/www-ssl/pic/avatar/avatar304.gif
index 219a1184..219a1184 100755..100644
--- a/www-ssl/pic/avatar/avatar304.gif
+++ b/www-ssl/pic/avatar/avatar304.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar305.gif b/www-ssl/pic/avatar/avatar305.gif
index 27071b78..27071b78 100755..100644
--- a/www-ssl/pic/avatar/avatar305.gif
+++ b/www-ssl/pic/avatar/avatar305.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar306.gif b/www-ssl/pic/avatar/avatar306.gif
index 6ab781bf..6ab781bf 100755..100644
--- a/www-ssl/pic/avatar/avatar306.gif
+++ b/www-ssl/pic/avatar/avatar306.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar307.gif b/www-ssl/pic/avatar/avatar307.gif
index d40998b8..d40998b8 100755..100644
--- a/www-ssl/pic/avatar/avatar307.gif
+++ b/www-ssl/pic/avatar/avatar307.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar308.gif b/www-ssl/pic/avatar/avatar308.gif
index aafbe741..aafbe741 100755..100644
--- a/www-ssl/pic/avatar/avatar308.gif
+++ b/www-ssl/pic/avatar/avatar308.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar309.gif b/www-ssl/pic/avatar/avatar309.gif
index fe701cbf..fe701cbf 100755..100644
--- a/www-ssl/pic/avatar/avatar309.gif
+++ b/www-ssl/pic/avatar/avatar309.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar31.gif b/www-ssl/pic/avatar/avatar31.gif
index d5a9caf6..d5a9caf6 100755..100644
--- a/www-ssl/pic/avatar/avatar31.gif
+++ b/www-ssl/pic/avatar/avatar31.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar310.gif b/www-ssl/pic/avatar/avatar310.gif
index e6072552..e6072552 100755..100644
--- a/www-ssl/pic/avatar/avatar310.gif
+++ b/www-ssl/pic/avatar/avatar310.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar311.gif b/www-ssl/pic/avatar/avatar311.gif
index 9b77a2a3..9b77a2a3 100755..100644
--- a/www-ssl/pic/avatar/avatar311.gif
+++ b/www-ssl/pic/avatar/avatar311.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar312.gif b/www-ssl/pic/avatar/avatar312.gif
index 89acef5f..89acef5f 100755..100644
--- a/www-ssl/pic/avatar/avatar312.gif
+++ b/www-ssl/pic/avatar/avatar312.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar313.gif b/www-ssl/pic/avatar/avatar313.gif
index fee5e41b..fee5e41b 100755..100644
--- a/www-ssl/pic/avatar/avatar313.gif
+++ b/www-ssl/pic/avatar/avatar313.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar314.gif b/www-ssl/pic/avatar/avatar314.gif
index e706e088..e706e088 100755..100644
--- a/www-ssl/pic/avatar/avatar314.gif
+++ b/www-ssl/pic/avatar/avatar314.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar315.gif b/www-ssl/pic/avatar/avatar315.gif
index fb3ee057..fb3ee057 100755..100644
--- a/www-ssl/pic/avatar/avatar315.gif
+++ b/www-ssl/pic/avatar/avatar315.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar316.gif b/www-ssl/pic/avatar/avatar316.gif
index 662fe276..662fe276 100755..100644
--- a/www-ssl/pic/avatar/avatar316.gif
+++ b/www-ssl/pic/avatar/avatar316.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar317.gif b/www-ssl/pic/avatar/avatar317.gif
index 0a858151..0a858151 100755..100644
--- a/www-ssl/pic/avatar/avatar317.gif
+++ b/www-ssl/pic/avatar/avatar317.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar318.gif b/www-ssl/pic/avatar/avatar318.gif
index 4ca84803..4ca84803 100755..100644
--- a/www-ssl/pic/avatar/avatar318.gif
+++ b/www-ssl/pic/avatar/avatar318.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar319.gif b/www-ssl/pic/avatar/avatar319.gif
index 503cae0a..503cae0a 100755..100644
--- a/www-ssl/pic/avatar/avatar319.gif
+++ b/www-ssl/pic/avatar/avatar319.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar32.gif b/www-ssl/pic/avatar/avatar32.gif
index 5f3b5d43..5f3b5d43 100755..100644
--- a/www-ssl/pic/avatar/avatar32.gif
+++ b/www-ssl/pic/avatar/avatar32.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar320.gif b/www-ssl/pic/avatar/avatar320.gif
index 0cd51805..0cd51805 100755..100644
--- a/www-ssl/pic/avatar/avatar320.gif
+++ b/www-ssl/pic/avatar/avatar320.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar321.gif b/www-ssl/pic/avatar/avatar321.gif
index eefbbda9..eefbbda9 100755..100644
--- a/www-ssl/pic/avatar/avatar321.gif
+++ b/www-ssl/pic/avatar/avatar321.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar322.gif b/www-ssl/pic/avatar/avatar322.gif
index 0243065b..0243065b 100755..100644
--- a/www-ssl/pic/avatar/avatar322.gif
+++ b/www-ssl/pic/avatar/avatar322.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar323.gif b/www-ssl/pic/avatar/avatar323.gif
index b1e08c05..b1e08c05 100755..100644
--- a/www-ssl/pic/avatar/avatar323.gif
+++ b/www-ssl/pic/avatar/avatar323.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar324.gif b/www-ssl/pic/avatar/avatar324.gif
index a2168e48..a2168e48 100755..100644
--- a/www-ssl/pic/avatar/avatar324.gif
+++ b/www-ssl/pic/avatar/avatar324.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar325.gif b/www-ssl/pic/avatar/avatar325.gif
index dac85af5..dac85af5 100755..100644
--- a/www-ssl/pic/avatar/avatar325.gif
+++ b/www-ssl/pic/avatar/avatar325.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar326.gif b/www-ssl/pic/avatar/avatar326.gif
index afe5442f..afe5442f 100755..100644
--- a/www-ssl/pic/avatar/avatar326.gif
+++ b/www-ssl/pic/avatar/avatar326.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar327.gif b/www-ssl/pic/avatar/avatar327.gif
index 7db04c45..7db04c45 100755..100644
--- a/www-ssl/pic/avatar/avatar327.gif
+++ b/www-ssl/pic/avatar/avatar327.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar328.gif b/www-ssl/pic/avatar/avatar328.gif
index 4d1d8a4a..4d1d8a4a 100755..100644
--- a/www-ssl/pic/avatar/avatar328.gif
+++ b/www-ssl/pic/avatar/avatar328.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar329.gif b/www-ssl/pic/avatar/avatar329.gif
index ede4d487..ede4d487 100755..100644
--- a/www-ssl/pic/avatar/avatar329.gif
+++ b/www-ssl/pic/avatar/avatar329.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar33.gif b/www-ssl/pic/avatar/avatar33.gif
index 03ca160e..03ca160e 100755..100644
--- a/www-ssl/pic/avatar/avatar33.gif
+++ b/www-ssl/pic/avatar/avatar33.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar330.gif b/www-ssl/pic/avatar/avatar330.gif
index e4a0a821..e4a0a821 100755..100644
--- a/www-ssl/pic/avatar/avatar330.gif
+++ b/www-ssl/pic/avatar/avatar330.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar331.gif b/www-ssl/pic/avatar/avatar331.gif
index 6a047501..6a047501 100755..100644
--- a/www-ssl/pic/avatar/avatar331.gif
+++ b/www-ssl/pic/avatar/avatar331.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar332.gif b/www-ssl/pic/avatar/avatar332.gif
index 6bde912c..6bde912c 100755..100644
--- a/www-ssl/pic/avatar/avatar332.gif
+++ b/www-ssl/pic/avatar/avatar332.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar333.gif b/www-ssl/pic/avatar/avatar333.gif
index 1bb07ba9..1bb07ba9 100755..100644
--- a/www-ssl/pic/avatar/avatar333.gif
+++ b/www-ssl/pic/avatar/avatar333.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar334.gif b/www-ssl/pic/avatar/avatar334.gif
index c4ec9f85..c4ec9f85 100755..100644
--- a/www-ssl/pic/avatar/avatar334.gif
+++ b/www-ssl/pic/avatar/avatar334.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar335.gif b/www-ssl/pic/avatar/avatar335.gif
index 3ce39e43..3ce39e43 100755..100644
--- a/www-ssl/pic/avatar/avatar335.gif
+++ b/www-ssl/pic/avatar/avatar335.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar336.gif b/www-ssl/pic/avatar/avatar336.gif
index e9876066..e9876066 100755..100644
--- a/www-ssl/pic/avatar/avatar336.gif
+++ b/www-ssl/pic/avatar/avatar336.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar337.gif b/www-ssl/pic/avatar/avatar337.gif
index f4e15213..f4e15213 100755..100644
--- a/www-ssl/pic/avatar/avatar337.gif
+++ b/www-ssl/pic/avatar/avatar337.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar338.gif b/www-ssl/pic/avatar/avatar338.gif
index 0b70f568..0b70f568 100755..100644
--- a/www-ssl/pic/avatar/avatar338.gif
+++ b/www-ssl/pic/avatar/avatar338.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar339.gif b/www-ssl/pic/avatar/avatar339.gif
index 08afad48..08afad48 100755..100644
--- a/www-ssl/pic/avatar/avatar339.gif
+++ b/www-ssl/pic/avatar/avatar339.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar34.gif b/www-ssl/pic/avatar/avatar34.gif
index 49c49577..49c49577 100755..100644
--- a/www-ssl/pic/avatar/avatar34.gif
+++ b/www-ssl/pic/avatar/avatar34.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar340.gif b/www-ssl/pic/avatar/avatar340.gif
index 640984a3..640984a3 100755..100644
--- a/www-ssl/pic/avatar/avatar340.gif
+++ b/www-ssl/pic/avatar/avatar340.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar341.gif b/www-ssl/pic/avatar/avatar341.gif
index a4556966..a4556966 100755..100644
--- a/www-ssl/pic/avatar/avatar341.gif
+++ b/www-ssl/pic/avatar/avatar341.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar342.gif b/www-ssl/pic/avatar/avatar342.gif
index 8022e7a2..8022e7a2 100755..100644
--- a/www-ssl/pic/avatar/avatar342.gif
+++ b/www-ssl/pic/avatar/avatar342.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar343.gif b/www-ssl/pic/avatar/avatar343.gif
index 71a99e9a..71a99e9a 100755..100644
--- a/www-ssl/pic/avatar/avatar343.gif
+++ b/www-ssl/pic/avatar/avatar343.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar344.gif b/www-ssl/pic/avatar/avatar344.gif
index fcdc99e8..fcdc99e8 100755..100644
--- a/www-ssl/pic/avatar/avatar344.gif
+++ b/www-ssl/pic/avatar/avatar344.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar345.gif b/www-ssl/pic/avatar/avatar345.gif
index 57a63f4b..57a63f4b 100755..100644
--- a/www-ssl/pic/avatar/avatar345.gif
+++ b/www-ssl/pic/avatar/avatar345.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar346.gif b/www-ssl/pic/avatar/avatar346.gif
index f41dcd30..f41dcd30 100755..100644
--- a/www-ssl/pic/avatar/avatar346.gif
+++ b/www-ssl/pic/avatar/avatar346.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar347.gif b/www-ssl/pic/avatar/avatar347.gif
index 8d8a54cb..8d8a54cb 100755..100644
--- a/www-ssl/pic/avatar/avatar347.gif
+++ b/www-ssl/pic/avatar/avatar347.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar348.gif b/www-ssl/pic/avatar/avatar348.gif
index 7c54eb39..7c54eb39 100755..100644
--- a/www-ssl/pic/avatar/avatar348.gif
+++ b/www-ssl/pic/avatar/avatar348.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar349.gif b/www-ssl/pic/avatar/avatar349.gif
index 64de8b9e..64de8b9e 100755..100644
--- a/www-ssl/pic/avatar/avatar349.gif
+++ b/www-ssl/pic/avatar/avatar349.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar35.gif b/www-ssl/pic/avatar/avatar35.gif
index 29eec4ac..29eec4ac 100755..100644
--- a/www-ssl/pic/avatar/avatar35.gif
+++ b/www-ssl/pic/avatar/avatar35.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar350.gif b/www-ssl/pic/avatar/avatar350.gif
index c57f1061..c57f1061 100755..100644
--- a/www-ssl/pic/avatar/avatar350.gif
+++ b/www-ssl/pic/avatar/avatar350.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar351.gif b/www-ssl/pic/avatar/avatar351.gif
index 8ccb8185..8ccb8185 100755..100644
--- a/www-ssl/pic/avatar/avatar351.gif
+++ b/www-ssl/pic/avatar/avatar351.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar352.gif b/www-ssl/pic/avatar/avatar352.gif
index 8737e658..8737e658 100755..100644
--- a/www-ssl/pic/avatar/avatar352.gif
+++ b/www-ssl/pic/avatar/avatar352.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar353.gif b/www-ssl/pic/avatar/avatar353.gif
index b6da0623..b6da0623 100755..100644
--- a/www-ssl/pic/avatar/avatar353.gif
+++ b/www-ssl/pic/avatar/avatar353.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar354.gif b/www-ssl/pic/avatar/avatar354.gif
index 7565e6f9..7565e6f9 100755..100644
--- a/www-ssl/pic/avatar/avatar354.gif
+++ b/www-ssl/pic/avatar/avatar354.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar355.gif b/www-ssl/pic/avatar/avatar355.gif
index 3b08b30f..3b08b30f 100755..100644
--- a/www-ssl/pic/avatar/avatar355.gif
+++ b/www-ssl/pic/avatar/avatar355.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar356.gif b/www-ssl/pic/avatar/avatar356.gif
index 7d0dc95b..7d0dc95b 100755..100644
--- a/www-ssl/pic/avatar/avatar356.gif
+++ b/www-ssl/pic/avatar/avatar356.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar357.gif b/www-ssl/pic/avatar/avatar357.gif
index ed1157a0..ed1157a0 100755..100644
--- a/www-ssl/pic/avatar/avatar357.gif
+++ b/www-ssl/pic/avatar/avatar357.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar358.gif b/www-ssl/pic/avatar/avatar358.gif
index 2dc844a5..2dc844a5 100755..100644
--- a/www-ssl/pic/avatar/avatar358.gif
+++ b/www-ssl/pic/avatar/avatar358.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar359.gif b/www-ssl/pic/avatar/avatar359.gif
index 8ac3f7fd..8ac3f7fd 100755..100644
--- a/www-ssl/pic/avatar/avatar359.gif
+++ b/www-ssl/pic/avatar/avatar359.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar36.gif b/www-ssl/pic/avatar/avatar36.gif
index cab160e5..cab160e5 100755..100644
--- a/www-ssl/pic/avatar/avatar36.gif
+++ b/www-ssl/pic/avatar/avatar36.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar360.gif b/www-ssl/pic/avatar/avatar360.gif
index b01fb184..b01fb184 100755..100644
--- a/www-ssl/pic/avatar/avatar360.gif
+++ b/www-ssl/pic/avatar/avatar360.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar361.gif b/www-ssl/pic/avatar/avatar361.gif
index c4573da7..c4573da7 100755..100644
--- a/www-ssl/pic/avatar/avatar361.gif
+++ b/www-ssl/pic/avatar/avatar361.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar362.gif b/www-ssl/pic/avatar/avatar362.gif
index 189c9276..189c9276 100755..100644
--- a/www-ssl/pic/avatar/avatar362.gif
+++ b/www-ssl/pic/avatar/avatar362.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar363.gif b/www-ssl/pic/avatar/avatar363.gif
index 8ff0b39c..8ff0b39c 100755..100644
--- a/www-ssl/pic/avatar/avatar363.gif
+++ b/www-ssl/pic/avatar/avatar363.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar364.gif b/www-ssl/pic/avatar/avatar364.gif
index 8f22d79f..8f22d79f 100755..100644
--- a/www-ssl/pic/avatar/avatar364.gif
+++ b/www-ssl/pic/avatar/avatar364.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar365.gif b/www-ssl/pic/avatar/avatar365.gif
index 950aea2a..950aea2a 100755..100644
--- a/www-ssl/pic/avatar/avatar365.gif
+++ b/www-ssl/pic/avatar/avatar365.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar366.gif b/www-ssl/pic/avatar/avatar366.gif
index b1dc12d2..b1dc12d2 100755..100644
--- a/www-ssl/pic/avatar/avatar366.gif
+++ b/www-ssl/pic/avatar/avatar366.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar367.gif b/www-ssl/pic/avatar/avatar367.gif
index 0de8fe4b..0de8fe4b 100755..100644
--- a/www-ssl/pic/avatar/avatar367.gif
+++ b/www-ssl/pic/avatar/avatar367.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar368.gif b/www-ssl/pic/avatar/avatar368.gif
index b3f7e0f6..b3f7e0f6 100755..100644
--- a/www-ssl/pic/avatar/avatar368.gif
+++ b/www-ssl/pic/avatar/avatar368.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar369.gif b/www-ssl/pic/avatar/avatar369.gif
index 0efb8393..0efb8393 100755..100644
--- a/www-ssl/pic/avatar/avatar369.gif
+++ b/www-ssl/pic/avatar/avatar369.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar37.gif b/www-ssl/pic/avatar/avatar37.gif
index 32b73e09..32b73e09 100755..100644
--- a/www-ssl/pic/avatar/avatar37.gif
+++ b/www-ssl/pic/avatar/avatar37.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar370.gif b/www-ssl/pic/avatar/avatar370.gif
index d5dbc5df..d5dbc5df 100755..100644
--- a/www-ssl/pic/avatar/avatar370.gif
+++ b/www-ssl/pic/avatar/avatar370.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar371.gif b/www-ssl/pic/avatar/avatar371.gif
index 868546f7..868546f7 100755..100644
--- a/www-ssl/pic/avatar/avatar371.gif
+++ b/www-ssl/pic/avatar/avatar371.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar372.gif b/www-ssl/pic/avatar/avatar372.gif
index 6458885d..6458885d 100755..100644
--- a/www-ssl/pic/avatar/avatar372.gif
+++ b/www-ssl/pic/avatar/avatar372.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar373.gif b/www-ssl/pic/avatar/avatar373.gif
index b1e04070..b1e04070 100755..100644
--- a/www-ssl/pic/avatar/avatar373.gif
+++ b/www-ssl/pic/avatar/avatar373.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar374.gif b/www-ssl/pic/avatar/avatar374.gif
index e29653ba..e29653ba 100755..100644
--- a/www-ssl/pic/avatar/avatar374.gif
+++ b/www-ssl/pic/avatar/avatar374.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar375.gif b/www-ssl/pic/avatar/avatar375.gif
index e5aefc87..e5aefc87 100755..100644
--- a/www-ssl/pic/avatar/avatar375.gif
+++ b/www-ssl/pic/avatar/avatar375.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar376.gif b/www-ssl/pic/avatar/avatar376.gif
index b5785477..b5785477 100755..100644
--- a/www-ssl/pic/avatar/avatar376.gif
+++ b/www-ssl/pic/avatar/avatar376.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar377.gif b/www-ssl/pic/avatar/avatar377.gif
index 67fd7cf4..67fd7cf4 100755..100644
--- a/www-ssl/pic/avatar/avatar377.gif
+++ b/www-ssl/pic/avatar/avatar377.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar378.gif b/www-ssl/pic/avatar/avatar378.gif
index c3924d9c..c3924d9c 100755..100644
--- a/www-ssl/pic/avatar/avatar378.gif
+++ b/www-ssl/pic/avatar/avatar378.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar379.gif b/www-ssl/pic/avatar/avatar379.gif
index def8a49d..def8a49d 100755..100644
--- a/www-ssl/pic/avatar/avatar379.gif
+++ b/www-ssl/pic/avatar/avatar379.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar38.gif b/www-ssl/pic/avatar/avatar38.gif
index 109ce01a..109ce01a 100755..100644
--- a/www-ssl/pic/avatar/avatar38.gif
+++ b/www-ssl/pic/avatar/avatar38.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar380.gif b/www-ssl/pic/avatar/avatar380.gif
index d02ed852..d02ed852 100755..100644
--- a/www-ssl/pic/avatar/avatar380.gif
+++ b/www-ssl/pic/avatar/avatar380.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar381.gif b/www-ssl/pic/avatar/avatar381.gif
index 762871c2..762871c2 100755..100644
--- a/www-ssl/pic/avatar/avatar381.gif
+++ b/www-ssl/pic/avatar/avatar381.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar382.gif b/www-ssl/pic/avatar/avatar382.gif
index 201872f9..201872f9 100755..100644
--- a/www-ssl/pic/avatar/avatar382.gif
+++ b/www-ssl/pic/avatar/avatar382.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar383.gif b/www-ssl/pic/avatar/avatar383.gif
index a71bbad9..a71bbad9 100755..100644
--- a/www-ssl/pic/avatar/avatar383.gif
+++ b/www-ssl/pic/avatar/avatar383.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar384.gif b/www-ssl/pic/avatar/avatar384.gif
index 6a9e2a45..6a9e2a45 100755..100644
--- a/www-ssl/pic/avatar/avatar384.gif
+++ b/www-ssl/pic/avatar/avatar384.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar385.gif b/www-ssl/pic/avatar/avatar385.gif
index 8b51fdef..8b51fdef 100755..100644
--- a/www-ssl/pic/avatar/avatar385.gif
+++ b/www-ssl/pic/avatar/avatar385.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar386.gif b/www-ssl/pic/avatar/avatar386.gif
index e1d42707..e1d42707 100755..100644
--- a/www-ssl/pic/avatar/avatar386.gif
+++ b/www-ssl/pic/avatar/avatar386.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar387.gif b/www-ssl/pic/avatar/avatar387.gif
index 186869c5..186869c5 100755..100644
--- a/www-ssl/pic/avatar/avatar387.gif
+++ b/www-ssl/pic/avatar/avatar387.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar388.gif b/www-ssl/pic/avatar/avatar388.gif
index 369f01bb..369f01bb 100755..100644
--- a/www-ssl/pic/avatar/avatar388.gif
+++ b/www-ssl/pic/avatar/avatar388.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar389.gif b/www-ssl/pic/avatar/avatar389.gif
index d0cb95e4..d0cb95e4 100755..100644
--- a/www-ssl/pic/avatar/avatar389.gif
+++ b/www-ssl/pic/avatar/avatar389.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar39.gif b/www-ssl/pic/avatar/avatar39.gif
index 307632c4..307632c4 100755..100644
--- a/www-ssl/pic/avatar/avatar39.gif
+++ b/www-ssl/pic/avatar/avatar39.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar390.gif b/www-ssl/pic/avatar/avatar390.gif
index 901e2a4e..901e2a4e 100755..100644
--- a/www-ssl/pic/avatar/avatar390.gif
+++ b/www-ssl/pic/avatar/avatar390.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar391.gif b/www-ssl/pic/avatar/avatar391.gif
index 65f58627..65f58627 100755..100644
--- a/www-ssl/pic/avatar/avatar391.gif
+++ b/www-ssl/pic/avatar/avatar391.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar392.gif b/www-ssl/pic/avatar/avatar392.gif
index ff98710d..ff98710d 100755..100644
--- a/www-ssl/pic/avatar/avatar392.gif
+++ b/www-ssl/pic/avatar/avatar392.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar393.gif b/www-ssl/pic/avatar/avatar393.gif
index 693be70b..693be70b 100755..100644
--- a/www-ssl/pic/avatar/avatar393.gif
+++ b/www-ssl/pic/avatar/avatar393.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar394.gif b/www-ssl/pic/avatar/avatar394.gif
index baf43448..baf43448 100755..100644
--- a/www-ssl/pic/avatar/avatar394.gif
+++ b/www-ssl/pic/avatar/avatar394.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar395.gif b/www-ssl/pic/avatar/avatar395.gif
index bff14e63..bff14e63 100755..100644
--- a/www-ssl/pic/avatar/avatar395.gif
+++ b/www-ssl/pic/avatar/avatar395.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar396.gif b/www-ssl/pic/avatar/avatar396.gif
index 882469c0..882469c0 100755..100644
--- a/www-ssl/pic/avatar/avatar396.gif
+++ b/www-ssl/pic/avatar/avatar396.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar397.gif b/www-ssl/pic/avatar/avatar397.gif
index de246f0d..de246f0d 100755..100644
--- a/www-ssl/pic/avatar/avatar397.gif
+++ b/www-ssl/pic/avatar/avatar397.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar398.gif b/www-ssl/pic/avatar/avatar398.gif
index 07bae656..07bae656 100755..100644
--- a/www-ssl/pic/avatar/avatar398.gif
+++ b/www-ssl/pic/avatar/avatar398.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar399.gif b/www-ssl/pic/avatar/avatar399.gif
index c3b92047..c3b92047 100755..100644
--- a/www-ssl/pic/avatar/avatar399.gif
+++ b/www-ssl/pic/avatar/avatar399.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar4.gif b/www-ssl/pic/avatar/avatar4.gif
index e525aa86..e525aa86 100755..100644
--- a/www-ssl/pic/avatar/avatar4.gif
+++ b/www-ssl/pic/avatar/avatar4.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar40.gif b/www-ssl/pic/avatar/avatar40.gif
index 34e32133..34e32133 100755..100644
--- a/www-ssl/pic/avatar/avatar40.gif
+++ b/www-ssl/pic/avatar/avatar40.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar400.gif b/www-ssl/pic/avatar/avatar400.gif
index fe77d5a7..fe77d5a7 100755..100644
--- a/www-ssl/pic/avatar/avatar400.gif
+++ b/www-ssl/pic/avatar/avatar400.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar401.gif b/www-ssl/pic/avatar/avatar401.gif
index a4d84be4..a4d84be4 100755..100644
--- a/www-ssl/pic/avatar/avatar401.gif
+++ b/www-ssl/pic/avatar/avatar401.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar402.gif b/www-ssl/pic/avatar/avatar402.gif
index f8b7834f..f8b7834f 100755..100644
--- a/www-ssl/pic/avatar/avatar402.gif
+++ b/www-ssl/pic/avatar/avatar402.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar403.gif b/www-ssl/pic/avatar/avatar403.gif
index 7f5f4bcb..7f5f4bcb 100755..100644
--- a/www-ssl/pic/avatar/avatar403.gif
+++ b/www-ssl/pic/avatar/avatar403.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar404.gif b/www-ssl/pic/avatar/avatar404.gif
index 00ac94bc..00ac94bc 100755..100644
--- a/www-ssl/pic/avatar/avatar404.gif
+++ b/www-ssl/pic/avatar/avatar404.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar405.gif b/www-ssl/pic/avatar/avatar405.gif
index c8b2506c..c8b2506c 100755..100644
--- a/www-ssl/pic/avatar/avatar405.gif
+++ b/www-ssl/pic/avatar/avatar405.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar406.gif b/www-ssl/pic/avatar/avatar406.gif
index 831ccfc6..831ccfc6 100755..100644
--- a/www-ssl/pic/avatar/avatar406.gif
+++ b/www-ssl/pic/avatar/avatar406.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar407.gif b/www-ssl/pic/avatar/avatar407.gif
index 9b989638..9b989638 100755..100644
--- a/www-ssl/pic/avatar/avatar407.gif
+++ b/www-ssl/pic/avatar/avatar407.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar408.gif b/www-ssl/pic/avatar/avatar408.gif
index 5699f755..5699f755 100755..100644
--- a/www-ssl/pic/avatar/avatar408.gif
+++ b/www-ssl/pic/avatar/avatar408.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar409.gif b/www-ssl/pic/avatar/avatar409.gif
index 4300f609..4300f609 100755..100644
--- a/www-ssl/pic/avatar/avatar409.gif
+++ b/www-ssl/pic/avatar/avatar409.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar41.gif b/www-ssl/pic/avatar/avatar41.gif
index f6f631ba..f6f631ba 100755..100644
--- a/www-ssl/pic/avatar/avatar41.gif
+++ b/www-ssl/pic/avatar/avatar41.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar410.gif b/www-ssl/pic/avatar/avatar410.gif
index a2ddb3e0..a2ddb3e0 100755..100644
--- a/www-ssl/pic/avatar/avatar410.gif
+++ b/www-ssl/pic/avatar/avatar410.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar411.gif b/www-ssl/pic/avatar/avatar411.gif
index 8658510f..8658510f 100755..100644
--- a/www-ssl/pic/avatar/avatar411.gif
+++ b/www-ssl/pic/avatar/avatar411.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar412.gif b/www-ssl/pic/avatar/avatar412.gif
index 1a4bae4b..1a4bae4b 100755..100644
--- a/www-ssl/pic/avatar/avatar412.gif
+++ b/www-ssl/pic/avatar/avatar412.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar413.gif b/www-ssl/pic/avatar/avatar413.gif
index 14eb3a92..14eb3a92 100755..100644
--- a/www-ssl/pic/avatar/avatar413.gif
+++ b/www-ssl/pic/avatar/avatar413.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar414.gif b/www-ssl/pic/avatar/avatar414.gif
index 5f23cc79..5f23cc79 100755..100644
--- a/www-ssl/pic/avatar/avatar414.gif
+++ b/www-ssl/pic/avatar/avatar414.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar415.gif b/www-ssl/pic/avatar/avatar415.gif
index c7312a64..c7312a64 100755..100644
--- a/www-ssl/pic/avatar/avatar415.gif
+++ b/www-ssl/pic/avatar/avatar415.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar416.gif b/www-ssl/pic/avatar/avatar416.gif
index fee5e41b..fee5e41b 100755..100644
--- a/www-ssl/pic/avatar/avatar416.gif
+++ b/www-ssl/pic/avatar/avatar416.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar417.gif b/www-ssl/pic/avatar/avatar417.gif
index d3b3dbbe..d3b3dbbe 100755..100644
--- a/www-ssl/pic/avatar/avatar417.gif
+++ b/www-ssl/pic/avatar/avatar417.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar418.gif b/www-ssl/pic/avatar/avatar418.gif
index 3f648c4f..3f648c4f 100755..100644
--- a/www-ssl/pic/avatar/avatar418.gif
+++ b/www-ssl/pic/avatar/avatar418.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar419.gif b/www-ssl/pic/avatar/avatar419.gif
index 87587fe5..87587fe5 100755..100644
--- a/www-ssl/pic/avatar/avatar419.gif
+++ b/www-ssl/pic/avatar/avatar419.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar42.gif b/www-ssl/pic/avatar/avatar42.gif
index 5828d2af..5828d2af 100755..100644
--- a/www-ssl/pic/avatar/avatar42.gif
+++ b/www-ssl/pic/avatar/avatar42.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar420.gif b/www-ssl/pic/avatar/avatar420.gif
index 2aca0620..2aca0620 100755..100644
--- a/www-ssl/pic/avatar/avatar420.gif
+++ b/www-ssl/pic/avatar/avatar420.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar421.gif b/www-ssl/pic/avatar/avatar421.gif
index 152f5252..152f5252 100755..100644
--- a/www-ssl/pic/avatar/avatar421.gif
+++ b/www-ssl/pic/avatar/avatar421.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar422.gif b/www-ssl/pic/avatar/avatar422.gif
index 228f17d5..228f17d5 100755..100644
--- a/www-ssl/pic/avatar/avatar422.gif
+++ b/www-ssl/pic/avatar/avatar422.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar423.gif b/www-ssl/pic/avatar/avatar423.gif
index 5f25f9c4..5f25f9c4 100755..100644
--- a/www-ssl/pic/avatar/avatar423.gif
+++ b/www-ssl/pic/avatar/avatar423.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar424.gif b/www-ssl/pic/avatar/avatar424.gif
index d8e9b029..d8e9b029 100755..100644
--- a/www-ssl/pic/avatar/avatar424.gif
+++ b/www-ssl/pic/avatar/avatar424.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar425.gif b/www-ssl/pic/avatar/avatar425.gif
index ec35e12b..ec35e12b 100755..100644
--- a/www-ssl/pic/avatar/avatar425.gif
+++ b/www-ssl/pic/avatar/avatar425.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar426.gif b/www-ssl/pic/avatar/avatar426.gif
index 9e13452d..9e13452d 100755..100644
--- a/www-ssl/pic/avatar/avatar426.gif
+++ b/www-ssl/pic/avatar/avatar426.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar427.gif b/www-ssl/pic/avatar/avatar427.gif
index aca392ec..aca392ec 100755..100644
--- a/www-ssl/pic/avatar/avatar427.gif
+++ b/www-ssl/pic/avatar/avatar427.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar428.gif b/www-ssl/pic/avatar/avatar428.gif
index 2663bb30..2663bb30 100755..100644
--- a/www-ssl/pic/avatar/avatar428.gif
+++ b/www-ssl/pic/avatar/avatar428.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar429.gif b/www-ssl/pic/avatar/avatar429.gif
index f6ae8487..f6ae8487 100755..100644
--- a/www-ssl/pic/avatar/avatar429.gif
+++ b/www-ssl/pic/avatar/avatar429.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar43.gif b/www-ssl/pic/avatar/avatar43.gif
index 4ba29bd2..4ba29bd2 100755..100644
--- a/www-ssl/pic/avatar/avatar43.gif
+++ b/www-ssl/pic/avatar/avatar43.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar430.gif b/www-ssl/pic/avatar/avatar430.gif
index f64e8229..f64e8229 100755..100644
--- a/www-ssl/pic/avatar/avatar430.gif
+++ b/www-ssl/pic/avatar/avatar430.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar431.gif b/www-ssl/pic/avatar/avatar431.gif
index 28791161..28791161 100755..100644
--- a/www-ssl/pic/avatar/avatar431.gif
+++ b/www-ssl/pic/avatar/avatar431.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar432.gif b/www-ssl/pic/avatar/avatar432.gif
index 7edc6132..7edc6132 100755..100644
--- a/www-ssl/pic/avatar/avatar432.gif
+++ b/www-ssl/pic/avatar/avatar432.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar433.gif b/www-ssl/pic/avatar/avatar433.gif
index b300940b..b300940b 100755..100644
--- a/www-ssl/pic/avatar/avatar433.gif
+++ b/www-ssl/pic/avatar/avatar433.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar434.gif b/www-ssl/pic/avatar/avatar434.gif
index 020863e3..020863e3 100755..100644
--- a/www-ssl/pic/avatar/avatar434.gif
+++ b/www-ssl/pic/avatar/avatar434.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar435.gif b/www-ssl/pic/avatar/avatar435.gif
index 98122e5b..98122e5b 100755..100644
--- a/www-ssl/pic/avatar/avatar435.gif
+++ b/www-ssl/pic/avatar/avatar435.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar436.gif b/www-ssl/pic/avatar/avatar436.gif
index 7698c886..7698c886 100755..100644
--- a/www-ssl/pic/avatar/avatar436.gif
+++ b/www-ssl/pic/avatar/avatar436.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar437.gif b/www-ssl/pic/avatar/avatar437.gif
index 262ace97..262ace97 100755..100644
--- a/www-ssl/pic/avatar/avatar437.gif
+++ b/www-ssl/pic/avatar/avatar437.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar438.gif b/www-ssl/pic/avatar/avatar438.gif
index 84033e11..84033e11 100755..100644
--- a/www-ssl/pic/avatar/avatar438.gif
+++ b/www-ssl/pic/avatar/avatar438.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar439.gif b/www-ssl/pic/avatar/avatar439.gif
index 04fb6876..04fb6876 100755..100644
--- a/www-ssl/pic/avatar/avatar439.gif
+++ b/www-ssl/pic/avatar/avatar439.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar44.gif b/www-ssl/pic/avatar/avatar44.gif
index 9db2cd9f..9db2cd9f 100755..100644
--- a/www-ssl/pic/avatar/avatar44.gif
+++ b/www-ssl/pic/avatar/avatar44.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar440.gif b/www-ssl/pic/avatar/avatar440.gif
index b414dfcb..b414dfcb 100755..100644
--- a/www-ssl/pic/avatar/avatar440.gif
+++ b/www-ssl/pic/avatar/avatar440.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar441.gif b/www-ssl/pic/avatar/avatar441.gif
index db79f0c8..db79f0c8 100755..100644
--- a/www-ssl/pic/avatar/avatar441.gif
+++ b/www-ssl/pic/avatar/avatar441.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar442.gif b/www-ssl/pic/avatar/avatar442.gif
index 341395ac..341395ac 100755..100644
--- a/www-ssl/pic/avatar/avatar442.gif
+++ b/www-ssl/pic/avatar/avatar442.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar443.gif b/www-ssl/pic/avatar/avatar443.gif
index 063034ac..063034ac 100755..100644
--- a/www-ssl/pic/avatar/avatar443.gif
+++ b/www-ssl/pic/avatar/avatar443.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar444.gif b/www-ssl/pic/avatar/avatar444.gif
index c4f6aa92..c4f6aa92 100755..100644
--- a/www-ssl/pic/avatar/avatar444.gif
+++ b/www-ssl/pic/avatar/avatar444.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar445.gif b/www-ssl/pic/avatar/avatar445.gif
index 5c26ccb3..5c26ccb3 100755..100644
--- a/www-ssl/pic/avatar/avatar445.gif
+++ b/www-ssl/pic/avatar/avatar445.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar446.gif b/www-ssl/pic/avatar/avatar446.gif
index 0e14a043..0e14a043 100755..100644
--- a/www-ssl/pic/avatar/avatar446.gif
+++ b/www-ssl/pic/avatar/avatar446.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar447.gif b/www-ssl/pic/avatar/avatar447.gif
index 8622aafb..8622aafb 100755..100644
--- a/www-ssl/pic/avatar/avatar447.gif
+++ b/www-ssl/pic/avatar/avatar447.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar448.gif b/www-ssl/pic/avatar/avatar448.gif
index 3e35bfe4..3e35bfe4 100755..100644
--- a/www-ssl/pic/avatar/avatar448.gif
+++ b/www-ssl/pic/avatar/avatar448.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar449.gif b/www-ssl/pic/avatar/avatar449.gif
index d53551f8..d53551f8 100755..100644
--- a/www-ssl/pic/avatar/avatar449.gif
+++ b/www-ssl/pic/avatar/avatar449.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar45.gif b/www-ssl/pic/avatar/avatar45.gif
index c216f489..c216f489 100755..100644
--- a/www-ssl/pic/avatar/avatar45.gif
+++ b/www-ssl/pic/avatar/avatar45.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar450.gif b/www-ssl/pic/avatar/avatar450.gif
index 6e0ab918..6e0ab918 100755..100644
--- a/www-ssl/pic/avatar/avatar450.gif
+++ b/www-ssl/pic/avatar/avatar450.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar451.gif b/www-ssl/pic/avatar/avatar451.gif
index 7d0d79bd..7d0d79bd 100755..100644
--- a/www-ssl/pic/avatar/avatar451.gif
+++ b/www-ssl/pic/avatar/avatar451.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar452.gif b/www-ssl/pic/avatar/avatar452.gif
index c64e07fc..c64e07fc 100755..100644
--- a/www-ssl/pic/avatar/avatar452.gif
+++ b/www-ssl/pic/avatar/avatar452.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar453.gif b/www-ssl/pic/avatar/avatar453.gif
index 22f597a4..22f597a4 100755..100644
--- a/www-ssl/pic/avatar/avatar453.gif
+++ b/www-ssl/pic/avatar/avatar453.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar454.gif b/www-ssl/pic/avatar/avatar454.gif
index 81fd63c4..81fd63c4 100755..100644
--- a/www-ssl/pic/avatar/avatar454.gif
+++ b/www-ssl/pic/avatar/avatar454.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar455.gif b/www-ssl/pic/avatar/avatar455.gif
index 8e6e39ee..8e6e39ee 100755..100644
--- a/www-ssl/pic/avatar/avatar455.gif
+++ b/www-ssl/pic/avatar/avatar455.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar456.gif b/www-ssl/pic/avatar/avatar456.gif
index 6fba116c..6fba116c 100755..100644
--- a/www-ssl/pic/avatar/avatar456.gif
+++ b/www-ssl/pic/avatar/avatar456.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar457.gif b/www-ssl/pic/avatar/avatar457.gif
index 1a685aa9..1a685aa9 100755..100644
--- a/www-ssl/pic/avatar/avatar457.gif
+++ b/www-ssl/pic/avatar/avatar457.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar458.gif b/www-ssl/pic/avatar/avatar458.gif
index 20f5e33a..20f5e33a 100755..100644
--- a/www-ssl/pic/avatar/avatar458.gif
+++ b/www-ssl/pic/avatar/avatar458.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar459.gif b/www-ssl/pic/avatar/avatar459.gif
index 049cfc17..049cfc17 100755..100644
--- a/www-ssl/pic/avatar/avatar459.gif
+++ b/www-ssl/pic/avatar/avatar459.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar46.gif b/www-ssl/pic/avatar/avatar46.gif
index 112346ca..112346ca 100755..100644
--- a/www-ssl/pic/avatar/avatar46.gif
+++ b/www-ssl/pic/avatar/avatar46.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar460.gif b/www-ssl/pic/avatar/avatar460.gif
index 155e84b5..155e84b5 100755..100644
--- a/www-ssl/pic/avatar/avatar460.gif
+++ b/www-ssl/pic/avatar/avatar460.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar461.gif b/www-ssl/pic/avatar/avatar461.gif
index 28057664..28057664 100755..100644
--- a/www-ssl/pic/avatar/avatar461.gif
+++ b/www-ssl/pic/avatar/avatar461.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar462.gif b/www-ssl/pic/avatar/avatar462.gif
index acd3d942..acd3d942 100755..100644
--- a/www-ssl/pic/avatar/avatar462.gif
+++ b/www-ssl/pic/avatar/avatar462.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar463.gif b/www-ssl/pic/avatar/avatar463.gif
index caf0b9c5..caf0b9c5 100755..100644
--- a/www-ssl/pic/avatar/avatar463.gif
+++ b/www-ssl/pic/avatar/avatar463.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar464.gif b/www-ssl/pic/avatar/avatar464.gif
index 30a066f3..30a066f3 100755..100644
--- a/www-ssl/pic/avatar/avatar464.gif
+++ b/www-ssl/pic/avatar/avatar464.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar465.gif b/www-ssl/pic/avatar/avatar465.gif
index 768c4003..768c4003 100755..100644
--- a/www-ssl/pic/avatar/avatar465.gif
+++ b/www-ssl/pic/avatar/avatar465.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar466.gif b/www-ssl/pic/avatar/avatar466.gif
index ddf8c54c..ddf8c54c 100755..100644
--- a/www-ssl/pic/avatar/avatar466.gif
+++ b/www-ssl/pic/avatar/avatar466.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar467.gif b/www-ssl/pic/avatar/avatar467.gif
index c293c4c8..c293c4c8 100755..100644
--- a/www-ssl/pic/avatar/avatar467.gif
+++ b/www-ssl/pic/avatar/avatar467.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar468.gif b/www-ssl/pic/avatar/avatar468.gif
index ec0c778f..ec0c778f 100755..100644
--- a/www-ssl/pic/avatar/avatar468.gif
+++ b/www-ssl/pic/avatar/avatar468.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar469.gif b/www-ssl/pic/avatar/avatar469.gif
index 12a62367..12a62367 100755..100644
--- a/www-ssl/pic/avatar/avatar469.gif
+++ b/www-ssl/pic/avatar/avatar469.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar47.gif b/www-ssl/pic/avatar/avatar47.gif
index f9edc8c9..f9edc8c9 100755..100644
--- a/www-ssl/pic/avatar/avatar47.gif
+++ b/www-ssl/pic/avatar/avatar47.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar470.gif b/www-ssl/pic/avatar/avatar470.gif
index a6feb187..a6feb187 100755..100644
--- a/www-ssl/pic/avatar/avatar470.gif
+++ b/www-ssl/pic/avatar/avatar470.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar471.gif b/www-ssl/pic/avatar/avatar471.gif
index 3ce796c4..3ce796c4 100755..100644
--- a/www-ssl/pic/avatar/avatar471.gif
+++ b/www-ssl/pic/avatar/avatar471.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar472.gif b/www-ssl/pic/avatar/avatar472.gif
index 467432c9..467432c9 100755..100644
--- a/www-ssl/pic/avatar/avatar472.gif
+++ b/www-ssl/pic/avatar/avatar472.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar473.gif b/www-ssl/pic/avatar/avatar473.gif
index 47bf9a19..47bf9a19 100755..100644
--- a/www-ssl/pic/avatar/avatar473.gif
+++ b/www-ssl/pic/avatar/avatar473.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar474.gif b/www-ssl/pic/avatar/avatar474.gif
index 7518dc8d..7518dc8d 100755..100644
--- a/www-ssl/pic/avatar/avatar474.gif
+++ b/www-ssl/pic/avatar/avatar474.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar475.gif b/www-ssl/pic/avatar/avatar475.gif
index 1cd12980..1cd12980 100755..100644
--- a/www-ssl/pic/avatar/avatar475.gif
+++ b/www-ssl/pic/avatar/avatar475.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar476.gif b/www-ssl/pic/avatar/avatar476.gif
index b300940b..b300940b 100755..100644
--- a/www-ssl/pic/avatar/avatar476.gif
+++ b/www-ssl/pic/avatar/avatar476.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar477.gif b/www-ssl/pic/avatar/avatar477.gif
index d2ea55a0..d2ea55a0 100755..100644
--- a/www-ssl/pic/avatar/avatar477.gif
+++ b/www-ssl/pic/avatar/avatar477.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar478.gif b/www-ssl/pic/avatar/avatar478.gif
index 924b2282..924b2282 100755..100644
--- a/www-ssl/pic/avatar/avatar478.gif
+++ b/www-ssl/pic/avatar/avatar478.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar479.gif b/www-ssl/pic/avatar/avatar479.gif
index 1b4756ee..1b4756ee 100755..100644
--- a/www-ssl/pic/avatar/avatar479.gif
+++ b/www-ssl/pic/avatar/avatar479.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar48.gif b/www-ssl/pic/avatar/avatar48.gif
index c34d4a50..c34d4a50 100755..100644
--- a/www-ssl/pic/avatar/avatar48.gif
+++ b/www-ssl/pic/avatar/avatar48.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar480.gif b/www-ssl/pic/avatar/avatar480.gif
index 5fa9878f..5fa9878f 100755..100644
--- a/www-ssl/pic/avatar/avatar480.gif
+++ b/www-ssl/pic/avatar/avatar480.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar481.gif b/www-ssl/pic/avatar/avatar481.gif
index f48cf52f..f48cf52f 100755..100644
--- a/www-ssl/pic/avatar/avatar481.gif
+++ b/www-ssl/pic/avatar/avatar481.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar482.gif b/www-ssl/pic/avatar/avatar482.gif
index 754fa21c..754fa21c 100755..100644
--- a/www-ssl/pic/avatar/avatar482.gif
+++ b/www-ssl/pic/avatar/avatar482.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar483.gif b/www-ssl/pic/avatar/avatar483.gif
index d72a4c09..d72a4c09 100755..100644
--- a/www-ssl/pic/avatar/avatar483.gif
+++ b/www-ssl/pic/avatar/avatar483.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar484.gif b/www-ssl/pic/avatar/avatar484.gif
index 7429a913..7429a913 100755..100644
--- a/www-ssl/pic/avatar/avatar484.gif
+++ b/www-ssl/pic/avatar/avatar484.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar485.gif b/www-ssl/pic/avatar/avatar485.gif
index aab93132..aab93132 100755..100644
--- a/www-ssl/pic/avatar/avatar485.gif
+++ b/www-ssl/pic/avatar/avatar485.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar486.gif b/www-ssl/pic/avatar/avatar486.gif
index 99278401..99278401 100755..100644
--- a/www-ssl/pic/avatar/avatar486.gif
+++ b/www-ssl/pic/avatar/avatar486.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar487.gif b/www-ssl/pic/avatar/avatar487.gif
index 2e41a5e9..2e41a5e9 100755..100644
--- a/www-ssl/pic/avatar/avatar487.gif
+++ b/www-ssl/pic/avatar/avatar487.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar488.gif b/www-ssl/pic/avatar/avatar488.gif
index 3444526d..3444526d 100755..100644
--- a/www-ssl/pic/avatar/avatar488.gif
+++ b/www-ssl/pic/avatar/avatar488.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar489.gif b/www-ssl/pic/avatar/avatar489.gif
index 6f63b13d..6f63b13d 100755..100644
--- a/www-ssl/pic/avatar/avatar489.gif
+++ b/www-ssl/pic/avatar/avatar489.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar49.gif b/www-ssl/pic/avatar/avatar49.gif
index 2c637ed0..2c637ed0 100755..100644
--- a/www-ssl/pic/avatar/avatar49.gif
+++ b/www-ssl/pic/avatar/avatar49.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar490.gif b/www-ssl/pic/avatar/avatar490.gif
index 80a07e2b..80a07e2b 100755..100644
--- a/www-ssl/pic/avatar/avatar490.gif
+++ b/www-ssl/pic/avatar/avatar490.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar491.gif b/www-ssl/pic/avatar/avatar491.gif
index 65bb584e..65bb584e 100755..100644
--- a/www-ssl/pic/avatar/avatar491.gif
+++ b/www-ssl/pic/avatar/avatar491.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar492.gif b/www-ssl/pic/avatar/avatar492.gif
index c8ce0d9d..c8ce0d9d 100755..100644
--- a/www-ssl/pic/avatar/avatar492.gif
+++ b/www-ssl/pic/avatar/avatar492.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar493.gif b/www-ssl/pic/avatar/avatar493.gif
index 4ed86532..4ed86532 100755..100644
--- a/www-ssl/pic/avatar/avatar493.gif
+++ b/www-ssl/pic/avatar/avatar493.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar494.gif b/www-ssl/pic/avatar/avatar494.gif
index 47d5e2e2..47d5e2e2 100755..100644
--- a/www-ssl/pic/avatar/avatar494.gif
+++ b/www-ssl/pic/avatar/avatar494.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar495.gif b/www-ssl/pic/avatar/avatar495.gif
index 9b7bdd44..9b7bdd44 100755..100644
--- a/www-ssl/pic/avatar/avatar495.gif
+++ b/www-ssl/pic/avatar/avatar495.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar496.gif b/www-ssl/pic/avatar/avatar496.gif
index 2a4429e8..2a4429e8 100755..100644
--- a/www-ssl/pic/avatar/avatar496.gif
+++ b/www-ssl/pic/avatar/avatar496.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar497.gif b/www-ssl/pic/avatar/avatar497.gif
index aebb9cad..aebb9cad 100755..100644
--- a/www-ssl/pic/avatar/avatar497.gif
+++ b/www-ssl/pic/avatar/avatar497.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar498.gif b/www-ssl/pic/avatar/avatar498.gif
index 2dab371f..2dab371f 100755..100644
--- a/www-ssl/pic/avatar/avatar498.gif
+++ b/www-ssl/pic/avatar/avatar498.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar499.gif b/www-ssl/pic/avatar/avatar499.gif
index c23e44fd..c23e44fd 100755..100644
--- a/www-ssl/pic/avatar/avatar499.gif
+++ b/www-ssl/pic/avatar/avatar499.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar5.gif b/www-ssl/pic/avatar/avatar5.gif
index c0134ee8..c0134ee8 100755..100644
--- a/www-ssl/pic/avatar/avatar5.gif
+++ b/www-ssl/pic/avatar/avatar5.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar50.gif b/www-ssl/pic/avatar/avatar50.gif
index 101883c4..101883c4 100755..100644
--- a/www-ssl/pic/avatar/avatar50.gif
+++ b/www-ssl/pic/avatar/avatar50.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar51.gif b/www-ssl/pic/avatar/avatar51.gif
index 310d6f66..310d6f66 100755..100644
--- a/www-ssl/pic/avatar/avatar51.gif
+++ b/www-ssl/pic/avatar/avatar51.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar52.gif b/www-ssl/pic/avatar/avatar52.gif
index 01ce7062..01ce7062 100755..100644
--- a/www-ssl/pic/avatar/avatar52.gif
+++ b/www-ssl/pic/avatar/avatar52.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar53.gif b/www-ssl/pic/avatar/avatar53.gif
index 7ba2db43..7ba2db43 100755..100644
--- a/www-ssl/pic/avatar/avatar53.gif
+++ b/www-ssl/pic/avatar/avatar53.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar54.gif b/www-ssl/pic/avatar/avatar54.gif
index 2f4ef2a0..2f4ef2a0 100755..100644
--- a/www-ssl/pic/avatar/avatar54.gif
+++ b/www-ssl/pic/avatar/avatar54.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar55.gif b/www-ssl/pic/avatar/avatar55.gif
index 7e9cd013..7e9cd013 100755..100644
--- a/www-ssl/pic/avatar/avatar55.gif
+++ b/www-ssl/pic/avatar/avatar55.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar56.gif b/www-ssl/pic/avatar/avatar56.gif
index e9d115b5..e9d115b5 100755..100644
--- a/www-ssl/pic/avatar/avatar56.gif
+++ b/www-ssl/pic/avatar/avatar56.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar57.gif b/www-ssl/pic/avatar/avatar57.gif
index a4d85078..a4d85078 100755..100644
--- a/www-ssl/pic/avatar/avatar57.gif
+++ b/www-ssl/pic/avatar/avatar57.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar58.gif b/www-ssl/pic/avatar/avatar58.gif
index 597b70bd..597b70bd 100755..100644
--- a/www-ssl/pic/avatar/avatar58.gif
+++ b/www-ssl/pic/avatar/avatar58.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar59.gif b/www-ssl/pic/avatar/avatar59.gif
index 9032b75b..9032b75b 100755..100644
--- a/www-ssl/pic/avatar/avatar59.gif
+++ b/www-ssl/pic/avatar/avatar59.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar6.gif b/www-ssl/pic/avatar/avatar6.gif
index 6c0416b1..6c0416b1 100755..100644
--- a/www-ssl/pic/avatar/avatar6.gif
+++ b/www-ssl/pic/avatar/avatar6.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar60.gif b/www-ssl/pic/avatar/avatar60.gif
index 33744c36..33744c36 100755..100644
--- a/www-ssl/pic/avatar/avatar60.gif
+++ b/www-ssl/pic/avatar/avatar60.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar61.gif b/www-ssl/pic/avatar/avatar61.gif
index a88f6971..a88f6971 100755..100644
--- a/www-ssl/pic/avatar/avatar61.gif
+++ b/www-ssl/pic/avatar/avatar61.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar62.gif b/www-ssl/pic/avatar/avatar62.gif
index 4f8d1bee..4f8d1bee 100755..100644
--- a/www-ssl/pic/avatar/avatar62.gif
+++ b/www-ssl/pic/avatar/avatar62.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar63.gif b/www-ssl/pic/avatar/avatar63.gif
index d55fe2bd..d55fe2bd 100755..100644
--- a/www-ssl/pic/avatar/avatar63.gif
+++ b/www-ssl/pic/avatar/avatar63.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar64.gif b/www-ssl/pic/avatar/avatar64.gif
index b7cf7a83..b7cf7a83 100755..100644
--- a/www-ssl/pic/avatar/avatar64.gif
+++ b/www-ssl/pic/avatar/avatar64.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar65.gif b/www-ssl/pic/avatar/avatar65.gif
index e7d2ad6b..e7d2ad6b 100755..100644
--- a/www-ssl/pic/avatar/avatar65.gif
+++ b/www-ssl/pic/avatar/avatar65.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar66.gif b/www-ssl/pic/avatar/avatar66.gif
index 0ce01bfc..0ce01bfc 100755..100644
--- a/www-ssl/pic/avatar/avatar66.gif
+++ b/www-ssl/pic/avatar/avatar66.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar67.gif b/www-ssl/pic/avatar/avatar67.gif
index a99192c7..a99192c7 100755..100644
--- a/www-ssl/pic/avatar/avatar67.gif
+++ b/www-ssl/pic/avatar/avatar67.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar68.gif b/www-ssl/pic/avatar/avatar68.gif
index d41c748c..d41c748c 100755..100644
--- a/www-ssl/pic/avatar/avatar68.gif
+++ b/www-ssl/pic/avatar/avatar68.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar69.gif b/www-ssl/pic/avatar/avatar69.gif
index d8e3a099..d8e3a099 100755..100644
--- a/www-ssl/pic/avatar/avatar69.gif
+++ b/www-ssl/pic/avatar/avatar69.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar7.gif b/www-ssl/pic/avatar/avatar7.gif
index 32e2aab7..32e2aab7 100755..100644
--- a/www-ssl/pic/avatar/avatar7.gif
+++ b/www-ssl/pic/avatar/avatar7.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar70.gif b/www-ssl/pic/avatar/avatar70.gif
index c38e5813..c38e5813 100755..100644
--- a/www-ssl/pic/avatar/avatar70.gif
+++ b/www-ssl/pic/avatar/avatar70.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar71.gif b/www-ssl/pic/avatar/avatar71.gif
index bc81138d..bc81138d 100755..100644
--- a/www-ssl/pic/avatar/avatar71.gif
+++ b/www-ssl/pic/avatar/avatar71.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar72.gif b/www-ssl/pic/avatar/avatar72.gif
index 7105469a..7105469a 100755..100644
--- a/www-ssl/pic/avatar/avatar72.gif
+++ b/www-ssl/pic/avatar/avatar72.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar73.gif b/www-ssl/pic/avatar/avatar73.gif
index c5cf7b5f..c5cf7b5f 100755..100644
--- a/www-ssl/pic/avatar/avatar73.gif
+++ b/www-ssl/pic/avatar/avatar73.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar74.gif b/www-ssl/pic/avatar/avatar74.gif
index 3c6b4e38..3c6b4e38 100755..100644
--- a/www-ssl/pic/avatar/avatar74.gif
+++ b/www-ssl/pic/avatar/avatar74.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar75.gif b/www-ssl/pic/avatar/avatar75.gif
index c193589f..c193589f 100755..100644
--- a/www-ssl/pic/avatar/avatar75.gif
+++ b/www-ssl/pic/avatar/avatar75.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar76.gif b/www-ssl/pic/avatar/avatar76.gif
index 7926bb97..7926bb97 100755..100644
--- a/www-ssl/pic/avatar/avatar76.gif
+++ b/www-ssl/pic/avatar/avatar76.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar77.gif b/www-ssl/pic/avatar/avatar77.gif
index 72991ce6..72991ce6 100755..100644
--- a/www-ssl/pic/avatar/avatar77.gif
+++ b/www-ssl/pic/avatar/avatar77.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar78.gif b/www-ssl/pic/avatar/avatar78.gif
index 2972aa4f..2972aa4f 100755..100644
--- a/www-ssl/pic/avatar/avatar78.gif
+++ b/www-ssl/pic/avatar/avatar78.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar79.gif b/www-ssl/pic/avatar/avatar79.gif
index d20e13af..d20e13af 100755..100644
--- a/www-ssl/pic/avatar/avatar79.gif
+++ b/www-ssl/pic/avatar/avatar79.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar8.gif b/www-ssl/pic/avatar/avatar8.gif
index b3e710cb..b3e710cb 100755..100644
--- a/www-ssl/pic/avatar/avatar8.gif
+++ b/www-ssl/pic/avatar/avatar8.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar80.gif b/www-ssl/pic/avatar/avatar80.gif
index 4c6afccc..4c6afccc 100755..100644
--- a/www-ssl/pic/avatar/avatar80.gif
+++ b/www-ssl/pic/avatar/avatar80.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar81.gif b/www-ssl/pic/avatar/avatar81.gif
index 2513d085..2513d085 100755..100644
--- a/www-ssl/pic/avatar/avatar81.gif
+++ b/www-ssl/pic/avatar/avatar81.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar82.gif b/www-ssl/pic/avatar/avatar82.gif
index ba761468..ba761468 100755..100644
--- a/www-ssl/pic/avatar/avatar82.gif
+++ b/www-ssl/pic/avatar/avatar82.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar83.gif b/www-ssl/pic/avatar/avatar83.gif
index 085cab2b..085cab2b 100755..100644
--- a/www-ssl/pic/avatar/avatar83.gif
+++ b/www-ssl/pic/avatar/avatar83.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar84.gif b/www-ssl/pic/avatar/avatar84.gif
index 07ee7424..07ee7424 100755..100644
--- a/www-ssl/pic/avatar/avatar84.gif
+++ b/www-ssl/pic/avatar/avatar84.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar85.gif b/www-ssl/pic/avatar/avatar85.gif
index cd510ece..cd510ece 100755..100644
--- a/www-ssl/pic/avatar/avatar85.gif
+++ b/www-ssl/pic/avatar/avatar85.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar86.gif b/www-ssl/pic/avatar/avatar86.gif
index 0c791d78..0c791d78 100755..100644
--- a/www-ssl/pic/avatar/avatar86.gif
+++ b/www-ssl/pic/avatar/avatar86.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar87.gif b/www-ssl/pic/avatar/avatar87.gif
index dac9b589..dac9b589 100755..100644
--- a/www-ssl/pic/avatar/avatar87.gif
+++ b/www-ssl/pic/avatar/avatar87.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar88.gif b/www-ssl/pic/avatar/avatar88.gif
index e27c3b3b..e27c3b3b 100755..100644
--- a/www-ssl/pic/avatar/avatar88.gif
+++ b/www-ssl/pic/avatar/avatar88.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar89.gif b/www-ssl/pic/avatar/avatar89.gif
index c07019c0..c07019c0 100755..100644
--- a/www-ssl/pic/avatar/avatar89.gif
+++ b/www-ssl/pic/avatar/avatar89.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar9.gif b/www-ssl/pic/avatar/avatar9.gif
index 448c6ecc..448c6ecc 100755..100644
--- a/www-ssl/pic/avatar/avatar9.gif
+++ b/www-ssl/pic/avatar/avatar9.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar90.gif b/www-ssl/pic/avatar/avatar90.gif
index f71a5957..f71a5957 100755..100644
--- a/www-ssl/pic/avatar/avatar90.gif
+++ b/www-ssl/pic/avatar/avatar90.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar91.gif b/www-ssl/pic/avatar/avatar91.gif
index 9b12113f..9b12113f 100755..100644
--- a/www-ssl/pic/avatar/avatar91.gif
+++ b/www-ssl/pic/avatar/avatar91.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar92.gif b/www-ssl/pic/avatar/avatar92.gif
index c3c22c89..c3c22c89 100755..100644
--- a/www-ssl/pic/avatar/avatar92.gif
+++ b/www-ssl/pic/avatar/avatar92.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar93.gif b/www-ssl/pic/avatar/avatar93.gif
index 1c33f2af..1c33f2af 100755..100644
--- a/www-ssl/pic/avatar/avatar93.gif
+++ b/www-ssl/pic/avatar/avatar93.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar94.gif b/www-ssl/pic/avatar/avatar94.gif
index a91b90a2..a91b90a2 100755..100644
--- a/www-ssl/pic/avatar/avatar94.gif
+++ b/www-ssl/pic/avatar/avatar94.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar95.gif b/www-ssl/pic/avatar/avatar95.gif
index dc7fe45f..dc7fe45f 100755..100644
--- a/www-ssl/pic/avatar/avatar95.gif
+++ b/www-ssl/pic/avatar/avatar95.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar96.gif b/www-ssl/pic/avatar/avatar96.gif
index f9aec5bf..f9aec5bf 100755..100644
--- a/www-ssl/pic/avatar/avatar96.gif
+++ b/www-ssl/pic/avatar/avatar96.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar97.gif b/www-ssl/pic/avatar/avatar97.gif
index 018fd0dc..018fd0dc 100755..100644
--- a/www-ssl/pic/avatar/avatar97.gif
+++ b/www-ssl/pic/avatar/avatar97.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar98.gif b/www-ssl/pic/avatar/avatar98.gif
index e963d44f..e963d44f 100755..100644
--- a/www-ssl/pic/avatar/avatar98.gif
+++ b/www-ssl/pic/avatar/avatar98.gif
Binary files differ
diff --git a/www-ssl/pic/avatar/avatar99.gif b/www-ssl/pic/avatar/avatar99.gif
index 3270bd87..3270bd87 100755..100644
--- a/www-ssl/pic/avatar/avatar99.gif
+++ b/www-ssl/pic/avatar/avatar99.gif
Binary files differ
diff --git a/www-ssl/pic/engelsystem_logo.png b/www-ssl/pic/engelsystem_logo.png
new file mode 100644
index 00000000..b017302e
--- /dev/null
+++ b/www-ssl/pic/engelsystem_logo.png
Binary files differ
diff --git a/www-ssl/pic/external.png b/www-ssl/pic/external.png
index 8ae475d8..8ae475d8 100755..100644
--- a/www-ssl/pic/external.png
+++ b/www-ssl/pic/external.png
Binary files differ
diff --git a/www-ssl/pic/flag/de.gif b/www-ssl/pic/flag/de.gif
deleted file mode 100755
index 15739e2e..00000000
--- a/www-ssl/pic/flag/de.gif
+++ /dev/null
Binary files differ
diff --git a/www-ssl/pic/flag/de.png b/www-ssl/pic/flag/de.png
new file mode 100644
index 00000000..ac4a9773
--- /dev/null
+++ b/www-ssl/pic/flag/de.png
Binary files differ
diff --git a/www-ssl/pic/flag/en.gif b/www-ssl/pic/flag/en.gif
deleted file mode 100755
index 34936ee3..00000000
--- a/www-ssl/pic/flag/en.gif
+++ /dev/null
Binary files differ
diff --git a/www-ssl/pic/flag/en.png b/www-ssl/pic/flag/en.png
new file mode 100644
index 00000000..ff701e19
--- /dev/null
+++ b/www-ssl/pic/flag/en.png
Binary files differ
diff --git a/www-ssl/pic/himmel.png b/www-ssl/pic/himmel.png
index 6a2b5000..6a2b5000 100755..100644
--- a/www-ssl/pic/himmel.png
+++ b/www-ssl/pic/himmel.png
Binary files differ
diff --git a/www-ssl/pic/himmel_w.png b/www-ssl/pic/himmel_w.png
index 2dd648ab..2dd648ab 100755..100644
--- a/www-ssl/pic/himmel_w.png
+++ b/www-ssl/pic/himmel_w.png
Binary files differ
diff --git a/www-ssl/pic/smiles/aerger2.gif b/www-ssl/pic/smiles/aerger2.gif
index accb9774..accb9774 100755..100644
--- a/www-ssl/pic/smiles/aerger2.gif
+++ b/www-ssl/pic/smiles/aerger2.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/alien.gif b/www-ssl/pic/smiles/alien.gif
index 1404f299..1404f299 100755..100644
--- a/www-ssl/pic/smiles/alien.gif
+++ b/www-ssl/pic/smiles/alien.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/blush.gif b/www-ssl/pic/smiles/blush.gif
index 28ce436b..28ce436b 100755..100644
--- a/www-ssl/pic/smiles/blush.gif
+++ b/www-ssl/pic/smiles/blush.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/boggle.gif b/www-ssl/pic/smiles/boggle.gif
index 472a3c3c..472a3c3c 100755..100644
--- a/www-ssl/pic/smiles/boggle.gif
+++ b/www-ssl/pic/smiles/boggle.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/bounce.gif b/www-ssl/pic/smiles/bounce.gif
index 942318f3..942318f3 100755..100644
--- a/www-ssl/pic/smiles/bounce.gif
+++ b/www-ssl/pic/smiles/bounce.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/bun.gif b/www-ssl/pic/smiles/bun.gif
index c6ee6937..c6ee6937 100755..100644
--- a/www-ssl/pic/smiles/bun.gif
+++ b/www-ssl/pic/smiles/bun.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/candycane.gif b/www-ssl/pic/smiles/candycane.gif
index 4469a5c5..4469a5c5 100755..100644
--- a/www-ssl/pic/smiles/candycane.gif
+++ b/www-ssl/pic/smiles/candycane.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/cheesy.gif b/www-ssl/pic/smiles/cheesy.gif
index 52d35b27..52d35b27 100755..100644
--- a/www-ssl/pic/smiles/cheesy.gif
+++ b/www-ssl/pic/smiles/cheesy.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/dead.gif b/www-ssl/pic/smiles/dead.gif
index 8328c337..8328c337 100755..100644
--- a/www-ssl/pic/smiles/dead.gif
+++ b/www-ssl/pic/smiles/dead.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/depressed.gif b/www-ssl/pic/smiles/depressed.gif
index 17c24c42..17c24c42 100755..100644
--- a/www-ssl/pic/smiles/depressed.gif
+++ b/www-ssl/pic/smiles/depressed.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/ginger.gif b/www-ssl/pic/smiles/ginger.gif
index 199b085d..199b085d 100755..100644
--- a/www-ssl/pic/smiles/ginger.gif
+++ b/www-ssl/pic/smiles/ginger.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/hirsch1.gif b/www-ssl/pic/smiles/hirsch1.gif
index 6ef61330..6ef61330 100755..100644
--- a/www-ssl/pic/smiles/hirsch1.gif
+++ b/www-ssl/pic/smiles/hirsch1.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/huh.gif b/www-ssl/pic/smiles/huh.gif
index 448c6ecc..448c6ecc 100755..100644
--- a/www-ssl/pic/smiles/huh.gif
+++ b/www-ssl/pic/smiles/huh.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_arrow.gif b/www-ssl/pic/smiles/icon_arrow.gif
index 2880055c..2880055c 100755..100644
--- a/www-ssl/pic/smiles/icon_arrow.gif
+++ b/www-ssl/pic/smiles/icon_arrow.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_biggrin.gif b/www-ssl/pic/smiles/icon_biggrin.gif
index d3527723..d3527723 100755..100644
--- a/www-ssl/pic/smiles/icon_biggrin.gif
+++ b/www-ssl/pic/smiles/icon_biggrin.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_confused.gif b/www-ssl/pic/smiles/icon_confused.gif
index 0c49e069..0c49e069 100755..100644
--- a/www-ssl/pic/smiles/icon_confused.gif
+++ b/www-ssl/pic/smiles/icon_confused.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_cool.gif b/www-ssl/pic/smiles/icon_cool.gif
index cead0306..cead0306 100755..100644
--- a/www-ssl/pic/smiles/icon_cool.gif
+++ b/www-ssl/pic/smiles/icon_cool.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_cry.gif b/www-ssl/pic/smiles/icon_cry.gif
index 7d54b1f9..7d54b1f9 100755..100644
--- a/www-ssl/pic/smiles/icon_cry.gif
+++ b/www-ssl/pic/smiles/icon_cry.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_eek.gif b/www-ssl/pic/smiles/icon_eek.gif
index 5d397810..5d397810 100755..100644
--- a/www-ssl/pic/smiles/icon_eek.gif
+++ b/www-ssl/pic/smiles/icon_eek.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_evil.gif b/www-ssl/pic/smiles/icon_evil.gif
index ab1aa8e1..ab1aa8e1 100755..100644
--- a/www-ssl/pic/smiles/icon_evil.gif
+++ b/www-ssl/pic/smiles/icon_evil.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_exclaim.gif b/www-ssl/pic/smiles/icon_exclaim.gif
index 6e50e2ee..6e50e2ee 100755..100644
--- a/www-ssl/pic/smiles/icon_exclaim.gif
+++ b/www-ssl/pic/smiles/icon_exclaim.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_frown.gif b/www-ssl/pic/smiles/icon_frown.gif
index d2ac78c0..d2ac78c0 100755..100644
--- a/www-ssl/pic/smiles/icon_frown.gif
+++ b/www-ssl/pic/smiles/icon_frown.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_idea.gif b/www-ssl/pic/smiles/icon_idea.gif
index a40ae0d7..a40ae0d7 100755..100644
--- a/www-ssl/pic/smiles/icon_idea.gif
+++ b/www-ssl/pic/smiles/icon_idea.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_lol.gif b/www-ssl/pic/smiles/icon_lol.gif
index 374ba150..374ba150 100755..100644
--- a/www-ssl/pic/smiles/icon_lol.gif
+++ b/www-ssl/pic/smiles/icon_lol.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_mad.gif b/www-ssl/pic/smiles/icon_mad.gif
index 1f6c3c2f..1f6c3c2f 100755..100644
--- a/www-ssl/pic/smiles/icon_mad.gif
+++ b/www-ssl/pic/smiles/icon_mad.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_mrgreen.gif b/www-ssl/pic/smiles/icon_mrgreen.gif
index b54cd0f9..b54cd0f9 100755..100644
--- a/www-ssl/pic/smiles/icon_mrgreen.gif
+++ b/www-ssl/pic/smiles/icon_mrgreen.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_neutral.gif b/www-ssl/pic/smiles/icon_neutral.gif
index 4f311567..4f311567 100755..100644
--- a/www-ssl/pic/smiles/icon_neutral.gif
+++ b/www-ssl/pic/smiles/icon_neutral.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_question.gif b/www-ssl/pic/smiles/icon_question.gif
index 9d072265..9d072265 100755..100644
--- a/www-ssl/pic/smiles/icon_question.gif
+++ b/www-ssl/pic/smiles/icon_question.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_razz.gif b/www-ssl/pic/smiles/icon_razz.gif
index 29da2a2f..29da2a2f 100755..100644
--- a/www-ssl/pic/smiles/icon_razz.gif
+++ b/www-ssl/pic/smiles/icon_razz.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_redface.gif b/www-ssl/pic/smiles/icon_redface.gif
index ad762832..ad762832 100755..100644
--- a/www-ssl/pic/smiles/icon_redface.gif
+++ b/www-ssl/pic/smiles/icon_redface.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_rolleyes.gif b/www-ssl/pic/smiles/icon_rolleyes.gif
index d7f5f2f4..d7f5f2f4 100755..100644
--- a/www-ssl/pic/smiles/icon_rolleyes.gif
+++ b/www-ssl/pic/smiles/icon_rolleyes.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_sad.gif b/www-ssl/pic/smiles/icon_sad.gif
index d2ac78c0..d2ac78c0 100755..100644
--- a/www-ssl/pic/smiles/icon_sad.gif
+++ b/www-ssl/pic/smiles/icon_sad.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_smile.gif b/www-ssl/pic/smiles/icon_smile.gif
index 7b1f6d30..7b1f6d30 100755..100644
--- a/www-ssl/pic/smiles/icon_smile.gif
+++ b/www-ssl/pic/smiles/icon_smile.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_surprised.gif b/www-ssl/pic/smiles/icon_surprised.gif
index cb214243..cb214243 100755..100644
--- a/www-ssl/pic/smiles/icon_surprised.gif
+++ b/www-ssl/pic/smiles/icon_surprised.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_twisted.gif b/www-ssl/pic/smiles/icon_twisted.gif
index 502fe247..502fe247 100755..100644
--- a/www-ssl/pic/smiles/icon_twisted.gif
+++ b/www-ssl/pic/smiles/icon_twisted.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/icon_wind.gif b/www-ssl/pic/smiles/icon_wind.gif
index d1482880..d1482880 100755..100644
--- a/www-ssl/pic/smiles/icon_wind.gif
+++ b/www-ssl/pic/smiles/icon_wind.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/koenig1.gif b/www-ssl/pic/smiles/koenig1.gif
index b3e710cb..b3e710cb 100755..100644
--- a/www-ssl/pic/smiles/koenig1.gif
+++ b/www-ssl/pic/smiles/koenig1.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/laser1.gif b/www-ssl/pic/smiles/laser1.gif
index 32e2aab7..32e2aab7 100755..100644
--- a/www-ssl/pic/smiles/laser1.gif
+++ b/www-ssl/pic/smiles/laser1.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/love1.gif b/www-ssl/pic/smiles/love1.gif
index 88dd553a..88dd553a 100755..100644
--- a/www-ssl/pic/smiles/love1.gif
+++ b/www-ssl/pic/smiles/love1.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/moo.gif b/www-ssl/pic/smiles/moo.gif
index e525aa86..e525aa86 100755..100644
--- a/www-ssl/pic/smiles/moo.gif
+++ b/www-ssl/pic/smiles/moo.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/nuts.gif b/www-ssl/pic/smiles/nuts.gif
index 12d4c5d1..12d4c5d1 100755..100644
--- a/www-ssl/pic/smiles/nuts.gif
+++ b/www-ssl/pic/smiles/nuts.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/robin.gif b/www-ssl/pic/smiles/robin.gif
index ee0f0500..ee0f0500 100755..100644
--- a/www-ssl/pic/smiles/robin.gif
+++ b/www-ssl/pic/smiles/robin.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/sheep.gif b/www-ssl/pic/smiles/sheep.gif
index d1691491..d1691491 100755..100644
--- a/www-ssl/pic/smiles/sheep.gif
+++ b/www-ssl/pic/smiles/sheep.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/sick.gif b/www-ssl/pic/smiles/sick.gif
index 488d0e8e..488d0e8e 100755..100644
--- a/www-ssl/pic/smiles/sick.gif
+++ b/www-ssl/pic/smiles/sick.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/sleep.gif b/www-ssl/pic/smiles/sleep.gif
index 7e1a0c51..7e1a0c51 100755..100644
--- a/www-ssl/pic/smiles/sleep.gif
+++ b/www-ssl/pic/smiles/sleep.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/soppy.gif b/www-ssl/pic/smiles/soppy.gif
index 6c0416b1..6c0416b1 100755..100644
--- a/www-ssl/pic/smiles/soppy.gif
+++ b/www-ssl/pic/smiles/soppy.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/stress.gif b/www-ssl/pic/smiles/stress.gif
index 133913d7..133913d7 100755..100644
--- a/www-ssl/pic/smiles/stress.gif
+++ b/www-ssl/pic/smiles/stress.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/sweet.gif b/www-ssl/pic/smiles/sweet.gif
index 6c1e79a7..6c1e79a7 100755..100644
--- a/www-ssl/pic/smiles/sweet.gif
+++ b/www-ssl/pic/smiles/sweet.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/tired.gif b/www-ssl/pic/smiles/tired.gif
index d8cd4306..d8cd4306 100755..100644
--- a/www-ssl/pic/smiles/tired.gif
+++ b/www-ssl/pic/smiles/tired.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/urgh.gif b/www-ssl/pic/smiles/urgh.gif
index 16a9bc1d..16a9bc1d 100755..100644
--- a/www-ssl/pic/smiles/urgh.gif
+++ b/www-ssl/pic/smiles/urgh.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/winken1.gif b/www-ssl/pic/smiles/winken1.gif
index 98f1821b..98f1821b 100755..100644
--- a/www-ssl/pic/smiles/winken1.gif
+++ b/www-ssl/pic/smiles/winken1.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/worm.gif b/www-ssl/pic/smiles/worm.gif
index c0134ee8..c0134ee8 100755..100644
--- a/www-ssl/pic/smiles/worm.gif
+++ b/www-ssl/pic/smiles/worm.gif
Binary files differ
diff --git a/www-ssl/pic/smiles/worry.gif b/www-ssl/pic/smiles/worry.gif
index c598b575..c598b575 100755..100644
--- a/www-ssl/pic/smiles/worry.gif
+++ b/www-ssl/pic/smiles/worry.gif
Binary files differ
diff --git a/www/404.php b/www/404.php
deleted file mode 100644
index b9e5ed58..00000000
--- a/www/404.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?PHP
-header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REDIRECT_URL']);
-?>
diff --git a/www/index.php b/www/index.php
deleted file mode 100644
index 2e218040..00000000
--- a/www/index.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?PHP
-header("Location: https://".$_SERVER['HTTP_HOST']."/");
-?>
-