From 3f48a78140e796d3c3b084b04894111afce97198 Mon Sep 17 00:00:00 2001 From: aschwarz <a.schwarz@polizei.bwl.de> Date: Fri, 31 Mar 2023 13:37:52 +0200 Subject: [PATCH] =?UTF-8?q?Aufr=C3=A4umarbeiten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/#config.php | 14 - admin/2022-01-12_unzugeordnet.php | 77 - admin/administration_frame.php | 9 - admin/fill_qr.php | 26 - admin/gd_verwaltung.php | 565 --- admin/hauptframe.php | 9 - admin/index.php | 86 - admin/indexframe.php | 8 - admin/liste_qr_name.php | 252 -- admin/liste_tn.php | 1549 -------- admin/logout.php | 12 - admin/menu_administration.php | 16 - admin/menu_qr.php | 16 - admin/menu_survey.php | 16 - admin/menu_verwaltung.php | 16 - admin/menu_youtube.php | 16 - admin/old/Import_CSV_Hogrefe.xlsx | Bin 20555 -> 0 bytes admin/old/bewerber_daten.php | 1221 ------ admin/old/datencheck.php | 161 - admin/old/dokverw.php | 110 - admin/old/downpdf.php | 29 - admin/old/ergebnisse.php | 123 - admin/old/fetch.php | 70 - admin/old/kand_del.php | 111 - admin/old/liste_tn.php | 256 -- admin/old/logout.php | 12 - admin/old/mail_test.php | 151 - admin/old/parameter.php | 84 - admin/old/praxisstellen_edit.php | 346 -- admin/old/praxisstellen_news.php | 151 - admin/old/prx_search.php | 163 - admin/old/rangliste2.php | 72 - admin/old/rangliste2_excel.php | 104 - admin/old/save_note.php | 88 - admin/old/tanimport.php | 274 -- admin/old/termine.php_bcc | 352 -- admin/old/termine_kandidat.php | 343 -- admin/old/test_csv.php | 889 ----- admin/old/upload.php | 402 -- admin/parameter.php | 81 - admin/phpqrcode/CHANGELOG | 38 - admin/phpqrcode/INSTALL | 67 - admin/phpqrcode/LICENSE | 165 - admin/phpqrcode/README | 45 - admin/phpqrcode/VERSION | 2 - admin/phpqrcode/bindings/tcpdf/qrcode.php | 2875 -------------- admin/phpqrcode/cache/frame_1.dat | 2 - admin/phpqrcode/cache/frame_1.png | Bin 126 -> 0 bytes admin/phpqrcode/cache/frame_10.dat | Bin 204 -> 0 bytes admin/phpqrcode/cache/frame_10.png | Bin 202 -> 0 bytes admin/phpqrcode/cache/frame_11.dat | Bin 210 -> 0 bytes admin/phpqrcode/cache/frame_11.png | Bin 205 -> 0 bytes admin/phpqrcode/cache/frame_12.dat | Bin 222 -> 0 bytes admin/phpqrcode/cache/frame_12.png | Bin 216 -> 0 bytes admin/phpqrcode/cache/frame_13.dat | Bin 223 -> 0 bytes admin/phpqrcode/cache/frame_13.png | Bin 210 -> 0 bytes admin/phpqrcode/cache/frame_14.dat | Bin 227 -> 0 bytes admin/phpqrcode/cache/frame_14.png | Bin 213 -> 0 bytes admin/phpqrcode/cache/frame_15.dat | Bin 242 -> 0 bytes admin/phpqrcode/cache/frame_15.png | Bin 219 -> 0 bytes admin/phpqrcode/cache/frame_16.dat | 1 - admin/phpqrcode/cache/frame_16.png | Bin 211 -> 0 bytes admin/phpqrcode/cache/frame_17.dat | Bin 237 -> 0 bytes admin/phpqrcode/cache/frame_17.png | Bin 211 -> 0 bytes admin/phpqrcode/cache/frame_18.dat | 2 - admin/phpqrcode/cache/frame_18.png | Bin 228 -> 0 bytes admin/phpqrcode/cache/frame_19.dat | 3 - admin/phpqrcode/cache/frame_19.png | Bin 225 -> 0 bytes admin/phpqrcode/cache/frame_2.dat | 1 - admin/phpqrcode/cache/frame_2.png | Bin 144 -> 0 bytes admin/phpqrcode/cache/frame_20.dat | Bin 250 -> 0 bytes admin/phpqrcode/cache/frame_20.png | Bin 225 -> 0 bytes admin/phpqrcode/cache/frame_21.dat | 1 - admin/phpqrcode/cache/frame_21.png | Bin 235 -> 0 bytes admin/phpqrcode/cache/frame_22.dat | 3 - admin/phpqrcode/cache/frame_22.png | Bin 226 -> 0 bytes admin/phpqrcode/cache/frame_23.dat | 3 - admin/phpqrcode/cache/frame_23.png | Bin 220 -> 0 bytes admin/phpqrcode/cache/frame_24.dat | 1 - admin/phpqrcode/cache/frame_24.png | Bin 242 -> 0 bytes admin/phpqrcode/cache/frame_25.dat | 3 - admin/phpqrcode/cache/frame_25.png | Bin 242 -> 0 bytes admin/phpqrcode/cache/frame_26.dat | 2 - admin/phpqrcode/cache/frame_26.png | Bin 244 -> 0 bytes admin/phpqrcode/cache/frame_27.dat | Bin 284 -> 0 bytes admin/phpqrcode/cache/frame_27.png | Bin 237 -> 0 bytes admin/phpqrcode/cache/frame_28.dat | Bin 318 -> 0 bytes admin/phpqrcode/cache/frame_28.png | Bin 234 -> 0 bytes admin/phpqrcode/cache/frame_29.dat | 2 - admin/phpqrcode/cache/frame_29.png | Bin 232 -> 0 bytes admin/phpqrcode/cache/frame_3.dat | 1 - admin/phpqrcode/cache/frame_3.png | Bin 147 -> 0 bytes admin/phpqrcode/cache/frame_30.dat | Bin 324 -> 0 bytes admin/phpqrcode/cache/frame_30.png | Bin 255 -> 0 bytes admin/phpqrcode/cache/frame_31.dat | 1 - admin/phpqrcode/cache/frame_31.png | Bin 260 -> 0 bytes admin/phpqrcode/cache/frame_32.dat | 2 - admin/phpqrcode/cache/frame_32.png | Bin 262 -> 0 bytes admin/phpqrcode/cache/frame_33.dat | 14 - admin/phpqrcode/cache/frame_33.png | Bin 253 -> 0 bytes admin/phpqrcode/cache/frame_34.dat | Bin 331 -> 0 bytes admin/phpqrcode/cache/frame_34.png | Bin 256 -> 0 bytes admin/phpqrcode/cache/frame_35.dat | Bin 342 -> 0 bytes admin/phpqrcode/cache/frame_35.png | Bin 243 -> 0 bytes admin/phpqrcode/cache/frame_36.dat | Bin 370 -> 0 bytes admin/phpqrcode/cache/frame_36.png | Bin 272 -> 0 bytes admin/phpqrcode/cache/frame_37.dat | Bin 376 -> 0 bytes admin/phpqrcode/cache/frame_37.png | Bin 279 -> 0 bytes admin/phpqrcode/cache/frame_38.dat | 1 - admin/phpqrcode/cache/frame_38.png | Bin 279 -> 0 bytes admin/phpqrcode/cache/frame_39.dat | Bin 404 -> 0 bytes admin/phpqrcode/cache/frame_39.png | Bin 264 -> 0 bytes admin/phpqrcode/cache/frame_4.dat | 1 - admin/phpqrcode/cache/frame_4.png | Bin 149 -> 0 bytes admin/phpqrcode/cache/frame_40.dat | 2 - admin/phpqrcode/cache/frame_40.png | Bin 267 -> 0 bytes admin/phpqrcode/cache/frame_5.dat | 1 - admin/phpqrcode/cache/frame_5.png | Bin 150 -> 0 bytes admin/phpqrcode/cache/frame_6.dat | Bin 132 -> 0 bytes admin/phpqrcode/cache/frame_6.png | Bin 151 -> 0 bytes admin/phpqrcode/cache/frame_7.dat | Bin 196 -> 0 bytes admin/phpqrcode/cache/frame_7.png | Bin 189 -> 0 bytes admin/phpqrcode/cache/frame_8.dat | Bin 201 -> 0 bytes admin/phpqrcode/cache/frame_8.png | Bin 204 -> 0 bytes admin/phpqrcode/cache/frame_9.dat | Bin 206 -> 0 bytes admin/phpqrcode/cache/frame_9.png | Bin 199 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_101_0.dat | Bin 157 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_105_0.dat | Bin 162 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_109_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_113_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_117_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_121_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_125_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_129_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_133_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_137_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_141_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_145_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_149_0.dat | 3 - admin/phpqrcode/cache/mask_0/mask_153_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_157_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_161_0.dat | Bin 241 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_165_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_169_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_173_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_177_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_21_0.dat | Bin 48 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_25_0.dat | Bin 57 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_29_0.dat | Bin 59 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_33_0.dat | Bin 62 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_37_0.dat | Bin 65 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_41_0.dat | Bin 68 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_45_0.dat | Bin 106 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_49_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_53_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_57_0.dat | 4 - admin/phpqrcode/cache/mask_0/mask_61_0.dat | Bin 119 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_65_0.dat | Bin 123 -> 0 bytes admin/phpqrcode/cache/mask_0/mask_69_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_73_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_77_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_81_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_85_0.dat | 2 - admin/phpqrcode/cache/mask_0/mask_89_0.dat | 1 - admin/phpqrcode/cache/mask_0/mask_93_0.dat | 3 - admin/phpqrcode/cache/mask_0/mask_97_0.dat | Bin 150 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_101_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_105_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_109_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_113_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_117_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_121_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_125_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_129_1.dat | Bin 164 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_133_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_137_1.dat | 3 - admin/phpqrcode/cache/mask_1/mask_141_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_145_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_149_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_153_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_157_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_161_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_165_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_169_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_173_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_177_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_21_1.dat | Bin 42 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_25_1.dat | Bin 48 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_29_1.dat | Bin 50 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_33_1.dat | Bin 53 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_37_1.dat | Bin 56 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_41_1.dat | Bin 58 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_45_1.dat | Bin 82 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_49_1.dat | Bin 84 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_53_1.dat | Bin 87 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_57_1.dat | Bin 92 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_61_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_65_1.dat | Bin 99 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_69_1.dat | Bin 102 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_73_1.dat | Bin 104 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_77_1.dat | Bin 110 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_81_1.dat | Bin 114 -> 0 bytes admin/phpqrcode/cache/mask_1/mask_85_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_89_1.dat | 1 - admin/phpqrcode/cache/mask_1/mask_93_1.dat | 2 - admin/phpqrcode/cache/mask_1/mask_97_1.dat | 2 - admin/phpqrcode/cache/mask_2/mask_101_2.dat | 3 - admin/phpqrcode/cache/mask_2/mask_105_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_109_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_113_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_117_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_121_2.dat | Bin 127 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_125_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_129_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_133_2.dat | 10 - admin/phpqrcode/cache/mask_2/mask_137_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_141_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_145_2.dat | 4 - admin/phpqrcode/cache/mask_2/mask_149_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_153_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_157_2.dat | 3 - admin/phpqrcode/cache/mask_2/mask_161_2.dat | Bin 190 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_165_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_169_2.dat | Bin 196 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_173_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_177_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_21_2.dat | Bin 35 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_25_2.dat | Bin 41 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_29_2.dat | Bin 45 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_33_2.dat | Bin 47 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_37_2.dat | Bin 47 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_41_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_45_2.dat | Bin 68 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_49_2.dat | Bin 70 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_53_2.dat | Bin 73 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_57_2.dat | Bin 76 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_61_2.dat | Bin 78 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_65_2.dat | Bin 89 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_69_2.dat | Bin 88 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_73_2.dat | Bin 94 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_77_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_81_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_85_2.dat | 2 - admin/phpqrcode/cache/mask_2/mask_89_2.dat | 1 - admin/phpqrcode/cache/mask_2/mask_93_2.dat | Bin 103 -> 0 bytes admin/phpqrcode/cache/mask_2/mask_97_2.dat | 2 - admin/phpqrcode/cache/mask_3/mask_101_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_105_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_109_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_113_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_117_3.dat | 4 - admin/phpqrcode/cache/mask_3/mask_121_3.dat | Bin 212 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_125_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_129_3.dat | 8 - admin/phpqrcode/cache/mask_3/mask_133_3.dat | Bin 216 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_137_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_141_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_145_3.dat | 3 - admin/phpqrcode/cache/mask_3/mask_149_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_153_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_157_3.dat | Bin 248 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_161_3.dat | 3 - admin/phpqrcode/cache/mask_3/mask_165_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_169_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_173_3.dat | 1 - admin/phpqrcode/cache/mask_3/mask_177_3.dat | Bin 312 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_21_3.dat | Bin 60 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_25_3.dat | Bin 75 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_29_3.dat | Bin 75 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_33_3.dat | Bin 79 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_37_3.dat | Bin 83 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_41_3.dat | Bin 85 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_45_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_49_3.dat | Bin 127 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_53_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_57_3.dat | Bin 126 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_61_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_65_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_69_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_73_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_77_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_81_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_85_3.dat | Bin 160 -> 0 bytes admin/phpqrcode/cache/mask_3/mask_89_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_93_3.dat | 2 - admin/phpqrcode/cache/mask_3/mask_97_3.dat | Bin 175 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_101_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_105_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_109_4.dat | Bin 182 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_113_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_117_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_121_4.dat | Bin 208 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_125_4.dat | Bin 213 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_129_4.dat | Bin 220 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_133_4.dat | 3 - admin/phpqrcode/cache/mask_4/mask_137_4.dat | Bin 248 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_141_4.dat | Bin 254 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_145_4.dat | Bin 255 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_149_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_153_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_157_4.dat | 1 - admin/phpqrcode/cache/mask_4/mask_161_4.dat | 1 - admin/phpqrcode/cache/mask_4/mask_165_4.dat | 3 - admin/phpqrcode/cache/mask_4/mask_169_4.dat | Bin 297 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_173_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_177_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_21_4.dat | Bin 57 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_25_4.dat | Bin 76 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_29_4.dat | Bin 78 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_33_4.dat | Bin 89 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_37_4.dat | Bin 86 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_41_4.dat | Bin 89 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_45_4.dat | Bin 120 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_49_4.dat | Bin 124 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_53_4.dat | Bin 128 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_57_4.dat | Bin 130 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_61_4.dat | Bin 132 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_65_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_69_4.dat | 1 - admin/phpqrcode/cache/mask_4/mask_73_4.dat | 3 - admin/phpqrcode/cache/mask_4/mask_77_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_81_4.dat | 3 - admin/phpqrcode/cache/mask_4/mask_85_4.dat | Bin 154 -> 0 bytes admin/phpqrcode/cache/mask_4/mask_89_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_93_4.dat | 2 - admin/phpqrcode/cache/mask_4/mask_97_4.dat | Bin 176 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_101_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_105_5.dat | Bin 224 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_109_5.dat | Bin 211 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_113_5.dat | 9 - admin/phpqrcode/cache/mask_5/mask_117_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_121_5.dat | Bin 256 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_125_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_129_5.dat | Bin 259 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_133_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_137_5.dat | 3 - admin/phpqrcode/cache/mask_5/mask_141_5.dat | Bin 297 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_145_5.dat | Bin 300 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_149_5.dat | 3 - admin/phpqrcode/cache/mask_5/mask_153_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_157_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_161_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_165_5.dat | Bin 332 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_169_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_173_5.dat | 4 - admin/phpqrcode/cache/mask_5/mask_177_5.dat | 11 - admin/phpqrcode/cache/mask_5/mask_21_5.dat | Bin 74 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_25_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_29_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_33_5.dat | Bin 106 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_37_5.dat | Bin 103 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_41_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_45_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_49_5.dat | Bin 146 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_53_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_57_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_61_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_65_5.dat | Bin 163 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_69_5.dat | Bin 167 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_73_5.dat | Bin 184 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_77_5.dat | 1 - admin/phpqrcode/cache/mask_5/mask_81_5.dat | 3 - admin/phpqrcode/cache/mask_5/mask_85_5.dat | Bin 186 -> 0 bytes admin/phpqrcode/cache/mask_5/mask_89_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_93_5.dat | 2 - admin/phpqrcode/cache/mask_5/mask_97_5.dat | 1 - admin/phpqrcode/cache/mask_6/mask_101_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_105_6.dat | 3 - admin/phpqrcode/cache/mask_6/mask_109_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_113_6.dat | 3 - admin/phpqrcode/cache/mask_6/mask_117_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_121_6.dat | Bin 309 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_125_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_129_6.dat | Bin 310 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_133_6.dat | Bin 296 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_137_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_141_6.dat | 10 - admin/phpqrcode/cache/mask_6/mask_145_6.dat | Bin 357 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_149_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_153_6.dat | Bin 367 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_157_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_161_6.dat | Bin 399 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_165_6.dat | Bin 400 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_169_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_173_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_177_6.dat | 14 - admin/phpqrcode/cache/mask_6/mask_21_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_25_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_29_6.dat | 3 - admin/phpqrcode/cache/mask_6/mask_33_6.dat | Bin 124 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_37_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_41_6.dat | Bin 132 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_45_6.dat | Bin 189 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_49_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_53_6.dat | Bin 195 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_57_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_61_6.dat | 2 - admin/phpqrcode/cache/mask_6/mask_65_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_69_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_73_6.dat | Bin 230 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_77_6.dat | 1 - admin/phpqrcode/cache/mask_6/mask_81_6.dat | 3 - admin/phpqrcode/cache/mask_6/mask_85_6.dat | Bin 229 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_89_6.dat | Bin 263 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_93_6.dat | Bin 276 -> 0 bytes admin/phpqrcode/cache/mask_6/mask_97_6.dat | 2 - admin/phpqrcode/cache/mask_7/mask_101_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_105_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_109_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_113_7.dat | 11 - admin/phpqrcode/cache/mask_7/mask_117_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_121_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_125_7.dat | Bin 288 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_129_7.dat | Bin 282 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_133_7.dat | Bin 281 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_137_7.dat | 5 - admin/phpqrcode/cache/mask_7/mask_141_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_145_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_149_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_153_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_157_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_161_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_165_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_169_7.dat | Bin 383 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_173_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_177_7.dat | Bin 407 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_21_7.dat | 4 - admin/phpqrcode/cache/mask_7/mask_25_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_29_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_33_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_37_7.dat | Bin 122 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_41_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_45_7.dat | Bin 173 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_49_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_53_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_57_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_61_7.dat | 2 - admin/phpqrcode/cache/mask_7/mask_65_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_69_7.dat | Bin 202 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_73_7.dat | Bin 221 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_77_7.dat | Bin 226 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_81_7.dat | 1 - admin/phpqrcode/cache/mask_7/mask_85_7.dat | Bin 213 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_89_7.dat | Bin 244 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_93_7.dat | Bin 248 -> 0 bytes admin/phpqrcode/cache/mask_7/mask_97_7.dat | 2 - admin/phpqrcode/index.php | 94 - admin/phpqrcode/phpqrcode.php | 3312 ----------------- admin/phpqrcode/qrbitstream.php | 180 - admin/phpqrcode/qrconfig.php | 17 - admin/phpqrcode/qrconst.php | 54 - admin/phpqrcode/qrencode.php | 502 --- admin/phpqrcode/qrimage.php | 95 - admin/phpqrcode/qrinput.php | 729 ---- admin/phpqrcode/qrlib.php | 43 - admin/phpqrcode/qrmask.php | 328 -- admin/phpqrcode/qrrscode.php | 210 -- admin/phpqrcode/qrspec.php | 592 --- admin/phpqrcode/qrsplit.php | 311 -- admin/phpqrcode/qrtools.php | 172 - admin/phpqrcode/temp/415.png | Bin 345 -> 0 bytes admin/phpqrcode/temp/416.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/417.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/418.png | Bin 342 -> 0 bytes admin/phpqrcode/temp/420.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/421.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/433.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/434.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/435.png | Bin 353 -> 0 bytes admin/phpqrcode/temp/436.png | Bin 347 -> 0 bytes admin/phpqrcode/temp/465.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/466.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/468.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/469.png | Bin 345 -> 0 bytes admin/phpqrcode/temp/471.png | Bin 353 -> 0 bytes admin/phpqrcode/temp/472.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/473.png | Bin 342 -> 0 bytes admin/phpqrcode/temp/501.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/502.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/505.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/512.png | Bin 358 -> 0 bytes admin/phpqrcode/temp/513.png | Bin 349 -> 0 bytes admin/phpqrcode/temp/514.png | Bin 344 -> 0 bytes admin/phpqrcode/temp/515.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/519.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/520.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/521.png | Bin 344 -> 0 bytes admin/phpqrcode/temp/522.png | Bin 344 -> 0 bytes admin/phpqrcode/temp/523.png | Bin 345 -> 0 bytes admin/phpqrcode/temp/524.png | Bin 342 -> 0 bytes admin/phpqrcode/temp/525.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/526.png | Bin 358 -> 0 bytes admin/phpqrcode/temp/527.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/528.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/547.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/548.png | Bin 347 -> 0 bytes admin/phpqrcode/temp/549.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/550.png | Bin 340 -> 0 bytes admin/phpqrcode/temp/551.png | Bin 359 -> 0 bytes admin/phpqrcode/temp/552.png | Bin 346 -> 0 bytes admin/phpqrcode/temp/553.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/554.png | Bin 346 -> 0 bytes admin/phpqrcode/temp/555.png | Bin 337 -> 0 bytes admin/phpqrcode/temp/560.png | Bin 353 -> 0 bytes admin/phpqrcode/temp/561.png | Bin 349 -> 0 bytes admin/phpqrcode/temp/562.png | Bin 343 -> 0 bytes admin/phpqrcode/temp/565.png | Bin 343 -> 0 bytes admin/phpqrcode/temp/566.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/567.png | Bin 346 -> 0 bytes admin/phpqrcode/temp/568.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/569.png | Bin 358 -> 0 bytes admin/phpqrcode/temp/570.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/571.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/572.png | Bin 353 -> 0 bytes admin/phpqrcode/temp/573.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/579.png | Bin 346 -> 0 bytes admin/phpqrcode/temp/580.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/581.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/582.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/584.png | Bin 345 -> 0 bytes admin/phpqrcode/temp/6038.png | Bin 344 -> 0 bytes admin/phpqrcode/temp/614.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/615.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/6174.png | Bin 338 -> 0 bytes admin/phpqrcode/temp/6175.png | Bin 366 -> 0 bytes admin/phpqrcode/temp/6176.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/6177.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/6178.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/6179.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/6180.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/6181.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/6182.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/619.png | Bin 355 -> 0 bytes admin/phpqrcode/temp/620.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/6232.png | Bin 356 -> 0 bytes admin/phpqrcode/temp/927.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/928.png | Bin 340 -> 0 bytes admin/phpqrcode/temp/929.png | Bin 356 -> 0 bytes admin/phpqrcode/temp/930.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/931.png | Bin 343 -> 0 bytes admin/phpqrcode/temp/932.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/933.png | Bin 346 -> 0 bytes admin/phpqrcode/temp/934.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/935.png | Bin 363 -> 0 bytes admin/phpqrcode/temp/936.png | Bin 359 -> 0 bytes admin/phpqrcode/temp/937.png | Bin 347 -> 0 bytes admin/phpqrcode/temp/938.png | Bin 356 -> 0 bytes admin/phpqrcode/temp/939.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/940.png | Bin 343 -> 0 bytes admin/phpqrcode/temp/941.png | Bin 339 -> 0 bytes admin/phpqrcode/temp/942.png | Bin 357 -> 0 bytes admin/phpqrcode/temp/943.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/944.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/945.png | Bin 349 -> 0 bytes admin/phpqrcode/temp/946.png | Bin 354 -> 0 bytes admin/phpqrcode/temp/947.png | Bin 349 -> 0 bytes admin/phpqrcode/temp/948.png | Bin 335 -> 0 bytes admin/phpqrcode/temp/949.png | Bin 332 -> 0 bytes admin/phpqrcode/temp/950.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/951.png | Bin 352 -> 0 bytes admin/phpqrcode/temp/952.png | Bin 345 -> 0 bytes admin/phpqrcode/temp/953.png | Bin 360 -> 0 bytes admin/phpqrcode/temp/954.png | Bin 348 -> 0 bytes admin/phpqrcode/temp/955.png | Bin 356 -> 0 bytes admin/phpqrcode/temp/956.png | Bin 351 -> 0 bytes admin/phpqrcode/temp/957.png | Bin 350 -> 0 bytes admin/phpqrcode/temp/958.png | Bin 358 -> 0 bytes admin/phpqrcode/temp/959.png | Bin 353 -> 0 bytes admin/phpqrcode/temp/960.png | Bin 352 -> 0 bytes admin/phpqrcode/tools/merge.bat | 2 - admin/phpqrcode/tools/merge.php | 70 - admin/phpqrcode/tools/merge.sh | 2 - admin/phpqrcode/tools/merged_config.php | 17 - admin/phpqrcode/tools/merged_header.php | 36 - admin/qr_code.php | 317 -- admin/qr_frame.php | 6 - admin/result_latest.php | 149 - admin/save_platz.php | 34 - admin/sitz_koord.php | 111 - admin/sitzplatz.php | 67 - admin/sort_table.html | 142 - admin/sort_table.php | 145 - admin/survey_erfassen.php | 297 -- admin/survey_frame.php | 8 - admin/termine.php | 361 -- admin/titel.php | 51 - admin/unzugeordnet.php | 80 - admin/verwaltung_frame.php | 6 - admin/warteliste.php | 154 - admin/youtube_frame.php | 6 - dashboard/#upload.php | 51 + dashboard/test.php | 26 + jquery/jquery.cycle.all.min.js | 21 + .../20230331_130027_Referendenbesprechung.txt | 1 + ..._130029_Nebentaetigkeit_Jaehresmeldung.pdf | Bin 0 -> 86167 bytes .../20230331_130159_Referendenbesprechung.txt | 1 + ..._130201_Nebentaetigkeit_Jaehresmeldung.pdf | Bin 0 -> 86167 bytes ..._130652_Nebentaetigkeit_Jaehresmeldung.pdf | Bin 0 -> 86167 bytes .../20230331_130857_Referendenbesprechung.txt | 1 + ..._130859_Nebentaetigkeit_Jaehresmeldung.pdf | Bin 0 -> 86167 bytes ...1_130901_Uebersicht_Datenbanken_C7000.pptx | Bin 0 -> 64200 bytes .../modern/admin/2022-01-12_sitz_koord.html | 32 - .../modern/admin/2022-01-12_sitzplatz.html | 935 ----- .../modern/admin/2022-01-12_unzugeordnet.html | 86 - .../modern/admin/administration_frame.html | 20 - templates/modern/admin/gd_verwaltung.html | 681 ---- templates/modern/admin/hauptframe.html | 31 - templates/modern/admin/index.html | 132 - templates/modern/admin/indexframe.html | 23 - templates/modern/admin/liste_qr_name.html | 178 - templates/modern/admin/liste_tn.html | 164 - templates/modern/admin/logout.html | 74 - .../modern/admin/menu_administration.html | 47 - templates/modern/admin/menu_qr.html | 48 - templates/modern/admin/menu_survey.html | 48 - templates/modern/admin/menu_verwaltung.html | 50 - templates/modern/admin/menu_youtube.html | 47 - .../modern/admin/old/bewerber_daten.html | 1705 --------- templates/modern/admin/old/datencheck.html | 228 -- templates/modern/admin/old/dokverw.html | 184 - templates/modern/admin/old/ergebnisse.html | 322 -- templates/modern/admin/old/kand_del.html | 142 - templates/modern/admin/old/liste_tn.html | 55 - templates/modern/admin/old/logout.html | 74 - templates/modern/admin/old/mail_test.html | 215 -- templates/modern/admin/old/parameter.html | 118 - .../modern/admin/old/praxisstellen_edit.html | 514 --- .../modern/admin/old/praxisstellen_news.html | 247 -- templates/modern/admin/old/rangliste2.html | 171 - templates/modern/admin/old/tanimport.html | 349 -- templates/modern/admin/old/termine.html_bcc | 439 --- .../modern/admin/old/termine_kandidat.html | 494 --- templates/modern/admin/old/upload.html | 484 --- templates/modern/admin/parameter.html | 118 - templates/modern/admin/qr_code.html | 276 -- templates/modern/admin/qr_frame.html | 20 - templates/modern/admin/result_latest.html | 116 - templates/modern/admin/sitz_koord.html | 34 - templates/modern/admin/sitzplatz.html | 936 ----- templates/modern/admin/survey_erfassen.html | 517 --- templates/modern/admin/survey_frame.html | 20 - templates/modern/admin/termine.html | 457 --- templates/modern/admin/titel.html | 43 - templates/modern/admin/unzugeordnet.html | 86 - templates/modern/admin/verwaltung_frame.html | 20 - templates/modern/admin/warteliste.html | 121 - templates/modern/admin/youtube_frame.html | 20 - ...e19fd56675ada4969120_0.file.login.html.php | 24 +- ...f2d1efb812d964_0.file.survey_edit.html.php | 22 +- ...f138efb32a5c5d_0.file.notenupload.html.php | 191 + ...c7e50fa536cf9cd1daac_0.file.index.html.php | 8 +- ...ad13a23515c6f17bc0b3_0.file.test2.html.php | 191 + ...4ad2d8777ef2d3d8c3a749_0.file.nav.html.php | 8 +- ...a48644369ad006edf9afb_0.file.test.html.php | 150 + ...ab33_0.file.passwortzuruecksetzen.html.php | 155 + ...7c759a16c2a7_0.file.result_latest.html.php | 181 + ...5ab198f9_0.file.passwortvergessen.html.php | 137 + ...2867cfe39b849c92a94_0.file.rollen.html.php | 16 +- ...7ce3b40e1d_0.file.rollenzuordnung.html.php | 160 + ...d86ba177b47f9b345b0_0.file.navtop.html.php | 10 +- 660 files changed, 1311 insertions(+), 31794 deletions(-) delete mode 100644 admin/#config.php delete mode 100644 admin/2022-01-12_unzugeordnet.php delete mode 100644 admin/administration_frame.php delete mode 100644 admin/fill_qr.php delete mode 100644 admin/gd_verwaltung.php delete mode 100644 admin/hauptframe.php delete mode 100644 admin/index.php delete mode 100644 admin/indexframe.php delete mode 100644 admin/liste_qr_name.php delete mode 100644 admin/liste_tn.php delete mode 100644 admin/logout.php delete mode 100644 admin/menu_administration.php delete mode 100644 admin/menu_qr.php delete mode 100644 admin/menu_survey.php delete mode 100644 admin/menu_verwaltung.php delete mode 100644 admin/menu_youtube.php delete mode 100644 admin/old/Import_CSV_Hogrefe.xlsx delete mode 100644 admin/old/bewerber_daten.php delete mode 100644 admin/old/datencheck.php delete mode 100644 admin/old/dokverw.php delete mode 100644 admin/old/downpdf.php delete mode 100644 admin/old/ergebnisse.php delete mode 100644 admin/old/fetch.php delete mode 100644 admin/old/kand_del.php delete mode 100644 admin/old/liste_tn.php delete mode 100644 admin/old/logout.php delete mode 100644 admin/old/mail_test.php delete mode 100644 admin/old/parameter.php delete mode 100644 admin/old/praxisstellen_edit.php delete mode 100644 admin/old/praxisstellen_news.php delete mode 100644 admin/old/prx_search.php delete mode 100644 admin/old/rangliste2.php delete mode 100644 admin/old/rangliste2_excel.php delete mode 100644 admin/old/save_note.php delete mode 100644 admin/old/tanimport.php delete mode 100644 admin/old/termine.php_bcc delete mode 100644 admin/old/termine_kandidat.php delete mode 100644 admin/old/test_csv.php delete mode 100644 admin/old/upload.php delete mode 100644 admin/parameter.php delete mode 100644 admin/phpqrcode/CHANGELOG delete mode 100644 admin/phpqrcode/INSTALL delete mode 100644 admin/phpqrcode/LICENSE delete mode 100644 admin/phpqrcode/README delete mode 100644 admin/phpqrcode/VERSION delete mode 100644 admin/phpqrcode/bindings/tcpdf/qrcode.php delete mode 100644 admin/phpqrcode/cache/frame_1.dat delete mode 100644 admin/phpqrcode/cache/frame_1.png delete mode 100644 admin/phpqrcode/cache/frame_10.dat delete mode 100644 admin/phpqrcode/cache/frame_10.png delete mode 100644 admin/phpqrcode/cache/frame_11.dat delete mode 100644 admin/phpqrcode/cache/frame_11.png delete mode 100644 admin/phpqrcode/cache/frame_12.dat delete mode 100644 admin/phpqrcode/cache/frame_12.png delete mode 100644 admin/phpqrcode/cache/frame_13.dat delete mode 100644 admin/phpqrcode/cache/frame_13.png delete mode 100644 admin/phpqrcode/cache/frame_14.dat delete mode 100644 admin/phpqrcode/cache/frame_14.png delete mode 100644 admin/phpqrcode/cache/frame_15.dat delete mode 100644 admin/phpqrcode/cache/frame_15.png delete mode 100644 admin/phpqrcode/cache/frame_16.dat delete mode 100644 admin/phpqrcode/cache/frame_16.png delete mode 100644 admin/phpqrcode/cache/frame_17.dat delete mode 100644 admin/phpqrcode/cache/frame_17.png delete mode 100644 admin/phpqrcode/cache/frame_18.dat delete mode 100644 admin/phpqrcode/cache/frame_18.png delete mode 100644 admin/phpqrcode/cache/frame_19.dat delete mode 100644 admin/phpqrcode/cache/frame_19.png delete mode 100644 admin/phpqrcode/cache/frame_2.dat delete mode 100644 admin/phpqrcode/cache/frame_2.png delete mode 100644 admin/phpqrcode/cache/frame_20.dat delete mode 100644 admin/phpqrcode/cache/frame_20.png delete mode 100644 admin/phpqrcode/cache/frame_21.dat delete mode 100644 admin/phpqrcode/cache/frame_21.png delete mode 100644 admin/phpqrcode/cache/frame_22.dat delete mode 100644 admin/phpqrcode/cache/frame_22.png delete mode 100644 admin/phpqrcode/cache/frame_23.dat delete mode 100644 admin/phpqrcode/cache/frame_23.png delete mode 100644 admin/phpqrcode/cache/frame_24.dat delete mode 100644 admin/phpqrcode/cache/frame_24.png delete mode 100644 admin/phpqrcode/cache/frame_25.dat delete mode 100644 admin/phpqrcode/cache/frame_25.png delete mode 100644 admin/phpqrcode/cache/frame_26.dat delete mode 100644 admin/phpqrcode/cache/frame_26.png delete mode 100644 admin/phpqrcode/cache/frame_27.dat delete mode 100644 admin/phpqrcode/cache/frame_27.png delete mode 100644 admin/phpqrcode/cache/frame_28.dat delete mode 100644 admin/phpqrcode/cache/frame_28.png delete mode 100644 admin/phpqrcode/cache/frame_29.dat delete mode 100644 admin/phpqrcode/cache/frame_29.png delete mode 100644 admin/phpqrcode/cache/frame_3.dat delete mode 100644 admin/phpqrcode/cache/frame_3.png delete mode 100644 admin/phpqrcode/cache/frame_30.dat delete mode 100644 admin/phpqrcode/cache/frame_30.png delete mode 100644 admin/phpqrcode/cache/frame_31.dat delete mode 100644 admin/phpqrcode/cache/frame_31.png delete mode 100644 admin/phpqrcode/cache/frame_32.dat delete mode 100644 admin/phpqrcode/cache/frame_32.png delete mode 100644 admin/phpqrcode/cache/frame_33.dat delete mode 100644 admin/phpqrcode/cache/frame_33.png delete mode 100644 admin/phpqrcode/cache/frame_34.dat delete mode 100644 admin/phpqrcode/cache/frame_34.png delete mode 100644 admin/phpqrcode/cache/frame_35.dat delete mode 100644 admin/phpqrcode/cache/frame_35.png delete mode 100644 admin/phpqrcode/cache/frame_36.dat delete mode 100644 admin/phpqrcode/cache/frame_36.png delete mode 100644 admin/phpqrcode/cache/frame_37.dat delete mode 100644 admin/phpqrcode/cache/frame_37.png delete mode 100644 admin/phpqrcode/cache/frame_38.dat delete mode 100644 admin/phpqrcode/cache/frame_38.png delete mode 100644 admin/phpqrcode/cache/frame_39.dat delete mode 100644 admin/phpqrcode/cache/frame_39.png delete mode 100644 admin/phpqrcode/cache/frame_4.dat delete mode 100644 admin/phpqrcode/cache/frame_4.png delete mode 100644 admin/phpqrcode/cache/frame_40.dat delete mode 100644 admin/phpqrcode/cache/frame_40.png delete mode 100644 admin/phpqrcode/cache/frame_5.dat delete mode 100644 admin/phpqrcode/cache/frame_5.png delete mode 100644 admin/phpqrcode/cache/frame_6.dat delete mode 100644 admin/phpqrcode/cache/frame_6.png delete mode 100644 admin/phpqrcode/cache/frame_7.dat delete mode 100644 admin/phpqrcode/cache/frame_7.png delete mode 100644 admin/phpqrcode/cache/frame_8.dat delete mode 100644 admin/phpqrcode/cache/frame_8.png delete mode 100644 admin/phpqrcode/cache/frame_9.dat delete mode 100644 admin/phpqrcode/cache/frame_9.png delete mode 100644 admin/phpqrcode/cache/mask_0/mask_101_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_105_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_109_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_113_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_117_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_121_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_125_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_129_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_133_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_137_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_141_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_145_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_149_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_153_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_157_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_161_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_165_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_169_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_173_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_177_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_21_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_25_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_29_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_33_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_37_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_41_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_45_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_49_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_53_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_57_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_61_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_65_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_69_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_73_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_77_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_81_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_85_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_89_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_93_0.dat delete mode 100644 admin/phpqrcode/cache/mask_0/mask_97_0.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_101_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_105_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_109_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_113_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_117_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_121_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_125_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_129_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_133_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_137_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_141_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_145_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_149_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_153_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_157_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_161_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_165_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_169_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_173_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_177_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_21_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_25_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_29_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_33_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_37_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_41_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_45_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_49_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_53_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_57_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_61_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_65_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_69_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_73_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_77_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_81_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_85_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_89_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_93_1.dat delete mode 100644 admin/phpqrcode/cache/mask_1/mask_97_1.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_101_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_105_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_109_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_113_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_117_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_121_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_125_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_129_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_133_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_137_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_141_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_145_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_149_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_153_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_157_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_161_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_165_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_169_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_173_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_177_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_21_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_25_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_29_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_33_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_37_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_41_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_45_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_49_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_53_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_57_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_61_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_65_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_69_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_73_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_77_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_81_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_85_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_89_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_93_2.dat delete mode 100644 admin/phpqrcode/cache/mask_2/mask_97_2.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_101_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_105_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_109_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_113_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_117_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_121_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_125_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_129_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_133_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_137_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_141_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_145_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_149_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_153_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_157_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_161_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_165_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_169_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_173_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_177_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_21_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_25_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_29_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_33_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_37_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_41_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_45_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_49_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_53_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_57_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_61_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_65_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_69_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_73_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_77_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_81_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_85_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_89_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_93_3.dat delete mode 100644 admin/phpqrcode/cache/mask_3/mask_97_3.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_101_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_105_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_109_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_113_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_117_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_121_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_125_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_129_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_133_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_137_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_141_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_145_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_149_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_153_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_157_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_161_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_165_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_169_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_173_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_177_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_21_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_25_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_29_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_33_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_37_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_41_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_45_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_49_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_53_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_57_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_61_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_65_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_69_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_73_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_77_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_81_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_85_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_89_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_93_4.dat delete mode 100644 admin/phpqrcode/cache/mask_4/mask_97_4.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_101_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_105_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_109_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_113_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_117_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_121_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_125_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_129_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_133_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_137_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_141_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_145_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_149_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_153_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_157_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_161_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_165_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_169_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_173_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_177_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_21_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_25_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_29_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_33_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_37_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_41_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_45_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_49_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_53_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_57_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_61_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_65_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_69_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_73_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_77_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_81_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_85_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_89_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_93_5.dat delete mode 100644 admin/phpqrcode/cache/mask_5/mask_97_5.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_101_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_105_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_109_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_113_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_117_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_121_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_125_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_129_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_133_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_137_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_141_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_145_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_149_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_153_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_157_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_161_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_165_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_169_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_173_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_177_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_21_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_25_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_29_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_33_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_37_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_41_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_45_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_49_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_53_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_57_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_61_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_65_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_69_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_73_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_77_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_81_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_85_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_89_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_93_6.dat delete mode 100644 admin/phpqrcode/cache/mask_6/mask_97_6.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_101_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_105_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_109_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_113_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_117_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_121_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_125_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_129_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_133_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_137_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_141_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_145_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_149_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_153_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_157_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_161_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_165_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_169_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_173_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_177_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_21_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_25_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_29_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_33_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_37_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_41_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_45_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_49_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_53_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_57_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_61_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_65_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_69_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_73_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_77_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_81_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_85_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_89_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_93_7.dat delete mode 100644 admin/phpqrcode/cache/mask_7/mask_97_7.dat delete mode 100644 admin/phpqrcode/index.php delete mode 100644 admin/phpqrcode/phpqrcode.php delete mode 100644 admin/phpqrcode/qrbitstream.php delete mode 100644 admin/phpqrcode/qrconfig.php delete mode 100644 admin/phpqrcode/qrconst.php delete mode 100644 admin/phpqrcode/qrencode.php delete mode 100644 admin/phpqrcode/qrimage.php delete mode 100644 admin/phpqrcode/qrinput.php delete mode 100644 admin/phpqrcode/qrlib.php delete mode 100644 admin/phpqrcode/qrmask.php delete mode 100644 admin/phpqrcode/qrrscode.php delete mode 100644 admin/phpqrcode/qrspec.php delete mode 100644 admin/phpqrcode/qrsplit.php delete mode 100644 admin/phpqrcode/qrtools.php delete mode 100644 admin/phpqrcode/temp/415.png delete mode 100644 admin/phpqrcode/temp/416.png delete mode 100644 admin/phpqrcode/temp/417.png delete mode 100644 admin/phpqrcode/temp/418.png delete mode 100644 admin/phpqrcode/temp/420.png delete mode 100644 admin/phpqrcode/temp/421.png delete mode 100644 admin/phpqrcode/temp/433.png delete mode 100644 admin/phpqrcode/temp/434.png delete mode 100644 admin/phpqrcode/temp/435.png delete mode 100644 admin/phpqrcode/temp/436.png delete mode 100644 admin/phpqrcode/temp/465.png delete mode 100644 admin/phpqrcode/temp/466.png delete mode 100644 admin/phpqrcode/temp/468.png delete mode 100644 admin/phpqrcode/temp/469.png delete mode 100644 admin/phpqrcode/temp/471.png delete mode 100644 admin/phpqrcode/temp/472.png delete mode 100644 admin/phpqrcode/temp/473.png delete mode 100644 admin/phpqrcode/temp/501.png delete mode 100644 admin/phpqrcode/temp/502.png delete mode 100644 admin/phpqrcode/temp/505.png delete mode 100644 admin/phpqrcode/temp/512.png delete mode 100644 admin/phpqrcode/temp/513.png delete mode 100644 admin/phpqrcode/temp/514.png delete mode 100644 admin/phpqrcode/temp/515.png delete mode 100644 admin/phpqrcode/temp/519.png delete mode 100644 admin/phpqrcode/temp/520.png delete mode 100644 admin/phpqrcode/temp/521.png delete mode 100644 admin/phpqrcode/temp/522.png delete mode 100644 admin/phpqrcode/temp/523.png delete mode 100644 admin/phpqrcode/temp/524.png delete mode 100644 admin/phpqrcode/temp/525.png delete mode 100644 admin/phpqrcode/temp/526.png delete mode 100644 admin/phpqrcode/temp/527.png delete mode 100644 admin/phpqrcode/temp/528.png delete mode 100644 admin/phpqrcode/temp/547.png delete mode 100644 admin/phpqrcode/temp/548.png delete mode 100644 admin/phpqrcode/temp/549.png delete mode 100644 admin/phpqrcode/temp/550.png delete mode 100644 admin/phpqrcode/temp/551.png delete mode 100644 admin/phpqrcode/temp/552.png delete mode 100644 admin/phpqrcode/temp/553.png delete mode 100644 admin/phpqrcode/temp/554.png delete mode 100644 admin/phpqrcode/temp/555.png delete mode 100644 admin/phpqrcode/temp/560.png delete mode 100644 admin/phpqrcode/temp/561.png delete mode 100644 admin/phpqrcode/temp/562.png delete mode 100644 admin/phpqrcode/temp/565.png delete mode 100644 admin/phpqrcode/temp/566.png delete mode 100644 admin/phpqrcode/temp/567.png delete mode 100644 admin/phpqrcode/temp/568.png delete mode 100644 admin/phpqrcode/temp/569.png delete mode 100644 admin/phpqrcode/temp/570.png delete mode 100644 admin/phpqrcode/temp/571.png delete mode 100644 admin/phpqrcode/temp/572.png delete mode 100644 admin/phpqrcode/temp/573.png delete mode 100644 admin/phpqrcode/temp/579.png delete mode 100644 admin/phpqrcode/temp/580.png delete mode 100644 admin/phpqrcode/temp/581.png delete mode 100644 admin/phpqrcode/temp/582.png delete mode 100644 admin/phpqrcode/temp/584.png delete mode 100644 admin/phpqrcode/temp/6038.png delete mode 100644 admin/phpqrcode/temp/614.png delete mode 100644 admin/phpqrcode/temp/615.png delete mode 100644 admin/phpqrcode/temp/6174.png delete mode 100644 admin/phpqrcode/temp/6175.png delete mode 100644 admin/phpqrcode/temp/6176.png delete mode 100644 admin/phpqrcode/temp/6177.png delete mode 100644 admin/phpqrcode/temp/6178.png delete mode 100644 admin/phpqrcode/temp/6179.png delete mode 100644 admin/phpqrcode/temp/6180.png delete mode 100644 admin/phpqrcode/temp/6181.png delete mode 100644 admin/phpqrcode/temp/6182.png delete mode 100644 admin/phpqrcode/temp/619.png delete mode 100644 admin/phpqrcode/temp/620.png delete mode 100644 admin/phpqrcode/temp/6232.png delete mode 100644 admin/phpqrcode/temp/927.png delete mode 100644 admin/phpqrcode/temp/928.png delete mode 100644 admin/phpqrcode/temp/929.png delete mode 100644 admin/phpqrcode/temp/930.png delete mode 100644 admin/phpqrcode/temp/931.png delete mode 100644 admin/phpqrcode/temp/932.png delete mode 100644 admin/phpqrcode/temp/933.png delete mode 100644 admin/phpqrcode/temp/934.png delete mode 100644 admin/phpqrcode/temp/935.png delete mode 100644 admin/phpqrcode/temp/936.png delete mode 100644 admin/phpqrcode/temp/937.png delete mode 100644 admin/phpqrcode/temp/938.png delete mode 100644 admin/phpqrcode/temp/939.png delete mode 100644 admin/phpqrcode/temp/940.png delete mode 100644 admin/phpqrcode/temp/941.png delete mode 100644 admin/phpqrcode/temp/942.png delete mode 100644 admin/phpqrcode/temp/943.png delete mode 100644 admin/phpqrcode/temp/944.png delete mode 100644 admin/phpqrcode/temp/945.png delete mode 100644 admin/phpqrcode/temp/946.png delete mode 100644 admin/phpqrcode/temp/947.png delete mode 100644 admin/phpqrcode/temp/948.png delete mode 100644 admin/phpqrcode/temp/949.png delete mode 100644 admin/phpqrcode/temp/950.png delete mode 100644 admin/phpqrcode/temp/951.png delete mode 100644 admin/phpqrcode/temp/952.png delete mode 100644 admin/phpqrcode/temp/953.png delete mode 100644 admin/phpqrcode/temp/954.png delete mode 100644 admin/phpqrcode/temp/955.png delete mode 100644 admin/phpqrcode/temp/956.png delete mode 100644 admin/phpqrcode/temp/957.png delete mode 100644 admin/phpqrcode/temp/958.png delete mode 100644 admin/phpqrcode/temp/959.png delete mode 100644 admin/phpqrcode/temp/960.png delete mode 100644 admin/phpqrcode/tools/merge.bat delete mode 100644 admin/phpqrcode/tools/merge.php delete mode 100644 admin/phpqrcode/tools/merge.sh delete mode 100644 admin/phpqrcode/tools/merged_config.php delete mode 100644 admin/phpqrcode/tools/merged_header.php delete mode 100644 admin/qr_code.php delete mode 100644 admin/qr_frame.php delete mode 100644 admin/result_latest.php delete mode 100644 admin/save_platz.php delete mode 100644 admin/sitz_koord.php delete mode 100644 admin/sitzplatz.php delete mode 100644 admin/sort_table.html delete mode 100644 admin/sort_table.php delete mode 100644 admin/survey_erfassen.php delete mode 100644 admin/survey_frame.php delete mode 100644 admin/termine.php delete mode 100644 admin/titel.php delete mode 100644 admin/unzugeordnet.php delete mode 100644 admin/verwaltung_frame.php delete mode 100644 admin/warteliste.php delete mode 100644 admin/youtube_frame.php create mode 100644 dashboard/#upload.php create mode 100644 dashboard/test.php create mode 100644 jquery/jquery.cycle.all.min.js create mode 100644 media/file_upload/noten/20230331_130027_Referendenbesprechung.txt create mode 100644 media/file_upload/noten/20230331_130029_Nebentaetigkeit_Jaehresmeldung.pdf create mode 100644 media/file_upload/noten/20230331_130159_Referendenbesprechung.txt create mode 100644 media/file_upload/noten/20230331_130201_Nebentaetigkeit_Jaehresmeldung.pdf create mode 100644 media/file_upload/noten/20230331_130652_Nebentaetigkeit_Jaehresmeldung.pdf create mode 100644 media/file_upload/noten/20230331_130857_Referendenbesprechung.txt create mode 100644 media/file_upload/noten/20230331_130859_Nebentaetigkeit_Jaehresmeldung.pdf create mode 100644 media/file_upload/noten/20230331_130901_Uebersicht_Datenbanken_C7000.pptx delete mode 100644 templates/modern/admin/2022-01-12_sitz_koord.html delete mode 100644 templates/modern/admin/2022-01-12_sitzplatz.html delete mode 100644 templates/modern/admin/2022-01-12_unzugeordnet.html delete mode 100644 templates/modern/admin/administration_frame.html delete mode 100644 templates/modern/admin/gd_verwaltung.html delete mode 100644 templates/modern/admin/hauptframe.html delete mode 100644 templates/modern/admin/index.html delete mode 100644 templates/modern/admin/indexframe.html delete mode 100644 templates/modern/admin/liste_qr_name.html delete mode 100644 templates/modern/admin/liste_tn.html delete mode 100644 templates/modern/admin/logout.html delete mode 100644 templates/modern/admin/menu_administration.html delete mode 100644 templates/modern/admin/menu_qr.html delete mode 100644 templates/modern/admin/menu_survey.html delete mode 100644 templates/modern/admin/menu_verwaltung.html delete mode 100644 templates/modern/admin/menu_youtube.html delete mode 100644 templates/modern/admin/old/bewerber_daten.html delete mode 100644 templates/modern/admin/old/datencheck.html delete mode 100644 templates/modern/admin/old/dokverw.html delete mode 100644 templates/modern/admin/old/ergebnisse.html delete mode 100644 templates/modern/admin/old/kand_del.html delete mode 100644 templates/modern/admin/old/liste_tn.html delete mode 100644 templates/modern/admin/old/logout.html delete mode 100644 templates/modern/admin/old/mail_test.html delete mode 100644 templates/modern/admin/old/parameter.html delete mode 100644 templates/modern/admin/old/praxisstellen_edit.html delete mode 100644 templates/modern/admin/old/praxisstellen_news.html delete mode 100644 templates/modern/admin/old/rangliste2.html delete mode 100644 templates/modern/admin/old/tanimport.html delete mode 100644 templates/modern/admin/old/termine.html_bcc delete mode 100644 templates/modern/admin/old/termine_kandidat.html delete mode 100644 templates/modern/admin/old/upload.html delete mode 100644 templates/modern/admin/parameter.html delete mode 100644 templates/modern/admin/qr_code.html delete mode 100644 templates/modern/admin/qr_frame.html delete mode 100644 templates/modern/admin/result_latest.html delete mode 100644 templates/modern/admin/sitz_koord.html delete mode 100644 templates/modern/admin/sitzplatz.html delete mode 100644 templates/modern/admin/survey_erfassen.html delete mode 100644 templates/modern/admin/survey_frame.html delete mode 100644 templates/modern/admin/termine.html delete mode 100644 templates/modern/admin/titel.html delete mode 100644 templates/modern/admin/unzugeordnet.html delete mode 100644 templates/modern/admin/verwaltung_frame.html delete mode 100644 templates/modern/admin/warteliste.html delete mode 100644 templates/modern/admin/youtube_frame.html create mode 100644 templates_c/57c9edec298bae2fa93bf23cb3f138efb32a5c5d_0.file.notenupload.html.php create mode 100644 templates_c/73fc7d922bf5deb481c3ad13a23515c6f17bc0b3_0.file.test2.html.php create mode 100644 templates_c/9793bc7af7a2622ce56a48644369ad006edf9afb_0.file.test.html.php create mode 100644 templates_c/97b09287298e63f520acba34eb2efc9072afab33_0.file.passwortzuruecksetzen.html.php create mode 100644 templates_c/b4e5602d446d8313d97ced0388207c759a16c2a7_0.file.result_latest.html.php create mode 100644 templates_c/b8d83054e878b1b922a1d5a1ae19f6455ab198f9_0.file.passwortvergessen.html.php create mode 100644 templates_c/f02f612a58f5c0c7ba21b9cb396a727ce3b40e1d_0.file.rollenzuordnung.html.php diff --git a/admin/#config.php b/admin/#config.php deleted file mode 100644 index 8c477c9..0000000 --- a/admin/#config.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php -#error_reporting(0); -define('DB_NAME', 'survey'); -define('DB_USER', 'root'); -define('DB_PASSWORD', ''); -define('DB_HOST', 'localhost'); - -// Create connection -$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); -// Check connection -if ($db->connect_error) { - die("Connection failed: " . $db->connect_error); -} -?> \ No newline at end of file diff --git a/admin/2022-01-12_unzugeordnet.php b/admin/2022-01-12_unzugeordnet.php deleted file mode 100644 index a0dda3e..0000000 --- a/admin/2022-01-12_unzugeordnet.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - -$termin = $_GET['tid']; -if ($action == '') { - - $query1 = "SELECT lfd_haushalt, count(*) Anz - FROM gd_buchung - WHERE reihe = '' - AND tid = $termin - GROUP BY lfd_haushalt"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $value2 = ''; - $mehrfachbelegung = trim(get_parameter(6)); - if($mehrfachbelegung == 0){ - $query2 = "SELECT reihe, platz - FROM gd_verfplaetze - WHERE concat(reihe,platz) not in (select concat(reihe,platz) from gd_buchung where tid=$termin and lfd_haushalt!=$row1[lfd_haushalt]) - AND reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - }else{ - $query2 = "SELECT reihe, platz - FROM gd_verfplaetze - WHERE reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - } - $result2 = $db->query( $query2) - or die ("Cannot execute query2"); - - $ln2 = 0; - while ($row2 = $result2->fetch_array()){ - $inner1[$ln2]['reihe'] = $row2['reihe']; - $inner1[$ln2]['platz'] = $row2['platz']; - $value2 = $inner1; - $ln2++; - } - - - $query_name = $db->query("SELECT bid, vorname, nachname - FROM gd_buchung - WHERE reihe = '' - AND lfd_haushalt= $row1[lfd_haushalt] - AND tid = $termin - ORDER BY bid - LIMIT 1"); - $row_name = $query_name->fetch_array(); - - $row1['inner'] = $value2; - $row1['tid'] = $termin; - $row1['vorname'] = $row_name['vorname']; - $row1['nachname'] = $row_name['nachname']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/administration_frame.php b/admin/administration_frame.php deleted file mode 100644 index d5b323a..0000000 --- a/admin/administration_frame.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/fill_qr.php b/admin/fill_qr.php deleted file mode 100644 index edd650e..0000000 --- a/admin/fill_qr.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } - -require_once("../config.inc.php"); - - $query3 = "SELECT id, nachname, vorname - FROM jumi_qr_fellbach - WHERE mail =''"; - - $result3 = $db->query($query3) or die("Cannot execute query3"); - - while ($row3 = $result3->fetch_array()) { - $result1 = $db->query("SELECT mail - FROM jumi_buchung - WHERE nachname='$row3[nachname]' - AND vorname='$row3[vorname]' - AND mail != '' - ORDER BY bid DESC - LIMIT 1"); - $row1 = $result1->fetch_array(); - $update = $db->query("UPDATE jumi_qr_fellbach - SET mail ='$row1[mail]' - WHERE id = $row3[id] - "); - } -?> diff --git a/admin/gd_verwaltung.php b/admin/gd_verwaltung.php deleted file mode 100644 index 2dee45c..0000000 --- a/admin/gd_verwaltung.php +++ /dev/null @@ -1,565 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_sitzplatz.php"); -require_once("../func_get_lfd_haushalt.php"); -require_once("../func_get_parameter.php"); -require_once("../func_kritische_haushalte.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { -$termin = $_GET['tid']; - -$_SESSION["termin"] = $termin; - - $result1 = $db->query("SELECT COUNT(*) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row1 = $result1->fetch_array(); - $smarty->assign('verwaltung_anzges', $row1['Anz']); - - $result2 = $db->query("SELECT COUNT(distinct lfd_haushalt) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row2 = $result2->fetch_array(); - $smarty->assign('verwaltung_lfd_haushalte', $row2['Anz']); - $smarty->assign('verwaltung_kritischemarke', get_parameter(2)); - - # Gesperrt? - $result3 = $db->query("SELECT loginstop, date_format(loginstop, '%d.%m.%Y - %H:%i') dateform - FROM jumi_termine - WHERE tid=$termin"); - $row3 = $result3->fetch_array(); - if($row3['loginstop'] != '0000-00-00 00:00:00'){ - $sperrung = "1"; - $smarty->assign('verwaltung_sperrdat', $row3['dateform']); - }else{ - $sperrung = "0"; - } - $smarty->assign('verwaltung_sperrung', $sperrung); - - - - $query3 = "SELECT bid, nachname, vorname - FROM jumi_buchung - WHERE tid = $termin - ORDER BY nachname, vorname"; - - $result3 = $db->query($query3) or die("Cannot execute query3"); - - while ($row3 = $result3->fetch_array()) { - $table_data1[] = $row3; - } - $smarty->assign('table_data1', $table_data1); - - ## Fehlerhandling - $error1 = $_GET['error1']; - - $smarty->assign('verwaltung_value_nachname1', $_SESSION["nachname1"]); - $smarty->assign('verwaltung_value_vorname1', $_SESSION["vorname1"]); - $smarty->assign('verwaltung_value_nachname2', $_SESSION["nachname2"]); - $smarty->assign('verwaltung_value_vorname2', $_SESSION["vorname2"]); - $smarty->assign('verwaltung_value_nachname3', $_SESSION["nachname3"]); - $smarty->assign('verwaltung_value_vorname3', $_SESSION["vorname3"]); - $smarty->assign('verwaltung_value_nachname4', $_SESSION["nachname4"]); - $smarty->assign('verwaltung_value_vorname4', $_SESSION["vorname4"]); - $smarty->assign('verwaltung_value_nachname5', $_SESSION["nachname5"]); - $smarty->assign('verwaltung_value_mail', $_SESSION["mail"]); - $smarty->assign('verwaltung_value_vorname5', $_SESSION["vorname5"]); - - if($error1 == 1){ - $smarty->assign('verwaltung_error', 1); - $smarty->assign('verwaltung_error_text', 'Sie müssen zumindest eine Person erfassen.'); - } -} - -if ($action == 'del') { - - $bid = $_POST['del']; - $termin = $_SESSION["termin"]; - $_SESSION["sabmelde_bid"] = $bid; - - $result = $db->query("SELECT count(*) Anz - FROM jumi_buchung - WHERE bid = $bid - AND tid = $termin"); - $row = $result->fetch_array(); - - if($row['Anz'] == 0 or $row['Anz'] >1){ - $smarty->assign('abmelde_error', 1); - }else{ - $smarty->assign('abmelde_error', 0); - - - $query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis - FROM jumi_termine - WHERE tid = $termin - LIMIT 1 - "); - $row_termin = $query_termin->fetch_array(); - $smarty->assign('abmelde_termin', $row_termin['beginn']); - $_SESSION["sabmelde_termin"] = $row_termin['beginn']; - - $result_name = $db->query("SELECT nachname, vorname - FROM jumi_buchung - WHERE bid = $bid"); - $row_name = $result_name->fetch_array(); - $smarty->assign('abmelde_vorname', $row_name['vorname']); - $smarty->assign('abmelde_nachname', $row_name['nachname']); - $_SESSION["sabmelde_vorname"] = $row_name['vorname']; - $_SESSION["sabmelde_nachname"] = $row_name['nachname']; - } -} - -if ($action == 'del2') { - $bid = $_SESSION["sabmelde_bid"]; - $antwort = $_GET['antwort']; - $termin = $_SESSION["sabmelde_termin"]; - $tid = $_SESSION["termin"]; - $vorname = $_SESSION["sabmelde_vorname"]; - $nachname = $_SESSION["sabmelde_nachname"]; - - # Platz herausfinden, für automatischen reload - $result_name = $db->query("SELECT concat(reihe,platz) iframe - FROM jumi_buchung - WHERE bid = $bid - AND vorname = '$vorname' - AND nachname = '$nachname'"); - $row_name = $result_name->fetch_array(); - - if($row_name['iframe'] == ''){ - $iframe = "unzugeordnet"; - }else{ - $iframe = $row_name['iframe']; - } - $smarty->assign('iframe', "$iframe"); - - if($antwort == 'Y'){ - $sql1 = $db->query("DELETE FROM jumi_buchung WHERE bid = $bid"); - $ausgabe = "Sie haben $vorname $nachname vom Gottesdienst am $termin Uhr abgemeldet"; - }else{ - $ausgabe = "Sie haben $vorname $nachname vom Gottesdienst am $termin Uhr <b>NICHT</b> abgemeldet"; - } - - echo "<meta http-equiv=\"refresh\" content=\"2; URL=?tid=$tid\">"; - - $smarty->assign('abmelde_ausgabe', $ausgabe); - -} - - -if ($action == 'save') { - - if(isset($_POST['nachname1'])){ - $nachname1 = trim($_POST['nachname1']); - }else{ - $nachname1 = $_SESSION["nachname1"]; - } - - if(isset($_POST['vorname1'])){ - $vorname1 = trim($_POST['vorname1']); - }else{ - $vorname1 = $_SESSION["vorname1"]; - } - - if(isset($_POST['nachname2'])){ - $nachname2 = trim($_POST['nachname2']); - }else{ - $nachname2 = $_SESSION["nachname2"]; - } - - if(isset($_POST['vorname2'])){ - $vorname2 = trim($_POST['vorname2']); - }else{ - $vorname2 = $_SESSION["vorname2"]; - } - - if(isset($_POST['nachname3'])){ - $nachname3 = trim($_POST['nachname3']); - }else{ - $nachname3 = $_SESSION["nachname3"]; - } - - if(isset($_POST['vorname3'])){ - $vorname3 = trim($_POST['vorname3']); - }else{ - $vorname3 = $_SESSION["vorname3"]; - } - - if(isset($_POST['nachname4'])){ - $nachname4 = trim($_POST['nachname4']); - }else{ - $nachname4 = $_SESSION["nachname4"]; - } - - if(isset($_POST['vorname4'])){ - $vorname4 = trim($_POST['vorname4']); - }else{ - $vorname4 = $_SESSION["vorname4"]; - } - - if(isset($_POST['nachname5'])){ - $nachname5 = trim($_POST['nachname5']); - }else{ - $nachname5 = $_SESSION["nachname5"]; - } - - if(isset($_POST['vorname5'])){ - $vorname5 = trim($_POST['vorname5']); - }else{ - $vorname5 = $_SESSION["vorname5"]; - } - - if(isset($_POST['mail'])){ - $mail = trim($_POST['mail']); - }else{ - $mail = $_SESSION["mail"]; - } - $_SESSION["nachname1"] = $nachname1; - $_SESSION["vorname1"] = $vorname1; - $_SESSION["nachname2"] = $nachname2; - $_SESSION["vorname2"] = $vorname2; - $_SESSION["nachname3"] = $nachname3; - $_SESSION["vorname3"] = $vorname3; - $_SESSION["nachname4"] = $nachname4; - $_SESSION["vorname4"] = $vorname4; - $_SESSION["nachname5"] = $nachname5; - $_SESSION["vorname5"] = $vorname5; - $_SESSION["mail"] = $mail; - $termin = $_SESSION["termin"]; - - if ($nachname1 == '' AND $nachname2 == '' AND $nachname3 == '' AND $nachname4 == '' AND $nachname5 == '') { - $error1=1; - $error=true; - } - - if(isset($error)){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=?&error1=$error1&tid=$termin\">"; - exit; - } - -if(isset($termin)){ - $lfd_haushalt = get_lfd_haushalt($termin); - $datum=date("Y-m-d H:i:s"); - - if($nachname1 != ''){ - $sitzplatz1 = get_sitzplatz($nachname1, $vorname1); - $split1 = explode("|", $sitzplatz1); - $reihe1 = $split1[0]; - $platz1 = $split1[1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname1', '$vorname1', '$reihe1', '$platz1', '$mail', '$lfd_haushalt', '$datum')"); - $bid1 = $db->insert_id; - $crypt1 = cryption("$bid1|$nachname1|$termin", 'e'); - if($reihe1!=''){ - $smarty->assign('iframe1', "$reihe1$platz1"); - }else{ - $smarty->assign('iframe1', "unzugeordnet"); - } - - } - if($nachname2 != ''){ - $sitzplatz2 = get_sitzplatz($nachname2, $vorname2); - $split2 = explode("|", $sitzplatz2); - $reihe2 = $split2[0]; - $platz2 = $split2[1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname2', '$vorname2', '$reihe2', '$platz2', '$mail', '$lfd_haushalt', '$datum')"); - $bid2 = $db->insert_id; - $crypt2 = cryption("$bid2|$nachname2|$termin", 'e'); - if($reihe2!=''){ - $smarty->assign('iframe2', "$reihe2$platz2"); - }else{ - $smarty->assign('iframe2', "unzugeordnet"); - } - } - if($nachname3 != ''){ - $sitzplatz3 = get_sitzplatz($nachname3, $vorname3); - $split3 = explode("|", $sitzplatz3); - $reihe3 = $split3[0]; - $platz3 = $split3[1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname3', '$vorname3', '$reihe3', '$platz3', '$mail', '$lfd_haushalt', '$datum')"); - $bid3 = $db->insert_id; - $crypt3 = cryption("$bid3|$nachname3|$termin", 'e'); - if($reihe3!=''){ - $smarty->assign('iframe3', "$reihe3$platz3"); - }else{ - $smarty->assign('iframe3', "unzugeordnet"); - } - } - if($nachname4 != ''){ - $sitzplatz4 = get_sitzplatz($nachname4, $vorname4); - $split4 = explode("|", $sitzplatz4); - $reihe4 = $split4[0]; - $platz4 = $split4[1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname4', '$vorname4', '$reihe4', '$platz4', '$mail', '$lfd_haushalt', '$datum')"); - $bid4 = $db->insert_id; - $crypt4 = cryption("$bid4|$nachname4|$termin", 'e'); - if($reihe4!=''){ - $smarty->assign('iframe4', "$reihe4$platz4"); - }else{ - $smarty->assign('iframe4', "unzugeordnet"); - } - } - if($nachname5 != ''){ - $sitzplatz5 = get_sitzplatz($nachname5, $vorname5); - $split5 = explode("|", $sitzplatz5); - $reihe5 = $split5[0]; - $platz5 = $split5[1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname5', '$vorname5', '$reihe5', '$platz5', '$mail', '$lfd_haushalt', '$datum')"); - $bid5 = $db->insert_id; - $crypt5 = cryption("$bid5|$nachname5|$termin", 'e'); - if($reihe5!=''){ - $smarty->assign('iframe5', "$reihe5$platz5"); - }else{ - $smarty->assign('iframe5', "unzugeordnet"); - } - } -#Anzahl der gemeldeten Haushalte überschritten? -kritische_haushalte($termin); - -} - - -if(isset($_SESSION["mail"]) AND $mail !=''){ - - - $query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis - FROM jumi_termine - WHERE tid = $termin - LIMIT 1 - "); - $row_termin = $query_termin->fetch_array(); - - $empfaenger = "$mail"; - $betreff = "Registrierung zum Gottesdienst am $row_termin[beginn] Uhr"; - $text = " - <html> - <head> - <title>Registrierung zum Gottesdienst</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - Sie haben sich zum Gottesdienst in der neuapostolischen Kirche Weinstadt-Beutelsbach registriert.<br> - Nachfolgend finden Sie die hinterlegten Daten: - <br> - <br> - <table> - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Datum:</b> - </font> - </td> - <td valign='top' colspan='2'> - <font face='Arial' size='2'> - $row_termin[beginn]";if($row_termin['hinweis'] != ''){ $text .=" ($row_termin[hinweis])";} - $text.=" - </font> - </td> - </tr> - <tr> - <td valign='top' width='100'> - - </td> - <td valign='top'> - - </td> - <td valign='top'> - - </td> - </tr> - "; - if($nachname1 != ''){ - $text .=" - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person 1:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname1, $vorname1 - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt1'>Abmeldung</a> - </td> - </tr>"; - } - if($nachname2 != ''){ - $text .=" - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person 2:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname2, $vorname2 - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt2'>Abmeldung</a> - </td> - </tr>"; - } - if($nachname3 != ''){ - $text .=" - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person 3:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname3, $vorname3 - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt3'>Abmeldung</a> - </td> - </tr>"; - } - if($nachname4 != ''){ - $text .=" - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person 4:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname4, $vorname4 - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt4'>Abmeldung</a> - </td> - </tr>"; - } - if($nachname5 != ''){ - $text .=" - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person 5:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname5, $vorname5 - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt5'>Abmeldung</a> - </td> - </tr>"; - } - $text .=" - - </table> - <br> - Link zur Registrierung: <a href=\"http://gd.nak-btb.de\">Registrierung zum Gottesdienst</a> - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - - - $text = stripslashes($text); - $headers = "MIME-Version: 1.0\n"; - #$headers .= "Content-type: text/html; charset=iso-8859-1\n"; - $headers .= "Content-type: text/html; charset=utf-8\n"; - $headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n"; - #$headers .= "Bcc: \n"; - - $return = @mail($empfaenger, $betreff, $text, $headers); -} - - - echo "<meta http-equiv=\"refresh\" content=\"2; URL=?tid=$termin\">"; - -} - - -if ($action == 'sperrung') { - # 0 --> öffnen - # 1 --> sperren - $aktion = $_GET['aktion']; - $termin = $_SESSION["termin"]; - $datum = date("Y-m-d H:i:s"); - - if($aktion == 0){ - $update = $db->query("UPDATE jumi_termine - SET loginstop ='0000-00-00 00:00:00' - WHERE tid = $termin - "); - } - if($aktion == 1){ - $update = $db->query("UPDATE jumi_termine - SET loginstop ='$datum' - WHERE tid = $termin - "); - } - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=?tid=$termin\">"; -} -if ($action == 'resetstandard') { - $termin = $_SESSION["termin"]; - # Alle löschen zum Termin, die einen Standardplatz haben laut Liste - $update = $db->query("UPDATE jumi_buchung - SET reihe='$reihe' - ,platz='$platz' - WHERE tid=$termin - "); - - $query3 = "SELECT bid, nachname, vorname - FROM jumi_buchung - WHERE tid = $termin - ORDER BY nachname, vorname"; - - $result3 = $db->query($query3) or die("Cannot execute query3"); - - while ($row3 = $result3->fetch_array()) { - $reihe = ""; - $platz = ""; - $vorname = $row3['vorname']; - $nachname = $row3['nachname']; - $sitzplatz = get_sitzplatz($nachname, $vorname); - $split = explode("|", $sitzplatz); - $reihe = $split[0]; - $platz = $split[1]; - if ($reihe != ''){ - $update = $db->query("UPDATE jumi_buchung - SET reihe='$reihe' - ,platz='$platz' - WHERE bid = $row3[bid] - AND tid=$termin - "); - } - } - # Refresh der Ansicht - echo "<script>window.parent.location.href = \"sitzplatz.php?action=edit&tid=$termin\";</script>"; -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/hauptframe.php b/admin/hauptframe.php deleted file mode 100644 index d5b323a..0000000 --- a/admin/hauptframe.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/index.php b/admin/index.php deleted file mode 100644 index 12aaa65..0000000 --- a/admin/index.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php -## INDEX gegen DB -if(!isset($_SESSION)) { session_start(); } - -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -require_once("../config/datenbankanbindung.php"); -$smarty = new SmartyAdmin(); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -require_once "../language/german.inc.php"; - - -$action = $_GET['action']; -if($action == ''){ - if(isset($_GET['error'])){ - - $errorno = $_GET['error']; - - $smarty->assign('index_error', 1); - - if($errorno == 1){ - $smarty->assign('index_error_text', "Es müssen alle Felder ausgefüllt werden"); - } - - if($errorno == 2){ - $smarty->assign('index_error_text', "Der Benutzername ist im System nicht vorhanden"); - } - - if($errorno == 3){ - $smarty->assign('index_error_text', "Der Benutzername oder das Passwort ist nicht korrekt."); - } - - # Daten aufbereiten bei Fehler - if(isset($_SESSION["global_username"])){ - $smarty->assign('index_user', $_SESSION["global_username"]); - } - } - - -} - -if($action == 'anmeld'){ - $username=strtoupper($_POST["user"]); //remove case sensitivity on the username - $password=$_POST["password"]; - - if($_POST["user"] != ""){ - $_SESSION["global_username"]=$username; - } - - if($username == "" OR $password == ""){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=1\">"; - }else{ - - - $db = dbconnect(); - $result = $db->query("SELECT bpmuid, uid, passwort FROM jumi_admin WHERE UPPER(uid)='$username'"); - $row = $result->fetch_array(); - - - if ($username != strtoupper($row['uid'])) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=2\">"; - } - // Passwort falsch - elseif (md5($password) != $row['passwort']){ //verschlüsseltes Passwort überprüfen - # Cookies werden bereits gesetzt, falls sich jemand ein passwort zusenden lässt. - $_SESSION["global_uid"] = $row['bpmuid']; - $_SESSION["global_username"] = $row['uid']; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?error=3\">"; - }else{ - $db = dbconnect(); - $datum=date("Y-m-d H:i:s"); - $ip=getenv("REMOTE_ADDR"); - $agent=getenv("HTTP_USER_AGENT"); - $user_admin = $row['bpmuid']; - $_SESSION["global_uid"] = $user_admin; - $_SESSION["global_username"] = $row['uid']; - $result_1 = $db->query("INSERT INTO jumi_adminlog (Datum, IP, user_agent, bpmuid) VALUES ('$datum', '$ip', '$agent', '$user_admin')"); - $smarty->assign('index_login', "1"); - } - } - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/indexframe.php b/admin/indexframe.php deleted file mode 100644 index ced4e83..0000000 --- a/admin/indexframe.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/liste_qr_name.php b/admin/liste_qr_name.php deleted file mode 100644 index 4ca52df..0000000 --- a/admin/liste_qr_name.php +++ /dev/null @@ -1,252 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -require_once("../func_get_parameter.php"); -include('phpqrcode/qrlib.php'); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - -$PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'phpqrcode'.DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; -$PNG_WEB_DIR = 'phpqrcode/temp/'; - -if ($action == '') { - - - if ($handle = opendir($PNG_WEB_DIR)) { - while (false !== ($file = readdir($handle))) { - if ((time()-filectime($PNG_WEB_DIR.$file)) < 86400) { - if (preg_match('/\.png$/i', $file)) { - unlink($PNG_WEB_DIR.$file); - } - } - } - } - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT id, vorname, nachname, qr - FROM jumi_qr_fellbach - ORDER BY nachname ASC, vorname ASC - "; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $filename = $PNG_TEMP_DIR.$row1['qr'].'.png'; - QRcode::png($row1['qr'], $filename, H, 10, 2); - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'ausgabe') { -require_once("../mpdf/vendor/autoload.php"); -$name = $_POST["name"]; - - #echo "Mailsend: ".$_POST['mailsend']; - #exit; - // Output a PDF file directly to the browser - if($_POST['mailsend'] != '1'){ - $smarty->assign('mailwindow', '0'); - $mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', - 'format' => 'A4', - 'orientation' => 'P', - 'margin_top' => 10, - 'margin_bottom' => 20, - 'margin_left' => 10, - 'margin_right' => 16, - 'default_font' => 'arial', - - ]); - - - $buffer = '<page backtop="7mm" backbottom="10mm" style="font-size: 11pt">'; - $buffer.="<table cellspacing='2' cellpadding='2' border='1' - style='border-collapse: collapse; - font-size: 12px; - font-weight: 700; - margin-top: 5px; - border-top: 1px solid #777; - width: 100%;'> - <tr>"; - $cnt=0; - for($i=0;$i<count($name);$i++){ - - if($cnt == 3){ - $buffer.="</tr><tr>"; - } - $result_qr = $db->query("SELECT id, nachname, vorname, qr, mail - FROM jumi_qr_fellbach - WHERE id = $name[$i]"); - $row_qr = $result_qr->fetch_array(); - $buffer.=" - <td align='center' width='100'> - QR-Code zur Erfassung der Gottesdienstteilnehmer in der Neuapostolischen Kirche Fellbach<br> - <br> - <img width='60' src=".$PNG_WEB_DIR.basename($row_qr['qr'].".png")." /><br> - $row_qr[qr] - <h3 style='text-align: center;'>$row_qr[vorname] $row_qr[nachname]</h3><br> - Dieser QR-Code dient lediglich zur Einlasskontrolle in die KircheFellbach und enthält keine persönlichen Daten.<br><br> - Neuapostolische Kirche Fellbach<br> - Kastanienweg 5<br> - 70734 Fellbach - </td>"; - if($cnt == 3){ - #$buffer.="<tr>"; - $cnt = 0; - } - - $cnt++; - } - $buffer.=" - </tr> - </table> - </page>"; - $mpdf->WriteHTML($buffer); - $mpdf->Output('QR_Codes_Fellbach.pdf', D); - }else{ - $smarty->assign('mailwindow', '1'); - - - for($i=0;$i<count($name);$i++){ - $mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', - 'format' => 'A6', - 'orientation' => 'P', - 'margin_top' => 10, - 'margin_bottom' => 20, - 'margin_left' => 10, - 'margin_right' => 16, - 'default_font' => 'arial', - - ]); - - $result_qr = $db->query("SELECT id, nachname, vorname, qr, mail - FROM jumi_qr_fellbach - WHERE id = $name[$i]"); - $row_qr = $result_qr->fetch_array(); - if($row_qr['mail'] != ''){ - $buffer = '<page backtop="7mm" backbottom="10mm" style="font-size: 11pt">'; - $buffer.="<table cellspacing='2' cellpadding='2' border='1' - style='border-collapse: collapse; - font-size: 12px; - font-weight: 700; - margin-top: 5px; - border-top: 1px solid #777; - width: 100%;'> - <tr>"; - $buffer.=" - <td align='center' width='100'> - QR-Code zur Erfassung der Gottesdienstteilnehmer in der Neuapostolischen Kirche Fellbach<br> - <br> - <img width='60' src=".$PNG_WEB_DIR.basename($row_qr['qr'].".png")." /><br> - $row_qr[qr] - <h3 style='text-align: center;'>$row_qr[vorname] $row_qr[nachname]</h3><br> - Dieser QR-Code dient lediglich zur Einlasskontrolle in die KircheFellbach und enthält keine persönlichen Daten.<br><br> - Neuapostolische Kirche Fellbach<br> - Kastanienweg 5<br> - 70734 Fellbach - </td>"; - - $buffer.=" - </tr> - </table> - </page>"; - $mpdf->WriteHTML($buffer); - $mpdf->Output("./pdfs/QR-Code_Fellbach_$row_qr[nachname]_$row_qr[vorname].pdf", F); - - /* leere Mail ausgeben */ - $to = $row_qr['mail']; // addresses to email pdf to - $from = "NAK Beutelsbach <service@nak-btb.de>"; // address message is sent from - $subject = "CR Code Fellbach: $row_qr[nachname], $row_qr[vorname] Nr. $row_qr[qr]"; // email subject - $body = "<html> - <head> - <title>QR Code Fellbach</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - im Anhang finden Sie Ihren QR Code für den Einlass in die Gemeinde Fellbach. - <br> - <br> - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - $pdfLocation = "./pdfs/QR-Code_Fellbach_$row_qr[nachname]_$row_qr[vorname].pdf"; // file location - $pdfName = "QR-Code_Fellbach_$row_qr[nachname]_$row_qr[vorname].pdf"; // pdf file name recipient will get - $filetype = "application/pdf"; // type - - // create headers and mime boundry - $eol = PHP_EOL; - $semi_rand = md5(time()); - $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; - $headers = "From: $from$eol" . - "MIME-Version: 1.0$eol" . - "Content-Type: multipart/mixed;$eol" . - " boundary=\"$mime_boundary\""; - - // add html message body - $message = "--$mime_boundary$eol" . - "Content-Type: text/html; charset=\"utf-8\"$eol" . - "Content-Transfer-Encoding: 7bit$eol$eol" . - $body . $eol; - - // fetch pdf - $file = fopen($pdfLocation, 'rb'); - $data = fread($file, filesize($pdfLocation)); - fclose($file); - $pdf = chunk_split(base64_encode($data)); - - // attach pdf to email - $message .= "--$mime_boundary$eol" . - "Content-Type: $filetype;$eol" . - " name=\"$pdfName\"$eol" . - "Content-Disposition: attachment;$eol" . - " filename=\"$pdfName\"$eol" . - "Content-Transfer-Encoding: base64$eol$eol" . - $pdf . $eol . - "--$mime_boundary--"; - - // Send the email - if(mail($to, $subject, $message, $headers)) { - $smarty->assign('message', 'Die Mails wurden versendet!'); - }else { - $smarty->assign('message', 'Die Mails wurde <b>nicht</b> alle versendet!'); - $name_kein_mailversand .= "$row_qr[vorname] $row_qr[nachname]<br>"; - } - }else{ - # Keine Mailadresse hinterlegt - $name_keine_mailadresse .= "$row_qr[vorname] $row_qr[nachname]<br>"; - } - unlink($pdfLocation); - } - - $smarty->assign('kein_mailversand', "$name_kein_mailversand"); - $smarty->assign('keine_Mailadresse', "$name_keine_mailadresse"); - } # Ende Häkchen Mailversand - - - -#echo "<pre>"; -#echo $buffer; -#echo "<pre>"; -#exit; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/liste_tn.php b/admin/liste_tn.php deleted file mode 100644 index 654cb3d..0000000 --- a/admin/liste_tn.php +++ /dev/null @@ -1,1549 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -require_once("../func_get_parameter.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tid, date_format(datum, '%a, %d.%m.%Y - %H:%i Uhr')datum_form - FROM jumi_termine a - WHERE a.datum > ADDDATE(now(), -7) - GROUP BY a.tid, datum_form - ORDER BY datum ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $termin = $row1['tid']; - $result2 = $db->query("SELECT COUNT(*) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row2 = $result2->fetch_array(); - - $result3 = $db->query("SELECT COUNT(distinct lfd_haushalt) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row3 = $result3->fetch_array(); - - $row1['anz_ges'] = $row2['Anz']; - $row1['anz_fam'] = $row3['Anz']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'ausgabe') { - $termin = $_POST["termin"]; - $german = $db->query("SET lc_time_names = 'de_DE';"); - $query_termin = $db->query("SELECT date_format(datum, '%a, %d.%m.%Y - %H:%i Uhr')datum_form, hinweis,date_format(datum, '%Y-%m-%d')datum_output - FROM jumi_termine - WHERE tid = $termin"); - $row_get_termin = $query_termin->fetch_array(); - - - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'A1' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $A1F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K1' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K1F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K2' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K2F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K3' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K3F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K4' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K4F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K5' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K5F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K6' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K6F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K7' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K7F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K8' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K8F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K9' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K9F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'K10' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $K10F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'D1' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $D1E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'M1' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $M1A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'M1' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $M1B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'M1' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $M1C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'F1' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $F1A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'F2' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $F2B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'F3' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $F3C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E1' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E1F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E2' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E2F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E3' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E3F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E4' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E4F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'A' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5A .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'B' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5B .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'C' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5C .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'D' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5D .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'E' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5E .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'E5' AND platz = 'F' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $E5F .= "$row_tn_koord[nachname], $row_tn_koord[vorname]<br>"; - } - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'Sonntagschule' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $sonntagschule .= "$row_tn_koord[nachname], $row_tn_koord[vorname]; "; - } - $sonntagschule = substr($sonntagschule,0, -2); - - $query1x = "SELECT bid, vorname, nachname FROM jumi_buchung WHERE reihe = 'Vorsonntagschule' AND tid = $termin ORDER BY nachname, vorname ASC"; - $result1x = $db->query($query1x) or die('Cannot execute query1'); - while ($row_tn_koord = $result1x->fetch_array()) { - $vorsonntagschule .= "$row_tn_koord[nachname], $row_tn_koord[vorname]; "; - } - $vorsonntagschule = substr($vorsonntagschule,0, -2); - - - - -$buffer = '<page backtop="7mm" backbottom="10mm" style="font-size: 11pt">'; -$buffer .= "<style type='text/css'> - .td1 { border:0.3px solid black; } - .td2 { border:0.3px solid black; - background-color: #E1E8F1; - } - .td_foot { border: none; } - body { font-size: 10px; } - h1 { font-size: 22px; } - table { font-size: 10px; } - td{padding: 3px;} - table.page_footer {width: 100%; border: none; padding: 20mm} - .fcol{color: #0C25BF;} - - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .tg{ - border-collapse:collapse; - border-spacing:0; - } - .tg td{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:10px; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg th{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:10px; - font-weight:normal; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg .tg-hfk9{ - background-color:#000000; - border-color:#000000; - text-align:left; - vertical-align:top - } - .tg .tg-1i2r{ - background-color:#f8ff00; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-llyw{ - background-color:#c0c0c0; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-0pky{ - border-color:inherit; - text-align:left; - vertical-align:top - font-size:6px; - } - .tg .tg-c6of{ - background-color:#ffffff; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-agym{ - background-color:#fcff2f; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-61xu{ - background-color:#cbcefb; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-y6fn{ - background-color:#c0c0c0; - text-align:left; - vertical-align:top - } - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } - fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; - } - </style>"; - -$buffer.="<h1><p align='center'>$row_get_termin[datum_form]</p></h1> -<table cellspacing='0' cellpadding='0' border='0.3'> -<thead> -<tr> - <td class='td1' width='25'> - <b>Nr.</b> - </td> - <td class='td1' width='180'> - <b>Name</b> - </td> - <td class='td1' width='80'> - <b>Sitzplatz</b> - </td> - <td class='td1' width='455'> - <b>Anwesend</b> - </td> -</tr> -</thead>"; - $query1 = "SELECT vorname, nachname, reihe, platz, lfd_haushalt - FROM jumi_buchung - WHERE tid = $termin - AND reihe != '' - ORDER BY nachname, lfd_haushalt, vorname - "; - - $result1 = $db->query($query1) or die("Cannot execute query1a"); - - $smarty->assign('termine_aktdat', date("d.m.Y H:i", time() ) ) ; - $lfdnr = 1; - while ($row1 = $result1->fetch_array()) { - if($row1['platz'] == ''){ - $platz = "$row1[reihe]"; - }else{ - $platz = "$row1[reihe] / $row1[platz]"; - } - - if($row1['lfd_haushalt'] != $haushalt_last){ - if($tdclass == "td1"){ - $tdclass = "td2"; - }else{ - $tdclass = "td1"; - } - } - - $buffer.=" - <tr> - <td class='$tdclass' width='25' height='23'> - $lfdnr - </td> - <td class='$tdclass' width='180' height='23'> - $row1[nachname], $row1[vorname] - </td> - <td class='$tdclass' width='80' height='23'> - $platz - </td> - <td class='$tdclass' width='455' height='23'> - </td> - </tr>"; - $lfdnr++; - $haushalt_last = $row1['lfd_haushalt']; - } - -$buffer.=" -</table> -</page>"; - -require_once("../mpdf/vendor/autoload.php"); -$mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', - 'format' => 'A4', - 'orientation' => 'P', - 'margin_top' => 10, - 'margin_bottom' => 20, - 'margin_left' => 10, - 'margin_right' => 16, - 'default_font' => 'arial', - -]); - - - - $buffer.=" - <pagebreak> - - <page backtop='7mm' backbottom='10mm' style='font-size: 11pt'> - <table class='tg'> - <thead> - <tr> - <th class='tg-llyw'></th> - <th class='tg-llyw'></th> - <th class='tg-llyw' width='100'>A</th> - <th class='tg-llyw' width='100'>B</th> - <th class='tg-llyw' width='100'>C</th> - <th class='tg-llyw'></th> - <th class='tg-llyw' width='100'>D</th> - <th class='tg-llyw' width='100'>E</th> - <th class='tg-llyw' width='100'>F</th> - <th class='tg-llyw'></th> - <th class='tg-llyw'></th> - </tr> - </thead> - <tbody> - <tr> - <td class='tg-llyw'>A1<br></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'> - <!-- A1 A--> - <br>Klavier - $A1A - </td> - <td class='tg-0pky'> - <!-- A1 B--> - $A1B - </td> - <td class='tg-0pky'> - <!-- A1 C--> - $A1C - </td> - <td class='tg-c6of'></td> - <td class='tg-0pky'> - <!-- A1 D--> - $A1D - </td> - <td class='tg-0pky'> - <!-- A1 E--> - $A1E - </td> - <td class='tg-0pky'> - <!-- A1 F--> - $A1F - </td> - <td class='tg-0pky'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'>K1</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K1 A--> - $K1A - </td> - <td class='tg-0pky'> - <!-- K1 B--> - $K1B - </td> - <td class='tg-0pky'> - <!-- K1 C--> - $K1C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K1 D--> - $K1D - </td> - <td class='tg-0pky'> - <!-- K1 E--> - $K1E - </td> - <td class='tg-0pky'> - <!-- K1 F--> - $K1F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K1</td> - </tr> - <tr> - <td class='tg-llyw'>K2</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K2 A--> - $K2A - <td class='tg-0pky'> - <!-- K2 B--> - $K2B - </td> - <td class='tg-0pky'> - <!-- K2 C--> - $K2C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K2 D--> - $K2D - <td class='tg-0pky'> - <!-- K2 E--> - $K2E - </td> - <td class='tg-0pky'> - <!-- K2 F--> - $K2F - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K2</td> - </tr> - <tr> - <td class='tg-llyw'>K3</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K3 A--> - $K3A - </td> - <td class='tg-0pky'> - <!-- K3 B--> - $K3B - </td> - <td class='tg-0pky'> - <!-- K3 C--> - $K3C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K3 D--> - $K3D - </td> - <td class='tg-0pky'> - <!-- K3 E--> - $K3E - </td> - <td class='tg-0pky'> - <!-- K3 F--> - $K3F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K3</td> - </tr> - <tr> - <td class='tg-llyw'>K4</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K4 A--> - $K4A - </td> - <td class='tg-0pky'> - <!-- K4 B--> - $K4B - </td> - <td class='tg-0pky'> - <!-- K4 C--> - $K4C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K4 D--> - $K4D - <td class='tg-0pky'> - <!-- K4 E--> - $K4E - </td> - <td class='tg-0pky'> - <!-- K4 F--> - $K4F - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K4</td> - </tr> - <tr> - <td class='tg-llyw'>K5</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K5 A--> - $K5A - </td> - <td class='tg-0pky'> - <!-- K5 B--> - $K5B - </td> - <td class='tg-0pky'> - <!-- K5 C--> - $K5C - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K5 D--> - $K5D - </td> - <td class='tg-0pky'> - <!-- K5 E--> - $K5E - <td class='tg-0pky'> - <!-- K5 F--> - $K5F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K5</td> - </tr> - <tr> - <td class='tg-llyw'>K6</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K6 A--> - $K6A - </td> - <td class='tg-0pky'> - <!-- K6 B--> - $K6B - <td class='tg-0pky'> - <!-- K6 C--> - $K6C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K6 D--> - $K6D - <td class='tg-0pky'> - <!-- K6 E--> - $K6E - </td> - <td class='tg-0pky'> - <!-- K6 F--> - $K6F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K6</td> - </tr> - <tr> - <td class='tg-llyw'>K7</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K7 A--> - $K7A - </td> - <td class='tg-0pky'> - <!-- K7 B--> - $K7B - </td> - <td class='tg-0pky'> - <!-- K7 C--> - $K7C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K7 D--> - $K7D - </td> - <td class='tg-0pky'> - <!-- K7 E--> - $K7E - </td> - <td class='tg-0pky'> - <!-- K7 F--> - $K7F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K7</td> - </tr> - <tr> - <td class='tg-llyw'>K8</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K8 A--> - $K8A - </td> - <td class='tg-0pky'> - <!-- K8 B--> - $K8B - <td class='tg-0pky'> - <!-- K8 C--> - $K8C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K8 D--> - $K8D - <td class='tg-0pky'> - <!-- K8 E--> - $K8E - </td> - <td class='tg-0pky'> - <!-- K8 F--> - $K8F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K8</td> - </tr> - <tr> - <td class='tg-llyw'>K9</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K9 A--> - $K9A - </td> - <td class='tg-0pky'> - <!-- K9 B--> - $K9B - </td> - <td class='tg-0pky'> - <!-- K9 C--> - $K9C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K9 D--> - $K9D - </td> - <td class='tg-0pky'> - <!-- K9 E--> - $K9E - </td> - <td class='tg-0pky'> - <!-- K9 F--> - $K9F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K9</td> - </tr> - <tr> - <td class='tg-llyw'></td> - <td class='tg-1i2r'></td> - <td class='tg-agym'></td> - <td class='tg-agym'></td> - <td class='tg-agym'></td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K10 D--> - $K10D - </td> - <td class='tg-0pky'> - <!-- K10 E--> - $K10E - </td> - <td class='tg-0pky'> - <!-- K10 F--> - $K10F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>K10</td> - </tr> - <tr> - <td class='tg-llyw'>K10</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- K10 A--> - $K10A - </td> - <td class='tg-0pky'> - <!-- K10 B--> - $K10B - </td> - <td class='tg-0pky'> - <!-- K10 C--> - $K10C - </td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'>D1</td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-0pky'> - <!-- D1 E--> - $D1E - </td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'>D1</td> - </tr> - <tr> - <td class='tg-llyw'></td> - <td class='tg-1i2r'></td> - <td class='tg-61xu'></td> - <td class='tg-61xu'></td> - <td class='tg-61xu'></td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'>M1</td> - <td class='tg-1i2r'></td> - <td class='tg-61xu'> - <!-- M1 A--> - $M1A - </td> - <td class='tg-61xu'> - <!-- M1 B--> - $M1B - </td> - <td class='tg-61xu'> - <!-- M1 C--> - $M1C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'>F1</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- F1 A--> - $F1A - </td> - <td class='tg-0pky'> - <!-- F1 B--> - $F1B - </td> - <td class='tg-0pky'> - <!-- F1 C--> - $F1C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-0pky'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - <td class='tg-hfk9'></td> - </tr> - <tr> - <td class='tg-llyw'>E1</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E1 A--> - $E1A - </td> - <td class='tg-0pky'> - <!-- E1 B--> - $E1B - </td> - <td class='tg-0pky'> - <!-- E1 C--> - $E1C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E1 D--> - $E1D - </td> - <td class='tg-0pky'> - <!-- E1 E--> - $E1E - </td> - <td class='tg-0pky'> - <!-- E1 F--> - $E1F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>E1</td> - </tr> - <tr> - <td class='tg-llyw'>E2</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E2 A--> - $E2A - </td> - <td class='tg-0pky'> - <!-- E2 B--> - $E2B - </td> - <td class='tg-0pky'> - <!-- E2 C--> - $E2C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E2 D--> - $E2D - </td> - <td class='tg-0pky'> - <!-- E2 E--> - $E2E - </td> - <td class='tg-0pky'> - <!-- E2 F--> - $E2F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>E2</td> - </tr> - <tr> - <td class='tg-llyw'>E3</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E3 A--> - $E3A - </td> - <td class='tg-0pky'> - <!-- E3 B--> - $E3B - </td> - <td class='tg-0pky'> - <!-- E3 C--> - $E3C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E3 D--> - $E3D - </td> - <td class='tg-0pky'> - <!-- E3 E--> - $E3E - </td> - <td class='tg-0pky'> - <!-- E3 F--> - $E3F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>E3</td> - </tr> - <tr> - <td class='tg-llyw'>E4</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E4 A--> - $E4A - </td> - <td class='tg-0pky'> - <!-- E4 B--> - $E4B - </td> - <td class='tg-0pky'> - <!-- E4 C--> - $E4C - </td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E4 D--> - $E4D - </td> - <td class='tg-0pky'> - <!-- E4 E--> - $E4E - </td> - <td class='tg-0pky'> - <!-- E4 F--> - $E4F - </td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'>E4</td> - </tr> - <tr> - <td class='tg-llyw'>E5</td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E5 A--> - $E5A - </td> - <td class='tg-0pky'> - <!-- E5 B--> - $E5B - </td> - <td class='tg-0pky'> - <!-- E5 C--> - $E5C - </td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-llyw'></td> - </tr> - <tr> - <td class='tg-llyw'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-1i2r'></td> - <td class='tg-0pky'> - <!-- E5 D--> - $E5D - </td> - <td class='tg-0pky'> - <!-- E5 E--> - $E5E - </td> - <td class='tg-0pky'> - <!-- E5 F--> - $E5F - </td> - <td class='tg-0pky'></td> - <td class='tg-llyw'>E5</td> - </tr> - <tr> - <td class='tg-y6fn'></td> - <td class='tg-y6fn'></td> - <td class='tg-y6fn'>A</td> - <td class='tg-y6fn'>B</td> - <td class='tg-y6fn'>C</td> - <td class='tg-y6fn'></td> - <td class='tg-y6fn'>D</td> - <td class='tg-y6fn'>E</td> - <td class='tg-y6fn'>F</td> - <td class='tg-y6fn'></td> - <td class='tg-y6fn'></td> - </tr> - </tbody> - </table> - <br> - <table width='100%' border='1' cellpadding='0' cellspacing='0'> - <tr> - <td width='50%' valign='top'> - <b>Sonntagschule</b><br> - $sonntagschule - </td> - <td width='50%' valign='top'> - <b>Vorsonntagschule</b><br> - $vorsonntagschule - </td> - </table> - <br> - <b>Legende:</b> - <table width='100%' border='0' cellpadding='0' cellspacing='0'> - <tr> - <td width='50%' valign='top'> - A1 = Altarraum<br> - K1-10 = Kirchenschiffreihen<br> - D1 = Diakon<br> - </td> - <td width='50%' valign='top'> - M1 = Mutter/Kind<br> - F1 = Foyer<br> - E1-5 Empore<br> - </td> - </table> -</page>"; -$mpdf->setFooter("Gottesdienstteilnehmer|{PAGENO} /{nb}|$row_get_termin[datum_form]"); - -#echo "<pre>"; -#echo $buffer; -#echo "<pre>"; -#exit; -$mpdf->WriteHTML($buffer); - -#echo "Mailsend: ".$_POST['mailsend']; -#exit; -// Output a PDF file directly to the browser - if($_POST['mailsend'] != '1'){ - $smarty->assign('mailwindow', '0'); - $mpdf->Output($row_get_termin['datum_output'].'_Gottesdienstteilnehmer.pdf', D); - }else{ - $smarty->assign('mailwindow', '1'); - $mpdf->Output('./pdfs/'.$row_get_termin['datum_output'].'_Gottesdienstteilnehmer.pdf', F); - $to = get_parameter(5); // addresses to email pdf to - $from = "NAK Beutelsbach <service@nak-btb.de>"; // address message is sent from - $subject = "Liste der Gottesdienstteilnehmer am ".$row_get_termin['datum_form']; // email subject - $body = "<html> - <head> - <title>Liste der Gottesdienstteilnehmer</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - im Anhang finden Sie die Teilnehmerliste des Gottesdienstes am: $row_get_termin[datum_form] - <br> - <br> - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - $pdfLocation = "./pdfs/".$row_get_termin['datum_output']."_Gottesdienstteilnehmer.pdf"; // file location - $pdfName = $row_get_termin['datum_output']."_Gottesdienstteilnehmer.pdf"; // pdf file name recipient will get - $filetype = "application/pdf"; // type - - // create headers and mime boundry - $eol = PHP_EOL; - $semi_rand = md5(time()); - $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; - $headers = "From: $from$eol" . - "MIME-Version: 1.0$eol" . - "Content-Type: multipart/mixed;$eol" . - " boundary=\"$mime_boundary\""; - - // add html message body - $message = "--$mime_boundary$eol" . - "Content-Type: text/html; charset=\"iso-8859-1\"$eol" . - "Content-Transfer-Encoding: 7bit$eol$eol" . - $body . $eol; - - // fetch pdf - $file = fopen($pdfLocation, 'rb'); - $data = fread($file, filesize($pdfLocation)); - fclose($file); - $pdf = chunk_split(base64_encode($data)); - - // attach pdf to email - $message .= "--$mime_boundary$eol" . - "Content-Type: $filetype;$eol" . - " name=\"$pdfName\"$eol" . - "Content-Disposition: attachment;$eol" . - " filename=\"$pdfName\"$eol" . - "Content-Transfer-Encoding: base64$eol$eol" . - $pdf . $eol . - "--$mime_boundary--"; - - // Send the email - if(mail($to, $subject, $message, $headers)) { - $smarty->assign('message', 'Die Mail wurde versendet!'); - } - else { - $smarty->assign('message', 'Die Mail wurde <b>nicht</b> versendet!'); - } - unlink($pdfLocation); - } -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/logout.php b/admin/logout.php deleted file mode 100644 index c148555..0000000 --- a/admin/logout.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -session_destroy(); - -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/menu_administration.php b/admin/menu_administration.php deleted file mode 100644 index 68d5e91..0000000 --- a/admin/menu_administration.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$action = $_GET['action']; - -if($action == ''){ - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/menu_qr.php b/admin/menu_qr.php deleted file mode 100644 index 68d5e91..0000000 --- a/admin/menu_qr.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$action = $_GET['action']; - -if($action == ''){ - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/menu_survey.php b/admin/menu_survey.php deleted file mode 100644 index 69926f5..0000000 --- a/admin/menu_survey.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$action = $_GET['action']; - -if($action == ''){ - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/menu_verwaltung.php b/admin/menu_verwaltung.php deleted file mode 100644 index 68d5e91..0000000 --- a/admin/menu_verwaltung.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$action = $_GET['action']; - -if($action == ''){ - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/menu_youtube.php b/admin/menu_youtube.php deleted file mode 100644 index 68d5e91..0000000 --- a/admin/menu_youtube.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -$action = $_GET['action']; - -if($action == ''){ - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/old/Import_CSV_Hogrefe.xlsx b/admin/old/Import_CSV_Hogrefe.xlsx deleted file mode 100644 index 3d5a1fea7a3d8f72a9ba1d274e8c206c5705f43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20555 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 diff --git a/admin/old/bewerber_daten.php b/admin/old/bewerber_daten.php deleted file mode 100644 index 58c5e24..0000000 --- a/admin/old/bewerber_daten.php +++ /dev/null @@ -1,1221 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../func_get_parameter.php"); -require_once("../config/func_cryption.php"); -require_once("../func_tangen.php"); -$verz = "../uploads/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - - -if ($action == '') { - - unset($_SESSION["username"]); - $german = $db->query("SET lc_time_names = 'de_DE';"); - -# Dropdown befüllen übernimmt ajax:fetch.php -# $query1 = "SELECT ka_id, vorname, nachname -# FROM bpm_kandidat -# ORDER BY nachname, vorname"; -# -# $result1 = $db->query($query1) or die("Cannot execute query1a"); -# -# -# while ($row1 = $result1->fetch_array()) { -# $table_data1[] = $row1; -# } -# $smarty->assign('table_data1', $table_data1); - - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('bewerber_error', 1); - if ($errorno == 1) { - $smarty->assign('bewerber_error_text', "Es muss ein Bewerber ausgewählt werden."); - } - - } -} - -if ($action == 'ausgabe') { - if (isset($_POST['user'])) { - $username = mb_strtoupper($_POST["user"]); //remove case sensitivity on the username - } elseif(isset($_GET['user'])) { - $username = mb_strtoupper($_GET["user"]); - } else { - $username = $_SESSION["username"]; - } - - $_SESSION["username"] = $username; - - - if ($username == "") { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - exit; - } - - # Fehler beim Upload anzeigen - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('index_error', 1); - - if ($errorno == 1) { - $smarty->assign('index_error_text', "Es dürfen nur PDF Dateien hochgeladen werden."); - } - if ($errorno == 2) { - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $smarty->assign('index_error_text', "Die Datei ist zu groß. Die Dateigröße darf max. $size_mb MB betragen."); - } - if ($errorno == 3) { - $smarty->assign('index_error_text', "Die Datei mit diesem Namen wurde bereits hochgeladen."); - } - if ($errorno == 4) { - # Tabelle bpm_parameter - $anz_dok = trim(get_parameter(13)); - $smarty->assign('index_error_text', "Es dürfen maximal $anz_dok Dateien hochgeladen werden."); - } - } - - $result = $db->query("SELECT a.ka_id, anrede, vorname, nachname, str, plz, ort, date_format(tm_datum, '%d.%m.%Y - %H:%i Uhr') tm_datum_form, date_format(gebdat, '%d.%m.%Y') gebdat_form, a.id, c.tan, hochschule, date_format(login_dat, '%d.%m.%Y - %H:%i Uhr') login_dat_form, login_dat, a.mail, a.tel - FROM bpm_kandidat a, bpm_term_kand b, bpm_tanpool c, bpm_termine d - WHERE a.ka_id = b.ka_id - AND b.tp_id = c.tp_id - AND b.tm_id = d.tm_id - AND a.ka_id = '$username' - ORDER BY tk_id DESC - LIMIT 1"); - $row = $result->fetch_array(); - - #Aktuelle Tan ermitteln - - $result_tan = $db->query("SELECT tan - FROM bpm_tanpool a, bpm_term_kand b - WHERE a.tp_id = b.tp_id - AND b.ka_id = '$username' - order by b.tk_id DESC - LIMIT 1"); - $row_tan = $result_tan->fetch_array(); - $tan = $row_tan['tan']; - $_SESSION["tan"] = $tan; - - if ($row['anrede'] == 'M') { - $anrede = 'Herr'; - } else { - $anrede = 'Frau'; - } - if($row['login_dat'] == '0000-00-00 00:00:00'){ - $tm_datum_form = "-"; - }else{ - $tm_datum_form = $row['login_dat_form']; - } - - $smarty->assign('status_anrede', $anrede); - $smarty->assign('status_vorname', $row['vorname']); - $smarty->assign('status_nachname', $row['nachname']); - $smarty->assign('status_gebdat', $row['gebdat_form']); - $smarty->assign('status_str', $row['str']); - $smarty->assign('status_plz', $row['plz']); - $smarty->assign('status_ort', $row['ort']); - $smarty->assign('status_mail', $row['mail']); - $smarty->assign('status_tel', $row['tel']); - $smarty->assign('status_tm_datum_form', $row['tm_datum_form']); - $smarty->assign('status_login_dat_form', $tm_datum_form); - $smarty->assign('status_hochschule', $row['hochschule']); - $smarty->assign('status_login_id', $row['id']); - $smarty->assign('status_login_tan', $tan); - - $result_ct = $db->query("SELECT count(*) Anz - FROM bpm_ergebnisse - WHERE ka_id =$row[ka_id] - AND tan='$tan'"); - $row_ct = $result_ct->fetch_array(); - - if ($row_ct['Anz'] == 0) { - $smarty->assign('status_erg_vorhanden', 0); - $smarty->assign('status_erg_bestanden', '3'); - } else { - $smarty->assign('status_erg_vorhanden', 1); - $result_erg = $db->query("SELECT satzerg, gemeinsamkeiten, rechenaufgaben, zahlenreihen, rechenzeichen, matrizen, merkf, summe, bestanden, date_format(einsicht_dat, '%d.%m.%Y, %H:%i Uhr') einsicht_dat_form, einsicht_dat - FROM bpm_ergebnisse - WHERE ka_id =$row[ka_id] - AND tan='$tan'"); - $row_erg = $result_erg->fetch_array(); - if ($row_erg['einsicht_dat'] == '0000-00-00 00:00:00') { - $einsicht_dat = "bisher keine Einsicht"; - } else { - $einsicht_dat = $row_erg['einsicht_dat_form']; - } - $smarty->assign('status_erg_satzerg', $row_erg['satzerg']); - $smarty->assign('status_erg_gemeinsamkeiten', $row_erg['gemeinsamkeiten']); - $smarty->assign('status_erg_rechenaufgaben', $row_erg['rechenaufgaben']); - $smarty->assign('status_erg_zahlenreihen', $row_erg['zahlenreihen']); - $smarty->assign('status_erg_rechenzeichen', $row_erg['rechenzeichen']); - $smarty->assign('status_erg_matrizen', $row_erg['matrizen']); - $smarty->assign('status_erg_merkf', $row_erg['merkf']); - $smarty->assign('status_erg_summe', $row_erg['summe']); - $smarty->assign('status_erg_einsicht_dat', $einsicht_dat); - - if ($row_erg['bestanden'] == 0) { - $smarty->assign('status_erg_bestanden', 0); - $smarty->assign('status_erg_bestanden_text', "nicht bestanden"); - } - if ($row_erg['bestanden'] == 1) { - $smarty->assign('status_erg_bestanden', 1); - $smarty->assign('status_erg_bestanden_text', "bestanden"); - } - - } - - # Ältere Testergebnisse vorhanden? - $query4 = "SELECT tan - FROM bpm_ergebnisse - WHERE ka_id =$row[ka_id] - AND tan!='$tan'"; - $result4 = $db->query($query4) or die("Cannot execute query4"); - - while ($row4 = $result4->fetch_array()) { - - $result_erg = $db->query("SELECT satzerg, gemeinsamkeiten, rechenaufgaben, zahlenreihen, rechenzeichen, matrizen, merkf, summe, bestanden, date_format(einsicht_dat, '%d.%m.%Y, %H:%i Uhr') einsicht_dat_form, einsicht_dat - FROM bpm_ergebnisse - WHERE ka_id =$row[ka_id] - AND tan='$row4[tan]'"); - $row_erg = $result_erg->fetch_array(); - - $result_testdat = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y - %H:%i') datum_form - , CASE tm_standort - WHEN 'L' THEN 'Ludwigsburg' - WHEN 'K' THEN 'Kehl' - ELSE '' END as tm_standort - FROM bpm_term_kand a, bpm_tanpool b, bpm_termine c - WHERE a.tp_id = b.tp_id - AND a.tm_id =c.tm_id - AND tan = '$row4[tan]'"); - $row_testdat = $result_testdat->fetch_array(); - - if ($row_erg['einsicht_dat'] == '0000-00-00 00:00:00') { - $einsicht_dat = "bisher keine Einsicht"; - } else { - $einsicht_dat = $row_erg['einsicht_dat_form']; - } - - if ($row_erg['bestanden'] == 0) { - $status_erg_bestanden = "0"; - $status_erg_bestanden_text = "nicht bestanden"; - } - if ($row_erg['bestanden'] == 1) { - $status_erg_bestanden = "1"; - $status_erg_bestanden_text = "bestanden"; - } - $row4['status_erg_testdat'] = $row_testdat['datum_form']; - $row4['status_erg_standort'] = $row_testdat['tm_standort']; - $row4['status_erg_satzerg'] = $row_erg['satzerg']; - $row4['status_erg_gemeinsamkeiten'] = $row_erg['gemeinsamkeiten']; - $row4['status_erg_rechenaufgaben'] = $row_erg['rechenaufgaben']; - $row4['status_erg_zahlenreihen'] = $row_erg['zahlenreihen']; - $row4['status_erg_rechenzeichen'] = $row_erg['rechenzeichen']; - $row4['status_erg_matrizen'] = $row_erg['matrizen']; - $row4['status_erg_merkf'] = $row_erg['merkf']; - $row4['status_erg_summe'] = $row_erg['summe']; - $row4['status_erg_bestanden'] = $status_erg_bestanden; - $row4['status_erg_bestanden_text'] = $status_erg_bestanden_text; - $row4['status_erg_einsicht_dat'] = $einsicht_dat; - $table_data4[] = $row4; - } - $smarty->assign('table_data4', $table_data4); - - - - $query1 = "SELECT up_id, ka_id, file, beschreibung, date_format(upload_dat, '%d.%m.%Y, %H:%i Uhr') upload_dat - FROM bpm_upload - WHERE ka_id = $row[ka_id] - AND upload_dat != '0000-00-00 00:00:00'"; - $result1 = $db->query($query1) or die("Cannot execute query1b"); - - $username = $_SESSION["username"]; - $result_id = $db->query("SELECT id - FROM bpm_kandidat - WHERE ka_id = '$username'"); - $row_id = $result_id->fetch_array(); - $id = $row_id['id']; - - while ($row1 = $result1->fetch_array()) { - if (file_exists($row1['file'])) { - $exists = 1; - } else { - $exists = 0; - } - $basename = basename($row1['file']); - $basename_link = basename($row1['file']); - $rep = $id."_"; - $row1['exists'] = $exists; - $row1['basename'] = str_replace($rep, '', $basename); - $row1['basename_link'] = urldecode($row1['file']); - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - - # Gespeicherte Werte Noten - $result_note = $db->query("SELECT erfdat_hzb, erfdat_schnitt, hzb, hzb_punkte, zeugnisschnitt, zeugnisschnitt_punkte - FROM bpm_note - WHERE ka_id ='$username' - ORDER BY no_id desc - LIMIT 1"); - $row_note = $result_note->fetch_array(); - $row_cnt = $result_note->num_rows; - - if($row_note['erfdat_hzb'] != '0000-00-00 00:00:00' AND $row_cnt > 0){ - # HZB erfasst - $smarty->assign('notenart', "HZB"); - if($row_note['hzb_punkte'] != '0.00'){ - $smarty->assign('skala_value', "Punkte"); - $smarty->assign('note', "$row_note[hzb_punkte]"); - # Bei hzb gibts keine Punkte - #$smarty->assign('note_schnitt', "$row_note[hzb]"); - }else{ - $smarty->assign('skala_value', "Noten"); - $smarty->assign('note', "$row_note[hzb]"); - } - }elseif($row_note['erfdat_schnitt'] != '0000-00-00 00:00:00' AND $row_cnt > 0){ - # Durchscnittsnote erfasst - $smarty->assign('notenart', "Durchschnitt"); - if($row_note['zeugnisschnitt_punkte'] != '0.00'){ - $smarty->assign('skala_value', "Punkte"); - $smarty->assign('note', "$row_note[zeugnisschnitt_punkte]"); - $smarty->assign('note_schnitt', "$row_note[zeugnisschnitt]"); - }else{ - $smarty->assign('skala_value', "Noten"); - $smarty->assign('note', "$row_note[zeugnisschnitt]"); - } - }else{ - # Keine Auswahl - $smarty->assign('notenart', "Keine"); - $smarty->assign('skala_value', "Noten"); - $smarty->assign('note', ""); - } - - # Gespeicherte Werte Praxisstellen - $query2 = "SELECT a.ka_id, a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail, a.status, date_format(sendedat, '%d.%m.%Y, %H:%i Uhr') sendedat, b.dst_id - FROM bpm_dst_wunsch a, bpm_dienststellen b - WHERE a.dst_id = b.dst_id - AND a.ka_id = $row[ka_id]"; - - $result2 = $db->query($query2) or die("Cannot execute query2"); - - while ($row2 = $result2->fetch_array()) { - if ($row2['status'] == 'V') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='?action=mailsenden&wu_id=$row2[wu_id]'>Versendet</a><br>$row2[sendedat]"; - } - if ($row2['status'] == 'F') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='?action=mailsenden&wu_id=$row2[wu_id]'>Fehler</a>"; - } - if ($row2['status'] == 'O') { - $status = "Vorgemerkt"; - } - $row2['status'] = $status; - $table_data2[] = $row2; - } - $smarty->assign('table_data2', $table_data2); - - # Gespeicherte Werte: Sonstige Mails - $query3 = "SELECT sm_id, sender, sendermail, empfaenger, mail_betreff, mail_text, status, date_format(sendedat, '%d.%m.%y, %H:%i Uhr') sendedat_form - FROM bpm_sonstige_mail - WHERE ka_id = $row[ka_id] - ORDER BY sendedat desc"; - - $result3 = $db->query($query3) or die("Cannot execute query2"); - - while ($row3 = $result3->fetch_array()) { - if ($row3['status'] == 'V') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='?action=mailsenden_sonst&sm_id=$row3[sm_id]'>Versendet</a><br>$row3[sendedat]"; - } - if ($row3['status'] == 'F') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='?action=mailsenden_sonst&sm_id=$row3[sm_id]'>Fehler</a>"; - } - $row3['status'] = $status; - $table_data3[] = $row3; - } - $smarty->assign('table_data3', $table_data3); - -} - -if ($action == 'mail') { - $wu_id = $_GET['wu_id']; - $result_erg = $db->query("SELECT mail_text - FROM bpm_dst_wunsch - WHERE wu_id =$wu_id"); - $row_erg = $result_erg->fetch_array(); - $smarty->assign('mail_text', $row_erg['mail_text']); - -} - -if ($action == 'mail_sonst') { - $sm_id = $_GET['sm_id']; - $result_erg = $db->query("SELECT mail_text, mail_betreff - FROM bpm_sonstige_mail - WHERE sm_id =$sm_id"); - $row_erg = $result_erg->fetch_array(); - $smarty->assign('mail_text', $row_erg['mail_text']); - $smarty->assign('mail_betreff', $row_erg['mail_betreff']); - -} - - -if ($action == 'mailsenden') { - $wu_id = $_GET['wu_id']; - - $result_erg = $db->query("SELECT mail_text, mail_betreff, b.mail, b.bez - FROM bpm_dst_wunsch a, bpm_dienststellen b - WHERE a.dst_id = b.dst_id - AND wu_id =$wu_id"); - $row_erg = $result_erg->fetch_array(); - $smarty->assign('mail_text', $row_erg['mail_text']); - $smarty->assign('mail_betreff', $row_erg['mail_betreff']); - $smarty->assign('mail_mail', $row_erg['mail']); - $smarty->assign('mail_bez', $row_erg['bez']); - $smarty->assign('mail_wuid', $wu_id); -} - -if ($action == 'mailsenden_sonst') { - $sm_id = $_GET['sm_id']; - - $result_erg = $db->query("SELECT sender, sendermail, empfaenger, mail_betreff, mail_text - FROM bpm_sonstige_mail - WHERE sm_id =$sm_id"); - $row_erg = $result_erg->fetch_array(); - $smarty->assign('mail_sender', $row_erg['sender']); - $smarty->assign('mail_sendermail', $row_erg['sendermail']); - $smarty->assign('mail_text', $row_erg['mail_text']); - $smarty->assign('mail_betreff', $row_erg['mail_betreff']); - $smarty->assign('mail_mail', $row_erg['empfaenger']); - $smarty->assign('mail_smid', $sm_id); -} - -if ($action == 'mailsenden2') { - $wu_id = $_POST['wuid']; - - $result_erg = $db->query("SELECT a.ka_id, mail_text, mail_betreff, b.mail, b.bez - FROM bpm_dst_wunsch a, bpm_dienststellen b - WHERE a.dst_id = b.dst_id - AND wu_id =$wu_id"); - $row_erg = $result_erg->fetch_array(); - - $result_kand = $db->query("SELECT hochschule - FROM bpm_kandidat - WHERE ka_id =$row_erg[ka_id]"); - $row_kand = $result_kand->fetch_array(); - - $hochschule = "$row_kand[hochschule]"; - if ($hochschule == 'Ludwigsburg') { - $anschrift = 'Reuteallee 36<br>71634 Ludwigsburg'; - $sender = "Hochschule Ludwigsburg"; - $sendermail = get_parameter(8); - } elseif ($hochschule == 'Kehl') { - $anschrift = 'Kinzigallee 1<br>77694 Kehl'; - $sender = "Hochschule Kehl"; - $sendermail = get_parameter(7); - } - $empfaenger = $row_erg['mail']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - - #echo " - #From: $sender - $sendermail<br> - #$empfaenger<br> - #$betreff<br> - #$text<br> - #$hochschule<br>"; - #exit; - - #Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail - $style ="<head> - <style> - p {margin: 0;} - </style> - </head> - "; - $text = $style.$text; - - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - $betreff_db = addslashes($betreff); - if ($return) { - $sql1 = $db->query("UPDATE bpm_dst_wunsch - SET mail_text = '$text_db' - , mail_betreff = '$betreff_db' - , status = 'V' - , sendedat = '$datum_db' - WHERE wu_id = $wu_id - "); - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - } else { - $sql1 = $db->query("UPDATE bpm_dst_wunsch - SET mail_text = '$text_db' - , mail_betreff = '$betreff_db' - , status = 'F' - WHERE wu_id = $wu_id - "); - $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse der Praxisstelle."); - } -} - - -if ($action == 'mailsenden2_sonst') { - $sm_id = $_POST['smid']; - $sender = $_POST['mail_sender']; - $sendermail = $_POST['mail_sendermail']; - $empfaenger = $_POST['mail_mail']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - - #Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail - $style ="<head> - <style> - p {margin: 0;} - </style> - </head> - "; - $text = $style.$text; - - #echo " - #From: $sender - $sendermail<br> - #$empfaenger<br> - #$betreff<br> - #$text<br>"; - #exit; - - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - $betreff_db = addslashes($betreff); - if ($return) { - $sql1 = $db->query("UPDATE bpm_sonstige_mail - SET mail_text = '$text_db' - , mail_betreff = '$betreff_db' - , empfaenger = '$empfaenger' - , status = 'V' - , sendedat = '$datum_db' - WHERE sm_id = $sm_id - "); - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - } else { - $sql1 = $db->query("UPDATE bpm_sonstige_mail - SET mail_text = '$text_db' - , mail_betreff = '$betreff_db' - , empfaenger = '$empfaenger' - , status = 'F' - WHERE sm_id = $sm_id - "); - $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse das Kandidaten."); - } -} - - - - -if ($action == 'chhs') { - - $hochschule = $_POST['hs']; - $username = $_SESSION["username"]; - - $sql1 = $db->query("UPDATE bpm_kandidat - SET hochschule = '$hochschule' - WHERE ka_id = $username - "); - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; -} - -if ($action == 'upload') { - $username = $_SESSION["username"]; - $result_id = $db->query("SELECT id - FROM bpm_kandidat - WHERE ka_id = '$username'"); - $row_id = $result_id->fetch_array(); - $id = $row_id['id']; - - // http://www.tutorials.de/tutorials65420.html - #echo '<pre>', print_r($_POST, true), '</pre>'; - - $tempname = $_FILES['file']['tmp_name']; - $name = $_FILES['file']['name']; - - $type = $_FILES['file']['type']; - $size = $_FILES['file']['size']; - $einheit = "Byte"; // Für die Efolgsmeldung. - - $limitedext = array( - ".pdf" - ); //Erlaubte Dateieindung beim Upload - $extlimit = "yes"; //Do you want to limit the extensions of files uploaded - $ext = strrchr($name, '.'); - - - if (($extlimit == "yes") && (!in_array($ext, $limitedext))) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe&error=1\">"; - exit; - } - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $size_bt = $size_mb * 1024 * 1024; - - if ($size > $size_bt) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe&error=2\">"; - exit; - } - - $name = str_replace(array( - "ä", - "ö", - "ü", - "ß", - "Ä", - "Ü", - "Ü", - " " - ), array( - "ae", - "oe", - "ue", - "ss", - "Ae", - "Oe", - "Ue", - "_" - ), $name); - $ka_id = $_SESSION["ka_id"]; - $neu = $id . "_" . $name; - - $result_exists = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE file = '$verz$neu' - AND ka_id = '$ka_id'"); - $row_exists = $result_exists->fetch_array(); - - $result_anz = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE ka_id = '$ka_id'"); - $row_anz = $result_anz->fetch_array(); - - if ($row_exists['Anz'] > 0) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe&error=3\">"; - exit; - } - - # Tabelle bpm_parameter - $anz_dok = trim(get_parameter(13)); - - if ($row_anz['Anz'] >= $anz_dok) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe&error=4\">"; - exit; - } - - # Datei hochladen - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu"); - $sql1 = $db->query("insert into bpm_upload (ka_id, file, upload_dat) VALUES('$username', '$verz$neu', '$datum_db')"); - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; - -} -if ($action == 'descr') { - // http://www.tutorials.de/tutorials65420.html - #echo '<pre>', print_r($_POST, true), '</pre>'; - $username = $_SESSION["username"]; - $query1 = "SELECT up_id - FROM bpm_upload - WHERE ka_id = $username - AND upload_dat != '0000-00-00 00:00:00'"; - - $result1 = $db->query($query1) or die("Cannot execute query1c"); - while ($row1 = $result1->fetch_array()) { - $id = "desc_".$row1['up_id']; - $beschreibung = $_POST[$id]; - - $sql1 = $db->query("UPDATE bpm_upload - SET beschreibung = '$beschreibung' - WHERE up_id = $row1[up_id] - "); - - } - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; - -} -if ($action == 'deldok') { - $up_id = $_GET['up_id']; - - $username = $_SESSION["username"]; - $result_id = $db->query("SELECT id - FROM bpm_kandidat - WHERE ka_id = '$username'"); - $row_id = $result_id->fetch_array(); - $id = $row_id['id']; - - $result_file = $db->query("SELECT file - FROM bpm_upload - WHERE up_id = '$up_id'"); - $row_file = $result_file->fetch_array(); - - $basename = basename($row_file['file']); - $rep = $id."_"; - $dokument = str_replace($rep, '', $basename); - - $smarty->assign('deldok_dokument', $dokument); - $smarty->assign('deldok_up_id', $up_id); -} -if ($action == 'deldok2') { - $up_id = $_GET['up_id']; - $username = $_SESSION["username"]; - - function deleteFiles($datei) - { - if (@unlink($datei)) { - $error = TRUE; - } else { - $error = FALSE; - } - return $error; - } - - $result_del = $db->query("SELECT file - FROM bpm_upload - WHERE ka_id = $username - AND up_id= $up_id - LIMIT 1; - "); - $row_del = $result_del->fetch_array(); - - $del = deleteFiles($row_del['file']); // Dateien werden im Uploadverzeichnis gelöscht, falls noch welche darin wären -# if rausgenommen, wenn kein Dokument vorhanden ist, nur DB Eintrag, dann kann dieser nicht gelöscht werden -# if ($del) { - $sql1 = $db->query("DELETE FROM bpm_upload - WHERE ka_id = $username - AND up_id= $up_id"); -# } - -echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; -} -if ($action == 'stelle') { - $username = $_SESSION["username"]; - $query1 = "SELECT a.dst_id, bez, plz, ort - FROM bpm_dienststellen a - WHERE a.dst_id NOT IN (SELECT dst_id - FROM bpm_dst_wunsch - WHERE ka_id = '$username' - ) - AND (gueltig_von <= date_format(now(), '%Y-%m-%d') OR gueltig_von = '0000-00-00') - AND (gueltig_bis >= date_format(now(), '%Y-%m-%d') OR gueltig_bis = '0000-00-00') - ORDER BY bez ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1d"); - - while ($row1 = $result1->fetch_array()) { - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - - - # Gespeicherte Werte - $query2 = "SELECT a.wu_id, b.bez, b.str, b.plz, b.ort, b.mail - FROM bpm_dst_wunsch a, bpm_dienststellen b - WHERE a.dst_id = b.dst_id - AND a.ka_id = $username"; - - $result2 = $db->query($query2) or die("Cannot execute query2b"); - - while ($row2 = $result2->fetch_array()) { - $table_data2[] = $row2; - } - $smarty->assign('table_data2', $table_data2); - - # Tabelle bpm_parameter - $anz_stellen = trim(get_parameter(14)); - $smarty->assign('index_stelle_anz', $anz_stellen); - - # Fehler bei Praxisstellenwahl anzeigen - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('index_error', 1); - - if ($errorno == 1) { - $smarty->assign('index_error_text', "Es dürfen maximal $anz_stellen Stellen gewählt werden."); - } - if ($errorno == 2) { - $smarty->assign('index_error_text', "Sie müssen zuerst eine Stelle aud der Dropdownliste markieren."); - } - if ($errorno == 3) { - $smarty->assign('index_error_text', "Es muss zunächst eine zuständige Hochschule definiert werden."); - } - } -} - -if ($action == 'save_praxis') { - $username = $_SESSION["username"]; - $dst_id = $_POST["stelle"]; - -/* - // http://www.tutorials.de/tutorials65420.html - $result_anz = $db->query("SELECT count(*) Anz - FROM bpm_dst_wunsch - WHERE ka_id = '$ka_id'"); - $row_anz = $result_anz->fetch_array(); - - # Tabelle bpm_parameter - $anz_stellen = trim(get_parameter(14)); - - if ($row_anz['Anz'] >= $anz_stellen) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle&error=1\">"; - exit; - } -*/ - if ($dst_id == '') { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle&error=2\">"; - exit; - } - - - $result_hs = $db->query("SELECT anrede, hochschule, id - FROM bpm_kandidat - WHERE ka_id = $username - LIMIT 1; - "); - $row_hs = $result_hs->fetch_array(); - $hochschule = $row_hs['hochschule']; - - if($hochschule == 'Ludwigsburg'){ - $anschrift = 'Reuteallee 36<br>71634 Ludwigsburg'; - $sender = "Hochschule Ludwigsburg"; - $sendermail = get_parameter(8); - }elseif($hochschule == 'Kehl'){ - $anschrift = 'Kinzigallee 1<br>77694 Kehl'; - $sender = "Hochschule Kehl"; - $sendermail = get_parameter(7); - }else{ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle&error=3\">"; - exit; - } - - $link_arzt = 'https://www.gesundheitsamt-bw.de/'; - $link = 'https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/index.php'; - $link_register = 'https://www.hs-ludwigsburg.de/kurs/bpm/praxisstelle/register.php'; - - $result_dst = $db->query("SELECT mail, init_tan - FROM bpm_dienststellen - WHERE dst_id = $dst_id - LIMIT 1; - "); - $row_dst = $result_dst->fetch_array(); - - if ($row_dst['init_tan'] == ''){ - $tan = tangen(); - $sql0 = $db->query("UPDATE bpm_dienststellen - SET init_tan = '$tan' - WHERE dst_id = '$dst_id' - "); - }else{ - $tan = ""; - } - - $empfaenger = "$row_dst[mail]"; - $betreff = "Bewerbung zur praktischen Ausbildung BPM"; - - ######################################################### - ## dieselbe Mail ist auch in /upload/index.php - ######################################################### - if($row_hs['anrede'] != 'W'){ - # männliche Version - $text = "Guten Tag,<br> - <br> - ein Bewerber hat Sie als Wunschausbildungsstelle für das Einführungspraktikum im Studiengang Public Management ausgewählt.<br>"; - - - if($tan == ""){ - $text .=" - Sie erhalten einen Link für die Einsicht der Bewerbungsunterlagen: - <br> - <br> - <a href='$link'>$link</a>"; - } - - if($tan != ""){ - $text .=" - <br> - <br> - Bitte registrieren Sie Ihre Praxisstelle zunächst mit folgenden Logindaten:<br> - <b>Registrierung:</b> $link_register<br> - <b>Benutzername:</b> $empfaenger<br> - <b>Einmalpasswort:</b> $tan - "; - } - - $text .= " - <br> - <br> - Die Ausbildungsstellen führen das Auswahlverfahren nach § 7 Absätze 3 und 4 APrOVw gD durch. Sollten Sie sich für den Bewerber und selbiger für Ihre Ausbildungsstelle entscheiden, teilt die Ausbildungsstelle der zuständigen Hochschule schnellstmöglich, jedoch bis spätestens 22. Juli des Jahres des Ausbildungsbeginns schriftlich Ihre Entscheidung mit. - <br> - Der Bewerber ist von Ihnen darauf hinzuweisen, sich um folgende personalrechtlichen Unterlagen zu bemühen und an Sie zu übersenden: - <ul> - <li>Ärztliches Zeugnis zum Nachweis der gesundheitlichen Eignung (es ist ein Attest von einer Ärztin oder eines Arztes, die vom Landesgesundheitsamt dafür bestimmt wurden notwendig. Eine Liste aller Ärzte finden Sie - unter: <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber. Die dafür anfallenden Kosten hat die Bewerberin oder der Bewerber selbst zu tragen. Dieses Zeugnis darf zu Ausbildungsbeginn nicht älter als 6 Monate sein), - </li> - <li>Erklärung über den Ausschluss eines aktuellen oder früheren Behandlungsverhältnisses (dies finden Sie unter <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber -> „Erklärung Ausschluss Behandlungsverhältnis“), - </li> - <li>Führungszeugnis <b>zur Vorlage bei einer Behörde nach § 30 Abs. 5 BZRG</b> (dieses Zeugnis darf keine Einträge enthalten und zu Ausbildungsbeginn nicht älter als 3 Monate sein).</li> - </ul> - <br> - Diese Unterlagen sind von Ihnen als Einstellungsvoraussetzungen <b>zum 1. September</b> des Einstellungsjahres zu prüfen. <u>Nach</u> Ausbildungsbeginn müssen diese Unterlagen an die Hochschule übersendet werden, diese sind die Grundlage für die spätere Ernennung in ein Beamtenverhältnis. - <br><br> - Bitte teilen Sie dem Bewerber mit, dass er nur dann einen Ausbildungsplatz bei Ihnen erhalten kann, wenn er eine endgültige Zulassung für einen Studienplatz durch die Hochschule erhält. Endgültige Zulassungen zum Studium können erst nach Abschluss der Bewerbungsphase und nach der Rückmeldefrist der Ausbildungsstellen (22. Juli des Jahres des Ausbildungsbeginns) erfolgen. Erst dann kann die finale Bewerberrangliste gebildet werden, die die Grundlage der Studienplatzvergabe darstellt. Das Nachrückverfahren kann in Einzelfällen wie bisher auch bis unmittelbar vor Praktikumsbeginn andauern. - <br> - <br> - Freundliche Grüße - <br><br> - Ihre Hochschule $hochschule - <br> - $anschrift - <br> - <p> - Diese Mail wurde automatisch generiert!<br /> - Antworten Sie daher nicht auf diese Mail.<br /> - <br /> - Vielen Dank! - </body> - </html>"; - }else{ - # weibliche Version - $text = "Guten Tag,<br> - <br> - eine Bewerberin hat Sie als Wunschausbildungsstelle für das Einführungspraktikum im Studiengang Public Management ausgewählt.<br>"; - - if($tan == ""){ - $text .=" - Sie erhalten einen Link für die Einsicht der Bewerbungsunterlagen: - <br> - <br> - <a href='$link'>$link</a>"; - } - - if($tan != ""){ - $text .=" - <br> - <br> - Bitte registrieren Sie Ihre Praxisstelle zunächst mit folgenden Logindaten:<br> - <b>Registrierung:</b> $link_register<br> - <b>Benutzername:</b> $empfaenger<br> - <b>Einmalpasswort:</b> $tan - "; - } - - $text .= " - <br> - <br> - Die Ausbildungsstellen führen das Auswahlverfahren nach § 7 Absätze 3 und 4 APrOVw gD durch. Sollten Sie sich für die Bewerberin und selbige für Ihre Ausbildungsstelle entscheiden, teilt die Ausbildungsstelle der zuständigen Hochschule schnellstmöglich, jedoch bis spätestens 22. Juli des Jahres des Ausbildungsbeginns schriftlich Ihre Entscheidung mit. - <br> - Die Bewerberin ist von Ihnen darauf hinzuweisen, sich um folgende personalrechtlichen Unterlagen zu bemühen und an Sie zu übersenden: - <ul> - <li>Ärztliches Zeugnis zum Nachweis der gesundheitlichen Eignung (es ist ein Attest von einer Ärztin oder eines Arztes, die vom Landesgesundheitsamt dafür bestimmt wurden notwendig. Eine Liste aller Ärzte finden Sie - unter: <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber. Die dafür anfallenden Kosten hat die Bewerberin oder der Bewerber selbst zu tragen. Dieses Zeugnis darf zu Ausbildungsbeginn nicht älter als 6 Monate sein), - </li> - <li>Erklärung über den Ausschluss eines aktuellen oder früheren Behandlungsverhältnisses (dies finden Sie unter <a href='$link_arzt'>$link_arzt</a> -> Service -> Gesundheitliche Eignung bei Verbeamtung -> Hinweise für Beamtenbewerber -> „Erklärung Ausschluss Behandlungsverhältnis“), - </li> - <li>Führungszeugnis <b>zur Vorlage bei einer Behörde nach § 30 Abs. 5 BZRG</b> (dieses Zeugnis darf keine Einträge enthalten und zu Ausbildungsbeginn nicht älter als 3 Monate sein).</li> - </ul> - <br> - Diese Unterlagen sind von Ihnen als Einstellungsvoraussetzungen <b>zum 1. September</b> des Einstellungsjahres zu prüfen. <u>Nach</u> Ausbildungsbeginn müssen diese Unterlagen an die Hochschule übersendet werden, diese sind die Grundlage für die spätere Ernennung in ein Beamtenverhältnis. - <br><br> - Bitte teilen Sie der Bewerberin mit, dass sie nur dann einen Ausbildungsplatz bei Ihnen erhalten kann, wenn sie eine endgültige Zulassung für einen Studienplatz durch die Hochschule erhält. Endgültige Zulassungen zum Studium können erst nach Abschluss der Bewerbungsphase und nach der Rückmeldefrist der Ausbildungsstellen (22. Juli des Jahres des Ausbildungsbeginns) erfolgen. Erst dann kann die finale Bewerberrangliste gebildet werden, die die Grundlage der Studienplatzvergabe darstellt. Das Nachrückverfahren kann in Einzelfällen wie bisher auch bis unmittelbar vor Praktikumsbeginn andauern. - <br> - <br> - Freundliche Grüße - <br><br> - Ihre Hochschule $hochschule - <br> - $anschrift - <br> - <p> - Diese Mail wurde automatisch generiert!<br /> - Antworten Sie daher nicht auf diese Mail.<br /> - <br /> - Vielen Dank! - </body> - </html>"; - } - -#echo " -#From: $sender - $sendermail<br> -#$empfaenger<br> -#$betreff<br> -#$text<br>"; -#exit; - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - - - if($return){ - $sql1 = $db->query("insert into bpm_dst_wunsch (dst_id, ka_id, datum, mail_text, mail_betreff, status, sendedat) - VALUES('$dst_id', '$username', '$datum_db', '$text_db', '$betreff', 'V', '$datum_db')"); - - }else{ - $sql1 = $db->query("insert into bpm_dst_wunsch (dst_id, ka_id, datum, mail_text, mail_betreff, status) - VALUES('$dst_id', '$username', '$datum_db', '$text_db', '$betreff', 'F')"); - } - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stelle\">"; - -} - -if ($action == 'testback') { - $username = $_SESSION["username"]; - $tan = $_SESSION["tan"]; - - $sql1 = $db->query("UPDATE bpm_tanpool a - SET login_dat = '0000-00-00 00:00:00' - ,aktiv = 'A' - WHERE tp_id = (SELECT b.tp_id - FROM bpm_term_kand b - WHERE b.ka_id = '$username' - ORDER BY b.tk_id DESC - LIMIT 1 - ) - AND tan = '$tan' - "); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; -} - -if ($action == 'skala') { - # Die Seite wird neu geladen und damit vom Element Spinner die Ranges gesetzt - #$skala = $_POST['notenskala']; - #$_SESSION["skala"] = $skala; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; -} - -if ($action == 'stammdaten_edit') { - $username = $_SESSION["username"]; - - - - $result = $db->query("SELECT ka_id, anrede, vorname, nachname, str, plz, ort, date_format(gebdat, '%d.%m.%Y') gebdat_form, mail, tel - FROM bpm_kandidat - WHERE ka_id = '$username' - LIMIT 1"); - $row = $result->fetch_array(); - - $smarty->assign('persdat_value_anrede', $row['anrede']); - $smarty->assign('persdat_value_vorname', $row['vorname']); - $smarty->assign('persdat_value_nachname', $row['nachname']); - $smarty->assign('persdat_value_gebdat', $row['gebdat_form']); - $smarty->assign('persdat_value_str', $row['str']); - $smarty->assign('persdat_value_plz', $row['plz']); - $smarty->assign('persdat_value_ort', $row['ort']); - $smarty->assign('persdat_value_mail', $row['mail']); - $smarty->assign('persdat_value_tel', $row['tel']); - - ## Fehlerhandling - $error1 = $_GET['error1']; - $error2 = $_GET['error2']; - $error3 = $_GET['error3']; - $error4 = $_GET['error4']; - $error5 = $_GET['error5']; - $error6 = $_GET['error6']; - $error7 = $_GET['error7']; - $error8 = $_GET['error8']; - $error9 = $_GET['error9']; - $error10 = $_GET['error10']; - $error11 = $_GET['error11']; - $error12 = $_GET['error12']; - $error13 = $_GET['error13']; - $error14 = $_GET['error14']; - - if ($error1 == 1){$smarty->assign('erf_hig_anrede', 1);}else{$smarty->assign('erf_hig_anrede', 0);} - if ($error2 == 1){$smarty->assign('erf_hig_vorname', 1);}else{$smarty->assign('erf_hig_vorname', 0);} - if ($error3 == 1){$smarty->assign('erf_hig_nachname', 1);}else{$smarty->assign('erf_hig_nachname', 0);} - if ($error4 == 1){$smarty->assign('erf_hig_gebdat', 1);}else{$smarty->assign('erf_hig_gebdat', 0);} - if ($error5 == 1){$smarty->assign('erf_hig_str', 1);}else{$smarty->assign('erf_hig_str', 0);} - if ($error6 == 1){$smarty->assign('erf_hig_plz', 1);}else{$smarty->assign('erf_hig_plz', 0);} - if ($error7 == 1){$smarty->assign('erf_hig_ort', 1);}else{$smarty->assign('erf_hig_ort', 0);} - if ($error8 == 1){$smarty->assign('erf_hig_mail', 1);}else{$smarty->assign('erf_hig_mail', 0);} - if ($error14 == 1){$smarty->assign('erf_hig_tel', 1);}else{$smarty->assign('erf_hig_tel', 0);} - - #Telefon kein Pflichtfeld derzeit - if($error1 == 1 or $error2 == 1 or $error3 == 1 or $error4 == 1 or $error5 == 1 or $error6 == 1 or $error7 == 1 or $error8 == 1 or $error9 == 1 or $error10 == 1){ - $smarty->assign('persdat_error', 1); - - if($error9 == 1){ - $smarty->assign('persdat_error_text', 'Bitte prüfen Sie das Geburtsdatum.'); - } - if($error10 == 1){ - $smarty->assign('persdat_error_text', 'Die E-Mailadresse enthält Fehler.'); - } -# if($error11 == 1){ -# $smarty->assign('persdat_error_text', 'Sie haben sich bereits registriert. Setzen Sie sich ggf. mit der Hochschule in Verbindung.'); -# } -# if($error12 == 1){ -# $smarty->assign('persdat_error_text', 'Sie haben Sie den Test bereits 1x wiederholt.'); -# } -# if($error13 == 1){ -# $smarty->assign('persdat_error_text', 'Bitte prüfen Sie die Kombination aus ID/TAN.'); -# } - - if($error20 == 1){ - $smarty->assign('persdat_error_text', 'Die damalige ID darf nicht leer sein.'); - } - if($error21 == 1){ - $smarty->assign('persdat_error_text', 'Die damalige TAN darf nicht leer sein.'); - } - if($error1 == 1 or $error2 == 1 or $error3 == 1 or $error4 == 1 or $error5 == 1 or $error6 == 1 or $error7 == 1 or $error8 == 1 or $error14 == 1){ - $smarty->assign('persdat_error_text', 'Bitte füllen Sie die Pflichtfelder aus.'); - } - } -} - -if ($action == 'stammdaten2_edit') { - $username = $_SESSION["username"]; - - if(isset($_POST['anrede'])){ - $anrede = trim($_POST['anrede']); - } - - if(isset($_POST['vorname'])){ - $vorname = addslashes(trim($_POST['vorname'])); - } - - if(isset($_POST['nachname'])){ - $nachname = addslashes(trim($_POST['nachname'])); - } - - if(isset($_POST['gebdat'])){ - $gebdat = addslashes(trim($_POST['gebdat'])); - } - - if(isset($_POST['str'])){ - $str = addslashes(trim($_POST['str'])); - } - - if(isset($_POST['plz'])){ - $plz = addslashes(trim($_POST['plz'])); - } - - if(isset($_POST['ort'])){ - $ort = addslashes(trim($_POST['ort'])); - } - - if(isset($_POST['alter18'])){ - $alter18 = addslashes(trim($_POST['alter18'])); - } - - if(isset($_POST['mail'])){ - $mail = addslashes(trim($_POST['mail'])); - } - - if(isset($_POST['tel'])){ - $tel = addslashes(trim($_POST['tel'])); - } - - if ($anrede == '') { - $error1=1; - $error=true; - } - if ($vorname == ''){ - $error2=1; - $error=true; - } - if ($nachname == ''){ - $error3=1; - $error=true; - } - if ($gebdat == ''){ - $error4=1; - $error=true; - } - if ($str == ''){ - $error5=1; - $error=true; - } - if ($plz == ''){ - $error6=1; - $error=true; - } - if ($ort == ''){ - $error7=1; - $error=true; - } - if ($mail == ''){ - $error8=1; - $error=true; - } - -#Telefon kein Pflichtfeld derzeit -# if ($tel == ''){ -# $error14=1; -# $error=true; -# } - - # Datumsformat von DD.MM.YYYY nach YYYY-MM-DD - $gebdat_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gebdat); - - function validateDate($date, $format = 'Y-m-d'){ - $d = DateTime::createFromFormat($format, $date); - return $d && $d->format($format) == $date; - } - - if(!validateDate($gebdat_form)){ - $error9=1; - $error=true; - } - - if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) { - $error10=1; - $error=true; - } - - if(isset($error)){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=stammdaten_edit&error1=$error1&error2=$error2&error3=$error3&error4=$error4&error5=$error5&error6=$error6&error7=$error7&error8=$error8&error9=$error9&error10=$error10&error14=$error14\">"; - exit; - } - $sql1 = $db->query( "UPDATE bpm_kandidat - SET anrede = '$anrede' - ,vorname = '$vorname' - ,nachname = '$nachname' - ,gebdat = '$gebdat_form' - ,str = '$str' - ,plz = '$plz' - ,ort = '$ort' - ,mail = '$mail' - ,tel = '$tel' - WHERE ka_id = '$username' - " ); - -} -// ende Action -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/datencheck.php b/admin/old/datencheck.php deleted file mode 100644 index eac2812..0000000 --- a/admin/old/datencheck.php +++ /dev/null @@ -1,161 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - #Anzahl der getesteten Kandidaten - $result_anzget = $db->query("SELECT count(distinct ka_id) Anz - FROM bpm_term_kand a, bpm_tanpool b - WHERE a.tp_id = b.tp_id - AND b.login_dat != '0000-00-00 00:00:00'"); - $row_anzget = $result_anzget->fetch_array(); - $smarty->assign('datenchk_anzget', $row_anzget['Anz']); - - #Anzahl der Kandidaten mit ausstehendem Test - $result_aussttest = $db->query("SELECT count(*) Anz - FROM bpm_tanpool b - WHERE verw_dat != '0000-00-00 00:00:00' - AND b.login_dat = '0000-00-00 00:00:00'"); - $row_aussttest = $result_aussttest->fetch_array(); - $smarty->assign('datenchk_aussttest', $row_aussttest['Anz']); - - #Anzahl aller Anmeldung - $result_alleranm = $db->query("SELECT count(distinct ka_id) Anz - FROM bpm_term_kand a, bpm_tanpool b - WHERE a.tp_id = b.tp_id - AND b.verw_dat != '0000-00-00 00:00:00'"); - $row_alleranm = $result_alleranm->fetch_array(); - $smarty->assign('datenchk_alleranm', $row_alleranm['Anz']); - - #Anzahl Durchfaller - komplizierter. Wenn er nach dem ersten Mal durchgefallen doch bestanden hat, gilt er nicht als Durchfaller - $query = "SELECT ka_id, max(tp_id) tp_id - FROM bpm_term_kand - GROUP BY ka_id - "; - - $result = $db->query($query) or die("Cannot execute query1"); - $zaehler = 0; - while ($row = $result->fetch_array()) { - $result_tan = $db->query("SELECT tan - FROM bpm_tanpool - WHERE tp_id = $row[tp_id]"); - $row_tan = $result_tan->fetch_array(); - - $result_bestanden = $db->query("SELECT bestanden - FROM bpm_ergebnisse - WHERE ka_id = $row[ka_id] - AND tan = '$row_tan[tan]'"); - $row_bestanden = $result_bestanden->fetch_array(); - if($row_bestanden['bestanden'] == 0 and $row_bestanden['bestanden'] != ''){ - $zaehler++; - } - } - $smarty->assign('datenchk_anzdurchfaller', $zaehler); - - # Gespeicherte Werte - $query1 = "SELECT a.ka_id, vorname, nachname, date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, CASE tm_standort - WHEN 'L' THEN 'Ludwigsburg' - WHEN 'K' THEN 'Kehl' - ELSE '' END as tm_standort - , behinderung, verkuerzung - FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_ergebnisse d, bpm_tanpool e - WHERE a.ka_id = b.ka_id - AND b.tm_id = c.tm_id - AND a.ka_id = d.ka_id - AND b.tp_id = e.tp_id - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_ergebnisse) - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_upload WHERE upload_dat != '0000-00-00 00:00:00') - AND d.bestanden = '1' - AND e.tan=d.tan - ORDER BY tm_datum DESC, nachname ASC, vorname ASC - "; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - $row_cnt = $result1->num_rows; - $smarty->assign('dokverw_anzdb', $row_cnt); - - while ($row1 = $result1->fetch_array()) { - - $result_test = $db->query("SELECT summe - FROM bpm_ergebnisse - WHERE ka_id = '$row1[ka_id]' - AND bestanden = '1'"); - $row_test = $result_test->fetch_array(); - - $result_anzhzb = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE beschreibung = 'HZB' - AND ka_id = '$row1[ka_id]'"); - $row_anzhzb = $result_anzhzb->fetch_array(); - if($row_anzhzb['Anz'] > 0){ - $image_hzb = "ok.gif"; - }else{ - $image_hzb = "cross.jpg"; - } - - $result_anzzeug = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE beschreibung like 'Zeugnis%' - AND ka_id = '$row1[ka_id]'"); - $row_anzzeug = $result_anzzeug->fetch_array(); - if($row_anzzeug['Anz'] >= 2){ - $image_zeug = "ok.gif"; - }else{ - $image_zeug = "cross.jpg"; - } - - $result_anzleben = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE beschreibung = 'Lebenslauf' - AND ka_id = '$row1[ka_id]'"); - $row_anzleben = $result_anzleben->fetch_array(); - if($row_anzleben['Anz'] >= 1){ - $image_leben = "ok.gif"; - }else{ - $image_leben = "cross.jpg"; - } - - $result_notehzb = $db->query("SELECT hzb, zeugnisschnitt - FROM bpm_note - WHERE ka_id = '$row1[ka_id]'"); - $row_notehzb = $result_notehzb->fetch_array(); - if($row_notehzb['hzb'] == "0.00" or $row_notehzb['hzb'] == ""){ - $image_notehzb = "cross.jpg"; - }else{ - $image_notehzb = "ok.gif"; - } - - if($row_notehzb['zeugnisschnitt'] == "0.00" or $row_notehzb['zeugnisschnitt'] == ""){ - $image_noteschnitt = "cross.jpg"; - }else{ - $image_noteschnitt = "ok.gif"; - } - - $row1['image_noteschnitt'] = $image_noteschnitt; - $row1['image_notehzb'] = $image_notehzb; - $row1['image_leben'] = $image_leben; - $row1['image_zeug'] = $image_zeug; - $row1['anz_zeug'] = $row_anzzeug['Anz']; - $row1['image_hzb'] = $image_hzb; - $row1['testergebnis'] = $row_test['summe']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/dokverw.php b/admin/old/dokverw.php deleted file mode 100644 index 2029482..0000000 --- a/admin/old/dokverw.php +++ /dev/null @@ -1,110 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_restplatz.php"); -require_once("../func_get_parameter.php"); -$verz = "../uploads/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - - # Gespeicherte Werte - $query1 = "SELECT up_id, file, ka_id - FROM bpm_upload - WHERE upload_dat != '0000-00-00 00:00:00'"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - $row_cnt = $result1->num_rows; - $smarty->assign('dokverw_anzdb', $row_cnt); - - while ($row1 = $result1->fetch_array()) { - $result_kand = $db->query("SELECT vorname, nachname - FROM bpm_kandidat - WHERE ka_id = '$row1[ka_id]'"); - $row_kand = $result_kand->fetch_array(); - if (file_exists($row1['file'])) { - $exists = 1; - } else { - $exists = 0; - } - - $row1['vorname'] = $row_kand['vorname']; - $row1['nachname'] = $row_kand['nachname']; - $row1['exists'] = $exists; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - - - $dir = $_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF'])."/$verz"; - - $folder = dir($dir); - while ($dateiname = $folder->read()) { - if (filetype($dir.$dateiname) != "dir") { - $ext = strrchr($dateiname, '.'); - if($ext == '.pdf'){ - $result_checkdoc = $db->query("SELECT count(*) Anz - FROM bpm_upload - WHERE file ='$verz$dateiname' - LIMIT 1"); - $row_checkdoc = $result_checkdoc->fetch_array(); - if($row_checkdoc['Anz'] == 0){ - $exists2 = 0; - $vorname = ""; - $nachname = ""; - }else{ - $result_checkdoc2 = $db->query("SELECT ka_id - FROM bpm_upload - WHERE file ='$verz$dateiname' - LIMIT 1"); - $row_checkdoc2 = $result_checkdoc2->fetch_array(); - - $result_kand = $db->query("SELECT vorname, nachname - FROM bpm_kandidat - WHERE ka_id = '$row_checkdoc2[ka_id]'"); - $row_kand = $result_kand->fetch_array(); - $vorname = $row_kand['vorname']; - $nachname = $row_kand['nachname']; - $exists2 = 1; - } - $row2['vorname'] = $vorname; - $row2['nachname'] = $nachname; - $row2['file'] = $dateiname; - $row2['exists'] = $exists2; - $row2['dateiname'] = $dateiname; - $table_data2[] = $row2; - } - } - } - $smarty->assign('table_data2', $table_data2); - $cntserver = count($table_data2); - $smarty->assign('dokverw_anzserver', $cntserver); -} -if ($action == 'delserver') { - $file = $verz.$_GET['file']; - @unlink($file); - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} -if ($action == 'deldb') { - $up_id = $_GET['up_id']; - $sql1 = $db->query("DELETE FROM bpm_upload - WHERE up_id = $up_id - "); - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/downpdf.php b/admin/old/downpdf.php deleted file mode 100644 index 460eadd..0000000 --- a/admin/old/downpdf.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php -require_once("../config.inc.php"); -if($_SESSION["global_username"] == ''){ -echo"<script type='text/javascript'>window.top.location.href = \"index.php\";</script>"; -exit; -} -$file = str_replace('%2F', '/', urlencode($_GET["file"])); - - -if (file_exists($file)) { -header("Content-Type: application/octet-stream"); -header("Content-Disposition: attachment; filename=" . urlencode(basename($file))); -header("Content-Type: application/download"); -header("Content-Description: File Transfer"); -header("Content-Length: " . filesize($file)); - -flush(); // This doesn't really matter. - -$fp = fopen($file, "r"); -while (!feof($fp)) { - echo fread($fp, 65536); - flush(); // This is essential for large downloads -} - -fclose($fp); -}else{ -echo "Datei nicht gefunden"; -} -?> \ No newline at end of file diff --git a/admin/old/ergebnisse.php b/admin/old/ergebnisse.php deleted file mode 100644 index a92024e..0000000 --- a/admin/old/ergebnisse.php +++ /dev/null @@ -1,123 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../func_get_parameter.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tm_id, date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine a, bpm_term_kand b, bpm_ergebnisse c - WHERE a.tm_id=b.tm_id - AND b.ka_id = c.ka_id - AND a.tm_datum > ADDDATE(now(), -365) - AND a.tm_datum < now() - GROUP BY a.tm_id, tm_datum_form, tm_standort - ORDER BY tm_datum desc"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - - if ($row1['tm_standort'] == 'L') { - $standort = 'Ludwigsburg'; - } - if ($row1['tm_standort'] == 'K') { - $standort = 'Kehl'; - } - - $row1['tm_standort'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'ausgabe') { - if (isset($_POST["testtermin"])) { - $testtermin = $_POST["testtermin"]; - } else { - $testtermin = $_SESSION["testtermin"]; - } - - $_SESSION["testtermin"] = $testtermin; - - $result = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y') tm_datum, tm_standort - FROM bpm_termine - WHERE tm_id = $testtermin"); - $row = $result->fetch_array(); - - if ($row['tm_standort'] == 'L') { - $standort = 'Ludwigsburg'; - } - if ($row['tm_standort'] == 'K') { - $standort = 'Kehl'; - } - - $smarty->assign('erg_datum', $row['tm_datum']); - $smarty->assign('erg_standort', $standort); - - $query1 = "SELECT vorname, nachname, a.ka_id, a.tan, satzerg, gemeinsamkeiten, rechenaufgaben, zahlenreihen, rechenzeichen, matrizen, merkf, summe, bestanden, a.eg_id - FROM bpm_ergebnisse a, bpm_kandidat b, bpm_term_kand c, bpm_termine d, bpm_tanpool e - WHERE a.ka_id = b.ka_id - AND b.ka_id = c.ka_id - AND c.tm_id = d.tm_id - AND c.tp_id = e.tp_id - AND e.tan = a.tan - AND d.tm_id = $testtermin - ORDER BY nachname ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $row1['tm_standort'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'del') { -$ka_id = $_GET['ka_id']; -$eg_id = $_GET['eg_id']; - - $result = $db->query("SELECT vorname, nachname - FROM bpm_kandidat - WHERE ka_id = $ka_id"); - $row = $result->fetch_array(); - $smarty->assign('del_name', "$row[vorname] $row[nachname]"); - $smarty->assign('del_eg_id', $eg_id); - -} - -if ($action == 'del2') { - $eg_id = $_GET['eg_id']; - - $sql1 = $db->query("UPDATE bpm_ergebnisse - SET summe = 0 - ,bestanden='0' - WHERE eg_id= $eg_id"); - -echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=ausgabe\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/old/fetch.php b/admin/old/fetch.php deleted file mode 100644 index 1fe4d26..0000000 --- a/admin/old/fetch.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php - require_once("../config/datenbankanbindung.php"); -$db = dbconnect(); -$output = ''; -$script = ''; -$script = $_POST['script']; - -if(isset($_POST["query"])) -{ - $search = mysqli_real_escape_string($db, $_POST["query"]); - if($script == "kand_del" OR $script == "termine_kandidat"){ - $query = " - SELECT a.ka_id, vorname, nachname - FROM bpm_kandidat a, bpm_term_kand b, bpm_tanpool c - WHERE a.ka_id =b.ka_id - AND b.tp_id =c.tp_id - AND c.login_dat = '0000-00-00 00:00:00' - AND (vorname LIKE '%".$search."%' - OR nachname LIKE '%".$search."%') - ORDER BY nachname ASC, vorname ASC"; - }else{ - $query = " - SELECT ka_id, vorname, nachname - FROM bpm_kandidat - WHERE vorname LIKE '%".$search."%' - OR nachname LIKE '%".$search."%' - "; - } -} -else -{ - if($script == "kand_del" OR $script == "termine_kandidat"){ - $query = " - SELECT a.ka_id, vorname, nachname - FROM bpm_kandidat a, bpm_term_kand b, bpm_tanpool c - WHERE a.ka_id =b.ka_id - AND b.tp_id =c.tp_id - AND c.login_dat = '0000-00-00 00:00:00' - ORDER BY nachname ASC, vorname ASC"; - }else{ - $query = " - SELECT ka_id, vorname, nachname - FROM bpm_kandidat - ORDER BY nachname, vorname"; - } -} -$result = mysqli_query($db, $query); -if(mysqli_num_rows($result) > 0) -{ - while($row = mysqli_fetch_array($result)) - { - if(mysqli_num_rows($result) == 1){ - $output .= " - <option value='$row[ka_id]' selected>$row[nachname], $row[vorname]</option> - "; - - }else{ - $output .= " - <option value='$row[ka_id]'>$row[nachname], $row[vorname]</option> - "; - - } - } - echo $output; -} -else -{ - echo 'Data Not Found'; -} -?> diff --git a/admin/old/kand_del.php b/admin/old/kand_del.php deleted file mode 100644 index 52fb1a2..0000000 --- a/admin/old/kand_del.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - -# Dropdown befüllen übernimmt ajax:fetch.php -# $query1 = "SELECT a.ka_id, vorname, nachname, date_format(gebdat, '%d.%m.%Y') geb_format -# FROM bpm_kandidat a, bpm_term_kand b, bpm_tanpool c -# WHERE a.ka_id =b.ka_id -# AND b.tp_id =c.tp_id -# AND c.login_dat = '0000-00-00 00:00:00' -# ORDER BY nachname ASC, vorname ASC"; -# -# $result1 = $db->query($query1) or die("Cannot execute query1"); -# -# -# while ($row1 = $result1->fetch_array()) { -# $table_data1[] = $row1; -# } -# $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'nachfrage') { - $ka_id = $_POST['user']; - - $result_id = $db->query("SELECT vorname, nachname - FROM bpm_kandidat - WHERE ka_id = '$ka_id'"); - $row_id = $result_id->fetch_array(); - - $smarty->assign('kand_name', "$row_id[vorname] $row_id[nachname]"); - $smarty->assign('kand_ka_id', $ka_id); - -} - -if ($action == 'delkand') { - $ka_id = $_GET['ka_id']; - - - $result_del = $db->query("SELECT count(*) Anz - FROM bpm_kandidat a, bpm_term_kand b, bpm_tanpool c - WHERE a.ka_id =b.ka_id - AND b.tp_id =c.tp_id - AND c.login_dat = '0000-00-00 00:00:00' - AND a.ka_id = $ka_id - "); - $row_del = $result_del->fetch_array(); - - # Kandidat war inzwischen nicht beim Test angemeldet - if ($row_del['Anz'] == 1) { - - #Aktuelle Tan ermitteln - $result_tan = $db->query("SELECT a.tp_id, tan - FROM bpm_tanpool a, bpm_term_kand b - WHERE a.tp_id = b.tp_id - AND b.ka_id = '$ka_id' - ORDER BY b.tk_id DESC - LIMIT 1"); - $row_tan = $result_tan->fetch_array(); - $tan = $row_tan['tan']; - $tp_id = $row_tan['tp_id']; - - - $sql1 = $db->query("DELETE FROM bpm_term_kand - WHERE tp_id = $tp_id - AND ka_id= $ka_id"); - - $sql1 = $db->query("DELETE FROM bpm_sonstige_mail - WHERE ka_id= $ka_id"); - - # TAN wieder freigeben - $sql2 = $db->query("UPDATE bpm_tanpool - SET verw_dat = '0000-00-00 00:00:00' - ,login_dat = '0000-00-00 00:00:00' - WHERE tp_id= $tp_id - AND tan = '$tan'"); - - # Prüfen, ob es noch eine alte Bewerbung zum Test gibt, den er nicht bestanden hatte. Dann sollen die Stammdaten erhalten bleiben - $result_del2 = $db->query("SELECT count(*) Anz - FROM bpm_term_kand - WHERE ka_id ='$ka_id' - "); - $row_del2 = $result_del2->fetch_array(); - - if($row_del2['Anz'] == 0){ - $sql3 = $db->query("DELETE FROM bpm_kandidat - WHERE ka_id= $ka_id"); - } - } - -echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/liste_tn.php b/admin/old/liste_tn.php deleted file mode 100644 index 3e53669..0000000 --- a/admin/old/liste_tn.php +++ /dev/null @@ -1,256 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tm_id, date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine a, bpm_term_kand b - WHERE a.tm_id=b.tm_id - AND a.tm_datum > ADDDATE(now(), -7) - GROUP BY a.tm_id, tm_datum_form, tm_standort - ORDER BY tm_datum ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - - if($row1['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row1['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - - $row1['tm_standort'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'ausgabe') { - $testtermin = $_POST["testtermin"]; - $german = $db->query("SET lc_time_names = 'de_DE';"); - $query_termin = $db->query("SELECT date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine - WHERE tm_id = $testtermin"); - $row_get_termin = $query_termin->fetch_array(); - - if($row_get_termin['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row_get_termin['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - - -$buffer = '<page backtop="7mm" backbottom="10mm" style="font-size: 11pt">'; -$buffer .= "<style type='text/css'> - .td1 { border:0.3px solid black; } - .td_foot { border: none; } - body { font-size: 14px; } - h1 { font-size: 22px; } - table { font-size: 12px; } - td{padding: 3px;} - table.page_footer {width: 100%; border: none; padding: 20mm} - .fcol{color: #0C25BF;} - .td2 { border:0.3px solid black; - height:1.0cm; - } - </style>"; - -$buffer.="<h1><p align='center'>$row_get_termin[tm_datum_form], $standort</p></h1> -<table cellspacing='0' cellpadding='0' border='0.3'> -<thead> -<tr> - <td class='td1' width='180'> - <b>Name</b> - </td> - <td class='td1' width='80'> - <b>Geburtstag</b> - </td> - <td class='td1' width='80'> - <b>Minderjährig</b> - </td> - <td class='td1' width='100'> - <b>ID</b> - </td> - <td class='td1' width='140'> - <b>Mail</b> - </td> - <td class='td1' width='60'> - <b>TAN</b> - </td> - <td class='td1' width='100'> - <b>Link</b> - </td> -</tr> -</thead>"; - $query1 = "SELECT anrede, vorname, nachname, str, plz, ort, alter18, id, date_format(gebdat,'%d.%m.%Y') gebdat_form, tan, tinyurl, mail - FROM bpm_term_kand a, bpm_tanpool b, bpm_kandidat c - WHERE a.tp_id= b.tp_id - AND a.ka_id = c.ka_id - AND a.tm_id = $testtermin - ORDER BY nachname, vorname - "; - - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - $smarty->assign('termine_aktdat', date("d.m.Y H:i", time() ) ) ; - while ($row1 = $result1->fetch_array()) { - if($row1['alter18'] == 0){ - $minderj = 'ja'; - } - if($row1['alter18'] == 1){ - $minderj = 'nein'; - } -$buffer.=" -<tr> - <td class='td1' width='180'> - $row1[nachname], $row1[vorname] ($row1[anrede])<br> - $row1[str]<br> - $row1[plz] $row1[ort] - </td> - <td class='td1' width='80'> - $row1[gebdat_form] - </td> - <td class='td1' width='80'> - $minderj - </td> - <td class='td1' width='100'> - $row1[id] - </td> - <td class='td1' width='140'> - $row1[mail] - </td> - <td class='td1' width='60'> - $row1[tan] - </td> - <td class='td1' width='100'> - $row1[tinyurl] - </td> -</tr>"; - } - -$buffer.=" -</table> -</page>"; - -require_once("../mpdf/vendor/autoload.php"); -$mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', - 'format' => 'A4', - 'orientation' => 'P', - 'margin_top' => 10, - 'margin_bottom' => 10, - 'margin_left' => 10, - 'margin_right' => 16, - 'default_font' => 'arial' -]); - - - - $query2 = "SELECT anrede, vorname, nachname, str, plz, ort, alter18, id, date_format(gebdat,'%d.%m.%Y') gebdat_form, tan, tinyurl, mail, hochschule - FROM bpm_term_kand a, bpm_tanpool b, bpm_kandidat c - WHERE a.tp_id= b.tp_id - AND a.ka_id = c.ka_id - AND a.tm_id = $testtermin - ORDER BY nachname, vorname - "; - - - $result2 = $db->query($query2) or die("Cannot execute query2"); - - $smarty->assign('termine_aktdat', date("d.m.Y H:i", time() ) ) ; - while ($row2 = $result2->fetch_array()) { - - if($row2['alter18'] == 0){ - $minderj = 'ja'; - } - if($row2['alter18'] == 1){ - $minderj = 'nein'; - } - - if($row2['hochschule'] == 'Ludwigsburg'){ - $link = "https://www.hs-ludwigsburg.de/studium/public-management-ba/bewerben.html"; - } - if($row2['hochschule'] == 'Kehl'){ - $link = "http://www.hs-kehl.de/studium-lehre/bachelor-studiengaenge/public-management-ba/bewerbung/"; - } - if($row2['hochschule'] == 'NA'){ - $link = "http://www.hs-kehl.de/studium-lehre/bachelor-studiengaenge/public-management-ba/bewerbung/ bzw.<br>https://www.hs-ludwigsburg.de/studium/public-management-ba/bewerben.html"; - } - $buffer.=" - <pagebreak> - <page backtop='7mm' backbottom='10mm' style='font-size: 11pt'> - <h1>Anmeldedaten für $row2[vorname] $row2[nachname] ($row2[gebdat_form])</h1> - <br><br> - Bitte bewahren Sie die nachfolgenden Anmeldedaten für das gesamte Bewerbungsverfahren auf. - <br> - <br> - <table cellspacing='0' cellpadding='0' border='0.3'> - <thead> - <tr> - <td class='td2' width='350'> - <b>Persönliche ID</b> - </td> - <td class='td2' width='350'> - <b>Passwort/TAN</b> - </td> - </tr> - </thead> - <tr> - <td class='td2'> - $row2[id] - </td> - <td class='td2'> - $row2[tan] - </td> - </tr> - </table> - <br> - <br> - Weiterführende Links: - <table cellspacing='0' cellpadding='0' border='0.3'> - <tr> - <td class='td2' width='150'> - <b>Weitere Informationen: </b> - </td> - <td class='td2' width='550'> - $link - </td> - </tr> - </table> - </page>"; - } -#$mpdf->setFooter("Teilnehmerliste|$row_get_termin[tm_datum_form], $standort|{PAGENO} / {nb}"); -$mpdf->setFooter("Testteilnehmer||$row_get_termin[tm_datum_form], $standort"); - - - -$mpdf->WriteHTML($buffer); - -// Output a PDF file directly to the browser -$mpdf->Output(); - - -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/logout.php b/admin/old/logout.php deleted file mode 100644 index c148555..0000000 --- a/admin/old/logout.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -session_destroy(); - -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/old/mail_test.php b/admin/old/mail_test.php deleted file mode 100644 index 2a6339a..0000000 --- a/admin/old/mail_test.php +++ /dev/null @@ -1,151 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tm_id, date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine a, bpm_term_kand b - WHERE a.tm_id=b.tm_id - AND a.tm_datum > ADDDATE(now(), -7) - GROUP BY a.tm_id, tm_datum_form, tm_standort - ORDER BY tm_datum ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - - if($row1['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row1['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - - $row1['tm_standort'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'mailsenden_test') { - $testtermin = $_POST["testtermin"]; - $_SESSION["testtermin"] = $testtermin; - - $german = $db->query("SET lc_time_names = 'de_DE';"); - $query_termin = $db->query("SELECT date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine - WHERE tm_id = $testtermin"); - $row_get_termin = $query_termin->fetch_array(); - - if($row_get_termin['tm_standort'] == 'L'){ - $sender = 'Hochschule Ludwigsburg'; - $sendermail = trim(get_parameter(8)); - } - if($row_get_termin['tm_standort'] == 'K'){ - $sender = 'Hochschule Kehl'; - $sendermail = trim(get_parameter(7)); - } - $smarty->assign('mail_sender', $sender); - $smarty->assign('mail_sendermail', $sendermail); - - $query1 = "SELECT vorname, nachname, mail - FROM bpm_kandidat - WHERE ka_id IN (SELECT ka_id FROM bpm_term_kand WHERE tm_id = $testtermin)"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - $mail = ""; - while ($row1 = $result1->fetch_array()) { - $mail .= $row1['mail'].", "; - } - $mail = substr($mail,0,-2); - $smarty->assign('empfaenger', $mail); -} - -if ($action == 'mailsenden2_test') { - $testtermin = $_SESSION["testtermin"]; - - $german = $db->query("SET lc_time_names = 'de_DE';"); - $query_termin = $db->query("SELECT date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine - WHERE tm_id = $testtermin"); - $row_get_termin = $query_termin->fetch_array(); - - if($row_get_termin['tm_standort'] == 'L'){ - $sender = 'Hochschule Ludwigsburg'; - $sendermail = trim(get_parameter(8)); - } - if($row_get_termin['tm_standort'] == 'K'){ - $sender = 'Hochschule Kehl'; - $sendermail = trim(get_parameter(7)); - } - - $empfaenger_alle = $_POST['mail_mail']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - - $empf_array = explode(",", $empfaenger_alle); -# echo " -# <pre> -# From: $sender - $sendermail<br> -# $empfaenger<br> -# $betreff<br> -# $text<br>"; -# #print_r($empf_array); -# echo "</pre>"; -# exit; - - $style ="<head><style>p {margin: 0;}</style></head>"; - $text = $style.$text; - - for($i=0;$i<count($empf_array);$i++){ - $empfaenger = trim($empf_array[$i]); - - $query_kaid = $db->query("SELECT ka_id - FROM bpm_kandidat - WHERE mail = '$empfaenger'"); - $row_kaid = $query_kaid->fetch_array(); - - - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - $betreff_db = addslashes($betreff); - if ($return) { - $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat) - VALUES ('$sender', '$sendermail', '$row_kaid[ka_id]', '$empfaenger', '$betreff', '$text_db', 'V', '$datum_db') - "); - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - } else { - $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat) - VALUES ('$sender', '$sendermail', '$row_kaid[ka_id]', '$empfaenger', '$betreff', '$text_db', 'F', '$datum_db') - "); - $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse das Kandidaten."); - } - } -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/parameter.php b/admin/old/parameter.php deleted file mode 100644 index 4f02dec..0000000 --- a/admin/old/parameter.php +++ /dev/null @@ -1,84 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $query1 = "SELECT pid, beschreibung, wert - FROM bpm_parameter - ORDER BY sort ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - $result_ct = $db->query("SELECT count(*) Anz FROM bpm_tanpool where verw_dat = '0000-00-00 00:00:00'"); - $row_ct = $result_ct->fetch_array(); - $smarty->assign('parameter_anzahltan', "$row_ct[Anz]"); - - while ($row1 = $result1->fetch_array()) { - # Passwort f�r die Praxisstellen wird verschl�sselt gespeichert - - if(!isset($zaehler) or $zaehler == 1){ - $zaehler = 0; - }else{ - $zaehler = 1; - } - $row1['zaehler'] = $zaehler; - $table_data1[] = $row1; - } - - $smarty->assign('table_data1', $table_data1); -} - -if($action == 'save'){ - - - $query2 = "SELECT pid - FROM bpm_parameter - ORDER BY pid ASC"; - $result2 = $db->query( $query2) - or die ("Cannot execute query2"); - - while ($row2 = $result2->fetch_array()){ - $pid = $row2['pid']; - $pid_value = $_POST[$pid]; - - - $sql1 = $db->query( "UPDATE bpm_parameter - SET wert = '$pid_value' - WHERE pid = $pid - " ); - - } - - if(!$sql1){ - $error = TRUE; - $error_reason .= "Fehler beim Update [bpm_parameter]<br>"; - }else{ - $error = FALSE; - $smarty->assign('parameter_inserterr', "2"); - echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF'] ."?\">"; - } - - if($error){ - $smarty->assign('parameter_inserterr', "1"); - $smarty->assign('parameter_reason', "$error_reason"); // Kein Mailversand - } // Ende IF : Insert hat geklappt - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/praxisstellen_edit.php b/admin/old/praxisstellen_edit.php deleted file mode 100644 index 873f620..0000000 --- a/admin/old/praxisstellen_edit.php +++ /dev/null @@ -1,346 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_restplatz.php"); -require_once("../func_get_parameter.php"); -require_once("../func_tangen.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - if (isset($_GET['edit'])) { - $_SESSION["prxedit_status"] = 'edit'; - $id = $_GET['edit']; - $_SESSION["prxedit_id"] = $id; - - } else { - $_SESSION["prxedit_status"] = 'neu'; - unset($_SESSION['prxedit_user']); - unset($_SESSION['prxedit_username']); - } - - # Falls von bewerber_daten kommend - if($_GET['ka_id'] != ''){ - $user = $_GET['ka_id']; - $result_name = $db->query("SELECT vorname, nachname - FROM bpm_kandidat - WHERE ka_id = $user"); - $row_name = $result_name->fetch_array(); - $_SESSION["prxedit_user"] = $user; - $_SESSION["prxedit_username"] = "$row_name[vorname] $row_name[nachname]"; - # Falls aus bewerber_daten.php kommend, bietet man einen zurückbutton an - $smarty->assign('prxedit_value_user', $_SESSION["prxedit_user"]); - $smarty->assign('prxedit_value_username', $_SESSION["prxedit_username"]); - } - - $result_all = $db->query("SELECT count(*) Anz - FROM bpm_dienststellen - "); - $row_all = $result_all->fetch_array(); - $smarty->assign('prxedit_value_anzall', $row_all['Anz']); - - - $result_unreg = $db->query("SELECT count(*) Anz - FROM bpm_dienststellen - WHERE register_dat = '0000-00-00 00:00:00'"); - $row_unreg = $result_unreg->fetch_array(); - $smarty->assign('prxedit_value_anzunreg', $row_unreg['Anz']); - - $result_reg = $db->query("SELECT count(*) Anz - FROM bpm_dienststellen - WHERE register_dat != '0000-00-00 00:00:00'"); - $row_reg = $result_reg->fetch_array(); - $smarty->assign('prxedit_value_anzreg', $row_reg['Anz']); - - - - # -- Fehlermeldungen -- # - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('prxedit_error', 1); - - $smarty->assign('prxedit_value_art', $_SESSION["prxedit_value_art"]); - $smarty->assign('prxedit_value_name', $_SESSION["prxedit_value_name"]); - $smarty->assign('prxedit_value_str', $_SESSION["prxedit_value_str"]); - $smarty->assign('prxedit_value_plz', $_SESSION["prxedit_value_plz"]); - $smarty->assign('prxedit_value_ort', $_SESSION["prxedit_value_ort"]); - $smarty->assign('prxedit_value_mail', $_SESSION["prxedit_value_mail"]); - $smarty->assign('prxedit_value_gueltigvon', $_SESSION["prxedit_value_gueltigvon"]); - $smarty->assign('prxedit_value_gueltigbis', $_SESSION["prxedit_value_gueltigbis"]); - - - - if ($errorno == 3) { - # ungültiges Datum - $smarty->assign('prxedit_error_text', "Das eingegebene Gültig von Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); - } - if ($errorno == 4) { - # ungültiges Datum - $smarty->assign('prxedit_error_text', "Das eingegebene Gültig bis Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); - } - } - - # --- Wenn Werte editiert werden ------------ - if ($_SESSION["prxedit_status"] == 'edit') { - - $result_edit = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form - FROM bpm_dienststellen - WHERE dst_id = $id"); - $row_edit = $result_edit->fetch_array(); - if($row_edit['gueltig_von_form'] == '00.00.0000'){ - $gueltig_von_form = ""; - }else{ - $gueltig_von_form = $row_edit['gueltig_von_form']; - } - if($row_edit['gueltig_bis_form'] == '00.00.0000'){ - $gueltig_bis_form = ""; - }else{ - $gueltig_bis_form = $row_edit['gueltig_bis_form']; - } - $smarty->assign('prxedit_value_art', "$row_edit[bezeichnung]"); - $smarty->assign('prxedit_value_name', "$row_edit[name]"); - $smarty->assign('prxedit_value_str', "$row_edit[str]"); - $smarty->assign('prxedit_value_plz', "$row_edit[plz]"); - $smarty->assign('prxedit_value_ort', "$row_edit[ort]"); - $smarty->assign('prxedit_value_mail', "$row_edit[mail]"); - $smarty->assign('prxedit_value_gueltigvon', "$gueltig_von_form"); - $smarty->assign('prxedit_value_gueltigbis', "$gueltig_bis_form"); - - } - # --- Wenn Werte editiert werden Ende ------- - - if ($_GET['editende'] == 1) { - # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - $_SESSION["prxedit_status"] = 'neu'; - } - - - -} - - -if ($action == 'save') { - -$art = $_POST['art']; -$name = $_POST['name']; -$str = $_POST['str']; -$plz = $_POST['plz']; -$ort = $_POST['ort']; -$mail = $_POST['mail']; -$gueltigvon = $_POST['gueltigvon']; -$gueltigbis = $_POST['gueltigbis']; -$regmail = $_POST['regmail']; - -$_SESSION["prxedit_value_art"] = $art; -$_SESSION["prxedit_value_name"] = $name; -$_SESSION["prxedit_value_str"] = $str; -$_SESSION["prxedit_value_plz"] = $plz; -$_SESSION["prxedit_value_ort"] = $ort; -$_SESSION["prxedit_value_mail"] = $mail; - -$gueltigvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigvon); -$gueltigbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigbis); - - -function validateDate($date, $format = 'Y-m-d') -{ - $d = DateTime::createFromFormat($format, $date); - return $d && $d->format($format) == $date; -} - -if(!validateDate($gueltigvon_form) AND $gueltigvon_form != ''){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">"; - exit; -} - -if(!validateDate($gueltigbis_form) AND $gueltigbis_form != ''){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=4\">"; - exit; -} - -if($gueltigvon_form == ''){ - $gueltigvon_form ='0000-00-00'; -} - -if($gueltigbis_form == ''){ - $gueltigbis_form ='0000-00-00'; -} - - $bez = $art." ".$name; - - #$datum = date("Y-m-d H:i:s"); - - if ($_SESSION["prxedit_status"] == 'neu') { - $tan = tangen(); - $sql1 = $db->query("INSERT INTO bpm_dienststellen ( bezeichnung - , name - , bez - , str - , plz - , ort - , mail - , init_tan - , gueltig_von - , gueltig_bis - ) - VALUES - ( '$art' - , '$name' - , '$bez' - , '$str' - , '$plz' - , '$ort' - , '$mail' - , '$tan' - , '$gueltigvon_form' - , '$gueltigbis_form' - ) - "); - } - - if ($_SESSION["prxedit_status"] == 'edit') { - $id = $_SESSION["prxedit_id"]; - $ka_id = $_SESSION["prxedit_user"]; - if($regmail == 'j'){ - $tan = tangen(); - $result = $db->query("UPDATE bpm_dienststellen - SET bezeichnung = '$art' - , name = '$name' - , bez = '$bez' - , str = '$str' - , plz = '$plz' - , ort = '$ort' - , mail = '$mail' - , init_tan = '$tan' - , gueltig_von = '$gueltigvon_form' - , gueltig_bis = '$gueltigbis_form' - , regmail_betreff = '' - , regmail_text = '' - , regmail_status = 'O' - , regmail_sendedat = '0000-00-00 00:00:00' - , pwd = '' - , register_dat = '0000-00-00 00:00:00' - WHERE dst_id = $id - "); - }else{ - $result = $db->query("UPDATE bpm_dienststellen - SET bezeichnung = '$art' - , name = '$name' - , bez = '$bez' - , str = '$str' - , plz = '$plz' - , ort = '$ort' - , mail = '$mail' - , gueltig_von = '$gueltigvon_form' - , gueltig_bis = '$gueltigbis_form' - WHERE dst_id = $id - "); - } - unset($_SESSION['prxedit_id']); - } - # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende&ka_id=$ka_id\">"; - - -} -if ($action == 'del') { - $id = $_GET['id']; - - $del1 = $db->query("DELETE FROM bpm_termine WHERE id = $id"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - - -if ($action == 'mailsenden') { - - $dst_id = $_GET['dst_id']; - $result_erg = $db->query("SELECT regmail_betreff, regmail_text, mail - FROM bpm_dienststellen - WHERE dst_id =$dst_id"); - $row_erg = $result_erg->fetch_array(); - - $sender = "Hochschule Ludwigsburg"; - $sendermail = get_parameter(8); - - $smarty->assign('mail_sender', $sender); - $smarty->assign('mail_sendermail', $sendermail); - - - $smarty->assign('mail_text', $row_erg['regmail_text']); - $smarty->assign('mail_betreff', $row_erg['regmail_betreff']); - $smarty->assign('mail_mail', $row_erg['mail']); - $smarty->assign('mail_dstid', $dst_id); -} - -if ($action == 'mailsenden2') { - $dst_id = $_POST['dst_id']; - $sender = $_POST['mail_sender']; - $sendermail = $_POST['mail_sendermail']; - $empfaenger = $_POST['mail_mail']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - - #Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail - $style ="<head> - <style> - p {margin: 0;} - </style> - </head> - "; - $text = $style.$text; - - #echo " - #From: $sender - $sendermail<br> - #$empfaenger<br> - #$betreff<br> - #$text<br>"; - #exit; - - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - $betreff_db = addslashes($betreff); - if ($return) { - $sql1 = $db->query("UPDATE bpm_dienststellen - SET regmail_text = '$text_db' - , regmail_betreff = '$betreff' - , regmail_status = 'V' - , regmail_sendedat = '$datum_db' - WHERE dst_id = $dst_id - "); - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - } else { - $sql1 = $db->query("UPDATE bpm_dienststellen - SET regmail_text = '$text_db' - , regmail_betreff = '$betreff_db' - , status = 'F' - WHERE dst_id = $dst_id - "); - $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse der Praxissstelle."); - } -} - - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/praxisstellen_news.php b/admin/old/praxisstellen_news.php deleted file mode 100644 index 3a0611d..0000000 --- a/admin/old/praxisstellen_news.php +++ /dev/null @@ -1,151 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_restplatz.php"); -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - if (isset($_GET['edit'])) { - $_SESSION["news_status"] = 'edit'; - $pn_id = $_GET['edit']; - $_SESSION["news_pn_id"] = $pn_id; - } else { - $_SESSION["news_status"] = 'neu'; - } - - # -- Fehlermeldungen -- # - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('news_error', 1); - - $smarty->assign('news_value_headline', $_SESSION["news_value_headline"]); - $smarty->assign('news_value_text', $_SESSION["news_value_text"]); - - if ($errorno == 1) { - # ungültiges Datum - $smarty->assign('news_error_text', "Bitte füllen Sie alle Felder aus!"); - } - } - - # --- Wenn Werte editiert werden ------------ - if ($_SESSION["news_status"] == 'edit') { - $result_edit = $db->query("SELECT pn_id, pn_headline, pn_text - FROM bpm_prxnews - WHERE pn_id = $pn_id"); - $row_edit = $result_edit->fetch_array(); - $smarty->assign('news_value_headline', "$row_edit[pn_headline]"); - $smarty->assign('news_value_text', "$row_edit[pn_text]"); - - } - # --- Wenn Werte editiert werden Ende ------- - - if ($_GET['editende'] == 1) { - # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - $_SESSION["news_status"] = 'neu'; - } - - - # Gespeicherte Werte - $query1 = "SELECT pn_id, pn_headline, pn_text, date_format(pn_date, '%d.%m.%Y - %H:%i Uhr') pn_date_form - FROM bpm_prxnews - ORDER BY pn_date DESC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - while ($row1 = $result1->fetch_array()) { - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'save') { - -$headline = $_POST['headline']; -$text = $_POST['text']; - -$_SESSION["news_value_headline"] = $headline; -$_SESSION["news_value_text"] = $text; - - -if($text == "" or $headline == ""){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - exit; -} - - - $datum = date("Y-m-d H:i:s"); - $headline_db = addslashes($headline); - $text_db = addslashes($text); - - if ($_SESSION["news_status"] == 'neu') { - - $sql1 = $db->query("INSERT INTO bpm_prxnews ( pn_headline - , pn_text - , pn_date - ) - VALUES - ( '$headline_db' - , '$text_db' - , '$datum' - ) - "); - } - - if ($_SESSION["news_status"] == 'edit') { - $pn_id = $_SESSION["news_pn_id"]; - - $result = $db->query("UPDATE bpm_prxnews - SET pn_headline = '$headline_db' - , pn_text = '$text_db' - WHERE pn_id = $pn_id - "); - - unset($_SESSION['news_pn_id']); - - } - # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; - - -} - -if ($action == 'show') { - $pn_id = $_GET['pn_id']; - $result_show = $db->query("SELECT pn_headline, pn_text - FROM bpm_prxnews - WHERE pn_id = $pn_id - "); - $row_show = $result_show->fetch_array(); - $smarty->assign('prx_show_headline', $row_show['pn_headline']); - $smarty->assign('prx_show_text', $row_show['pn_text']); -} - -if ($action == 'del') { - $pn_id = $_GET['pn_id']; - - $del1 = $db->query("DELETE FROM bpm_prxnews WHERE pn_id = $pn_id"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/prx_search.php b/admin/old/prx_search.php deleted file mode 100644 index d077ec3..0000000 --- a/admin/old/prx_search.php +++ /dev/null @@ -1,163 +0,0 @@ -<?php -require_once("../config.inc.php"); -require_once("../config/func_cryption.php"); - - $db = dbconnect(); - - if($_GET['search'] == 'reg'){ - $result1 = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form - , gueltig_von, gueltig_bis, register_dat, init_tan, regmail_status, date_format(regmail_sendedat, '%d.%m.%Y - %H:%i') regmail_sendedat_form - FROM bpm_dienststellen - WHERE register_dat != '0000-00-00 00:00:00' - ORDER BY name ASC"); - }elseif($_GET['search'] == 'unreg'){ - $result1 = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form - , gueltig_von, gueltig_bis, register_dat, init_tan, regmail_status, date_format(regmail_sendedat, '%d.%m.%Y - %H:%i') regmail_sendedat_form - FROM bpm_dienststellen - WHERE register_dat = '0000-00-00 00:00:00' - ORDER BY name ASC"); - }else{ - - $result1 = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form - , gueltig_von, gueltig_bis, register_dat, init_tan, regmail_status, date_format(regmail_sendedat, '%d.%m.%Y - %H:%i') regmail_sendedat_form - FROM bpm_dienststellen - WHERE upper(name) LIKE '%" . strtoupper($_GET['search']) . "%' - OR plz LIKE '%" . $_GET['search'] . "%' - OR bezeichnung LIKE '%" . $_GET['search'] . "%' - ORDER BY name ASC"); - } -echo " -<table width='100%' border='1' cellspacing='0' cellpadding='0'> - <tr> - <td style='padding-left:5px'> - <b>#</b> - </td> - <td style='padding-left:5px'> - <b>Behördenart</b> - </td> - <td style='padding-left:5px'> - <b>Name</b> - </td> - <td style='padding-left:5px'> - <b>Straße</b> - </td> - <td style='padding-left:5px'> - <b>PLZ</b> - </td> - <td style='padding-left:5px'> - <b>Ort</b> - </td> - <td style='padding-left:5px'> - <b>Mailadresse</b> - </td> - <td style='padding-left:5px'> - <b>Registrierungstan</b> - </td> - <td style='padding-left:5px'> - <b>Registrierungslink</b> - </td> - <td style='padding-left:5px'> - <b>Registrierungsmail</b> - </td> - <td style='padding-left:5px'> - <b>Gültig von</b> - </td> - <td style='padding-left:5px'> - <b>Gültig bis</b> - </td> - <td align='center'> - <b>Edit</b> - </td> - </tr> -"; - - while($row = $result1->fetch_array()) - { - if($row['gueltig_von'] != '0000-00-00'){ - $gueltig_von = $row['gueltig_von_form']; - }else{ - $gueltig_von = ''; - } - - if($row['gueltig_bis'] != '0000-00-00'){ - $gueltig_bis = $row['gueltig_bis_form']; - }else{ - $gueltig_bis = ''; - } - - if($row['register_dat'] == '0000-00-00 00:00:00'){ - $tan = $row['init_tan']; - $id_url = cryption($row['dst_id'], 'e'); - $link_register = "<a href='../praxisstelle/register.php?dst=$id_url' target='_new'>Registrierungslink</a>"; - $status = ""; - - }else{ - $tan = ""; - $link_register = ""; - } - if ($row['regmail_status'] == 'V') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='praxisstellen_edit.php?action=mailsenden&dst_id=$row[dst_id]'>Versendet</a><br>$row[regmail_sendedat_form]"; - } - if ($row['regmail_status'] == 'F') { - $status = "<a class='aformlink box' title='Mail erneut senden' href='praxisstellen_edit.php?action=mailsenden&dst_id=$row[dst_id]'>Fehler</a>"; - } - - - - $lnnr++; - echo '<tr>'; - echo '<td style="padding-left:5px">'; - echo $lnnr; - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['bezeichnung']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['name']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['str']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['plz']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['ort']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $row['mail']); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $tan); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $link_register); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $status); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $gueltig_von); - echo '</td>'; - - echo '<td style="padding-left:5px">'; - echo preg_replace('/(' . $_GET['search'] . ')/Usi', '<span class="result">\\1</span>', $gueltig_bis); - echo '</td>'; - - echo '<td align="center">'; - echo '<a href=?edit='.$row['dst_id'].'><img title = "Stelle bearbeiten" border="0" height=10 src="../templates/modern/images/edit.png"></a>'; - echo '</td>'; - echo '</tr>'; - } -echo "</table>"; -?> diff --git a/admin/old/rangliste2.php b/admin/old/rangliste2.php deleted file mode 100644 index 886d439..0000000 --- a/admin/old/rangliste2.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - - # Gespeicherte Werte - $query1 = "SELECT a.ka_id, vorname, nachname, date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, CASE tm_standort - WHEN 'L' THEN 'Ludwigsburg' - WHEN 'K' THEN 'Kehl' - ELSE '' END as tm_standort - , summe - , id - , mail - FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_ergebnisse d, bpm_tanpool e - WHERE a.ka_id = b.ka_id - AND b.tm_id = c.tm_id - AND a.ka_id = d.ka_id - AND b.tp_id = e.tp_id - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_ergebnisse) - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_upload WHERE upload_dat != '0000-00-00 00:00:00') - AND d.bestanden = '1' - AND e.tan=d.tan - ORDER BY summe DESC, nachname ASC, vorname ASC - "; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - $row_cnt = $result1->num_rows; - $smarty->assign('dokverw_anzdb', $row_cnt); - - $rangliste = 0; - $lfd_nr2 = 0; - $lfd_nr3 = 0; - $summevorher = 0; - - while ($row1 = $result1->fetch_array()) { - - $lfd_nr2++; - - $summe = $row1['summe']; - if($summe == $summevorher){ - $rangliste = $lfd_nr3; - }else{ - $rangliste = $lfd_nr2; - $lfd_nr3 = $lfd_nr2; - } - $summevorher = $row1['summe']; - - - $row1['rangliste'] = $rangliste; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/rangliste2_excel.php b/admin/old/rangliste2_excel.php deleted file mode 100644 index de3999c..0000000 --- a/admin/old/rangliste2_excel.php +++ /dev/null @@ -1,104 +0,0 @@ -<?php -# Orner phpspreadsheet_1.8.1.0_php-7.0 f�r Hoschschule verwenden -#require_once "../phpspreadsheet-1.13_php-7.4/vendor/autoload.php"; -require_once "../phpspreadsheet_1.8.1.0_php-7.0/vendor/autoload.php"; -require_once("../config.inc.php"); - - - -use PhpOffice\PhpSpreadsheet\Spreadsheet; -use PhpOffice\PhpSpreadsheet\Writer\Xlsx; - -$spreadsheet = new Spreadsheet(); -#$spreadsheet->getActiveSheet()->getPageSetup()->setFitToWidth(1); -#$spreadsheet->getActiveSheet()->getPageSetup()->setFitToHeight(0); - -$activeSheet = $spreadsheet->getActiveSheet(); - -$activeSheet->getStyle('A1:G1')->applyFromArray( - array( - 'font' => array( - 'bold' => true - ) - ) - ); - - -$activeSheet->setCellValue('A1', 'Ranglistenplatz'); -$activeSheet->setCellValue('B1', 'Vorname'); -$activeSheet->setCellValue('C1', 'Nachname'); -$activeSheet->setCellValue('D1', 'Mail'); -$activeSheet->setCellValue('E1', 'ID'); -$activeSheet->setCellValue('F1', 'Testdatum'); -$activeSheet->setCellValue('G1', 'Ergebnis'); -$activeSheet->freezePane('H2'); - -$query = $db->query("SELECT a.ka_id, vorname, nachname, date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, CASE tm_standort - WHEN 'L' THEN 'Ludwigsburg' - WHEN 'K' THEN 'Kehl' - ELSE '' END as tm_standort - , summe - , id - , mail - FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_ergebnisse d, bpm_tanpool e - WHERE a.ka_id = b.ka_id - AND b.tm_id = c.tm_id - AND a.ka_id = d.ka_id - AND b.tp_id = e.tp_id - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_ergebnisse) - AND a.ka_id IN (SELECT distinct ka_id FROM bpm_upload WHERE upload_dat != '0000-00-00 00:00:00') - AND d.bestanden = '1' - AND e.tan=d.tan - ORDER BY summe DESC, nachname ASC, vorname ASC - "); - -if($query->num_rows > 0) { - $i = 2; - $rangliste = 0; - $lfd_nr2 = 0; - $lfd_nr3 = 0; - $summevorher = 0; - - while($row = $query->fetch_assoc()) { - - $lfd_nr2++; - - $summe = $row['summe']; - if($summe == $summevorher){ - $rangliste = $lfd_nr3; - }else{ - $rangliste = $lfd_nr2; - $lfd_nr3 = $lfd_nr2; - } - $summevorher = $row['summe']; - - $activeSheet->setCellValue('A'.$i , $rangliste); - $activeSheet->setCellValue('B'.$i , $row['nachname']); - $activeSheet->setCellValue('C'.$i , $row['vorname']); - $activeSheet->setCellValue('D'.$i , $row['mail']); - $activeSheet->setCellValue('E'.$i , $row['id']); - $activeSheet->setCellValue('F'.$i , "$row[tm_datum] ($row[tm_standort])"); - $activeSheet->setCellValue('G'.$i , $row['summe']); - $i++; - } - -} -$spreadsheet->getActiveSheet()->setTitle("Rangliste 2"); -$spreadsheet->getActiveSheet()->setSelectedCell('A1'); -$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('C')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('D')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('E')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('F')->setAutoSize(true); -$spreadsheet->getActiveSheet()->getColumnDimension('G')->setAutoSize(true); - -$writer = new Xlsx($spreadsheet); -$filename = 'Rangliste2.xlsx'; - -header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); -header('Content-Disposition: attachment;filename='. $filename); -header('Cache-Control: max-age=0'); -$writer->save('php://output'); - -?> \ No newline at end of file diff --git a/admin/old/save_note.php b/admin/old/save_note.php deleted file mode 100644 index 37e1eb1..0000000 --- a/admin/old/save_note.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } - - require_once("../config/datenbankanbindung.php"); - require_once("../func_notenskala.php"); - -function floor3($val, $precision) { - $pos = strpos($val, '.'); - $zahl = substr($val, 0, $pos+1+$precision); - return $zahl; -} - - $notenart = $_POST['get_notenart']; - $note = floor3(str_replace(',','.',str_replace('.','', $_POST['get_note'])),1); - $notenskala = $_POST['get_notenskala']; - - $ka_id = $_SESSION["username"];; - - $db = dbconnect(); - - -#echo $hzbnote; - -if($notenart == "Keine"){ - NULL; - echo "reload"; -} - -if($notenart == "HZB"){ - $durchschnittnote = "0.00"; - $durchschnittpunkte = "0.00"; - $erfdat_schnitt = "0000-00-00 00:00:00"; - - if($notenskala == "Punkte"){ - $hzbnote = notenskala($note); - $hzbpunkte = $note; - $erfdat_hzb = date("Y-m-d H:i:s"); - }elseif($notenskala == "Noten"){ - $hzbnote = $note; - $hzbpunkte = "0.00"; - $erfdat_hzb = date("Y-m-d H:i:s"); - } -} - -if($notenart == "Durchschnitt"){ - $hzb = "0.00"; - $hzb_punkte = "0.00"; - $erfdat_hzb = "0000-00-00 00:00:00"; - - if($notenskala == "Punkte"){ - $durchschnittnote = notenskala($note); - echo "notenwert1||(= Note: ".number_format($durchschnittnote, 1, ',', '.').")"; - $durchschnittpunkte = $note; - $erfdat_schnitt = date("Y-m-d H:i:s"); - - }elseif($notenskala == "Noten"){ - $durchschnittnote = $note; - $durchschnittpunkte = "0.00"; - $erfdat_schnitt = date("Y-m-d H:i:s"); - } -} - - - $query_anz = $db->query("SELECT count(*) Anz - FROM bpm_note - WHERE ka_id = $ka_id"); - $row_anz = $query_anz->fetch_array(); - if($row_anz['Anz'] == 0){ - #Insert - $sql1 = $db->query("INSERT INTO bpm_note (ka_id, hzb, hzb_punkte, zeugnisschnitt, zeugnisschnitt_punkte, erfdat_hzb, erfdat_schnitt) VALUES('$ka_id', '$hzbnote', '$hzbpunkte', '$durchschnittnote', '$durchschnittpunkte', '$erfdat_hzb', '$erfdat_schnitt')"); - }else{ - #Update - $sql1 = $db->query("UPDATE bpm_note - SET hzb = '$hzbnote' - ,hzb_punkte = '$hzbpunkte' - ,zeugnisschnitt = '$durchschnittnote' - ,zeugnisschnitt_punkte = '$durchschnittpunkte' - ,erfdat_hzb = '$erfdat_hzb' - ,erfdat_schnitt = '$erfdat_schnitt' - WHERE ka_id = '$ka_id'"); - } - - - - exit; - -?> - diff --git a/admin/old/tanimport.php b/admin/old/tanimport.php deleted file mode 100644 index 990b298..0000000 --- a/admin/old/tanimport.php +++ /dev/null @@ -1,274 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../func_get_parameter.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -#########Konfiguration####################################### -$verz = "upload_csv/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen -$trennzeichen_excel = "\t"; // Das Trennzeichen das Excel für CVS-Dateien nimmt ist je nach Excelversion unterschiedlich: -// Entweder $trennzeichen_excel = ";"; --> Semikolon -// oder $trennzeichen_excel = ","; --> Komma -############################################################# - - - - -$_SESSION["ck_verz"] = $verz; - - -if ($action == '') { - # Den Testtermin wählt man, damit jede Hochschule seine eigenen Daten importieren kann. Wenn eine Hochschule am selben TAg einen Test hat vermeidet man dass ein halbfertiger Test importiert wird - if (isset($_POST["testtermin"])) { - $testtermin = $_POST["testtermin"]; - } else { - $testtermin = $_SESSION["testtermin"]; - } - - $_SESSION["testtermin"] = $testtermin; - - - # Uploadverzeichnis aufräumen. Temporäre Dateien, die älter als 2 Wochen sind, werden gelöscht - $dir = $_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF'])."/$verz"; - $folder = dir($dir); - while ($dateiname = $folder->read()) { - if (filetype($dir.$dateiname) != "dir") { - if (strtotime("-2 weeks") > - @filemtime($dir.$dateiname)) { - if (@unlink($dir.$dateiname) != false){ - # echo $dateiname.' wurde gelöscht<br>'; - }else{ - # echo $dateiname.' konnte nichtgelöscht werden<br>'; - } - } - } - } - - $result_ct = $db->query("SELECT count(*) Anz FROM bpm_tanpool where verw_dat = '0000-00-00 00:00:00'"); - $row_ct = $result_ct->fetch_array(); - $smarty->assign('tanimp_anzahltan', "$row_ct[Anz]"); - - # Fehler beim Upload anzeigen - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('index_error', 1); - - if ($errorno == 1) { - $smarty->assign('index_error_text', "Es dürfen nur CSV Dateien hochgeladen werden."); - } - if ($errorno == 2) { - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $smarty->assign('index_error_text', "Die Datei ist zu groß. Die Dateigröße darf max. $size_mb MB betragen."); - } - if ($errorno == 3) { - $smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde vom Server gelöscht"); - } - if ($errorno == 4) { - $smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde nicht vom Server gelöscht"); - } - } -} - -if ($action == 'csvimp') { - - $testtermin = $_SESSION["testtermin"]; - - // http://www.tutorials.de/tutorials65420.html - #echo '<pre>', print_r($_POST, true), '</pre>'; - - $tempname = $_FILES['file']['tmp_name']; - $name = $_FILES['file']['name']; - - $type = $_FILES['file']['type']; - $size = $_FILES['file']['size']; - $einheit = "Byte"; // Für die Efolgsmeldung. - - $limitedext = array( - ".csv" - ); //Erlaubte Dateieindung beim Upload - - $extlimit = "yes"; //Do you want to limit the extensions of files uploaded - $ext = strrchr($name, '.'); - - if (($extlimit == "yes") && (!in_array($ext, $limitedext))) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - exit; - } - - - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $size_bt = $size_mb * 1024 * 1024; - - if ($size > $size_bt) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">"; - exit; - } - - - $name = str_replace(array( - "ä", - "ö", - "ü", - "ß", - "Ä", - "Ö", - "Ü", - " " - ), array( - "ae", - "oe", - "ue", - "ss", - "Ae", - "Oe", - "Ue", - "_" - ), $name); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $heuteformat = date("H-i-s_Y-m-d", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $neu = $heuteformat . "_" . $name; - $_SESSION["ck_neu"] = $neu; - move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu"); - - $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen - - - # Hier vor der Schleife erste Zeile holen und ignorieren. Enthält Überschrift - # fgetcsv($handle, 0, $trennzeichen_excel); - - while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen - if(!isset($zaehler) or $zaehler == 1){ - $zaehler = 0; - }else{ - $zaehler = 1; - } - - $tan = $data[3]; - $tinyurl = $data[4]; - - $row1['zaehler'] = $zaehler; - $row1['tan'] = $tan; - $row1['tinyurl'] = $tinyurl; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - fclose($handle); - -} - -if ($action == 'csvimp2') { - $neu = $_SESSION["ck_neu"]; //CSV-Dateinamen um Datei löschen zu können - $verz = $_SESSION["ck_verz"]; //Uploadverzeichnis aus Cookie holen - $testtermin = $_SESSION["testtermin"]; - - - if ($_POST['import'] == "0") // DS sollen nicht importiert werden - { - $dateiname = "$verz$neu"; - if (@unlink($dateiname)) // Funktion löscht Dateien und gibt true / false zurück - { - # Abbruch, datei gelöscht - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">"; - exit; - } else { - # Abbruch, datei nicht gelöscht - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=4\">"; - exit; - } // End if - - } elseif ($_POST['import'] == "1") // DS sollen importiert werden - { - $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen - - - while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen - - $dummy_vorname = $data[0]; - $dummy_name = $data[1]; - $tan = $data[3]; - $tinyurl = $data[4]; - - $result_ct = $db->query("SELECT count(*) Anz - FROM bpm_tanpool - WHERE tan = '$tan'"); - $row_ct = $result_ct->fetch_array(); - - if ($row_ct['Anz'] == 0) { - # keine TANs vorhanden, insert - - $sql1 = $db->query("insert into bpm_tanpool (dummy_name - , dummy_vorname - , tan - , tinyurl - , aktiv) - VALUES ( '$dummy_name' - , '$dummy_vorname' - , '$tan' - , '$tinyurl' - , 'A' - )"); - if (!$sql1) { - $hinweis['hinweis'] = "TAN: " . $tan . " Fehler: TAN nicht gespeichert<br>"; - $smarty->assign('index_error', 1); - } - } else { - # Ergebnisse gibt es schon, kein insert - $hinweis['hinweis'] = "TAN: " . $tan . " schon vorhanden<br>"; - $smarty->assign('index_error', 1); - } - - $table_data2[] = $hinweis; - } - $smarty->assign('table_data2', $table_data2); - - - fclose($handle); - - } else { // Es wurde kein Radiobutton gewählt! Technisch aber ausgeschlossen - - echo "sie müssen eine Auswahl treffen"; - - } - - function deleteFiles($verz) - { - $handle = opendir($verz); - while ($file = readdir($handle)) { - if ($file != "." && $file != "..") { - - $datei = $verz . $file; - - if (@unlink($datei)) { - $error = TRUE; - } else { - $error = FALSE; - } - } - } - closedir($handle); - return $error; - } - - deleteFiles($verz); // Dateien werden im Uploadverzeichnis gelöscht, falls noch welche darin wären - -} // ende Action - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/old/termine.php_bcc b/admin/old/termine.php_bcc deleted file mode 100644 index 3747953..0000000 --- a/admin/old/termine.php_bcc +++ /dev/null @@ -1,352 +0,0 @@ -<?php -session_start(); -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_restplatz.php"); -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - if (isset($_GET['edit'])) { - $_SESSION["termine_status"] = 'edit'; - $tm_id = $_GET['edit']; - $_SESSION["termine_tm_id"] = $tm_id; - } else { - $_SESSION["termine_status"] = 'neu'; - } - - # -- Fehlermeldungen -- # - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('termine_error', 1); - - $smarty->assign('termine_value_datum', $_SESSION["termine_value_tm_datum"]); - $smarty->assign('termine_value_zeit', $_SESSION["termine_value_tm_zeit"]); - $smarty->assign('termine_value_tm_standort', $_SESSION["termine_value_tm_standort"]); - $smarty->assign('termine_value_tm_plaetze', $_SESSION["termine_value_tm_plaetze"]); - $smarty->assign('termine_value_tm_raum', $_SESSION["termine_value_tm_raum"]); - $smarty->assign('termine_value_tm_referenznr', $_SESSION["termine_value_tm_referenznr"]); - - if ($errorno == 3) { - # ungültiges Datum - $smarty->assign('termine_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); - } - } - - # --- Wenn Werte editiert werden ------------ - if ($_SESSION["termine_status"] == 'edit') { - $result_edit = $db->query("SELECT tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr - FROM dvm_termine - WHERE tm_id = $tm_id"); - $row_edit = $result_edit->fetch_array(); - $smarty->assign('termine_value_datum', "$row_edit[datum]"); - $smarty->assign('termine_value_zeit', "$row_edit[zeit]"); - $smarty->assign('termine_value_tm_standort', "$row_edit[tm_standort]"); - $smarty->assign('termine_value_tm_plaetze', "$row_edit[tm_plaetze]"); - $smarty->assign('termine_value_tm_raum', "$row_edit[tm_raum]"); - $smarty->assign('termine_value_tm_referenznr', "$row_edit[tm_referenznr]"); - - } - # --- Wenn Werte editiert werden Ende ------- - - if ($_GET['editende'] == 1) { - # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - $_SESSION["termine_status"] = 'neu'; - } - - - # Gespeicherte Werte - $query1 = "SELECT tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr - FROM dvm_termine - WHERE tm_datum > now() - ORDER BY tm_datum ASC, zeit ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - while ($row1 = $result1->fetch_array()) { - if($row1['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row1['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - $restplatz = get_restplatz($row1['tm_id']); - if($restplatz != $row1['tm_plaetze']){ - $disable = 0; - }else{ - $disable = 1; - } - $row1['restplatz'] = $restplatz; - $row1['tm_disable'] = $disable; - $row1['standort_form'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'save') { - -$tm_datum = $_POST['tm_datum']; -$tm_zeit = $_POST['tm_zeit']; -$tm_plaetze = $_POST['tm_plaetze']; -$tm_standort = $_POST['tm_standort']; -$tm_raum = $_POST['tm_raum']; -$tm_referenznr = trim($_POST['tm_referenznr']); - - -$_SESSION["termine_value_tm_datum"] = $tm_datum; -$_SESSION["termine_value_tm_zeit"] = $tm_zeit; -$_SESSION["termine_value_tm_plaetze"] = $tm_plaetze; -$_SESSION["termine_value_tm_standort"] = $tm_standort; -$_SESSION["termine_value_tm_raum"] = $tm_raum; -$_SESSION["termine_value_tm_referenznr"] = $tm_referenznr; - -$tm_datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $tm_datum); -$testdatum = $tm_datum_form." ".$tm_zeit.":00"; -$_SESSION["termine_value_tm_testdatum"] = $testdatum; -function validateDate($date, $format = 'Y-m-d') -{ - $d = DateTime::createFromFormat($format, $date); - return $d && $d->format($format) == $date; -} - -if(!validateDate($tm_datum_form)){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">"; - exit; -} - - - #$datum = date("Y-m-d H:i:s"); - if ($_SESSION["termine_status"] == 'neu') { - $sql1 = $db->query("INSERT INTO dvm_termine ( tm_datum - , tm_standort - , tm_plaetze - , tm_raum - , tm_referenznr - ) - VALUES - ( '$testdatum' - , '$tm_standort' - , '$tm_plaetze' - , '$tm_raum' - , '$tm_referenznr' - ) - "); - } - - if ($_SESSION["termine_status"] == 'edit') { - $tm_id = $_SESSION["termine_tm_id"]; - - # Prüfen, ob zu diesem Termin bereits Kandidaten gebucht sind. Wenn ja, dann Weiterleitung zum Mailanschreiben und dann Termin ändern - $result_vorh = $db->query("SELECT count(*) Anz - FROM dvm_term_kand - WHERE tm_id ='$tm_id' - "); - $row_vorh = $result_vorh->fetch_array(); - - # Prüfen, ob der Kandidat angeschrieben werden muss. Nur bei einer Änderung der Anzahl muss der Kandidat nicht extra informiert werden - $result_vorh1 = $db->query("SELECT count(*) Anz - FROM dvm_termine - WHERE tm_id ='$tm_id' - AND (tm_datum != '$testdatum' - OR tm_standort != '$tm_standort' - OR tm_raum != '$tm_raum' - OR tm_referenznr != '$tm_referenznr' - ) - "); - $row_vorh1 = $result_vorh1->fetch_array(); - if($row_vorh['Anz'] != 0 AND $row_vorh1['Anz'] != 0){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=mailterminupdate\">"; - exit; - }else{ - $result = $db->query("UPDATE dvm_termine - SET tm_datum = '$testdatum' - , tm_standort = '$tm_standort' - , tm_plaetze = '$tm_plaetze' - , tm_raum = '$tm_raum' - , tm_referenznr = '$tm_referenznr' - WHERE tm_id = $tm_id - "); - - unset($_SESSION['termine_tm_id']); - } - - } - # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; - - -} -if ($action == 'del') { - $tm_id = $_GET['tm_id']; - - $del1 = $db->query("DELETE FROM dvm_termine WHERE tm_id = $tm_id"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - -if ($action == 'mailterminupdate') { - $tm_id = $_SESSION["termine_tm_id"]; - - # Gespeicherte Werte - $query1 = "SELECT mail - FROM dvm_kandidat - WHERE ka_id IN (SELECT ka_id - FROM dvm_term_kand - WHERE tm_id = $tm_id) - ORDER BY nachname ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - while ($row1 = $result1->fetch_array()) { - $mail .= "$row1[mail], "; - } - $mail_lubu = get_parameter(8); - $mail_kehl = get_parameter(7); - - $mail_an = "$mail_kehl, $mail_lubu"; - $mail_bcc = substr(trim($mail),0,-1); - $smarty->assign('mtupd_mailadressen_an', "$mail_an"); - $smarty->assign('mtupd_mailadressen_bcc', "$mail_bcc"); - -} - -if ($action == 'mailsenden2') { - - $tm_id = $_SESSION["termine_tm_id"]; - $tm_plaetze = $_SESSION["termine_value_tm_plaetze"]; - $tm_standort = $_SESSION["termine_value_tm_standort"]; - $tm_raum = $_SESSION["termine_value_tm_raum"]; - $tm_referenznr = $_SESSION["termine_value_tm_referenznr"]; - $testdatum = $_SESSION["termine_value_tm_testdatum"]; - $empfaenger_an = $_POST['empfaenger_an']; - $empfaenger_bcc = $_POST['empfaenger_bcc']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - $absender = $_POST['absender']; - - if($absender == 'Kehl'){ - $sendermail = get_parameter(7); - $sender = 'Hochschule Kehl'; - } - - if($absender == 'Ludwigsburg'){ - $sendermail = get_parameter(8); - $sender = 'Hochschule Ludwigsburg'; - } - - # Update - $result = $db->query("UPDATE dvm_termine - SET tm_datum = '$testdatum' - , tm_standort = '$tm_standort' - , tm_plaetze = '$tm_plaetze' - , tm_raum = '$tm_raum' - , tm_referenznr = '$tm_referenznr' - WHERE tm_id = $tm_id - "); - - $query_termin = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, tm_standort, tm_raum, tm_plaetze, tm_referenznr FROM dvm_termine WHERE tm_id='$tm_id'"); - $row_termin = $query_termin->fetch_array(); - if($row_termin['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg - Reuteallee 36, 71634 Ludwigsburg'; - } - - if($row_termin['tm_standort'] == 'K'){ - $standort = 'Kehl - Kinzigallee 1, 77694 Kehl'; - } - $text = $text." - <br> - <br> - Neue Daten:<br> - <table> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Testtag:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $row_termin[tm_datum] - </font> - </td> - </tr> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Hochschule:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $standort - </font> - </td> - </tr> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Gebäude / Raum:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $row_termin[tm_raum] - </font> - </td> - </tr> - - </table> - "; - - #echo " - #From: $sender - $sendermail<br> - #$empfaenger<br> - #$betreff<br> - #$text<br> - #$hochschule<br>"; - #exit; - - - - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $headers .= "Bcc: $empfaenger_bcc\n"; - - $return = @mail($empfaenger_an, $betreff, $text, $headers); - - if ($return) { - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - } else { - $smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadressen."); - } - - - - - unset($_SESSION['termine_tm_id']); - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"2; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/termine_kandidat.php b/admin/old/termine_kandidat.php deleted file mode 100644 index d276a66..0000000 --- a/admin/old/termine_kandidat.php +++ /dev/null @@ -1,343 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../func_get_restplatz.php"); -require_once("../func_get_parameter.php"); -require_once("../config/func_cryption.php"); -$verz = "../uploads/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - - -if ($action == '') { - - unset($_SESSION["username"]); - $german = $db->query("SET lc_time_names = 'de_DE';"); -# Dropdown befüllen übernimmt ajax:fetch.php -# $query1 = "SELECT ka_id, vorname, nachname -# FROM bpm_kandidat -# ORDER BY nachname, vorname"; -# -# $result1 = $db->query($query1) or die("Cannot execute query1a"); -# -# -# while ($row1 = $result1->fetch_array()) { -# $table_data1[] = $row1; -# } -# $smarty->assign('table_data1', $table_data1); - - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('bewerber_error', 1); - if ($errorno == 1) { - $smarty->assign('bewerber_error_text', "Es muss ein Bewerber ausgewählt werden."); - } - - } -} - -if ($action == 'ausgabe') { - if (isset($_POST['user'])) { - $username = mb_strtoupper($_POST["user"]); //remove case sensitivity on the username - } else { - $username = $_SESSION["username"]; - } - - $_SESSION["username"] = $username; - - if(isset($_GET['error'])){ - - $errorno = $_GET['error']; - $smarty->assign('termine_error', 1); - - if($errorno == 1){ - $smarty->assign('termine_error_text', "Es muss ein Termin gewählt werden"); - } - } - - if ($username == "") { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - exit; - } - # Kandidat - $result_kandidat = $db->query("SELECT anrede, vorname, nachname - FROM bpm_kandidat - WHERE ka_id = '$username' - "); - $row_kandidat = $result_kandidat->fetch_array(); - if($row_kandidat['anrede'] == 'W'){ - $anrede = 'Frau'; - } - if($row_kandidat['anrede'] == 'M'){ - $anrede = 'Herrn'; - } - $smarty->assign('term_kand_anrede', $anrede); - $smarty->assign('term_kand_vorname', $row_kandidat['vorname']); - $smarty->assign('term_kand_nachname', $row_kandidat['nachname']); - - # Wo ist der Kandidat bisher eingebucht - $result_bisher = $db->query("SELECT tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr - FROM bpm_termine - WHERE tm_id = (SELECT tm_id - FROM bpm_term_kand - WHERE ka_id = '$username' - ORDER BY tk_id desc - LIMIT 1) - "); - $row_bisher = $result_bisher->fetch_array(); - if($row_bisher['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row_bisher['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - $smarty->assign('term_kand_datum', $row_bisher['datum']); - $smarty->assign('term_kand_zeit', $row_bisher['zeit']); - $smarty->assign('term_kand_tm_id', $row_bisher['tm_id']); - $smarty->assign('term_kand_standort', $standort); - - # Gespeicherte Termine - $query1 = "SELECT tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr - FROM bpm_termine - WHERE tm_datum > NOW() - ORDER BY tm_datum ASC, zeit ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - while ($row1 = $result1->fetch_array()) { - if($row1['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg'; - } - if($row1['tm_standort'] == 'K'){ - $standort = 'Kehl'; - } - $restplatz = get_restplatz($row1['tm_id']); - if($restplatz != $row1['tm_plaetze']){ - $disable = 0; - }else{ - $disable = 1; - } - $row1['restplatz'] = $restplatz; - $row1['tm_disable'] = $disable; - $row1['standort_form'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - -if ($action == 'mail') { - $tm_id = $_POST['tm_id']; - - $username = $_SESSION["username"]; - - if($tm_id == ""){ - echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF']."?action=ausgabe&error=1\">"; - exit; - } - $_SESSION["termine_tm_id"] = $tm_id; - - # Gespeicherte Werte - $query1 = "SELECT mail - FROM bpm_kandidat - WHERE ka_id = '$username' - LIMIT 1"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - while ($row1 = $result1->fetch_array()) { - $mail .= "$row1[mail]"; - } - - $smarty->assign('mtupd_mailadressen_an', "$mail"); -} - - - -if ($action == 'mailsenden2') { - - $tm_id = $_SESSION["termine_tm_id"]; - $username = $_SESSION["username"]; - $empfaenger = $_POST['empfaenger_an']; - $betreff = $_POST['betreff']; - $text = $_POST['text']; - $absender = $_POST['absender']; - - if($absender == 'Kehl'){ - $sendermail = get_parameter(7); - $sender = 'Hochschule Kehl'; - } - - if($absender == 'Ludwigsburg'){ - $sendermail = get_parameter(8); - $sender = 'Hochschule Ludwigsburg'; - } - - # Update - $result_curid = $db->query("SELECT tp_id - FROM bpm_term_kand - WHERE ka_id = $username - ORDER BY tp_id desc - LIMIT 1 - "); - $row_curid = $result_curid->fetch_array(); - $akt_tpid = $row_curid['tp_id']; - - $result = $db->query("UPDATE bpm_term_kand - SET tm_id = '$tm_id' - WHERE tp_id = $akt_tpid - "); - - $query_termin = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, tm_standort, tm_raum, tm_plaetze, tm_referenznr - FROM bpm_termine - WHERE tm_id='$tm_id'"); - - $row_termin = $query_termin->fetch_array(); - if($row_termin['tm_standort'] == 'L'){ - $standort = 'Ludwigsburg - Reuteallee 36, 71634 Ludwigsburg'; - $sendermail = get_parameter(8); - } - - if($row_termin['tm_standort'] == 'K'){ - $standort = 'Kehl - Kinzigallee 1, 77694 Kehl'; - $sendermail = get_parameter(7); - } - $text = $text." - <br> - <br> - Neue Daten: - <figure class='table' style='float:left;'> - <table> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Testtag:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $row_termin[tm_datum] - </font> - </td> - </tr> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Hochschule:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $standort - </font> - </td> - </tr> - <tr> - <td valign='top'> - <font face='Arial' size='2'> - <b>Gebäude / Raum:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $row_termin[tm_raum] - </font> - </td> - </tr> - </table> - </figure> - "; - - $query1 = "SELECT mail, ka_id - FROM bpm_kandidat - WHERE ka_id = $username - ORDER BY nachname ASC"; - $result1 = $db->query($query1) or die("Cannot execute query1a $tm_id"); - $lnnr = 0; - while ($row1 = $result1->fetch_array()) { - $mail[$lnnr]['mail'] = "$row1[mail]"; - $mail[$lnnr]['ka_id'] = "$row1[ka_id]"; - $lnnr++; - } - $lfdnr = $lfdnr++; - # Mail auch an die zuständige HS - $mail[$lnnr][mail]= $sendermail; - $mail[$lnnr][ka_id]= ""; - - #echo "<pre>"; - #print_r($mail); - #echo "</pre><hr>"; - #exit; - #echo " - #From: $sender - $sendermail<br> - #$empfaenger<br> - #$betreff<br> - #echo "$text<br>"; - #echo "</pre>"; - #$hochschule<br>"; - #exit; - - #Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail - $style ="<head> - <style> - p {margin: 0;} - </style> - </head> - "; - $text = $style.$text; - - for($i=0;$i<count($mail);$i++){ - ## Mailversand: - $headers = "From: $sender <$sendermail>\r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $return = @mail($empfaenger, $betreff, $text, $headers); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $text_db = addslashes($text); - - if($mail[$i][ka_id] != ""){ - # Mail an HS soll nicht protokolliert werden - if($return){ - $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat) - VALUES ('$sender', '$sendermail', '".$mail[$i][ka_id]."', '".$mail[$i][mail]."', '$betreff', '$text_db', 'V', '$datum_db') - "); - $smarty->assign('mail_senderg', "Die Mail wurde verschickt!"); - }else{ - $sql1 = $db->query("INSERT INTO bpm_sonstige_mail (sender, sendermail, ka_id, empfaenger, mail_betreff, mail_text, status, sendedat) - VALUES ('$sender', '$sendermail', '".$mail[$i][ka_id]."', '".$mail[$i][mail]."', '$betreff', '$text_db', 'F', '$datum_db') - "); - - $err = 1; - $mail_err .= $mail[$i][mail]."<br>"; - - } - } - } - - unset($_SESSION['termine_tm_id']); - $editende = 1; - - - if($err == 1){ - $smarty->assign('mail_senderg', "Die Mails konnten nicht verschickt werden!<br>Prüfen Sie die folgenden Mailadressen:<br><br>$mail_err"); - }else{ - $smarty->assign('mail_senderg', "Die Mails wurden verschickt!"); - echo "<meta http-equiv=\"refresh\" content=\"2; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; - } -} -// ende Action -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/old/test_csv.php b/admin/old/test_csv.php deleted file mode 100644 index 6b2de0e..0000000 --- a/admin/old/test_csv.php +++ /dev/null @@ -1,889 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -#########Konfiguration####################################### -$verz = "upload_csv/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen -$trennzeichen_excel = "\t"; // Das Trennzeichen das Excel für CVS-Dateien nimmt ist je nach Excelversion unterschiedlich: - // Entweder $trennzeichen_excel = ";"; --> Semikolon - // oder $trennzeichen_excel = ","; --> Komma -############################################################# - - - - -$_SESSION["ck_verz"]=$verz; - -$limitedext = array(".csv"); //Erlaubte Dateieindung beim Upload - -if ($action == '') { - -$heute = mktime(0, 0, 0, date("m"), date("d"), date("Y")); // heutiges Datum -$heute_format = date("Y-m-d", $heute); // ISO-8601 Format wie in der Datenbank: Formatierung für Vergleiche erforderlich - -function deleteFiles($verz){ - $handle = opendir($verz); - while ($file = readdir ($handle)) { - if($file != "." && $file != "..") { - - $datei = $verz.$file; - - if(@unlink($datei)){ - $error = TRUE; - } - else - { - $error = FALSE; - } - } - } - closedir($handle); - return $error; -} - -deleteFiles($verz); // Dateien werden im Uploadverzeichnis gelöscht, falls noch welche darin wären - - -echo " -<html> -<head> -<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> -<link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> -<title>CSV Upload</title> -</head> -<body> -<table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" allign=\"center\" width=\"50%\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <font class=\"hd\">CSV Upload</font><br> - <span class=\"sh\">Import eines Studienjahrgangs</span> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></font></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td> - <form action='".$_SERVER['PHP_SELF'] . "?action=csvimp" ."' enctype=\"multipart/form-data\" method='post'> - <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-width:0; border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber1\" height=\"142\"> - <tr> - <td width=\"60%\" style=\"border-style: none; border-width: medium\" > - <b>Datei wählen:</b><br>Erlaubte Dateiendungen: *.csv - </td> - <td width=\"40%\"align=\"left\" style=\"border-style: none; border-width: medium\" > - <p> - <input name=\"file\" type=\"file\" size=\"30\"></p> - </td> - </tr> - <tr> - <td width=\"60%\" style=\"border-style: none; border-width: medium\"> - </td> - <td width=\"40%\"align=\"right\" style=\"border-style: none; border-width: medium\"> - <p> - <input type=\"submit\" value=\"Abschicken\" name=\"B1\" size=\"20\"> - </td> - </tr> - </table> - </form> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - - </table> - </div> - </td> - </tr> -</table> -</body> -</html>"; - -} - -if ($action == 'csvimp') { - - -// http://www.tutorials.de/tutorials65420.html -$tempname = $_FILES['file']['tmp_name']; -$name = $_FILES['file']['name']; - -$type = $_FILES['file']['type']; -$size = $_FILES['file']['size']; -$einheit = "Byte"; // Für die Efolgsmeldung. - -$extlimit = "yes"; //Do you want to limit the extensions of files uploaded -$ext = strrchr($name,'.'); -if (($extlimit == "yes") && (!in_array($ext,$limitedext))) { - -$err[] = " -<html> -<head> -<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> -<link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> -<title>Falscher Dateityp</title> -</head> -<body> -<table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Falscher Dateityp</span> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></font></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td> - <br> - <p align=\"center\">Es dürfen nur csv-Dateien hochgeladen werden! - <p> - <p align=\"center\"><p align=\"center\"><a href=\"javascript:history.back()\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - - </table> - </div> - </td> - </tr> -</table> -</body> -</html>"; -} - -if($size > "9900000") { -$err[] = " -<html> -<head> -<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> -<link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> -<title>Datei zu groß</title> -</head> -<body> -<table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Datei zu groß</span> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></font></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td> - <br> - <p align=\"center\">Die Datei welche Sie hochladen wollen, ist zu gross!<br>Maximale Dateigroesse beträgt 9.900 KB! - <p> - <p align=\"center\"><p align=\"center\"><a href=\"javascript:history.back()\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - </table> - </div> - </td> - </tr> -</table> -</body> -</html>"; -} -$name = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"," "), array("ae", "oe", "ue", "ss", "Ae", "Oe", "Ue", "_"), $name); -$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php -$heuteformat = date("H-i-s_Y-m-d", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll -$datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll -$neu = $heuteformat."_".$name; -$_SESSION["ck_neu"]=$neu; - -If(empty($err)) { - move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu"); - - $row = 1; // Anzahl der Arrays - $handle = fopen ("$verz$neu","r"); // Datei zum Lesen öffnen - - echo " - <html> - <head> - <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> - <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> - <title>Datensätze prüfen</title> - </head> - <body> - <table border=\"0\" style=\"border-collapse: collapse\" width='150%' cellpadding=\"0\" height=\"90%\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <font class=\"hd\">Datensätze prüfen</font><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td> - <table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#E7E8ED\"> - <tr> - <td width=\"4%\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">uid</font></b> - </td> - <td width=\"10%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Nachname</font></b> - </td> - <td width=\"10%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Vorname</font></b> - </td> - <td width=\"1%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Matrikelnr.</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">KFZ</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">HS</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">PLZ</font></b> - </td> - <td width=\"13%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Ort</font></b> - </td> - <td width=\"14%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Straße</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Stg</font></b> - </td> - <td width=\"11%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">StgText</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">AG</font></b> - </td> - <td width=\"2%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Jahr</font></b> - </td> - <td width=\"3%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Passwort</font></b> - </td> - <td width=\"44%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Mail</font></b> - </td> - </tr>"; - - - while ( ($data = fgetcsv ($handle, 0, $trennzeichen_excel)) !== FALSE ) // Daten werden aus der Datei in ein Array $data gelesen - { - $num = count ($data); // Felder im Array $data werden gezählt - //print "<p> $num fields in line $row: <br>\n"; - print "\n"; - $row++; // Anzahl der Arrays wird - // inkrementiert - - $passwd = str_replace(".", "", $data[13]); - - print "<tr>"; - // for ($c=0; $c < $num; $c++) { // FOR-Schleife: Oder Anzahl der zu importierenden Felder ($num) - print "<td><font size=\"1\">".strtolower($data[0]) . "</td>\n"; // uid - print "<td><font size=\"1\">".$data[1] . "</td>\n"; // Nacname - print "<td><font size=\"1\">".$data[2] . "</td>\n"; // Vorname - print "<td><font size=\"1\">".$data[3] . "</td>\n"; // Matrikelnr - print "<td><font size=\"1\">".$data[4] . "</td>\n"; // KFZ - print "<td><font size=\"1\">".$data[5] . "</td>\n"; // HS - print "<td><font size=\"1\">".$data[6] . "</td>\n"; // PLZ - print "<td><font size=\"1\">".$data[7] . "</td>\n"; // ORT - print "<td><font size=\"1\">".$data[8] . "</td>\n"; // Straße - print "<td><font size=\"1\">".$data[9] . "</td>\n"; // STG - print "<td><font size=\"1\">".$data[10] . "</td>\n"; // StgText - print "<td><font size=\"1\">".strtoupper($data[11]) . "</td>\n"; // AG - print "<td><font size=\"1\">".$data[12] . "</td>\n"; // Jahrgang - #print "<td><font size=\"1\">".strtolower($data[12]) . "</td>\n"; // Passwort in Kleinbuchstaben - print "<td><font size=\"1\">".$passwd . "</td>\n"; // Passwort - print "<td><font size=\"1\">".$data[14] . "</td>\n"; // Mail - // } - print "</tr>"; - $ln_inserts[]++; //zählt die Anzahl der importierenden DS - } - echo " - </table> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - </table> - <br>"; - $zahl=count($ln_inserts); - - echo" - - <table border=\"0\" style=\"border-collapse: collapse\" width='40%' cellpadding=\"0\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_top.gif\" valign=\"top\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <font class=\"hd\">Sollen die $zahl Datensätze importiert werden?</font><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td> - <form action='".$_SERVER['PHP_SELF'] . "?action=csvimp2" ."' enctype=\"multipart/form-data\" method='post'> - <table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#E7E8ED\"> - <tr> - <td width=\"70%\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Auswahl</font></b> - </td> - <td width=\"30%\" align=\"left\" style=\"border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px\"> - <b><font size=\"1\">Markieren</font></b> - </td> - </tr> - <tr> - <td width=\"70%\"><font size=\"1\">Datensätze nicht importieren - </td> - <td width=\"30%\"><font size=\"1\"><input type=\"radio\" name=\"import\" value=\"0\" checked> - </td> - </tr> - <tr> - <td width=\"70%\"><font size=\"1\">Datensätze importieren - </td> - <td width=\"30%\"><font size=\"1\"><input type=\"radio\" name=\"import\" value=\"1\"> - </td> - </tr> - <tr> - <td width=\"70%\"> - - </td> - <td width=\"30%\"> - - </td> - </tr> - <tr> - <td width=\"70%\"> - - </td width=\"30%\"> - <td> - <input type=\"submit\" value=\"Abschicken\" name=\"B1\" size=\"20\"> - </td> - </tr> - </table> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"> - </td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> - </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </body> - </html> - "; -}else { - - foreach($err as $error) - echo "$error"; - exit; -} //Ende if error -fclose ($handle); - -} - -if ($action == 'csvimp2') { -$neu=$_SESSION["ck_neu"]; //CSV-Dateinamen um Datei löschen zu können -$verz=$_SESSION["ck_verz"]; //Uploadverzeichnis aus Cookie holen - - -if ($_POST['import'] == "0") // DS sollen nicht importiert werden -{ - $dateiname="$verz$neu"; - if (@unlink($dateiname)) // Funktion löscht Dateien und gibt true / false zurück - { - echo" - - <html> - <head> - <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> - <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> - <title>Import beendet</title> - </head> - <body> - <table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"3%\" background=\"../images/box_top.gif\" valign=\"top\"></td> - <td width=\"95%\" background=\"../images/box_top.gif\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Importvorgang abgebrochen</span><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td colspan=\"2\"><br> - <p align=\"center\">Datemsätze wurden nicht importiert!<br>Die CSV-Datei wurde vom Server gelöscht! - </p> - <p align=\"center\"><a href=\"javascript:window.close()\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a><br> - </p> - <p></p> - <p></p> - <p></p> - <p></p> - <p><br> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\" colspan=\"2\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </body> - </html>"; - - }else{ - - echo" - <html> - <head> - <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> - <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> - <title>Datei nicht gelöscht</title> - </head> - <body> - <table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"3%\" background=\"../images/box_top.gif\" valign=\"top\"></td> - <td width=\"95%\" background=\"../images/box_top.gif\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Importvorgang abgebrochen</span><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td colspan=\"2\"><br> - <p align=\"center\">Datemsätze wurden nicht importiert!<br>Die CSV-Datei ($neu) konnte <b>nicht</b> vom Server gelöscht werden! - </p> - <p align=\"center\"><a href=\"javascript:window.close()\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a><br> - </p> - <p></p> - <p></p> - <p></p> - <p></p> - <p><br> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\" colspan=\"2\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </body> - </html>"; - } // End if - -} elseif($_POST['import'] == "1") // DS sollen importiert werden -{ - $row = 1; // Anzahl der Arrays - $handle = fopen ("$verz$neu","r"); // Datei zum Lesen öffnen - while ( ($data = fgetcsv ($handle, 1000, $trennzeichen_excel)) !== FALSE ) // Daten werden aus der Datei in ein Array $data gelesen - { - $num = count ($data); // Felder im Array $data werden gezählt - //print "<p> $num fields in line $row: <br>\n"; - print "\n"; - $row++; // Anzahl der Arrays wird - // inkrementiert - #$pwd = strtolower($data[13]); - $pwd = str_replace(".", "", $data[13]); - $passwd = md5($pwd); - $uid = strtolower($data[0]); - - $geb = preg_split('/\./', $data[13]); - $tag = $geb[0]; - $mon = $geb[1]; - $jahr = $geb[2]; - $gebtag = "$jahr-$mon-$tag"; - //$passwd = mysql_escape_string($passwd); - - - // ACHTUNG: AN DIESER ZEILE NICHTS ÄNDERN, da die erste Zeile des Strings rausgefiltert wird bei der Ausgabe der nichtimportierten DS - $insert[] .= "INSERT INTO stud (uid, nachname, vorname, mtknr, pokfz, hs, poplz, poOrt, poStrasse, stg, stgText, AG, Jahrgang, Pwd, mail, geburtstag) VALUES ( lower('$data[0]') - ,'$data[1]' - ,'$data[2]' - ,'$data[3]' - ,'$data[4]' - ,'$data[5]' - ,'$data[6]' - ,'$data[7]' - ,'$data[8]' - ,'$data[9]' - ,'$data[10]' - ,upper('$data[11]') - ,'$data[12]' - ,'$passwd' - ,'$data[14]' - ,'$gebtag' - ) - "; - } - - - for ($i=0;$i<sizeof($insert);$i++) - { - $sql = mysql_query("$insert[$i]"); - if (!$sql) { - $unimported[]= $insert[$i]; - } - } - fclose ($handle); - $dateiname="$verz$neu"; - if (@unlink($dateiname)) // Funktion löscht Dateien und gibt true / false zurück - { - -$y = str_replace (array("INSERT INTO stud (uid, nachname, vorname, mtknr, pokfz, hs, poplz, poOrt, poStrasse, stg, stgText, AG, Jahrgang, Pwd, mail, geburtstag) VALUES ( lower('"), array(""), $unimported); - - echo" - - <html> - <head> - <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> - <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> - <title>Import beendet</title> - </head> - <body> - <table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"3%\" background=\"../images/box_top.gif\" valign=\"top\"></td> - <td width=\"95%\" background=\"../images/box_top.gif\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Importvorgang erfolgreich</span><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td colspan=\"2\"><br> - <p align=\"center\">Der Importvorgang wurde erfolgreich beendet!<br>Die CSV-Datei wurde vom Server gelöscht! - </p>"; - $num1 = count ($y); // Anzahl der nicht importierten UIDs - if ($y != "") - { - echo"Es wurden $num1 Datensätze nicht importiert<br> - Wahrscheinlich ist die UID bereits in der Datenbank vorhanden,<br> - oder eines der Felder ist zu lang: - <p>"; - } - // Ausgabe der nicht importierten DS - for ($i=0;$i<sizeof($y);$i++) - { - $b = strpos ($y[$i], "'"); - $e = substr($y[$i], 0, $b); - - print strtolower($e); // Ausgabe der nicht importierten UIDs - echo"<br>"; - } - echo" - <p align=\"center\"><a href=\"../hauptframe_welcome.php\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a><br> - </p> - <p></p> - <p></p> - <p></p> - <p></p> - <p><br> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\" colspan=\"2\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </body> - </html>"; - - }else{ - - echo" - <html> - <head> - <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\"> - <link rel=\"stylesheet\" href=\"../styles_pc.css\" type=\"text/css\"> - <title>Datei nicht gelöscht</title> - </head> - <body> - <table border=\"0\" style=\"border-collapse: collapse\" width=\"100%\" cellpadding=\"0\" height=\"100%\" id=\"table1\"> - <tr> - <td> - <div align=\"center\"> - <table cellspacing=\"0\" cellpadding=\"0\" width=\"550\" border=\"0\"> - <tr> - <td width=\"10\" background=\"../images/box_e1.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"3%\" background=\"../images/box_top.gif\" valign=\"top\"></td> - <td width=\"95%\" background=\"../images/box_top.gif\"> - <img height=\"10\" src=\"../images/blank.gif\" width=\"1\"><br> - <span class=\"sh\">Importvorgang erfolgreich</span><br> - <img height=\"5\" src=\"../images/blank.gif\" width=\"1\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e2.gif\"> - <img height=\"40\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td width=\"1%\" background=\"../images/box_l.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - <td colspan=\"2\"><br> - <p align=\"center\">Der Importvorgang wurde erfolgreich beendet!<br>Die CSV-Datei ($neu) konnte <b>nicht</b> vom Server gelöscht werden! - </p>"; - $num1 = count ($y); // Anzahl der nicht importierten UIDs - if ($y != "") - { - echo"Es wurden $num1 Datensätze nicht importiert<br> - Wahrscheinlich ist die UID bereits in der Datenbank vorhanden,<br> - oder eines der Felder ist zu lang: - <p>"; - } - // Ausgabe der nicht importierten DS - for ($i=0;$i<sizeof($y);$i++) - { - $b = strpos ($y[$i], "'"); - $e = substr($y[$i], 0, $b); - - print strtolower($e); // Ausgabe der nicht importierten UIDs - echo"<br>"; - } - echo" - <p align=\"center\"><a href=\"javascript:window.close()\"> - <img border=\"0\" src=\"../images/zurueck.gif\" width=\"77\" height=\"22\"></a><br> - </p> - <p></p> - <p></p> - <p></p> - <p></p> - <p><br> - </p> - </td> - <td width=\"1%\" background=\"../images/box_r.gif\"> - <img height=\"1\" src=\"../images/blank.gif\" width=\"22\"></td> - </tr> - <tr> - <td nowrap=\"nowrap\" align=\"left\" width=\"1%\" background=\"../images/box_e3.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"></td> - <td nowrap=\"nowrap\" align=\"left\" width=\"98%\" background=\"../images/box_bottom.gif\" colspan=\"2\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"8\"></td> - <td nowrap=\"nowrap\" align=\"right\" width=\"1%\" background=\"../images/box_e4.gif\"> - <img height=\"16\" src=\"../images/blank.gif\" width=\"22\"> </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </body> - </html>"; - } // End if - -}else { // Es wurde kein Radiobutton gewählt! Technisch aber ausgeschlossen - - echo "sie müssen eine Auswahl treffen"; - -} - -function deleteFiles($verz){ - $handle = opendir($verz); - while ($file = readdir ($handle)) { - if($file != "." && $file != "..") { - - $datei = $verz.$file; - - if(@unlink($datei)){ - $error = TRUE; - } - else - { - $error = FALSE; - } - } - } - closedir($handle); - return $error; -} - -deleteFiles($verz); // Dateien werden im Uploadverzeichnis gelöscht, falls noch welche darin wären - -} // ende Action - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/old/upload.php b/admin/old/upload.php deleted file mode 100644 index 213871e..0000000 --- a/admin/old/upload.php +++ /dev/null @@ -1,402 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); -require_once("../func_get_parameter.php"); -require_once("../config/func_cryption.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -#########Konfiguration####################################### -$verz = "upload_csv/"; // relatives Uploadverzeichnis (relativ zum 'Standort' dieser Datei, wohin die Dateien kopiert werden sollen -$trennzeichen_excel = "\t"; // Das Trennzeichen das Excel für CVS-Dateien nimmt ist je nach Excelversion unterschiedlich: -// Entweder $trennzeichen_excel = ";"; --> Semikolon -// oder $trennzeichen_excel = ","; --> Komma -############################################################# - - - - -$_SESSION["ck_verz"] = $verz; - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tm_id, date_format(tm_datum, '%a, %d.%m.%Y - %H:%i Uhr')tm_datum_form, tm_standort - FROM bpm_termine a, bpm_term_kand b - WHERE a.tm_id=b.tm_id - AND a.tm_datum > ADDDATE(now(), -7) - GROUP BY a.tm_id, tm_datum_form, tm_standort - ORDER BY tm_datum ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - - if ($row1['tm_standort'] == 'L') { - $standort = 'Ludwigsburg'; - } - if ($row1['tm_standort'] == 'K') { - $standort = 'Kehl'; - } - - $row1['tm_standort'] = $standort; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'upload') { - # Den Testtermin wählt man, damit jede Hochschule seine eigenen Daten importieren kann. Wenn eine Hochschule am selben TAg einen Test hat vermeidet man dass ein halbfertiger Test importiert wird - if (isset($_POST["testtermin"])) { - $testtermin = $_POST["testtermin"]; - } else { - $testtermin = $_SESSION["testtermin"]; - } - - $_SESSION["testtermin"] = $testtermin; - - - # Uploadverzeichnis aufräumen. Temporäre Dateien, die älter als 2 Wochen sind, werden gelöscht - $dir = $_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF'])."/$verz"; - $folder = dir($dir); - while ($dateiname = $folder->read()) { - if (filetype($dir.$dateiname) != "dir") { - if (strtotime("-2 weeks") > - @filemtime($dir.$dateiname)) { - if (@unlink($dir.$dateiname) != false){ - # echo $dateiname.' wurde gelöscht<br>'; - }else{ - # echo $dateiname.' konnte nichtgelöscht werden<br>'; - } - } - } - } - - - # Fehler beim Upload anzeigen - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - $smarty->assign('index_error', 1); - - if ($errorno == 1) { - $smarty->assign('index_error_text', "Es dürfen nur CSV Dateien hochgeladen werden."); - } - if ($errorno == 2) { - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $smarty->assign('index_error_text', "Die Datei ist zu groß. Die Dateigröße darf max. $size_mb MB betragen."); - } - if ($errorno == 3) { - $smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde vom Server gelöscht"); - } - if ($errorno == 4) { - $smarty->assign('index_error_text', "Vorgang wurde abgebrochen. Die Datei wurde nicht vom Server gelöscht"); - } - } -} - -if ($action == 'csvimp') { - - $testtermin = $_SESSION["testtermin"]; - - // http://www.tutorials.de/tutorials65420.html - #echo '<pre>', print_r($_POST, true), '</pre>'; - - $tempname = $_FILES['file']['tmp_name']; - $name = $_FILES['file']['name']; - - $type = $_FILES['file']['type']; - $size = $_FILES['file']['size']; - $einheit = "Byte"; // Für die Efolgsmeldung. - - $limitedext = array( - ".csv" - ); //Erlaubte Dateieindung beim Upload - - $extlimit = "yes"; //Do you want to limit the extensions of files uploaded - $ext = strrchr($name, '.'); - - if (($extlimit == "yes") && (!in_array($ext, $limitedext))) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=upload&error=1\">"; - exit; - } - - - # Tabelle bpm_parameter - $size_mb = trim(get_parameter(12)); - $size_bt = $size_mb * 1024 * 1024; - - if ($size > $size_bt) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=upload&error=2\">"; - exit; - } - - - $name = str_replace(array( - "ä", - "ö", - "ü", - "ß", - "Ä", - "Ö", - "Ü", - " " - ), array( - "ae", - "oe", - "ue", - "ss", - "Ae", - "Oe", - "Ue", - "_" - ), $name); - $heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php - $heuteformat = date("H-i-s_Y-m-d", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll - $neu = $heuteformat . "_" . $name; - $_SESSION["ck_neu"] = $neu; - move_uploaded_file("$tempname", "$verz$neu"); // Unterverzeichnisse wie folgt: copy("$tempname", "pdf/$neu"); - - $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen - - # Bestehnswert 65 Punkte - $bestehenswert = trim(get_parameter(11)); - - # Hier vor der Schleife erste Zeile holen und ignorieren. Enthält Überschrift - fgetcsv($handle, 0, $trennzeichen_excel); - - while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen - #2020-02-23T17:44:56 - $tag = substr($data[11], 8, 2); - $monat = substr($data[11], 5, 2); - $jahr = substr($data[11], 0, 4); - $std = substr($data[11], 11, 2); - $min = substr($data[11], 14, 2); - $sek = substr($data[11], 17, 2); - $datum = "$tag.$monat.$jahr - $std:$min:$sek"; - $datum_db = "$jahr-$monat-$tag"; - $tan = $data[7]; - - $result_ct = $db->query("SELECT concat(vorname,' ', nachname) name, date_format(tm_datum, '%Y-%m-%d') tm_datum - FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_tanpool d - WHERE a.ka_id = b.ka_id - AND b.tm_id = c.tm_id - AND b.tp_id = d.tp_id - AND d.tan = '$tan' - AND c.tm_id = $testtermin"); - $row_ct = $result_ct->fetch_array(); - - if ($row_ct['name'] != '' AND $row_ct['tm_datum'] == $datum_db) { - - $satzerg_raw = $data[13]; - #$analogie_raw = $data[14]; - $gemeinsamkeiten_raw = $data[15]; - $rechenaufgaben_raw = $data[16]; - $zahlenreihen_raw = $data[17]; - $rechenzeichen_raw = $data[18]; - $matrizen_raw = $data[21]; - $merkf_raw = $data[26]; - - $row1['tan'] = $tan; - $row1['name'] = $row_ct['name']; - $row1['datum'] = $datum; - $row1['satzerg_raw'] = $satzerg_raw; - #$row1['analogie_raw'] = $analogie_raw; - $row1['gemeinsamkeiten_raw'] = $gemeinsamkeiten_raw; - $row1['rechenaufgaben_raw'] = $rechenaufgaben_raw; - $row1['zahlenreihen_raw'] = $zahlenreihen_raw; - $row1['rechenzeichen_raw'] = $rechenzeichen_raw; - $row1['matrizen_raw'] = $matrizen_raw; - $row1['merkf_raw'] = $merkf_raw; - - # In die Berechnung fliest verb/num Intelligenz nicht mit ein. Das sind interne Berechnungen und keine Testaufgaben - $summe = $satzerg_raw + $gemeinsamkeiten_raw + $rechenaufgaben_raw + $zahlenreihen_raw + $rechenzeichen_raw + $matrizen_raw + $merkf_raw; - - $row1['summe'] = $summe; - if ($summe >= $bestehenswert) { - $bestanden = 1; - } else { - $bestanden = 0; - } - $row1['bestanden'] = $bestanden; - $table_data1[] = $row1; - } - - } - - $smarty->assign('table_data1', $table_data1); - fclose($handle); - -} - -if ($action == 'csvimp2') { - $neu = $_SESSION["ck_neu"]; //CSV-Dateinamen um Datei löschen zu können - $verz = $_SESSION["ck_verz"]; //Uploadverzeichnis aus Cookie holen - $testtermin = $_SESSION["testtermin"]; - - - if ($_POST['import'] == "0") // DS sollen nicht importiert werden - { - $dateiname = "$verz$neu"; - if (@unlink($dateiname)) // Funktion löscht Dateien und gibt true / false zurück - { - # Abbruch, datei gelöscht - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=upload&error=3\">"; - exit; - } else { - # Abbruch, datei nicht gelöscht - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=upload&error=4\">"; - exit; - } // End if - - } elseif ($_POST['import'] == "1") // DS sollen importiert werden - { - $handle = fopen("$verz$neu", "r"); // Datei zum Lesen öffnen - - # Bestehnswert 65 Punkte - $bestehenswert = trim(get_parameter(11)); - - # Hier vor der Schleife erste Zeile holen und ignorieren. Enthält Überschrift - fgetcsv($handle, 0, $trennzeichen_excel); - - while (($data = fgetcsv($handle, 0, $trennzeichen_excel)) !== FALSE) { // Daten werden aus der Datei in ein Array $data gelesen - - #2020-02-23T17:44:56 - $tag = substr($data[11], 8, 2); - $monat = substr($data[11], 5, 2); - $jahr = substr($data[11], 0, 4); - $std = substr($data[11], 11, 2); - $min = substr($data[11], 14, 2); - $sek = substr($data[11], 17, 2); - $datum = "$tag.$monat.$jahr - $std:$min:$sek"; - $datum_db = "$jahr-$monat-$tag"; - $tan = $data[7]; - - $result_ct = $db->query("SELECT a.ka_id, concat(vorname,' ', nachname) name, date_format(tm_datum, '%Y-%m-%d') tm_datum - FROM bpm_kandidat a, bpm_term_kand b, bpm_termine c, bpm_tanpool d - WHERE a.ka_id = b.ka_id - AND b.tm_id = c.tm_id - AND b.tp_id = d.tp_id - AND d.tan = '$tan' - AND c.tm_id = $testtermin"); - $row_ct = $result_ct->fetch_array(); - - if ($row_ct['name'] != '' AND $row_ct['tm_datum'] == $datum_db) { - - $satzerg_raw = $data[13]; - #$analogie_raw = $data[14]; - $gemeinsamkeiten_raw = $data[15]; - $rechenaufgaben_raw = $data[16]; - $zahlenreihen_raw = $data[17]; - $rechenzeichen_raw = $data[18]; - $matrizen_raw = $data[21]; - $merkf_raw = $data[26]; - $summe = $satzerg_raw + $gemeinsamkeiten_raw + $rechenaufgaben_raw + $zahlenreihen_raw + $rechenzeichen_raw + $matrizen_raw + $merkf_raw; - if ($summe >= $bestehenswert) { - $bestanden = 1; - } else { - $bestanden = 0; - # Tan Inaktiv setzen - $result_1 = $db->query("UPDATE bpm_tanpool - SET aktiv='I' - WHERE tan = '$tan'"); - } - $result_ct1 = $db->query("SELECT count(*) Anz - FROM bpm_ergebnisse - WHERE ka_id = $row_ct[ka_id] - AND tan = '$tan'"); - $row_ct1 = $result_ct1->fetch_array(); - if ($row_ct1['Anz'] == 0) { - # keine Ergebnisse vorhanden, insert - - $sql1 = $db->query("insert into bpm_ergebnisse (ka_id - , tan - , satzerg - , gemeinsamkeiten - , rechenaufgaben - , zahlenreihen - , rechenzeichen - , matrizen - , merkf - , summe - , bestanden) - VALUES ('$row_ct[ka_id]' - , '$tan' - , '$satzerg_raw' - , '$gemeinsamkeiten_raw' - , '$rechenaufgaben_raw' - , '$zahlenreihen_raw' - , '$rechenzeichen_raw' - , '$matrizen_raw' - , '$merkf_raw' - , '$summe' - , '$bestanden')"); - if (!$sql1) { - $hinweis['hinweis'] = "TAN: " . $tan . " Fehler: Ergebnis nicht gespeichert<br>"; - $smarty->assign('index_error', 1); - } - } else { - # Ergebnisse gibt es schon, kein insert - $hinweis['hinweis'] = "TAN: " . $tan . " Ergebnisse schon gespeichert<br>"; - $smarty->assign('index_error', 1); - } - - } else { - # Testdatum stimmt nicht, kein Student gefunden - $hinweis['hinweis'] = "TAN: " . $tan . " in der CSV gehört nicht zu diesem Datum (Kein Fehler)<br>"; - $smarty->assign('index_error', 1); - } - $table_data2[] = $hinweis; - } - $smarty->assign('table_data2', $table_data2); - - - fclose($handle); - - } else { // Es wurde kein Radiobutton gewählt! Technisch aber ausgeschlossen - - echo "sie müssen eine Auswahl treffen"; - - } - - function deleteFiles($verz) - { - $handle = opendir($verz); - while ($file = readdir($handle)) { - if ($file != "." && $file != "..") { - - $datei = $verz . $file; - - if (@unlink($datei)) { - $error = TRUE; - } else { - $error = FALSE; - } - } - } - closedir($handle); - return $error; - } - - deleteFiles($verz); // Dateien werden im Uploadverzeichnis gelöscht, falls noch welche darin wären - -} // ende Action - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/parameter.php b/admin/parameter.php deleted file mode 100644 index 2f26268..0000000 --- a/admin/parameter.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once("../language/german.inc.php"); - - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $query1 = "SELECT pid, beschreibung, wert - FROM jumi_parameter - ORDER BY sort ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - # Passwort f�r die Praxisstellen wird verschl�sselt gespeichert - - if(!isset($zaehler) or $zaehler == 1){ - $zaehler = 0; - }else{ - $zaehler = 1; - } - $row1['zaehler'] = $zaehler; - $table_data1[] = $row1; - } - - $smarty->assign('table_data1', $table_data1); -} - -if($action == 'save'){ - - - $query2 = "SELECT pid - FROM jumi_parameter - ORDER BY pid ASC"; - $result2 = $db->query( $query2) - or die ("Cannot execute query2"); - - while ($row2 = $result2->fetch_array()){ - $pid = $row2['pid']; - $pid_value = $_POST[$pid]; - - - $sql1 = $db->query( "UPDATE jumi_parameter - SET wert = '$pid_value' - WHERE pid = $pid - " ); - - } - - if(!$sql1){ - $error = TRUE; - $error_reason .= "Fehler beim Update [jumi_parameter]<br>"; - }else{ - $error = FALSE; - $smarty->assign('parameter_inserterr', "2"); - echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF'] ."?\">"; - } - - if($error){ - $smarty->assign('parameter_inserterr', "1"); - $smarty->assign('parameter_reason', "$error_reason"); // Kein Mailversand - } // Ende IF : Insert hat geklappt - -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/phpqrcode/CHANGELOG b/admin/phpqrcode/CHANGELOG deleted file mode 100644 index 1088530..0000000 --- a/admin/phpqrcode/CHANGELOG +++ /dev/null @@ -1,38 +0,0 @@ -* 1.0.0 build 2010031920 - - - first public release - - help in readme, install - - cleanup ans separation of QRtools and QRspec - - now TCPDF binding requires minimal changes in TCPDF, having most of job - done in QRtools tcpdfBarcodeArray - - nicer QRtools::timeBenchmark output - - license and copyright notices in files - - indent cleanup - from tab to 4spc, keep it that way please :) - - sf project, repository, wiki - - simple code generator in index.php - -* 1.1.0 build 2010032113 - - - added merge tool wich generate merged version of code - located in phpqrcode.php - - splited qrconst.php from qrlib.php - -* 1.1.1 build 2010032405 - - - patch by Rick Seymour allowing saving PNG and displaying it at the same time - - added version info in VERSION file - - modified merge tool to include version info into generated file - - fixed e-mail in almost all head comments - -* 1.1.2 build 2010032722 - - - full integration with TCPDF thanks to Nicola Asuni, it's author - - fixed bug with alphanumeric encoding detection - -* 1.1.3 build 2010081807 - - - short opening tags replaced with standard ones - -* 1.1.4 build 2010100721 - - - added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC) diff --git a/admin/phpqrcode/INSTALL b/admin/phpqrcode/INSTALL deleted file mode 100644 index eac6b07..0000000 --- a/admin/phpqrcode/INSTALL +++ /dev/null @@ -1,67 +0,0 @@ -== REQUIREMENTS == - - * PHP5 - * PHP GD2 extension with JPEG and PNG support - -== INSTALLATION == - -If you want to recreate cache by yourself make sure cache directory is -writable and you have permisions to write into it. Also make sure you are -able to read files in it if you have cache option enabled - -== CONFIGURATION == - -Feel free to modify config constants in qrconfig.php file. Read about it in -provided comments and project wiki page (links in README file) - -== QUICK START == - -Notice: probably you should'nt use all of this in same script :) - -<?phpb - -//include only that one, rest required files will be included from it -include "qrlib.php" - -//write code into file, Error corection lecer is lowest, L (one form: L,M,Q,H) -//each code square will be 4x4 pixels (4x zoom) -//code will have 2 code squares white boundary around - -QRcode::png('PHP QR Code :)', 'test.png', 'L', 4, 2); - -//same as above but outputs file directly into browser (with appr. header etc.) -//all other settings are default -//WARNING! it should be FIRST and ONLY output generated by script, otherwise -//rest of output will land inside PNG binary, breaking it for sure -QRcode::png('PHP QR Code :)'); - -//show benchmark -QRtools::timeBenchmark(); - -//rebuild cache -QRtools::buildCache(); - -//code generated in text mode - as a binary table -//then displayed out as HTML using Unicode block building chars :) -$tab = $qr->encode('PHP QR Code :)'); -QRspec::debug($tab, true); - -== TCPDF INTEGRATION == - -Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php. -Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge) -2dbarcodes.php - -Then use similar as example #50 from TCPDF examples: - -<?php - -$style = array( - 'border' => true, - 'padding' => 4, - 'fgcolor' => array(0,0,0), - 'bgcolor' => false, //array(255,255,255) -); - -//code name: QR, specify error correction level after semicolon (L,M,Q,H) -$pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N'); diff --git a/admin/phpqrcode/LICENSE b/admin/phpqrcode/LICENSE deleted file mode 100644 index 1883303..0000000 --- a/admin/phpqrcode/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/admin/phpqrcode/README b/admin/phpqrcode/README deleted file mode 100644 index a022fb5..0000000 --- a/admin/phpqrcode/README +++ /dev/null @@ -1,45 +0,0 @@ -This is PHP implementation of QR Code 2-D barcode generator. It is pure-php -LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi. - -== LICENSING == - -Copyright (C) 2010 by Dominik Dzienia - -This library is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the Free -Software Foundation; either version 3 of the License, or any later version. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file) -for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this library; if not, write to the Free Software Foundation, Inc., 51 -Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -== INSTALATION AND USAGE == - - * INSTALL file - * http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page - -== CONTACT == - -Fell free to contact me via e-mail (deltalab at poczta dot fm) or using -folowing project pages: - - * http://sourceforge.net/projects/phpqrcode/ - * http://phpqrcode.sourceforge.net/ - -== ACKNOWLEDGMENTS == - -Based on C libqrencode library (ver. 3.1.1) -Copyright (C) 2006-2010 by Kentaro Fukuchi -http://megaui.net/fukuchi/works/qrencode/index.en.html - -QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other -countries. - -Reed-Solomon code encoder is written by Phil Karn, KA9Q. -Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q - \ No newline at end of file diff --git a/admin/phpqrcode/VERSION b/admin/phpqrcode/VERSION deleted file mode 100644 index 9f99279..0000000 --- a/admin/phpqrcode/VERSION +++ /dev/null @@ -1,2 +0,0 @@ -1.1.4 -2010100721 \ No newline at end of file diff --git a/admin/phpqrcode/bindings/tcpdf/qrcode.php b/admin/phpqrcode/bindings/tcpdf/qrcode.php deleted file mode 100644 index 4cb1389..0000000 --- a/admin/phpqrcode/bindings/tcpdf/qrcode.php +++ /dev/null @@ -1,2875 +0,0 @@ -<?php -//============================================================+ -// File name : qrcode.php -// Begin : 2010-03-22 -// Last Update : 2010-03-29 -// Version : 1.0.002 -// License : GNU LGPL v.3 (http://www.gnu.org/copyleft/lesser.html) -// ---------------------------------------------------------------------------- -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3 of the License, or any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -// or browse http://www.gnu.org/copyleft/lesser.html -// -// ---------------------------------------------------------------------------- -// -// DESCRIPTION : -// -// Class to create QR-code arrays for TCPDF class. -// QR Code symbol is a 2D barcode that can be scanned by -// handy terminals such as a mobile phone with CCD. -// The capacity of QR Code is up to 7000 digits or 4000 -// characters, and has high robustness. -// This class supports QR Code model 2, described in -// JIS (Japanese Industrial Standards) X0510:2004 -// or ISO/IEC 18004. -// Currently the following features are not supported: -// ECI and FNC1 mode, Micro QR Code, QR Code model 1, -// Structured mode. -// -// This class is derived from the following projects: -// --------------------------------------------------------- -// "PHP QR Code encoder" -// License: GNU-LGPLv3 -// Copyright (C) 2010 by Dominik Dzienia <deltalab at poczta dot fm> -// http://phpqrcode.sourceforge.net/ -// https://sourceforge.net/projects/phpqrcode/ -// -// The "PHP QR Code encoder" is based on -// "C libqrencode library" (ver. 3.1.1) -// License: GNU-LGPL 2.1 -// Copyright (C) 2006-2010 by Kentaro Fukuchi -// http://megaui.net/fukuchi/works/qrencode/index.en.html -// -// Reed-Solomon code encoder is written by Phil Karn, KA9Q. -// Copyright (C) 2002-2006 Phil Karn, KA9Q -// -// QR Code is registered trademark of DENSO WAVE INCORPORATED -// http://www.denso-wave.com/qrcode/index-e.html -// --------------------------------------------------------- -// -// Author: Nicola Asuni -// -// (c) Copyright 2010: -// Nicola Asuni -// Tecnick.com S.r.l. -// Via della Pace, 11 -// 09044 Quartucciu (CA) -// ITALY -// www.tecnick.com -// info@tecnick.com -//============================================================+ - -/** - * Class to create QR-code arrays for TCPDF class. - * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. - * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. - * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. - * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. - * - * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). - * Please read comments on this class source file for full copyright and license information. - * - * @package com.tecnick.tcpdf - * @abstract Class for generating QR-code array for TCPDF. - * @author Nicola Asuni - * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com - * @link http://www.tcpdf.org - * @license http://www.gnu.org/copyleft/lesser.html LGPL - * @version 1.0.002 - */ - -// definitions -if (!defined('QRCODEDEFS')) { - - /** - * Indicate that definitions for this class are set - */ - define('QRCODEDEFS', true); - - // ----------------------------------------------------- - - // Encoding modes (characters which can be encoded in QRcode) - - /** - * Encoding mode - */ - define('QR_MODE_NL', -1); - - /** - * Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. In theory, 7089 characters or less can be stored in a QRcode. - */ - define('QR_MODE_NM', 0); - - /** - * Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode. - */ - define('QR_MODE_AN', 1); - - /** - * Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode. - */ - define('QR_MODE_8B', 2); - - /** - * Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. In theory, 1817 characters or less can be stored in a QRcode. - */ - define('QR_MODE_KJ', 3); - - /** - * Encoding mode STRUCTURED (currently unsupported) - */ - define('QR_MODE_ST', 4); - - // ----------------------------------------------------- - - // Levels of error correction. - // QRcode has a function of an error correcting for miss reading that white is black. - // Error correcting is defined in 4 level as below. - - /** - * Error correction level L : About 7% or less errors can be corrected. - */ - define('QR_ECLEVEL_L', 0); - - /** - * Error correction level M : About 15% or less errors can be corrected. - */ - define('QR_ECLEVEL_M', 1); - - /** - * Error correction level Q : About 25% or less errors can be corrected. - */ - define('QR_ECLEVEL_Q', 2); - - /** - * Error correction level H : About 30% or less errors can be corrected. - */ - define('QR_ECLEVEL_H', 3); - - // ----------------------------------------------------- - - // Version. Size of QRcode is defined as version. - // Version is from 1 to 40. - // Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. - // So version 40 is 177*177 matrix. - - /** - * Maximum QR Code version. - */ - define('QRSPEC_VERSION_MAX', 40); - - /** - * Maximum matrix size for maximum version (version 40 is 177*177 matrix). - */ - define('QRSPEC_WIDTH_MAX', 177); - - // ----------------------------------------------------- - - /** - * Matrix index to get width from $capacity array. - */ - define('QRCAP_WIDTH', 0); - - /** - * Matrix index to get number of words from $capacity array. - */ - define('QRCAP_WORDS', 1); - - /** - * Matrix index to get remainder from $capacity array. - */ - define('QRCAP_REMINDER', 2); - - /** - * Matrix index to get error correction level from $capacity array. - */ - define('QRCAP_EC', 3); - - // ----------------------------------------------------- - - // Structure (currently usupported) - - /** - * Number of header bits for structured mode - */ - define('STRUCTURE_HEADER_BITS', 20); - - /** - * Max number of symbols for structured mode - */ - define('MAX_STRUCTURED_SYMBOLS', 16); - - // ----------------------------------------------------- - - // Masks - - /** - * Down point base value for case 1 mask pattern (concatenation of same color in a line or a column) - */ - define('N1', 3); - - /** - * Down point base value for case 2 mask pattern (module block of same color) - */ - define('N2', 3); - - /** - * Down point base value for case 3 mask pattern (1:1:3:1:1(dark:bright:dark:bright:dark)pattern in a line or a column) - */ - define('N3', 40); - - /** - * Down point base value for case 4 mask pattern (ration of dark modules in whole) - */ - define('N4', 10); - - // ----------------------------------------------------- - - // Optimization settings - - /** - * if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code - */ - define('QR_FIND_BEST_MASK', true); - - /** - * if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly - */ - define('QR_FIND_FROM_RANDOM', 2); - - /** - * when QR_FIND_BEST_MASK === false - */ - define('QR_DEFAULT_MASK', 2); - - // ----------------------------------------------------- - -} // end of definitions - -// #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# - -if (!class_exists('QRcode', false)) { - - // for compaibility with PHP4 - if (!function_exists('str_split')) { - /** - * Convert a string to an array (needed for PHP4 compatibility) - * @param string $string The input string. - * @param int $split_length Maximum length of the chunk. - * @return If the optional split_length parameter is specified, the returned array will be broken down into chunks with each being split_length in length, otherwise each chunk will be one character in length. FALSE is returned if split_length is less than 1. If the split_length length exceeds the length of string , the entire string is returned as the first (and only) array element. - */ - function str_split($string, $split_length=1) { - if ((strlen($string) > $split_length) OR (!$split_length)) { - do { - $c = strlen($string); - $parts[] = substr($string, 0, $split_length); - $string = substr($string, $split_length); - } while ($string !== false); - } else { - $parts = array($string); - } - return $parts; - } - } - - // ##################################################### - - /** - * Class to create QR-code arrays for TCPDF class. - * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. - * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. - * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. - * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. - * - * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). - * Please read comments on this class source file for full copyright and license information. - * - * @name QRcode - * @package com.tecnick.tcpdf - * @abstract Class for generating QR-code array for TCPDF. - * @author Nicola Asuni - * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com - * @link http://www.tcpdf.org - * @license http://www.gnu.org/copyleft/lesser.html LGPL - * @version 1.0.002 - */ - class QRcode { - - /** - * @var barcode array to be returned which is readable by TCPDF - * @access protected - */ - protected $barcode_array = array(); - - /** - * @var QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix. - * @access protected - */ - protected $version = 0; - - /** - * @var Levels of error correction. See definitions for possible values. - * @access protected - */ - protected $level = QR_ECLEVEL_L; - - /** - * @var Encoding mode - * @access protected - */ - protected $hint = QR_MODE_8B; - - /** - * @var if true the input string will be converted to uppercase - * @access protected - */ - protected $casesensitive = true; - - /** - * @var structured QR code (not supported yet) - * @access protected - */ - protected $structured = 0; - - /** - * @var mask data - * @access protected - */ - protected $data; - - // FrameFiller - - /** - * @var width - * @access protected - */ - protected $width; - - /** - * @var frame - * @access protected - */ - protected $frame; - - /** - * @var X position of bit - * @access protected - */ - protected $x; - - /** - * @var Y position of bit - * @access protected - */ - protected $y; - - /** - * @var direction - * @access protected - */ - protected $dir; - - /** - * @var single bit - * @access protected - */ - protected $bit; - - // ---- QRrawcode ---- - - /** - * @var data code - * @access protected - */ - protected $datacode = array(); - - /** - * @var error correction code - * @access protected - */ - protected $ecccode = array(); - - /** - * @var blocks - * @access protected - */ - protected $blocks; - - /** - * @var Reed-Solomon blocks - * @access protected - */ - protected $rsblocks = array(); //of RSblock - - /** - * @var counter - * @access protected - */ - protected $count; - - /** - * @var data length - * @access protected - */ - protected $dataLength; - - /** - * @var error correction length - * @access protected - */ - protected $eccLength; - - /** - * @var b1 - * @access protected - */ - protected $b1; - - // ---- QRmask ---- - - /** - * @var run length - * @access protected - */ - protected $runLength = array(); - - // ---- QRsplit ---- - - /** - * @var input data string - * @access protected - */ - protected $dataStr = ''; - - /** - * @var input items - * @access protected - */ - protected $items; - - // Reed-Solomon items - - /** - * @var Reed-Solomon items - * @access protected - */ - protected $rsitems = array(); - - /** - * @var array of frames - * @access protected - */ - protected $frames = array(); - - /** - * @var alphabet-numeric convesion table - * @access protected - */ - protected $anTable = array( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // - 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // - -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // - ); - - /** - * @var array Table of the capacity of symbols - * See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004. - * @access protected - */ - protected $capacity = array( - array( 0, 0, 0, array( 0, 0, 0, 0)), // - array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 - array( 25, 44, 7, array( 10, 16, 22, 28)), // - array( 29, 70, 7, array( 15, 26, 36, 44)), // - array( 33, 100, 7, array( 20, 36, 52, 64)), // - array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 - array( 41, 172, 7, array( 36, 64, 96, 112)), // - array( 45, 196, 0, array( 40, 72, 108, 130)), // - array( 49, 242, 0, array( 48, 88, 132, 156)), // - array( 53, 292, 0, array( 60, 110, 160, 192)), // - array( 57, 346, 0, array( 72, 130, 192, 224)), // 10 - array( 61, 404, 0, array( 80, 150, 224, 264)), // - array( 65, 466, 0, array( 96, 176, 260, 308)), // - array( 69, 532, 0, array( 104, 198, 288, 352)), // - array( 73, 581, 3, array( 120, 216, 320, 384)), // - array( 77, 655, 3, array( 132, 240, 360, 432)), // 15 - array( 81, 733, 3, array( 144, 280, 408, 480)), // - array( 85, 815, 3, array( 168, 308, 448, 532)), // - array( 89, 901, 3, array( 180, 338, 504, 588)), // - array( 93, 991, 3, array( 196, 364, 546, 650)), // - array( 97, 1085, 3, array( 224, 416, 600, 700)), // 20 - array(101, 1156, 4, array( 224, 442, 644, 750)), // - array(105, 1258, 4, array( 252, 476, 690, 816)), // - array(109, 1364, 4, array( 270, 504, 750, 900)), // - array(113, 1474, 4, array( 300, 560, 810, 960)), // - array(117, 1588, 4, array( 312, 588, 870, 1050)), // 25 - array(121, 1706, 4, array( 336, 644, 952, 1110)), // - array(125, 1828, 4, array( 360, 700, 1020, 1200)), // - array(129, 1921, 3, array( 390, 728, 1050, 1260)), // - array(133, 2051, 3, array( 420, 784, 1140, 1350)), // - array(137, 2185, 3, array( 450, 812, 1200, 1440)), // 30 - array(141, 2323, 3, array( 480, 868, 1290, 1530)), // - array(145, 2465, 3, array( 510, 924, 1350, 1620)), // - array(149, 2611, 3, array( 540, 980, 1440, 1710)), // - array(153, 2761, 3, array( 570, 1036, 1530, 1800)), // - array(157, 2876, 0, array( 570, 1064, 1590, 1890)), // 35 - array(161, 3034, 0, array( 600, 1120, 1680, 1980)), // - array(165, 3196, 0, array( 630, 1204, 1770, 2100)), // - array(169, 3362, 0, array( 660, 1260, 1860, 2220)), // - array(173, 3532, 0, array( 720, 1316, 1950, 2310)), // - array(177, 3706, 0, array( 750, 1372, 2040, 2430)) // 40 - ); - - /** - * @var array Length indicator - * @access protected - */ - protected $lengthTableBits = array( - array(10, 12, 14), - array( 9, 11, 13), - array( 8, 16, 16), - array( 8, 10, 12) - ); - - /** - * @var array Table of the error correction code (Reed-Solomon block) - * See Table 12-16 (pp.30-36), JIS X0510:2004. - * @access protected - */ - protected $eccTable = array( - array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), // - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // - array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), // - array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), // - array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 - array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), // - array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), // - array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), // - array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), // - array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), // 10 - array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), // - array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), // - array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), // - array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), // - array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), // 15 - array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), // - array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), // - array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), // - array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), // - array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), // 20 - array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), // - array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), // - array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), // - array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), // - array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), // 25 - array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), // - array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), // - array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), // - array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), // - array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), // 30 - array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), // - array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), // - array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), // - array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), // - array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), // 35 - array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), // - array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), // - array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), // - array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), // - array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)) // 40 - ); - - /** - * @var array Positions of alignment patterns. - * This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them. - * See Table 1 in Appendix E (pp.71) of JIS X0510:2004. - * @access protected - */ - protected $alignmentPattern = array( - array( 0, 0), - array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 - array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 - array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), // 11-15 - array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), // 16-20 - array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), // 21-25 - array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), // 26-30 - array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), // 31-35 - array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58) // 35-40 - ); - - /** - * @var array Version information pattern (BCH coded). - * See Table 1 in Appendix D (pp.68) of JIS X0510:2004. - * size: [QRSPEC_VERSION_MAX - 6] - * @access protected - */ - protected $versionPattern = array( - 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, // - 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, // - 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, // - 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, // - 0x27541, 0x28c69 - ); - - /** - * @var array Format information - * @access protected - */ - protected $formatInfo = array( - array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), // - array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), // - array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), // - array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) // - ); - - - // ------------------------------------------------- - // ------------------------------------------------- - - - /** - * This is the class constructor. - * Creates a QRcode object - * @param string $code code to represent using QRcode - * @param string $eclevel error level: <ul><li>L : About 7% or less errors can be corrected.</li><li>M : About 15% or less errors can be corrected.</li><li>Q : About 25% or less errors can be corrected.</li><li>H : About 30% or less errors can be corrected.</li></ul> - * @access public - * @since 1.0.000 - */ - public function __construct($code, $eclevel = 'L') { - $barcode_array = array(); - if ((is_null($code)) OR ($code == '\0') OR ($code == '')) { - return false; - } - // set error correction level - $this->level = array_search($eclevel, array('L', 'M', 'Q', 'H')); - if ($this->level === false) { - $this->level = QR_ECLEVEL_L; - } - if (($this->hint != QR_MODE_8B) AND ($this->hint != QR_MODE_KJ)) { - return false; - } - if (($this->version < 0) OR ($this->version > QRSPEC_VERSION_MAX)) { - return false; - } - $this->items = array(); - $this->encodeString($code); - $qrTab = $this->binarize($this->data); - $size = count($qrTab); - $barcode_array['num_rows'] = $size; - $barcode_array['num_cols'] = $size; - $barcode_array['bcode'] = array(); - foreach ($qrTab as $line) { - $arrAdd = array(); - foreach (str_split($line) as $char) { - $arrAdd[] = ($char=='1')?1:0; - } - $barcode_array['bcode'][] = $arrAdd; - } - $this->barcode_array = $barcode_array; - } - - /** - * Returns a barcode array which is readable by TCPDF - * @return array barcode array readable by TCPDF; - * @access public - */ - public function getBarcodeArray() { - return $this->barcode_array; - } - - /** - * Convert the frame in binary form - * @param array $frame array to binarize - * @return array frame in binary form - */ - protected function binarize($frame) { - $len = count($frame); - // the frame is square (width = height) - foreach ($frame as &$frameLine) { - for ($i=0; $i<$len; $i++) { - $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; - } - } - return $frame; - } - - /** - * Encode the input string to QR code - * @param string $string input string to encode - */ - protected function encodeString($string) { - $this->dataStr = $string; - if (!$this->casesensitive) { - $this->toUpper(); - } - $ret = $this->splitString(); - if ($ret < 0) { - return NULL; - } - $this->encodeMask(-1); - } - - /** - * Encode mask - * @param int $mask masking mode - */ - protected function encodeMask($mask) { - $spec = array(0, 0, 0, 0, 0); - $this->datacode = $this->getByteStream($this->items); - if (is_null($this->datacode)) { - return NULL; - } - $spec = $this->getEccSpec($this->version, $this->level, $spec); - $this->b1 = $this->rsBlockNum1($spec); - $this->dataLength = $this->rsDataLength($spec); - $this->eccLength = $this->rsEccLength($spec); - $this->ecccode = array_fill(0, $this->eccLength, 0); - $this->blocks = $this->rsBlockNum($spec); - $ret = $this->init($spec); - if ($ret < 0) { - return NULL; - } - $this->count = 0; - $this->width = $this->getWidth($this->version); - $this->frame = $this->newFrame($this->version); - $this->x = $this->width - 1; - $this->y = $this->width - 1; - $this->dir = -1; - $this->bit = -1; - // inteleaved data and ecc codes - for ($i=0; $i < ($this->dataLength + $this->eccLength); $i++) { - $code = $this->getCode(); - $bit = 0x80; - for ($j=0; $j<8; $j++) { - $addr = $this->getNextPosition(); - $this->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); - $bit = $bit >> 1; - } - } - // remainder bits - $j = $this->getRemainder($this->version); - for ($i=0; $i<$j; $i++) { - $addr = $this->getNextPosition(); - $this->setFrameAt($addr, 0x02); - } - // masking - $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); - if ($mask < 0) { - if (QR_FIND_BEST_MASK) { - $masked = $this->mask($this->width, $this->frame, $this->level); - } else { - $masked = $this->makeMask($this->width, $this->frame, (intval(QR_DEFAULT_MASK) % 8), $this->level); - } - } else { - $masked = $this->makeMask($this->width, $this->frame, $mask, $this->level); - } - if ($masked == NULL) { - return NULL; - } - $this->data = $masked; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // FrameFiller - - /** - * Set frame value at specified position - * @param array $at x,y position - * @param int $val value of the character to set - */ - protected function setFrameAt($at, $val) { - $this->frame[$at['y']][$at['x']] = chr($val); - } - - /** - * Get frame value at specified position - * @param array $at x,y position - * @return value at specified position - */ - protected function getFrameAt($at) { - return ord($this->frame[$at['y']][$at['x']]); - } - - /** - * Return the next frame position - * @return array of x,y coordinates - */ - protected function getNextPosition() { - do { - if ($this->bit == -1) { - $this->bit = 0; - return array('x'=>$this->x, 'y'=>$this->y); - } - $x = $this->x; - $y = $this->y; - $w = $this->width; - if ($this->bit == 0) { - $x--; - $this->bit++; - } else { - $x++; - $y += $this->dir; - $this->bit--; - } - if ($this->dir < 0) { - if ($y < 0) { - $y = 0; - $x -= 2; - $this->dir = 1; - if ($x == 6) { - $x--; - $y = 9; - } - } - } else { - if ($y == $w) { - $y = $w - 1; - $x -= 2; - $this->dir = -1; - if ($x == 6) { - $x--; - $y -= 8; - } - } - } - if (($x < 0) OR ($y < 0)) { - return NULL; - } - $this->x = $x; - $this->y = $y; - } while(ord($this->frame[$y][$x]) & 0x80); - return array('x'=>$x, 'y'=>$y); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRrawcode - - /** - * Initialize code. - * @param array $spec array of ECC specification - * @return 0 in case of success, -1 in case of error - */ - protected function init($spec) { - $dl = $this->rsDataCodes1($spec); - $el = $this->rsEccCodes1($spec); - $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - $blockNo = 0; - $dataPos = 0; - $eccPos = 0; - $endfor = $this->rsBlockNum1($spec); - for ($i=0; $i < $endfor; ++$i) { - $ecc = array_slice($this->ecccode, $eccPos); - $this->rsblocks[$blockNo] = array(); - $this->rsblocks[$blockNo]['dataLength'] = $dl; - $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); - $this->rsblocks[$blockNo]['eccLength'] = $el; - $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); - $this->rsblocks[$blockNo]['ecc'] = $ecc; - $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - if ($this->rsBlockNum2($spec) == 0) { - return 0; - } - $dl = $this->rsDataCodes2($spec); - $el = $this->rsEccCodes2($spec); - $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - if ($rs == NULL) { - return -1; - } - $endfor = $this->rsBlockNum2($spec); - for ($i=0; $i < $endfor; ++$i) { - $ecc = array_slice($this->ecccode, $eccPos); - $this->rsblocks[$blockNo] = array(); - $this->rsblocks[$blockNo]['dataLength'] = $dl; - $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); - $this->rsblocks[$blockNo]['eccLength'] = $el; - $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); - $this->rsblocks[$blockNo]['ecc'] = $ecc; - $this->ecccode = array_merge(array_slice($this->ecccode, 0, $eccPos), $ecc); - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - return 0; - } - - /** - * Return Reed-Solomon block code. - * @return array rsblocks - */ - protected function getCode() { - if ($this->count < $this->dataLength) { - $row = $this->count % $this->blocks; - $col = $this->count / $this->blocks; - if ($col >= $this->rsblocks[0]['dataLength']) { - $row += $this->b1; - } - $ret = $this->rsblocks[$row]['data'][$col]; - } elseif ($this->count < $this->dataLength + $this->eccLength) { - $row = ($this->count - $this->dataLength) % $this->blocks; - $col = ($this->count - $this->dataLength) / $this->blocks; - $ret = $this->rsblocks[$row]['ecc'][$col]; - } else { - return 0; - } - $this->count++; - return $ret; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRmask - - /** - * Write Format Information on frame and returns the number of black bits - * @param int $width frame width - * @param array $frame frame - * @param array $mask masking mode - * @param int $level error correction level - * @return int blacks - */ - protected function writeFormatInformation($width, &$frame, $mask, $level) { - $blacks = 0; - $format = $this->getFormatInfo($mask, $level); - for ($i=0; $i<8; ++$i) { - if ($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - $frame[8][$width - 1 - $i] = chr($v); - if ($i < 6) { - $frame[$i][8] = chr($v); - } else { - $frame[$i + 1][8] = chr($v); - } - $format = $format >> 1; - } - for ($i=0; $i<7; ++$i) { - if ($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - $frame[$width - 7 + $i][8] = chr($v); - if ($i == 0) { - $frame[8][7] = chr($v); - } else { - $frame[8][6 - $i] = chr($v); - } - $format = $format >> 1; - } - return $blacks; - } - - /** - * mask0 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask0($x, $y) { - return ($x + $y) & 1; - } - - /** - * mask1 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask1($x, $y) { - return ($y & 1); - } - - /** - * mask2 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask2($x, $y) { - return ($x % 3); - } - - /** - * mask3 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask3($x, $y) { - return ($x + $y) % 3; - } - - /** - * mask4 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask4($x, $y) { - return (((int)($y / 2)) + ((int)($x / 3))) & 1; - } - - /** - * mask5 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask5($x, $y) { - return (($x * $y) & 1) + ($x * $y) % 3; - } - - /** - * mask6 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask6($x, $y) { - return ((($x * $y) & 1) + ($x * $y) % 3) & 1; - } - - /** - * mask7 - * @param int $x X position - * @param int $y Y position - * @return int mask - */ - protected function mask7($x, $y) { - return ((($x * $y) % 3) + (($x + $y) & 1)) & 1; - } - - /** - * Return bitmask - * @param int $maskNo mask number - * @param int $width width - * @param array $frame frame - * @return array bitmask - */ - protected function generateMaskNo($maskNo, $width, $frame) { - $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); - for ($y=0; $y<$width; ++$y) { - for ($x=0; $x<$width; ++$x) { - if (ord($frame[$y][$x]) & 0x80) { - $bitMask[$y][$x] = 0; - } else { - $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); - $bitMask[$y][$x] = ($maskFunc == 0)?1:0; - } - } - } - return $bitMask; - } - - /** - * makeMaskNo - * @param int $maskNo - * @param int $width - * @param int $s - * @param int $d - * @param boolean $maskGenOnly - * @return int b - */ - protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) { - $b = 0; - $bitMask = array(); - $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); - if ($maskGenOnly) { - return; - } - $d = $s; - for ($y=0; $y<$width; ++$y) { - for ($x=0; $x<$width; ++$x) { - if ($bitMask[$y][$x] == 1) { - $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); - } - $b += (int)(ord($d[$y][$x]) & 1); - } - } - return $b; - } - - /** - * makeMask - * @param int $width - * @param array $frame - * @param int $maskNo - * @param int $level - * @return array mask - */ - protected function makeMask($width, $frame, $maskNo, $level) { - $masked = array_fill(0, $width, str_repeat("\0", $width)); - $this->makeMaskNo($maskNo, $width, $frame, $masked); - $this->writeFormatInformation($width, $masked, $maskNo, $level); - return $masked; - } - - /** - * calcN1N3 - * @param int $length - * @return int demerit - */ - protected function calcN1N3($length) { - $demerit = 0; - for ($i=0; $i<$length; ++$i) { - if ($this->runLength[$i] >= 5) { - $demerit += (N1 + ($this->runLength[$i] - 5)); - } - if ($i & 1) { - if (($i >= 3) AND ($i < ($length-2)) AND ($this->runLength[$i] % 3 == 0)) { - $fact = (int)($this->runLength[$i] / 3); - if (($this->runLength[$i-2] == $fact) - AND ($this->runLength[$i-1] == $fact) - AND ($this->runLength[$i+1] == $fact) - AND ($this->runLength[$i+2] == $fact)) { - if (($this->runLength[$i-3] < 0) OR ($this->runLength[$i-3] >= (4 * $fact))) { - $demerit += N3; - } elseif ((($i+3) >= $length) OR ($this->runLength[$i+3] >= (4 * $fact))) { - $demerit += N3; - } - } - } - } - } - return $demerit; - } - - /** - * evaluateSymbol - * @param int $width - * @param array $frame - * @return int demerit - */ - protected function evaluateSymbol($width, $frame) { - $head = 0; - $demerit = 0; - for ($y=0; $y<$width; ++$y) { - $head = 0; - $this->runLength[0] = 1; - $frameY = $frame[$y]; - if ($y > 0) { - $frameYM = $frame[$y-1]; - } - for ($x=0; $x<$width; ++$x) { - if (($x > 0) AND ($y > 0)) { - $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); - $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); - if (($b22 | ($w22 ^ 1)) & 1) { - $demerit += N2; - } - } - if (($x == 0) AND (ord($frameY[$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } elseif ($x > 0) { - if ((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - $demerit += $this->calcN1N3($head+1); - } - for ($x=0; $x<$width; ++$x) { - $head = 0; - $this->runLength[0] = 1; - for ($y=0; $y<$width; ++$y) { - if (($y == 0) AND (ord($frame[$y][$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } elseif ($y > 0) { - if ((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - $demerit += $this->calcN1N3($head+1); - } - return $demerit; - } - - /** - * mask - * @param int $width - * @param array $frame - * @param int $level - * @return array best mask - */ - protected function mask($width, $frame, $level) { - $minDemerit = PHP_INT_MAX; - $bestMaskNum = 0; - $bestMask = array(); - $checked_masks = array(0, 1, 2, 3, 4, 5, 6, 7); - if (QR_FIND_FROM_RANDOM !== false) { - $howManuOut = 8 - (QR_FIND_FROM_RANDOM % 9); - for ($i = 0; $i < $howManuOut; ++$i) { - $remPos = rand (0, count($checked_masks)-1); - unset($checked_masks[$remPos]); - $checked_masks = array_values($checked_masks); - } - } - $bestMask = $frame; - foreach ($checked_masks as $i) { - $mask = array_fill(0, $width, str_repeat("\0", $width)); - $demerit = 0; - $blacks = 0; - $blacks = $this->makeMaskNo($i, $width, $frame, $mask); - $blacks += $this->writeFormatInformation($width, $mask, $i, $level); - $blacks = (int)(100 * $blacks / ($width * $width)); - $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); - $demerit += $this->evaluateSymbol($width, $mask); - if ($demerit < $minDemerit) { - $minDemerit = $demerit; - $bestMask = $mask; - $bestMaskNum = $i; - } - } - return $bestMask; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRsplit - - /** - * Return true if the character at specified position is a number - * @param string $str string - * @param int $pos characted position - * @return boolean true of false - */ - protected function isdigitat($str, $pos) { - if ($pos >= strlen($str)) { - return false; - } - return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); - } - - /** - * Return true if the character at specified position is an alphanumeric character - * @param string $str string - * @param int $pos characted position - * @return boolean true of false - */ - protected function isalnumat($str, $pos) { - if ($pos >= strlen($str)) { - return false; - } - return ($this->lookAnTable(ord($str[$pos])) >= 0); - } - - /** - * identifyMode - * @param int $pos - * @return int mode - */ - protected function identifyMode($pos) { - if ($pos >= strlen($this->dataStr)) { - return QR_MODE_NL; - } - $c = $this->dataStr[$pos]; - if ($this->isdigitat($this->dataStr, $pos)) { - return QR_MODE_NM; - } elseif ($this->isalnumat($this->dataStr, $pos)) { - return QR_MODE_AN; - } elseif ($this->hint == QR_MODE_KJ) { - if ($pos+1 < strlen($this->dataStr)) { - $d = $this->dataStr[$pos+1]; - $word = (ord($c) << 8) | ord($d); - if (($word >= 0x8140 && $word <= 0x9ffc) OR ($word >= 0xe040 && $word <= 0xebbf)) { - return QR_MODE_KJ; - } - } - } - return QR_MODE_8B; - } - - /** - * eatNum - * @return int run - */ - protected function eatNum() { - $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); - $p = 0; - while($this->isdigitat($this->dataStr, $p)) { - $p++; - } - $run = $p; - $mode = $this->identifyMode($p); - if ($mode == QR_MODE_8B) { - $dif = $this->estimateBitsModeNum($run) + 4 + $ln - + $this->estimateBitsMode8(1) // + 4 + l8 - - $this->estimateBitsMode8($run + 1); // - 4 - l8 - if ($dif > 0) { - return $this->eat8(); - } - } - if ($mode == QR_MODE_AN) { - $dif = $this->estimateBitsModeNum($run) + 4 + $ln - + $this->estimateBitsModeAn(1) // + 4 + la - - $this->estimateBitsModeAn($run + 1);// - 4 - la - if ($dif > 0) { - return $this->eatAn(); - } - } - $this->items = $this->appendNewInputItem($this->items, QR_MODE_NM, $run, str_split($this->dataStr)); - return $run; - } - - /** - * eatAn - * @return int run - */ - protected function eatAn() { - $la = $this->lengthIndicator(QR_MODE_AN, $this->version); - $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); - $p = 0; - while($this->isalnumat($this->dataStr, $p)) { - if ($this->isdigitat($this->dataStr, $p)) { - $q = $p; - while($this->isdigitat($this->dataStr, $q)) { - $q++; - } - $dif = $this->estimateBitsModeAn($p) // + 4 + la - + $this->estimateBitsModeNum($q - $p) + 4 + $ln - - $this->estimateBitsModeAn($q); // - 4 - la - if ($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - $run = $p; - if (!$this->isalnumat($this->dataStr, $p)) { - $dif = $this->estimateBitsModeAn($run) + 4 + $la - + $this->estimateBitsMode8(1) // + 4 + l8 - - $this->estimateBitsMode8($run + 1); // - 4 - l8 - if ($dif > 0) { - return $this->eat8(); - } - } - $this->items = $this->appendNewInputItem($this->items, QR_MODE_AN, $run, str_split($this->dataStr)); - return $run; - } - - /** - * eatKanji - * @return int run - */ - protected function eatKanji() { - $p = 0; - while($this->identifyMode($p) == QR_MODE_KJ) { - $p += 2; - } - $this->items = $this->appendNewInputItem($this->items, QR_MODE_KJ, $p, str_split($this->dataStr)); - return $run; - } - - /** - * eat8 - * @return int run - */ - protected function eat8() { - $la = $this->lengthIndicator(QR_MODE_AN, $this->version); - $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); - $p = 1; - $dataStrLen = strlen($this->dataStr); - while($p < $dataStrLen) { - $mode = $this->identifyMode($p); - if ($mode == QR_MODE_KJ) { - break; - } - if ($mode == QR_MODE_NM) { - $q = $p; - while($this->isdigitat($this->dataStr, $q)) { - $q++; - } - $dif = $this->estimateBitsMode8($p) // + 4 + l8 - + $this->estimateBitsModeNum($q - $p) + 4 + $ln - - $this->estimateBitsMode8($q); // - 4 - l8 - if ($dif < 0) { - break; - } else { - $p = $q; - } - } elseif ($mode == QR_MODE_AN) { - $q = $p; - while($this->isalnumat($this->dataStr, $q)) { - $q++; - } - $dif = $this->estimateBitsMode8($p) // + 4 + l8 - + $this->estimateBitsModeAn($q - $p) + 4 + $la - - $this->estimateBitsMode8($q); // - 4 - l8 - if ($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - $run = $p; - $this->items = $this->appendNewInputItem($this->items, QR_MODE_8B, $run, str_split($this->dataStr)); - return $run; - } - - /** - * splitString - */ - protected function splitString() { - while (strlen($this->dataStr) > 0) { - if ($this->dataStr == '') { - return 0; - } - $mode = $this->identifyMode(0); - switch ($mode) { - case QR_MODE_NM: { - $length = $this->eatNum(); - break; - } - case QR_MODE_AN: { - $length = $this->eatAn(); - break; - } - case QR_MODE_KJ: { - if ($hint == QR_MODE_KJ) { - $length = $this->eatKanji(); - } else { - $length = $this->eat8(); - } - break; - } - default: { - $length = $this->eat8(); - break; - } - } - if ($length == 0) { - return 0; - } - if ($length < 0) { - return -1; - } - $this->dataStr = substr($this->dataStr, $length); - } - } - - /** - * toUpper - */ - protected function toUpper() { - $stringLen = strlen($this->dataStr); - $p = 0; - while ($p < $stringLen) { - $mode = $this->identifyMode(substr($this->dataStr, $p), $this->hint); - if ($mode == QR_MODE_KJ) { - $p += 2; - } else { - if ((ord($this->dataStr[$p]) >= ord('a')) AND (ord($this->dataStr[$p]) <= ord('z'))) { - $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); - } - $p++; - } - } - return $this->dataStr; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRinputItem - - /** - * newInputItem - * @param int $mode - * @param int $size - * @param array $data - * @param array $bstream - * @return array input item - */ - protected function newInputItem($mode, $size, $data, $bstream=null) { - $setData = array_slice($data, 0, $size); - if (count($setData) < $size) { - $setData = array_merge($setData, array_fill(0, ($size - count($setData)), 0)); - } - if (!$this->check($mode, $size, $setData)) { - return NULL; - } - $inputitem = array(); - $inputitem['mode'] = $mode; - $inputitem['size'] = $size; - $inputitem['data'] = $setData; - $inputitem['bstream'] = $bstream; - return $inputitem; - } - - /** - * encodeModeNum - * @param array $inputitem - * @param int $version - * @return array input item - */ - protected function encodeModeNum($inputitem, $version) { - $words = (int)($inputitem['size'] / 3); - $inputitem['bstream'] = array(); - $val = 0x1; - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_NM, $version), $inputitem['size']); - for ($i=0; $i < $words; ++$i) { - $val = (ord($inputitem['data'][$i*3 ]) - ord('0')) * 100; - $val += (ord($inputitem['data'][$i*3+1]) - ord('0')) * 10; - $val += (ord($inputitem['data'][$i*3+2]) - ord('0')); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 10, $val); - } - if ($inputitem['size'] - $words * 3 == 1) { - $val = ord($inputitem['data'][$words*3]) - ord('0'); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); - } elseif (($inputitem['size'] - ($words * 3)) == 2) { - $val = (ord($inputitem['data'][$words*3 ]) - ord('0')) * 10; - $val += (ord($inputitem['data'][$words*3+1]) - ord('0')); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 7, $val); - } - return $inputitem; - } - - /** - * encodeModeAn - * @param array $inputitem - * @param int $version - * @return array input item - */ - protected function encodeModeAn($inputitem, $version) { - $words = (int)($inputitem['size'] / 2); - $inputitem['bstream'] = array(); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x02); - $inputitem['bstream'] = $this->appendNum(v, $this->lengthIndicator(QR_MODE_AN, $version), $inputitem['size']); - for ($i=0; $i < $words; ++$i) { - $val = (int)$this->lookAnTable(ord($inputitem['data'][$i*2 ])) * 45; - $val += (int)$this->lookAnTable(ord($inputitem['data'][$i*2+1])); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 11, $val); - } - if ($inputitem['size'] & 1) { - $val = $this->lookAnTable(ord($inputitem['data'][($words * 2)])); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 6, $val); - } - return $inputitem; - } - - /** - * encodeMode8 - * @param array $inputitem - * @param int $version - * @return array input item - */ - protected function encodeMode8($inputitem, $version) { - $inputitem['bstream'] = array(); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x4); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_8B, $version), $inputitem['size']); - for ($i=0; $i < $inputitem['size']; ++$i) { - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][$i])); - } - return $inputitem; - } - - /** - * encodeModeKanji - * @param array $inputitem - * @param int $version - * @return array input item - */ - protected function encodeModeKanji($inputitem, $version) { - $inputitem['bstream'] = array(); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x8); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_KJ, $version), (int)($inputitem['size'] / 2)); - for ($i=0; $i<$inputitem['size']; $i+=2) { - $val = (ord($inputitem['data'][$i]) << 8) | ord($inputitem['data'][$i+1]); - if ($val <= 0x9ffc) { - $val -= 0x8140; - } else { - $val -= 0xc140; - } - $h = ($val >> 8) * 0xc0; - $val = ($val & 0xff) + $h; - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 13, $val); - } - return $inputitem; - } - - /** - * encodeModeStructure - * @param array $inputitem - * @return array input item - */ - protected function encodeModeStructure($inputitem) { - $inputitem['bstream'] = array(); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x03); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][1]) - 1); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][0]) - 1); - $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][2])); - return $inputitem; - } - - /** - * encodeBitStream - * @param array $inputitem - * @param int $version - * @return array input item - */ - protected function encodeBitStream($inputitem, $version) { - $inputitem['bstream'] = array(); - $words = $this->maximumWords($inputitem['mode'], $version); - if ($inputitem['size'] > $words) { - $st1 = $this->newInputItem($inputitem['mode'], $words, $inputitem['data']); - $st2 = $this->newInputItem($inputitem['mode'], $inputitem['size'] - $words, array_slice($inputitem['data'], $words)); - $st1 = $this->encodeBitStream($st1, $version); - $st2 = $this->encodeBitStream($st2, $version); - $inputitem['bstream'] = array(); - $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st1['bstream']); - $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st2['bstream']); - } else { - switch($inputitem['mode']) { - case QR_MODE_NM: { - $inputitem = $this->encodeModeNum($inputitem, $version); - break; - } - case QR_MODE_AN: { - $inputitem = $this->encodeModeAn($inputitem, $version); - break; - } - case QR_MODE_8B: { - $inputitem = $this->encodeMode8($inputitem, $version); - break; - } - case QR_MODE_KJ: { - $inputitem = $this->encodeModeKanji($inputitem, $version); - break; - } - case QR_MODE_ST: { - $inputitem = $this->encodeModeStructure($inputitem); - break; - } - default: { - break; - } - } - } - return $inputitem; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRinput - - /** - * Append data to an input object. - * The data is copied and appended to the input object. - * @param array items input items - * @param int $mode encoding mode. - * @param int $size size of data (byte). - * @param array $data array of input data. - * @return items - * - */ - protected function appendNewInputItem($items, $mode, $size, $data) { - $items[] = $this->newInputItem($mode, $size, $data); - return $items; - } - - /** - * insertStructuredAppendHeader - * @param array $items - * @param int $size - * @param int $index - * @param int $parity - * @return array items - */ - protected function insertStructuredAppendHeader($items, $size, $index, $parity) { - if ($size > MAX_STRUCTURED_SYMBOLS) { - return -1; - } - if (($index <= 0) OR ($index > MAX_STRUCTURED_SYMBOLS)) { - return -1; - } - $buf = array($size, $index, $parity); - $entry = $this->newInputItem(QR_MODE_ST, 3, buf); - array_unshift($items, $entry); - return $items; - } - - /** - * calcParity - * @param array $items - * @return int parity - */ - protected function calcParity($items) { - $parity = 0; - foreach ($items as $item) { - if ($item['mode'] != QR_MODE_ST) { - for ($i=$item['size']-1; $i>=0; --$i) { - $parity ^= $item['data'][$i]; - } - } - } - return $parity; - } - - /** - * checkModeNum - * @param int $size - * @param array $data - * @return boolean true or false - */ - protected function checkModeNum($size, $data) { - for ($i=0; $i<$size; ++$i) { - if ((ord($data[$i]) < ord('0')) OR (ord($data[$i]) > ord('9'))){ - return false; - } - } - return true; - } - - /** - * estimateBitsModeNum - * @param int $size - * @return int number of bits - */ - protected function estimateBitsModeNum($size) { - $w = (int)$size / 3; - $bits = $w * 10; - switch($size - $w * 3) { - case 1: { - $bits += 4; - break; - } - case 2: { - $bits += 7; - break; - } - default: { - break; - } - } - return $bits; - } - - /** - * Look up the alphabet-numeric convesion table (see JIS X0510:2004, pp.19). - * @param int $c character value - * @return value - */ - protected function lookAnTable($c) { - return (($c > 127)?-1:$this->anTable[$c]); - } - - /** - * checkModeAn - * @param int $size - * @param array $data - * @return boolean true or false - */ - protected function checkModeAn($size, $data) { - for ($i=0; $i<$size; ++$i) { - if ($this->lookAnTable(ord($data[$i])) == -1) { - return false; - } - } - return true; - } - - /** - * estimateBitsModeAn - * @param int $size - * @return int number of bits - */ - protected function estimateBitsModeAn($size) { - $w = (int)($size / 2); - $bits = $w * 11; - if ($size & 1) { - $bits += 6; - } - return $bits; - } - - /** - * estimateBitsMode8 - * @param int $size - * @return int number of bits - */ - protected function estimateBitsMode8($size) { - return $size * 8; - } - - /** - * estimateBitsModeKanji - * @param int $size - * @return int number of bits - */ - protected function estimateBitsModeKanji($size) { - return (int)(($size / 2) * 13); - } - - /** - * checkModeKanji - * @param int $size - * @param array $data - * @return boolean true or false - */ - protected function checkModeKanji($size, $data) { - if ($size & 1) { - return false; - } - for ($i=0; $i<$size; $i+=2) { - $val = (ord($data[$i]) << 8) | ord($data[$i+1]); - if (($val < 0x8140) OR (($val > 0x9ffc) AND ($val < 0xe040)) OR ($val > 0xebbf)) { - return false; - } - } - return true; - } - - /** - * Validate the input data. - * @param int $mode encoding mode. - * @param int $size size of data (byte). - * @param array data data to validate - * @return boolean true in case of valid data, false otherwise - */ - protected function check($mode, $size, $data) { - if ($size <= 0) { - return false; - } - switch($mode) { - case QR_MODE_NM: { - return $this->checkModeNum($size, $data); - } - case QR_MODE_AN: { - return $this->checkModeAn($size, $data); - } - case QR_MODE_KJ: { - return $this->checkModeKanji($size, $data); - } - case QR_MODE_8B: { - return true; - } - case QR_MODE_ST: { - return true; - } - default: { - break; - } - } - return false; - } - - /** - * estimateBitStreamSize - * @param array $items - * @param int $version - * @return int bits - */ - protected function estimateBitStreamSize($items, $version) { - $bits = 0; - if ($version == 0) { - $version = 1; - } - foreach ($items as $item) { - switch($item['mode']) { - case QR_MODE_NM: { - $bits = $this->estimateBitsModeNum($item['size']); - break; - } - case QR_MODE_AN: { - $bits = $this->estimateBitsModeAn($item['size']); - break; - } - case QR_MODE_8B: { - $bits = $this->estimateBitsMode8($item['size']); - break; - } - case QR_MODE_KJ: { - $bits = $this->estimateBitsModeKanji($item['size']); - break; - } - case QR_MODE_ST: { - return STRUCTURE_HEADER_BITS; - } - default: { - return 0; - } - } - $l = $this->lengthIndicator($item['mode'], $version); - $m = 1 << $l; - $num = (int)(($item['size'] + $m - 1) / $m); - $bits += $num * (4 + $l); - } - return $bits; - } - - /** - * estimateVersion - * @param array $items - * @return int version - */ - protected function estimateVersion($items) { - $version = 0; - $prev = 0; - do { - $prev = $version; - $bits = $this->estimateBitStreamSize($items, $prev); - $version = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if ($version < 0) { - return -1; - } - } while ($version > $prev); - return $version; - } - - /** - * lengthOfCode - * @param int $mode - * @param int $version - * @param int $bits - * @return int size - */ - protected function lengthOfCode($mode, $version, $bits) { - $payload = $bits - 4 - $this->lengthIndicator($mode, $version); - switch($mode) { - case QR_MODE_NM: { - $chunks = (int)($payload / 10); - $remain = $payload - $chunks * 10; - $size = $chunks * 3; - if ($remain >= 7) { - $size += 2; - } elseif ($remain >= 4) { - $size += 1; - } - break; - } - case QR_MODE_AN: { - $chunks = (int)($payload / 11); - $remain = $payload - $chunks * 11; - $size = $chunks * 2; - if ($remain >= 6) { - ++$size; - } - break; - } - case QR_MODE_8B: { - $size = (int)($payload / 8); - break; - } - case QR_MODE_KJ: { - $size = (int)(($payload / 13) * 2); - break; - } - case QR_MODE_ST: { - $size = (int)($payload / 8); - break; - } - default: { - $size = 0; - break; - } - } - $maxsize = $this->maximumWords($mode, $version); - if ($size < 0) { - $size = 0; - } - if ($size > $maxsize) { - $size = $maxsize; - } - return $size; - } - - /** - * createBitStream - * @param array $items - * @return array of items and total bits - */ - protected function createBitStream($items) { - $total = 0; - foreach ($items as $key => $item) { - $items[$key] = $this->encodeBitStream($item, $this->version); - $bits = count($items[$key]['bstream']); - $total += $bits; - } - return array($items, $total); - } - - /** - * convertData - * @param array $items - * @return array items - */ - protected function convertData($items) { - $ver = $this->estimateVersion($items); - if ($ver > $this->version) { - $this->version = $ver; - } - for (;;) { - $cbs = $this->createBitStream($items); - $items = $cbs[0]; - $bits = $cbs[1]; - if ($bits < 0) { - return -1; - } - $ver = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if ($ver < 0) { - return -1; - } elseif ($ver > $this->version) { - $this->version = $ver; - } else { - break; - } - } - return $items; - } - - /** - * Append Padding Bit to bitstream - * @param array $bstream - * @return array bitstream - */ - protected function appendPaddingBit($bstream) { - $bits = count($bstream); - $maxwords = $this->getDataLength($this->version, $this->level); - $maxbits = $maxwords * 8; - if ($maxbits == $bits) { - return 0; - } - if ($maxbits - $bits < 5) { - return $this->appendNum($bstream, $maxbits - $bits, 0); - } - $bits += 4; - $words = (int)(($bits + 7) / 8); - $padding = array(); - $padding = $this->appendNum($padding, $words * 8 - $bits + 4, 0); - $padlen = $maxwords - $words; - if ($padlen > 0) { - $padbuf = array(); - for ($i=0; $i<$padlen; ++$i) { - $padbuf[$i] = ($i&1)?0x11:0xec; - } - $padding = $this->appendBytes($padding, $padlen, $padbuf); - } - return $this->appendBitstream($bstream, $padding); - } - - /** - * mergeBitStream - * @param array $bstream - * @return array bitstream - */ - protected function mergeBitStream($items) { - $items = $this->convertData($items); - $bstream = array(); - foreach ($items as $item) { - $bstream = $this->appendBitstream($bstream, $item['bstream']); - } - return $bstream; - } - - /** - * Returns a stream of bits. - * @param int $items - * @return array padded merged byte stream - */ - protected function getBitStream($items) { - $bstream = $this->mergeBitStream($items); - return $this->appendPaddingBit($bstream); - } - - /** - * Pack all bit streams padding bits into a byte array. - * @param int $items - * @return array padded merged byte stream - */ - protected function getByteStream($items) { - $bstream = $this->getBitStream($items); - return $this->bitstreamToByte($bstream); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRbitstream - - /** - * Return an array with zeros - * @param int $setLength array size - * @return array - */ - protected function allocate($setLength) { - return array_fill(0, $setLength, 0); - } - - /** - * Return new bitstream from number - * @param int $bits number of bits - * @param int $num number - * @return array bitstream - */ - protected function newFromNum($bits, $num) { - $bstream = $this->allocate($bits); - $mask = 1 << ($bits - 1); - for ($i=0; $i<$bits; ++$i) { - if ($num & $mask) { - $bstream[$i] = 1; - } else { - $bstream[$i] = 0; - } - $mask = $mask >> 1; - } - return $bstream; - } - - /** - * Return new bitstream from bytes - * @param int $size size - * @param array $data bytes - * @return array bitstream - */ - protected function newFromBytes($size, $data) { - $bstream = $this->allocate($size * 8); - $p=0; - for ($i=0; $i<$size; ++$i) { - $mask = 0x80; - for ($j=0; $j<8; ++$j) { - if ($data[$i] & $mask) { - $bstream[$p] = 1; - } else { - $bstream[$p] = 0; - } - $p++; - $mask = $mask >> 1; - } - } - return $bstream; - } - - /** - * Append one bitstream to another - * @param array $bitstream original bitstream - * @param array $append bitstream to append - * @return array bitstream - */ - protected function appendBitstream($bitstream, $append) { - if ((!is_array($append)) OR (count($append) == 0)) { - return $bitstream; - } - if (count($bitstream) == 0) { - return $append; - } - return array_values(array_merge($bitstream, $append)); - } - - /** - * Append one bitstream created from number to another - * @param array $bitstream original bitstream - * @param int $bits number of bits - * @param int $num number - * @return array bitstream - */ - protected function appendNum($bitstream, $bits, $num) { - if ($bits == 0) { - return 0; - } - $b = $this->newFromNum($bits, $num); - return $this->appendBitstream($bitstream, $b); - } - - /** - * Append one bitstream created from bytes to another - * @param array $bitstream original bitstream - * @param int $size size - * @param array $data bytes - * @return array bitstream - */ - protected function appendBytes($bitstream, $size, $data) { - if ($size == 0) { - return 0; - } - $b = $this->newFromBytes($size, $data); - return $this->appendBitstream($bitstream, $b); - } - - /** - * Convert bitstream to bytes - * @param array $bitstream original bitstream - * @return array of bytes - */ - protected function bitstreamToByte($bstream) { - $size = count($bstream); - if ($size == 0) { - return array(); - } - $data = array_fill(0, (int)(($size + 7) / 8), 0); - $bytes = (int)($size / 8); - $p = 0; - for ($i=0; $i<$bytes; $i++) { - $v = 0; - for ($j=0; $j<8; $j++) { - $v = $v << 1; - $v |= $bstream[$p]; - $p++; - } - $data[$i] = $v; - } - if ($size & 7) { - $v = 0; - for ($j=0; $j<($size & 7); $j++) { - $v = $v << 1; - $v |= $bstream[$p]; - $p++; - } - $data[$bytes] = $v; - } - return $data; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRspec - - /** - * Replace a value on the array at the specified position - * @param array $srctab - * @param int $x X position - * @param int $y Y position - * @param string $repl value to replace - * @param int $replLen length of the repl string - * @return array srctab - */ - protected function qrstrset($srctab, $x, $y, $repl, $replLen=false) { - $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); - return $srctab; - } - - /** - * Return maximum data code length (bytes) for the version. - * @param int $version version - * @param int $level error correction level - * @return int maximum size (bytes) - */ - protected function getDataLength($version, $level) { - return $this->capacity[$version][QRCAP_WORDS] - $this->capacity[$version][QRCAP_EC][$level]; - } - - /** - * Return maximum error correction code length (bytes) for the version. - * @param int $version version - * @param int $level error correction level - * @return int ECC size (bytes) - */ - protected function getECCLength($version, $level){ - return $this->capacity[$version][QRCAP_EC][$level]; - } - - /** - * Return the width of the symbol for the version. - * @param int $version version - * @return int width - */ - protected function getWidth($version) { - return $this->capacity[$version][QRCAP_WIDTH]; - } - - /** - * Return the numer of remainder bits. - * @param int $version version - * @return int number of remainder bits - */ - protected function getRemainder($version) { - return $this->capacity[$version][QRCAP_REMINDER]; - } - - /** - * Return a version number that satisfies the input code length. - * @param int $size input code length (byte) - * @param int $level error correction level - * @return int version number - */ - protected function getMinimumVersion($size, $level) { - for ($i=1; $i <= QRSPEC_VERSION_MAX; ++$i) { - $words = $this->capacity[$i][QRCAP_WORDS] - $this->capacity[$i][QRCAP_EC][$level]; - if ($words >= $size) { - return $i; - } - } - return -1; - } - - /** - * Return the size of length indicator for the mode and version. - * @param int $mode encoding mode - * @param int $version version - * @return int the size of the appropriate length indicator (bits). - */ - protected function lengthIndicator($mode, $version) { - if ($mode == QR_MODE_ST) { - return 0; - } - if ($version <= 9) { - $l = 0; - } elseif ($version <= 26) { - $l = 1; - } else { - $l = 2; - } - return $this->lengthTableBits[$mode][$l]; - } - - /** - * Return the maximum length for the mode and version. - * @param int $mode encoding mode - * @param int $version version - * @return int the maximum length (bytes) - */ - protected function maximumWords($mode, $version) { - if ($mode == QR_MODE_ST) { - return 3; - } - if ($version <= 9) { - $l = 0; - } else if ($version <= 26) { - $l = 1; - } else { - $l = 2; - } - $bits = $this->lengthTableBits[$mode][$l]; - $words = (1 << $bits) - 1; - if ($mode == QR_MODE_KJ) { - $words *= 2; // the number of bytes is required - } - return $words; - } - - /** - * Return an array of ECC specification. - * @param int $version version - * @param int $level error correction level - * @param array $spec an array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code, # of type2 blocks, # of data code} - * @return array spec - */ - protected function getEccSpec($version, $level, $spec) { - if (count($spec) < 5) { - $spec = array(0, 0, 0, 0, 0); - } - $b1 = $this->eccTable[$version][$level][0]; - $b2 = $this->eccTable[$version][$level][1]; - $data = $this->getDataLength($version, $level); - $ecc = $this->getECCLength($version, $level); - if ($b2 == 0) { - $spec[0] = $b1; - $spec[1] = (int)($data / $b1); - $spec[2] = (int)($ecc / $b1); - $spec[3] = 0; - $spec[4] = 0; - } else { - $spec[0] = $b1; - $spec[1] = (int)($data / ($b1 + $b2)); - $spec[2] = (int)($ecc / ($b1 + $b2)); - $spec[3] = $b2; - $spec[4] = $spec[1] + 1; - } - return $spec; - } - - /** - * Put an alignment marker. - * @param array $frame frame - * @param int $width width - * @param int $ox X center coordinate of the pattern - * @param int $oy Y center coordinate of the pattern - * @return array frame - */ - protected function putAlignmentMarker($frame, $ox, $oy) { - $finder = array( - "\xa1\xa1\xa1\xa1\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa0\xa1\xa0\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa1\xa1\xa1\xa1" - ); - $yStart = $oy - 2; - $xStart = $ox - 2; - for ($y=0; $y < 5; $y++) { - $frame = $this->qrstrset($frame, $xStart, $yStart+$y, $finder[$y]); - } - return $frame; - } - - /** - * Put an alignment pattern. - * @param int $version version - * @param array $fram frame - * @param int $width width - * @return array frame - */ - protected function putAlignmentPattern($version, $frame, $width) { - if ($version < 2) { - return $frame; - } - $d = $this->alignmentPattern[$version][1] - $this->alignmentPattern[$version][0]; - if ($d < 0) { - $w = 2; - } else { - $w = (int)(($width - $this->alignmentPattern[$version][0]) / $d + 2); - } - if ($w * $w - 3 == 1) { - $x = $this->alignmentPattern[$version][0]; - $y = $this->alignmentPattern[$version][0]; - $frame = $this->putAlignmentMarker($frame, $x, $y); - return $frame; - } - $cx = $this->alignmentPattern[$version][0]; - $wo = $w - 1; - for ($x=1; $x < $wo; ++$x) { - $frame = $this->putAlignmentMarker($frame, 6, $cx); - $frame = $this->putAlignmentMarker($frame, $cx, 6); - $cx += $d; - } - $cy = $this->alignmentPattern[$version][0]; - for ($y=0; $y < $wo; ++$y) { - $cx = $this->alignmentPattern[$version][0]; - for ($x=0; $x < $wo; ++$x) { - $frame = $this->putAlignmentMarker($frame, $cx, $cy); - $cx += $d; - } - $cy += $d; - } - return $frame; - } - - /** - * Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits. - * @param int $version version - * @return BCH encoded version information pattern - */ - protected function getVersionPattern($version) { - if (($version < 7) OR ($version > QRSPEC_VERSION_MAX)) { - return 0; - } - return $this->versionPattern[($version - 7)]; - } - - /** - * Return BCH encoded format information pattern. - * @param array $mask - * @param int $level error correction level - * @return BCH encoded format information pattern - */ - protected function getFormatInfo($mask, $level) { - if (($mask < 0) OR ($mask > 7)) { - return 0; - } - if (($level < 0) OR ($level > 3)) { - return 0; - } - return $this->formatInfo[$level][$mask]; - } - - /** - * Put a finder pattern. - * @param array $frame frame - * @param int $width width - * @param int $ox X center coordinate of the pattern - * @param int $oy Y center coordinate of the pattern - * @return array frame - */ - protected function putFinderPattern($frame, $ox, $oy) { - $finder = array( - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" - ); - for ($y=0; $y < 7; $y++) { - $frame = $this->qrstrset($frame, $ox, ($oy + $y), $finder[$y]); - } - return $frame; - } - - /** - * Return a copy of initialized frame. - * @param int $version version - * @return Array of unsigned char. - */ - protected function createFrame($version) { - $width = $this->capacity[$version][QRCAP_WIDTH]; - $frameLine = str_repeat ("\0", $width); - $frame = array_fill(0, $width, $frameLine); - // Finder pattern - $frame = $this->putFinderPattern($frame, 0, 0); - $frame = $this->putFinderPattern($frame, $width - 7, 0); - $frame = $this->putFinderPattern($frame, 0, $width - 7); - // Separator - $yOffset = $width - 7; - for ($y=0; $y < 7; ++$y) { - $frame[$y][7] = "\xc0"; - $frame[$y][$width - 8] = "\xc0"; - $frame[$yOffset][7] = "\xc0"; - ++$yOffset; - } - $setPattern = str_repeat("\xc0", 8); - $frame = $this->qrstrset($frame, 0, 7, $setPattern); - $frame = $this->qrstrset($frame, $width-8, 7, $setPattern); - $frame = $this->qrstrset($frame, 0, $width - 8, $setPattern); - // Format info - $setPattern = str_repeat("\x84", 9); - $frame = $this->qrstrset($frame, 0, 8, $setPattern); - $frame = $this->qrstrset($frame, $width - 8, 8, $setPattern, 8); - $yOffset = $width - 8; - for ($y=0; $y < 8; ++$y,++$yOffset) { - $frame[$y][8] = "\x84"; - $frame[$yOffset][8] = "\x84"; - } - // Timing pattern - $wo = $width - 15; - for ($i=1; $i < $wo; ++$i) { - $frame[6][7+$i] = chr(0x90 | ($i & 1)); - $frame[7+$i][6] = chr(0x90 | ($i & 1)); - } - // Alignment pattern - $frame = $this->putAlignmentPattern($version, $frame, $width); - // Version information - if ($version >= 7) { - $vinf = $this->getVersionPattern($version); - $v = $vinf; - for ($x=0; $x<6; ++$x) { - for ($y=0; $y<3; ++$y) { - $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - $v = $vinf; - for ($y=0; $y<6; ++$y) { - for ($x=0; $x<3; ++$x) { - $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - } - // and a little bit... - $frame[$width - 8][8] = "\x81"; - return $frame; - } - - /** - * Set new frame for the specified version. - * @param int $version version - * @return Array of unsigned char. - */ - protected function newFrame($version) { - if (($version < 1) OR ($version > QRSPEC_VERSION_MAX)) { - return NULL; - } - if (!isset($this->frames[$version])) { - $this->frames[$version] = $this->createFrame($version); - } - if (is_null($this->frames[$version])) { - return NULL; - } - return $this->frames[$version]; - } - - /** - * Return block number 0 - * @param array $spec - * @return int value - */ - protected function rsBlockNum($spec) { - return ($spec[0] + $spec[3]); - } - - /** - * Return block number 1 - * @param array $spec - * @return int value - */ - protected function rsBlockNum1($spec) { - return $spec[0]; - } - - /** - * Return data codes 1 - * @param array $spec - * @return int value - */ - protected function rsDataCodes1($spec) { - return $spec[1]; - } - - /** - * Return ecc codes 1 - * @param array $spec - * @return int value - */ - protected function rsEccCodes1($spec) { - return $spec[2]; - } - - /** - * Return block number 2 - * @param array $spec - * @return int value - */ - protected function rsBlockNum2($spec) { - return $spec[3]; - } - - /** - * Return data codes 2 - * @param array $spec - * @return int value - */ - protected function rsDataCodes2($spec) { - return $spec[4]; - } - - /** - * Return ecc codes 2 - * @param array $spec - * @return int value - */ - protected function rsEccCodes2($spec) { - return $spec[2]; - } - - /** - * Return data length - * @param array $spec - * @return int value - */ - protected function rsDataLength($spec) { - return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); - } - - /** - * Return ecc length - * @param array $spec - * @return int value - */ - protected function rsEccLength($spec) { - return ($spec[0] + $spec[3]) * $spec[2]; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRrs - - /** - * Initialize a Reed-Solomon codec and add it to existing rsitems - * @param int $symsize symbol size, bits - * @param int $gfpoly Field generator polynomial coefficients - * @param int $fcr first root of RS code generator polynomial, index form - * @param int $prim primitive element to generate polynomial roots - * @param int $nroots RS code generator polynomial degree (number of roots) - * @param int $pad padding bytes at front of shortened block - * @return array Array of RS values:<ul><li>mm = Bits per symbol;</li><li>nn = Symbols per block;</li><li>alpha_to = log lookup table array;</li><li>index_of = Antilog lookup table array;</li><li>genpoly = Generator polynomial array;</li><li>nroots = Number of generator;</li><li>roots = number of parity symbols;</li><li>fcr = First consecutive root, index form;</li><li>prim = Primitive element, index form;</li><li>iprim = prim-th root of 1, index form;</li><li>pad = Padding bytes in shortened block;</li><li>gfpoly</ul>. - */ - protected function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { - foreach ($this->rsitems as $rs) { - if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize) - OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) { - continue; - } - return $rs; - } - $rs = $this->init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); - array_unshift($this->rsitems, $rs); - return $rs; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - // QRrsItem - - /** - * modnn - * @param array RS values - * @param int $x X position - * @return int X osition - */ - protected function modnn($rs, $x) { - while ($x >= $rs['nn']) { - $x -= $rs['nn']; - $x = ($x >> $rs['mm']) + ($x & $rs['nn']); - } - return $x; - } - - /** - * Initialize a Reed-Solomon codec and returns an array of values. - * @param int $symsize symbol size, bits - * @param int $gfpoly Field generator polynomial coefficients - * @param int $fcr first root of RS code generator polynomial, index form - * @param int $prim primitive element to generate polynomial roots - * @param int $nroots RS code generator polynomial degree (number of roots) - * @param int $pad padding bytes at front of shortened block - * @return array Array of RS values:<ul><li>mm = Bits per symbol;</li><li>nn = Symbols per block;</li><li>alpha_to = log lookup table array;</li><li>index_of = Antilog lookup table array;</li><li>genpoly = Generator polynomial array;</li><li>nroots = Number of generator;</li><li>roots = number of parity symbols;</li><li>fcr = First consecutive root, index form;</li><li>prim = Primitive element, index form;</li><li>iprim = prim-th root of 1, index form;</li><li>pad = Padding bytes in shortened block;</li><li>gfpoly</ul>. - */ - protected function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { - // Based on Reed solomon encoder by Phil Karn, KA9Q (GNU-LGPLv2) - $rs = null; - // Check parameter ranges - if (($symsize < 0) OR ($symsize > 8)) { - return $rs; - } - if (($fcr < 0) OR ($fcr >= (1<<$symsize))) { - return $rs; - } - if (($prim <= 0) OR ($prim >= (1<<$symsize))) { - return $rs; - } - if (($nroots < 0) OR ($nroots >= (1<<$symsize))) { - return $rs; - } - if (($pad < 0) OR ($pad >= ((1<<$symsize) -1 - $nroots))) { - return $rs; - } - $rs = array(); - $rs['mm'] = $symsize; - $rs['nn'] = (1 << $symsize) - 1; - $rs['pad'] = $pad; - $rs['alpha_to'] = array_fill(0, ($rs['nn'] + 1), 0); - $rs['index_of'] = array_fill(0, ($rs['nn'] + 1), 0); - // PHP style macro replacement ;) - $NN =& $rs['nn']; - $A0 =& $NN; - // Generate Galois field lookup tables - $rs['index_of'][0] = $A0; // log(zero) = -inf - $rs['alpha_to'][$A0] = 0; // alpha**-inf = 0 - $sr = 1; - for ($i=0; $i<$rs['nn']; ++$i) { - $rs['index_of'][$sr] = $i; - $rs['alpha_to'][$i] = $sr; - $sr <<= 1; - if ($sr & (1 << $symsize)) { - $sr ^= $gfpoly; - } - $sr &= $rs['nn']; - } - if ($sr != 1) { - // field generator polynomial is not primitive! - return NULL; - } - // Form RS code generator polynomial from its roots - $rs['genpoly'] = array_fill(0, ($nroots + 1), 0); - $rs['fcr'] = $fcr; - $rs['prim'] = $prim; - $rs['nroots'] = $nroots; - $rs['gfpoly'] = $gfpoly; - // Find prim-th root of 1, used in decoding - for ($iprim=1; ($iprim % $prim) != 0; $iprim += $rs['nn']) { - ; // intentional empty-body loop! - } - $rs['iprim'] = (int)($iprim / $prim); - $rs['genpoly'][0] = 1; - - - for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { - $rs['genpoly'][$i+1] = 1; - // Multiply rs->genpoly[] by @**(root + x) - for ($j = $i; $j > 0; --$j) { - if ($rs['genpoly'][$j] != 0) { - $rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^ $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][$j]] + $root)]; - } else { - $rs['genpoly'][$j] = $rs['genpoly'][$j-1]; - } - } - // rs->genpoly[0] can never be zero - $rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][0]] + $root)]; - } - // convert rs->genpoly[] to index form for quicker encoding - for ($i = 0; $i <= $nroots; ++$i) { - $rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]]; - } - return $rs; - } - - /** - * Encode a Reed-Solomon codec and returns the parity array - * @param array $rs RS values - * @param array $data data - * @param array $parity parity - * @return parity array - */ - protected function encode_rs_char($rs, $data, $parity) { - $MM =& $rs['mm']; // bits per symbol - $NN =& $rs['nn']; // the total number of symbols in a RS block - $ALPHA_TO =& $rs['alpha_to']; // the address of an array of NN elements to convert Galois field elements in index (log) form to polynomial form - $INDEX_OF =& $rs['index_of']; // the address of an array of NN elements to convert Galois field elements in polynomial form to index (log) form - $GENPOLY =& $rs['genpoly']; // an array of NROOTS+1 elements containing the generator polynomial in index form - $NROOTS =& $rs['nroots']; // the number of roots in the RS code generator polynomial, which is the same as the number of parity symbols in a block - $FCR =& $rs['fcr']; // first consecutive root, index form - $PRIM =& $rs['prim']; // primitive element, index form - $IPRIM =& $rs['iprim']; // prim-th root of 1, index form - $PAD =& $rs['pad']; // the number of pad symbols in a block - $A0 =& $NN; - $parity = array_fill(0, $NROOTS, 0); - for ($i=0; $i < ($NN - $NROOTS - $PAD); $i++) { - $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; - if ($feedback != $A0) { - // feedback term is non-zero - // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must - // always be for the polynomials constructed by init_rs() - $feedback = $this->modnn($rs, $NN - $GENPOLY[$NROOTS] + $feedback); - for ($j=1; $j < $NROOTS; ++$j) { - $parity[$j] ^= $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[($NROOTS - $j)])]; - } - } - // Shift - array_shift($parity); - if ($feedback != $A0) { - array_push($parity, $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[0])]); - } else { - array_push($parity, 0); - } - } - return $parity; - } - - } // end QRcode class - -} // END OF "class_exists QRcode" -?> diff --git a/admin/phpqrcode/cache/frame_1.dat b/admin/phpqrcode/cache/frame_1.dat deleted file mode 100644 index be28fea..0000000 --- a/admin/phpqrcode/cache/frame_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -xڝ�� � E9�u��`�"PńC�牗T!0$ -E�ɲQ���m��h۾9{kI"� 9Ln)Ap��־�>�^��z�m�nŖ;��m�n���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_1.png b/admin/phpqrcode/cache/frame_1.png deleted file mode 100644 index 86ce6e98d8cf7071291d5e5bb39bc3080511c8b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dx33?wJtG`|X@*aCb)T!Hle|NocXoPQU{GWK+F z45^rtobc!Hfq>uNnVVn7Gg`2HlysJm`1k++!4KjchA)1}^Yl3E66=VaXwbng!p`vB WU-#~W{*xdZ7(8A5T-G@yGywobm@6p& diff --git a/admin/phpqrcode/cache/frame_10.dat b/admin/phpqrcode/cache/frame_10.dat deleted file mode 100644 index aff163f6882e1c842881c539160539ee97221e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmV;-05ku1+U=K34ul{KMqP93Nm#TyxdGe+ZZ`bX2|6GY<E|eo8(&^Zl#~#1yxwMl z2)+P81)nlYLLv(h$z)_X3&A8|igYQrWUo(Wt-X>6RiCuCX1^|H<NB+b-`;x4oHOPC zl+H1FuFn`vQRQ*p*dfv^lj0PoINx=)|NcQ$^-r8Zl}Oio=eGLPx!k9GL*f+Yn@)^l z72t{!Q((mjIW6btOgKiW5BnSn-I;oH_VH%Tlan>y)_wA3>UwXVkes{2iDcbZs(b-_ G?>v^)7G+HU diff --git a/admin/phpqrcode/cache/frame_10.png b/admin/phpqrcode/cache/frame_10.png deleted file mode 100644 index dbfcd70b588c9cc508d210d761ca285c962e70c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^mLSZ?3?#Q*6Fdf_*aCb)T!Hle|NocXoPQU{s`qqp z45^rNcH&0P1_Kcn{i)eEQ&<GmH*%fKuxe^ux}&N0#)|a1N&0;cLi-=H>eWabo5TEo z<(=q;l{2~SNFHOk7+K+Z++>o}0+W;js(lQ_L5J;4XHRbpJ@7EKSbjtGxs>0TanIFf yTerS?Jf(G)Wt_o(rC4{V)qPjP^(|O~A28<EcBoXbro;f9!r<xZ=d#Wzp$Pz`R7{-! diff --git a/admin/phpqrcode/cache/frame_11.dat b/admin/phpqrcode/cache/frame_11.dat deleted file mode 100644 index 95af68a47f44029bab67ec8672cbd9e93d1db388..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmV;@04@J`+U=K34ul{KMqP93Nm!H}+yHI@H=FX~3`P(NF8jH%@#Uq&G&F=1FOS)P zQa(dL1Rq1DGlg_CQ)rdwM6J*;N4uDY8!Ecrx3ktZXn=p;<;;z~KhEOQsGHxJ`;vJ# z=7fYyF>=0dj4ToPRUb<!wArHB&2DzHyG8fr*RU?0X6LY8XxI5_P=CX{)i?iZ>}EH+ z?=;|LU8z+!qM$&p(|BcWyT^0wyzYLMW@>oYiN^Dsz8hTJ<h`Wso4ym(XTD2Qcfkuy M-b1T=0U&xoN`RSe8UO$Q diff --git a/admin/phpqrcode/cache/frame_11.png b/admin/phpqrcode/cache/frame_11.png deleted file mode 100644 index c07c761f19e13b99f2b3271e3c6a494a98ddedbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^wjj*N3?x<7d|m~l*aCb)T!Hle|NocXoPQU{YVve( z45^rNcA_Cyg8`3gJ-@<^%0>4a-aiVeGGljlcQ?PgyF*WC@)ePT+&@l!`0?ief1~n6 zE|yl^gW5e`nKwIinOvP@sie!fPIxQBN@sPwvjzdvtR(AR7bMP<t7-D-x1Dt6wC2qD zCI76N9g_nlmTuGjar)=FKaOR4QupMFa<IK?l(zKR`#0*`$qPW&FnGH9xvX<aXaWFZ C&`-$# diff --git a/admin/phpqrcode/cache/frame_12.dat b/admin/phpqrcode/cache/frame_12.dat deleted file mode 100644 index 73228b3621ffadae4f60766395a1481ebb5ec8e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmV<403rW)+U=M@4uv2LL|t?1pRj<P+yHI@H~R&PVgd-omFeKdR3?vNBx49kUT!l| zTKQvQ5Wz=HJ1FgOCOAZbSqGgQ(oCvDT*Z)si)yYSJM{YCthKJX3U&1X_rmP8;Vg`5 z#hiQLQF9ESJW<FbBj@@6k|=T9?i*R?V3r-2ff<;A8NSTW{vr=lME_J6sGx&uKKEF8 zi($DB{7y0hGcdz<86d4dXj)-_v;x->Lqt$5hLLY|jw(O$c@esqcjU~XWxX2%DQ}j2 Ypk>~2FWzvVWdEB3>HkBaKPQDn?w1{Br2qf` diff --git a/admin/phpqrcode/cache/frame_12.png b/admin/phpqrcode/cache/frame_12.png deleted file mode 100644 index 8ba67822cdbeb547858ff6fc50cacee24a1b7d39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^jv&m)3?#Q$MzaAawg8_HS0MfW|No^o=iddgdOckn zLn`JZC;Z`O`p;)zaHT2o|6@ssn1en08x5|_?@qWT|MUNU=7X>P-D6i`V>=dLP>_)D zgJ10T|NV^*^<88qe3j=qkQ8w3g4pi>{%_LN%!j{MZKyvjEwPU&^5g&i?aJMXS9tf# z))chnOn-VfGWh@Dzii+24R{?7GfXmbNLp7=x~^a^N0{!Mqa4YM488*Y<gOmkeFAhC NgQu&X%Q~loCIBWhRc-(P diff --git a/admin/phpqrcode/cache/frame_13.dat b/admin/phpqrcode/cache/frame_13.dat deleted file mode 100644 index 2256f0e34541826effd2df0bacb3ab30acefc512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmV<503iQ(+U=M@4#Xe`MZ5OalemCgy@B3DZ#HV_#3rMq=%xwZRYUoCg(gH&s)}}d zDnyJ&axy6vNn8LRQg(JJBqEmTQnM#q0FdnxiaIQ<%eXGVdmjd0M0KGax&8kMKA%p^ z{dyEh&snn0WMiwGeO{L=OESmfzD<c-+!7aMQ5I!U7G-%K%V_4XV&-oCv0~&B25&NA zD_NG*MgLu8Q5I!UmbbCwn<yZ<X_umTmW%>@7T!EMuc4o**_dv29=tg%zuR9}#CwLe ZF7lm6+oM%3(p}KSMZA}4^aZ5yN}69FYBT@< diff --git a/admin/phpqrcode/cache/frame_13.png b/admin/phpqrcode/cache/frame_13.png deleted file mode 100644 index 6e49d35a02fdca84cbce7cbdcc4455a8f6c7a3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^t{}|F3?$W@cV+=8wg8_Hkl_FS|CipJe;3GV_jGX# zshD$j(m~D!10L6U|G3>D>;fX{1#EjgrWdpJzq`==!Zpb!r-Z@r!+bgW{TFJO+!qN- zO!?Nbz~r}2caWn=<;hYT--4|xm^^H6ZOHEH)LZFp|21ezZE(M-7khSp>&l1M=G~k7 z```Ke>ZO4uStq~s?ri>iZOio6Z8x~5aew=^?BI!1D~3ap?Te2HrSt=x#Ng@b=d#Wz Gp$P!f)Kr=P diff --git a/admin/phpqrcode/cache/frame_14.dat b/admin/phpqrcode/cache/frame_14.dat deleted file mode 100644 index e9ae093296aa29fab5e9902b6f08c589fb0ada98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmV<90382#+U=M@3dA4`MZ5Oa11^$Xy@B3DZ#HVvL77flO`r_qyJ{$pN0cm*QcbkW zOb{?`fMilEnI}OcLM9cXSrSxIB``^d*Q8K#Sp&p|blj)ly$_eQu1|D#ZtYL-`P`_v z&)r4JoKwyYFt*0oxjyAsirGHbg&iU}F_Jo|lREvc)7@EgS~DZ_@w7&yaPY@qP1;GU zPx{8yNuAV5=eW*sedFq+PER-?LOv2s0FYrKP6Y+uPUG`wUqQUsGc*0ziH*;3-ma%} dV(p*WKJj*9?cGU|IJ?7+#M);zc>`M4w|A(xa#R2S diff --git a/admin/phpqrcode/cache/frame_14.png b/admin/phpqrcode/cache/frame_14.png deleted file mode 100644 index efc36c034f1a851498e5afad249adcce3d9fb04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^o*>M~3?#kx&YTaV*aCb)T!Hle|NocXoPQU{>hg4P z45^rNchW}Q1_K_Jxm}Srn$(yB6x19;G$JQ*YGh^#@P1G+>r7-mB7W`V*G+#Woopx# zaXH*8JW=$>j6!jp4LdeJ%jrLRbWNrUPz|e%?4;ffl``SFGrY?`?QLBi&=CD)URb+W z;hsD0-;#Cz-B}wlN7VYo-djpFrLW5Bvr5*ct<9@=upq-IF3r5?k;t7x_kgZq@O1Ta JS?83{1OWKuRWASl diff --git a/admin/phpqrcode/cache/frame_15.dat b/admin/phpqrcode/cache/frame_15.dat deleted file mode 100644 index 18727818d76dba4873f5993f6c9ba948ca4646af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmV<O01f|m+U=Mz4#OY}MKg2jN(}ZEZU8rdn-vlg5!I;*xLx{xrdZ0;lTnQ1l(s~> zjE0Ef4oN1(k{KEk$4bexVm9YiXdC56v{3T$rBr2ZX>#9!_g<h0RW7G+^sSz$Tdz;> z`B^`!y7Nq9&A4060Wo%qv*Ufsu{CCYT^E&9np3604Q_DzFE?pw^~|@kYVIa#&+I*` zl@<hA5Wjm{{f3)r-|#QM4Q_CQ8}2OJS@;*=1~<6%(1?kcwcIF&NzW~ZT<?^<nZ3t) s>Y;Kkq??`U*qt@M8@#wp?=9QD&F@s(Gu5We?xHWW={<RqCjz>>BMTjUwEzGB diff --git a/admin/phpqrcode/cache/frame_15.png b/admin/phpqrcode/cache/frame_15.png deleted file mode 100644 index a9f416c7cf6d12d66b42288ca30634bd231620ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^z97uV3?y$Jul@|A*aCb)T!Hle|NocXoPQU{n&9c; z7*a7OIpGgKW4(k#*1|KZ<t1Vko>|Y7;q&c({geOlq6{l_|NsB~@BeOj2?=LKg_g#L z_90*X^SA8}*y`}CUV@?f(2QoEFV40{_R4EX?7Qw<^Koy}!|cERKm4zM{J-8+&^5^V zM2+FAWR7Cxrk}D0bN=>!U_F$7K!)M7p-w2XYph^ate~2LVYZ-;n}smLZ{Gt?94;j$ Q0^P>o>FVdQ&MBb@0G@4Fe*gdg diff --git a/admin/phpqrcode/cache/frame_16.dat b/admin/phpqrcode/cache/frame_16.dat deleted file mode 100644 index 60af678..0000000 --- a/admin/phpqrcode/cache/frame_16.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� E]s�IX�;��n6��`�q���W6���`�%A/3!�����!g��̡�1N)�E��|;��>6⸏�97$����c]kk��w�1��[�m�C͜c�R���>�����E,�hʼnp�#�xF�yW��VWG���3��+����˓�S��}Ğ�#�G8b^c^c���p�c&3YQ"�����v������������k�9�܇�}������ �Ŀ�Q��L�/���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_16.png b/admin/phpqrcode/cache/frame_16.png deleted file mode 100644 index 6ac8fe890573bd9ec52af39a315ac3ab4ea2821f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^fgsGt3?wHw-Y5l9YymzYu0Z<#|Nl#G&c6#}b$Gfs zhE&W+PWZ#m$}S<1weXDnM;@Ma0pIRB@R(Uk#Imf`XJ1(VT~b2AdEtS^#)tMHfByex zYuj(|)!|#c1w;4Yo6V7boNcfCeZ$Lh|MkLuTKNe-qW;_ev6oobrMz06=bb#S{I8Dh zN*l`;cPanr7UAppFZhu8w7WuKxXRac9?ujuXHUG*!(qm7^gY)#$(yb3fo@{(boFyt I=akR{0Keo@^#A|> diff --git a/admin/phpqrcode/cache/frame_17.dat b/admin/phpqrcode/cache/frame_17.dat deleted file mode 100644 index 87f0cf593bab1049b794e2cd5af31a03aed5ae4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmV<J022Rr+U=P^3dA4`MZ5Oa11^$Xy@B3DZ#HV}pv-h?ZCn)o@2a6Z9wDGKA>??y z+zk`^4Hi`JDI!!RUucn<Ol4dXHPZyC#C=qk(p_&|kNfJZwXVBPbzjR2nDzT{Ha-{X z<}(An<i2an4pTbE==*(*(IskoT^G?5s+mHCD_r3USGYdM_3HU_T2~`y>1n-C-N9Fb z^_i|y`igmlD_r3USGeLnfcpUE6|QiFD_o!A%FM(h?MeyC;;xkP+jach+JBqBM9<jp nXJ<5iACTK^G_GQMn7XfWJEM9AW>KYfaSc^$Z&>9G^P0tbL9Kb? diff --git a/admin/phpqrcode/cache/frame_17.png b/admin/phpqrcode/cache/frame_17.png deleted file mode 100644 index 5b929ac736efe8f6d1985337c1177744c1269ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^p&-o23?!MXtt5dITYyi9E0F&G|NqjP^X~##9iA?Z zAr*6y6aMhChD%6fCBE4#FA<aYW;YYZw`hak&bAzkM;l-5zutV|Ha}0#!T^Co2R_KF z{rk^;IDSTz!f$(-hNBPPJXGQPsKXIz;K0P#q9w8K+W&T?kiwL&%?JN3e&{S;7^w0s zOQq~>y~=;3R%V0whYqvPd*ASAoyV)#iDwF3O@+^;xolwc$WL45Dpax@=q3hFS3j3^ HP6<r_yMs|5 diff --git a/admin/phpqrcode/cache/frame_18.dat b/admin/phpqrcode/cache/frame_18.dat deleted file mode 100644 index bb7138c..0000000 --- a/admin/phpqrcode/cache/frame_18.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -�0E]�օ,2;s��&�͚h���O������1&09OIv@DD��&�ىK�X��Fv�<�dq�9�<%h��Y�s!(d���s;~||b(��Yůg#�`�K��S����Ķ��s�idߍLg:ә�t�/gm����k�M�3�{�4rT�Q��e��s�>�<ә�t�3���;�H�#љ�t�3��Y�+og�h���ٽ�ln��F>�i^�#awm;g�~p�g�Ns{6z��������p��' \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_18.png b/admin/phpqrcode/cache/frame_18.png deleted file mode 100644 index ee0d6a35e2e6a84e715d5eb5b4fdc9b5d2749abb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^ks!>-3?%c9O1%M6YymzYu0Z<#|Nl#G&c6#}&Gd9} z45^rtobZRAwO&R-A}euD{dY-;n8Z2%#V1<SGasD8|Mma>6aW903$A%y{rCU=?+2?S zoD&%`Zq?5?^Z!3DPkmyQ!<_#d4AUG7+P3l-Ff2$saPI&Ek5tBsDdq+>Yyb1R)Ia|J zpWl75<3-~We~dpEEmriJ=c8wIT*8-4vt+_y-iROtCy{xt9gWtVsEV2B>-_MFQnAED a3kLr4d-pH(c*O{GB!j1`pUXO@geCyv16v^g diff --git a/admin/phpqrcode/cache/frame_19.dat b/admin/phpqrcode/cache/frame_19.dat deleted file mode 100644 index 95e26ad..0000000 --- a/admin/phpqrcode/cache/frame_19.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��A -� E���.�No�7ћ��iiR�N2��W%�x�@�ڜ�'� -u�6��.�*S;}���à�T���zr�t��%�,�����}�;���)�����Z��L����P��$����q�g�L��dJ�;��w���.]z#���[͝��Og����"�� �B��}�}�;��w���#1Gb��;��w���_�C+w�@Df����u��2����N��9R7|pW�k�������k��������� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_19.png b/admin/phpqrcode/cache/frame_19.png deleted file mode 100644 index 20fddd84c87b089846e770d1f605bb2ad7f57c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^u^`OI3?%>V|Iq-X*aCb)T!Hle|NocXoPQU{n&#=^ z7*a9k?UaqYhYUnq&Wq-jC5YuSB#B&dnb|T?LRr=$Z_R}Tk2{2ZJNXJK?z>}STkBod zD!Ahe?+Y#-&W#RvJnw{;%)2x3`m?>pT<459AMQBAm|$4*AhL{Qjqyw_`&^NPya`bn zXJgWHCRV@tu;iM2+Sbh*zvtZi6J38hrG4+=)_Z5WUzM+1``TYoxK{mFuJ#L=ri0wm XqQq6W4|?kYUC7|+>gTe~DWM4f0svZN diff --git a/admin/phpqrcode/cache/frame_2.dat b/admin/phpqrcode/cache/frame_2.dat deleted file mode 100644 index 7e42f31..0000000 --- a/admin/phpqrcode/cache/frame_2.dat +++ /dev/null @@ -1 +0,0 @@ -x�͒� � F{v�&��&�Y+?Z1��S�'y!����a�815&��۴��H�ٞc��l��F��1�#�6f�����6���O7���C����֏���8gI���fB�����\DԻ( \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_2.png b/admin/phpqrcode/cache/frame_2.png deleted file mode 100644 index 9c150ebe3c6343f6eb7549ec855a85c65de7604d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~;3?%=liz@&rwg8_HS0MfW|No^o=iddgTs>VJ zLn`JZC;X{zXk7U1e=Qr^_5b1%IX6fouV7|A3{)sB@vn(vQN$aEu-Zyy=Ewg(ur1JZ on5OM<MpT7cEz6Nbc>)8&Req;!^#!TfKm!>(UHx3vIVCg!03uy4-2eap diff --git a/admin/phpqrcode/cache/frame_20.dat b/admin/phpqrcode/cache/frame_20.dat deleted file mode 100644 index d5ecc1d8a0be752c422607ca863710fb41e89f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmb=p^>&so*I@;L*3I9pv5Fh-u3+BVd2h|XrM?Rygy#mlsE%yq{QN_rm3^kbraf_K zT{CJkWkNo9UY6CcnsV-<qF{%?lygCRSKdFE<afP~@2#ap_FC&$<z?SxUPT(cet!Js zkC+uRuSb3gEtXug?U+}(q-{B0;4ZJJ*GmP1OAQ|JB``2c9AIEGXn0sJxh`$dx>-^u zOJldbdLR|gckNx0z<lO+P<ck41cy9VAUryk4W^}BQp0;vV`pc?q{hioJdZ0ge~bPT wI9>Db^tqE2c~fteS{QV^$$s-(VRP{&d+%}!k2n8hWL&;YFRNm@X@0pL0J~;%WB>pF diff --git a/admin/phpqrcode/cache/frame_20.png b/admin/phpqrcode/cache/frame_20.png deleted file mode 100644 index 23a061d5442e5950dc57ae4e3f754a72b18ff53a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^i6G3#3?%=Yh<yO0*aCb)T!Hle|NocXoPQU{n&#=^ z7*a9k?G!`4Lk2vq^=(?$lTI>PDX_8iU0msvcT2m((dUcsbb;eOISnHE*Dg<1ej05g z6TelqVW*J3LxB0VBTn;T9{U-YPuzYYm+{WVu)4`tCvuk0J$+=^JinE@{pYYme)_^G zRCKb+Ysa%PrSIR~y}9%L-~0HO`-ivRxp~21a(d3@Y0=B8FU(feo3S(D-WC(-B3)aC Yhx#Rc#-1{#fi7h5boFyt=akR{0I{51asU7T diff --git a/admin/phpqrcode/cache/frame_21.dat b/admin/phpqrcode/cache/frame_21.dat deleted file mode 100644 index 1974dd9..0000000 --- a/admin/phpqrcode/cache/frame_21.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� E]s�IX�;��n6Up���в��]٘�<i-eW����)��ŕ�� H\jvq�HL\6���ЅrI��Lܹ��%��@���V�v�����(�P4|�Xn�gɝ��~]D����u1Us S\���,��2��N��?D�K��F-:�eJ]p_���,�a0�`���X��`���w,`X�]��������5��Y4{���2���v�Js����9���)�u�۹���,�]����^_�7$�_� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_21.png b/admin/phpqrcode/cache/frame_21.png deleted file mode 100644 index 291598c72d21bac6548d649a4c0ae361a3f3c281..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^sUXbA3?%b5?e76nYymzYu0Z<#|Nl#G&c6#}E%0=4 z45^s&c8Ve2Ap-%H>!P`J6Rz)A#2UEl5$}@DKW0@L!ESpLCP{0HM08I+w9mQHp{3|< z#uoLvV(f=)_!nr4*yb$UIO$8w3qQFZD{qDu=PBg(==aGzoAaDygT+2UZ#}`II(`@a zTfYDFcHhw_Mf$<r4{l5rKi2l}`pY|I?{8b*Zo6$AT^{c0?%MdO?5g*#iHnRszMiyM iEB&gU?_4G2m)tw*PsO{PK6?b{Rt8U3KbLh*2~7aWnPi^; diff --git a/admin/phpqrcode/cache/frame_22.dat b/admin/phpqrcode/cache/frame_22.dat deleted file mode 100644 index 0f01802..0000000 --- a/admin/phpqrcode/cache/frame_22.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��A -�0E]{�.�]{{{��Z�Bep��we@�V�ERZ3��"*2o�4�y�)i#d�bdF҅��I"���4��W�I�u��45�x�.Z�S�{���8���k={o.�q���[��:帒q���y -)t#�N8�dCj�-O�OG}�:/�:s�z!�)^<�e��S�u�{� '�p� '�=�=�=�'�p� '�p�ߣߣ���N8���9����pQQ�]H�pz���G�^�Q��I|�߳�u;9�����d;�X~$����t����dy \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_22.png b/admin/phpqrcode/cache/frame_22.png deleted file mode 100644 index bc97bd01bed5618ff281852dc819cfd9c2862c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^nIO!_3?!L-=2rqKwg8_HS0MfW|No^o=iddgrhB?L zhE&W+PWZ#mUe9k}a7C%`y|KX#r5*Kpiwgd;H|=~A@I_x>&32ite~e#^+LRiYnGe^u zy!rp1m#1E^%JI(s6AU`tXJpwn$-ff(mztmOBd(vL_Y+&&`mg^F|356yrZelF<D<m~ zHLa!2eVHiBo1S&@)S@E&#YOY~x$|mYnUM0QU+A2Ns)5Hf(a`nUt4?Ozi3-tE<`QS{ XIwbcZsEf}X=tKrjS3j3^P6<r_FXLH3 diff --git a/admin/phpqrcode/cache/frame_23.dat b/admin/phpqrcode/cache/frame_23.dat deleted file mode 100644 index ee3b370..0000000 --- a/admin/phpqrcode/cache/frame_23.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��A -� E���fo�7ћU�) %M!Δ��Yu(<���sK��T��� -�&�I�\i+�Ъ�(m��FQ���h�����v~n1�o�]s����_ޟ�3`�_w2�ȹ�lc[��;��c֟ˤ�N�4�p� 7�p��mT�������r�i��_��pS=7�7�p� 7�pÍ>I��O�-� 7�p� 7�$}�>ɷ7�p� �tss��rs ��V������m��ҹ���}R~7��&���?7�����ԦI�bh�{�<�Mi- \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_23.png b/admin/phpqrcode/cache/frame_23.png deleted file mode 100644 index b8f16ae239dd9f4c18c18191589b0f98e896c750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^xggBQ3?wI-)rtZswg8_HS0MfW|No^o=idcMc)B=- zRLn_E_|wl2FCmdNaYwkl!49Ruey#-t=bLuQzgozl!F}cTUb(J&bqNVPt_=cgZT~$s z{jWFp<9dnv$v=0tgvgY49MfCbML0qY4m1n4Xi4n5_TOEBC(>kZ^AY#v;4+grFO{vO z&Rv<5>-tpA?P=FPcV6u)6IiDGIq|S3riwW=Ht_4NMYDR2t#y5Bw5WhlxO>L&-&1e; Q10BcU>FVdQ&MBb@0PfXRdH?_b diff --git a/admin/phpqrcode/cache/frame_24.dat b/admin/phpqrcode/cache/frame_24.dat deleted file mode 100644 index 7b92e29..0000000 --- a/admin/phpqrcode/cache/frame_24.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� E���MX0;���nVP4�HSS�x�U3�/O��LiJ4���V�JC�%��6VR&��D�B�HjD��J�??���Bl�cDZ�'�U��X�U�ޏ0��yw�į�j��똳�3ś��cj���{���:Gq�G��������N�v;��笓J���<���]�����#�8�#�8�H'�������Gq�G��tr:9�#�8�#�8�ؓh���N�t����_��>t�e��S�����^�\g���Qe?�vu��o��;��>�*�wl��m� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_24.png b/admin/phpqrcode/cache/frame_24.png deleted file mode 100644 index 397c64f8533159fe3c792420d93cab3ec64c673c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^g&@qx3?y%CxHlO{u?6^qxB}__|Nk$&IsYz@wcOLi zF{EP7+o>CQ4;cu!o)=Bt;3dWH(5PX|Xd0Tbewt9=(giM&ioPz%uZwq_{AtYK_=L;b z-~axk|Ds~-#=Rctl_DS6E<4m{++hxOxW(*z(!L?xL2jbS`@Xa<brSq8C(YLPWOc3o zaet55<}aJO7oFAp8@uQXW4XimJ50;{&;Q)I_x<(1+vb=4&b7b)HT;qEN69PtU)TQ+ q-YWll|DL_e_bmTC(>f{qGdGWmpvR5thb97@%;4$j=d#Wzp$Pzhc4tul diff --git a/admin/phpqrcode/cache/frame_25.dat b/admin/phpqrcode/cache/frame_25.dat deleted file mode 100644 index ba12518..0000000 --- a/admin/phpqrcode/cache/frame_25.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���A -� ��s낋�]r�x�Y51mM�BG -��*Sx|Ua5Ƶ�Z���-,�1�H�P�Rj��X5��i����G�>W���R���/��+uT廯��ӯ嗴�u����[S�a�[kv��5�+5n���J��%+V�X�bŊ�߬u'�������SR����tzZ��+�+V�X�bŊ�ٟٟٟ��+V�X�b��������}Ŋ+V�X�������VI�����+k�q�[��t��oVZ��voNV�w�}�{�r<ýR��"�R��]� W�r} \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_25.png b/admin/phpqrcode/cache/frame_25.png deleted file mode 100644 index 25bc4454afbe21949bfd01d1a8bbab713486ae65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^r6A163?#iy+587mYymzYu0Z<#|Nl#G&c6#}E%$VB z45^s&cB&%ZAqN51|5`cu2Qt4gsF-;4Ir?6nTp+=+Nr<&Ydrf9n!e{G{vpig`o@IAV zpT3{+yxVcXEa?kbazcxq6{lLB{}VM?`;*JP)#Y~fCz=^<s<%X)6<hGFM(On)gR^Ju z6@0w^^UBJ<%h-~af3r7}X!-u6Z;!|Q`S+er|F*yW`_lQTzb~E7|9kA?)sGYN_UHXC qy6<EE%&xOvPyX)jdC|uYequS~*U0^4qoD}U$qb&ZelF{r5}E)#@@_5w diff --git a/admin/phpqrcode/cache/frame_26.dat b/admin/phpqrcode/cache/frame_26.dat deleted file mode 100644 index d34a73f..0000000 --- a/admin/phpqrcode/cache/frame_26.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -� E��օ,t�7�7ћU� E)i7�*~c����X�EB��FC���6�:&�L,�Mv.����Kg�ո�YM�>���>�mۚ�?��v���mg?��ұ����η�d��C��U��Ik���E\��Ms�f�a�f�a>�[sӈ9쬩ެ8b�<k��7�}�k������3�0�3�0�3��*r��\�7f�a�f�a�fr��\�7f�a�f�a�Y�����d�4�9k�����y�X y�g���)��dw�n̢�U�>��]��Lg�������Eo� w1 \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_26.png b/admin/phpqrcode/cache/frame_26.png deleted file mode 100644 index f4a6b393861525908d76f29c6d8a3bfc2ba4f747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^l_1Q>3?$V}WIz&Z0X`wFK>Gjx|4VPqzYAoo^mK6y zshE?T@TZ^UpG-o+3Rkfo(&rC6=+gP1FW~!t-{pbx-~a#LB)q!sx<T@OBh%A_SLbWl z*p3CHJUDRRgM8%C|NnV;>L;FM;QZsxnjpG@X|Wc^3Whe7pc$LY4HynfX<j)kEwS&~ zfA&THAO2Sq5fhb2<B7W8rz5(!(7GnH=h)kT(1o3P4|?=2{Fb+kyO7-X(LU<VqASZ3 qMAyAY+p*|&lVU)(-hmD^1_meNw^Ls!-MI;LG=rzBpUXO@geCy3Dr5)% diff --git a/admin/phpqrcode/cache/frame_27.dat b/admin/phpqrcode/cache/frame_27.dat deleted file mode 100644 index b4d9ffd4f12599ec1ff53e3c72826989978fc8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmb=p_4c+SU$cTh>%(<BONGVG_~kK}H_jFnk@k(s4w8)d^LW)vHU0R2$2w}ycTTF! zm@4e)ondBq^^%YH^B`~Cm!a#j*S{=&)lpJzXM1he7Io|2A9o%XaN4tF`;zU&`QP`< zw~IHN^7_%d`um?(PMx>+id5E{n0v40R%_lqrDMPR_=K#Nbs1J=Z*FW%KHev5UH0bx zvhP3A?5`T{eKs|C?=(67e>XRlv;V$O{Jat(4^}wWvJV8GgET;O7Rx~3dn=g8x81kq zTBsYH(o>B~k(w6wdiUP<-~a4d_f^K|^b>jOg|*Ku{@y(>H?~&4sQTS6>xH+g>q>Tg S)BB(oTgzV+tiQ0S`YHfvkCqVt diff --git a/admin/phpqrcode/cache/frame_27.png b/admin/phpqrcode/cache/frame_27.png deleted file mode 100644 index 8419ec2301e8c0278f9f86d97417d51d3df000bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^wIIyM3?#Su{YwK<YymzYu0Z<#|Nl#G&c6#}E%J16 z45^s&cB(bsAp-%I<D$8GPlXvCX)NiiQRADWeBq+fPR9!_&5w@+r8)QhsF>Y3Z=Ttv zWf2y7&zVY?&I!gH*lL(C<3L-FqWk?PvhJVcioOWu?Vls-VEE&Jg0;|sb157vj!F0I zoFJt8?3CA*9ZT0UM?PxZc<bZF^?&sjm;K)D_V!zJ?_}0!?qi=<?Pa-qr{e0;=)EUS lekg0-ULV<bjw$_s@GG{o{Fk>c8vtF);OXk;vd$@?2>|KWW^(`l diff --git a/admin/phpqrcode/cache/frame_28.dat b/admin/phpqrcode/cache/frame_28.dat deleted file mode 100644 index 8cbaa1961bed61c3d774192448857480eb49762f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmb=p^>&UUU$cUMYi#vvHNCX5BIcc(ch)S(P&rt#xF_>o`BhIHdwqxJ`pXR0ab3O; zyhvzU>thM$uzdDevN_u7>@yw8*(S-Z(T=tZ`1|rey6L^W%k_%NF5F|Ui=6h%{9e%d zZ;qDSdF$l&FG(-^99&vHr#0ZpbjM5kK3J?R3cg=E!9=w8_VG%C;KB!IWDhW~88k5R zBz#a~TYLY*^54yi?c%-~`hWLu-)r%Km;K+Pv$J34CnoIU-@%{2z$^h(euDc6>nEnl zMr%QcZlKHrafo2K5)VwFf<8p>oeNCgzsZd&I##GMUwz`}E2+Yy_3mfghfV%>+;#2K w_7?4#@$=nu@tm|;Z8o*f=bqOl7=Ny{<IXQgF#H{FY4G!Z^W=TseyFzs0CZ@JX#fBK diff --git a/admin/phpqrcode/cache/frame_28.png b/admin/phpqrcode/cache/frame_28.png deleted file mode 100644 index 7609d8e1f472f18438ee60bde32068d556d45ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^jUdd(3?%R7c?$z6wg8_HS0MfW|No^o=iddg=6kw0 zhE&XXJ8dIxvw?u?e(knIPAPteMu}Fgo7qcGbNM(-wey{#_Cfg0k@D$`8y;N__4k)A z+;1rJ`R4iqIw!JO_b9}e-2Ck_E9dtV<J#{h3Y%x}EhsqA;rpzH<Eo1L#Q%lw9Pcde ztY9lVtocaL!svE<-&xE5`=`ISvhP$;R(z`E*7ct)#GRv@^GwRkVl7_ndlLPqV9&{q h&!VTDX|wRXw_?_=3F3Wvg+Qk=c)I$ztaD0e0sylRVnqM| diff --git a/admin/phpqrcode/cache/frame_29.dat b/admin/phpqrcode/cache/frame_29.dat deleted file mode 100644 index 5e4a711..0000000 --- a/admin/phpqrcode/cache/frame_29.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A� �a� ����@n7+*����4�!�?�J��� ���抮�]���S��Tf)��s�I�"�Ȕb��0��|�"Luٸ�,��E�1\6�*�uQ�?�>a�υ����R�-r���n.�ꯋ\�T��:�*)|)��,��,�������x_�}:^R��Uoɢ�u�~�މX`�XЏЏЏЏ�_`�X`�XЏЏЏ�_`�X`�XЏЏЏЏ�wb�X`���PU��)D��"c�{�z���3��<}��^?b�m���잃�����a������.�] -�{Q6u�T,9 \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_29.png b/admin/phpqrcode/cache/frame_29.png deleted file mode 100644 index ffe072c868268ea77f05f71c17088021d549090d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^tsu<E3?%(UR@MV4wg8_HS0MfW|No^o=iddg=6bp~ zhE&W+PWaQ$)MsFDWl@*R-vbZ2v_6G0#6HoBc;al!6f4Rw^YdQ0#&dNE2|TWhiab33 z1F!!1fAE9&Rhb1R>P;BJn$?U}wS}0TXykDc<vAh92qfcQ|6i<-lVxyL@=u+7SC-r3 z?2MI?z3Ue)O*7fY)-UDCBbd!2c=5l)!yZBL1KW6`Y8GzwY{-f+JX3gd19$KeG3OS+ bSQdudGa<~)8WZ*a9m?S8>gTe~DWM4fn*mjQ diff --git a/admin/phpqrcode/cache/frame_3.dat b/admin/phpqrcode/cache/frame_3.dat deleted file mode 100644 index 188d531..0000000 --- a/admin/phpqrcode/cache/frame_3.dat +++ /dev/null @@ -1 +0,0 @@ -x��� � E{v�&��&�Y+�b���k�'y������a�:��TXl�$W+ӏv��9}gR�@H0YPB���Em��?�����s��"b��t2cn���:�ﺭ�;�Y���z�Q��7�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_3.png b/admin/phpqrcode/cache/frame_3.png deleted file mode 100644 index 945ee7cb993022c3ba0081cdd6b833b92395b30c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXJ3?y@6zxn_vwg8_HS0MfW|No^o=iddgJUm?- zLn`JZC;a)}-nj7F|NHzr>;C`eQV>iqJa$2VtqrL1f5H!Lr4wnjD-wRh|KHox`0@XB rt_3F@rfGYe5mn(<%W`B<p1{DMc_^MOXI95KpqUJwu6{1-oD!M<9CtR^ diff --git a/admin/phpqrcode/cache/frame_30.dat b/admin/phpqrcode/cache/frame_30.dat deleted file mode 100644 index 44cf3d317022ca75456ead34e4449c2f77c0746e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmb=p_4bY<U$cThYvT1gyEwVi)XgW%K5@3IDNLv&Rrb=q$Ey_0^y4QO%<e2)dy`K} z)$f^%!Ym8@rBjc1dQB2uqSD>5%F}Pb9F^HI>YU!D_xBYq^}BRWJ#p5u$@O~+U60g$ z^ZZ%%C&E6_>--Dp^Lw@H{+B%qvQk^Qjp5k3r)$sId8T^L{8KD*Wwpx3yDA4+gnbMS zvP`Zw$-FB!Z`b@c+Rxs&eZ4X_H(t}zN!in)_Pe(B-kBwv{Vn`0k`1A%fm#-_F9E_Q zHV6?QtI7cc&w)*Z5ts^pmI@a>n)4-LQd5VAxSF@+|0}%z9_8)t4X9Z8-TGsS+L_O` o3*N2iKjl*T?_}Zp7w1|m>#S{6FV2w-Q4O5Cykv#>|8j$;0GhIr$^ZZW diff --git a/admin/phpqrcode/cache/frame_30.png b/admin/phpqrcode/cache/frame_30.png deleted file mode 100644 index 75dbddd2416814ef91b71363c859c3dbe86f0802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^ogmD}3?!9ab#?(Mwg8_HS0MfW|No^o=iddgws^WY zhE&XXJ8dKHAp-$deb!SFYn&!CY6Q4UH4Jk7sONJ?V2XzJ1%+7_{OTQ#YUCIa<5O*I z@1FcVdoow(KLw+VEhS36DYCp#b}QPnZQP#yZF5>L_wIw#N8!&ZL32x5J2SZFRNT#W zJ+d{@@YEHq?4aMP=C-7+TKmm!p0e&81)Cc7+)G|xes$W5z3%q9Wf`gZcFvkf-|8dM zyY<B0Zs5Erb9k!Qa@p9h)mLxC_0FB)(Cj+ZF@J{7y)V8`wM2mKXYh3Ob6Mw<&;$V2 C2xe6P diff --git a/admin/phpqrcode/cache/frame_31.dat b/admin/phpqrcode/cache/frame_31.dat deleted file mode 100644 index ce429d0..0000000 --- a/admin/phpqrcode/cache/frame_31.dat +++ /dev/null @@ -1 +0,0 @@ -x���A� �a� �� �&r��������4�����y��ķ!�mV3I��v�!Ҝ�2�i\NSS�4EF2�+65���e���/W�s]��!��?�p����=S~��Đ?��+�x��6r6y�����}�Ǵ���eR1-�W�l��l����Ҍ�X�z/>V櫷��:ñ���A�8��-+mT���bl��l��l�tM�&]��l��l���&]��I���l��l���&]���y� 6�`� 6�`���i�uy��XW���i��\t��z���>�.�z�k�� t��7��7�wJ�ϔ�4�w��҈����85� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_31.png b/admin/phpqrcode/cache/frame_31.png deleted file mode 100644 index b14d1fa267f229a5b21beb06401aaea3c7ee4673..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^y&%lU3?w&9$bJT-*aCb)T!Hle|NocXoPQU{+Ue=y z7*a9k?X-=&hYSQ<^+j{d5~R!+0*%=60@{+AM5auc(!n|5PK2l6>q3RVA30i5E;U78 zzm!b-J6oUkrH>MO^Sih(w%FVJC(3=iBOLgbf7_Y;qQm^gYNmAkvubm<avV#Vl2N94 z=-lZ|E283~e|<c8zgk_&f6|2qDkU#Et#2G+b-Jka=2xeA*z4Y`Tg96o_<!P8ORHxZ z6V#_XU(tJhS#I>KsBNb!r<>aC-Pn**9g<?L_Lx~<PTo|JHpN9iPcV48`njxgN@xNA D)MRYp diff --git a/admin/phpqrcode/cache/frame_32.dat b/admin/phpqrcode/cache/frame_32.dat deleted file mode 100644 index aaa0808..0000000 --- a/admin/phpqrcode/cache/frame_32.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� -� ��־����.� �D�l�,��Mz��6��Ç gcJ�D;�'.�A�Iq�މ�I,Ir�Y����Fk%�D�O�y|ED�D��(L�_Y��>*ߚ?a�O��k�L_�<[c���>�c˘�u�LI��%�#�0�#�0�#��otѢ���}��4�f�v_)��E�p���h5R��8�8�1�#�0�#�0���i�tZ�#�0�#�0�#�0���i�tZ�#�0�#�0�#�0���i�tZ�l�0�#�0���9q"��HܜH�Q����"��L5}-��Y��k�`��>�z鸳���4&�p��!���!��`�:5 \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_32.png b/admin/phpqrcode/cache/frame_32.png deleted file mode 100644 index 58d42db3c5b755228c7565cdf8128438559cfe1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^6G51f8A$#VJCOjS*aCb)T!Hle|NocXoPQU{+U@D$ z7*a9k?X-=&hYSQ<^`{<B5S8Nc;&N#<a?=vYKcv&+;Mlo|iFZ+FWekgm-E2Fj=USCj zR;Pc3*JPgXkLr@)speDCK77pg<c|#u>N~#na9iwuURu!V?k}}KG;`at7keZ6HBO!j zPFw%CYT8codjH_FpLqjK{?_pC(kM^0-qBFEG_3wrT<*O&_g>F?-&noh_CE9X8vcLx zZ-?L5c<5S4(d*MS%jL4aFL*KcmFQoSBb$x~rEe4WKl3d;RlhCaH-pl}T98i}JYD@< J);T3K0RZV1Z(9HW diff --git a/admin/phpqrcode/cache/frame_33.dat b/admin/phpqrcode/cache/frame_33.dat deleted file mode 100644 index a261375..0000000 --- a/admin/phpqrcode/cache/frame_33.dat +++ /dev/null @@ -1,14 +0,0 @@ -x���A� �a������@n7+*L++�柮����bb�*LC�����ck�H�r��j���J5Y�i~0�_����T�T�}�e�>��5�b_�w�͟?���������\��Ra�i+7��W��\��wLUN�L�� -+��� -+������j��O��kc�����\˩|%�o<�k��L�+�+�v��� -+��� -+��>}��8��� -+��� -+��� -+���3�g�� -+��� -+��� -+��3�g��@��� -+��� -+��� -+��:R���X��B�9��I�=�k���o/Sw�ؘ�ٯ�`g������r_ٙ�Y��VSY��zIefnmQoz >� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_33.png b/admin/phpqrcode/cache/frame_33.png deleted file mode 100644 index 924c728e0aa0b3c22b7537d833d53f072a923640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmV<Z00RGsP)<h;3K|Lk000e1NJLTq005N$005N%0{{R3YiueE00006P)t-s00030 z|No`gpWOfe0J2F$K~#90?UpeL!axv3|5moSls8a3irYwz;CVcNrAM%|pC%-Q@|}Pz zWM(V`5sO&@Lq3mLmj8>7LUZoG!D=_b+G>~XohCiGYUA3?`$qlQw=oFH)|?GM%W=ZP z?o-WP`{JCI-1j+kVd;lds9Q_l#)_e*e%!H*n2YxP(|eQ4yd?KKF7uLH<|VmLxpSZ$ z1MOt{<m_*dgF>Gd*JG7)eOIdQ#d>d~xt^_>>*JiBA`^i7E%w2i00000NkvXXu0mjf DAwYG& diff --git a/admin/phpqrcode/cache/frame_34.dat b/admin/phpqrcode/cache/frame_34.dat deleted file mode 100644 index 7ceb0259d4a6f14ad6d9e5d76eb87c07b034c711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmb=p_4bZoU$cP#>xC<Ks#Lk|v`RmiJ!AG-PCu5QNlTj|U-E`N5sCLVI}v=w#(ve8 z?Hr~{7OrW0mZ#_K>Nzb)OE=JWTSu!=w6LqU*^<L2KLssc`}XX<_nU2egY9y2O|yTm znS1u*zker#YyD!R<I^{9=}HWHExF>gyy-W?Z;@;Fg>L`1=l-EkZ?iVvV?C0_X=i2_ zCW9G)ljhbgx7l(nwvgX`%e6^Q_5bh5(A^bzqxM<tGwB1!N^5x`@I8`lpfQ)PUjV}o zb`S$$Cc~89XFynX=3oEK32jk=XM?;<V*)n+sxjOBZr@KC%b&vU`t1H2UjDvopWB+q m)z+H>K4)(Kt#i%i{@a^9b964fc@euQ;PW=~uiO$9&b<IpPp4e~ diff --git a/admin/phpqrcode/cache/frame_34.png b/admin/phpqrcode/cache/frame_34.png deleted file mode 100644 index a477042d8bd164b290b4fafc01503fe0ba86c8b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^GeMY<8A!5C;`#}q0(?STf%O0X|CipJe;3Hw>gnPb zQZeW4^o^WMjsmX#U8f~jtBEBjv`tG?seT)Aq*3=qXXlI+_hnO3Z`!AqXdKG<^zh@1 z$2a89EJ`kxb5FQ`=(boyS7nhxxW0w*`IRj*&5GUQE?a*(lXrI>tApXq$M?>eXvpg? zJ7Dnt${M{rF8!;dRI6f&a!y#e`IJAq{!imf{LG6>4VD`%_D=Lmb(?<ZPY$2loazq_ z@9#~%EO7hJQtw?$(}TZN&R#j&-hIIyHJ($ul@F`W+by=#D1*fb=m7>#S3j3^P6<r_ DtQ>5% diff --git a/admin/phpqrcode/cache/frame_35.dat b/admin/phpqrcode/cache/frame_35.dat deleted file mode 100644 index 56bc3e28ee83b24767b00391773560ca842f0b44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmb=p_4e+@yk-Lt)(dC;l&Z2-bJsJ}Gu4L)&k?(_Yz24S#B<8tYk0!l*-FIIBjt?0 zZ`YVyJa2n|_x3Zdk9bXgHfz<A=%-3cy;t9zrj@Yk>^qygTh2XweY|A-_q!&2k4t`5 zdHt-uf3>=7$NxRcHpcK?YhPbowodr?x--Th*X`3@Jbts=sCI7N@2dT+b7tjn%<Yr4 zE_-uhWAgDn+1;xzZGFYR{B`W<ccr`HF8k`&U9I>l`^M?L^?B>}TrgGEWxv+gtv>&1 z^SpAXK9B(~H-km1?tx8$7`Ys%2q^kG_8{C6zxh|wzed(x`wSQ9yIX(x>6}yP9JAN? zaAi*~^7>i6``g|}l``+#Pxx*7Q>a$?+fMp@&Wq;Q9mQL}|JJ)V^U3dOv#MPg=?~>E Qwf>fGyj#QM-^sTe06Gf6oB#j- diff --git a/admin/phpqrcode/cache/frame_35.png b/admin/phpqrcode/cache/frame_35.png deleted file mode 100644 index d29806c6037dea38b05d8211a0a45c2e0c1ff1d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmV<P01W?$P)<h;3K|Lk000e1NJLTq005l;005l<0{{R3l<4S{00006P)t-s00030 z|No`gpWOfe0H{esK~#90?UykQgD?;Tmx`88<SF?96#T?Z#OKoTjP!00Zjf_EG~8a= z2;sA~8ja4fw(+6K`n-V`!8zhd@Y5M^-eH_h5hyd)>69g+8T9FaOlD5lXr@5A{4g21 z`3F-KR1%=7ED2boeU%@kIrD;Vui5n8>omRhI!*7rPSbn8llib<Yr&EJ-lZd}P1z>6 tcmDZ{$vZ*}#x^0hn~*mYfxOG)^abWznpY06{Y3x(002ovPDHLkV1fp`ZrcC= diff --git a/admin/phpqrcode/cache/frame_36.dat b/admin/phpqrcode/cache/frame_36.dat deleted file mode 100644 index 282c60d23bca6a7c3ac2c3da0744992f3415d8d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmb=p_4ck~UbBG!>xDHtOI5|b@#Qg?H_pDw$;Z^XB}m*L@cxD_oki=_lM}=$=E<9G z-R?29c-FLpVq^dBT+<Dvws>!v^g&NTH_@wd)yXEcGyBzK-j`OqvsA7=ytvYW@9>9b z_WqKQLf0xI)<4~MTkdf{-#UAXb5bv_XIHKgJ-y+Ial~c2Rr$$h4+rJ0P5XKC?x8T> z8}0rlCMY_$@kss?KYU%i=k@&DYZIUS(0u#r`Qg$fYBKRcefj5YDxU=N96s;-dSNve zNU2c@M9){5FJQQ)9U&%Zbfx$L7;cb*sRL;UIPVCC2diGpI|Q*2B5lhKfv>@?fNH7t zol$&B)74DpqnE3hkLL7O>+2T(ei-}yr{??h8{VJ({BR!k#40|+{iXYjd3MGhD3d#O cr#P`%x8CVcM|J%hp|(5rsloS;^$2?d0KeI-=l}o! diff --git a/admin/phpqrcode/cache/frame_36.png b/admin/phpqrcode/cache/frame_36.png deleted file mode 100644 index 96ecb421354bec386b535fe1e2cf4fd753142013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmV+r0q_2aP)<h;3K|Lk000e1NJLTq005x?005x@0{{R3m7h)Z00006P)t-s00030 z|No`gpWOfe0L4i}K~#90?U%6)!Y~j;zpISF1nfY=04We<#z=+i(Z~>#C@Z9i(!~1M zrir*qV+k70-90^>68kqFj-O|}12;kA2%H6FtI=5KdLSEeASYjjHt&ri*^^Il@nz@$ zcM<0VP`V6=a&MyY!``k&|IeMgxU(i;@#22_fZ4~6ypj)cPBagDuD<uT|7PxYUCWNS zwXS8y+*;SNV{WZ$*)exZk1F*l9b~`AZ>;9QQOl0fagwX_p(bdJihERcvP@-vOY{Y; W&Oa>B-?9<_0000<MNUMnLSTY-3VS~Q diff --git a/admin/phpqrcode/cache/frame_37.dat b/admin/phpqrcode/cache/frame_37.dat deleted file mode 100644 index 015c0f24b1fcf3596e1911371b84ea8f6d3ab4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376 zcmb=p_4clBUbBG!+l4hdOI5|b@#Qg?H_o0a-|WGf8=f-Z-UQzi!P+WAKO5=($3f12 zyTUY|C-RzyJvInGGR4wY^Lk0}sYs(Gsb0>W;+CoZ{7==byZrmTWaR#jx=*j}d9!=n z?jLue-7XczO-tXCTNhVr9_xF%CU42z`5zaC*qmOutsr!7Nc8d9(}S-rUG+8hGgqu? z>hF#zI+2@FPEJzwo~AQDvGQO3&(Hs_exLZN>iNf?wdd`Eg1#-+{C#?NzFg&`r^?Tk ze!Y~>4^#=)^407M7_OO)5CclC+`bSD6Zb-m25VS)uMGyjf-Qs@QzZ?7*Sz=JBAN4V zs?k%Ey^Est6oX4n+Z;cW+cNi&e)WmBGn&?4`2F$Yr!zA>_V(^buig{cW~=_xLjUnR b%i@}2^Cua-iuB0WJUmakbVYvd1M%+wXsyHf diff --git a/admin/phpqrcode/cache/frame_37.png b/admin/phpqrcode/cache/frame_37.png deleted file mode 100644 index fcc51627d75b1195d79e915e5ba5a26accff30b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmV+y0qFjTP)<h;3K|Lk000e1NJLTq005-`005-{0{{R32j#Ds00006P)t-s00030 z|No`gpWOfe0L)25K~#90?U%6)!Y~j;&lPPpU<QU@0}v%6P?82^Dh6N(mxzWI$xW0L zM4yY50_8ph76rw*^V8GG^8MyZfH`-Olch1q+R~w7^pWWWNDZD#V39Ae8s}btuEB5v zj``9i30reEBCsxc8SGr8_6d_qsJp*%bqn)dq*`=i^SyPov<;#zTj?IyAzwbZeD44L zgS+3mo*j2fUC)lYrLJek-BQ=H<L)~>Q+l9uWqZrGW15EmmL1Za)FnMD)vS~08#pCh dPbukz=wHCg@a-IQ|2+Tz002ovPDHLkV1gG4c{u<8 diff --git a/admin/phpqrcode/cache/frame_38.dat b/admin/phpqrcode/cache/frame_38.dat deleted file mode 100644 index 71cf53e..0000000 --- a/admin/phpqrcode/cache/frame_38.dat +++ /dev/null @@ -1 +0,0 @@ -x���A��0Ў�u�A2�;Н��k�(�g��y�tp9��$��D���\�e^'t�-aI��FM�S�k��I�Ť�:7��|L�k�N�8N7���i}����i,�[W��g�Ӵ���?3�1�i��N�}}=�OM:4��)S�L�2eʔ)S�L#$�� ��J���JM:}�]���L�٧�S�QL�2eʔ)S�L�2ա�Pt(:��)S�L�2eʔ)S�:�E��Cq�2eʔ)S�L�2eʔ�E��Cѡ8O�2eʔ)S�L�2e�T��Cѡ�P��L�2eʔ)S�L�2ݓ��sJCIK�Ԃi�93��n�_��������+R�����i�����4��\�g�����;% }�a�n�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_38.png b/admin/phpqrcode/cache/frame_38.png deleted file mode 100644 index 89238f3c5bd6d3fa6aea44d2037dfd3bc0a34723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^D?yl%8AxVH_vZj9wg8_HS0MfW|No^o=iddg&Um^w zhE&XXJKd1$kb{7$dT5{Gy(7n%mk6AeQJ$Kzej0N`L_}BkhKVNY?%zz+J@k*Y+f^`a z^_k}%XBzDPc}byOdLr}0>WR7QehE+CtzjSL!0mG&m*?>2?tA~Zcn+}6IBv0`eDmq~ zc}z}+JJ0WJ_POR~GP(Dkvz2Uh;m>QHUB{Hvn<wwC`+7jmg8BVI5Ai+qAEvw2Pu~_I z89N_^_{&-Q<kOj_rY|!eezH-&<rcXrA~|H%m(ve?Z)MzAqOf^c_YTg9@y4IJtQIqt R%mn(2!PC{xWt~$(69B}Nc!B@` diff --git a/admin/phpqrcode/cache/frame_39.dat b/admin/phpqrcode/cache/frame_39.dat deleted file mode 100644 index 53511f736c747e194b36366e032be5ce856f931e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmb=p_4ck~UbBG!>xDHtOI5|b@#Qg?H_jFnQdbgP@~WvsW^bbC&dz=Fbh`ibKL2SI zT-|A9x%8!2QQou6xhFC&&-ym4$aD9pW82OKdqz6mnsRx4=J8U#egE%mowI%0@84xI zZ4W<8zrSnRI_rgRZWpP2x%=6e@AT!byU*{w{_FTmgQ=a_yU*CBT#j3w|M=bQ)LTYp z-zJx@O!B(5Z`GEZo10QkPt%RwHa}ta_dLm$f4^<KCbM_D`>*>CH-=s6v(7v&e*fR{ ztx~zGZ*4yp{T!$et^>&Eoe;)fc50TK5C1au;(Jh&pbBm$WPVLpzUJk@F9}r!=o)#a zk*D#WWv<`r;O<;6&F5D_CzowJTRZ36gVgy2`}e(i{XD+qP1dt!Yu@B<2_N6LRd3?0 je}Av+{;~a+3#!$wOf&lxJI6os@crUlGxJ^MEBXTf`CjAm diff --git a/admin/phpqrcode/cache/frame_39.png b/admin/phpqrcode/cache/frame_39.png deleted file mode 100644 index 1dc9cd1bc53a2e27ad5b61791c7a76cdab408123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^YeATi8A$#}%mtDRYymzYu0Z<#|Nl#G&c6#}?e%nV z45^s&cKSvxCPM)i^QmwDPN{$JaQO_kPo;GYt#kKIo$zc&c3+{t4%5trR)KEM%_$W+ zC*PSQGk)DUdv52RwA;cz%>sV@oL27Om%5WD`n|Bh@=ZQB4@JyxmgML?8g}V+>Zb|( zXHzc5U$%Rcb<c8^{*qhgWOBVMeg*xFo1%92#odR~7yX|(jotP8vZsz0_hwcGl;lUr ziTtgudh)6HboeAj^Z5ngtO5L+OkSCsUT1k}$!q=06FRQD&ls6c6AxJ;H^V5pd;-XC Mp00i_>zopr09yKW761SM diff --git a/admin/phpqrcode/cache/frame_4.dat b/admin/phpqrcode/cache/frame_4.dat deleted file mode 100644 index 67b30e8..0000000 --- a/admin/phpqrcode/cache/frame_4.dat +++ /dev/null @@ -1 +0,0 @@ -x��� � E=�u� pجQ��COM�'�ˏ$ �@���3e�F�\FNXRy�ؾC{�a8�R�Ńa2@����qk���H1�(����`c��j�~�0����ܨ���عnX�G���Ā \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_4.png b/admin/phpqrcode/cache/frame_4.png deleted file mode 100644 index b72f9e70d374741d1d4ec4537b7a379088325669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^iXhC$3?y^40(5{BTYyi9E0F&G|NqjP^X~##UY;(F zAr*6y6aM`F&%o^b_W%Fyk`gih|L^bcaylaE>?|uG@sHV&`Ea~}XRw*|gxLT4_cSuT v*!F>Kf^<Vp_=X+Y5xgyHSSR-=2r-z=sXM*p*yCS7QyDy6{an^LB{Ts5Ni{Uh diff --git a/admin/phpqrcode/cache/frame_40.dat b/admin/phpqrcode/cache/frame_40.dat deleted file mode 100644 index 90d36dd..0000000 --- a/admin/phpqrcode/cache/frame_40.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A��@Ь������@o�7��`�Qfe�䕫PA>�����<?jjo5WNiz��y�W���&]߅C?�I�r�W��^;�8�� -��s<ð��S{�9^gE�}>�<]����߳bZ�n�^A��Q}[�9^�]�y��najM܇K̘1cƌ3f̘1��{�W5}�{��7lM���ޚx�I<��K����αyl3f̘1cƌ3f̘1�ۻٻ={��αyl3f̘1cƌ3f̘1�ۻٻ={��αyl3f̘1cƌ3f̘1�ۻٻ={��αyl3f̘1cƌ3f̘1�ۻٻ={��αyl3f̘1cƌ3f̘���Sʑ�Ӓ7�H�Kg\��u���_��r'4�[��-�]��q��L��8Ɲ��Y1q�����!���/(%� \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_40.png b/admin/phpqrcode/cache/frame_40.png deleted file mode 100644 index 8034d862d60aed55180914d323aa4557f39c036f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmV+m0rdWfP)<h;3K|Lk000e1NJLTq006N7006N80{{R3vFFZ)00006P)t-s00030 z|No`gpWOfe0KiE^K~#90?U+Fd!Y~j;e^xm|Z{x-TxR5SAMpx2Y$6NFYJ&A6_RUKyv zf+c^p8eu{q<?$F2=5HoQQm<tK&WxXcJ>xUy&%?@Zqe$Lt^IHF*f5Ycy_0y589U#OP zDOgy2<>WYTpYrhA^tGLJe{+Ghzs|!@a34iK>1DI|zE}TO_YMEQ{K#kcE&Gwr@LTpH zpW(OcM?S;<rr$aI>hKGje=R>w-jeWqvU%KmI=|;a=Y2bm$Ju*=arXY8`~`*2(t2@u R+XVms002ovPDHLkV1jNhe*XXf diff --git a/admin/phpqrcode/cache/frame_5.dat b/admin/phpqrcode/cache/frame_5.dat deleted file mode 100644 index d5dafe1..0000000 --- a/admin/phpqrcode/cache/frame_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��1� E��u�7Л��Z��|N���DB0@R$l,-�>VKZ[<���z�qƎ��YJ&�i�嚂�Zy�:Y'�Y��V�&�e�R�"�sj��r��+���.�MƎ���9��z�s���, \ No newline at end of file diff --git a/admin/phpqrcode/cache/frame_5.png b/admin/phpqrcode/cache/frame_5.png deleted file mode 100644 index 96b6494f35ba71741f72bc32599a359f5ff9798e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^svykB3?%;tY;pinYymzYt|0FJ|4VPqzYAn}d%8G= zRLn_E`1AiiKeO}O|Nral4R$bjGKvT(os*D~I&|QJJV%|uAJ)mthyDc|{ILJu|L<IE v3uf;RYq-Ofvb*VM?7=LB6x|sqEE5@=W-q$_igm{=ps@^|u6{1-oD!M<7WX%P diff --git a/admin/phpqrcode/cache/frame_6.dat b/admin/phpqrcode/cache/frame_6.dat deleted file mode 100644 index 0fc3d039ef34050cc5d15da680a1a5cb4af979d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmV-~0DJ#<+U=Dw4!|G?MLT=zCLBO-fH#4gwIXU4#12h5_?%2$eqi}93j~J&Re=Lj zVQN<6HcR5%6yqavc~0FuMdS6|NwG7P073%O1SQmOJY3XF%jVA9nLG0znYkcltBBJw m5wV)=baKYrOsDG}nNEL>Io+o1yT37=P9COrj~W-G?9JF6VLpcd diff --git a/admin/phpqrcode/cache/frame_6.png b/admin/phpqrcode/cache/frame_6.png deleted file mode 100644 index 05ca358b0ebc0c3a0b76df7bc0411af2d596f586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^njp-`3?wJ5o3s^3u?6^qxB}__|Nk$&IsYz@<>Tq% z7*a7OIpGgbjFGJ^N}+Uq<3Ul6SeNAsih33<T*$}6^WSkn<3s%xDIuFOh4ugb|Nq3s vHX;A8^Z`4jPce!`>jb6-tP*oFY|><K)jxH?sc4%B&|C&jS3j3^P6<r_IZQPz diff --git a/admin/phpqrcode/cache/frame_7.dat b/admin/phpqrcode/cache/frame_7.dat deleted file mode 100644 index 43375960f2759be566effc22dce1727eb0243e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmV;#06YJ9+U=D=4ul{KMO}02Nm$UG+yHI@H=BahDU7w?%7vd*<I7KNe%hR?l3gS@ z2Wf+{$*Jg)2A7CJx;X1}rG{v@q+`)hK|}xd9YY9_{Uz(0X5!c1ivb_2{V|h7lD$zo zWNekUa^EORGF!PWLn7Kw(XaP&z585<wK>b2SQ8z)uR?vtd#dj@Cr|apornv1)El=m yfE)D&wC=s-ob2oKGnB!6a?|8|>$jotR__k)Tfb?1CbP75iyK<K^Gsj6$S#tav1fPy diff --git a/admin/phpqrcode/cache/frame_7.png b/admin/phpqrcode/cache/frame_7.png deleted file mode 100644 index 7d2ff4f3e0068cd8b20d341ea49a671c37eaa660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^x**KR3?vz@6x;-oYymzYu0Z<#|Nl#G&c6#}6?wWi zhE&X1+JBI@K|z3JI$uT?-x8MU2g&a;Q>Q(;+|ur1|Lo4=9^M0XYLiuS90INiM|3P! zl1w_Dw_=lP*>oFG#pgDRUYDi$t)1S^DCLO~UG_j|*#gebx3BZ+nH+yL<Ldn{tqW?; l*Li#2Q{DeFv9P62{6*mlhC8Oh(Lmc7JYD@<);T3K0RVO0NH72Z diff --git a/admin/phpqrcode/cache/frame_8.dat b/admin/phpqrcode/cache/frame_8.dat deleted file mode 100644 index 669b325f39ef4be17c0801f3fd93d9f4cb39d296..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmV;)05<=4+U=G>4#Xe`MZ5Oaleo}by@B3DZ#Iau!Ks7Twck}KFFz0sl!D6kkmQ`t zEwPxAt7e4vK(tICs>9R+3CvUzZbGE0t`1I&>PRt0PIx4!4(e4n`AHE@7YTQ-GD-FT zU5Un`f|ct4S(0g==b;u6VVT$-+hayNZ>kV6<JTZWh)9qBe<N=_mh0H}YJ128%qtkA zVTtg-tau>cem$hSdySrt`hAq)&LF)(-K_0ARP&tIq1zdFuig-v-KQf|`xVm{I3hDX Dr=(<@ diff --git a/admin/phpqrcode/cache/frame_8.png b/admin/phpqrcode/cache/frame_8.png deleted file mode 100644 index db1f1877ab3aa0f221156a6c8ab461cf548b7c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzy3?w~+F2@5Ywg8_HS0MfW|No^o=iddg8a-Vc zLn`KMov@L&*+9hQeCRTV$kt=bOB^&Mo4IaE8~7hfU<zB{m|4*G`=h(h0aJhf?@KrL zI4os#OMKs`@h|S&%^miZ(ecwZF)R!&@wc2AxJLYEf92EIeQIxQjrMu|c0M-E>-_hp z>GjwD9k;ZU{x$DC`?c>k>SwyYUwnVQ%-n^a7#d|n|4z96z#8Zn22WQ%mvv4FO#qqh BQ^o)Q diff --git a/admin/phpqrcode/cache/frame_9.dat b/admin/phpqrcode/cache/frame_9.dat deleted file mode 100644 index d79295ee0f93bf3b101c220b436cc0d302b3dd72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmV;<05Sh~+U=G>4ul{KMO}02Nm#TyxdGe+ZZ;LFff1oFD-%8|o4)*%Sp6YHdA;?7 z06sMb75pI)g+!%pq7Eks1(Ax~0~7*wDR<~T*G1Lma@N`!#dGl;n!P;E()p>G>kd7u z??pPBm5wsHKNm@}RC?UEAu(m9sO7c1-s)A`rDjb%?QOHhl&f?!YX5jm&9&Z*<@HW4 z${vU~>O~9yjCv75*xjqWU*~WAGqlU$A+xo=8}e*Zc!_gVK9@YR<##wsNwa7{iF0qJ IFSFt|>Yb-#$p8QV diff --git a/admin/phpqrcode/cache/frame_9.png b/admin/phpqrcode/cache/frame_9.png deleted file mode 100644 index 74ddf08da2f671de67f1fed645afe705662e8424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^rXbA73?y%B7#ag9wg8_HS0MfW|No^o=iddgYCK&W zLn`L%ov@L!Awa<SvvzcN!HoTlk2G$bkU!d~^R|TLq4}cTBfCEz;r02<VYx$qrAsU! zz)v!8=T!dm<bzwU?0Gy(P%4l&z}7!z7I&u6dHY(wPxjv}CVjE2def=<{rvu)@wHmd vU)*`|e{cVr+`l>gA1{7>@m-%iy`qAdx51;UBica)=ne)?S3j3^P6<r_PI*vI diff --git a/admin/phpqrcode/cache/mask_0/mask_101_0.dat b/admin/phpqrcode/cache/mask_0/mask_101_0.dat deleted file mode 100644 index 51deabaef6a1432e6dcbfd3852f259f984ebdb95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmb=p_4bw_-vI@V)`xR1ANZ?({iIv)ZIh|T6YB3ooDf$vcyUi@lE1i`w$Np*=;*M` z`ns!cu5^{~@(#J<9e#`@|8>=xt5c>OY+~gW)7igeMcUJuTaR$o&p-O<tkeDkuyC0K z2v*4h6+~><a2NzH{Epa=aBx!2#o7=_9ah(QIx9B^{cTU#U@@(<`$2D|>;5+hmJG|D H^z#4!b%aZc diff --git a/admin/phpqrcode/cache/mask_0/mask_105_0.dat b/admin/phpqrcode/cache/mask_0/mask_105_0.dat deleted file mode 100644 index 97e9e5dfff667572d9451add45a3a5e05c157625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmb=p_4bw{SAzlr%YohNFaEDz7aTYx-~rdw7iUi!E!oMQ9qZ10=B~!Y1!Xh8FbC`Z zyZK8u`25eDzn4VhGJ|J-om&>Dy5;$~&1-gk)KCM0Wh*o*?Q>r*t&Z>8Q#|w7j5+Ec zQ8l$%fAdS<5uE#%zyDF50RnO9r|hm-%}`_g>f0!1_?Y+V!H}75vy!UUpR@9hH`4Vh H(~brJDN;^O diff --git a/admin/phpqrcode/cache/mask_0/mask_109_0.dat b/admin/phpqrcode/cache/mask_0/mask_109_0.dat deleted file mode 100644 index eadf83a..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_109_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���= -�0н�i�9'�b�$��t�����^#i����i?����b�K[AU�F徝Ƶijx]m�]2�������-Ė�K�~�Vw}�X���������&O�ɓ�666666yR��'�%lllll/��h�l���m ����d�l���3�+��mͫ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_113_0.dat b/admin/phpqrcode/cache/mask_0/mask_113_0.dat deleted file mode 100644 index 5eb7f5d..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_113_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���; -�0�>�I��9+E�s�=ϤL1̄[���F�ZU�4�?i<���;7����;��P��#�W-[�ݯ6���dddddd�c",;�"���sk�摑������Q&��erw######�L.���摑������Иy�1�^˲\����3�������� ��v \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_117_0.dat b/admin/phpqrcode/cache/mask_0/mask_117_0.dat deleted file mode 100644 index 781c7f8..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_117_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0�}O���r�R,#3���,�����o5�C���q:���;;�wvN��JZG�=�m���}�� ѱ����������2��i�R��k�j_YYYYYYYYe�_��������������/��WVVVVVV�k���d-�Ϻ,#���O��Zc]|�{ž�����$� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_121_0.dat b/admin/phpqrcode/cache/mask_0/mask_121_0.dat deleted file mode 100644 index 68810c3..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_121_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� О���/��w YM�S���8>2S���F�O�E�����c�W\�ۼ��{c��pK�G��B�К��m��xhfffffff�/s2���2W|*�d�1������������*5�����������̬�RW���a��������s����\xm~8߮��r0w�jsdm����&��y� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_125_0.dat b/admin/phpqrcode/cache/mask_0/mask_125_0.dat deleted file mode 100644 index 2c73ef1..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_125_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -� н���_���TH`3AO�L�4�k����(���ew��GW����.� #��2���} \��Y����gggggggggg_d�>���j^���s��;;;;;;;;;;�'��q�;;;;;;;;;�'˰�q�u����������_P�������Yw�{e��=d�����G�/��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_129_0.dat b/admin/phpqrcode/cache/mask_0/mask_129_0.dat deleted file mode 100644 index 812ee8a..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_129_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� �����/�*��D�E�'�hg�t�-�}_�pV�� \"�b=s������[��J��=8Dh�o�۞'�0X� ���۴����e�0`������j"0`����Wf`^P0`����2�Ȁ�� ���d07(��<O����o����� 6 �S� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_133_0.dat b/admin/phpqrcode/cache/mask_0/mask_133_0.dat deleted file mode 100644 index 03b41d3..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_133_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н�I�9����Ty�)<4��h�N��SҚ��]��Z��?�[��H<�u����FI�7����R�`��,X���E��˴]�Wg���y��,X�`!���Y�#�,X�`���<"��#�,X�`���<bg!���,X�`���Wy�O4ѷ��wf��>Y�/XL�Gb�y�"�pT� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_137_0.dat b/admin/phpqrcode/cache/mask_0/mask_137_0.dat deleted file mode 100644 index f6d993b..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_137_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� О���/��+F�Z?�J��L�7Ժ���*�B�a%L~��˻�����ʓC��J��Y�IWJ ���.K]�R�0a ��$��INTw�lL�a���L�0a &Ld@P�O�0a &L�0�e@P?a &L�0a�D�e@�� &L�0a���M��IlL&)dl��g��acR�<�$�v�,��ɺ?U2�] \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_141_0.dat b/admin/phpqrcode/cache/mask_0/mask_141_0.dat deleted file mode 100644 index 8c685c8..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_141_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���= -�0н�i�9'E���Dx͘%<l�[Z�|ZP�N �N��M�7;�m�fovm�6-�w��ޥ}�y��aÆ 6lذn�_�t�e�iv���ƾ��ٰaÆ 6l�Ț�Y�.fÆ 6lذa#k�SldM�� 6lذaÆ YS֔5�6lذaÆ 6�m����$��& 3dy�ecS���&�N�L��;&��< \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_145_0.dat b/admin/phpqrcode/cache/mask_0/mask_145_0.dat deleted file mode 100644 index 9c9c1ae..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_145_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���; -�0�>�I��9+E��{��$�m��^�&���u��S"��D��6ڟ]9���8�U�M���b�Ҿ�Y���[�2拉Ĉ#F�1bĈ��%��iRN�潝�ѳ��#;�#F�1bĈ�N��1�i�#F�1bĈ#F�tZ}��Nk1bĈ#F�1b���k�tZ;�#F�1b���F�V-���u�"IoD-�*�7u��j�>b�MV�+ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_149_0.dat b/admin/phpqrcode/cache/mask_0/mask_149_0.dat deleted file mode 100644 index d258350..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_149_0.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���A -� н���_�MEQXP.�|94���e��{�JL�v���#�^���n[��?;� -ZIV-���*w�˒1*+V�X�bŊ��X����g��w��qX}�J�R�Y�bŊ+V�X�beΠwfeΠ^�bŊ+V�X�b�ʜA��ʜA�bŊ+V�X�bŊ�9��ٜ��A�bŊ+V�X�bŊ�l��0��*0T�j`?���Ϊ�����;X���=zZr* \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_153_0.dat b/admin/phpqrcode/cache/mask_0/mask_153_0.dat deleted file mode 100644 index fc79e9e..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_153_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� Н���/礑h�&F��`�Ҽ@I;P�Z�^��X�͌�mf��.�=�5[if-���R+!wr�˜g\j̘1cƌ3f̘1cf��o.�2�?�1���z� `ƌ3f̘1cƌ�������zƌ3f̘1cƌ3f�ztf��3f̘1cƌ3f̘�k�k03��0cƌ3f̘1c����9;��Ď����`vf��̆�͚ZϘ���W9 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_157_0.dat b/admin/phpqrcode/cache/mask_0/mask_157_0.dat deleted file mode 100644 index ad749f3..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_157_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -� н���_��QR����Y �k�����*q͵���=j7�~�nN��.p%ڵ�s�i����.����رcǎ;v�ر{�.-W��2={���mg�y+رcǎ;v��ɳ2;yּcǎ;v�رc�N����ɳ�;v�رcǎ;v2�<�N��V�cǎ;v�ر�ge2v�yǎ;v�رc��]��;����v�"��ޝ]e�'��;[����{�|A� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_161_0.dat b/admin/phpqrcode/cache/mask_0/mask_161_0.dat deleted file mode 100644 index 4bdc5fdd3fd5b8d7ec11a534cb9a2cb1f58b87f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmb=p_4bY<SA&88>xI3`FaC~S7rJnYfY8T-%e~DHFIIc5zv^p@ZbtcP7qJ_1+9^La zKHT%7-Y-t#T<CwxN)w*gm2J9zE#G+QB)<PpJAL!L8$yysDJLc<9zM$>{NC)k=gd2o zjNY~Ld^ftnUmGj|mU3?60jkj`HqbYoV)>#S!~tpmi%zkeF<tVM%om6fsOTw~GpCK% zXExWpn0*MU4y<8jbLGs1XB_R}x>HURTr~Ks{-QatqS5&9ib(yR@{gMnQ+Lcye6Ty_ Q@^8h%UuzjeUK>3D05K(RC;$Ke diff --git a/admin/phpqrcode/cache/mask_0/mask_165_0.dat b/admin/phpqrcode/cache/mask_0/mask_165_0.dat deleted file mode 100644 index 3a17a05..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_165_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���; -�0�>�I�9+��Dy�I�4ˠ�5�:��W���v�d���q�ߜܴ<��d�2x%[���U�%����2�]&K�,Y�dɒ%ˡ,S��r2yd�=,�k�_�{X�dɒ%K�,Y�d)�0���m�,Y�dɒ%K�,Y�d)�0���m�,Y�dɒ%K�,Y��m��e,e�%K�,Y�dɒ%K�,e�q�� ���Ò%K�,Y�dɒ�e�:��<���!����YV�,��:B�d�|O�$*# \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_169_0.dat b/admin/phpqrcode/cache/mask_0/mask_169_0.dat deleted file mode 100644 index c4787d9..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_169_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0�>�I��9EQ�=��Ls��I���{�Zt��R���}����S��n:�|��R[�?��_*S�L�2eʔ)S�L��&Ϧ�I��O�2�O���2eʔ)S�L�2e*C1��P��P�S�L�2eʔ)S�L��P��2�2��)S�L�2eʔ)S�Le(�}�2��)S�L�2eʔ)S�Le(�}�2��)S�L�2eʔ)S��i�c7;�"�ޙFͦސٙv�L��^��2}oO��'r \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_173_0.dat b/admin/phpqrcode/cache/mask_0/mask_173_0.dat deleted file mode 100644 index 5ef85e7..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_173_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1�0�ޯ����T ���[4v��2��ƽok݇��;�Ӳ]f��֞�d���lj�lG���0n+�m�G�˖-[�lٲe�"����Y�}o�������V��[�lٲe˖-[�lٲe��հՃ�[�2�lٲe˖-[�lٲe��հՃ�[�2�lٲe˖-[�lٲe��հՃ�[�lٲe˖-[�lٲe�V��a���lٲe˖-[�lٲef[�B��mа��E���;�N��-ۜT�/r��l��?��*� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_177_0.dat b/admin/phpqrcode/cache/mask_0/mask_177_0.dat deleted file mode 100644 index 78a26a7..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_177_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0�>�I�9+?����߁��iևd�̹��xֈx�N��/�է|{�ظ�����8d�����0�h��=��cFf̘1cƌ3f̘q�q�=�w6�;l��4cƕ�<�nj3f̘1cƌ3f�X�һ1ֻ�cƌ3f̘1cƌ3f�X�b�w�nj3f̘1cƌ3f̘��M'�X�&��1cƌ3f̘1cƌ3ֻ��n��n�1cƌ3f̘1cƌÍ3U<� \7�+��(<Oƌ��Ί��nj����4@ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_21_0.dat b/admin/phpqrcode/cache/mask_0/mask_21_0.dat deleted file mode 100644 index 368c9941fd09f695d58934eb0de062a54fd74c02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmb=pWo*#E=&aDfq?gm=vB)I2o5jQUx&ZeRqn1^Uf@;3Hn^Ft5vfXH5Z;oPEP!;?T E0GJaIuK)l5 diff --git a/admin/phpqrcode/cache/mask_0/mask_25_0.dat b/admin/phpqrcode/cache/mask_0/mask_25_0.dat deleted file mode 100644 index e4a5b6d8afc4516779d7d246ebfcf7ced36029d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmV-90LK4#+A}bK0YfN+0xnz<NHTQOg9ga6#}EhPf~muh8iab_e#0IHU_IzzKxI8} Pw;AA)B1aDZ%G7q$kJ1<b diff --git a/admin/phpqrcode/cache/mask_0/mask_29_0.dat b/admin/phpqrcode/cache/mask_0/mask_29_0.dat deleted file mode 100644 index 74a216b4fe9874d40e30e41c6d93b0c4f946dc2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59 zcmV-B0L1@z+A}bK0YfAR1zh+fkz@x<FBU+Vy@q%o7fdZy=~2A|^}@p)cN~HBVv8dh R>V>=60G~7^dI6e8pX8D%7wG^1 diff --git a/admin/phpqrcode/cache/mask_0/mask_33_0.dat b/admin/phpqrcode/cache/mask_0/mask_33_0.dat deleted file mode 100644 index 2ec712a7adcd6edf1ce2c785adf00e3ca7c5b729..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62 zcmV-E0Kxxw+A}bK0Yfwh1zdy_AgLHMX5awSafcxR$OTi6Q^}|q!_EwNn!%sOz-Hh| UV{|eD?iT|>N~mE50E^|%1m89on*aa+ diff --git a/admin/phpqrcode/cache/mask_0/mask_37_0.dat b/admin/phpqrcode/cache/mask_0/mask_37_0.dat deleted file mode 100644 index 1588cfce1318608538dbde89fa7f04d05ff574e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65 zcmV-H0KWft+A}bK0YfYh3b=?-grsWFnuP~Y*IkB0KrWabyvjz+8Z~Q>n+4Agg!2&C XEPQ!r0L+5>(SR6b)HDkKY5W93c-0$f diff --git a/admin/phpqrcode/cache/mask_0/mask_41_0.dat b/admin/phpqrcode/cache/mask_0/mask_41_0.dat deleted file mode 100644 index e369027e3831ce2d9ac858eaa2cdfa5e5498df07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmV-K0K5Nq+A}bK0Ye-R3b=?>h@^7Jm`MQ8#+`;lLN1s-f=Wlt95r*)%t2))yeuHD a3;~--s0<lkGvR(WAXX_Y%me^L_&<Z6N*Wdb diff --git a/admin/phpqrcode/cache/mask_0/mask_45_0.dat b/admin/phpqrcode/cache/mask_0/mask_45_0.dat deleted file mode 100644 index 452f126c81f5ea42e5850e51c3059560860fc423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmV-w0G0oE+U=Av4geqs19x5n|NoqmMiea!8U|n@DHqZ-F!z!}Peo8Hruq|G&yZ~` zFKkD7*b=#WlGDYDy{YfI<i$?UMmZTX9W!Um+1Qnnq-^|<6+0ld*_WJnf2?A2PB!#} MBYwYNH#yOOhGMZWMF0Q* diff --git a/admin/phpqrcode/cache/mask_0/mask_49_0.dat b/admin/phpqrcode/cache/mask_0/mask_49_0.dat deleted file mode 100644 index fdd2aac..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_49_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���K� E�9���o�#?H/�6g$�-���,X] -��xݘ;��X�9��<�Ѻ��q��2�Af��H�7��/5We�{�#���fި��?�4�=N >�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_53_0.dat b/admin/phpqrcode/cache/mask_0/mask_53_0.dat deleted file mode 100644 index 572d279..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_53_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���K -@!й���o�Q�Ϻ:(m&���s-����6��Z{��m4Y��X���.F�٭���XZi���j=:έb忑VH8�#�[������Y���^X��e \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_57_0.dat b/admin/phpqrcode/cache/mask_0/mask_57_0.dat deleted file mode 100644 index ea81e6d..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_57_0.dat +++ /dev/null @@ -1,4 +0,0 @@ -x���A -� �{^���s=YL՚ ( -o�u���j)�� -Z7y�����v,Դ�wVQ �i���GiҤ��Df�ە��wo4�Ѥ���o�L���Lȼ���������}�4� h� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_61_0.dat b/admin/phpqrcode/cache/mask_0/mask_61_0.dat deleted file mode 100644 index 93d2444d8249bf3c534223bc1bb339d54f7af957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmV--0Eqv1+U?dk3IHJt1<*dHN$!6+E5(hNrI=BE>;m7%=n!PCCC1eixx=ze|IFU^ z&9=7bWCto@OXj<~I62OGT~zl9#bLvS4O_9jbFKC1I6Jle?Kb{3*sx(Qw*P@W*om-i Z8|GT{jXc==mTf+B&fNDGb^()u!gb2GK<xkk diff --git a/admin/phpqrcode/cache/mask_0/mask_65_0.dat b/admin/phpqrcode/cache/mask_0/mask_65_0.dat deleted file mode 100644 index df29d7bfb3af5a237dc6082816cde70b156f3e43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmV->0EGW|+U?gt4!|G?1i(A5f&YK5CmXS?mE~YV7mp;Hi4u*ftt_y*5-7lK6FzHr z>I4k)=)nLMYOw4+bP*CfgX@x(2S?CA0}V9%z<}J<XGa!Zg?Xovfip=14K$QBV4oys dNCvzamhS4zAIBNAvLSF5nw^K8h6BNrA|!AkHaP$Q diff --git a/admin/phpqrcode/cache/mask_0/mask_69_0.dat b/admin/phpqrcode/cache/mask_0/mask_69_0.dat deleted file mode 100644 index 8a2cfbd..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_69_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���K� �=���_�+�m��B���d|Q"s+1���"�),�=�E��a T�"��Ő�n�E-3,��KY�w�=Z�Z�T�.,��K1��#<XBt��<��a��b�#�x/;X.��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_73_0.dat b/admin/phpqrcode/cache/mask_0/mask_73_0.dat deleted file mode 100644 index 3de4606..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_73_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� �����/��FSM(���7��/JTme�ӕ��l�����s�|��)YY�U�S%�7{i��(L�0mo�짻'���w��DŽ {�=Όc��)�2���֦�~���Lz�)�vZ5O2]=��? \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_77_0.dat b/admin/phpqrcode/cache/mask_0/mask_77_0.dat deleted file mode 100644 index 2717fd8..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_77_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A� D�}O���r�0����B�/;b�Hp/��*K�E7�G���/_l}�x��MP -[(筊��Zޛ�lI6lض�eϷ��O������^�� 6�,�,�6l�&l���&��^�Wc�}m�5u���E�;�e \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_81_0.dat b/admin/phpqrcode/cache/mask_0/mask_81_0.dat deleted file mode 100644 index 2d9a052..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_81_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1� �ὧi�9'�Bߠ���E�Mpo# -�& �a���6��)c�~��b �1�߱���ߧ�|Y$F�1N�q_��.����31bĈ�~M���`Ĉco{B�807����dt���v���f����� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_85_0.dat b/admin/phpqrcode/cache/mask_0/mask_85_0.dat deleted file mode 100644 index eb8197b..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_85_0.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� ��=�I��NE�Z_����m E�Vqy�2Yh,S�[����g��UXJkd��.��~>֞!�Ŋ+V�嬪�����.���2�X�bŊ����+V�X����.�kB��z���w��ձ�̀g�k��YZ� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_89_0.dat b/admin/phpqrcode/cache/mask_0/mask_89_0.dat deleted file mode 100644 index aaa4c52..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_89_0.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� �ὧi�9'�������Hl?L��^"�&M��?b�q��?˸��,�9���!��z�]V��Scƌ3�_����c��!�`n��3f̘1c�̌�� 3f̘1/f�>.U��c�˻;� �2;�Y����+�7�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_93_0.dat b/admin/phpqrcode/cache/mask_0/mask_93_0.dat deleted file mode 100644 index e218fa0..0000000 --- a/admin/phpqrcode/cache/mask_0/mask_93_0.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���K -� E�yV����,�O�mޠr�PH�0�{��������2�b�����c{t�Q�] -{Q�{��{弬֒�ǎ;v��_ڳ��}�����L�}l�߱cǎ;v�̑̑̑رcǎ������.L���egw�3���qe��Ѿ@�i \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_0/mask_97_0.dat b/admin/phpqrcode/cache/mask_0/mask_97_0.dat deleted file mode 100644 index 74ac719d06e7ba35f7b749e668c884f291daefb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmb=p_4cMC*8v3{my5N2lkfa5ijADYwQUyT?SDJYDA|}8ET~@TVG}wt#i2yK=7z!b z>XaF;OL-RsNjlZ?U*+(wbH1LOIxmNXjYq;D;XuQ~?`*DdR@K|)ymqtY`Of=>87kg* z$16{D`=-laMU02Hv7J?~OBUdlkQVwh=~Mq+LyI<1=UdT5U+wnXEMO=-^wS0a*1<we diff --git a/admin/phpqrcode/cache/mask_1/mask_101_1.dat b/admin/phpqrcode/cache/mask_1/mask_101_1.dat deleted file mode 100644 index ec939b5..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_101_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� н����\Q��E���d 1���N�<�#��Ֆ��-7u��.��l�ԦeiXXXXXRZV��VeIo1�,,,,,v%�?��gaaaa��Y�K&K=/���+ۍ�˱����ގ� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_105_1.dat b/admin/phpqrcode/cache/mask_1/mask_105_1.dat deleted file mode 100644 index e1f5c99..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_105_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_Υ�b�� K�B�?"�*#W�ʘt������gӎ�J��qUM9���������T���LLv��Ǥ��LLLLLLz��gG01111��y�i��ߘ�4m�=՛n��+2 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_109_1.dat b/admin/phpqrcode/cache/mask_1/mask_109_1.dat deleted file mode 100644 index 7e0d6d1..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_109_1.dat +++ /dev/null @@ -1 +0,0 @@ -x��ֱ � �>Ә��K�����}���:!���iY��'*3�]f�s������m��b[�J������ƶŖ�K�9�}cccccc�'u.6�������Ʀs���6666�R[�^g�{/l��ٷ��7͂ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_113_1.dat b/admin/phpqrcode/cache/mask_1/mask_113_1.dat deleted file mode 100644 index 1dd666d..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_113_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ������ -8fL(pB�lDM��9";��-����;?1�p��{�\���%-�������3:@�ad4����������*�N��adddddd���#######�#c]75��������1�xYu� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_117_1.dat b/admin/phpqrcode/cache/mask_1/mask_117_1.dat deleted file mode 100644 index 8921f64..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_117_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��ֻ � �>Ә��K���$�^�8Y�QSV'z�8��jz��ʇ��^]�ס����ekXYYYYYYYjݵ#� -+�yeeeeeeee�#���WVVVVVVVV;"+�yeeeeeee�l�'�e;b��&�^9�{�/�J$p \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_121_1.dat b/admin/phpqrcode/cache/mask_1/mask_121_1.dat deleted file mode 100644 index 64bd8ba..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_121_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� н����\���C�PbїE��<D�Gd���QG̪�3�����k?3�s�9_�z�9i���������|3W���3�����������,W��r�7���������Y�`���a���������sd^���g�ۚ����4�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_125_1.dat b/admin/phpqrcode/cache/mask_1/mask_125_1.dat deleted file mode 100644 index d5881dd..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_125_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� н����\��:���҂�>$�DdƩ���Y����t�څ�λ������0�$���������������ή���������������ꝝ��������g�a7�y��������ٯ�痽Y??���{�{���D�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_129_1.dat b/admin/phpqrcode/cache/mask_1/mask_129_1.dat deleted file mode 100644 index 62cd1c9a18c2367d1c2c4a125b0c7bfb7647cd07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmb=p_4c+Q*8v3{)(d-=d%mmRskg|fP}}X+^rc5NZJtc#aociguIS=*E7o0PY;Hez z>gn9i&b%cXe#-fTKV)dW7BEeenT<!nAfaG^<I$Q6=Oqm$up3Qegoq`?8)zGE&_Ce< zR&k)AvG(AaGY9r52um6y9B2S4`o_B1i1~MuPYRgFW0!YfA5WNmV7-z0H+wc7E#XGT KXS|vf!3zOp%R+$w diff --git a/admin/phpqrcode/cache/mask_1/mask_133_1.dat b/admin/phpqrcode/cache/mask_1/mask_133_1.dat deleted file mode 100644 index 18d68dc..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_133_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_΅���h���h���|"z�ۉ�-*dN��������H���QĢ�RÂ,X�`�c���9�Y�(na_�`��,X�,X�,X�`���#:8���,X�`�B�d�¾`��,X|ϢY\X��;�7-��;�` \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_137_1.dat b/admin/phpqrcode/cache/mask_1/mask_137_1.dat deleted file mode 100644 index 284d7be..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_137_1.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���1 -�0��Ӥ���Kh]D���,-t ��#�ڌ�Q[T�� �K�s�7_����?9|�B&�X�^L�0a��&3����M�&L�0a &2���D4c�0a &L�Ȁ�Ќe &L�0ab��w�Ȁf,&L�0a�7&y2�a��n�oL�<01O -���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_141_1.dat b/admin/phpqrcode/cache/mask_1/mask_141_1.dat deleted file mode 100644 index 83220dd..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_141_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� �>�9���4�6)�3�$`s��uʮ�>Wd�� �)�g��'��M�{3\�d6u��bذaÆ 6lؼn��]�Nذ9�FްaÆ 6lذa�3�a#oذaÆ 6lذ�ذ�5e16lذaÆ ]S�b�k�6lذaÆ �m�ͤ��;C�c�f���Ids�G�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_145_1.dat b/admin/phpqrcode/cache/mask_1/mask_145_1.dat deleted file mode 100644 index 6a9950f..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_145_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���!�0@�k�����4a)�q�2i.YCUO{35�UZ�F�n]�fN>bd��wtzJ�F}�F�1bĈ#F���(��F�6r�1bĈ#F�1�E1�i�lF�1bĈ#F�tF��#F�1bĈ#F�tZ}�#��#F�1bĈ�l��e��H��G���ܣ@�ٝ�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_149_1.dat b/admin/phpqrcode/cache/mask_1/mask_149_1.dat deleted file mode 100644 index 02a3cdc..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_149_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_΅��q�H�_X��c��i�#Gd̘�Ք՛��g��LU�^ݮVR�>dKV�X�bŊ+V�Xe�o��X���J_�bŊ+V�X�b��;�ݙ+}Ŋ+V�X�bŊ+V�AV���ngŊ+V�X�bŊ�}�+���+V�X�bŊ�V��j��>�hewf����*`uTq� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_153_1.dat b/admin/phpqrcode/cache/mask_1/mask_153_1.dat deleted file mode 100644 index 2abfca2..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_153_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0���\��9��bt��E�c'���HH���9�efߞmff�M�������#.̘1cƌ3f̘1cf��7�3f̘�g̘1cƌ3f̘1c�o2c�]�?�3f̘1cƌ3f�5�Mf��3f̘1cƌ3f̘1�7utf��3f̘1cƌ3f̘=���l����j��3���>�����V� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_157_1.dat b/admin/phpqrcode/cache/mask_1/mask_157_1.dat deleted file mode 100644 index 17344b8..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_157_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� �>�9���4S��d/�5��1��V�)Sk�J����v��7���������eG�cǎ;v�رc��]Z���ٱc'�رcǎ;v�ر�+ر�g�;v�رcǎ;}V�`�N��+رcǎ;v���:;v�;v�رcǎ;��;}Vޱcǎ;v�ص��'��vz�#;��]���klw�oA` \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_161_1.dat b/admin/phpqrcode/cache/mask_1/mask_161_1.dat deleted file mode 100644 index 669ade1..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_161_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1�0�����_΅X���šyi~���Q�b��kv�p���7'M u��=�]����([2dȐ��+��\'2��2dȐ!C�2�s0/3d(�)2dȐ!C�24�1dh� 2dȐ!C�2dh�cȐ�<dȐ!C�2dȐ���y�!Cy�MaȐ!C�2d��0����^��4��[��E2� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_165_1.dat b/admin/phpqrcode/cache/mask_1/mask_165_1.dat deleted file mode 100644 index abb48f0..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_165_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_ΥLK^��#�F��YWt��%ˍ�����4�����r��M,��Q�X�dɒ%K�,Y��������d�Ҽdɒ%K�,Y�dɒ%K�%K� �%K�,Y�dɒ%K�v2$K�v��,Y�dɒ%K�,Yʐ�8K�楷�%K�,Y�dɒ%K�2$K�,�K�,Y�dɒ%K�,�Z��VK�<β��yy�� ��)� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_169_1.dat b/admin/phpqrcode/cache/mask_1/mask_169_1.dat deleted file mode 100644 index ba21b71..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_169_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� н���_���M,����B^��5*V���K�N�n2�����N�NO��i6>�S�L�2eʔ)S�L�2��M� S�L�S�L�2eʔ)S�L�2�M�}�L�SS�L�2eʔ)S�LeSy�)S��Ŕ)S�L�2eʔ)S;ٔ)S;�)S�L�2eʔ)S�v(�)S�v(�)S�L�2eʔ)S��L�d��T6}a*�3mlj�mzC' \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_173_1.dat b/admin/phpqrcode/cache/mask_1/mask_173_1.dat deleted file mode 100644 index 436918c..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_173_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_Υ''�@y]X��1?"g�:1犝fn˶��˻����m������m.?��lٲe˖-�F����>glٲ���2�lٲe˖-[�lٲe�O`˖��e˖-[�lٲe˖-[�l� lٲ��lٲe˖-[�lٲe�V�O`˖��e˖-[�lٲe˖-[�z0}[�z0y˖-[�lٲe˖-[�E��e[h�O��VWö���=��t�*| \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_177_1.dat b/admin/phpqrcode/cache/mask_1/mask_177_1.dat deleted file mode 100644 index 12e2e52..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_177_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� �������E���p0�X���,a#r��}��6}nj��������~���\�8��ƌ3f̘1cƌ�7���{�3f,��y�3f̘1cƌ3f�X_��`�X�&�3f̘1cƌ3f̘��M_��1cy̘1cƌ3f̘1cƌ�+3f,��y�3f̘1cƌ3f�X_�b�X�&�3f̘1cƌ3f�x��2�d����X'�x[cy|�� ��3� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_21_1.dat b/admin/phpqrcode/cache/mask_1/mask_21_1.dat deleted file mode 100644 index f87e0a11227bb4e1e6f46a1dbb133ca9b1cc8109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42 ycmb=pWo*#E<gC!JaVO6P#ukmWS0*WWwd`z5NJ!{lTCqUvC~vc;F2h`|;D-QjC=lKN diff --git a/admin/phpqrcode/cache/mask_1/mask_25_1.dat b/admin/phpqrcode/cache/mask_1/mask_25_1.dat deleted file mode 100644 index 3a225e30f03ec0c36f772070fa0ef04cbcdb9f2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 zcmb=pWo*#E<gC%~aVJj!V++sTFB6oVn`{GG+awYMUN!#iZ82CdT`uWQb1*-{A-l3m E0O@EHssI20 diff --git a/admin/phpqrcode/cache/mask_1/mask_29_1.dat b/admin/phpqrcode/cache/mask_1/mask_29_1.dat deleted file mode 100644 index 0a1cb3b5dfbc333104ca1a161639855bf781b54b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50 zcmV-20L}k++A}bK0z)JK6XP<#2N1FYrI!*}GVFyaHpB`>^%B$z4|g)+XrS~G>tDQj I0gJJp;@7?u-2eap diff --git a/admin/phpqrcode/cache/mask_1/mask_33_1.dat b/admin/phpqrcode/cache/mask_1/mask_33_1.dat deleted file mode 100644 index 318949df07745528a680a428ac74ea85f016c2aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 zcmb=pWo*#E<ZQwq{M<-^ML>(KTk=YPW25x~DW1ZnK;yQ#k{?W*9i^mo(k2MWv7BXK JDEWV$2>`Yr5WxTd diff --git a/admin/phpqrcode/cache/mask_1/mask_37_1.dat b/admin/phpqrcode/cache/mask_1/mask_37_1.dat deleted file mode 100644 index 5bd9e3aa0d08230508938e61404749c9ae72e32d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56 zcmb=pWo*#E<gCM>c0ARA$6<xknzX=RQPDfBS5rE~duEwtT~jdUo+rOzLOa{)$R%y! MfoY5k9%3wx059wk{{R30 diff --git a/admin/phpqrcode/cache/mask_1/mask_41_1.dat b/admin/phpqrcode/cache/mask_1/mask_41_1.dat deleted file mode 100644 index 52e9e58f49a0c9c8cc8050bd20d5425abbd6eac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58 zcmb=pWo*#E<SfIWc0ScX$6<wxR@x;eRnfbgS2H{WdS+Q>JzFue`IJvZq{C68loc~P O{VIfV)fhyX>>B}kGZlIO diff --git a/admin/phpqrcode/cache/mask_1/mask_45_1.dat b/admin/phpqrcode/cache/mask_1/mask_45_1.dat deleted file mode 100644 index b35c567dca6aa84fbd8758e1fba4ba2feb397de2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmV-Y0ImOc+A}bK0z+KD00FoRNC61dbTS*2PX)7SsT!xdk(^GV*-*`fM1fJW2ff*Z o(g~bDg3KOGC-gI$Q0Yx=v#FI%h$&--irG{SZ{o}b0N2uhd5F*?p8x;= diff --git a/admin/phpqrcode/cache/mask_1/mask_49_1.dat b/admin/phpqrcode/cache/mask_1/mask_49_1.dat deleted file mode 100644 index d20d71710eecee1842e3fc1535a09df5a9bc8761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmV-a0IUCa+A}bK0z-Vj00FoRNCgNTbhiUtgi3bMLkC`eAbEuhJD>&_5)DS}7`1~) qJBUfUaFG#i$7s45S#}Up3)038>ZV;{>!_h=2TkIGcsl^2!^he0dm&5! diff --git a/admin/phpqrcode/cache/mask_1/mask_53_1.dat b/admin/phpqrcode/cache/mask_1/mask_53_1.dat deleted file mode 100644 index a676d7dfa2092a94b7a81322980eb4def98fba74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmV-d0I2_X+A}bK0z*Q;00FoR$N>ml185hf7!~cJr!Ip2Lh>4!c0mm>Bngb#HEP!o tw~N^P1s5B&Ycw5>+BN9xBDS?bOS@>1zes5V3<tYt7+<8>1pqmJ6<E+>B4Gdk diff --git a/admin/phpqrcode/cache/mask_1/mask_57_1.dat b/admin/phpqrcode/cache/mask_1/mask_57_1.dat deleted file mode 100644 index 896ed43575bbcdf0ad49fbfabe490f0645a69df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmV-i0HgnS+A}bK0z+be0RnItkP8qx2Zf#3M5%1&K<FgOpGaP%z)q+^h9rYgJ4fvt ywUaJ(l2RtXMMv!%O+%x0j@n5jJ4tEv(cVtll?kM_!G@omG>=cx?F0b9ifGvGnJH}m diff --git a/admin/phpqrcode/cache/mask_1/mask_61_1.dat b/admin/phpqrcode/cache/mask_1/mask_61_1.dat deleted file mode 100644 index 4165a4b..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_61_1.dat +++ /dev/null @@ -1 +0,0 @@ -x�30�Cb�pP�����i`�@�&��H^��n�a�d�Q�G��{�n<v�Z���G�Mk�v��=j7��⠳���9m��n7��<����h \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_65_1.dat b/admin/phpqrcode/cache/mask_1/mask_65_1.dat deleted file mode 100644 index db8db88a83075fd497defc7d8495161f7095dad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmV-p0G$7L+U?gd3IHGoh2g!^*!?fp64lb+t3>F3s~{gDf@VF{6Pqb^n%N<(VOM!% z$k4$xhh-EO4838Mg8>5u3?CSjTRkcmt{T`$3>YwEH7H+JtRd!Bt3S?PhR}V`4GpQu FA{XR~DnI}L diff --git a/admin/phpqrcode/cache/mask_1/mask_69_1.dat b/admin/phpqrcode/cache/mask_1/mask_69_1.dat deleted file mode 100644 index 03bba657f6d0df2a65ab63bc13715660ffc4ba1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmV-s0Ga=I+U?gd3IHGoh2g!^*!?fpBGuB6Ru=tl734z%QACqxBP~f*q;+|~GOlg3 z+|*@yF5PGrS+r?(1q&7|Sg<^6vEHLv!?NAN?qb1$1<N^$^_z~coV-V#ANFTUz`pn_ I1-ZzF#|$7dp#T5? diff --git a/admin/phpqrcode/cache/mask_1/mask_73_1.dat b/admin/phpqrcode/cache/mask_1/mask_73_1.dat deleted file mode 100644 index a729fdf0469cfd98e21fd9398e06fffc66e76364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmV-u0GI!G+U?je3IHGoh2g!^*!?fpBGp)0r1ZbhK|Vx;646vkWTeQcj7|wmYqiU! zh@DJxnnrcdq>ZaPm@r{VZ}QxyUc>an#ExUago&HU9mj+T)Arjuh3Vye^8R7`ZVIqZ Kep3TS=JO^`WH?p; diff --git a/admin/phpqrcode/cache/mask_1/mask_77_1.dat b/admin/phpqrcode/cache/mask_1/mask_77_1.dat deleted file mode 100644 index 0fe0b03e868a00c5cc8f97a40528a7873b189a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmV-!0FnQA+U?je4ge4gh2h<4>i(Cr2nH6ODE>E!G+%@^VU`nTV>Q8)snssB^}WNL zdu^VpO`ltHbYfdB9wots4cnKt)&5pivAMDF7O-K%#>`?aFte~>!}hvu_4n<B%|q{1 Q{BdD(dEYd)1oHJ|1^J{p5&!@I diff --git a/admin/phpqrcode/cache/mask_1/mask_81_1.dat b/admin/phpqrcode/cache/mask_1/mask_81_1.dat deleted file mode 100644 index eacbdb1a2cc576180854b5de58eeae033e39300a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmV-&0FD26+U?je4ge4gh2h<4>i(Cr2nG^~hc@}&Xs9m@nlP)$C$XMn>hy{MjVt$j z{gE+3#iKqBt-N5Y8)R89V#J7X)2MhK+d4+qM(zwoj2JO8ubJ1(Ym68%VvJ~1{NnyH UdYUt;KT?e16B)r+06TKr<%ttFF8}}l diff --git a/admin/phpqrcode/cache/mask_1/mask_85_1.dat b/admin/phpqrcode/cache/mask_1/mask_85_1.dat deleted file mode 100644 index b8a20c7..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_85_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� н����\�]��4���AA h���M�\Q��js��Ak�U���jm�un2R������Κ5��:k;�������jƲ�[����eo����[�o��[��k����Z� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_89_1.dat b/admin/phpqrcode/cache/mask_1/mask_89_1.dat deleted file mode 100644 index e9d226f..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_89_1.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� ��Ӕ�_΅�N�h}%��@ iDO�H��*c�"���<��g���)�<m�Bs������������w�ja.av��������7��Affff極�2淾��5 �uح�9�|��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_93_1.dat b/admin/phpqrcode/cache/mask_1/mask_93_1.dat deleted file mode 100644 index f37836c..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_93_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���; -� �>���_.��4I���y킎��`)-5*��(��of[�sm�}���������6YM ;;;;;�G{��z�ط����������z1vw������}�=�wu���L�%�?�"�=�~e�i \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_1/mask_97_1.dat b/admin/phpqrcode/cache/mask_1/mask_97_1.dat deleted file mode 100644 index 24fa60f..0000000 --- a/admin/phpqrcode/cache/mask_1/mask_97_1.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н�1��\��tncK����<D��i3#Gdgt(lxV��P���9�F�7lia``````�ސq/]5��v�����������ne``````x��-mX�^���3�5,�y�-��# \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_101_2.dat b/admin/phpqrcode/cache/mask_2/mask_101_2.dat deleted file mode 100644 index e39fd2c..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_101_2.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���1 -� н������C�� �Ux!��?1�e�����)���s��*�KۮLf�B�P(��J֮�ܨx/ -�B�a(2�B�P(2E��P(ʲR�S�(%qWR�S����iY� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_105_2.dat b/admin/phpqrcode/cache/mask_2/mask_105_2.dat deleted file mode 100644 index 7b63e31..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_105_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���!� @����\M��i�p4s��� 6��ꙑYs�"�7���&)=�;� �܌�"�H$ҏ���;�|I�H$�D��t#}O�H$�D��H���H$������IZ�#HgK��J�t�$� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_109_2.dat b/admin/phpqrcode/cache/mask_2/mask_109_2.dat deleted file mode 100644 index 252f6d8..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_109_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н�1��\�@�Nֈ<q��#��#v�����-e~_�����[�����h4�6JK��Fj��F��h4��E�'i4�F�ɓ4y�F��h��Z�EcS-;��&j�������� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_113_2.dat b/admin/phpqrcode/cache/mask_2/mask_113_2.dat deleted file mode 100644 index 26b5d7e..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_113_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���1�0�����_�š��Ъ�0�ځ�D\5*{�#��b�H'o+vU��R1�P�D"�H$����>�D"�H$��D��H$�D"Q&�Wer�H$�D"���*x[�(�?/����'��nd \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_117_2.dat b/admin/phpqrcode/cache/mask_2/mask_117_2.dat deleted file mode 100644 index b4dcce4..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_117_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� �>�9���4!m dO�s\�0X,la�5#��E���>Z[�ַ�����R�T*�J�R?Q-���*�T*�J�R��?U��W*�J�R�Tݟ���+�J�R�Ԥ���~m5��;���S�&+ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_121_2.dat b/admin/phpqrcode/cache/mask_2/mask_121_2.dat deleted file mode 100644 index a2a0097b1fd803424ccf0a741277066f44b04dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmb=p_4c+Q7lR@X%YlD!!vFtUN<Z{+^yn~Bocka_@PwG#8Y$Jk*TtWh6}@?9Vf{)e zJpAiyclJu{6w{eLYLic<d}1xSB<H3!JKYGv-xQ;oJmIMplxK8vng6uaCsH6>&Z3X+ Wr*l6!Q#;$o?ELu?!b)#0qyqpqZ94e? diff --git a/admin/phpqrcode/cache/mask_2/mask_125_2.dat b/admin/phpqrcode/cache/mask_2/mask_125_2.dat deleted file mode 100644 index 0ea40fd..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_125_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���!� P�Ӕ�_�@ U(�kp@^M��ڮ5��������-��:��VF_��\t:�N���t����y�N�qt:�N���t�G���;�N���t:�.���8:�N���tzA}�����y�N�q��;+n�& \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_129_2.dat b/admin/phpqrcode/cache/mask_2/mask_129_2.dat deleted file mode 100644 index bf04839..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_129_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н���_�K�Vڡ��'.���!���w]A0X����~����� �!��������࣠fK# x�Fy���4�vey��������@^�+���~�� �� L#��veI� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_133_2.dat b/admin/phpqrcode/cache/mask_2/mask_133_2.dat deleted file mode 100644 index 9e78b6d..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_133_2.dat +++ /dev/null @@ -1,10 +0,0 @@ -x���1 -� н�������&�`��L������Q-�g=Aq�b����ʪ<�v�b�+�)((((((((�I�n*�<b��G(((((((((� -y�{AAAAAAAA!���)� - - - - - - -����'�e�������M���fv{ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_137_2.dat b/admin/phpqrcode/cache/mask_2/mask_137_2.dat deleted file mode 100644 index 95c3c48..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_137_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� н����\�N�I,/d+ʣ`�/F|5*z�'H.�,x�O[K�K���������MBBBBBB�T�|?!!9�8�$$$$$$$$$$2 �h�����������Ȁ$2�yBBBBBBBBBB"e�Ȁ� ɟ$��I�%ɿۓ��H�b��_x��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_141_2.dat b/admin/phpqrcode/cache/mask_2/mask_141_2.dat deleted file mode 100644 index da07da2..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_141_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���= -� н������t*-�?���M���[�hU��]W��B��;���d�wS�j>��l� ��f�Ƅ����������Ț44�& ��)O�Ț�Y�F�4�444444444c4~�9S�:3�Ќטp�Ǯ>� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_145_2.dat b/admin/phpqrcode/cache/mask_2/mask_145_2.dat deleted file mode 100644 index 9ff2bbf..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_145_2.dat +++ /dev/null @@ -1,4 +0,0 @@ -x���1 -� н����r] -�,t�Q^�&�C������~� -щ��j~mɾ�.��Fg���MDDDDDDDDDDD�ST���D�����������H����dZ��L+�ɴDDDDDDDDDDD2-��'"""""""":B��ת�E�Y���Dd������� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_149_2.dat b/admin/phpqrcode/cache/mask_2/mask_149_2.dat deleted file mode 100644 index d52e048..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_149_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���;�@�����/gcaG�BXB�'�-�����ouէUQ�d�RVOm��T��*ǫ�;;����������j��廝��Ee2PQQQQQQQQQQQ����TTTTTTTTTTTTr�3����������������3�R��&��Ts�����k��z_e2P=���d� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_153_2.dat b/admin/phpqrcode/cache/mask_2/mask_153_2.dat deleted file mode 100644 index 3b06041..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_153_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0��Ӥ����8ZP!��B�����Zu��賶"���bu�������*�����)]MFFFFFFFFFFFF���%= #���ddddddddddddr ot2��yFFFFFFFFFFFF&� #�k��������������5��L 2222222222�(Y����7��"d����@H� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_157_2.dat b/admin/phpqrcode/cache/mask_2/mask_157_2.dat deleted file mode 100644 index 2baf535..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_157_2.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���1 -�0�>����s6�M���qUH1�X�&U�̘�f�/u-���'���.��[�KGGGGGGGGGG�H�|NG��(tttttttttt��NF���;::::::::::}��N�������������z��$ -�>�������������n��A�#��^AG���(t�� =3{ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_161_2.dat b/admin/phpqrcode/cache/mask_2/mask_161_2.dat deleted file mode 100644 index d2df7594eafccef2dacee35dfd7b2fa20d22e1dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmb=p_4bY;UxNV;Yry%;UBBb`j2ojEHvT!3{p!RC?nRON7i3-Yc;zkY`Xf0}_x!$! zFE2cT6SG?D4qx=zQRnO+ECdE-0&RD4IXDluF5^{1fQ4roCj>lm@IU~K;tl%3r)17J zJ0ZZ#=G-X(&k}A4K#T&Dr(`%dQ~6pDpuA;fz2pBjgY@glDn4Sf%vz*>v-~PkmIDA9 Cq)A-> diff --git a/admin/phpqrcode/cache/mask_2/mask_165_2.dat b/admin/phpqrcode/cache/mask_2/mask_165_2.dat deleted file mode 100644 index 2e6cd7c..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_165_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0��Ӥ������?�B�V���UG����%���������*�+�_�f��s MIIIIIIIII��2d;��l�4�()))))))))))e�qJنIDIIIIIIIIIII)۠��mPRRRRRRRRRRR�6l���� JJJJJJJJJJJJن}�R�aQRRRRRRRRRRNe�K?R퐔�͔&�W�3U \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_169_2.dat b/admin/phpqrcode/cache/mask_2/mask_169_2.dat deleted file mode 100644 index 4052062b8db42699eecf910b9792afd64d0db84b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmb=p_4ckI*8v3{)(d-=cYfa=BffC9bK#GR;+rC$JQO$)A7z^D@-5td;v_x$KZRRf zZ@YKti&y>Si-EiLS+DR!2HU-y%YuV0IWJizqKN=2d5((tdS!V{oP+?U0&*@cSz;s- xgbbohG*|MpPC)`8ZBAZV&W8R7OY$eT{eSz+A@fq6m)EU$prLMGxEX}SGyvz^RrCM= diff --git a/admin/phpqrcode/cache/mask_2/mask_173_2.dat b/admin/phpqrcode/cache/mask_2/mask_173_2.dat deleted file mode 100644 index 0a30ba5..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_173_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���+�@P�i�����f�t�:>y &dU߬���S��[�������]5Z;a��5V۞�����������A���[Z�˴��������������V���ՃI0ZZZZZZZZZZZZZZ=-�L�����������������hi�`��������������VFK������������������?�ݧ��hio�J0��}��o \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_177_2.dat b/admin/phpqrcode/cache/mask_2/mask_177_2.dat deleted file mode 100644 index d2c52f9..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_177_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� E�>�Y��4�V$�~�,C���&U���;Oo�k5b��ϙ���G�x9��%&&&&&&&&&&&n$���OL|��v#&&&&&&&&&&&&&��bbݍ��������������Xw#&��l7bbbbbbbbbbbbbb�M"��l7bbbbbbbbbbbbbb�Ma!&�݈������������3�)U<WܱW�/�݈#�n � \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_21_2.dat b/admin/phpqrcode/cache/mask_2/mask_21_2.dat deleted file mode 100644 index 7466be4bb0d101b2fa9f7dc158bfee6f90b9ade9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 rcmb=pWo*#E<ZRHypx4|e=*p%tli|69lA>0}qMK$nTp4?}1s?<e&D#u; diff --git a/admin/phpqrcode/cache/mask_2/mask_25_2.dat b/admin/phpqrcode/cache/mask_2/mask_25_2.dat deleted file mode 100644 index 0bc44c034ecf1b47b233c27f265b2c063e527fc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41 xcmb=pWo*#E<Sfy|q}O~<xtZ^T5$`!;7iVW5wo}L61@Af`amk5|Vd90dB>+4l5MclS diff --git a/admin/phpqrcode/cache/mask_2/mask_29_2.dat b/admin/phpqrcode/cache/mask_2/mask_29_2.dat deleted file mode 100644 index 5112d11eff0ce0631ba1000e8823e0592ee3230e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45 zcmb=pWo*#E<gCKN9K+TeEhfF-M2f|A0dA?OOGCuOKK)2){I{vV{IZW21Eb>nW&mR* B5Pkpv diff --git a/admin/phpqrcode/cache/mask_2/mask_33_2.dat b/admin/phpqrcode/cache/mask_2/mask_33_2.dat deleted file mode 100644 index 5bac0c80d2fd997d753427178c6294dd3dd9184a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47 zcmb=pWo*#E<jlju7{li5&#LDj8vQ`VStcXoC`SmRzllZgg@nMy58SaK3=E}N=gI** CBo2H4 diff --git a/admin/phpqrcode/cache/mask_2/mask_37_2.dat b/admin/phpqrcode/cache/mask_2/mask_37_2.dat deleted file mode 100644 index bdfc0bd43411fef5115da9c0820cd8900b6ca05a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47 zcmb=pWo*#E<ebC7wS%XvU8|;HmD!=nwu%cYRt1J0b`cGkQ}9k=$|@dqFHwe-TFkQn D#orQi diff --git a/admin/phpqrcode/cache/mask_2/mask_41_2.dat b/admin/phpqrcode/cache/mask_2/mask_41_2.dat deleted file mode 100644 index c55c63e..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_41_2.dat +++ /dev/null @@ -1 +0,0 @@ -x�30�C���JB�&�ù�Ш�Q��*��JXi@l�0�U��>�*F�>� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_45_2.dat b/admin/phpqrcode/cache/mask_2/mask_45_2.dat deleted file mode 100644 index ad44ff1885f2c4e0d2158824e4d2b5537e0e8eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmV-K0K5Nq+A}bK0z=#g4!8^kw`w#Iid7Q>h%(!dOx19XArWX)^>9~>HN_4))uS;# aNK_M3B2!g0&U7-YR1co;#)SYYI)8L$SQ+gA diff --git a/admin/phpqrcode/cache/mask_2/mask_49_2.dat b/admin/phpqrcode/cache/mask_2/mask_49_2.dat deleted file mode 100644 index 6e8edff24b9344b19623318f9e10802439cf2b40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmV-M0J;Bo+A}bK0z<qA0k{l?lnw)0=pYslYlk5vI&jJ3M58)Jb<kA@PLW}+V>FeF c>OklqvR0#s4%}&Xxa%04@qrTo0MEO|#KK}86#xJL diff --git a/admin/phpqrcode/cache/mask_2/mask_53_2.dat b/admin/phpqrcode/cache/mask_2/mask_53_2.dat deleted file mode 100644 index 682cae2aa6532baf02d2aa3e0c1dd2ab5227a34e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73 zcmV-P0Ji^l+A}bK0z*Ow32+$<SzVZdRMbTZAi*v}igm%ch9sa-U8A~2brH^ABT(09 f+8EU}_;nHAa-f|q{P}C7=^Fg;g%<$;W7redI#nQH diff --git a/admin/phpqrcode/cache/mask_2/mask_57_2.dat b/admin/phpqrcode/cache/mask_2/mask_57_2.dat deleted file mode 100644 index 66a5c056b5175084f867019043714bf10751b37c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmV-S0JHyi+A}bK0z={u9B>&77oAwesj8DyK(d{NRL}|M7?Oxab&l#B)j2eE;wiyK ib&jT?QJteYsi%|F)*Fp=5-1Z!bq=xk#E$^gB4-2t4I$0| diff --git a/admin/phpqrcode/cache/mask_2/mask_61_2.dat b/admin/phpqrcode/cache/mask_2/mask_61_2.dat deleted file mode 100644 index 77d3815eb51a7feb77ebf8fa7001e8428c252db7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmb=pWo*#E<h)3bsX&q^_%7R*i@tmc$Mc-CULITD#UORnc2#xA_Z9CLFZeptgnZA) hk_3yGcjXyH-6*-_yCO#Vs_mXfvl*Be^d29m1^^}RBCr4e diff --git a/admin/phpqrcode/cache/mask_2/mask_65_2.dat b/admin/phpqrcode/cache/mask_2/mask_65_2.dat deleted file mode 100644 index caf184ada35d51a15ac622c0b7547448f5d001dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89 zcmb=p_4c|q7lQ(a>&42|mGA0{eU)ahq{&Zsci5AoT|sbCRL;^iky?c_QPW#8n#wmU scCwG!AOHf}SdL4%7jXKBFflomDSq>=(yS;mZJM;_nealU{J-+60Ag+<M*si- diff --git a/admin/phpqrcode/cache/mask_2/mask_69_2.dat b/admin/phpqrcode/cache/mask_2/mask_69_2.dat deleted file mode 100644 index 6a3801bf50a5d9f2f4630301073bc5b7f4255dc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmV-e0H^<W+U?gd3IHGsL($#SwD-T9i*%G~R78KsBErL=P&8}t@kWaMr*v+&DN3Zb u_+ljvE))d?1qB5~*sv&q!qlOlprBl+C_mxjN@^dWOe*iqOQsc_-h}d*P%Byh diff --git a/admin/phpqrcode/cache/mask_2/mask_73_2.dat b/admin/phpqrcode/cache/mask_2/mask_73_2.dat deleted file mode 100644 index 74945b718b6b7357fefc47c954da9fc87f219f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmV-k0HObQ+U?jO4geqwLs8FZw)<ZWL%<P683O)N1L6g-RAAP|w=$;Km(t>8uB49o zCeM)i$;BWcAt6nrP(L9Zkl0KlBqVyA9!Ek#%9h06kgHO>pO7@^?R^TT0-T8OPY@d{ Aga7~l diff --git a/admin/phpqrcode/cache/mask_2/mask_77_2.dat b/admin/phpqrcode/cache/mask_2/mask_77_2.dat deleted file mode 100644 index 903cba4..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_77_2.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� н���_��CM��>�G�t �ѫe�+��FW�ZE��m�&gއF�Ѷh��F+�t/�F��Yv�F���������j��[*7��a� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_81_2.dat b/admin/phpqrcode/cache/mask_2/mask_81_2.dat deleted file mode 100644 index 17a9ac2..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_81_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н���_�K�ҩVi!O\"�A�����]�:�x����bW��1�uȦ&��_��T 6�H$��U^�D�~bׯ�b=g����X���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_85_2.dat b/admin/phpqrcode/cache/mask_2/mask_85_2.dat deleted file mode 100644 index 72c74ff..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_85_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0�=�1��\�B7���O�$�A0$��8W�����wjgu�u��槊�R�T*u��S֧���J�R��T�J�R��R����ޢN�浘�V� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_89_2.dat b/admin/phpqrcode/cache/mask_2/mask_89_2.dat deleted file mode 100644 index 06c9a4f..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_89_2.dat +++ /dev/null @@ -1 +0,0 @@ -x��ٱ �0�>���/�&E*c��Qq���Ń�zf$���rM�����<��sa#d2�L&�?�ArY��d2�L�G"�3�L&�{���Rygw�;��� ���I \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_2/mask_93_2.dat b/admin/phpqrcode/cache/mask_2/mask_93_2.dat deleted file mode 100644 index f5202963d69964d6d402d87515855f97fb868039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmV-t0GR)H+U?mf3IH((1i=1YWB&iSYr?gGcm@NrSPvE!3r5V0|K`gR^esJBL=U|p zCA*J9`claZold9I>6hu5#zF6@yLURBPN&o9dL&(sq|@niI{j|F;se@4&-NL5N8P;_ J=`Rs#W7tsZG`0W$ diff --git a/admin/phpqrcode/cache/mask_2/mask_97_2.dat b/admin/phpqrcode/cache/mask_2/mask_97_2.dat deleted file mode 100644 index 38842b9..0000000 --- a/admin/phpqrcode/cache/mask_2/mask_97_2.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0н���_�Ki�vH4 <q ��#�ʩ������s�-TU��S�_Y��@ k���D�I��@ �V��J a�Pt���0�����C8%� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_101_3.dat b/admin/phpqrcode/cache/mask_3/mask_101_3.dat deleted file mode 100644 index fa99251..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_101_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���K� E�yWS��9'D1p �/9�Ё�u���,k�u9�Ҥ�$���%�ݭwAL��b%ClA��zq۴�붌��b�!���Ĥw�X�4`���_�'FWr�!�b��&�t1�<FWr�!�b��X��y���C1Ć����Ӈ�)E{W�ٯAӅgL�1]�-&�Ƽ����Lqn� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_105_3.dat b/admin/phpqrcode/cache/mask_3/mask_105_3.dat deleted file mode 100644 index d8a28ce..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_105_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� D�~O3��r6��@(�1�'������J}4���gk�9�7��A=������i��p}��w��ZJo����8���JB=��C�s= =��;��H�zT.�z衇z�{�{�{T.�z衇z�{�{�{T.z衇zo�S$P�T��h��E��%�Կ�bߞ�r��\R�L$� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_109_3.dat b/admin/phpqrcode/cache/mask_3/mask_109_3.dat deleted file mode 100644 index 48d9404..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_109_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���1� D�~O3��r6��� �O(�;���V6��sy������>�)�_%s�_���d3K�O1^�a��L��,�$�H"�$�KzRP�t[I&��X���9�$�H"�$��I�$y�sI$�DI$ɓ�I�$�I$�Dɍ%e��s�!��=����LAZ5��'�̓IV��r�n��/2oƅ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_113_3.dat b/admin/phpqrcode/cache/mask_3/mask_113_3.dat deleted file mode 100644 index 023b273..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_113_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0D�}N���rnD��Fj2�K���C�t?W��ݲ�Z�i��.q����o�P�����%Smj���7�ަ�:������*��N��:@�:����������*���*����*��f��W9d�2�����*����j�*}�S@��`���*����j���৪6�Jl���ѿ�}��}�է��T��U�a�24hnt \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_117_3.dat b/admin/phpqrcode/cache/mask_3/mask_117_3.dat deleted file mode 100644 index 79cc04d..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_117_3.dat +++ /dev/null @@ -1,4 +0,0 @@ -x���1 -�0�]�Q��.�xI�B$�����?~!�<�Q?�#���5�/tI�J8ow�i�{����}�S��^��~���q猉P &L�0�J��1��ϻݢ�D�K'�J�Ä &L�0ᝅ��n -��0a &Lxga��G��*�&L�0a�{ -g{����2��s�Ή~���7\]%r�J��9nZ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_121_3.dat b/admin/phpqrcode/cache/mask_3/mask_121_3.dat deleted file mode 100644 index aff5a7be5dbb2ea59135b972a31de3dec3877f89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmb=p_4c+Q-(dwFh68i2Tm1hYBYs6qc7az@=PAWDkCizVq0?+t7Om4wtq;3tyIk#F zy5GK%&h#wvb64#0Vy@VU|D7&ef7h~HH9KE;>-~Ih^HVEgKLuZlO;cUwJKHSx)|O2B zFzfxyYi|AgTNeL2=}VZ;Ev?R7P^rty{%*guOnUQ^gxskvcVQYX$3@&ONuIXHIa)Pv zd*)?`uy^M1DbmmD%Zo4AT@Sf`A^-TAmugk}r7i9rS@ZJQ!dsI6-_8j2Oj_vmiRt9J G3$_65-fl?% diff --git a/admin/phpqrcode/cache/mask_3/mask_125_3.dat b/admin/phpqrcode/cache/mask_3/mask_125_3.dat deleted file mode 100644 index e2febdb..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_125_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� �~N3��rۄ]��BБ�'�?<��/̼V۵�������ҏ�����<��0-_�J�[��?� +w��^;*�y��ɓ'O�<��/9��ɯ�9�<��y�Ɯ'O�<y��ɓ'�J^��a�ț6� y��ɓ'O�<�G�{��icΓ'O�<y������P�������|�]�Z֤��Iee�:[~�?��<mJ�_�N�: \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_129_3.dat b/admin/phpqrcode/cache/mask_3/mask_129_3.dat deleted file mode 100644 index b1ce63b..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_129_3.dat +++ /dev/null @@ -1,8 +0,0 @@ -x���A -� н���6!n� �G<q�4�h�/��G?;�h�s����LST�����Oj�����2#��� -D��y`�ܫ���P�@� -��\�B�4*yt$� -(P� /�#Q�@� -�yA^�t$ -(P�@��� /��D� -(�\����.`���ɛj�o��C��S��;R�;R�.��I� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_133_3.dat b/admin/phpqrcode/cache/mask_3/mask_133_3.dat deleted file mode 100644 index f4181507afdaefc5ac1db444c311e4b863d5eecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmb=p_4c+QUyFhO>xFrjdA{$T!&?~Jee~GOn@<F}jyfIcR^G3Wv~}h^``nmyr_~DQ zx;{+md7=O5)sNtbb3WdVy0X=2;!T$)H74g~N8WIM`#M}+R?V@6Lr}@3LqPG<B#*c6 z$~!~+lhh}f_&wR!vFfS46I61d`xC)R7rDT#Ky?r?DF2T;OypCCjZ*&!<yB%3)100x z_n5NY<!$9R{fTc^KI*xfUvlH`u{^^`pFB!VDAy}Y`rGT$zDjh}H5-OM=lJgf0Qf*< A*Z=?k diff --git a/admin/phpqrcode/cache/mask_3/mask_137_3.dat b/admin/phpqrcode/cache/mask_3/mask_137_3.dat deleted file mode 100644 index e24ac5b..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_137_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0�}N���rn�F�HS���YQ|���Z��E�f��u�,%� �$�uj��G�:��z���o��u�,:O��s�Y�ď��e��:t��I�s��j��|��+�N�5���d�lt�СC�:t���;��b:�M�ѡC�:t��9���h���H6�F�:t�СCǽ�ڨ{A%�d�C�:t���N��$^ur�dV�����'\�wj��S���t��;U��'[�,7�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_141_3.dat b/admin/phpqrcode/cache/mask_3/mask_141_3.dat deleted file mode 100644 index a3f6a24..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_141_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0�}N�{�˹)%]�j�f/d!�u��O�U����c����0}��a�4�R9���_���T�~�`����_ R[�T�ծ���n1�ݒ"E�)R�H-*�p�~H�ܥ�J������g��"E�)R�H�J�ҧ4��2�L?R�H�"E�)RiR��滀��g��"E�)R�H���>��z���#E�)R�H�Z@�b�l-)�ݿ�<ߧ*�OUR�"5&����5�*i�e�J]�+ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_145_3.dat b/admin/phpqrcode/cache/mask_3/mask_145_3.dat deleted file mode 100644 index 338b7e7..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_145_3.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���� -�@��|�������:�^��Jy̡��yM���j��-' -9�V�S��֦K��9��e��)P�yU����w�e�-m jԨQ�F�5jԨ�R�i٫�F4�_wk}�0+��jRBR�F�5jԨQ�����e�OMBJHjԨQ�F�5jwP�״�˪IH I�5jԨQ�Fͳ������c �w�5jԨQ�F���:����zS��*2��UZ_��C��*�e_O���Z�%dIȯ��b \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_149_3.dat b/admin/phpqrcode/cache/mask_3/mask_149_3.dat deleted file mode 100644 index 30bc5fa..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_149_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���A�0�}O���ܠ⦐H頯���'�Z�2{oV�|Ι�%���>��y��R{�!8��ÂI+JpI|#��f�5κ[�PA� $H� ��Q}�)�&<��E�� JQ)J� A� $H� �s5z�����%H� A� $H��4A�^��5A)*E $H� A� $� ��3�MHQ� $H� A�� ��3ާ`�P���o��>X{ט��+��Wb������`I��)5��%d� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_153_3.dat b/admin/phpqrcode/cache/mask_3/mask_153_3.dat deleted file mode 100644 index 89cdec0..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_153_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0�}N�s�˹)7mJ���,�}8���X=c�W^G�e��N�<v]]b��Iͯ_����gY+M��j���vˋt��&M�4iҤI�&M���xޜ��u~o[�~��4W55���I�&M�4iҤI��S5ML��i5-M�4iҤI�&M�4o�iz`z@S�jZ�4iҤI�&M�4iz�����s(�V�ҤI�&M�4iҤ��Y��zK 6�ϛ�:=����_h��6�7m�6m�M{��H� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_157_3.dat b/admin/phpqrcode/cache/mask_3/mask_157_3.dat deleted file mode 100644 index 167e6f84427c30814f29aeec40f00f657249176e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmb=p_4bY--ys75mIL?JTmJuFY!c=%VZuU(?T*Pi6_#069$AzdwDnrg&GV*y^B=ca z`-@jpE`FzdyXfD_ocBLZ-+j8);ijZsb&Y9XyW|e{XA#-`Pad9_r0P9QCvsED$$v|8 z(q2byT6y?w%Ixze|M`STc_#yfq4K}h*sVVQYV)NCsmU-6ldh(JjjRouKlRwZbeOV~ zuaRrr=c{V>E;R(13DFEx15%o)(+gL2|3uiEv#I;;|4`apdpkS*^~xvLf_I<Jez$q* Zo%DR2*`H>wePW`Q`R8jLgJQhVasX}og%bb( diff --git a/admin/phpqrcode/cache/mask_3/mask_161_3.dat b/admin/phpqrcode/cache/mask_3/mask_161_3.dat deleted file mode 100644 index 72a26a4..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_161_3.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���A -�0�}N���rn�F��Tk�,��N��� �Z�ђf7J�:�ƒ^`W�ٔU��nXڤ�ǧM-����#V��+ߡ��+9z��ҖY�l�)S�L��o�c���ʱO_C�?ߩ�%�;*Kl�M�2eʔ)S�L�2�Ye��]���[bS�L�2eʔ)S�LyVY�lW��G�[bS�L�2eʔ)S�L�� -��]g+$��eʔ)S�L�2eʔ���/�q�BbKlʔ)S�L�2e�qʙ�����]�£{�A�����/��~��V9�\%���[�P�#' \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_165_3.dat b/admin/phpqrcode/cache/mask_3/mask_165_3.dat deleted file mode 100644 index 870af8f..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_165_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0�}N3����T�#�Z��Y�u�Ï�:�̛�1�ϱE�U��T�T|S����� ��q�)�m-sG��� ����B��.C�ĉ'N�8q�ğ������wv7�[��'�tg��!.ե:q�ĉ'N�8q�����v`�_+.ե:q�ĉ'N�8q�����v`���R�8q�ĉ'N�8q�Τ����8�"ե:q�ĉ'N�8q�ĝIяہq&E�Ku�ĉ'N�8q��+��9:�}kFT?^���Џ�G��o<0իC�g/�_� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_169_3.dat b/admin/phpqrcode/cache/mask_3/mask_169_3.dat deleted file mode 100644 index 9431095..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_169_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���A�0�}O3��rn����)}�'3��1E��h���]�4�P[ �_����]Kv�<�˙f�p��#����y_�l�[�g�e���ӧO�>}�����o����%uJV/���{�����%��O�>}���ӧO�����}����K~�O�>}���ӧO�>�Q����=�/ї���>}���ӧO�>}����u{��ח���>}���ӧO�>}����u{蟪/�%?}���ӧO�>}��ׯ.N4��<O������z�z���l��z�z������W/�_���yp \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_173_3.dat b/admin/phpqrcode/cache/mask_3/mask_173_3.dat deleted file mode 100644 index 7466986..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_173_3.dat +++ /dev/null @@ -1 +0,0 @@ -x���A�0�}O3��rnPk�TT�yM$&e/|�"ֵd��j�u�y[�a�i�K��{���M S&z[B�UB�RI�C�!�n5�\w�4�B $�@ $��[���3��c��E^%�xw � �A:�@ $�@ $�@ $��B�fI�D� �A:�@ $�@ $�@ $�p�͒f���%H�@ $�@ $�@ $�@BR �%� �� � $�@ $�@ $�@ )$h�4K$L� � $�@ $�@ $�@³��_{�Pg�۴y��>VMm��R����������t(1���| \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_177_3.dat b/admin/phpqrcode/cache/mask_3/mask_177_3.dat deleted file mode 100644 index 9586979a1f9d74c4e115757feeeabb74819df45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmb=p_4ckK*C7KDmJ79hlkfa5%Jb^v=;WB?Q=`hguxbC(hf6kRuDyQoTio}+UFQXv zzYC}H-0`hx>pHl#M}PCVx?h`vgGKG<t=en+;j-;Hi=dD#CZe)EMt`5>t$xx|wRV!3 zfoMp8BP)#fxJc>g$uD7oUs9|>H)gE5sHrt=^#lc>7A~z73z`r_mvKnO#w`)M&Z=su zbg*n(k1PjN^&?s|N=H{r^nS3Sqe@3D+;oUNM?Y$9iHOp<`z#Ekc_EUqAPXMxfb>qw zEAHgtRC0WyjcRYJR@RjRYnSlaR2M&;SL^DVy)i4Q+x2LaXy<=XYjqD_?+J5e|6#~G HtjGiaa;}E0 diff --git a/admin/phpqrcode/cache/mask_3/mask_21_3.dat b/admin/phpqrcode/cache/mask_3/mask_21_3.dat deleted file mode 100644 index bcb4eec4919b60e2c25c4e18ebb9c34423536b63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmb=pWo*#E<ZRHypvTP8z^&A+#4^!E)0|OqLJHHJEN7J?t*2U*^m3YZ_&R)+J;I{X QB=OKdK#hT+ogsKH05qi&NdN!< diff --git a/admin/phpqrcode/cache/mask_3/mask_25_3.dat b/admin/phpqrcode/cache/mask_3/mask_25_3.dat deleted file mode 100644 index 0ffc375fc4d561f9d952e6af1572e68f2db95944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmV-R0JQ&j+A}bK0z(*r0xkmtK#@R}LDR%#KpWH00a>QOIfiJ63sVS+xNu1fplLAA habXVvLtL={H4TR*l1wwiWg5b#xHRE54FHDyc9;xW9FqV5 diff --git a/admin/phpqrcode/cache/mask_3/mask_29_3.dat b/admin/phpqrcode/cache/mask_3/mask_29_3.dat deleted file mode 100644 index 6150ac1289809bad7646c662dd9cf836311f47f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75 zcmV-R0JQ&j+A}bK0z)JO16&9u7I`jwl1Q?&GZ`D8$YeOr5DVhME(}Fn_#_QSO-42g hU)nIl9)oZ$?ieJ~WF$A^k;Gv#QfT0j2LK0SpN7|C8+8Bx diff --git a/admin/phpqrcode/cache/mask_3/mask_33_3.dat b/admin/phpqrcode/cache/mask_3/mask_33_3.dat deleted file mode 100644 index 6053b5e396ca957ae26193aceb85d08a43dacd9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79 zcmV-V0I>gf+A}bK0z(W00bB+MfK>sq3hWAyRM5v3T!1RJz`2Gv5EpJKDB>cdVAPhO lW(z#c;7?-^TkxkbL)`g=Dz?D=LP!BVTMUV{1pswi&V8ytAOipZ diff --git a/admin/phpqrcode/cache/mask_3/mask_37_3.dat b/admin/phpqrcode/cache/mask_3/mask_37_3.dat deleted file mode 100644 index 5dea5b9cbe14fcff482e0fe9a647359aca07547b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83 zcmV-Z0IdIb+A}bK0z+&F3b+gq0H-2kRd@{JG8i};@d2vZ2<I5$L0tHyp@@qZMWZ&3 p+BkqV!ZHLG;VfiGObGzBkqE=6Vxu83HX=fm7{iFO5df5D1CI~8A3Oj6 diff --git a/admin/phpqrcode/cache/mask_3/mask_41_3.dat b/admin/phpqrcode/cache/mask_3/mask_41_3.dat deleted file mode 100644 index ca9ddc2aaa83c5ac8415e7fa4f2b020190eb7b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85 zcmV-b0IL6Z+A}bK0z(`K2DlJR0&2O4Rfwc=U~MM^Xkt5@XGj2X5mo|4T*N9g9JPJa r_EFpEVms76V#_*1!leydin!8-%C;l<ok)d5*p3wPM5+Y<U(-IFc+Vr` diff --git a/admin/phpqrcode/cache/mask_3/mask_45_3.dat b/admin/phpqrcode/cache/mask_3/mask_45_3.dat deleted file mode 100644 index 3daad97..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_45_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K -� D�s�����FJ(&�)��0d��Ї��F�g!�[8�=��&�ia��D)�d8&A�լ�a�����1'�I�I��׳�7�9�� ex���߾� ���I��&֝��C�u��Jy� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_49_3.dat b/admin/phpqrcode/cache/mask_3/mask_49_3.dat deleted file mode 100644 index 7f6508dddf7dac2cb4abd0cd4f46018adadb99b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmV-_0D%8^+U=D=4!|G?1n<0N{r~5BA(on=yNyi`g>X<J*@-{^+}hMnvv8&oVg@N< z*hMu&)>K(!(BO=uY7eM-(E6p3Zv0bsQxl5nw^V$$JC%}<Q>Bqlsj9DvDo{aE;P>E# hYO*WtyB%t`BNs_$5b6wWqgwwJ)C%Io3LZM{#-RD-KY#!L diff --git a/admin/phpqrcode/cache/mask_3/mask_53_3.dat b/admin/phpqrcode/cache/mask_3/mask_53_3.dat deleted file mode 100644 index 8800bea..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_53_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K -�0D�s��� ����! -(.Bp&�|�"-t�&`�q�Q-"��9�_+)Be/H8��D��%�a~��}spKFN������=,��;�;a^t�4����\��F�������SN���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_57_3.dat b/admin/phpqrcode/cache/mask_3/mask_57_3.dat deleted file mode 100644 index 4e1e5da386a57dacaf76f93d05473ff922574488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmV-^0D=E_+U=Gx3cxT719!hh{{QE?gyNwnmS{-_8xJAm$PtVPuqu0fSCq8`R#F2C z`Jye^+}fgNtCnh;u5A$xa)x*4$m(#xu^rp7Rcwt+;I=%SqH*Tg<ecry?bwd(r?#-b g3>Tz7#%(6RO)$6#_BUJmZJUz-cM|kVFF3Ae8Lopr+yDRo diff --git a/admin/phpqrcode/cache/mask_3/mask_61_3.dat b/admin/phpqrcode/cache/mask_3/mask_61_3.dat deleted file mode 100644 index bf1a3cc..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_61_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -�0�f���z�4-%����*��d��p�!�yZܫ��u��(��~�=�&�ۓ��)��R2�"/�"�<9�FΊ=r��b��"/�������rw�"2��������B��#3-�0-K��W \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_65_3.dat b/admin/phpqrcode/cache/mask_3/mask_65_3.dat deleted file mode 100644 index 8589208..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_65_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��Q -� D��4���\?R����,�!�O��-�Nv���1�:�c�Z�u��"U�MÕF ~jK����-la�[^q^�Q\�=��o�-la��ZpU��B�����@I��K�Jzɢ|1Í���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_69_3.dat b/admin/phpqrcode/cache/mask_3/mask_69_3.dat deleted file mode 100644 index 55318a8..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_69_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� -�0�{�&����2�'��d� l�=,��F���y;$�쇤�WE�-R����:��%T,O2��g�"�"�,�Ȣ/D�yĈ���ɧ{�O䮳�"�,:N�v�E�WN�#(&,�,�������]�x \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_73_3.dat b/admin/phpqrcode/cache/mask_3/mask_73_3.dat deleted file mode 100644 index 15be77f..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_73_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��Q -�0C�{�����g�;��JJ?dԬK�=�Ra�sJhTJ6ex��ka�����\$��n��IE,-/��XB���*х=������wee�4����t��̒t�Lщ�t�t�߫���b� �gF�f� ��q��o�d��dn-�? \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_77_3.dat b/admin/phpqrcode/cache/mask_3/mask_77_3.dat deleted file mode 100644 index ec78280..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_77_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0���&����B�i�RaK"t�`I@��|���fX�����yi���l�E�:Sza18G���if�K*��?�:Y�C1쌞졘(ቷ���J*�����j�l*��TRI�K���R^ؙ��ks��)c�)c�)�JZ��������a� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_81_3.dat b/admin/phpqrcode/cache/mask_3/mask_81_3.dat deleted file mode 100644 index 47bc0f7..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_81_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -� F�=����\�,J�GA�ġ��hj��>��#�3X�����:�k�Թ\�FM J�hu����3��>�T�Z���{��PSg�P'��k�V�jժU��_ۯ��U�V����=P �o�O:Wҝ����j�[�Wx��m�� �5 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_85_3.dat b/admin/phpqrcode/cache/mask_3/mask_85_3.dat deleted file mode 100644 index 02c4f8cdbbe43a99de71a77162d811d36ad4f51b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmV;R0AK%j+U?m(3V<*SMbUXy^Sb}dIVrU|sn!>N+|q$Y2;pF8P^qqRd9N$FYg^Jj ztFhS7{Q{@rM+N5MyIOtAC{U6F+M{SU#kj+puI|W4iU0x#Ab>!sfcG@40`8<Efywxf z1n2?;5I_I{1egby2j~I>5I_KdmkG#TsrP@uMqv1rdge4##%ZWgv6J(FGUkB?1g^dV O%IE@ppbHjj!&bK*zf9i% diff --git a/admin/phpqrcode/cache/mask_3/mask_89_3.dat b/admin/phpqrcode/cache/mask_3/mask_89_3.dat deleted file mode 100644 index 2b4cb59..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_89_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1� �ὧ)���*.@�U�� ���|����eŵ6ۢ���w5*��) o�i�K���4nk>��1}d>��@ 4�XYC�o�� ۡ1<��A���h��F���t -� 4�@��5���1�Wr��>7����G��}}��x7|�N�g���N \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_93_3.dat b/admin/phpqrcode/cache/mask_3/mask_93_3.dat deleted file mode 100644 index b4cc8a9..0000000 --- a/admin/phpqrcode/cache/mask_3/mask_93_3.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0D�}N���rnJɪQ�~�B���06���n�a�<<�ׇ���e6�M�R��C��P��L���̓i��9M�2� �LkŮ�dD�v*�"a��X�jBd�Ad�d��Z��T�d�Ad��qY�0ex�����qe���N�������&WV���Qvc� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_3/mask_97_3.dat b/admin/phpqrcode/cache/mask_3/mask_97_3.dat deleted file mode 100644 index 7adc9ebaa77cfc3c6f7a54307a831fbeee0c87db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmV;g08syU+U?rG3V<LGgyH)>&G`N=*G0-MD(Ga{FCK!(&5t$)O3EWmo!5xs*ixXZ zVA@1zxl+BnrYNa(r@cz9VNyyDD4l1cxytAa-_m)8y8uckp@b4jD53OrC10xSQX0*J zF=dt7h5IPcalDsMLJ1|5P(o>6B~s-^N^~6WC6rJ?2_=+%t0e0VeE$jDlr;7Ux}BHg dPL&$iL~p8;J5{b%n)WQo-EsPG#~oB@^PHSYS7`tM diff --git a/admin/phpqrcode/cache/mask_4/mask_101_4.dat b/admin/phpqrcode/cache/mask_4/mask_101_4.dat deleted file mode 100644 index 1c97dc0..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_101_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A� F��s^1�b����И�]���4�m+�8�+�Ve��^H�R]�\�c���� -�o�WN#��X����+l���HE�cp�\��^.�9q�W9����"�:��.��B�����B�\��0�a��PǨcp�\����O���N�qjpG��}��}��$.�˅����� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_105_4.dat b/admin/phpqrcode/cache/mask_4/mask_105_4.dat deleted file mode 100644 index 0211cdb..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_105_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K -�0D�=Mr�˹��A��T�e�EF�L2#���鹢�_I!��������딤Ѻ����-իkm�O��]sST6*��'8� N��$��'N�Z���^�<JvN�sNp����������'���'8� �����1��{p����?N¿�n��J��Bυ��^���[i'�iHI-��m+W \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_109_4.dat b/admin/phpqrcode/cache/mask_4/mask_109_4.dat deleted file mode 100644 index 2cc0c815d47f45a3da5c534dd63c24ebd87aaa8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmV;n07?IN+U?pw3d0~21kk;w@!$V)-IUgBEVMeN@UjphfdOBXS=jsgsj3a*5YYOW zv^`N{*15FFhri9=BW?RLbz3!G!Id1AvOV9n{g9WjB|=_fI4!%9+_-V$#*JIlEz(OW zoVK#beVh-c9dWbYoRi$RapT5~n?9*e>XXh%Zrr$W<Hk*&)F<^x=cIFz8#iv;{?Tps kjmE26K5cr@a%scM_Q@XYlPA({;AX#lk(LO20Ae=Hr-QI&EC2ui diff --git a/admin/phpqrcode/cache/mask_4/mask_113_4.dat b/admin/phpqrcode/cache/mask_4/mask_113_4.dat deleted file mode 100644 index 99bd73f..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_113_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -� н���_��Jb)t&��BB��K_���ֳ��6�C+5/q_�ghf����������CbH+�p�����;WK?��G�t� ��*G�9r|�c`��c���9FKH�q4��9r�ȑ#Dž��U���G�*G�9r���>�}r���U�*G�9r|�c�[��cN��[_=�5�^�J����� 1*�q�v \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_117_4.dat b/admin/phpqrcode/cache/mask_4/mask_117_4.dat deleted file mode 100644 index 3867259..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_117_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� -� н_���s]4���Dg�n���2Jj}���Ҿ�RsSWG��R��ɧ���)5����E���m�#ܯ����k_"�z���3�\�r�ʕ+�r �L�k|�/{��;�'���<W��:̕+W�\�r��U=l�3��|�s�ʕ+W�\��;�w�o�Z��r�ʕ+��\���s�K���ze�Sהz83u#W�ubjd� ��$� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_121_4.dat b/admin/phpqrcode/cache/mask_4/mask_121_4.dat deleted file mode 100644 index 84957eb7babaf5fb377779a9733d38820e1dec85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmb=p_4c+QSBrrF>jk^zGw=K_GJACF5KEX*@<$z}?p^YqOrD6l{pq{+`&l7JcHsOy z_GM@Ox_x?b=y>Jqe}Ao?uX%DM`IXJr{-ZaqKAvlH`*6wj&*7(<Yo(*h9+--$T|aA< zer}Fs@v}3P59jRTf8Ba=^WC?7vF}U66N`3k{(f`U*_p-=1#7}zhE`3DOTD`-52zX< v`WjuNc#iS@x}Db7)&75%J$<_@`1<NaYr;d->(AW$y+_m1`VYgIgEyrCkW+Vc diff --git a/admin/phpqrcode/cache/mask_4/mask_125_4.dat b/admin/phpqrcode/cache/mask_4/mask_125_4.dat deleted file mode 100644 index b98dc813afe773cdcd71a8779391ca295c0d3a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmb=p_4c+S-ysD7)(f`F8-K^2;|+^RST%8G<Q_dKVX3;e!jIy&e7|mZjKf0T{k7?( z<VE-M7kK@8_Q>)>;-rsHGtPebu=wvE(Rqud?@Jdiv-z32<?Q)J`yWs57&)ykE~<Jr z`T4oI*5&W+>@0r%Fa7(4|DUhVIr-8&`h2IF>D|wlymv&u|5gc>1uLtXBe(o`B(jjL zU;pLDUo3v_shtNkChn^3Ki;iZZS8BT4}Mgedi!xzR{!b=ahL8^+0UC-$jr|$aq=Dj DA0&Li diff --git a/admin/phpqrcode/cache/mask_4/mask_129_4.dat b/admin/phpqrcode/cache/mask_4/mask_129_4.dat deleted file mode 100644 index 8ecfa250845e8ef1add89a66c88fc9f31250a436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmb=p_4c+kU$cP#%Y}Q(H@>gmX_E0-a3R;c&@UP>6Fhnzw0;$t`MGk<)@^G`dv2;9 zJa>BiGETqum$vWzzWVcDA(y^F$>O^;cE3bkZ7!_If6o7~R(2)#^;-&#|1=8@FtW=O zT)5zvG5y;kg&7OBX?Mm(S)NeKczodZftUvk%zPFg;tOl7WBdj2GpxmpM2j^4FA?}L o{bhTz9Ot|H{BduueXdPB_S<PX%UhWWc^9E2PBsk3mImJh0CZ_;*8l(j diff --git a/admin/phpqrcode/cache/mask_4/mask_133_4.dat b/admin/phpqrcode/cache/mask_4/mask_133_4.dat deleted file mode 100644 index 69f83ac..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_133_4.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���A -� н���_��Қ��B���B�2��f��{�� -���cf����g�Kq��=��)ڮ����W��lK2���8:o�CRd�\p�\p�@��+$E�����Q.���\p�\�#��>���/�#\p�\p��>���#��\p�\p���#��>�q�p�\p��.��$���Iq�� d���G�R��_4����� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_137_4.dat b/admin/phpqrcode/cache/mask_4/mask_137_4.dat deleted file mode 100644 index 0c09c487c2e85488f8caf2dcc863e260cfd077d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmb=p_4bY<SF?ct>xEjs$#?!2-R<agW%4St`>}~*>9$YZ>m}P8_SPSlc>J(ZYVC8? zO1oo*K1q`<^UtZRwccRy_UiY^lc)4;<EeSu-oJGF*PEx-pDWptyT1FM#pOGznBNo! zOq#R$FsJ&Qf<q^}=S;af|4ll#*QOn>t3SOfES@w`<y_}im%D-G77ts5{lG+?^~Lus z->rW=l2^YbT<U%oE@82eKSTb4-2ycAZ<uefZ{g3dMVK*J+<Im0tRrt!v`^06_uzl5 co8SJ+$-m}qQQ7FXMm^AT)!`b3jHl0202UE}3;+NC diff --git a/admin/phpqrcode/cache/mask_4/mask_141_4.dat b/admin/phpqrcode/cache/mask_4/mask_141_4.dat deleted file mode 100644 index 62b03f2432ed82cc2053e9113d0b8e90fc811b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmb=p_4dwbu0sX_tQTtctNr{xzc{gz-y}=(9Pb>RO$JKN#b*jQw`{%rV(;`b$vL{4 zXRQkQ#dOtY-ox+n-*;b@wS2d1)2vU1rN&=NV*fwfSo>q^jJZ<TxBu;3Wq;-I9#s*; zXB)CMm32wy?ReM*BA%I;GjcvV=j&m*Ip^bb7UMflLWEx)t6c2=GWbrxVP11E5t#R6 zW$ULYGXIYCes-IGX*pCc(11JHr-F-iRQuL?&3^<o4@4BM*YrR6@SW*g^Iswm1AwNS s<u*T>Kc}*2a`@ScXA0|@PM!+Z)$&&j+uR`i+&96LlQothXU{Gd06E`<WB>pF diff --git a/admin/phpqrcode/cache/mask_4/mask_145_4.dat b/admin/phpqrcode/cache/mask_4/mask_145_4.dat deleted file mode 100644 index 33fb211249fd13955f9481a5af91416b0850c79f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmb=p_4bY<SF-^F%Yo{+$$$PA$8}w8?tFVNC&h+iYlxV!Zv@k|U$#-%lh3saEPbXn zOZ@o^b?d<Qm1X(G|9^eGd(Bg%utzqw&iY5_@8=(%_S{Omaq9WyEB3cu#soFJd49m9 za`7=icbUQ?P-1<d$mQ!%35%p_e@>jXH=f@|<n@V~l-SMd;3{PH-kZ2@TSoll-|T&7 z+^?CwmV#@aSQ}OA`+mEBw%sNq^@S<(!+@&aUY^yzCL3Xsy`@)0_SKt#X^Z|<pPZNH cURk^L*w?LBTuxgU$zOfqqPftlXU=3Z0PKZ--~a#s diff --git a/admin/phpqrcode/cache/mask_4/mask_149_4.dat b/admin/phpqrcode/cache/mask_4/mask_149_4.dat deleted file mode 100644 index de99310..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_149_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� -!н_���sm�� ���+XӋ9=�.��=Zk�a��]�ޒ>K�j�o����|�S��SWK�Zm����j����\����Ъ2� W\q�W\q���"~����jv�t���v�_��\q�W\q�W\q%g�3����}�+���+���+��r9��A��r�W\q�W\qŕ�A� g�3�W�A� W\q�W\q�W����]�V�~v{�D��3�Ȝ!���\�W�����^<�r/ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_153_4.dat b/admin/phpqrcode/cache/mask_4/mask_153_4.dat deleted file mode 100644 index e827dd1..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_153_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1�0�ޯ���si,')p!�4.���;���WUm��j=������.NO��>����T�ڍ[��S7v�ۜg�q��?���� -�{pe�o�3�8�3�8�3�8{�YXz��,���_�O��Yfe���3s���3�8�3�8�3��\C�!����Ms�3�8�3�8�3��r ��\C?379�3�8�3�8�3��\C�!�07�M�8�3�8�3��q����,���mMrs��k�Wv�3���~�W��WB \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_157_4.dat b/admin/phpqrcode/cache/mask_4/mask_157_4.dat deleted file mode 100644 index ad5fcf6..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_157_4.dat +++ /dev/null @@ -1 +0,0 @@ -x���1�0�ޯ���s4�"FP�=iRX¢X��0�멪�u 4f�t��l}�m������➭�S�|��ю�S�����P�5<]��r�w�q�w�q����^Q��N6Ï���Z�sߙ��,w�q�w�qǝ>������Μ5g��;��;��Y}V��g�w�,w�q�w�q�w��>����9�w�q�w�q�����>�3g�Y��;���[ww?P3������Ƙ�ggt�퐮�;�]��.3�w4A� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_161_4.dat b/admin/phpqrcode/cache/mask_4/mask_161_4.dat deleted file mode 100644 index 7604c45..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_161_4.dat +++ /dev/null @@ -1 +0,0 @@ -x���A�@���f���s!AL���_|,��4�l)i�m���l�0'�� +E������]N\���x�#���2��/��_�{�7g��9쏼ٷ���}���2�r�!��?}-�#<Z��χ�j"��P>T��e9�C9�C9���~�����6Sʇ겺�!�r�!�r�!�����ۘs��e9�C9�C94�_��Ɯ�|�.��r�!�r�!��s�/�s0� ���2�r�!�r��8�}D�����w���r�DXΡ|x�|��!�2� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_165_4.dat b/admin/phpqrcode/cache/mask_4/mask_165_4.dat deleted file mode 100644 index d83d631..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_165_4.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���A -1�}O���r.�"�*?�f���P��LHI�k��Ϋ�ZQ��8 -Gy��qk�-����n5����+?���������|֎����kKn�E���Ź�K.��K.?�2���.�|�EJ�{�2<�:.�Ku\�K.��K.�������ǝmu)_���8�\r�%�\r�%�\��Џ;'2�!_���8�\r�%�\r�%�\��Џ;'2�!_��\r�%�\r�%�\rinC?nn�9�� �R�K.��K.���;.���HqY'�ݽ��N�F?�K�㕢,�R���|�� My*3 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_169_4.dat b/admin/phpqrcode/cache/mask_4/mask_169_4.dat deleted file mode 100644 index 4aac95c1e3fc9ba5257f331564b211fab568c376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmb=p_4bw{7n30m>xEkX%lG~l?V3;+6CwFBVc+Mpz`!LezkNJB-=9zK3Cy|6dc7)c z$=5@7j?a{Q`J_AleCn>hU3Whz>;A1NtE#vC#=Q1!Zp)m1?|$5V9DCCK-|1Vc*mtaT zocL^x-SRm_r!-;2ueFy?#eVr#8L;Ge>5J}i?k<zlD{EH0Tm2hF(Q&`8zo)<be%E{M zqY%5$?^kR6ET2vZh7zXji|(7ZKZ-jg(*@L7j4=DuN=uQy`z%Gi2R#dT5?neTrU9%K zq^n#%mCqGu9+F{uyDr<kt<kbP+w~>E{?B4PtL69K8~&|}TJq5E>1FRHmwz3+$1r7q GdJ_PDBBetB diff --git a/admin/phpqrcode/cache/mask_4/mask_173_4.dat b/admin/phpqrcode/cache/mask_4/mask_173_4.dat deleted file mode 100644 index 9df4d86..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_173_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���K -1�}N���rn�a��~ZY!��J�t^��5�(�/���jk�z[pj��_�?~v:|jw�Ֆ_m���Xz�o����6?n���<��j�$p�-��r�-�_p[z�=�V��Q��3��T�V��o� �r�-��r�-��r�-�r09�L�ߚ� �r�-��r�-��r�-�r09�L�ߚ� �r�-��r�-��r�-�r09�L�ߚ� �r�-��r�-��r�-�r09�L�ߚ� �r�-��r�-��r��v��6�����?�,e�`=*K�6ڭ~���6����*� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_177_4.dat b/admin/phpqrcode/cache/mask_4/mask_177_4.dat deleted file mode 100644 index 6437d25..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_177_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -!�����.1B��My��![c��\c���Z��V\��q��7���E�O�zg~�k��˿j�;pg��u��[*7�������Tp�1�s�1�s��q�!���㠊w/�r���8��X���~l���c�9�c�9�c�9�����nr7��~l�0Wp�1�s�1�s�1����nr7��~l�0Wp�1�s�1�s�1����nr7��~��+8�c�9�c�9�c��nr7���M��+8�c�9�c�9��t���oEǙ��N�Xy�[���R+��c����qN�\,4J \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_21_4.dat b/admin/phpqrcode/cache/mask_4/mask_21_4.dat deleted file mode 100644 index e006b67e4419e056f5a3fb4b7232769ee9976232..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmV-90LK4#+A}af07Dpq%K*Qqp&?w5peQNkA_J1lg(?A)hA@%~nFA+rh~hK>%^4`7 P=;q=RrH8oyopw{-jJFsR diff --git a/admin/phpqrcode/cache/mask_4/mask_25_4.dat b/admin/phpqrcode/cache/mask_4/mask_25_4.dat deleted file mode 100644 index 0c7c44bbb5bb50a1f060373ea3ca14d083fe686e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmV-S0JHyi+A}af07FAV1c%Fjuna^PAxDf1Irg9fvh0EKpc;@!E_4AniAM&vX|%Qn i>NlJ|HN*%VIGY$5BJ4r(4;Eo;_F$1gmjnRDU3Su2%N^nX diff --git a/admin/phpqrcode/cache/mask_4/mask_29_4.dat b/admin/phpqrcode/cache/mask_4/mask_29_4.dat deleted file mode 100644 index c28dc20e8248d196503c88e3e58b9048de750a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78 zcmV-U0I~mg+A}af07FAVI0*(^2E@r?NRc2*iM`kWMfO73Na9E&7dAmSNkA6A$s@yF k1DFWbSimBS8G{geiIFARUKIc0kiuy%rYtrE0Gke<<${17%K!iX diff --git a/admin/phpqrcode/cache/mask_4/mask_33_4.dat b/admin/phpqrcode/cache/mask_4/mask_33_4.dat deleted file mode 100644 index 5834b6fb5672ddd54227a5229ad248efb56f9931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89 zcmV-f0H*(V+A}af07FAV1PK%5G9X?BinJkI0ZA&T;SOAYD(-+P$1ng+a^aGIlSHT> vY|E%S29rDBDF$Z>!lD9ODl{aRP7U#;Q^M{*2@gEd1l)nH0+%8HgW}HuoFyU1 diff --git a/admin/phpqrcode/cache/mask_4/mask_37_4.dat b/admin/phpqrcode/cache/mask_4/mask_37_4.dat deleted file mode 100644 index 4bf2e26ed0238cb7f0fa88b4a2e8d9f607c6c465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmV-c0IC0Y+A}af07FAVG!hE93`kRjsRW^pR8`b;7d}8$cR_hr3_>Eg@JYf+B2^J* s<EXnv-9-y`LGuGqxx)}|PJ@e+s)_=4A%zzKC4}6CMHN1U0AJq(L0rKgMgRZ+ diff --git a/admin/phpqrcode/cache/mask_4/mask_41_4.dat b/admin/phpqrcode/cache/mask_4/mask_41_4.dat deleted file mode 100644 index b75b7d052490a5be6722c1fe41989334fe274e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89 zcmV-f0H*(V+A}af07FAVtRxt48IZ0LuQD=K(!!mD08QKpW#dqTL~;>Q04GUMNxbc& v?i_XJs5{AZrvXfsV99_*CH~R|;!aXkQtVEY@FYSRQSQW4Nk}mOMgc#BT0kV* diff --git a/admin/phpqrcode/cache/mask_4/mask_45_4.dat b/admin/phpqrcode/cache/mask_4/mask_45_4.dat deleted file mode 100644 index 1b921f3009656cf429e67486e59237b8dd15ff5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmV-;0Ehp0+U=A<3IHJpMfaXY?|-@3gj12@{}N1#TnN<@9`Z@`Ei+qoFVPwup|*kU zpmqSgF*>cacXR`pI4*58TFBT1fxMG6XL7wac>{^<yg}L{mL=A`ak}Jvb8@P8@*_{) aJUu*oCYH;$Qu(gXW$$12jSW0L@qmb8KRR9j diff --git a/admin/phpqrcode/cache/mask_4/mask_49_4.dat b/admin/phpqrcode/cache/mask_4/mask_49_4.dat deleted file mode 100644 index e417f947655bab36a10378cef072e9acb7928fac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmV-?0E7Q{+U=FW3IHJpMDKo${{PSIWhn!#ak?yv9fV{Ce5I&5kC`RWi9~rvF8BI7 zM<}UqU=HXc906IeDp!`gx9vkMQBdKCgri<nbNqn=>GqK!9Q$bqGK7QU=)P)>BL}k8 eRu0aQtjeU@>+_-I`CuK_9H00P-1Gn#s>kM_-9E?w diff --git a/admin/phpqrcode/cache/mask_4/mask_53_4.dat b/admin/phpqrcode/cache/mask_4/mask_53_4.dat deleted file mode 100644 index 7e88826dd67c8eed58a77ecc7bd6326cd996537c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmV-`0Du2@+U=H03cxT31^1pt?|->=VN(l5e9snI(1i&h1DSjzs%My4l0%60s2sV1 zUFvoM>Q$%8k$LTH-z$uZ_X`^svLKUJCMj-(<27Edc$MCl9xf#1?;NQB?uAn=uepcg i^-r(*&mns8lo?t9xVoWK-RMw{czy1?FmMC1XBA^pK|VMD diff --git a/admin/phpqrcode/cache/mask_4/mask_57_4.dat b/admin/phpqrcode/cache/mask_4/mask_57_4.dat deleted file mode 100644 index 84669c7d65c97c0b040497b32d3d3037c70d826e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmV-|0Db>>+U=H04uCKSME9Hq?teKq4gQfCYGNWRShRhHSItD#wao0Xdx_S`3}%zb z)6ua+cp@ZJk!QRPPwS|R$7C*c-vtG{7f62E_H57pdBSPpo*a39C`!$ZCqdRc`@3z= k_I%kB_<K8e*2s(PM4Iq9q;w8d$%&pHexEqJ0EokA=c6J*#{d8T diff --git a/admin/phpqrcode/cache/mask_4/mask_61_4.dat b/admin/phpqrcode/cache/mask_4/mask_61_4.dat deleted file mode 100644 index d127c3be20adafc0276e2bd2b375eb3b4fa1fd0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmV-~0DJ#<+U=G>3cxT31n<5^|NpsON^2;!>e@qKa}XLb#Yw^v)q9v(qB=lyhR&g$ zouh+=UGEBA9-;T^egK`j*5&+4Z}?KB16>uQvCipDZ+dUw-O4os=_q+W=RtbJoA;dF m^rrXIyZXXjy>U8x$cKrH<+(z6K0*KBy}^0+esBPHn8I@q@JM_B diff --git a/admin/phpqrcode/cache/mask_4/mask_65_4.dat b/admin/phpqrcode/cache/mask_4/mask_65_4.dat deleted file mode 100644 index c24343d..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_65_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K� D������t�X�Й.4�E1^���hv��O��x���W��0�JHŻ����z[�^܈�[v��� -y�y��Z�k�=`���v�c�ǃ�<ȃ<��C�/)z�ܑ��������C���"" \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_69_4.dat b/admin/phpqrcode/cache/mask_4/mask_69_4.dat deleted file mode 100644 index a73b114..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_69_4.dat +++ /dev/null @@ -1 +0,0 @@ -x��;�0CwN��\��~��;C$3�$<)/m�����eΥT��2��:�]�^VV�%��zA�n�pv�s"y�y�y)z���d�u6����G��ȋ���i^��/<�t�r�rr�)9ͤl�r��.��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_73_4.dat b/admin/phpqrcode/cache/mask_4/mask_73_4.dat deleted file mode 100644 index 72f8922..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_73_4.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��A -�0�yM���顴)1�-�lE3�=�}��(���9�T�d���E/eO ZO����ŻK�Y;��pS5�+���N��I����| -"�e�v��+Dݓ�Ns'O�W�k��I�����̞��F��r�i9�&���� �]?��A \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_77_4.dat b/admin/phpqrcode/cache/mask_4/mask_77_4.dat deleted file mode 100644 index 993c486..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_77_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��� -�0E����?��jFe8�0�� u�N�0����lB��6�:�h�<�����C�e\,����ܗ~���&rd0 �Sz�7z+���o���������V�u�:�7z��Wo����S�)���mo�3� O��y�;:*h��>��a��Ce \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_81_4.dat b/admin/phpqrcode/cache/mask_4/mask_81_4.dat deleted file mode 100644 index dd65216..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_81_4.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��A -�0�yM���y�XEm7"89�2�Ѹ��Q1ݳ��+�x�x;��t35DIY��1x\:u�����}�e/ ��#����Th< -���U�Bz��<���5�G<���5{�G<������5��<饫>�]��U�r��xu� � �� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_85_4.dat b/admin/phpqrcode/cache/mask_4/mask_85_4.dat deleted file mode 100644 index c8d5123e26909726dbd71694e1f6697cad51529e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmV;L0A>Gp+U=P!3cw%?MR!k=-2ZZ2N*jmT*5nJN&mmxtH#~v~YIZJnPs9LfrlsbP zk*TK+4nE7TrIxLs*SC2W7zhg5zDpNC7h5Ilh$5=S0ABHmSG?ji)1NN$BI-<szRioM zQm@o2_W)k;idVcc4=@i<uiOK8#VcOF;<f5!zxS%64nG#AI=5yXFv&ciq%QROqk63c IZ%!my`a1GTZvX%Q diff --git a/admin/phpqrcode/cache/mask_4/mask_89_4.dat b/admin/phpqrcode/cache/mask_4/mask_89_4.dat deleted file mode 100644 index 5b9bd7e..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_89_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���1 -�0�ὧI�9��% ��� V��ڀf�r���0}�z�=�#9������ҕ:���~�s��1BՁg&�4p�g�q.p.���&g���T0�5�rg��sg�q��rg捯�u�3��8���k�.Egm��b*��&�7����?���� �:�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_93_4.dat b/admin/phpqrcode/cache/mask_4/mask_93_4.dat deleted file mode 100644 index be7f5e5..0000000 --- a/admin/phpqrcode/cache/mask_4/mask_93_4.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���K -� �ὧI��n$}P�ŌB�]��N��@����%s�fkҫ�}Cz�oA}aʽ2�|���~���D&�l=������Y����w�q�}���q\�E�Y��j�K_��y��w�q�wz$=��=�;���_��>���+�p���H�����9�D�i \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_4/mask_97_4.dat b/admin/phpqrcode/cache/mask_4/mask_97_4.dat deleted file mode 100644 index 5d848caade31141b6a6d238828e0513940b9aec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmb=p^>&scSAzi$%llg2U;ocnYTk;AQoMQf@D~ArLUH5VhzlL*U+;ClQn_{Ld4Rh8 z>uTAu_q(T_ELu@IVU2P7<-3>5gi15Bf~CWkN@uS0RjmncZr<lz(7-J7fPvlOfZ|EV zY14NdOnh?aQ%I$KYQcuW2Q~)N!BUKT1q$0IMW0-IM)jExMD@e{G9vLG!};Xe|JDoM c3|V=8t>XE$dhO>e3gqq;cwFbMH2i4?0P>DhOaK4? diff --git a/admin/phpqrcode/cache/mask_5/mask_101_5.dat b/admin/phpqrcode/cache/mask_5/mask_101_5.dat deleted file mode 100644 index c21869e..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_101_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��� -� E������+�%=�M�3Cbv� Ѭ���Nkû��gq�kqq{�%�O����o����,i���K�e�e��3[�|��i��������V��h]`�`�0�ʕ���z˴T�0Gu��/q�8F��1���3�:W��>���#��ȕ0c0�Q�8��E=F#��+a���X�͞+cV�%9W>��Q�]Tk���Y�-gL���q�D�艋� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_105_5.dat b/admin/phpqrcode/cache/mask_5/mask_105_5.dat deleted file mode 100644 index bc8798c64015b6595105a07645625a572c839c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmV<603ZK&+U=S_3dA4~1n<6P`v0HHC0WDb$gbEE0yT;RFVdN!?Sm0#$x+d(-M&MH zb#RhAbEHXz@r$NR=-U3QPci-P|L%XEWG%ZUmG!BgbTK0LXu8R?&L*=*eAagQlk8Qg zsjyG52YayhPWDE5FUx?-`>CeAIbz1%-fVQSH_Cfi23+1R)r9Zid)&FO2Yavwd*nUx z9(fPn!}qvzVGs6T5BA7=<UR5pzK8E|=fWQB!QLC$bH5Agnxd>v+3UUic`wTHUd>xK aP2TVA&wEd3Dq=6}&i9BW^E?1$d?(3j3x3!D diff --git a/admin/phpqrcode/cache/mask_5/mask_109_5.dat b/admin/phpqrcode/cache/mask_5/mask_109_5.dat deleted file mode 100644 index 25a394402fb8b1d0ebf02b85473522a21235736d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmb=p^>&scSAzi$%lk^-Pyf$XZV2j*s`A*zF?pKO&MOlNBNgB2F4Ef5es`YjsdLA3 z1GmLzcQ4u+7wuKIGk@pLkJ~=o2#t=t|EsmEP`E4gbGg?&F(KW|<)*sao-4A2zw@dk z3W3o7Ln%e~oL=noQ``Tq@Y3g3w~o|0t6%gi0ZRhqKTiJP`A5a7)9;Xq4;a-6*>}!& z0V<i%0z@b4jWlP>-}7~CRaH?+kXgI=m1Q4e>}I|^`+f56tjphW?I(xcpB?4RQpn(Z H<x~s+Z4YP} diff --git a/admin/phpqrcode/cache/mask_5/mask_113_5.dat b/admin/phpqrcode/cache/mask_5/mask_113_5.dat deleted file mode 100644 index 25f42b8..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_113_5.dat +++ /dev/null @@ -1,9 +0,0 @@ -x��� -�0D�������^�6�I�63[�[EDq�c���+��j�y��81��\c -��7�c�����?u�}DK�4�}��,�kk�g�--�3[���U�Ƃy�UX�UX�SV��:ϫ��՝��,��|��кS�����⫰ -�� -�� -�Vɫ��*�X�[��*� -�� -�� -��z�U�*�N�V�*�J�UX�UX��S��Xi��jTi4f��ZkU^���_���~�U��x�}ծ�Z/r \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_117_5.dat b/admin/phpqrcode/cache/mask_5/mask_117_5.dat deleted file mode 100644 index f236940..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_117_5.dat +++ /dev/null @@ -1 +0,0 @@ -x���� D�|M��n/*{�M���+��p�I_&m��-��Ѿ�C�����3�2�u�?o-kgB7wc=����U%y�o��R�hӯșDo:ֶy�R�JkQ^a�a�a����qOg�iJ���;����qOg�)ӊ���0�0�0��[�v�ö>�=>���0�0�0�Of�z�3��=>���0�0�0�.�3���Z�$�8\�p����w4���:��Z�p�:q�����X 7 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_121_5.dat b/admin/phpqrcode/cache/mask_5/mask_121_5.dat deleted file mode 100644 index 9bb5c4158981760f99c1831c03ccf11a664e6053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmb=p^>%h3*AWFCm;c4Hp8T7ByMNb~P0`w->X-Iu1WibCj$>!PxYtGF(Dx08H@Bz! ziL_Mtn}1F*<FDoKtJm+(ezjtAdB~f4(O*wpicn1Vo%{Xh+tV>CX2(7=TOEDEbWKm# z7n3IwXBH>TO_bgSLC0^-+rs}kq59sv;^g0Fytmmr`w)|MuCvr_`^DT6m?EIk`)9ws z`TOnWP2bl(=@oqXJ10zcK~pjRkXgEU#Yr9g&b-C9Uzp__hM;esZ;0LBZFwcK^7XPb o>!)^ZQ#aoWuYBxxGe&=>)49shxbEDe|L3eseDs4sW73s<0HpnlZvX%Q diff --git a/admin/phpqrcode/cache/mask_5/mask_125_5.dat b/admin/phpqrcode/cache/mask_5/mask_125_5.dat deleted file mode 100644 index 2161c50..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_125_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -� E��&���fc;S��$?����؏��Q4��Ya�hûyJ}9�g=��=�li��.;nh_����wz����.��q�CW����ȧy�� u���Pk�;��<��<��<��|*�q����,� m�kW�q�N�l�%� ����y��y��y��y������^��2䰅sX|���a�a�a�a�3ϙ9lH�����<��<��<��<̿��웁��[�����n`�T���q��8�^�v�y���� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_129_5.dat b/admin/phpqrcode/cache/mask_5/mask_129_5.dat deleted file mode 100644 index f0c1d65020884c517fcba84b94191eaac350aaa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmb=p^>(%)-(dqD=JNe+fBrw;rBWIY;l}PP(iGgY;6uuWT>&yOg;TY((|V7;4|rHz z$aHnxR5q=ee-{;mpS}6Fjz8)5|GBsR+cqxEkvegY{WD8>{;97#wkaFeC|)-I_*?FJ zdDOO73mlv68dxKM=*5vkTKXxHkABpxay&a{NAkk7uziscPg`}IW$x!MWZc)F|A2b~ z0~9@B{lrw+xCbP5#sezq5T~F&LHq>w52k$wdRTBP%uhX7dcHJE;G5lvJnQRETQ@vs deIFa2`wqnRlbR99G23{{r2|{+4tV*M007v5c@F>p diff --git a/admin/phpqrcode/cache/mask_5/mask_133_5.dat b/admin/phpqrcode/cache/mask_5/mask_133_5.dat deleted file mode 100644 index 46be8b0..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_133_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���A -�0DѽOc��r]4%1mCT�������xΜ[Dv�=��{F���E�Ϗ���q�?ݿ�9�keѭ�}�'2^��c��4G����:�3=J�K-��F0��`#��H���w�'#�<{�~�Z4�:BG舻F0��`��G�~���:��`#�?�#t���w-�`#�?�#��#t#�F0r����}Q��}e����R��;�<��C��V�}ї�����Y-H� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_137_5.dat b/admin/phpqrcode/cache/mask_5/mask_137_5.dat deleted file mode 100644 index 064e7f2..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_137_5.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���� -�0���>M��/��k�1m����X���=������h����s����H"�k �M�:���3q�O��W}�9�Ԗ�I����H�1�G;�-��s��ڶ�?�[%M -� v����#;�zg^��3�d}�6���9��Ψޙ�@7��҄���#g�v���`;׳�ީ\�$������w�l��v���`�v�;ލ�}7�w�ߑ�a;��v��kA������#g�v���`�=N2w�xg�WӤ@n?��c}�SQ�:�Zd?+����9v��z�)�����P \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_141_5.dat b/admin/phpqrcode/cache/mask_5/mask_141_5.dat deleted file mode 100644 index 60c1a8e81acb9a104b1003fe8c362588b053abac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmb=p_4dw1u0sYqtq*_O`hNbW|NLx;(ly@Fw~{rHnwy%g%&1?U=@uQmHZAgYPUWvV zSwa8P%uLts{p{<ztMB)++CQf8JhI<>|I6Ff?XUZ>?fOlh?Hu<*Lhj^j-g&%KHRklY zHSXJ%GR-^MUl+M`k&@0?^TfhtO`k-r;2DQRmi;?;<wQ-^{FM`bUYWb{o}6p_`$tPA zn%r+W$~$*aaLK7#{9siEt(rbh4OQpw^0K?S`scUogX+C8S^Z6Z7d5R?-?qaIyEJ2x z|H_|n`=5C)e<3n=)3?JS%RoATR^3}T6)02HJ`JP=A~fUBmCzYp7XQ;e`*wHD_Ft~n odwzLTh~3m;vw*jAW}EDLHv83Vg=JAKK}Ub7Ex5}tciZN700@PgBLDyZ diff --git a/admin/phpqrcode/cache/mask_5/mask_145_5.dat b/admin/phpqrcode/cache/mask_5/mask_145_5.dat deleted file mode 100644 index 9303c07f9cd2d765f6760cf933db6a923e0985bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmb=p_4dwfz9s{KmWRLXe1HGbf8MGgw6ubwq~pF5N1=1j@xRu2idU>$r6o)IJ{82> zzVP^R$E^#0m%8OX_%_jPZqDCVlYVV;i{Ag?{rvsKSBqQ(C$718!)g|LXx`R)LEA3< z-^TpyQqr?GFC*0AGYu!M2uzSo<jsyaEOl)|o9UXww@=o{-duk-^7Y!@HP6dVxnxbb z`aK@Vb6yAJeK6g3?D`L=N|2^mb#IUSy>(E^bzLvI+;8@4U$WERT)%VrUu|y7`j4jj zp4qEF>;UTg{AOd_*}XaE<vxRq1ltTU@0OfY?!Md4KUl50o0rRy9r)fpDr3s!^=FrB b{*Bt?R#{pib*=5JduMT(M+`%-d(Q;`R?nx2 diff --git a/admin/phpqrcode/cache/mask_5/mask_149_5.dat b/admin/phpqrcode/cache/mask_5/mask_149_5.dat deleted file mode 100644 index 4256cef..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_149_5.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���[ -�0���&����c��}-s+'���^;A�x���=���Q��_gUݏﵪ��x���G��T���ȺV¹���U��UE�����_IǴ;���T1�����̠��� -]W2� �2����|o�5�u��ꆬuI�:(W�K�U躒�rP�Ad�Ad�A; v����o��_zNO��{2rP�A9� �2� �2��9���}�^O挞���r�wQd�Ad�A�n�����M�A9(d�Ad�A�^W���Z��.+��G�^����K����`}�`_F����k \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_153_5.dat b/admin/phpqrcode/cache/mask_5/mask_153_5.dat deleted file mode 100644 index deea09d..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_153_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� -�@�w�f������Ь`���D"I���e��<:a�u,7��Of�۳�u��P�6��~��s�z������s��,j�լc����V��Zvߨm���s^u�H�Y�u�&�l��&�l��&�_�9������ ;]��^�js�O;�ܔ�rSn��&�l��&�l�9��yכ���zA���rSn�M6�d�M6�d�M6���ރ��@/�$7�ܔ�l��&�l��&�lzŽzA�C��rSn�M6�d�M6�d��Ol��7ᰚU�u�N��֛�F��c������P�P���S�,l;H�O� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_157_5.dat b/admin/phpqrcode/cache/mask_5/mask_157_5.dat deleted file mode 100644 index 176e2a6..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_157_5.dat +++ /dev/null @@ -1 +0,0 @@ -x���1�0D�ާ���ri��( r*��� �\��~>C�*���v��s��]Ŝ_{W!�zﶬ/��������)�˙������v���V���6�V����,f1�Y�b�����n^o��>���\O�]���,��,�b���,f1�YyV��g�Y��Y��Y�b���,f1+�ʳ�<˳<˳��1�Y�b��Ŭ<+�ʳ�,��,�b���,f1�YyV��g�Y��Y��Y�b���,f���ukys77���}�v����mb�=�w�sw�)�tW���:� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_161_5.dat b/admin/phpqrcode/cache/mask_5/mask_161_5.dat deleted file mode 100644 index 70d5fb0..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_161_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���I -�@н�����Dp@ �o|m� ���rHk㨤�~c��o�^��Jz�װ��#5l���¦S_92����[�}����ZÊ���=��T�2��ƀ�P��2[cV�衆�C�Yf��'-���X�9>�v��~u���sK5�`�e�,��2�,��2�,��2��-���//�/o_q�}K���\��r�e�Yf�e�Yf�峖��o��+���/�,��\f�e�Yf�e�Yfٳ�e��x�B.�e��2�,��2�,�̲g+����l�\��r�16�,��2�,���<�v.�r륆�����rO5�����s_�Z�ɔu�I�_���*� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_165_5.dat b/admin/phpqrcode/cache/mask_5/mask_165_5.dat deleted file mode 100644 index 94af813d90326e83dcb4898dffd47eebd3120cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmb=p_4alkS5trh>xKGo<IVriew{3t7$#EGelA#r>xt!_!?`Z2*Db#6mYclucZ_V= zotdf6-&SvZv*GR8D7h;;_}1^MuiAF~^{4Rr^~KwcM;_~Y5%sO3bm!TkuUAgq{`4tJ z=-blf&CknX*3G<mG1*JEeU0}q$@DpeK;n<`V@2C1SvC9R>+da{|L^pSsAb<Dum1SA zI`91ZBXj?C%S?Y<6w_yX&f;+ogqW8XWB;%HZ-tNU@jJznL6WCI=70?Y62d*NkN;mQ z|DETI<o7#Ic7U|Qq(F+^FL`m?mih5q5lg+}Pj|?`wMnMmvDW-mc>X|zx+~B?%Xj;& z;1;Iu;j^AJCF&Z`Lw*|;|Nba-v0r}8=>>Iv>dx&vf52z;Q-;T)bDuoUlH3!|5cNl~ F6aZ#Wx#j=> diff --git a/admin/phpqrcode/cache/mask_5/mask_169_5.dat b/admin/phpqrcode/cache/mask_5/mask_169_5.dat deleted file mode 100644 index 921a770..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_169_5.dat +++ /dev/null @@ -1 +0,0 @@ -x����j�0��|����/�ni��K��'���.r�:�T-m&�Z�x9�y�q�3r��Og�v�OO_zׯ�u`]��ȷ��it�ا��t���il�oc���1�3j9�%_g|�ԧ��)���>���>�ϰ�=�te�&��_�4�����=�t�U��}�/��>���>���>�O���r�5/u��>�/���g�}��g�}��g�����O����sv�O��}�/��g�}��g�}�ٷ�G�o-�w{���r_�{�g�}��g�}��g_����n��<r_��}����>����=��n]�4Nk��β_������M���������8�m?���SF��<� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_173_5.dat b/admin/phpqrcode/cache/mask_5/mask_173_5.dat deleted file mode 100644 index f9a6741..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_173_5.dat +++ /dev/null @@ -1,4 +0,0 @@ -x���[ -�0���&����G1���g�D)[�Cz���eD�ѷц�=R�N�6����F��Jm���Jq�P�}�x��s���_��}��G��F�y;����� -[;�]���e�k[��QbT�m�y�&0� L`�̄Y?���ر���w؛� �f����c���VN��9����&0� L`��ׄZ���}0=F=F9AN���L`��&0� L`Bz�Y�fI���=F9AN��&0� L`��&0� ���fI��s�r�� '� L`��&0� L`<i͒��"�9AN���&0� L`��V��aB�X�"������,U�m�>��� -=�w���Z�gBΜP���!8 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_177_5.dat b/admin/phpqrcode/cache/mask_5/mask_177_5.dat deleted file mode 100644 index b07c636..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_177_5.dat +++ /dev/null @@ -1,11 +0,0 @@ -x���ъ�0��~����ܾح����uO,"% ��:$Xui=��Ѷ��Ճ����g�Ƹ?Ώq�.��So~�z��W�:�=�h1c�q�����]�Ƕ��i��!�����r�8Ɓ��`+X� -V�� �������j��j�;�8Ɓ�X��+� -��oV���`+X� -V��?[1�^�h-ֳ5Z;�����rmS��+� -��oV���`+X� -V��;���Z,��Y�M�B��+� -V���`+X� -V����Z�e��ڦ}�r�\!W��`+X� -V���`+�3�Km�>S�B��+� -V���`+X� -V��c��㊛�{g;�^Qq5�ZU���ݮ��Q�L�0+*&YD�q����*6 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_21_5.dat b/admin/phpqrcode/cache/mask_5/mask_21_5.dat deleted file mode 100644 index 04f97ea6983c85e1cf6e68150ea02bffa30a4f4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmV-Q0JZ;k+MSL;3IHGo1n<6P=l`E8qQc53Ts_3F*hoFpjJL@ppoFxt|L%<{<v{-% gKQ=44HIBQDwumKx1E&KUT^wHB_-@jn0GSR`(`g(eQvd(} diff --git a/admin/phpqrcode/cache/mask_5/mask_25_5.dat b/admin/phpqrcode/cache/mask_5/mask_25_5.dat deleted file mode 100644 index c20b59b..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_25_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -xڝ�a -@!���4���ʢ�� ?,"���"j����?n<�O���a �w,l}rG�M;Ϧ�9[����_���x|���=�l4lK��v� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_29_5.dat b/admin/phpqrcode/cache/mask_5/mask_29_5.dat deleted file mode 100644 index 217ec1b..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_29_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x�Ւ] -� ��=M��_n0W .��=-��4�m�y�B���+����R���$��ƃ.=s/,+�B�7�q�z�~�q>=G���Z�y�:��DR�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_33_5.dat b/admin/phpqrcode/cache/mask_5/mask_33_5.dat deleted file mode 100644 index 726d7fd75da51d6bd7737a41e0120162ad66f42d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmV-w0G0oE+U-+G4gettyYm|Q|Ibavg*ZYTH6AU510hWtK(zoJYG1SgT>VVIrQ<*s zI~>0{7>;<Uy1_!w(1s}(>PQoL380wan9y;(obh5mL~qPG^u~gT@LOIlD;&&=vfsD8 MtZ<Ng0Qk1fy0IuSYybcN diff --git a/admin/phpqrcode/cache/mask_5/mask_37_5.dat b/admin/phpqrcode/cache/mask_5/mask_37_5.dat deleted file mode 100644 index 6d32ca6fa8ca286c4a559db8653f722274c6503b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmV-t0GR)H+U=B43IHJpME^aFbN|Z)i!CnNFfDyHiXSDDk0|#L8qGcPB$QgZ&}H>P z6Mwy=xtNYJP8P5*q$8GTpmRmFxG+$uUgBJr@iKnar8ktiR$tD;xa+0O#TdC4Bt{5~ JuLf_z1Mr1%Fq8lQ diff --git a/admin/phpqrcode/cache/mask_5/mask_41_5.dat b/admin/phpqrcode/cache/mask_5/mask_41_5.dat deleted file mode 100644 index e07c617..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_41_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��TA -� ��5��?7���XMtxҴx�� ��?@���7@�~"�N$��S�ɰ�{�+C���A'��r\P�p�<ޏ�-� ͺ:S3s�ԉ�ۻ�ީ�z#��qw��� >� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_45_5.dat b/admin/phpqrcode/cache/mask_5/mask_45_5.dat deleted file mode 100644 index 5168a17..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_45_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��UA� ��5��?���U:N&Z"��:;4P1=�bNvSG�M1��˛�n<�v`q��{���Mg��4��=G�-T���?����='k��u�ۭ����>���'�����(�κ�� J�{E�ѵs�]� ,�sq� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_49_5.dat b/admin/phpqrcode/cache/mask_5/mask_49_5.dat deleted file mode 100644 index 9f3f3cd7d60bcba44d9223f52747c1cc9a9feb52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmV;D0B!$x+U-_B3cw%?yZ1HC|3A0G94cx|E9_(x5y8cz*3P{E3|?W)+(E}-2WX#i zfHZ}}1&-ONsSXt<99&1;WS<vMo2|aM>;^gJWwdf{AS1((&~d%`->c<{A($VpSL1s{ zRx%t39rs?{9Nck;b+FN)RKeb>Q2ppQ^!)JYKLg9b6OOo!Q?K^%$i!U415hQ$TboHr A)c^nh diff --git a/admin/phpqrcode/cache/mask_5/mask_53_5.dat b/admin/phpqrcode/cache/mask_5/mask_53_5.dat deleted file mode 100644 index 449807b..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_53_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��VA� �������"�zYf5Ɛ�JC � �A;�����l�\�,��d�R.�\(�e_�� ���еaNi5��\ż������aLP��(����;����2ש���j�N6O u�+��l{y��6od��^ ����C[�%�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_57_5.dat b/admin/phpqrcode/cache/mask_5/mask_57_5.dat deleted file mode 100644 index c7dd81f..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_57_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��VA -� ��5��?��N�l��Z�HAbB�Z0a���M���d`1�z�'"<Ր1��9nvͨ.��)�bݻ�~�;�<K����ھx_����Eu3�][�/[T�o�J�ϵU羁�4���v� H�Pn���|����Im!w�L1/8,g� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_61_5.dat b/admin/phpqrcode/cache/mask_5/mask_61_5.dat deleted file mode 100644 index dee749f..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_61_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��Q� C�w�����C�Ֆ�B���.ݛ�w�p�����Kv�g;���|3:��}�ؓc0þɴ�j���j7(�l�we^�W�J�ɾ��S��w��t_e���Ϋ�T���M���O�s��9ubs=�?���~~���>�9���Z#t�B�~ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_65_5.dat b/admin/phpqrcode/cache/mask_5/mask_65_5.dat deleted file mode 100644 index ecd9380682523494a1f5577c6e22eff92571b446..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmV;U09^lg+U-|C3IHJpy!#sG|DW4SOD<IC=w3n#34|DCtU=Wgh=k4%b5^+X@&-iq z8Uq5$k6~Bx^PmwP*dQ?=&4az+<reG`7+};EP(5j~j6Me)6&MP5Xf0Zc*5Y0*_TKHN z2-1FW=D}elGM#wu(Z@;&hJF|QN3|BM#m!nUlipVgt-_G_tIxBZ$1f@|<mW8byZ_e0 R)05oXZQn&2!vl^3AjfuVP&EJm diff --git a/admin/phpqrcode/cache/mask_5/mask_69_5.dat b/admin/phpqrcode/cache/mask_5/mask_69_5.dat deleted file mode 100644 index ead4edc1f8a2087626b772df149e54b827722e2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmV;Y09gNc+U=OZ3cw%?L+^e~^Z!4$i%t*X+9ekuwaB0#p>L(th;FD_Ol!+`ptx^N zLEU#+P+TP~hiEM?k<SZblom+xGEW)#2D2I#dB44Z_;=sE^_l=>DlMYCn2{Nokr`dh z=(A4`MyHt}6_aUUXNJM(G}onKt|Qlx8JUq8UCD^KPfsl&$;;O(L#`i%q&M<+dnDc& Vax;Tki-1v3l_b|f_yg_whE8s3Pu>6k diff --git a/admin/phpqrcode/cache/mask_5/mask_73_5.dat b/admin/phpqrcode/cache/mask_5/mask_73_5.dat deleted file mode 100644 index 00001176d018bd72f9f2128f2f0bf775aab99aa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmV;p07w6L+U;0d4uBvG``>BS`(Mr<RE%g~9Y#$HA%qXow0k6TFF*vo!>YR@be?`f zXg4__uzEOkK6dEjx2oLg#9{`gm`?j=wt4_|87ivOHqbF%PAmBX8kw9Db&_}T?ycUn z`rYuGA*p6w>oim|H}6{gZul*glk!e^C-3Cl6W;y1W(Io8^nRzjQ{KtDFL+1JRVtmB msmjs2lzG8{6JIm^VkS0TGiPwh(`lA>@p#INaS{u_o$<u5ie5$l diff --git a/admin/phpqrcode/cache/mask_5/mask_77_5.dat b/admin/phpqrcode/cache/mask_5/mask_77_5.dat deleted file mode 100644 index 1652cdc..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_77_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��Q� C�w�����#&C`T����6��ƹ�B��(���9� �'ֆ����ڢ���zk��"h����v.`����cX�B5[�(��F>71�/3��4��Ϊ�z�^'���[�Fyglg��M>�O�TL�4ϔ{�&3�Wy*�ʧb*��`��<3�;����Vo0�/s�6n�����0�ya��[���m�cE \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_81_5.dat b/admin/phpqrcode/cache/mask_5/mask_81_5.dat deleted file mode 100644 index 71215e9..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_81_5.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��� -� C�~M��?��tz�U4���"� }t����MX�2|.�ɋ�˙F\�������~m��4������X�u -ٔ, ��w�:��E�Ƅ>��X���̯=_�]�g>�>���z�מ�/�)5ךk�k�k���Zs��X��X��Y{ܮ��}����~mt�������:S#���&;U#)��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_85_5.dat b/admin/phpqrcode/cache/mask_5/mask_85_5.dat deleted file mode 100644 index 09cf0e28127934862f45b0f155ede22e48833cd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmV;r07d_J+U=P^3V<*S1n+rG^8e3yuu_X!YO*T`o0cLu)Fn>SVBDKU)x4XXo;}Lz zW!EUrTdh$X>snv=m*blAkGsN*t+gK4zOfzOFOb9L?@mq&=-FzkwKE)0V`(MDRSbv$ zF(3xMXCUdfAl$J#15Y(!+RxHTimUQ~@_-l+17bi7s2)%~pgf>FAO^&M82AqZz<$9g ouBdLo$N>Dm_MjDe$NHpal&=TaS~+q3j)5w#tg{8Q4HYg~22k``-v9sr diff --git a/admin/phpqrcode/cache/mask_5/mask_89_5.dat b/admin/phpqrcode/cache/mask_5/mask_89_5.dat deleted file mode 100644 index 5fff530..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_89_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��� -� ���4������5e���npQ�� G��c��f���l^^�;;b�5;`�k���U߮��j`�N�s���O=�\[a6�����~�nL�D?� �!6����u��F%w�*Ȭ��k���f��77�SĆ�b�Æ�Xodw_���m�����bCl��Nۙ ck&��Y��Voܡ�Bע�ب�Al6� ��Jj�x \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_93_5.dat b/admin/phpqrcode/cache/mask_5/mask_93_5.dat deleted file mode 100644 index ec4240b..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_93_5.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K -�0D�>�����&���& ���fP^���8BY5��s(im����Ү���=f���3�/wۧ��E��y����Y�Q�wf��[}�� ��[�9�0303�ef��̙��3'3=<��K{n��Sg�3��`f`f`��d��ޝ��oi����Pg�7����܇G�jk�G]�}?V/�� k�����Wi72�Js�v�|*"f^ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_5/mask_97_5.dat b/admin/phpqrcode/cache/mask_5/mask_97_5.dat deleted file mode 100644 index 509d117..0000000 --- a/admin/phpqrcode/cache/mask_5/mask_97_5.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� E������f!3bf5��ƼB����|#f=<3l�6<���_+xj����) ��ݩ�y����� �J �yXi�ܻ�5�Izsٞ�c�u�eQ�� �K�K�K�d)�>,ͼwx�D�ַ.,;��s�%�g,�,�,=����R��ὓ�7u���K�K��T�D��<(n lY����h��V۹s�ޕ�y�����P��E�<��q \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_101_6.dat b/admin/phpqrcode/cache/mask_6/mask_101_6.dat deleted file mode 100644 index 13f97a0..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_101_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��k -�0���4��/��n_.��2#�S�H�6�_�P��Z���f˳_���,�7؞��+�%��W���d���n�}��_&�Ok;����P��f�>�t�yY��]�ns �;s��s��,�!Lk��ԅcbL��12c�X9��1���Z�#X��En#;�sv�T~L~L�R��11vs�.�����1���1�1�1�J1&��؍��Ń�1�1�1�J1&ƞ���g��KLƪjl��k{�g�ڞ5�K�1/�ǐ��~,a�����c���$�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_105_6.dat b/admin/phpqrcode/cache/mask_6/mask_105_6.dat deleted file mode 100644 index a58fec7..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_105_6.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��Q -�@D�s����k���B�Z�#o)Sd�}��Gܷ��l�쯯�^�������)G]S�4�S������?�#B�Z�:��+{����s��H�K�N�iI��!��m��e1 -RWe9!��`�`��Uy�ˀ�u�:檞����U=w�-�o�ԺwB�}cM�K���蹰{�{�=�y���蹰{�{�=�y���蹰{�wS��cao�i'�f����yO=C�yO=C�y���[����{S�=�;�|v4}ϯ2���0� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_109_6.dat b/admin/phpqrcode/cache/mask_6/mask_109_6.dat deleted file mode 100644 index be7b474..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_109_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��A�0�~���ρDBH�C�H�V2��0�n�uo��l�쯯��˻=ۢs9[���l'���?���7��R"�&���2����:7QqX_�n� ��]�$�՚�EIY��*���L��q0 �0 �0�{LJ��з(s\�ɳw�����X�-�7^��It��I��I��I�$~?�N��0 �0 �0���O�'�It�g7L�$L�-�����Iuzrfr M��^�'}��������(�O~R��]1Y��L�Ğu��9�Q�ӕ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_113_6.dat b/admin/phpqrcode/cache/mask_6/mask_113_6.dat deleted file mode 100644 index 397f527..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_113_6.dat +++ /dev/null @@ -1,3 +0,0 @@ -x���� E��5��N���Չ�����bF6�on���,m�>�gS�9���RW����c�Ǖ9�&�%�1���_��cx= GR^���w-z?��dz�v�=�,��}ԥ?ǹژ�:�9�m�=��=@U���䲉�UX�UX�Ve������~�by4W���i��:�e=��<SZmAW�UtVaVaVa�ZV�5~�������V�*����*��*��*�^�*~�wk������� -�� -��ZϪb����ayT�f����j�ֺʯj�Z�~����t_@Un����Ѿ�YWsV�� �[|H \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_117_6.dat b/admin/phpqrcode/cache/mask_6/mask_117_6.dat deleted file mode 100644 index 99108be..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_117_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��a� F��4��/��#E��v3�nŸ���/m���Y���T���wm<�~?�l�j�G�����C�qS�/��6f�tݟ�o�Ӕf^�l'��7`��Z���C� �?����he���i���Xq4�[ـ�ԉ�a�a�a���9]P�����Y����M<6��a�[��g�:���0�0�0×g�x8:�Y�z;7�C��at�a�a�a���Ʊ,�C��at�a�a�����O�U6���8����=�g��xx\��ƑX�Q�t�2��J�Z��:�g�� C+\ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_121_6.dat b/admin/phpqrcode/cache/mask_6/mask_121_6.dat deleted file mode 100644 index f3c329945daabf6ceb6ab0e6142db4e6260a8837..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmb=p^>+3}u4V%s*ZZGM&;I{^hb=04yIS((dxvZSQzT-ftM{l(nX+lN_8ODT@5*n+ z7_UD(asGDJ=LTuwGLL68OD>x%-!8VhX~z9)s_}nsM7#IRuTu5NlE1M}DE!~LqHV#? z>Qf#_+}0{yXSc>}`Oi7KFW*{qHhjb7t7W#OJ7->RxEgr--0aihQri-x!RWX2w$z_x z-{(K`{`B@#S%`O<>9f@NPe0F}o}Zti{rT<T*1W~HUzp__hN1f{Z%cocZ7HAp_GQes zK<{-cR4?Y1NZ)PCy#YmU?bB!PmCic3bF0d(UZCa;yiio0Wc|`%=9z7qUOziib}P%o z^uFHdZ+Tvqg3Y#1i@93<_|v}GVcuEQr`&Q*@6QM><C|By+vB&Ybv47|84qd!2EM6D diff --git a/admin/phpqrcode/cache/mask_6/mask_125_6.dat b/admin/phpqrcode/cache/mask_6/mask_125_6.dat deleted file mode 100644 index ff64d44..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_125_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��A�0E�����r3���&H� �y�b+��Slh�0Ͳ6L���wE��ѿ��fǮI����v�;���&vw�,o��]u�d�]|�k棘���9ԊC���}�s�1�9Jw9ˡ�Zb�=����PK&�a�a�a�a>�����ɼ�Æ�$<>�O��v���'����C��yt�a�a�a�a~����|���'9li�Σ��<��<��<��<�����I�æ��<:���<��<��<����ٕ�W�Dz��y�:.z=�� �ݓʯ �s�V�öE=ll�_k0_#v���ί�m���j \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_129_6.dat b/admin/phpqrcode/cache/mask_6/mask_129_6.dat deleted file mode 100644 index b4695c3ff0d8ebd6925d8af5e0b403d5974ed46b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S&+U=Xs3d1l6Mc@4z{r{iaU`b3tw}-Y`#z{*Vj)K^nc<+O%V_D@=U$Xty z&tEmqAcJ?j?v86<g;!jIAj>TK^YOR_hi^6CyeFRR#Fmw^kkN5f+<vm4Uq9gaxMwi; zrgdF16DmCp_FH_%R-TC4Q^q-MZA)wxpsNZpcC58+1XzFtSb&9xu@L!%%tKrrmrTjr zt&vt-GCg~@Mp|)ky%Z_>OzB@3mz7YhU+_46fxbXrKqJ8dEWiRRzyf{&zkpxBFVGk0 z3uq)*fCX591z5l@;1}=<_yzg`eF2RG3$OqSumB7A1^fbj0lz?Bpf8}2U;!3j0T%w4 zg_beb0}DNqzB>!qv~!(b=$i3#ztA<~>3$)bcdqjbP4mv1Uw8})+SVD`X8*k}X!oJ` I0%mGk`PF`vEdT%j diff --git a/admin/phpqrcode/cache/mask_6/mask_133_6.dat b/admin/phpqrcode/cache/mask_6/mask_133_6.dat deleted file mode 100644 index 40911dc575dbbb17a4a057a46521c47b159138ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmb=p^>&UUU$X%Z%lo?CzyHr~4f5p772*@!y+W#4z-aoFvniX|)r-4>+}{b_t=?z1 za^B%Uo6C=?Bf5p+A4mDPRY%qZb+7;LH~IgZx!WufT|#<QmBXLkf81dff4b6DdTrg# z7w>LdH+*}lvf|jbWz$U;MJdj?+L60%T4~Y&jvfg5!>uf4f9dJsH`X7Hoj9}k^e4rC zS0C4C)Ev*0lXY~zAowlHfJqsIn&c1mKXCt`{DQ-(sSmClB=SSBgaxSfM)pCdp>-_w zAk_;%Y9X4Ll<f^Ry?7vI^ypQZz0szex6^-4+|w$5^5{%{EBm7Mx^J7lZGK;Or2N_8 a4#C%5g6k$b^jS^XRvfsig5kq_<$3^#fR7IV diff --git a/admin/phpqrcode/cache/mask_6/mask_137_6.dat b/admin/phpqrcode/cache/mask_6/mask_137_6.dat deleted file mode 100644 index 43ccb68..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_137_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���� E��5��?�e�����^�4f�H�p[1-e)UQ�V��]�U�W�N�5��o�*8|���۩�W����6�bk?����{�f����|>�s֪���r6����6����6�rҟ�=��v�ڲ�Wy�����-��' -����Ο���;qtQ�E>U�϶�f���곭�x�N]Tc�(s❮7t�Aw��`v`v`v`�kv�wf�wt�;]����;����;�;�;�;��!ޙ;�ao��]���;�l�;�;�;�÷�|ʷ�������������(3}��l.��?��"މr}��;�\}�S��-A���w�<9;�EV�'�ם������ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_141_6.dat b/admin/phpqrcode/cache/mask_6/mask_141_6.dat deleted file mode 100644 index 0340409..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_141_6.dat +++ /dev/null @@ -1,10 +0,0 @@ -x��a� F��4��/��c����]�زȐ���[���=��[E럓���s�m,��f�n/�|kj\��j�?g�����[q��(NO�Zc5���SGGP[oM�V�ָ��f���v�L<<e� -+�Ěa*XG6����)��)��)���cL��S�6�tj�M�]o���W8�D~�O��D�`�?�׆N�S�k?��)��)��)�*���U�)���?�SI�= -t -�B�X��L�L�L�T5���Oq��Q�S�:���` -�` -�` -����3_��E��)t -�` -�` -�`��L���yb*?2��T5i�?U!�K��*�x��T7i��o��I�EI���R��E�uJ+M�7��' \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_145_6.dat b/admin/phpqrcode/cache/mask_6/mask_145_6.dat deleted file mode 100644 index 6c142151340a9c4221c8b63d969e5894d1302bac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmb=p^>)r%zGej;*Z<!$U;N&GXPS?T_`Wo=s<V7jn|l^SSjI*91mEg%pBB<3Temzs z^vK3ri=W?btiI|dx8rK=mDe?!SKV55U!~NyWK-Z{&FxvY*M3U1x4-@S#54`(YwPa6 z-@4g%!?&XsFInHdr+zy5Zm8Mm@6x}mtlosp%fBQ2yJU-Rc+9dH>C7u5PHroFXT;2T zErAz-@(#{w+P}?wqtMJ3uDW8^Zp>M}^Fr0Lpp6sHMCtS0T=zSWcURlGh1q8m6XBZP z)<+zU-@Sal+U99%rKBCNUob7{wNzPiPzs9vGH3tDF8^{p;<VgxH=rbMY%(8b_69a6 zs;TbTe=N%EzTD#M7gD>9$q2z5quaE#u5AU!HIYpjb0cSa)^E8M?_KmSO6tj)==bYa lKD}5p(<VyQY|+Hc>yFJjBc0i__3AFOq}<9%1{c=3R{)onxM=_Y diff --git a/admin/phpqrcode/cache/mask_6/mask_149_6.dat b/admin/phpqrcode/cache/mask_6/mask_149_6.dat deleted file mode 100644 index 69e9883..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_149_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��� -�0E��5�����f��47��8UD�6����2�z�m�pߞ��k8�����}��G���ӕ��N}?}��W�:����gu�WA�ˌ7~�;�)����Ø{̪ǿ+�WP��Oۢ����r�E�\j�wG)y˖�w���A�A�A�AM%����2��`��2��d��l����|p}�eqP���� :�� � � � ��ej想=�l��T5��ɠ�� :�� � � � ���G��{��d��d�AtDaaaaa��&أ�&�w� :�� � � � �1�����-MRb0��W�f� ���uz�5�&Y�iIѺ��NрA���P�QS���L}4 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_153_6.dat b/admin/phpqrcode/cache/mask_6/mask_153_6.dat deleted file mode 100644 index 3ab6130edd889298419b702ce1dcfddfda30cf2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmb=p_4ZC+-eCoSmWSnj%-{FNXq%daEZUK`+NjemCo*t?dCFURVYiCx+AY&AWaXz; z#M<xrCa11kU0?s-?tCQojc1m#>w80;rtkb0d8YE*wD7uX)inq9ZVuZUFDP(T@8+N1 zd)6dxd%yYT`R@txHxIga-#%q{p=18$LjAv|)HMzi=<x5&DqOooIWaR*n?EAzPH&rU zPLlBK8%Na4Hg@{v+)FUd+*f%_r}o{>qI9z_Q`c5T9@Wu3#VwUI?XqmF<#Ov^FVyZX znO%a=0o3e&KJ815aoXF1m16oYp6*fD<!Sy>?Jm?ru;I^wH)p;*n7!8a0qfl_O<0VW z=e+S-gZL9m5s=<x|F^*01Ju1g(RfwP3w5*2T5J1q;zF0-HNWq(y7A_9xg}Q*yotLI kT6?QDE+C@z)<N#B^v%aK(_`MgSU1}=l;s{n_O@hJ0Ehp&kN^Mx diff --git a/admin/phpqrcode/cache/mask_6/mask_157_6.dat b/admin/phpqrcode/cache/mask_6/mask_157_6.dat deleted file mode 100644 index b45c0ce..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_157_6.dat +++ /dev/null @@ -1 +0,0 @@ -x���A�@D�}�f����D�N%���n�ç�,�֖�SV�V�>��W��ó��C�a�z�6���U��~һ�{`n��������ݻdvV�y~�r��Z�"�q��k{>g$��XK���U}m\b�ja�G�x��,f1�Y�b������]�z���̞���^��.��5�[?�嬜��r���,f1�Y��Y>�g�����rV�b���,f1�Y>�g�,���rV��m�Y�b���,f�,��|V��Y9�Y�b���,f�,��|V��Y9+g1�Y�b����ً �̦M7>2{9z�϶h�m3���l�|�9�x�ټ��#f#�x�6 ���-�v�%�N' \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_161_6.dat b/admin/phpqrcode/cache/mask_6/mask_161_6.dat deleted file mode 100644 index ecec68b1ac0f7ae45685bed5d752ef54a48f0f3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399 zcmb=p_4aOH-eCm+*NgRG%)jr)tiI;gamK_~Was)*2d9a$rlz<Rf0p3c@qKO2l1uBC z`p*Ad9(t&>vVFd(<?~zZ$}b{*f4I<*`a7%s`~1~%o5Fs45MW=eaWnVY#m~RrXJ?CQ zPF$Muv-DrZxm!C9f3mz-cKz0M*>`Vxt}K4Lw&$1iobzS93uRn)?%d|f?w*sGT%NE> z{5IRU4qg|XWXaPJc9Wm(u=|#>w)ceHw=b*9PWtu#%$j?0UgYIfVgE|ye<!V7yI65a zzwh*yMzPCIM;tSnwy`G_tg&uZ>d#NsPfj0ye)_BM^UK-)PTmj)Dk+(%2Qn6>@Mqw( zr>Eaf(4VdSY0^ghT|OXlU~(X3o3@I6N-cI>vvvVU=j&u7z0uK%@n+#iZgHXOO4Lz* zS5klalWD4FYUNJv>X3bV?!C6tj6Zkhb=|q?)qi3p?yJdny>uh|S+%y9&hsv>7uDKn Qv3e2bEbSR&we7b907^~O^#A|> diff --git a/admin/phpqrcode/cache/mask_6/mask_165_6.dat b/admin/phpqrcode/cache/mask_6/mask_165_6.dat deleted file mode 100644 index d641dfa3dde2565c932c7234b4521d35c4a1af0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400 zcmb=p_4e+=tY!lV)(ihDXFd5FpVz$dq?^)Rf%2utrx}%SOWEwLn>i_J`_iSlTlG_a z?5xW@^>fafr_X<_`MyU#`bPG>>Gu53mUJ)QUoZ3jlYiaKTYL1ypC5hw`u4`@;aj#{ z65c&WV*jT2f7ha_kN&Vtzwen{t6%P~`!n?0+`iwtWbQAWZ<=}1xMrHJarBp<TlXfO z+#6}up!@4c%ACSulIcKV`mx~kSNpGd?a!Nk{qSqApT~4lYv=rr>;Hbut9$M7_G_mM zcbUq6j_Pl_yVJGrbfKl*aj-TBao%v9T>btkn@|5AAOFSPyYnPS{;9>|9^-RRg7etb z$M3`Xce6j+WoQnP+#v(96>7#EW6f8E-w#x%VH*A2r>p9Yt-(CciI0n7`gVuGb<Iz) zDYNRzKUSRnO`>;wx~J!=<CC8Uy!cx2Nrr2$T>SaTlS=q~KG<j;o^g9|&-E87{qwk2 QKCh^C`ccCmILZ7p0Lp^dyZ`_I diff --git a/admin/phpqrcode/cache/mask_6/mask_169_6.dat b/admin/phpqrcode/cache/mask_6/mask_169_6.dat deleted file mode 100644 index ae68972..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_169_6.dat +++ /dev/null @@ -1 +0,0 @@ -x����J�0���i��9[�J�ɘ�k{�1�b�!g�nhHkS뉭-�V?��KI�����ׁ��1큏�1���ƣݎ/��������`���/z�)*�=��3ڏ�g6���^k6��5�C����Y�<�K��kM���[�y@�G�&_=~���>���>���㵾�+����'{��է_�Vˊ�x�-�J���<ӛܗ�r_��>���>��i���;������r�O��}�/��g�}��g�}�ٿ�}����}���x�O��}�/��g�}��g�}�ٷ�G�o/�{{���r_����>���>��o/�z�^����#������}��g�}�ٿ���d��'�ʳ�|�QR��NS��3�����������Y�����ڳ��Z�'�ms�E�Ƿj�5� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_173_6.dat b/admin/phpqrcode/cache/mask_6/mask_173_6.dat deleted file mode 100644 index 95fa97c..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_173_6.dat +++ /dev/null @@ -1 +0,0 @@ -x���a��0��9Mr�����M S�*:a_-��5hh_�)�u�Z֭[�����l��o�ےs��mK������N�{���H�?x��`l�#f�9>�ڟ[���e�Єώߓ�� �?�^���m���*�/K�m���h�y%��v-nKl�������kK�L`��&&�� g5����(�g�wx�Y�ܞ���a¬�pVc�Z[��#O=��SN��9����&0� L`��DŽ�� ��'t�j�j�]�QN��9����&0� L`���s��YRc�@�QN��9� L`��&0� L`��"�YRc�\�� '� r��&0� L`���E�����H9AN��&0� L`��&���7�p�6�`�|�����hm��s�� ���R5����Ƙ�ȉ k\�X/�� � )�g9� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_177_6.dat b/admin/phpqrcode/cache/mask_6/mask_177_6.dat deleted file mode 100644 index e9f0476..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_177_6.dat +++ /dev/null @@ -1,14 +0,0 @@ -x����n� ��{����ڤ*4v۴u���1����{<�L�Gi�K����GU������]�m�/�6���j��?mZ�m�z�y/�ξg�j��\�Փ��<`�_��>f{�����_��,�,K9o 4�ǵ���7l���niJiggi�r<�-MG� -�� -�� -�� -�xuV��+z��R�C�r9�+Gq�6�QW��b"��Qe��"�WL����+� -� X�X�X�X�X�/��|~�j,�n��mu�M���ۤ+� -���� �X�X�X�X�X�Ya,��X��;�M����+� -� X�X�X�X�X���e�)o�<S����+� -�� -�� -�� -�� -�� -�0��X,ަy�t]AW�X�X�X�X�X�;V�H��92m���e3��Wd�Q��be�Qؽ�]>Ә�f�|�����5��H���늚���7/D \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_21_6.dat b/admin/phpqrcode/cache/mask_6/mask_21_6.dat deleted file mode 100644 index 6bd505b..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_21_6.dat +++ /dev/null @@ -1 +0,0 @@ -xڝ�Q� C�9M{��i]���X�1����-�C!����D��7 W�ٜ��&rD�)~�]<M� �3(>{��A����a��S� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_25_6.dat b/admin/phpqrcode/cache/mask_6/mask_25_6.dat deleted file mode 100644 index d45083a..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_25_6.dat +++ /dev/null @@ -1 +0,0 @@ -xڝQA� ��5����2)�e+�(Xm�Zt�*(�ڹ�;���tJ�<峂�_ڤ�3�o���ڴ"̢a�zh}�&qv��SG�֙,�-���J��4}���oS[��}w \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_29_6.dat b/admin/phpqrcode/cache/mask_6/mask_29_6.dat deleted file mode 100644 index 0408e22..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_29_6.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��RA -�0�������Xc�����L(4E�ԈB -8C�ܾn�M��+lǝ��ՆO��1]�&�ڍ�4U�D-6-�$:6�dZ�?y��l��f�?� �8?�߲�<�l��}��g�g���* \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_33_6.dat b/admin/phpqrcode/cache/mask_6/mask_33_6.dat deleted file mode 100644 index 8de4ba5c9ba9a264cf4ecdce048414a103ca9a4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmV-?0E7Q{+U-*@62Kq`+j$N7|L58(kh4fSIW}?*IZa71?g=y$Z@wV--1ieV|EfU) zZS5LeWzbl=5S@-V;-&hAT2>bTQ5IjGy*#_+5FlYF0i|O3{~#Ory&Utx49Pb}M!qqU eGB4z0Ua0$-m+;~$`<#o+3+E#9Qgs1fkI!%T**fq5 diff --git a/admin/phpqrcode/cache/mask_6/mask_37_6.dat b/admin/phpqrcode/cache/mask_6/mask_37_6.dat deleted file mode 100644 index b37ff0a..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_37_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� &����T `���j<P�0��jB#�&����,Yo���fU��j�*U�Տ���Y���[��oY5�~�5T7bnb,��]�˘����������-�������qF:s��t�Dc��h� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_41_6.dat b/admin/phpqrcode/cache/mask_6/mask_41_6.dat deleted file mode 100644 index c1535f785075590372cac9f7c7689197a1b58d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmV-~0DJ#<+U=A<4gett1Mj>B{{Ok%tdtlP>c!Jq2?sR|6OyXBED_#CJGJ|{4?o|# zWi31{IkRWty7H{19EeICVF#bFBLK`Sqohq!P3c{Hxke=hL*^<DXmrrae%b%Rj?AK2 m7jHD{B4D<&uJ<fr{$t<Cy2ehkF80oI9($)bk9q)s3qUmv>psZ< diff --git a/admin/phpqrcode/cache/mask_6/mask_45_6.dat b/admin/phpqrcode/cache/mask_6/mask_45_6.dat deleted file mode 100644 index a7da7ee0297b6371bd3ebf57467f009712e40cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmV;u07CzG+U-?A4#Xe`yz?6P|L3|%6(}8a+S4YxXiTkkisJyP!>lt6lk}|T(tQNG zKksqJ*w!?R9dPAm82jdF@w%LHYmk%ah`(8LQqB>(=edn(GCywV&RxRO?k3YHLkmWk z*aT+KWsqQ$<3Gg7PA4uT3C+}K0drYmWeGYb>)1(p7ta_qgP{3eCtn>q+w^_mWM3IF rC#dT5I$?6GuTnWSVh7coK6Z$@lVax;CrT-Ws>PubeR7!xL?VGyGa6i_ diff --git a/admin/phpqrcode/cache/mask_6/mask_49_6.dat b/admin/phpqrcode/cache/mask_6/mask_49_6.dat deleted file mode 100644 index 64ded70..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_49_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��VQ� ��i���{K&������YX���0�̦!=����t��n&��fp�WL -�`�/�<ϓKVrU�\1�bGp��@��ӑ&fN�/+ƽq����`���AW���S���RGp��_5|�|z��xν:����J��+WE�m4h�4�3tܭ�.���A�g`\������ʤ�*��F�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_53_6.dat b/admin/phpqrcode/cache/mask_6/mask_53_6.dat deleted file mode 100644 index 9139e325901037a409a2a2d317141cbd9bb27807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmV;!06hPA+U=In4uBvCMc?@v`Tw7*ElsG)6&_ona}B4=6R_J_H(gnqCg!_cThR(n zojZKuSh^TEmcRQQKZxaCGEO}_fJWLvh7ncHkT}m%gO65*3_i=>Wv5I&JTu%XJ;$_U zq9afxnshi?de~<88-}PKQlCVXOM8jnene{dW{CPB^@+QK_CphY=i#p94>Qav8_#g2 xe}y4d8>?E5v<<K2ytc8moYyv{b6LGn=!bcI2pHCqqo5CM9!3o5JOC;}7LwsxT&(~A diff --git a/admin/phpqrcode/cache/mask_6/mask_57_6.dat b/admin/phpqrcode/cache/mask_6/mask_57_6.dat deleted file mode 100644 index 61e7e24..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_57_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��W�� |�k���K���Q�-�^@c�"Wr^U�Y��M³>_ݏ`���8����G�1��`�B��`;��+���}����&s���]<�J�QF=mb3 U�F'��6�Ɩ�E ����5�Ja�wZ���60�� -�[���9���9���{��S��\ݞ8��`k&���os}{�[R���[�+��w��O��d^jW \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_61_6.dat b/admin/phpqrcode/cache/mask_6/mask_61_6.dat deleted file mode 100644 index f2d3f10..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_61_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K� D�s���ڤ�E~݂�ih��'� -�����N�'oVW���jsp��Cz����ο���a��g!��#WD%~�˃Y?�J�f���R�E�����Ko�ͼ�ǘ��|Ƀˎ*�O�P7�������n�뼽��7�s�`���������s���d�D�����s�~>�<�i�K'�l'��9���%.���7 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_65_6.dat b/admin/phpqrcode/cache/mask_6/mask_65_6.dat deleted file mode 100644 index 550fc8f..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_65_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��WQ� ��i���{K�NLk?��e$�Q�ik����4���1{����`+�!�ڮ�M �?��������1b�8�����.��^��w������sn��Fj�5��EaQX|�=w�@�2v<�ŋŞ���|4w���\�UX�BQz+��T��T���c�B�z�/4��8��,��5�`������ȱ �OV$ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_69_6.dat b/admin/phpqrcode/cache/mask_6/mask_69_6.dat deleted file mode 100644 index a3e4fa0..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_69_6.dat +++ /dev/null @@ -1 +0,0 @@ -x��K� @�����dTh���� hLSSE�q eY@<�+�*�|�窮%���>������z�*7��e����6�Q���S`��.��>�sE�'�%@[��6�@P�0�h �a�F�xtpl�2������Q-g1N�feo^������0F�dT>N_�O���w��G�3���u����g���{�3<�[�Ժb?�'6�^�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_73_6.dat b/admin/phpqrcode/cache/mask_6/mask_73_6.dat deleted file mode 100644 index ab71b70ae59ccfb23e9c4185b1e919d531fb040f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmV<C02%*y+U;1;4#OY_e7~=O|NprynNE$+6|POT1vI9ird~LK^hBCz#$*_#XL-Gf ztmc=V?!+`PX=2!z*5fRkJ9r1v9)T?~`%XLJl)2nRar)f3PLDox4wN0}Oy#cAG%+F& zzv0V@mOn}xv;$&Mp~YY6Koxhz-4}Cb^}DbS$Mrc-+i|{+*fsOL4WnyWoh;zP$Ft7j zth}qdEAEQB8@T)Ln#uno+|utV@2X}NcR$IUtzcxhV^o!uJ5TC~*G##rW{RVU#cSqO gx{A`e%IJ5TCT4L*-zYH3;hJ|s>6w!~0Dh_U!#`ksFaQ7m diff --git a/admin/phpqrcode/cache/mask_6/mask_77_6.dat b/admin/phpqrcode/cache/mask_6/mask_77_6.dat deleted file mode 100644 index ad5a660..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_77_6.dat +++ /dev/null @@ -1 +0,0 @@ -x���� E�����۲i���V�a�.���F��pST�Y��4q��~�z��=��:�͒ �6�����m8��:#0Pض�iDy:2Š'��Z�s��&}���滜\r�0\�Ś��Xw��;iP���ȔL�)�S���eԕ�{h�Du9�L��b����J��S��S�)��)��gZ�{��e����)�qJ�d�Lw+�#�3-V0�շl�j����ڠ�S-�S �9=ݯ��5�PP��q1M�?�g� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_81_6.dat b/admin/phpqrcode/cache/mask_6/mask_81_6.dat deleted file mode 100644 index 28a6d07..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_81_6.dat +++ /dev/null @@ -1,3 +0,0 @@ -x��Q�0D�9 ��r���R�L�v�k���`���0 �;�i6�����\|��_��cc�1��h��u���io��#2��}x*.Y�t�&��� -ְ���q/K�;3�v�e�̢Ȋ��A�H��?`]�5��K������w�!}{Zû߲�W -��yⷾ��^�_y��k�k��^K��ת�b-�b�YSڸ'֜N��u�����#M�f�HS�Q?|]�I��A���i�M���y��yuW� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_6/mask_85_6.dat b/admin/phpqrcode/cache/mask_6/mask_85_6.dat deleted file mode 100644 index d5403e49a80cd825886b9cf067587297c22542b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmV<B02=>z+U=Q93IibwME~bB$^9?aLbYnE?lu`e3KJJuW<i5KW7wD#^Q>7jbno{1 z6z!*@KIP;y_0^MY?(1Uq+xo)SueFNlpSwk~3kHJTZW;Jhe~*j0f6i>Ev*&T`9<+0j zJ6S`Ia)zC1@aibjTa>+X>cWZvF(3xSz)1!u`9P<`={Ia;V3iYwbtJu->xkU@m%8GB z;(!<s17bi7C?8Nhpg5p7AO^&M82Bp&Hh<s~46v#NBLmygMmQg^Bl&=BYDV#V;6%N^ fsr7=E5AbS6GX|){f>ntd<ABlXhMheC7^q%{3RrSY diff --git a/admin/phpqrcode/cache/mask_6/mask_89_6.dat b/admin/phpqrcode/cache/mask_6/mask_89_6.dat deleted file mode 100644 index eeeb5d1975726db479315433df630a4a8e589dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmV+i0r>uS+U=Q93dA4`ME`S|<o=i2!s?nrqHZ%nKPHv3Y^X$i#=)pIGlc0daliHJ zs=ULVFHgP2F&p5CV@^T{qsvB_#GK4pG^f4i@c&>1p|)V-|IyeM8#yz&a$P<5H8u1j zJvs=^zR6hA`VPFkrR{fvn^+GR9ksLtHTXo64YENt$i~~)fawi)LW)84hWko>3Nllc zx#paE<e9G67>z7d+7rFOyurM|GlguB4YENtj<P|$;q^v#_m$s?ZFmlAQRWTi4W21v zgKUtEce8=4wB6YlM<SYyN!6;TH)gfAn%=<H+PvP-V|QOVsl(Q^D7Fq8uz}x%;5w|& N8&fta?E|p@;=ad;iuV8j diff --git a/admin/phpqrcode/cache/mask_6/mask_93_6.dat b/admin/phpqrcode/cache/mask_6/mask_93_6.dat deleted file mode 100644 index 6ff38db6816cb1dd00791479e808b47d506863bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg#F+U=TQ3d1l6h5vgRz5nGlSQ1?^CR?<O@oXuj($1Q%<`Ku-OtOsC$ei=b zb$)c7{=A;E`>{*X=Ev^DF}ptAKX6@RpX4vjZjklMsHWS3nR)a*F|K!unUJMmO!Vn} zoTXx;{$pvl+nqFvSzoF-QmYM8VkABAis-2UASH<hGhhbHfSG?_CRfksd`yzAXN+E; zp;~8ZHd4APAMNO>PxZ{Wiz40ft)3ZUf;xjbgSiRJfEh3YX28r%%+%_c*_vLo*0<$@ z23~1k)EU$n%uQeh%zzm%^YhH4w^!eo$?ptXW}>e4xt^)$QR<prMUPT7aMag6*T4mR aZKHv2VTMa8P04>Dw9atl$NB&!*=<s9pOf(b diff --git a/admin/phpqrcode/cache/mask_6/mask_97_6.dat b/admin/phpqrcode/cache/mask_6/mask_97_6.dat deleted file mode 100644 index 3a2072e..0000000 --- a/admin/phpqrcode/cache/mask_6/mask_97_6.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��a�0��s���d����Fx[�=4�H���o�j3�4�&�s}�*�����aV��c�&3���5�arW�^a���LCl��z�q�,���1�x� ��SQ�N���]��/Giu�`&�����w�%�,�%�D��Y�"K�t��+�HE'|R2�(v1��v���qi���qd�,�%�D�~����%ػJj�}�ͺĺ�gY"Kd�,�+K�� -�]W�t�+sF/)�]�.zN���'`�>���1='#�`+b��l]Z������� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_101_7.dat b/admin/phpqrcode/cache/mask_7/mask_101_7.dat deleted file mode 100644 index 1f6bc51..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_101_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��Q� C�}r��m��`���f�j��T�#�����54't���f�a�Їo��$�c<��������Hݠ�h8�l������o=�Ą�ŧ�Hv��;�z��!�|/�F�Ѝ3cf̌�S�ʅ��㍂���8�K�)4�9��Q�1�1�J3f�����S+�w�c�����k�3cf캌���z�y�y̵Ҍ��1�{��bL����X�S+��.to{>���mO��J2��3c�<6�Xn0F� )� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_105_7.dat b/admin/phpqrcode/cache/mask_7/mask_105_7.dat deleted file mode 100644 index 6b0cacf..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_105_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -�0E��F��a�Mҙ�N�Px)�pQ���_�~�|ñ(b��F����$.��a�o���W�GN�P�Uǖ��M�%{��o�HQ��U�l�ִ���L^>+��m��#{�{�eo&Y2s�oM�)gncO9s��Z���3w�o���+��{�=f.����z��ޣ������{�{�=�z��G�c�����s�kCQϞp���^��&�{^���N�ʷU���� �e5��}��E�wG��n+o \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_109_7.dat b/admin/phpqrcode/cache/mask_7/mask_109_7.dat deleted file mode 100644 index 9875cbe..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_109_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��A -�0D�9Mr��}��*�_x-d���:�"�NJ��-k�"�⨚���d�{��ջ��������גɬ|<b2+�U������%Z}�.�q%Gi���h QA9��I��I��G&��ɞ�<�� o�:�,ub�2}�mބ_ �D'�I��I��I��O�'��$: �0 �0 ��I�$~�D'�w�$L�䇙T�OvLVOO^�<�������O�b��O��O��O��ʛ��t�\3����<�G�ͫ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_113_7.dat b/admin/phpqrcode/cache/mask_7/mask_113_7.dat deleted file mode 100644 index b6e2159..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_113_7.dat +++ /dev/null @@ -1,11 +0,0 @@ -x��Q� D��4p�˵M�PeQ��6��d?Ը�>'����r�Q5+ s����)�c���7��-���1nn햺q�ɔ���Jtg��^�ʉw�̘Ň-��?�*�&Mm�@ee5��^� -c��� -�� -����,�����b�\1��3�j�4��T�Z�fŢ���o�����*� -�� -�� -��:�U��t�*����������� -�� -�� -��Xů�0<�BW�UtVaVaV�Y�l -ް��k�f5���_� ���k��W5{�����5pn�C��Z:�� bv \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_117_7.dat b/admin/phpqrcode/cache/mask_7/mask_117_7.dat deleted file mode 100644 index cde78c1..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_117_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��Y� D��4p��U�����I�>"�%6�ed��8r�S�Ns��U��n�k5�Xe��j��ު�u�������V�Xg��,l`���u������!�h�XZ�\V�lM���|[ͬ��0�0�0���#hF'��c]������i��>�����H�at�a�a�a~<��Æz�y�qkO����0�0�0�����㪞F��a�a�a�)��2�˰�fÒ��%��z8���tO=���3�=�����3��:��c�w� -��V$� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_121_7.dat b/admin/phpqrcode/cache/mask_7/mask_121_7.dat deleted file mode 100644 index d5d577f..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_121_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��[ -� E���d������i;^az,�#6ƞ^r����h�������&����^am����Y�9�_�غ�5C�r�6��t^�^�Wl���E��ز~ɿ|�M��m����mS�}���( ۰ ۰ ۰}�mQ�]�Z�V�q�]��v�Ѳ"�M�1f��G���,q���B��mt�a�a�a����z�eF�3��cxI��D��mt�a�a�a���m�n�ý$��n�۰ ۰ ۰ ۏa[}�`[y�������ޖ)�n<��4�K�/��O��s�l�n�l�m���/G�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_125_7.dat b/admin/phpqrcode/cache/mask_7/mask_125_7.dat deleted file mode 100644 index f9ec0887b05d63190cd6ebe1bb181252db240a5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmb=p^>(%+-(dwFmiND<{`^0`b*j_CTqezxZ{^rj;wKcm=?PmSu=Glz<7VlslV=Y- zO8>Uu%kQn~TjKuaTl~3{$o%&7)#h8}=22b&;klFIREslqHa`A!?#mmI&via`Hb+0Y z@=dof=(6k4<!=_PVpy^zF0<5rk<?z!mx*%E;7E4Hd8_mJXZmf{JfC&vwe;JS@;^3~ z_AgI+?jCkOlXtHB^NW=;+TrNu=`+vgJ)it;$%hR;<-{;#wa*l*x3>3w+wj81s{h<! zn=?@KNA=lb`4xK&<^P*~I9YSj_Wb#%_f_hmK;F^A$M*BSvB{aa<=)-H|4cuxvzo7I P9{eo!G4JW)llK4s8q}i` diff --git a/admin/phpqrcode/cache/mask_7/mask_129_7.dat b/admin/phpqrcode/cache/mask_7/mask_129_7.dat deleted file mode 100644 index 9bf51d5296d16b3c4108c0d8d5131376c4750146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmb=p^>(%)-(dv-mfy8!@BX(Jcim*@*T8k(?P5abBdPTV55E<2nWM}-KktRmgh+FK z(J5XM>l-trubloFW*NMH^}mg5a-3Y>F9fC9#l&wam?F3O`BH_m{d}fVk6)~v_I&Hz zHJ=+c<TkIl|9@WT-;HXV8yL8O$o|-&6RXa>dHrqItm^WLCC8c$D{tL(Yf{g&%x7Q9 zubFPXVwyI0pF{it{Ra~h7{x%SagRfsg8l^Y7u;W1ZG?0VFoDnn@e|xnSU)k<HtuV1 zZ(@yT0HIGzl_13n^e>2i@PJtN|E!a-ww)M{dF^|hGkUkCJ!|~{M9*8VnoW7a`o8vg bU+c{{(M<y9_C2r_^eO+p`zLF;SnzKE3ipWY diff --git a/admin/phpqrcode/cache/mask_7/mask_133_7.dat b/admin/phpqrcode/cache/mask_7/mask_133_7.dat deleted file mode 100644 index b643ffedad796ded72ee2b50faad70b04ecf7057..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmb=p_4bY<*I@+#w}*e{xV^968RQ|&Y{)4ht2v)hoOx;Uv!~~yX9U?T_S-j0uv&Pl z-@Nm?PUI+GGFvilz3cwlhF{M`&G}ywv3I*z=Hp2dFMj>i0VI}n?>ZnFz5Vih(RRyE z|8~uM{F%Y??j(=+_U|&*MxD6{EXooGIou3B+4rdIt<3u>@m`ky)yCCP{twlzB)65{ zxt83x+o|t_pyi`jZivc5?msx>A1W8Q07ZMC+7Tk}qrk>B3EF|xO$4cfDymCT`D{~t z*yCE}H)iGgttY-t-17O&+Wsls{yaWkCr)~=oXRV&$sJJi`D}ZpWzpFaOJp>)b53$^ I_LZ6o0K%<<s{jB1 diff --git a/admin/phpqrcode/cache/mask_7/mask_137_7.dat b/admin/phpqrcode/cache/mask_7/mask_137_7.dat deleted file mode 100644 index 11d212b..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_137_7.dat +++ /dev/null @@ -1,5 +0,0 @@ -x��� -� F��4��/� �c���_ǂ+�{�S�K<E�Ӑ�%um�Ĕ�O��c�P�Ns��u���+���ʺ�QS,E)ֵ�^�f��a�_�HkoKr��6�D�ZQ����� F><����o[l -����Ο�� -��0��7։�V�l;b�������7��fM�S���;�1�������L�C�<�Q�[+@w�t�� v`v`v`v&�!� ��7�X+@w�t�� v`v`v`v8�YP�;��C�;�;�;�saG{��;ڻ>vR�|��������K�����M��H� -��#Н(S�����q��d \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_141_7.dat b/admin/phpqrcode/cache/mask_7/mask_141_7.dat deleted file mode 100644 index 98dffab..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_141_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� E�= ��r�I�TY@��Ä�0!���|1����t�bG0��ԗѤ�s���2Z/��o�a����\�q��z��OnҋM����n���t��X"K��m�eM}���Cp����P�L^����S0S0S0S�L �)ǔ��ژ�Y߾%��b��,�S��l?�zC��)t��L�L�L�LI2��z���RX�h��@��)t��L�L�L�LI1��z��bϷ��B��)�~0S0S0S0�7��)�|���B��)��)��)����3Ֆ�L%�tf��wM��*:~�h����Z��sn�c��$1UTtJg�8���OY�E \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_145_7.dat b/admin/phpqrcode/cache/mask_7/mask_145_7.dat deleted file mode 100644 index 4aa2bac..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_145_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��� -� E��5��?W6Z���-�^���2�q���bG���X6(Ɖu�"�Lb�b�Gu���μ���Gk��:HwA[�j��m��H���ݞ�3�������O�kQ{l�|��T��Em�Jf�L�?��2"&�����������)�k��Rf����c���̉��F��,��z���=�������5X�5X�5X��7�F��\��p���Us#�������5X�5X�5X���F��d��Y�������k�!a �` �` �`�o���8���ct ]C��C������ gM���5�[�N�%��k�h��Zp�?��Iܣ�ϲ�^n$����Y7A����ZP[� fȓ0 \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_149_7.dat b/admin/phpqrcode/cache/mask_7/mask_149_7.dat deleted file mode 100644 index 809f005..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_149_7.dat +++ /dev/null @@ -1 +0,0 @@ -x����n� ��{? ���u�چ����2��G$n��c���F��K����b3����֪t����Pc�̥�7[�?9:���['���9'�*Ӗ��G��a��h�_��/�z�+�6XB�>�2�qY�J�0��黏��Bfa�� 1�����9c7G� �Ol��,�^����꽓��3���A:H� � 1�Ab����0X4�%٫��#��d>�&C� ��� 1�Ab�<�A{�o�G�&�LM��A:H1�Ab�� 1� {�j2����t�b�� 1�A&1X�`�_�9���`���B��G_�l�5�:g5��ajM��L������I� <|r. \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_153_7.dat b/admin/phpqrcode/cache/mask_7/mask_153_7.dat deleted file mode 100644 index c1ab276..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_153_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���Q�0���= ��匉B5� -ю惤/�Ͳ���I�i�^-��Zkm|�YDh�9����\{�K����{��y���3�v��̻�E]u`R��r�"��}�Y��e�2{�VV8][�.n:+2_���B�&6��Mlb���&6�`3i�9�Y���Ό諡y��U}ԟ82f-vږ�6��n�M�I7��Mlb���&6���l��7��������t�n�Mlb���&6��Ml�2�����^�/�n�M�I7��Mlb���&6��;gxA�C��t�n�O�Mlb���&6�y��y��fP��[6�4��̫��k`v^�+�9�ʬO۱��}�攨��+ZX��=:iWE \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_157_7.dat b/admin/phpqrcode/cache/mask_7/mask_157_7.dat deleted file mode 100644 index 2db27f6..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_157_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x���M -�0E��[M��͕����s�_������ �}F��Qks���{�%�Wq�����.��������]�8evV��bvV}�_��E̻n3W^K�\�`��V캽�Zl���,f1�Y��;�af��k��ި��i����z����z?urV��Y9�Y�b���,f�,��|V��Y9+g1�Y�b���,��|���Y9+g�7�,f1�Y�b�|���Y>+g嬜�,f1�Y�b�|���Y>+g嬜����,f1�Y���l����i�o��.\��Ɲo<�l;9�:�g[�϶l�m��^�I>=gϙ���-yk_TA� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_161_7.dat b/admin/phpqrcode/cache/mask_7/mask_161_7.dat deleted file mode 100644 index 35ba8ff..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_161_7.dat +++ /dev/null @@ -1 +0,0 @@ -x���ю� ���y���/皨E)Ʈ��1~4����93,˵���+��ZT=Ze�C���.�<s����v���>~iߏ������&>�,����6e�����~,l�W]� ���2������\��;2j"���e,�rX�ݵV�(�c쵵ZӖ1���8ީ�����/,'��t�.�e��e,c�X�2����߱,_��|yt����|��]��t�.c�X�2���e,cy���/ɗ�ys�.�e�L���e,c�X�2��lo�|�Z{+�2]��bl,c�X�2���e{+��֊�[A��2]��X�2���e,c9���C�X�<����/owsP��y��]��y�}�Vd��氹��d9J�Ӈ�)�1� jI2� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_165_7.dat b/admin/phpqrcode/cache/mask_7/mask_165_7.dat deleted file mode 100644 index e27fb8e..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_165_7.dat +++ /dev/null @@ -1 +0,0 @@ -x���Q��0�������M&A,N�̨!�x0�&XZׇZ�-Kث[���e�j�����x,����.�g}�`;���+k{��~1���}�+k{�إ���SG�W�g�}�ݬ@�?_��8퐾o+�k][�h��W�8~�u��M�g�q�g|j<������*�q=<������ۓR�wƓ�����������q9.��8�3�8�3�8�I���U�G�?~�snr\��q9�8�3�8�3�x�q����㮁y�979.��g�q�g�q�g�=)�q���'E��q9.�g�q�g�q�wO�z�50�I��r\����8�3�8�_��Vvd}������a�x˯��5���)�&�9)����f���x�3�YH]�S^*/ \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_169_7.dat b/admin/phpqrcode/cache/mask_7/mask_169_7.dat deleted file mode 100644 index ef1a181f2cfd4fb995864843d58efd1a33443bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmb=p_4aOTUz33Z>xJ+6rf>h5o6qcIQd2nm=Y_6}PsM~AQyzW1wahnqx4i9#trl79 zGTt{n-#Tkq_|`@8b@BO^-&#lQzJI&bdA?QLEw|ZnT7O=OKRfSrJL~d`<oo|-NAIq` z{4aZ7?{D*ep_lDWtj;SJ`5FDIVBMQny5~y&H}=;5F?Fe~o0lCX85jEPX8QbE2%(=` zU%f;9h1cFZn<vwkhVs9E@BjY#l_R&4b0x!H>Aw9u`O=epcc%X?f~g1U{2P4x`u+VC z_4Xxs=ND}`c<dLZ3Sp3nocjBB=G9BQp8UHg{@rP)ePEl{KD~H<`?TYC<gzQldjEai zeBSQ&8!!=ldhz~z-Ts}n*FK%7-Kqcm?{m0Y{S)nL<L9;heG*$K_r{-h*8Tha_ok=c xyr1vCJ(cVAd-wOJjnBW$eBASOtK*mVZ%&F%{eAu|`_nq<ryuJXgs!Sr0RTRo>Y4xm diff --git a/admin/phpqrcode/cache/mask_7/mask_173_7.dat b/admin/phpqrcode/cache/mask_7/mask_173_7.dat deleted file mode 100644 index 3b51371..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_173_7.dat +++ /dev/null @@ -1 +0,0 @@ -x����j�0�{=M��/� Rb�H�����rj\�=�,�m�co�Z�8;��m���m���0b���_ߚt$~Wu5�ǚNn�'?d�f2��(o���G�,L�����6_{�z����? �9�wq9� �S!ƌ��9�o��2� L`���p�����O�En�v8L��v8L�� U��Y�"�d}� K�r�� '� �L`��&0� L`B'f�:�O8�TcTc\k�r�� '� �L`��&0� L`B�Y�gI��k�r�� '� �L`��&0� L`��"�YRc�\�� '� r��&0� L`���Eڳ���H9AN��&0� L`��&�'��!�;��q+�Y��l*�ܳ��=�9�j�[2���� Ms¤��Ԅ����*� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_177_7.dat b/admin/phpqrcode/cache/mask_7/mask_177_7.dat deleted file mode 100644 index 068477c92af080afb53465a651dd7d1815d562c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmb=p_4e+?tY!lS)(hWjd_VoS4`&P8oD}qI!Lz*MP5ODNZExOG1+MwJb8D;p-LO8! z?c3h{D>>rL|Ffpgd7A6Xc6+Psn~m@D{rRxH?)O~%;+lWWo2OpY<NNumeBYVEBW7D4 zEvuX(uX{c0<MZnk)^2wW*`-SVJ@wyi-+S+42D@u3nPfNXcwPBZ_xAM1>#{~EVH=u6 z*CeoNM;zn|YxyENS5&k1Xxh;g$7WrP-Y%=Xxj1^=`WtIKUTA-NKSlcq*G{K(1-ys2 zkTw0`)@J(M6<BGq+x_*r<XygZpDnnJOKGY0o$jY`I(MJ>-dz@>7=A*us5M&v*{}_V zikH1R`f1L}yvxPQidw;HV6KBY)F%BE(1c~reV&3`GXd;yxF5O}ivA8Q?Gyc+m*}Yd zYKdyZw)H0}-4ng5+!L?o?u!;XT{?T~wJmv{XFN90&I($0Ldf#T-Q#!vG0tQ&@c{s0 CYRvKg diff --git a/admin/phpqrcode/cache/mask_7/mask_21_7.dat b/admin/phpqrcode/cache/mask_7/mask_21_7.dat deleted file mode 100644 index 4f9f138..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_21_7.dat +++ /dev/null @@ -1,4 +0,0 @@ -xڝ�Q -�0B�=���r]��-?]Rl�����2���nc -�[����n��A�".�j+�i -~�x3<�aX�{H��C1x��)����S� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_25_7.dat b/admin/phpqrcode/cache/mask_7/mask_25_7.dat deleted file mode 100644 index cefe1b9..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_25_7.dat +++ /dev/null @@ -1 +0,0 @@ -xڝQA� ��5���[F@��a�����Z̲� �>;���Q��I��QH8R���҈G�"�z,��&���;���'o�97�%P8%�6oǽ�;]��NWn�[�f7���v� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_29_7.dat b/admin/phpqrcode/cache/mask_7/mask_29_7.dat deleted file mode 100644 index e3d7391..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_29_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��R9� ���������QpX�$l�Ųf!I2pg�S��MZj������<K.�ط -�Ǘ���^D�/�_y�/�gcxV�0�Bf#���]B�Ͻʳ�h�9����^�� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_33_7.dat b/admin/phpqrcode/cache/mask_7/mask_33_7.dat deleted file mode 100644 index 1763f42..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_33_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��SA�@��k���6���ǒ8��07-n��ZbE0�"���t]���3Ztq��>"�t���e0��#ԛ`�_�1-����c�����ha�~/�Eh�4���"��~� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_37_7.dat b/admin/phpqrcode/cache/mask_7/mask_37_7.dat deleted file mode 100644 index 87d9a1a9d2c57b346aa4a8a2e03754a7f7668ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmV-=0EPc}+U-<34nQFY+c^!r|K-dh{-xmXMloTrDOS>|wt{nN$p8UIKT#gc;o<{l zE|1OO;;@B_*1sBYail&HAVaMSznZ$V?+Zst%JX#@k^|V&_%v=tL+(dx9wGsNg^L)? cH0CK`8l%kV8sp6AdyF;KJ?hQK0&cYgLugGq!2kdN diff --git a/admin/phpqrcode/cache/mask_7/mask_41_7.dat b/admin/phpqrcode/cache/mask_7/mask_41_7.dat deleted file mode 100644 index 8acec04..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_41_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��TA� ��5���[fDY�(O�^��bR3/~t/L"��7SQQ5�j�\S��i���b��#Նȏ��+ǣ�w#�z�x?�㽧A-�w�u曑Y7$b.%A��;�w�R���oxG}?� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_45_7.dat b/admin/phpqrcode/cache/mask_7/mask_45_7.dat deleted file mode 100644 index dbba31d0bfddcbed98ea5d7a9f6ee59f976e0421..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmV;e08;;W+U-@*3cw%;e7~=;|Npr$DAUrsy$v=4K{1olOOYWhIYuypTZ?rVorcG` ziBe#%j*Q*dv)kOh(x@276Nxd&JP9U=2L~+ngMKq>jn}9{jK*jHRSM|5x5n%q5&j`e zsyWelhq7a3OJw7iYkdjosJYWIS!tZw|D3#<JK9walVUS?Orp>JI49hv+1NkUa3?Dz b<PN`g3?_~{H73H&36D6ji;cbjRMdcsIwVyP diff --git a/admin/phpqrcode/cache/mask_7/mask_49_7.dat b/admin/phpqrcode/cache/mask_7/mask_49_7.dat deleted file mode 100644 index be5dce8..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_49_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��V��0��k���h�C-X.���<�h6̋3���,B �Ԕ�,�@�ϐ�d5$K�"T|p�%9"�yp�,���=<��m����ԉ!��?���D�W"��(��A�-�\- J\�{0p�l�WW]���4��?4h= Z_��d+�g(�*�*�+붵(��� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_53_7.dat b/admin/phpqrcode/cache/mask_7/mask_53_7.dat deleted file mode 100644 index 7028ef6..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_53_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��K� D�s���&�R�k�i�&,H)�tD�j�=����Qa���P"d�s1ZyC�|hey��Cv�aH��7��+�O��u��Q�sZtb����7�v�����h�V���~���1#�~�[�f�����fHkZ�Jt���mZ��6���s����w�r�&C�߶f \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_57_7.dat b/admin/phpqrcode/cache/mask_7/mask_57_7.dat deleted file mode 100644 index ee3107a..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_57_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��A�0������3&��H)Kb��&�q�֞�[-������9�r��Ys�.��i�Ӿ`�����~���G��{c�i�Ղ�\Y<�.�|���2��۟�2� �QQ[[�^N��88�l����[}[�Pl?g+o*ϖ�4W���1� � �33��[�\Gos�bk�m�m��m��^��h� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_61_7.dat b/admin/phpqrcode/cache/mask_7/mask_61_7.dat deleted file mode 100644 index 76f8d72..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_61_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x��K -� D�s����+-�*5�m��c�aT�1�9��Y�쌧�L9�糶����s�//i���\��b�����ī���-"^�D�H-i�;bnA���7�f�et�7ٷỵE:r�<4�6�(�u�y{K3o�"���|a��o�?ᜟ��竟��p�9���j~N�ƛ��s����TY���u \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_65_7.dat b/admin/phpqrcode/cache/mask_7/mask_65_7.dat deleted file mode 100644 index d8b9206..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_65_7.dat +++ /dev/null @@ -1 +0,0 @@ -x��A� �����I�*�6^L!酰��i)mT�T]�VW\�9�e@�4Ku^�#N%:�,��mY��JN��9���ඩ�vA�2���Ϝ�H�"Y�����+?`�BXD�BX̽{���.��w���d�,~k�,�^�bQ�~�.��\�w����^�ρ��OY��E�JmX���"% \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_69_7.dat b/admin/phpqrcode/cache/mask_7/mask_69_7.dat deleted file mode 100644 index c2db0204a624dfd9d7f8f75331a9d50abab1fd6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmV;*05$)3+U=N44uvoXg!glr_WqZ9F{u?}EkE-%CetP?BvQzS0&VSFJ-N-oWu*6< zTv|z+S^GkS1Z#42>QL;xvA(=V?*)bSkL5FpXakG_S`^qkH-^P*%H1XEuNsLnfvAu` z`*BEI8A_NDBQX*qG5P?bYCW1Y9JBiGIs;FK@Oe8gF(1@>hQVmp28DF`j`Xh+BQX-A zPcoX-fMZmg?C*@cp*&oVxZ$(2Gpy+uA|bgw1Aot87`^rkIYy2Bj`)lr?t+Z`0Y=4# E+IH1p%m4rY diff --git a/admin/phpqrcode/cache/mask_7/mask_73_7.dat b/admin/phpqrcode/cache/mask_7/mask_73_7.dat deleted file mode 100644 index f414e4a5877861bd45e439125a47c52b70a0ca12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmV<303!c*+U;1;4#OY_e7~=O|NpsVOKWw-svJ$a1x<J$5szLuA|m@z$F3HRK&lRF zMPfsNN=|J|)?F=z&Gqd$V;Y9)cnnO`y5epMrw+M0f0L_}Kan(OW4p`sFEtk2@ycTV z!RYi5g6C~<Fhzz+?vlF)b7!@LWgl#Pp4ZIcfs&e8JSY&YPPXF1@UB^$S$A1?$z5`H z19yL~na(#tbvC%)W!+`nC3nBd9XnU4xMQX&4R-|)ubI?brPfU8jE!8HDKT#ZiR*U~ X#9ntM=BT?KcguArQR%$^W=Hcu&g^Uz diff --git a/admin/phpqrcode/cache/mask_7/mask_77_7.dat b/admin/phpqrcode/cache/mask_7/mask_77_7.dat deleted file mode 100644 index 3e52bfd3f66a3fae5771bd21c098addcfe4dd829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmV<803H8$+U=N24#OY}ME7$V`~H_}E0I7GOyZBKRvnPMU@@}uutz~;TN>QMLKjmF z$Fo{kZk}5~sTj*XCvO!sEAx=sT{$)7Ae9TQEOc4^f@wQ)ea)wu7H%}{#MK=l@)ASD zb^%LDMOj|2h)%FTj!en)$C=J-W^O$fr&vx@-|THnt7dOwYNfBvQ><N5Z)LaF!9Hc5 zk|~*zsfTIp?9KekbSL{aKV_e?Psx-_zk+H0!R){^|2DWYmD<@W3+r(I%jDk%-~2TH cHaPgH7^Q~&^aD(TeOh^aO{Ssv09I{f9}<vpIRF3v diff --git a/admin/phpqrcode/cache/mask_7/mask_81_7.dat b/admin/phpqrcode/cache/mask_7/mask_81_7.dat deleted file mode 100644 index 78e08df..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_81_7.dat +++ /dev/null @@ -1 +0,0 @@ -x���� D��5��?�l�"͊ݕ�u4��a�>ukv o�40���T�%9���6����U5�*s�I{`����_�>S?�}(:y�T�l�{G&E\��6��}"A��X��XϬ����<�mwx�f��G�<k�r�U�eεεX��X���Z~�s�;\��Z�3�|y� /�w���p˯������U�[~�}O��o�`m�s�ݑ�)~,� \ No newline at end of file diff --git a/admin/phpqrcode/cache/mask_7/mask_85_7.dat b/admin/phpqrcode/cache/mask_7/mask_85_7.dat deleted file mode 100644 index a53824aeed0bdcefcc66825c1b64dbdfff28273a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmV;`04o1@+U=Q33cxT3ME7$Vz5nG(p=~TAX+GnkFbTLAs1<pb0nP5?n>QSkr0$!s zmX(<nv<7&+*7o1W^hT}q&xiF^t+dl+U{?1b24?k;)e|nRzi+epir}RR5jVip7Jy#o z8BvfRrWFHXKn#e1Tn0!l*QI0r-5=0VtW3+|Ea+Hy_dj(cbX9Xeb3hD;0Wly3<Ok#j zGzT;X#DEwO13zPcxi1I|u(ky+2A)E>et@<wh<?C2E0ZlhV0=GdIex$rDEQbJEzf~I P1B-LOGFor|yfRw-Fz#S~ diff --git a/admin/phpqrcode/cache/mask_7/mask_89_7.dat b/admin/phpqrcode/cache/mask_7/mask_89_7.dat deleted file mode 100644 index 32934a4414fb6434bccea768263fad25ce55f63a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmV<Q01N+k+U=Rm4ul{Kgzxh-<^5l7vk6LFq(qozJq#p0h^hR1v=eJ~v_j~vp*b#v zVtdaN*Y|TKZwLI=jF$HFc{k_#SIeSnSXK+!2oE-1&4i6HGj$+x4H6T5NBs`znm7xt zJ7;kKPTvls%=c^2&YJ96Y={l9AvWH}21#$Y42fwbex^5CzDJWxBPmtZMiA+W4ZTs> z$j}>#8;TpsDPluxhz+rk$A<LAMQ=n)D~lufT2ygEaYH#pY={l9@nSZ(#ibuMxV5&E u4a?ITHjz@xdV^bQyXXyWt<C-WvS2&5wdfz%*o+%lS7pM+hW!9BYTo{k)pd^m diff --git a/admin/phpqrcode/cache/mask_7/mask_93_7.dat b/admin/phpqrcode/cache/mask_7/mask_93_7.dat deleted file mode 100644 index 1955f6b7d3bd7e77653d0369168827b6c2425114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmV<U00;kg+U=TA3d1lAL;rOe_x_g~gEVzn;)YflY$yT$xVXlBaYWLHeQcze29Ds{ z#<9cbwD9BH1*JiL)hv%umd#OTpK~8SSXK9`I0)q^nOVrM_TpaE7rh{|@;TAo#9B&c z3x3FCu`d8gX&}q{ZE>tTL3lG`X3UJ4`446UdL}WW&@+vhnbfN!;F1qj9*+b^XNIk3 z`ZsZ(ai8(tWM<5anK3hF=1a_o^~_APRcC!GK5O7o1G~?-&v<V#GiJujn3-Q-rmF)D yGvu4$Gc(oYEk)0S?o2PV8u+R-k2J9EUOO=})w&#JLe*z<#0&m~NcIJ>25BNzV0+I1 diff --git a/admin/phpqrcode/cache/mask_7/mask_97_7.dat b/admin/phpqrcode/cache/mask_7/mask_97_7.dat deleted file mode 100644 index b277368..0000000 --- a/admin/phpqrcode/cache/mask_7/mask_97_7.dat +++ /dev/null @@ -1,2 +0,0 @@ -x����0�������ܲD[���V.K��I�`��'��sx����y���$�x�x�"���=O^&p�b���Yʬ�$�K�ݣ����8K����eÌ��� ���3:$bI,�%�$���Yb襶 -M)�T� %q����綦E��X}jl�T�T��KbI,�%��,���_e[%����V]R]�;N,�%�$���%V�@`��%pa�m���(}�_�%�%�۸������4�='u)ai�.;M��> \ No newline at end of file diff --git a/admin/phpqrcode/index.php b/admin/phpqrcode/index.php deleted file mode 100644 index ec6be6a..0000000 --- a/admin/phpqrcode/index.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Exemplatory usage - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - echo "<h1>PHP QR Code</h1><hr/>"; - - //set it to writable location, a place for temp generated PNG files - $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; - - //html PNG location prefix - $PNG_WEB_DIR = 'temp/'; - - include "qrlib.php"; - - //ofcourse we need rights to create temp dir - if (!file_exists($PNG_TEMP_DIR)) - mkdir($PNG_TEMP_DIR); - - - $filename = $PNG_TEMP_DIR.'test.png'; - - //processing form input - //remember to sanitize user input in real-life solution !!! - $errorCorrectionLevel = 'L'; - if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H'))) - $errorCorrectionLevel = $_REQUEST['level']; - - $matrixPointSize = 4; - if (isset($_REQUEST['size'])) - $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10); - - - if (isset($_REQUEST['data'])) { - - //it's very important! - if (trim($_REQUEST['data']) == '') - die('data cannot be empty! <a href="?">back</a>'); - - // user data - $filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png'; - QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2); - - } else { - - //default data - echo 'You can provide data in GET parameter: <a href="?data=like_that">like that</a><hr/>'; - QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2); - - } - - //display generated file - echo '<img src="'.$PNG_WEB_DIR.basename($filename).'" /><hr/>'; - - //config form - echo '<form action="index.php" method="post"> - Data: <input name="data" value="'.(isset($_REQUEST['data'])?htmlspecialchars($_REQUEST['data']):'PHP QR Code :)').'" /> - ECC: <select name="level"> - <option value="L"'.(($errorCorrectionLevel=='L')?' selected':'').'>L - smallest</option> - <option value="M"'.(($errorCorrectionLevel=='M')?' selected':'').'>M</option> - <option value="Q"'.(($errorCorrectionLevel=='Q')?' selected':'').'>Q</option> - <option value="H"'.(($errorCorrectionLevel=='H')?' selected':'').'>H - best</option> - </select> - Size: <select name="size">'; - - for($i=1;$i<=10;$i++) - echo '<option value="'.$i.'"'.(($matrixPointSize==$i)?' selected':'').'>'.$i.'</option>'; - - echo '</select> - <input type="submit" value="GENERATE"></form><hr/>'; - - // benchmark - QRtools::timeBenchmark(); - - \ No newline at end of file diff --git a/admin/phpqrcode/phpqrcode.php b/admin/phpqrcode/phpqrcode.php deleted file mode 100644 index 13307b6..0000000 --- a/admin/phpqrcode/phpqrcode.php +++ /dev/null @@ -1,3312 +0,0 @@ -<?php - -/* - * PHP QR Code encoder - * - * This file contains MERGED version of PHP QR Code library. - * It was auto-generated from full version for your convenience. - * - * This merged version was configured to not requre any external files, - * with disabled cache, error loging and weker but faster mask matching. - * If you need tune it up please use non-merged version. - * - * For full version, documentation, examples of use please visit: - * - * http://phpqrcode.sourceforge.net/ - * https://sourceforge.net/projects/phpqrcode/ - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - - -/* - * Version: 1.1.4 - * Build: 2010100721 - */ - - - -//---- qrconst.php ----------------------------- - - - - - -/* - * PHP QR Code encoder - * - * Common constants - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - // Encoding modes - - define('QR_MODE_NUL', -1); - define('QR_MODE_NUM', 0); - define('QR_MODE_AN', 1); - define('QR_MODE_8', 2); - define('QR_MODE_KANJI', 3); - define('QR_MODE_STRUCTURE', 4); - - // Levels of error correction. - - define('QR_ECLEVEL_L', 0); - define('QR_ECLEVEL_M', 1); - define('QR_ECLEVEL_Q', 2); - define('QR_ECLEVEL_H', 3); - - // Supported output formats - - define('QR_FORMAT_TEXT', 0); - define('QR_FORMAT_PNG', 1); - - class qrstr { - public static function set(&$srctab, $x, $y, $repl, $replLen = false) { - $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); - } - } - - - -//---- merged_config.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Config file, tuned-up for merged verion - */ - - define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there - define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true - define('QR_LOG_DIR', false); // default error logs dir - - define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code - define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly - define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false - - define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images - - - - -//---- qrtools.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Toolset, handy and debug utilites. - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRtools { - - //---------------------------------------------------------------------- - public static function binarize($frame) - { - $len = count($frame); - foreach ($frame as &$frameLine) { - - for($i=0; $i<$len; $i++) { - $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; - } - } - - return $frame; - } - - //---------------------------------------------------------------------- - public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037') - { - $barcode_array = array(); - - if (!is_array($mode)) - $mode = explode(',', $mode); - - $eccLevel = 'L'; - - if (count($mode) > 1) { - $eccLevel = $mode[1]; - } - - $qrTab = QRcode::text($code, false, $eccLevel); - $size = count($qrTab); - - $barcode_array['num_rows'] = $size; - $barcode_array['num_cols'] = $size; - $barcode_array['bcode'] = array(); - - foreach ($qrTab as $line) { - $arrAdd = array(); - foreach(str_split($line) as $char) - $arrAdd[] = ($char=='1')?1:0; - $barcode_array['bcode'][] = $arrAdd; - } - - return $barcode_array; - } - - //---------------------------------------------------------------------- - public static function clearCache() - { - self::$frames = array(); - } - - //---------------------------------------------------------------------- - public static function buildCache() - { - QRtools::markTime('before_build_cache'); - - $mask = new QRmask(); - for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) { - $frame = QRspec::newFrame($a); - if (QR_IMAGE) { - $fileName = QR_CACHE_DIR.'frame_'.$a.'.png'; - QRimage::png(self::binarize($frame), $fileName, 1, 0); - } - - $width = count($frame); - $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); - for ($maskNo=0; $maskNo<8; $maskNo++) - $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true); - } - - QRtools::markTime('after_build_cache'); - } - - //---------------------------------------------------------------------- - public static function log($outfile, $err) - { - if (QR_LOG_DIR !== false) { - if ($err != '') { - if ($outfile !== false) { - file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); - } else { - file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); - } - } - } - } - - //---------------------------------------------------------------------- - public static function dumpMask($frame) - { - $width = count($frame); - for($y=0;$y<$width;$y++) { - for($x=0;$x<$width;$x++) { - echo ord($frame[$y][$x]).','; - } - } - } - - //---------------------------------------------------------------------- - public static function markTime($markerId) - { - list($usec, $sec) = explode(" ", microtime()); - $time = ((float)$usec + (float)$sec); - - if (!isset($GLOBALS['qr_time_bench'])) - $GLOBALS['qr_time_bench'] = array(); - - $GLOBALS['qr_time_bench'][$markerId] = $time; - } - - //---------------------------------------------------------------------- - public static function timeBenchmark() - { - self::markTime('finish'); - - $lastTime = 0; - $startTime = 0; - $p = 0; - - echo '<table cellpadding="3" cellspacing="1"> - <thead><tr style="border-bottom:1px solid silver"><td colspan="2" style="text-align:center">BENCHMARK</td></tr></thead> - <tbody>'; - - foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) { - if ($p > 0) { - echo '<tr><th style="text-align:right">till '.$markerId.': </th><td>'.number_format($thisTime-$lastTime, 6).'s</td></tr>'; - } else { - $startTime = $thisTime; - } - - $p++; - $lastTime = $thisTime; - } - - echo '</tbody><tfoot> - <tr style="border-top:2px solid black"><th style="text-align:right">TOTAL: </th><td>'.number_format($lastTime-$startTime, 6).'s</td></tr> - </tfoot> - </table>'; - } - - } - - //########################################################################## - - QRtools::markTime('start'); - - - - -//---- qrspec.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * QR Code specifications - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * The following data / specifications are taken from - * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) - * or - * "Automatic identification and data capture techniques -- - * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('QRSPEC_VERSION_MAX', 40); - define('QRSPEC_WIDTH_MAX', 177); - - define('QRCAP_WIDTH', 0); - define('QRCAP_WORDS', 1); - define('QRCAP_REMINDER', 2); - define('QRCAP_EC', 3); - - class QRspec { - - public static $capacity = array( - array( 0, 0, 0, array( 0, 0, 0, 0)), - array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 - array( 25, 44, 7, array( 10, 16, 22, 28)), - array( 29, 70, 7, array( 15, 26, 36, 44)), - array( 33, 100, 7, array( 20, 36, 52, 64)), - array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 - array( 41, 172, 7, array( 36, 64, 96, 112)), - array( 45, 196, 0, array( 40, 72, 108, 130)), - array( 49, 242, 0, array( 48, 88, 132, 156)), - array( 53, 292, 0, array( 60, 110, 160, 192)), - array( 57, 346, 0, array( 72, 130, 192, 224)), //10 - array( 61, 404, 0, array( 80, 150, 224, 264)), - array( 65, 466, 0, array( 96, 176, 260, 308)), - array( 69, 532, 0, array( 104, 198, 288, 352)), - array( 73, 581, 3, array( 120, 216, 320, 384)), - array( 77, 655, 3, array( 132, 240, 360, 432)), //15 - array( 81, 733, 3, array( 144, 280, 408, 480)), - array( 85, 815, 3, array( 168, 308, 448, 532)), - array( 89, 901, 3, array( 180, 338, 504, 588)), - array( 93, 991, 3, array( 196, 364, 546, 650)), - array( 97, 1085, 3, array( 224, 416, 600, 700)), //20 - array(101, 1156, 4, array( 224, 442, 644, 750)), - array(105, 1258, 4, array( 252, 476, 690, 816)), - array(109, 1364, 4, array( 270, 504, 750, 900)), - array(113, 1474, 4, array( 300, 560, 810, 960)), - array(117, 1588, 4, array( 312, 588, 870, 1050)), //25 - array(121, 1706, 4, array( 336, 644, 952, 1110)), - array(125, 1828, 4, array( 360, 700, 1020, 1200)), - array(129, 1921, 3, array( 390, 728, 1050, 1260)), - array(133, 2051, 3, array( 420, 784, 1140, 1350)), - array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30 - array(141, 2323, 3, array( 480, 868, 1290, 1530)), - array(145, 2465, 3, array( 510, 924, 1350, 1620)), - array(149, 2611, 3, array( 540, 980, 1440, 1710)), - array(153, 2761, 3, array( 570, 1036, 1530, 1800)), - array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35 - array(161, 3034, 0, array( 600, 1120, 1680, 1980)), - array(165, 3196, 0, array( 630, 1204, 1770, 2100)), - array(169, 3362, 0, array( 660, 1260, 1860, 2220)), - array(173, 3532, 0, array( 720, 1316, 1950, 2310)), - array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40 - ); - - //---------------------------------------------------------------------- - public static function getDataLength($version, $level) - { - return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level]; - } - - //---------------------------------------------------------------------- - public static function getECCLength($version, $level) - { - return self::$capacity[$version][QRCAP_EC][$level]; - } - - //---------------------------------------------------------------------- - public static function getWidth($version) - { - return self::$capacity[$version][QRCAP_WIDTH]; - } - - //---------------------------------------------------------------------- - public static function getRemainder($version) - { - return self::$capacity[$version][QRCAP_REMINDER]; - } - - //---------------------------------------------------------------------- - public static function getMinimumVersion($size, $level) - { - - for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) { - $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level]; - if($words >= $size) - return $i; - } - - return -1; - } - - //###################################################################### - - public static $lengthTableBits = array( - array(10, 12, 14), - array( 9, 11, 13), - array( 8, 16, 16), - array( 8, 10, 12) - ); - - //---------------------------------------------------------------------- - public static function lengthIndicator($mode, $version) - { - if ($mode == QR_MODE_STRUCTURE) - return 0; - - if ($version <= 9) { - $l = 0; - } else if ($version <= 26) { - $l = 1; - } else { - $l = 2; - } - - return self::$lengthTableBits[$mode][$l]; - } - - //---------------------------------------------------------------------- - public static function maximumWords($mode, $version) - { - if($mode == QR_MODE_STRUCTURE) - return 3; - - if($version <= 9) { - $l = 0; - } else if($version <= 26) { - $l = 1; - } else { - $l = 2; - } - - $bits = self::$lengthTableBits[$mode][$l]; - $words = (1 << $bits) - 1; - - if($mode == QR_MODE_KANJI) { - $words *= 2; // the number of bytes is required - } - - return $words; - } - - // Error correction code ----------------------------------------------- - // Table of the error correction code (Reed-Solomon block) - // See Table 12-16 (pp.30-36), JIS X0510:2004. - - public static $eccTable = array( - array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), - array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), - array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), - array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 - array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), - array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), - array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), - array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), - array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10 - array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), - array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), - array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), - array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), - array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15 - array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), - array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), - array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), - array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), - array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20 - array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), - array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), - array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), - array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), - array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25 - array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), - array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), - array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), - array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), - array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30 - array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), - array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), - array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), - array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), - array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35 - array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), - array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), - array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), - array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), - array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40 - ); - - //---------------------------------------------------------------------- - // CACHEABLE!!! - - public static function getEccSpec($version, $level, array &$spec) - { - if (count($spec) < 5) { - $spec = array(0,0,0,0,0); - } - - $b1 = self::$eccTable[$version][$level][0]; - $b2 = self::$eccTable[$version][$level][1]; - $data = self::getDataLength($version, $level); - $ecc = self::getECCLength($version, $level); - - if($b2 == 0) { - $spec[0] = $b1; - $spec[1] = (int)($data / $b1); - $spec[2] = (int)($ecc / $b1); - $spec[3] = 0; - $spec[4] = 0; - } else { - $spec[0] = $b1; - $spec[1] = (int)($data / ($b1 + $b2)); - $spec[2] = (int)($ecc / ($b1 + $b2)); - $spec[3] = $b2; - $spec[4] = $spec[1] + 1; - } - } - - // Alignment pattern --------------------------------------------------- - - // Positions of alignment patterns. - // This array includes only the second and the third position of the - // alignment patterns. Rest of them can be calculated from the distance - // between them. - - // See Table 1 in Appendix E (pp.71) of JIS X0510:2004. - - public static $alignmentPattern = array( - array( 0, 0), - array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 - array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 - array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15 - array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20 - array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25 - array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30 - array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35 - array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40 - ); - - - /** -------------------------------------------------------------------- - * Put an alignment marker. - * @param frame - * @param width - * @param ox,oy center coordinate of the pattern - */ - public static function putAlignmentMarker(array &$frame, $ox, $oy) - { - $finder = array( - "\xa1\xa1\xa1\xa1\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa0\xa1\xa0\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa1\xa1\xa1\xa1" - ); - - $yStart = $oy-2; - $xStart = $ox-2; - - for($y=0; $y<5; $y++) { - QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]); - } - } - - //---------------------------------------------------------------------- - public static function putAlignmentPattern($version, &$frame, $width) - { - if($version < 2) - return; - - $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0]; - if($d < 0) { - $w = 2; - } else { - $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2); - } - - if($w * $w - 3 == 1) { - $x = self::$alignmentPattern[$version][0]; - $y = self::$alignmentPattern[$version][0]; - self::putAlignmentMarker($frame, $x, $y); - return; - } - - $cx = self::$alignmentPattern[$version][0]; - for($x=1; $x<$w - 1; $x++) { - self::putAlignmentMarker($frame, 6, $cx); - self::putAlignmentMarker($frame, $cx, 6); - $cx += $d; - } - - $cy = self::$alignmentPattern[$version][0]; - for($y=0; $y<$w-1; $y++) { - $cx = self::$alignmentPattern[$version][0]; - for($x=0; $x<$w-1; $x++) { - self::putAlignmentMarker($frame, $cx, $cy); - $cx += $d; - } - $cy += $d; - } - } - - // Version information pattern ----------------------------------------- - - // Version information pattern (BCH coded). - // See Table 1 in Appendix D (pp.68) of JIS X0510:2004. - - // size: [QRSPEC_VERSION_MAX - 6] - - public static $versionPattern = array( - 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, - 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, - 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, - 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, - 0x27541, 0x28c69 - ); - - //---------------------------------------------------------------------- - public static function getVersionPattern($version) - { - if($version < 7 || $version > QRSPEC_VERSION_MAX) - return 0; - - return self::$versionPattern[$version -7]; - } - - // Format information -------------------------------------------------- - // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib) - - public static $formatInfo = array( - array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), - array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), - array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), - array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) - ); - - public static function getFormatInfo($mask, $level) - { - if($mask < 0 || $mask > 7) - return 0; - - if($level < 0 || $level > 3) - return 0; - - return self::$formatInfo[$level][$mask]; - } - - // Frame --------------------------------------------------------------- - // Cache of initial frames. - - public static $frames = array(); - - /** -------------------------------------------------------------------- - * Put a finder pattern. - * @param frame - * @param width - * @param ox,oy upper-left coordinate of the pattern - */ - public static function putFinderPattern(&$frame, $ox, $oy) - { - $finder = array( - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" - ); - - for($y=0; $y<7; $y++) { - QRstr::set($frame, $ox, $oy+$y, $finder[$y]); - } - } - - //---------------------------------------------------------------------- - public static function createFrame($version) - { - $width = self::$capacity[$version][QRCAP_WIDTH]; - $frameLine = str_repeat ("\0", $width); - $frame = array_fill(0, $width, $frameLine); - - // Finder pattern - self::putFinderPattern($frame, 0, 0); - self::putFinderPattern($frame, $width - 7, 0); - self::putFinderPattern($frame, 0, $width - 7); - - // Separator - $yOffset = $width - 7; - - for($y=0; $y<7; $y++) { - $frame[$y][7] = "\xc0"; - $frame[$y][$width - 8] = "\xc0"; - $frame[$yOffset][7] = "\xc0"; - $yOffset++; - } - - $setPattern = str_repeat("\xc0", 8); - - QRstr::set($frame, 0, 7, $setPattern); - QRstr::set($frame, $width-8, 7, $setPattern); - QRstr::set($frame, 0, $width - 8, $setPattern); - - // Format info - $setPattern = str_repeat("\x84", 9); - QRstr::set($frame, 0, 8, $setPattern); - QRstr::set($frame, $width - 8, 8, $setPattern, 8); - - $yOffset = $width - 8; - - for($y=0; $y<8; $y++,$yOffset++) { - $frame[$y][8] = "\x84"; - $frame[$yOffset][8] = "\x84"; - } - - // Timing pattern - - for($i=1; $i<$width-15; $i++) { - $frame[6][7+$i] = chr(0x90 | ($i & 1)); - $frame[7+$i][6] = chr(0x90 | ($i & 1)); - } - - // Alignment pattern - self::putAlignmentPattern($version, $frame, $width); - - // Version information - if($version >= 7) { - $vinf = self::getVersionPattern($version); - - $v = $vinf; - - for($x=0; $x<6; $x++) { - for($y=0; $y<3; $y++) { - $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - - $v = $vinf; - for($y=0; $y<6; $y++) { - for($x=0; $x<3; $x++) { - $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - } - - // and a little bit... - $frame[$width - 8][8] = "\x81"; - - return $frame; - } - - //---------------------------------------------------------------------- - public static function debug($frame, $binary_mode = false) - { - if ($binary_mode) { - - foreach ($frame as &$frameLine) { - $frameLine = join('<span class="m"> </span>', explode('0', $frameLine)); - $frameLine = join('██', explode('1', $frameLine)); - } - - ?> - <style> - .m { background-color: white; } - </style> - <?php - echo '<pre><tt><br/ ><br/ ><br/ > '; - echo join("<br/ > ", $frame); - echo '</tt></pre><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >'; - - } else { - - foreach ($frame as &$frameLine) { - $frameLine = join('<span class="m"> </span>', explode("\xc0", $frameLine)); - $frameLine = join('<span class="m">▒</span>', explode("\xc1", $frameLine)); - $frameLine = join('<span class="p"> </span>', explode("\xa0", $frameLine)); - $frameLine = join('<span class="p">▒</span>', explode("\xa1", $frameLine)); - $frameLine = join('<span class="s">◇</span>', explode("\x84", $frameLine)); //format 0 - $frameLine = join('<span class="s">◆</span>', explode("\x85", $frameLine)); //format 1 - $frameLine = join('<span class="x">☢</span>', explode("\x81", $frameLine)); //special bit - $frameLine = join('<span class="c"> </span>', explode("\x90", $frameLine)); //clock 0 - $frameLine = join('<span class="c">◷</span>', explode("\x91", $frameLine)); //clock 1 - $frameLine = join('<span class="f"> </span>', explode("\x88", $frameLine)); //version - $frameLine = join('<span class="f">▒</span>', explode("\x89", $frameLine)); //version - $frameLine = join('♦', explode("\x01", $frameLine)); - $frameLine = join('⋅', explode("\0", $frameLine)); - } - - ?> - <style> - .p { background-color: yellow; } - .m { background-color: #00FF00; } - .s { background-color: #FF0000; } - .c { background-color: aqua; } - .x { background-color: pink; } - .f { background-color: gold; } - </style> - <?php - echo "<pre><tt>"; - echo join("<br/ >", $frame); - echo "</tt></pre>"; - - } - } - - //---------------------------------------------------------------------- - public static function serial($frame) - { - return gzcompress(join("\n", $frame), 9); - } - - //---------------------------------------------------------------------- - public static function unserial($code) - { - return explode("\n", gzuncompress($code)); - } - - //---------------------------------------------------------------------- - public static function newFrame($version) - { - if($version < 1 || $version > QRSPEC_VERSION_MAX) - return null; - - if(!isset(self::$frames[$version])) { - - $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat'; - - if (QR_CACHEABLE) { - if (file_exists($fileName)) { - self::$frames[$version] = self::unserial(file_get_contents($fileName)); - } else { - self::$frames[$version] = self::createFrame($version); - file_put_contents($fileName, self::serial(self::$frames[$version])); - } - } else { - self::$frames[$version] = self::createFrame($version); - } - } - - if(is_null(self::$frames[$version])) - return null; - - return self::$frames[$version]; - } - - //---------------------------------------------------------------------- - public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; } - public static function rsBlockNum1($spec) { return $spec[0]; } - public static function rsDataCodes1($spec) { return $spec[1]; } - public static function rsEccCodes1($spec) { return $spec[2]; } - public static function rsBlockNum2($spec) { return $spec[3]; } - public static function rsDataCodes2($spec) { return $spec[4]; } - public static function rsEccCodes2($spec) { return $spec[2]; } - public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); } - public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; } - - } - - - -//---- qrimage.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Image output of code using GD2 - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('QR_IMAGE', true); - - class QRimage { - - //---------------------------------------------------------------------- - public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE) - { - $image = self::image($frame, $pixelPerPoint, $outerFrame); - - if ($filename === false) { - Header("Content-type: image/png"); - ImagePng($image); - } else { - if($saveandprint===TRUE){ - ImagePng($image, $filename); - header("Content-type: image/png"); - ImagePng($image); - }else{ - ImagePng($image, $filename); - } - } - - ImageDestroy($image); - } - - //---------------------------------------------------------------------- - public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) - { - $image = self::image($frame, $pixelPerPoint, $outerFrame); - - if ($filename === false) { - Header("Content-type: image/jpeg"); - ImageJpeg($image, null, $q); - } else { - ImageJpeg($image, $filename, $q); - } - - ImageDestroy($image); - } - - //---------------------------------------------------------------------- - private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4) - { - $h = count($frame); - $w = strlen($frame[0]); - - $imgW = $w + 2*$outerFrame; - $imgH = $h + 2*$outerFrame; - - $base_image =ImageCreate($imgW, $imgH); - - $col[0] = ImageColorAllocate($base_image,255,255,255); - $col[1] = ImageColorAllocate($base_image,0,0,0); - - imagefill($base_image, 0, 0, $col[0]); - - for($y=0; $y<$h; $y++) { - for($x=0; $x<$w; $x++) { - if ($frame[$y][$x] == '1') { - ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); - } - } - } - - $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); - ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); - ImageDestroy($base_image); - - return $target_image; - } - } - - - -//---- qrinput.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Input encoding class - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('STRUCTURE_HEADER_BITS', 20); - define('MAX_STRUCTURED_SYMBOLS', 16); - - class QRinputItem { - - public $mode; - public $size; - public $data; - public $bstream; - - public function __construct($mode, $size, $data, $bstream = null) - { - $setData = array_slice($data, 0, $size); - - if (count($setData) < $size) { - $setData = array_merge($setData, array_fill(0,$size-count($setData),0)); - } - - if(!QRinput::check($mode, $size, $setData)) { - throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData)); - return null; - } - - $this->mode = $mode; - $this->size = $size; - $this->data = $setData; - $this->bstream = $bstream; - } - - //---------------------------------------------------------------------- - public function encodeModeNum($version) - { - try { - - $words = (int)($this->size / 3); - $bs = new QRbitstream(); - - $val = 0x1; - $bs->appendNum(4, $val); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size); - - for($i=0; $i<$words; $i++) { - $val = (ord($this->data[$i*3 ]) - ord('0')) * 100; - $val += (ord($this->data[$i*3+1]) - ord('0')) * 10; - $val += (ord($this->data[$i*3+2]) - ord('0')); - $bs->appendNum(10, $val); - } - - if($this->size - $words * 3 == 1) { - $val = ord($this->data[$words*3]) - ord('0'); - $bs->appendNum(4, $val); - } else if($this->size - $words * 3 == 2) { - $val = (ord($this->data[$words*3 ]) - ord('0')) * 10; - $val += (ord($this->data[$words*3+1]) - ord('0')); - $bs->appendNum(7, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeAn($version) - { - try { - $words = (int)($this->size / 2); - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x02); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size); - - for($i=0; $i<$words; $i++) { - $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45; - $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1])); - - $bs->appendNum(11, $val); - } - - if($this->size & 1) { - $val = QRinput::lookAnTable(ord($this->data[$words * 2])); - $bs->appendNum(6, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeMode8($version) - { - try { - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x4); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size); - - for($i=0; $i<$this->size; $i++) { - $bs->appendNum(8, ord($this->data[$i])); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeKanji($version) - { - try { - - $bs = new QRbitrtream(); - - $bs->appendNum(4, 0x8); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2)); - - for($i=0; $i<$this->size; $i+=2) { - $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]); - if($val <= 0x9ffc) { - $val -= 0x8140; - } else { - $val -= 0xc140; - } - - $h = ($val >> 8) * 0xc0; - $val = ($val & 0xff) + $h; - - $bs->appendNum(13, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeStructure() - { - try { - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x03); - $bs->appendNum(4, ord($this->data[1]) - 1); - $bs->appendNum(4, ord($this->data[0]) - 1); - $bs->appendNum(8, ord($this->data[2])); - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function estimateBitStreamSizeOfEntry($version) - { - $bits = 0; - - if($version == 0) - $version = 1; - - switch($this->mode) { - case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break; - case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break; - case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break; - case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break; - case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS; - default: - return 0; - } - - $l = QRspec::lengthIndicator($this->mode, $version); - $m = 1 << $l; - $num = (int)(($this->size + $m - 1) / $m); - - $bits += $num * (4 + $l); - - return $bits; - } - - //---------------------------------------------------------------------- - public function encodeBitStream($version) - { - try { - - unset($this->bstream); - $words = QRspec::maximumWords($this->mode, $version); - - if($this->size > $words) { - - $st1 = new QRinputItem($this->mode, $words, $this->data); - $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words)); - - $st1->encodeBitStream($version); - $st2->encodeBitStream($version); - - $this->bstream = new QRbitstream(); - $this->bstream->append($st1->bstream); - $this->bstream->append($st2->bstream); - - unset($st1); - unset($st2); - - } else { - - $ret = 0; - - switch($this->mode) { - case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break; - case QR_MODE_AN: $ret = $this->encodeModeAn($version); break; - case QR_MODE_8: $ret = $this->encodeMode8($version); break; - case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break; - case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break; - - default: - break; - } - - if($ret < 0) - return -1; - } - - return $this->bstream->size(); - - } catch (Exception $e) { - return -1; - } - } - }; - - //########################################################################## - - class QRinput { - - public $items; - - private $version; - private $level; - - //---------------------------------------------------------------------- - public function __construct($version = 0, $level = QR_ECLEVEL_L) - { - if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) { - throw new Exception('Invalid version no'); - return NULL; - } - - $this->version = $version; - $this->level = $level; - } - - //---------------------------------------------------------------------- - public function getVersion() - { - return $this->version; - } - - //---------------------------------------------------------------------- - public function setVersion($version) - { - if($version < 0 || $version > QRSPEC_VERSION_MAX) { - throw new Exception('Invalid version no'); - return -1; - } - - $this->version = $version; - - return 0; - } - - //---------------------------------------------------------------------- - public function getErrorCorrectionLevel() - { - return $this->level; - } - - //---------------------------------------------------------------------- - public function setErrorCorrectionLevel($level) - { - if($level > QR_ECLEVEL_H) { - throw new Exception('Invalid ECLEVEL'); - return -1; - } - - $this->level = $level; - - return 0; - } - - //---------------------------------------------------------------------- - public function appendEntry(QRinputItem $entry) - { - $this->items[] = $entry; - } - - //---------------------------------------------------------------------- - public function append($mode, $size, $data) - { - try { - $entry = new QRinputItem($mode, $size, $data); - $this->items[] = $entry; - return 0; - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - - public function insertStructuredAppendHeader($size, $index, $parity) - { - if( $size > MAX_STRUCTURED_SYMBOLS ) { - throw new Exception('insertStructuredAppendHeader wrong size'); - } - - if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) { - throw new Exception('insertStructuredAppendHeader wrong index'); - } - - $buf = array($size, $index, $parity); - - try { - $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf); - array_unshift($this->items, $entry); - return 0; - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function calcParity() - { - $parity = 0; - - foreach($this->items as $item) { - if($item->mode != QR_MODE_STRUCTURE) { - for($i=$item->size-1; $i>=0; $i--) { - $parity ^= $item->data[$i]; - } - } - } - - return $parity; - } - - //---------------------------------------------------------------------- - public static function checkModeNum($size, $data) - { - for($i=0; $i<$size; $i++) { - if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){ - return false; - } - } - - return true; - } - - //---------------------------------------------------------------------- - public static function estimateBitsModeNum($size) - { - $w = (int)$size / 3; - $bits = $w * 10; - - switch($size - $w * 3) { - case 1: - $bits += 4; - break; - case 2: - $bits += 7; - break; - default: - break; - } - - return $bits; - } - - //---------------------------------------------------------------------- - public static $anTable = array( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, - -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - ); - - //---------------------------------------------------------------------- - public static function lookAnTable($c) - { - return (($c > 127)?-1:self::$anTable[$c]); - } - - //---------------------------------------------------------------------- - public static function checkModeAn($size, $data) - { - for($i=0; $i<$size; $i++) { - if (self::lookAnTable(ord($data[$i])) == -1) { - return false; - } - } - - return true; - } - - //---------------------------------------------------------------------- - public static function estimateBitsModeAn($size) - { - $w = (int)($size / 2); - $bits = $w * 11; - - if($size & 1) { - $bits += 6; - } - - return $bits; - } - - //---------------------------------------------------------------------- - public static function estimateBitsMode8($size) - { - return $size * 8; - } - - //---------------------------------------------------------------------- - public function estimateBitsModeKanji($size) - { - return (int)(($size / 2) * 13); - } - - //---------------------------------------------------------------------- - public static function checkModeKanji($size, $data) - { - if($size & 1) - return false; - - for($i=0; $i<$size; $i+=2) { - $val = (ord($data[$i]) << 8) | ord($data[$i+1]); - if( $val < 0x8140 - || ($val > 0x9ffc && $val < 0xe040) - || $val > 0xebbf) { - return false; - } - } - - return true; - } - - /*********************************************************************** - * Validation - **********************************************************************/ - - public static function check($mode, $size, $data) - { - if($size <= 0) - return false; - - switch($mode) { - case QR_MODE_NUM: return self::checkModeNum($size, $data); break; - case QR_MODE_AN: return self::checkModeAn($size, $data); break; - case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break; - case QR_MODE_8: return true; break; - case QR_MODE_STRUCTURE: return true; break; - - default: - break; - } - - return false; - } - - - //---------------------------------------------------------------------- - public function estimateBitStreamSize($version) - { - $bits = 0; - - foreach($this->items as $item) { - $bits += $item->estimateBitStreamSizeOfEntry($version); - } - - return $bits; - } - - //---------------------------------------------------------------------- - public function estimateVersion() - { - $version = 0; - $prev = 0; - do { - $prev = $version; - $bits = $this->estimateBitStreamSize($prev); - $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if ($version < 0) { - return -1; - } - } while ($version > $prev); - - return $version; - } - - //---------------------------------------------------------------------- - public static function lengthOfCode($mode, $version, $bits) - { - $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version); - switch($mode) { - case QR_MODE_NUM: - $chunks = (int)($payload / 10); - $remain = $payload - $chunks * 10; - $size = $chunks * 3; - if($remain >= 7) { - $size += 2; - } else if($remain >= 4) { - $size += 1; - } - break; - case QR_MODE_AN: - $chunks = (int)($payload / 11); - $remain = $payload - $chunks * 11; - $size = $chunks * 2; - if($remain >= 6) - $size++; - break; - case QR_MODE_8: - $size = (int)($payload / 8); - break; - case QR_MODE_KANJI: - $size = (int)(($payload / 13) * 2); - break; - case QR_MODE_STRUCTURE: - $size = (int)($payload / 8); - break; - default: - $size = 0; - break; - } - - $maxsize = QRspec::maximumWords($mode, $version); - if($size < 0) $size = 0; - if($size > $maxsize) $size = $maxsize; - - return $size; - } - - //---------------------------------------------------------------------- - public function createBitStream() - { - $total = 0; - - foreach($this->items as $item) { - $bits = $item->encodeBitStream($this->version); - - if($bits < 0) - return -1; - - $total += $bits; - } - - return $total; - } - - //---------------------------------------------------------------------- - public function convertData() - { - $ver = $this->estimateVersion(); - if($ver > $this->getVersion()) { - $this->setVersion($ver); - } - - for(;;) { - $bits = $this->createBitStream(); - - if($bits < 0) - return -1; - - $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if($ver < 0) { - throw new Exception('WRONG VERSION'); - return -1; - } else if($ver > $this->getVersion()) { - $this->setVersion($ver); - } else { - break; - } - } - - return 0; - } - - //---------------------------------------------------------------------- - public function appendPaddingBit(&$bstream) - { - $bits = $bstream->size(); - $maxwords = QRspec::getDataLength($this->version, $this->level); - $maxbits = $maxwords * 8; - - if ($maxbits == $bits) { - return 0; - } - - if ($maxbits - $bits < 5) { - return $bstream->appendNum($maxbits - $bits, 0); - } - - $bits += 4; - $words = (int)(($bits + 7) / 8); - - $padding = new QRbitstream(); - $ret = $padding->appendNum($words * 8 - $bits + 4, 0); - - if($ret < 0) - return $ret; - - $padlen = $maxwords - $words; - - if($padlen > 0) { - - $padbuf = array(); - for($i=0; $i<$padlen; $i++) { - $padbuf[$i] = ($i&1)?0x11:0xec; - } - - $ret = $padding->appendBytes($padlen, $padbuf); - - if($ret < 0) - return $ret; - - } - - $ret = $bstream->append($padding); - - return $ret; - } - - //---------------------------------------------------------------------- - public function mergeBitStream() - { - if($this->convertData() < 0) { - return null; - } - - $bstream = new QRbitstream(); - - foreach($this->items as $item) { - $ret = $bstream->append($item->bstream); - if($ret < 0) { - return null; - } - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function getBitStream() - { - - $bstream = $this->mergeBitStream(); - - if($bstream == null) { - return null; - } - - $ret = $this->appendPaddingBit($bstream); - if($ret < 0) { - return null; - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function getByteStream() - { - $bstream = $this->getBitStream(); - if($bstream == null) { - return null; - } - - return $bstream->toByte(); - } - } - - - - - - -//---- qrbitstream.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Bitstream class - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRbitstream { - - public $data = array(); - - //---------------------------------------------------------------------- - public function size() - { - return count($this->data); - } - - //---------------------------------------------------------------------- - public function allocate($setLength) - { - $this->data = array_fill(0, $setLength, 0); - return 0; - } - - //---------------------------------------------------------------------- - public static function newFromNum($bits, $num) - { - $bstream = new QRbitstream(); - $bstream->allocate($bits); - - $mask = 1 << ($bits - 1); - for($i=0; $i<$bits; $i++) { - if($num & $mask) { - $bstream->data[$i] = 1; - } else { - $bstream->data[$i] = 0; - } - $mask = $mask >> 1; - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public static function newFromBytes($size, $data) - { - $bstream = new QRbitstream(); - $bstream->allocate($size * 8); - $p=0; - - for($i=0; $i<$size; $i++) { - $mask = 0x80; - for($j=0; $j<8; $j++) { - if($data[$i] & $mask) { - $bstream->data[$p] = 1; - } else { - $bstream->data[$p] = 0; - } - $p++; - $mask = $mask >> 1; - } - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function append(QRbitstream $arg) - { - if (is_null($arg)) { - return -1; - } - - if($arg->size() == 0) { - return 0; - } - - if($this->size() == 0) { - $this->data = $arg->data; - return 0; - } - - $this->data = array_values(array_merge($this->data, $arg->data)); - - return 0; - } - - //---------------------------------------------------------------------- - public function appendNum($bits, $num) - { - if ($bits == 0) - return 0; - - $b = QRbitstream::newFromNum($bits, $num); - - if(is_null($b)) - return -1; - - $ret = $this->append($b); - unset($b); - - return $ret; - } - - //---------------------------------------------------------------------- - public function appendBytes($size, $data) - { - if ($size == 0) - return 0; - - $b = QRbitstream::newFromBytes($size, $data); - - if(is_null($b)) - return -1; - - $ret = $this->append($b); - unset($b); - - return $ret; - } - - //---------------------------------------------------------------------- - public function toByte() - { - - $size = $this->size(); - - if($size == 0) { - return array(); - } - - $data = array_fill(0, (int)(($size + 7) / 8), 0); - $bytes = (int)($size / 8); - - $p = 0; - - for($i=0; $i<$bytes; $i++) { - $v = 0; - for($j=0; $j<8; $j++) { - $v = $v << 1; - $v |= $this->data[$p]; - $p++; - } - $data[$i] = $v; - } - - if($size & 7) { - $v = 0; - for($j=0; $j<($size & 7); $j++) { - $v = $v << 1; - $v |= $this->data[$p]; - $p++; - } - $data[$bytes] = $v; - } - - return $data; - } - - } - - - - -//---- qrsplit.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Input splitting classes - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * The following data / specifications are taken from - * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) - * or - * "Automatic identification and data capture techniques -- - * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - class QRsplit { - - public $dataStr = ''; - public $input; - public $modeHint; - - //---------------------------------------------------------------------- - public function __construct($dataStr, $input, $modeHint) - { - $this->dataStr = $dataStr; - $this->input = $input; - $this->modeHint = $modeHint; - } - - //---------------------------------------------------------------------- - public static function isdigitat($str, $pos) - { - if ($pos >= strlen($str)) - return false; - - return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); - } - - //---------------------------------------------------------------------- - public static function isalnumat($str, $pos) - { - if ($pos >= strlen($str)) - return false; - - return (QRinput::lookAnTable(ord($str[$pos])) >= 0); - } - - //---------------------------------------------------------------------- - public function identifyMode($pos) - { - if ($pos >= strlen($this->dataStr)) - return QR_MODE_NUL; - - $c = $this->dataStr[$pos]; - - if(self::isdigitat($this->dataStr, $pos)) { - return QR_MODE_NUM; - } else if(self::isalnumat($this->dataStr, $pos)) { - return QR_MODE_AN; - } else if($this->modeHint == QR_MODE_KANJI) { - - if ($pos+1 < strlen($this->dataStr)) - { - $d = $this->dataStr[$pos+1]; - $word = (ord($c) << 8) | ord($d); - if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) { - return QR_MODE_KANJI; - } - } - } - - return QR_MODE_8; - } - - //---------------------------------------------------------------------- - public function eatNum() - { - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 0; - while(self::isdigitat($this->dataStr, $p)) { - $p++; - } - - $run = $p; - $mode = $this->identifyMode($p); - - if($mode == QR_MODE_8) { - $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln - + QRinput::estimateBitsMode8(1) // + 4 + l8 - - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 - if($dif > 0) { - return $this->eat8(); - } - } - if($mode == QR_MODE_AN) { - $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln - + QRinput::estimateBitsModeAn(1) // + 4 + la - - QRinput::estimateBitsModeAn($run + 1);// - 4 - la - if($dif > 0) { - return $this->eatAn(); - } - } - - $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eatAn() - { - $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 0; - - while(self::isalnumat($this->dataStr, $p)) { - if(self::isdigitat($this->dataStr, $p)) { - $q = $p; - while(self::isdigitat($this->dataStr, $q)) { - $q++; - } - - $dif = QRinput::estimateBitsModeAn($p) // + 4 + la - + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - - QRinput::estimateBitsModeAn($q); // - 4 - la - - if($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - - $run = $p; - - if(!self::isalnumat($this->dataStr, $p)) { - $dif = QRinput::estimateBitsModeAn($run) + 4 + $la - + QRinput::estimateBitsMode8(1) // + 4 + l8 - - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 - if($dif > 0) { - return $this->eat8(); - } - } - - $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eatKanji() - { - $p = 0; - - while($this->identifyMode($p) == QR_MODE_KANJI) { - $p += 2; - } - - $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eat8() - { - $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 1; - $dataStrLen = strlen($this->dataStr); - - while($p < $dataStrLen) { - - $mode = $this->identifyMode($p); - if($mode == QR_MODE_KANJI) { - break; - } - if($mode == QR_MODE_NUM) { - $q = $p; - while(self::isdigitat($this->dataStr, $q)) { - $q++; - } - $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 - + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - - QRinput::estimateBitsMode8($q); // - 4 - l8 - if($dif < 0) { - break; - } else { - $p = $q; - } - } else if($mode == QR_MODE_AN) { - $q = $p; - while(self::isalnumat($this->dataStr, $q)) { - $q++; - } - $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 - + QRinput::estimateBitsModeAn($q - $p) + 4 + $la - - QRinput::estimateBitsMode8($q); // - 4 - l8 - if($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - - $run = $p; - $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr)); - - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function splitString() - { - while (strlen($this->dataStr) > 0) - { - if($this->dataStr == '') - return 0; - - $mode = $this->identifyMode(0); - - switch ($mode) { - case QR_MODE_NUM: $length = $this->eatNum(); break; - case QR_MODE_AN: $length = $this->eatAn(); break; - case QR_MODE_KANJI: - if ($hint == QR_MODE_KANJI) - $length = $this->eatKanji(); - else $length = $this->eat8(); - break; - default: $length = $this->eat8(); break; - - } - - if($length == 0) return 0; - if($length < 0) return -1; - - $this->dataStr = substr($this->dataStr, $length); - } - } - - //---------------------------------------------------------------------- - public function toUpper() - { - $stringLen = strlen($this->dataStr); - $p = 0; - - while ($p<$stringLen) { - $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint); - if($mode == QR_MODE_KANJI) { - $p += 2; - } else { - if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) { - $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); - } - $p++; - } - } - - return $this->dataStr; - } - - //---------------------------------------------------------------------- - public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true) - { - if(is_null($string) || $string == '\0' || $string == '') { - throw new Exception('empty string!!!'); - } - - $split = new QRsplit($string, $input, $modeHint); - - if(!$casesensitive) - $split->toUpper(); - - return $split->splitString(); - } - } - - - -//---- qrrscode.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Reed-Solomon error correction support - * - * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q - * (libfec is released under the GNU Lesser General Public License.) - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRrsItem { - - public $mm; // Bits per symbol - public $nn; // Symbols per block (= (1<<mm)-1) - public $alpha_to = array(); // log lookup table - public $index_of = array(); // Antilog lookup table - public $genpoly = array(); // Generator polynomial - public $nroots; // Number of generator roots = number of parity symbols - public $fcr; // First consecutive root, index form - public $prim; // Primitive element, index form - public $iprim; // prim-th root of 1, index form - public $pad; // Padding bytes in shortened block - public $gfpoly; - - //---------------------------------------------------------------------- - public function modnn($x) - { - while ($x >= $this->nn) { - $x -= $this->nn; - $x = ($x >> $this->mm) + ($x & $this->nn); - } - - return $x; - } - - //---------------------------------------------------------------------- - public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) - { - // Common code for intializing a Reed-Solomon control block (char or int symbols) - // Copyright 2004 Phil Karn, KA9Q - // May be used under the terms of the GNU Lesser General Public License (LGPL) - - $rs = null; - - // Check parameter ranges - if($symsize < 0 || $symsize > 8) return $rs; - if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; - if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; - if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! - if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding - - $rs = new QRrsItem(); - $rs->mm = $symsize; - $rs->nn = (1<<$symsize)-1; - $rs->pad = $pad; - - $rs->alpha_to = array_fill(0, $rs->nn+1, 0); - $rs->index_of = array_fill(0, $rs->nn+1, 0); - - // PHP style macro replacement ;) - $NN =& $rs->nn; - $A0 =& $NN; - - // Generate Galois field lookup tables - $rs->index_of[0] = $A0; // log(zero) = -inf - $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 - $sr = 1; - - for($i=0; $i<$rs->nn; $i++) { - $rs->index_of[$sr] = $i; - $rs->alpha_to[$i] = $sr; - $sr <<= 1; - if($sr & (1<<$symsize)) { - $sr ^= $gfpoly; - } - $sr &= $rs->nn; - } - - if($sr != 1){ - // field generator polynomial is not primitive! - $rs = NULL; - return $rs; - } - - /* Form RS code generator polynomial from its roots */ - $rs->genpoly = array_fill(0, $nroots+1, 0); - - $rs->fcr = $fcr; - $rs->prim = $prim; - $rs->nroots = $nroots; - $rs->gfpoly = $gfpoly; - - /* Find prim-th root of 1, used in decoding */ - for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) - ; // intentional empty-body loop! - - $rs->iprim = (int)($iprim / $prim); - $rs->genpoly[0] = 1; - - for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { - $rs->genpoly[$i+1] = 1; - - // Multiply rs->genpoly[] by @**(root + x) - for ($j = $i; $j > 0; $j--) { - if ($rs->genpoly[$j] != 0) { - $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; - } else { - $rs->genpoly[$j] = $rs->genpoly[$j-1]; - } - } - // rs->genpoly[0] can never be zero - $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; - } - - // convert rs->genpoly[] to index form for quicker encoding - for ($i = 0; $i <= $nroots; $i++) - $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; - - return $rs; - } - - //---------------------------------------------------------------------- - public function encode_rs_char($data, &$parity) - { - $MM =& $this->mm; - $NN =& $this->nn; - $ALPHA_TO =& $this->alpha_to; - $INDEX_OF =& $this->index_of; - $GENPOLY =& $this->genpoly; - $NROOTS =& $this->nroots; - $FCR =& $this->fcr; - $PRIM =& $this->prim; - $IPRIM =& $this->iprim; - $PAD =& $this->pad; - $A0 =& $NN; - - $parity = array_fill(0, $NROOTS, 0); - - for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { - - $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; - if($feedback != $A0) { - // feedback term is non-zero - - // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must - // always be for the polynomials constructed by init_rs() - $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); - - for($j=1;$j<$NROOTS;$j++) { - $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; - } - } - - // Shift - array_shift($parity); - if($feedback != $A0) { - array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); - } else { - array_push($parity, 0); - } - } - } - } - - //########################################################################## - - class QRrs { - - public static $items = array(); - - //---------------------------------------------------------------------- - public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) - { - foreach(self::$items as $rs) { - if($rs->pad != $pad) continue; - if($rs->nroots != $nroots) continue; - if($rs->mm != $symsize) continue; - if($rs->gfpoly != $gfpoly) continue; - if($rs->fcr != $fcr) continue; - if($rs->prim != $prim) continue; - - return $rs; - } - - $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); - array_unshift(self::$items, $rs); - - return $rs; - } - } - - - -//---- qrmask.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Masking - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('N1', 3); - define('N2', 3); - define('N3', 40); - define('N4', 10); - - class QRmask { - - public $runLength = array(); - - //---------------------------------------------------------------------- - public function __construct() - { - $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); - } - - //---------------------------------------------------------------------- - public function writeFormatInformation($width, &$frame, $mask, $level) - { - $blacks = 0; - $format = QRspec::getFormatInfo($mask, $level); - - for($i=0; $i<8; $i++) { - if($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - - $frame[8][$width - 1 - $i] = chr($v); - if($i < 6) { - $frame[$i][8] = chr($v); - } else { - $frame[$i + 1][8] = chr($v); - } - $format = $format >> 1; - } - - for($i=0; $i<7; $i++) { - if($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - - $frame[$width - 7 + $i][8] = chr($v); - if($i == 0) { - $frame[8][7] = chr($v); - } else { - $frame[8][6 - $i] = chr($v); - } - - $format = $format >> 1; - } - - return $blacks; - } - - //---------------------------------------------------------------------- - public function mask0($x, $y) { return ($x+$y)&1; } - public function mask1($x, $y) { return ($y&1); } - public function mask2($x, $y) { return ($x%3); } - public function mask3($x, $y) { return ($x+$y)%3; } - public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; } - public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; } - public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; } - public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; } - - //---------------------------------------------------------------------- - private function generateMaskNo($maskNo, $width, $frame) - { - $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); - - for($y=0; $y<$width; $y++) { - for($x=0; $x<$width; $x++) { - if(ord($frame[$y][$x]) & 0x80) { - $bitMask[$y][$x] = 0; - } else { - $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); - $bitMask[$y][$x] = ($maskFunc == 0)?1:0; - } - - } - } - - return $bitMask; - } - - //---------------------------------------------------------------------- - public static function serial($bitFrame) - { - $codeArr = array(); - - foreach ($bitFrame as $line) - $codeArr[] = join('', $line); - - return gzcompress(join("\n", $codeArr), 9); - } - - //---------------------------------------------------------------------- - public static function unserial($code) - { - $codeArr = array(); - - $codeLines = explode("\n", gzuncompress($code)); - foreach ($codeLines as $line) - $codeArr[] = str_split($line); - - return $codeArr; - } - - //---------------------------------------------------------------------- - public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false) - { - $b = 0; - $bitMask = array(); - - $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat'; - - if (QR_CACHEABLE) { - if (file_exists($fileName)) { - $bitMask = self::unserial(file_get_contents($fileName)); - } else { - $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); - if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo)) - mkdir(QR_CACHE_DIR.'mask_'.$maskNo); - file_put_contents($fileName, self::serial($bitMask)); - } - } else { - $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); - } - - if ($maskGenOnly) - return; - - $d = $s; - - for($y=0; $y<$width; $y++) { - for($x=0; $x<$width; $x++) { - if($bitMask[$y][$x] == 1) { - $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); - } - $b += (int)(ord($d[$y][$x]) & 1); - } - } - - return $b; - } - - //---------------------------------------------------------------------- - public function makeMask($width, $frame, $maskNo, $level) - { - $masked = array_fill(0, $width, str_repeat("\0", $width)); - $this->makeMaskNo($maskNo, $width, $frame, $masked); - $this->writeFormatInformation($width, $masked, $maskNo, $level); - - return $masked; - } - - //---------------------------------------------------------------------- - public function calcN1N3($length) - { - $demerit = 0; - - for($i=0; $i<$length; $i++) { - - if($this->runLength[$i] >= 5) { - $demerit += (N1 + ($this->runLength[$i] - 5)); - } - if($i & 1) { - if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) { - $fact = (int)($this->runLength[$i] / 3); - if(($this->runLength[$i-2] == $fact) && - ($this->runLength[$i-1] == $fact) && - ($this->runLength[$i+1] == $fact) && - ($this->runLength[$i+2] == $fact)) { - if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) { - $demerit += N3; - } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) { - $demerit += N3; - } - } - } - } - } - return $demerit; - } - - //---------------------------------------------------------------------- - public function evaluateSymbol($width, $frame) - { - $head = 0; - $demerit = 0; - - for($y=0; $y<$width; $y++) { - $head = 0; - $this->runLength[0] = 1; - - $frameY = $frame[$y]; - - if ($y>0) - $frameYM = $frame[$y-1]; - - for($x=0; $x<$width; $x++) { - if(($x > 0) && ($y > 0)) { - $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); - $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); - - if(($b22 | ($w22 ^ 1))&1) { - $demerit += N2; - } - } - if(($x == 0) && (ord($frameY[$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } else if($x > 0) { - if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - - $demerit += $this->calcN1N3($head+1); - } - - for($x=0; $x<$width; $x++) { - $head = 0; - $this->runLength[0] = 1; - - for($y=0; $y<$width; $y++) { - if($y == 0 && (ord($frame[$y][$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } else if($y > 0) { - if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - - $demerit += $this->calcN1N3($head+1); - } - - return $demerit; - } - - - //---------------------------------------------------------------------- - public function mask($width, $frame, $level) - { - $minDemerit = PHP_INT_MAX; - $bestMaskNum = 0; - $bestMask = array(); - - $checked_masks = array(0,1,2,3,4,5,6,7); - - if (QR_FIND_FROM_RANDOM !== false) { - - $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9); - for ($i = 0; $i < $howManuOut; $i++) { - $remPos = rand (0, count($checked_masks)-1); - unset($checked_masks[$remPos]); - $checked_masks = array_values($checked_masks); - } - - } - - $bestMask = $frame; - - foreach($checked_masks as $i) { - $mask = array_fill(0, $width, str_repeat("\0", $width)); - - $demerit = 0; - $blacks = 0; - $blacks = $this->makeMaskNo($i, $width, $frame, $mask); - $blacks += $this->writeFormatInformation($width, $mask, $i, $level); - $blacks = (int)(100 * $blacks / ($width * $width)); - $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); - $demerit += $this->evaluateSymbol($width, $mask); - - if($demerit < $minDemerit) { - $minDemerit = $demerit; - $bestMask = $mask; - $bestMaskNum = $i; - } - } - - return $bestMask; - } - - //---------------------------------------------------------------------- - } - - - - -//---- qrencode.php ----------------------------- - - - - -/* - * PHP QR Code encoder - * - * Main encoder classes. - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRrsblock { - public $dataLength; - public $data = array(); - public $eccLength; - public $ecc = array(); - - public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs) - { - $rs->encode_rs_char($data, $ecc); - - $this->dataLength = $dl; - $this->data = $data; - $this->eccLength = $el; - $this->ecc = $ecc; - } - }; - - //########################################################################## - - class QRrawcode { - public $version; - public $datacode = array(); - public $ecccode = array(); - public $blocks; - public $rsblocks = array(); //of RSblock - public $count; - public $dataLength; - public $eccLength; - public $b1; - - //---------------------------------------------------------------------- - public function __construct(QRinput $input) - { - $spec = array(0,0,0,0,0); - - $this->datacode = $input->getByteStream(); - if(is_null($this->datacode)) { - throw new Exception('null imput string'); - } - - QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec); - - $this->version = $input->getVersion(); - $this->b1 = QRspec::rsBlockNum1($spec); - $this->dataLength = QRspec::rsDataLength($spec); - $this->eccLength = QRspec::rsEccLength($spec); - $this->ecccode = array_fill(0, $this->eccLength, 0); - $this->blocks = QRspec::rsBlockNum($spec); - - $ret = $this->init($spec); - if($ret < 0) { - throw new Exception('block alloc error'); - return null; - } - - $this->count = 0; - } - - //---------------------------------------------------------------------- - public function init(array $spec) - { - $dl = QRspec::rsDataCodes1($spec); - $el = QRspec::rsEccCodes1($spec); - $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - - - $blockNo = 0; - $dataPos = 0; - $eccPos = 0; - for($i=0; $i<QRspec::rsBlockNum1($spec); $i++) { - $ecc = array_slice($this->ecccode,$eccPos); - $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); - $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); - - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - - if(QRspec::rsBlockNum2($spec) == 0) - return 0; - - $dl = QRspec::rsDataCodes2($spec); - $el = QRspec::rsEccCodes2($spec); - $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - - if($rs == NULL) return -1; - - for($i=0; $i<QRspec::rsBlockNum2($spec); $i++) { - $ecc = array_slice($this->ecccode,$eccPos); - $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); - $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); - - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - - return 0; - } - - //---------------------------------------------------------------------- - public function getCode() - { - $ret; - - if($this->count < $this->dataLength) { - $row = $this->count % $this->blocks; - $col = $this->count / $this->blocks; - if($col >= $this->rsblocks[0]->dataLength) { - $row += $this->b1; - } - $ret = $this->rsblocks[$row]->data[$col]; - } else if($this->count < $this->dataLength + $this->eccLength) { - $row = ($this->count - $this->dataLength) % $this->blocks; - $col = ($this->count - $this->dataLength) / $this->blocks; - $ret = $this->rsblocks[$row]->ecc[$col]; - } else { - return 0; - } - $this->count++; - - return $ret; - } - } - - //########################################################################## - - class QRcode { - - public $version; - public $width; - public $data; - - //---------------------------------------------------------------------- - public function encodeMask(QRinput $input, $mask) - { - if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) { - throw new Exception('wrong version'); - } - if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) { - throw new Exception('wrong level'); - } - - $raw = new QRrawcode($input); - - QRtools::markTime('after_raw'); - - $version = $raw->version; - $width = QRspec::getWidth($version); - $frame = QRspec::newFrame($version); - - $filler = new FrameFiller($width, $frame); - if(is_null($filler)) { - return NULL; - } - - // inteleaved data and ecc codes - for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) { - $code = $raw->getCode(); - $bit = 0x80; - for($j=0; $j<8; $j++) { - $addr = $filler->next(); - $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); - $bit = $bit >> 1; - } - } - - QRtools::markTime('after_filler'); - - unset($raw); - - // remainder bits - $j = QRspec::getRemainder($version); - for($i=0; $i<$j; $i++) { - $addr = $filler->next(); - $filler->setFrameAt($addr, 0x02); - } - - $frame = $filler->frame; - unset($filler); - - - // masking - $maskObj = new QRmask(); - if($mask < 0) { - - if (QR_FIND_BEST_MASK) { - $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel()); - } else { - $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel()); - } - } else { - $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel()); - } - - if($masked == NULL) { - return NULL; - } - - QRtools::markTime('after_mask'); - - $this->version = $version; - $this->width = $width; - $this->data = $masked; - - return $this; - } - - //---------------------------------------------------------------------- - public function encodeInput(QRinput $input) - { - return $this->encodeMask($input, -1); - } - - //---------------------------------------------------------------------- - public function encodeString8bit($string, $version, $level) - { - if(string == NULL) { - throw new Exception('empty string!'); - return NULL; - } - - $input = new QRinput($version, $level); - if($input == NULL) return NULL; - - $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string)); - if($ret < 0) { - unset($input); - return NULL; - } - return $this->encodeInput($input); - } - - //---------------------------------------------------------------------- - public function encodeString($string, $version, $level, $hint, $casesensitive) - { - - if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) { - throw new Exception('bad hint'); - return NULL; - } - - $input = new QRinput($version, $level); - if($input == NULL) return NULL; - - $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive); - if($ret < 0) { - return NULL; - } - - return $this->encodeInput($input); - } - - //---------------------------------------------------------------------- - public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encodePNG($text, $outfile, $saveandprint=false); - } - - //---------------------------------------------------------------------- - public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encode($text, $outfile); - } - - //---------------------------------------------------------------------- - public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encodeRAW($text, $outfile); - } - } - - //########################################################################## - - class FrameFiller { - - public $width; - public $frame; - public $x; - public $y; - public $dir; - public $bit; - - //---------------------------------------------------------------------- - public function __construct($width, &$frame) - { - $this->width = $width; - $this->frame = $frame; - $this->x = $width - 1; - $this->y = $width - 1; - $this->dir = -1; - $this->bit = -1; - } - - //---------------------------------------------------------------------- - public function setFrameAt($at, $val) - { - $this->frame[$at['y']][$at['x']] = chr($val); - } - - //---------------------------------------------------------------------- - public function getFrameAt($at) - { - return ord($this->frame[$at['y']][$at['x']]); - } - - //---------------------------------------------------------------------- - public function next() - { - do { - - if($this->bit == -1) { - $this->bit = 0; - return array('x'=>$this->x, 'y'=>$this->y); - } - - $x = $this->x; - $y = $this->y; - $w = $this->width; - - if($this->bit == 0) { - $x--; - $this->bit++; - } else { - $x++; - $y += $this->dir; - $this->bit--; - } - - if($this->dir < 0) { - if($y < 0) { - $y = 0; - $x -= 2; - $this->dir = 1; - if($x == 6) { - $x--; - $y = 9; - } - } - } else { - if($y == $w) { - $y = $w - 1; - $x -= 2; - $this->dir = -1; - if($x == 6) { - $x--; - $y -= 8; - } - } - } - if($x < 0 || $y < 0) return null; - - $this->x = $x; - $this->y = $y; - - } while(ord($this->frame[$y][$x]) & 0x80); - - return array('x'=>$x, 'y'=>$y); - } - - } ; - - //########################################################################## - - class QRencode { - - public $casesensitive = true; - public $eightbit = false; - - public $version = 0; - public $size = 3; - public $margin = 4; - - public $structured = 0; // not supported yet - - public $level = QR_ECLEVEL_L; - public $hint = QR_MODE_8; - - //---------------------------------------------------------------------- - public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = new QRencode(); - $enc->size = $size; - $enc->margin = $margin; - - switch ($level.'') { - case '0': - case '1': - case '2': - case '3': - $enc->level = $level; - break; - case 'l': - case 'L': - $enc->level = QR_ECLEVEL_L; - break; - case 'm': - case 'M': - $enc->level = QR_ECLEVEL_M; - break; - case 'q': - case 'Q': - $enc->level = QR_ECLEVEL_Q; - break; - case 'h': - case 'H': - $enc->level = QR_ECLEVEL_H; - break; - } - - return $enc; - } - - //---------------------------------------------------------------------- - public function encodeRAW($intext, $outfile = false) - { - $code = new QRcode(); - - if($this->eightbit) { - $code->encodeString8bit($intext, $this->version, $this->level); - } else { - $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); - } - - return $code->data; - } - - //---------------------------------------------------------------------- - public function encode($intext, $outfile = false) - { - $code = new QRcode(); - - if($this->eightbit) { - $code->encodeString8bit($intext, $this->version, $this->level); - } else { - $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); - } - - QRtools::markTime('after_encode'); - - if ($outfile!== false) { - file_put_contents($outfile, join("\n", QRtools::binarize($code->data))); - } else { - return QRtools::binarize($code->data); - } - } - - //---------------------------------------------------------------------- - public function encodePNG($intext, $outfile = false,$saveandprint=false) - { - try { - - ob_start(); - $tab = $this->encode($intext); - $err = ob_get_contents(); - ob_end_clean(); - - if ($err != '') - QRtools::log($outfile, $err); - - $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); - - QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint); - - } catch (Exception $e) { - - QRtools::log($outfile, $e->getMessage()); - - } - } - } - - diff --git a/admin/phpqrcode/qrbitstream.php b/admin/phpqrcode/qrbitstream.php deleted file mode 100644 index 7d4ec4a..0000000 --- a/admin/phpqrcode/qrbitstream.php +++ /dev/null @@ -1,180 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Bitstream class - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRbitstream { - - public $data = array(); - - //---------------------------------------------------------------------- - public function size() - { - return count($this->data); - } - - //---------------------------------------------------------------------- - public function allocate($setLength) - { - $this->data = array_fill(0, $setLength, 0); - return 0; - } - - //---------------------------------------------------------------------- - public static function newFromNum($bits, $num) - { - $bstream = new QRbitstream(); - $bstream->allocate($bits); - - $mask = 1 << ($bits - 1); - for($i=0; $i<$bits; $i++) { - if($num & $mask) { - $bstream->data[$i] = 1; - } else { - $bstream->data[$i] = 0; - } - $mask = $mask >> 1; - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public static function newFromBytes($size, $data) - { - $bstream = new QRbitstream(); - $bstream->allocate($size * 8); - $p=0; - - for($i=0; $i<$size; $i++) { - $mask = 0x80; - for($j=0; $j<8; $j++) { - if($data[$i] & $mask) { - $bstream->data[$p] = 1; - } else { - $bstream->data[$p] = 0; - } - $p++; - $mask = $mask >> 1; - } - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function append(QRbitstream $arg) - { - if (is_null($arg)) { - return -1; - } - - if($arg->size() == 0) { - return 0; - } - - if($this->size() == 0) { - $this->data = $arg->data; - return 0; - } - - $this->data = array_values(array_merge($this->data, $arg->data)); - - return 0; - } - - //---------------------------------------------------------------------- - public function appendNum($bits, $num) - { - if ($bits == 0) - return 0; - - $b = QRbitstream::newFromNum($bits, $num); - - if(is_null($b)) - return -1; - - $ret = $this->append($b); - unset($b); - - return $ret; - } - - //---------------------------------------------------------------------- - public function appendBytes($size, $data) - { - if ($size == 0) - return 0; - - $b = QRbitstream::newFromBytes($size, $data); - - if(is_null($b)) - return -1; - - $ret = $this->append($b); - unset($b); - - return $ret; - } - - //---------------------------------------------------------------------- - public function toByte() - { - - $size = $this->size(); - - if($size == 0) { - return array(); - } - - $data = array_fill(0, (int)(($size + 7) / 8), 0); - $bytes = (int)($size / 8); - - $p = 0; - - for($i=0; $i<$bytes; $i++) { - $v = 0; - for($j=0; $j<8; $j++) { - $v = $v << 1; - $v |= $this->data[$p]; - $p++; - } - $data[$i] = $v; - } - - if($size & 7) { - $v = 0; - for($j=0; $j<($size & 7); $j++) { - $v = $v << 1; - $v |= $this->data[$p]; - $p++; - } - $data[$bytes] = $v; - } - - return $data; - } - - } diff --git a/admin/phpqrcode/qrconfig.php b/admin/phpqrcode/qrconfig.php deleted file mode 100644 index e53dff8..0000000 --- a/admin/phpqrcode/qrconfig.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Config file, feel free to modify - */ - - define('QR_CACHEABLE', true); // use cache - more disk reads but less CPU power, masks and format templates are stored there - define('QR_CACHE_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR); // used when QR_CACHEABLE === true - define('QR_LOG_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR); // default error logs dir - - define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code - define('QR_FIND_FROM_RANDOM', false); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly - define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false - - define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images - \ No newline at end of file diff --git a/admin/phpqrcode/qrconst.php b/admin/phpqrcode/qrconst.php deleted file mode 100644 index 9fac9fd..0000000 --- a/admin/phpqrcode/qrconst.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -/* - * PHP QR Code encoder - * - * Common constants - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - // Encoding modes - - define('QR_MODE_NUL', -1); - define('QR_MODE_NUM', 0); - define('QR_MODE_AN', 1); - define('QR_MODE_8', 2); - define('QR_MODE_KANJI', 3); - define('QR_MODE_STRUCTURE', 4); - - // Levels of error correction. - - define('QR_ECLEVEL_L', 0); - define('QR_ECLEVEL_M', 1); - define('QR_ECLEVEL_Q', 2); - define('QR_ECLEVEL_H', 3); - - // Supported output formats - - define('QR_FORMAT_TEXT', 0); - define('QR_FORMAT_PNG', 1); - - class qrstr { - public static function set(&$srctab, $x, $y, $repl, $replLen = false) { - $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); - } - } \ No newline at end of file diff --git a/admin/phpqrcode/qrencode.php b/admin/phpqrcode/qrencode.php deleted file mode 100644 index 4b77a5b..0000000 --- a/admin/phpqrcode/qrencode.php +++ /dev/null @@ -1,502 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Main encoder classes. - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRrsblock { - public $dataLength; - public $data = array(); - public $eccLength; - public $ecc = array(); - - public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs) - { - $rs->encode_rs_char($data, $ecc); - - $this->dataLength = $dl; - $this->data = $data; - $this->eccLength = $el; - $this->ecc = $ecc; - } - }; - - //########################################################################## - - class QRrawcode { - public $version; - public $datacode = array(); - public $ecccode = array(); - public $blocks; - public $rsblocks = array(); //of RSblock - public $count; - public $dataLength; - public $eccLength; - public $b1; - - //---------------------------------------------------------------------- - public function __construct(QRinput $input) - { - $spec = array(0,0,0,0,0); - - $this->datacode = $input->getByteStream(); - if(is_null($this->datacode)) { - throw new Exception('null imput string'); - } - - QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec); - - $this->version = $input->getVersion(); - $this->b1 = QRspec::rsBlockNum1($spec); - $this->dataLength = QRspec::rsDataLength($spec); - $this->eccLength = QRspec::rsEccLength($spec); - $this->ecccode = array_fill(0, $this->eccLength, 0); - $this->blocks = QRspec::rsBlockNum($spec); - - $ret = $this->init($spec); - if($ret < 0) { - throw new Exception('block alloc error'); - return null; - } - - $this->count = 0; - } - - //---------------------------------------------------------------------- - public function init(array $spec) - { - $dl = QRspec::rsDataCodes1($spec); - $el = QRspec::rsEccCodes1($spec); - $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - - - $blockNo = 0; - $dataPos = 0; - $eccPos = 0; - for($i=0; $i<QRspec::rsBlockNum1($spec); $i++) { - $ecc = array_slice($this->ecccode,$eccPos); - $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); - $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); - - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - - if(QRspec::rsBlockNum2($spec) == 0) - return 0; - - $dl = QRspec::rsDataCodes2($spec); - $el = QRspec::rsEccCodes2($spec); - $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); - - if($rs == NULL) return -1; - - for($i=0; $i<QRspec::rsBlockNum2($spec); $i++) { - $ecc = array_slice($this->ecccode,$eccPos); - $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs); - $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); - - $dataPos += $dl; - $eccPos += $el; - $blockNo++; - } - - return 0; - } - - //---------------------------------------------------------------------- - public function getCode() - { - $ret; - - if($this->count < $this->dataLength) { - $row = $this->count % $this->blocks; - $col = $this->count / $this->blocks; - if($col >= $this->rsblocks[0]->dataLength) { - $row += $this->b1; - } - $ret = $this->rsblocks[$row]->data[$col]; - } else if($this->count < $this->dataLength + $this->eccLength) { - $row = ($this->count - $this->dataLength) % $this->blocks; - $col = ($this->count - $this->dataLength) / $this->blocks; - $ret = $this->rsblocks[$row]->ecc[$col]; - } else { - return 0; - } - $this->count++; - - return $ret; - } - } - - //########################################################################## - - class QRcode { - - public $version; - public $width; - public $data; - - //---------------------------------------------------------------------- - public function encodeMask(QRinput $input, $mask) - { - if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) { - throw new Exception('wrong version'); - } - if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) { - throw new Exception('wrong level'); - } - - $raw = new QRrawcode($input); - - QRtools::markTime('after_raw'); - - $version = $raw->version; - $width = QRspec::getWidth($version); - $frame = QRspec::newFrame($version); - - $filler = new FrameFiller($width, $frame); - if(is_null($filler)) { - return NULL; - } - - // inteleaved data and ecc codes - for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) { - $code = $raw->getCode(); - $bit = 0x80; - for($j=0; $j<8; $j++) { - $addr = $filler->next(); - $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); - $bit = $bit >> 1; - } - } - - QRtools::markTime('after_filler'); - - unset($raw); - - // remainder bits - $j = QRspec::getRemainder($version); - for($i=0; $i<$j; $i++) { - $addr = $filler->next(); - $filler->setFrameAt($addr, 0x02); - } - - $frame = $filler->frame; - unset($filler); - - - // masking - $maskObj = new QRmask(); - if($mask < 0) { - - if (QR_FIND_BEST_MASK) { - $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel()); - } else { - $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel()); - } - } else { - $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel()); - } - - if($masked == NULL) { - return NULL; - } - - QRtools::markTime('after_mask'); - - $this->version = $version; - $this->width = $width; - $this->data = $masked; - - return $this; - } - - //---------------------------------------------------------------------- - public function encodeInput(QRinput $input) - { - return $this->encodeMask($input, -1); - } - - //---------------------------------------------------------------------- - public function encodeString8bit($string, $version, $level) - { - if(string == NULL) { - throw new Exception('empty string!'); - return NULL; - } - - $input = new QRinput($version, $level); - if($input == NULL) return NULL; - - $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string)); - if($ret < 0) { - unset($input); - return NULL; - } - return $this->encodeInput($input); - } - - //---------------------------------------------------------------------- - public function encodeString($string, $version, $level, $hint, $casesensitive) - { - - if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) { - throw new Exception('bad hint'); - return NULL; - } - - $input = new QRinput($version, $level); - if($input == NULL) return NULL; - - $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive); - if($ret < 0) { - return NULL; - } - - return $this->encodeInput($input); - } - - //---------------------------------------------------------------------- - public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encodePNG($text, $outfile, $saveandprint=false); - } - - //---------------------------------------------------------------------- - public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encode($text, $outfile); - } - - //---------------------------------------------------------------------- - public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = QRencode::factory($level, $size, $margin); - return $enc->encodeRAW($text, $outfile); - } - } - - //########################################################################## - - class FrameFiller { - - public $width; - public $frame; - public $x; - public $y; - public $dir; - public $bit; - - //---------------------------------------------------------------------- - public function __construct($width, &$frame) - { - $this->width = $width; - $this->frame = $frame; - $this->x = $width - 1; - $this->y = $width - 1; - $this->dir = -1; - $this->bit = -1; - } - - //---------------------------------------------------------------------- - public function setFrameAt($at, $val) - { - $this->frame[$at['y']][$at['x']] = chr($val); - } - - //---------------------------------------------------------------------- - public function getFrameAt($at) - { - return ord($this->frame[$at['y']][$at['x']]); - } - - //---------------------------------------------------------------------- - public function next() - { - do { - - if($this->bit == -1) { - $this->bit = 0; - return array('x'=>$this->x, 'y'=>$this->y); - } - - $x = $this->x; - $y = $this->y; - $w = $this->width; - - if($this->bit == 0) { - $x--; - $this->bit++; - } else { - $x++; - $y += $this->dir; - $this->bit--; - } - - if($this->dir < 0) { - if($y < 0) { - $y = 0; - $x -= 2; - $this->dir = 1; - if($x == 6) { - $x--; - $y = 9; - } - } - } else { - if($y == $w) { - $y = $w - 1; - $x -= 2; - $this->dir = -1; - if($x == 6) { - $x--; - $y -= 8; - } - } - } - if($x < 0 || $y < 0) return null; - - $this->x = $x; - $this->y = $y; - - } while(ord($this->frame[$y][$x]) & 0x80); - - return array('x'=>$x, 'y'=>$y); - } - - } ; - - //########################################################################## - - class QRencode { - - public $casesensitive = true; - public $eightbit = false; - - public $version = 0; - public $size = 3; - public $margin = 4; - - public $structured = 0; // not supported yet - - public $level = QR_ECLEVEL_L; - public $hint = QR_MODE_8; - - //---------------------------------------------------------------------- - public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4) - { - $enc = new QRencode(); - $enc->size = $size; - $enc->margin = $margin; - - switch ($level.'') { - case '0': - case '1': - case '2': - case '3': - $enc->level = $level; - break; - case 'l': - case 'L': - $enc->level = QR_ECLEVEL_L; - break; - case 'm': - case 'M': - $enc->level = QR_ECLEVEL_M; - break; - case 'q': - case 'Q': - $enc->level = QR_ECLEVEL_Q; - break; - case 'h': - case 'H': - $enc->level = QR_ECLEVEL_H; - break; - } - - return $enc; - } - - //---------------------------------------------------------------------- - public function encodeRAW($intext, $outfile = false) - { - $code = new QRcode(); - - if($this->eightbit) { - $code->encodeString8bit($intext, $this->version, $this->level); - } else { - $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); - } - - return $code->data; - } - - //---------------------------------------------------------------------- - public function encode($intext, $outfile = false) - { - $code = new QRcode(); - - if($this->eightbit) { - $code->encodeString8bit($intext, $this->version, $this->level); - } else { - $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive); - } - - QRtools::markTime('after_encode'); - - if ($outfile!== false) { - file_put_contents($outfile, join("\n", QRtools::binarize($code->data))); - } else { - return QRtools::binarize($code->data); - } - } - - //---------------------------------------------------------------------- - public function encodePNG($intext, $outfile = false,$saveandprint=false) - { - try { - - ob_start(); - $tab = $this->encode($intext); - $err = ob_get_contents(); - ob_end_clean(); - - if ($err != '') - QRtools::log($outfile, $err); - - $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin)); - - QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint); - - } catch (Exception $e) { - - QRtools::log($outfile, $e->getMessage()); - - } - } - } diff --git a/admin/phpqrcode/qrimage.php b/admin/phpqrcode/qrimage.php deleted file mode 100644 index 10b0a6e..0000000 --- a/admin/phpqrcode/qrimage.php +++ /dev/null @@ -1,95 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Image output of code using GD2 - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('QR_IMAGE', true); - - class QRimage { - - //---------------------------------------------------------------------- - public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE) - { - $image = self::image($frame, $pixelPerPoint, $outerFrame); - - if ($filename === false) { - Header("Content-type: image/png"); - ImagePng($image); - } else { - if($saveandprint===TRUE){ - ImagePng($image, $filename); - header("Content-type: image/png"); - ImagePng($image); - }else{ - ImagePng($image, $filename); - } - } - - ImageDestroy($image); - } - - //---------------------------------------------------------------------- - public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85) - { - $image = self::image($frame, $pixelPerPoint, $outerFrame); - - if ($filename === false) { - Header("Content-type: image/jpeg"); - ImageJpeg($image, null, $q); - } else { - ImageJpeg($image, $filename, $q); - } - - ImageDestroy($image); - } - - //---------------------------------------------------------------------- - private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4) - { - $h = count($frame); - $w = strlen($frame[0]); - - $imgW = $w + 2*$outerFrame; - $imgH = $h + 2*$outerFrame; - - $base_image =ImageCreate($imgW, $imgH); - - $col[0] = ImageColorAllocate($base_image,255,255,255); - $col[1] = ImageColorAllocate($base_image,0,0,0); - - imagefill($base_image, 0, 0, $col[0]); - - for($y=0; $y<$h; $y++) { - for($x=0; $x<$w; $x++) { - if ($frame[$y][$x] == '1') { - ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]); - } - } - } - - $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint); - ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH); - ImageDestroy($base_image); - - return $target_image; - } - } \ No newline at end of file diff --git a/admin/phpqrcode/qrinput.php b/admin/phpqrcode/qrinput.php deleted file mode 100644 index 0f6d7f9..0000000 --- a/admin/phpqrcode/qrinput.php +++ /dev/null @@ -1,729 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Input encoding class - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('STRUCTURE_HEADER_BITS', 20); - define('MAX_STRUCTURED_SYMBOLS', 16); - - class QRinputItem { - - public $mode; - public $size; - public $data; - public $bstream; - - public function __construct($mode, $size, $data, $bstream = null) - { - $setData = array_slice($data, 0, $size); - - if (count($setData) < $size) { - $setData = array_merge($setData, array_fill(0,$size-count($setData),0)); - } - - if(!QRinput::check($mode, $size, $setData)) { - throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData)); - return null; - } - - $this->mode = $mode; - $this->size = $size; - $this->data = $setData; - $this->bstream = $bstream; - } - - //---------------------------------------------------------------------- - public function encodeModeNum($version) - { - try { - - $words = (int)($this->size / 3); - $bs = new QRbitstream(); - - $val = 0x1; - $bs->appendNum(4, $val); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size); - - for($i=0; $i<$words; $i++) { - $val = (ord($this->data[$i*3 ]) - ord('0')) * 100; - $val += (ord($this->data[$i*3+1]) - ord('0')) * 10; - $val += (ord($this->data[$i*3+2]) - ord('0')); - $bs->appendNum(10, $val); - } - - if($this->size - $words * 3 == 1) { - $val = ord($this->data[$words*3]) - ord('0'); - $bs->appendNum(4, $val); - } else if($this->size - $words * 3 == 2) { - $val = (ord($this->data[$words*3 ]) - ord('0')) * 10; - $val += (ord($this->data[$words*3+1]) - ord('0')); - $bs->appendNum(7, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeAn($version) - { - try { - $words = (int)($this->size / 2); - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x02); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size); - - for($i=0; $i<$words; $i++) { - $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45; - $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1])); - - $bs->appendNum(11, $val); - } - - if($this->size & 1) { - $val = QRinput::lookAnTable(ord($this->data[$words * 2])); - $bs->appendNum(6, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeMode8($version) - { - try { - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x4); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size); - - for($i=0; $i<$this->size; $i++) { - $bs->appendNum(8, ord($this->data[$i])); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeKanji($version) - { - try { - - $bs = new QRbitrtream(); - - $bs->appendNum(4, 0x8); - $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2)); - - for($i=0; $i<$this->size; $i+=2) { - $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]); - if($val <= 0x9ffc) { - $val -= 0x8140; - } else { - $val -= 0xc140; - } - - $h = ($val >> 8) * 0xc0; - $val = ($val & 0xff) + $h; - - $bs->appendNum(13, $val); - } - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function encodeModeStructure() - { - try { - $bs = new QRbitstream(); - - $bs->appendNum(4, 0x03); - $bs->appendNum(4, ord($this->data[1]) - 1); - $bs->appendNum(4, ord($this->data[0]) - 1); - $bs->appendNum(8, ord($this->data[2])); - - $this->bstream = $bs; - return 0; - - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function estimateBitStreamSizeOfEntry($version) - { - $bits = 0; - - if($version == 0) - $version = 1; - - switch($this->mode) { - case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break; - case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break; - case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break; - case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break; - case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS; - default: - return 0; - } - - $l = QRspec::lengthIndicator($this->mode, $version); - $m = 1 << $l; - $num = (int)(($this->size + $m - 1) / $m); - - $bits += $num * (4 + $l); - - return $bits; - } - - //---------------------------------------------------------------------- - public function encodeBitStream($version) - { - try { - - unset($this->bstream); - $words = QRspec::maximumWords($this->mode, $version); - - if($this->size > $words) { - - $st1 = new QRinputItem($this->mode, $words, $this->data); - $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words)); - - $st1->encodeBitStream($version); - $st2->encodeBitStream($version); - - $this->bstream = new QRbitstream(); - $this->bstream->append($st1->bstream); - $this->bstream->append($st2->bstream); - - unset($st1); - unset($st2); - - } else { - - $ret = 0; - - switch($this->mode) { - case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break; - case QR_MODE_AN: $ret = $this->encodeModeAn($version); break; - case QR_MODE_8: $ret = $this->encodeMode8($version); break; - case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break; - case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break; - - default: - break; - } - - if($ret < 0) - return -1; - } - - return $this->bstream->size(); - - } catch (Exception $e) { - return -1; - } - } - }; - - //########################################################################## - - class QRinput { - - public $items; - - private $version; - private $level; - - //---------------------------------------------------------------------- - public function __construct($version = 0, $level = QR_ECLEVEL_L) - { - if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) { - throw new Exception('Invalid version no'); - return NULL; - } - - $this->version = $version; - $this->level = $level; - } - - //---------------------------------------------------------------------- - public function getVersion() - { - return $this->version; - } - - //---------------------------------------------------------------------- - public function setVersion($version) - { - if($version < 0 || $version > QRSPEC_VERSION_MAX) { - throw new Exception('Invalid version no'); - return -1; - } - - $this->version = $version; - - return 0; - } - - //---------------------------------------------------------------------- - public function getErrorCorrectionLevel() - { - return $this->level; - } - - //---------------------------------------------------------------------- - public function setErrorCorrectionLevel($level) - { - if($level > QR_ECLEVEL_H) { - throw new Exception('Invalid ECLEVEL'); - return -1; - } - - $this->level = $level; - - return 0; - } - - //---------------------------------------------------------------------- - public function appendEntry(QRinputItem $entry) - { - $this->items[] = $entry; - } - - //---------------------------------------------------------------------- - public function append($mode, $size, $data) - { - try { - $entry = new QRinputItem($mode, $size, $data); - $this->items[] = $entry; - return 0; - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - - public function insertStructuredAppendHeader($size, $index, $parity) - { - if( $size > MAX_STRUCTURED_SYMBOLS ) { - throw new Exception('insertStructuredAppendHeader wrong size'); - } - - if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) { - throw new Exception('insertStructuredAppendHeader wrong index'); - } - - $buf = array($size, $index, $parity); - - try { - $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf); - array_unshift($this->items, $entry); - return 0; - } catch (Exception $e) { - return -1; - } - } - - //---------------------------------------------------------------------- - public function calcParity() - { - $parity = 0; - - foreach($this->items as $item) { - if($item->mode != QR_MODE_STRUCTURE) { - for($i=$item->size-1; $i>=0; $i--) { - $parity ^= $item->data[$i]; - } - } - } - - return $parity; - } - - //---------------------------------------------------------------------- - public static function checkModeNum($size, $data) - { - for($i=0; $i<$size; $i++) { - if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){ - return false; - } - } - - return true; - } - - //---------------------------------------------------------------------- - public static function estimateBitsModeNum($size) - { - $w = (int)$size / 3; - $bits = $w * 10; - - switch($size - $w * 3) { - case 1: - $bits += 4; - break; - case 2: - $bits += 7; - break; - default: - break; - } - - return $bits; - } - - //---------------------------------------------------------------------- - public static $anTable = array( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, - -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - ); - - //---------------------------------------------------------------------- - public static function lookAnTable($c) - { - return (($c > 127)?-1:self::$anTable[$c]); - } - - //---------------------------------------------------------------------- - public static function checkModeAn($size, $data) - { - for($i=0; $i<$size; $i++) { - if (self::lookAnTable(ord($data[$i])) == -1) { - return false; - } - } - - return true; - } - - //---------------------------------------------------------------------- - public static function estimateBitsModeAn($size) - { - $w = (int)($size / 2); - $bits = $w * 11; - - if($size & 1) { - $bits += 6; - } - - return $bits; - } - - //---------------------------------------------------------------------- - public static function estimateBitsMode8($size) - { - return $size * 8; - } - - //---------------------------------------------------------------------- - public function estimateBitsModeKanji($size) - { - return (int)(($size / 2) * 13); - } - - //---------------------------------------------------------------------- - public static function checkModeKanji($size, $data) - { - if($size & 1) - return false; - - for($i=0; $i<$size; $i+=2) { - $val = (ord($data[$i]) << 8) | ord($data[$i+1]); - if( $val < 0x8140 - || ($val > 0x9ffc && $val < 0xe040) - || $val > 0xebbf) { - return false; - } - } - - return true; - } - - /*********************************************************************** - * Validation - **********************************************************************/ - - public static function check($mode, $size, $data) - { - if($size <= 0) - return false; - - switch($mode) { - case QR_MODE_NUM: return self::checkModeNum($size, $data); break; - case QR_MODE_AN: return self::checkModeAn($size, $data); break; - case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break; - case QR_MODE_8: return true; break; - case QR_MODE_STRUCTURE: return true; break; - - default: - break; - } - - return false; - } - - - //---------------------------------------------------------------------- - public function estimateBitStreamSize($version) - { - $bits = 0; - - foreach($this->items as $item) { - $bits += $item->estimateBitStreamSizeOfEntry($version); - } - - return $bits; - } - - //---------------------------------------------------------------------- - public function estimateVersion() - { - $version = 0; - $prev = 0; - do { - $prev = $version; - $bits = $this->estimateBitStreamSize($prev); - $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if ($version < 0) { - return -1; - } - } while ($version > $prev); - - return $version; - } - - //---------------------------------------------------------------------- - public static function lengthOfCode($mode, $version, $bits) - { - $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version); - switch($mode) { - case QR_MODE_NUM: - $chunks = (int)($payload / 10); - $remain = $payload - $chunks * 10; - $size = $chunks * 3; - if($remain >= 7) { - $size += 2; - } else if($remain >= 4) { - $size += 1; - } - break; - case QR_MODE_AN: - $chunks = (int)($payload / 11); - $remain = $payload - $chunks * 11; - $size = $chunks * 2; - if($remain >= 6) - $size++; - break; - case QR_MODE_8: - $size = (int)($payload / 8); - break; - case QR_MODE_KANJI: - $size = (int)(($payload / 13) * 2); - break; - case QR_MODE_STRUCTURE: - $size = (int)($payload / 8); - break; - default: - $size = 0; - break; - } - - $maxsize = QRspec::maximumWords($mode, $version); - if($size < 0) $size = 0; - if($size > $maxsize) $size = $maxsize; - - return $size; - } - - //---------------------------------------------------------------------- - public function createBitStream() - { - $total = 0; - - foreach($this->items as $item) { - $bits = $item->encodeBitStream($this->version); - - if($bits < 0) - return -1; - - $total += $bits; - } - - return $total; - } - - //---------------------------------------------------------------------- - public function convertData() - { - $ver = $this->estimateVersion(); - if($ver > $this->getVersion()) { - $this->setVersion($ver); - } - - for(;;) { - $bits = $this->createBitStream(); - - if($bits < 0) - return -1; - - $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level); - if($ver < 0) { - throw new Exception('WRONG VERSION'); - return -1; - } else if($ver > $this->getVersion()) { - $this->setVersion($ver); - } else { - break; - } - } - - return 0; - } - - //---------------------------------------------------------------------- - public function appendPaddingBit(&$bstream) - { - $bits = $bstream->size(); - $maxwords = QRspec::getDataLength($this->version, $this->level); - $maxbits = $maxwords * 8; - - if ($maxbits == $bits) { - return 0; - } - - if ($maxbits - $bits < 5) { - return $bstream->appendNum($maxbits - $bits, 0); - } - - $bits += 4; - $words = (int)(($bits + 7) / 8); - - $padding = new QRbitstream(); - $ret = $padding->appendNum($words * 8 - $bits + 4, 0); - - if($ret < 0) - return $ret; - - $padlen = $maxwords - $words; - - if($padlen > 0) { - - $padbuf = array(); - for($i=0; $i<$padlen; $i++) { - $padbuf[$i] = ($i&1)?0x11:0xec; - } - - $ret = $padding->appendBytes($padlen, $padbuf); - - if($ret < 0) - return $ret; - - } - - $ret = $bstream->append($padding); - - return $ret; - } - - //---------------------------------------------------------------------- - public function mergeBitStream() - { - if($this->convertData() < 0) { - return null; - } - - $bstream = new QRbitstream(); - - foreach($this->items as $item) { - $ret = $bstream->append($item->bstream); - if($ret < 0) { - return null; - } - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function getBitStream() - { - - $bstream = $this->mergeBitStream(); - - if($bstream == null) { - return null; - } - - $ret = $this->appendPaddingBit($bstream); - if($ret < 0) { - return null; - } - - return $bstream; - } - - //---------------------------------------------------------------------- - public function getByteStream() - { - $bstream = $this->getBitStream(); - if($bstream == null) { - return null; - } - - return $bstream->toByte(); - } - } - - - \ No newline at end of file diff --git a/admin/phpqrcode/qrlib.php b/admin/phpqrcode/qrlib.php deleted file mode 100644 index d55c4af..0000000 --- a/admin/phpqrcode/qrlib.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Root library file, prepares environment and includes dependencies - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; - - // Required libs - - include $QR_BASEDIR."qrconst.php"; - include $QR_BASEDIR."qrconfig.php"; - include $QR_BASEDIR."qrtools.php"; - include $QR_BASEDIR."qrspec.php"; - include $QR_BASEDIR."qrimage.php"; - include $QR_BASEDIR."qrinput.php"; - include $QR_BASEDIR."qrbitstream.php"; - include $QR_BASEDIR."qrsplit.php"; - include $QR_BASEDIR."qrrscode.php"; - include $QR_BASEDIR."qrmask.php"; - include $QR_BASEDIR."qrencode.php"; - diff --git a/admin/phpqrcode/qrmask.php b/admin/phpqrcode/qrmask.php deleted file mode 100644 index b14d7ae..0000000 --- a/admin/phpqrcode/qrmask.php +++ /dev/null @@ -1,328 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Masking - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('N1', 3); - define('N2', 3); - define('N3', 40); - define('N4', 10); - - class QRmask { - - public $runLength = array(); - - //---------------------------------------------------------------------- - public function __construct() - { - $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); - } - - //---------------------------------------------------------------------- - public function writeFormatInformation($width, &$frame, $mask, $level) - { - $blacks = 0; - $format = QRspec::getFormatInfo($mask, $level); - - for($i=0; $i<8; $i++) { - if($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - - $frame[8][$width - 1 - $i] = chr($v); - if($i < 6) { - $frame[$i][8] = chr($v); - } else { - $frame[$i + 1][8] = chr($v); - } - $format = $format >> 1; - } - - for($i=0; $i<7; $i++) { - if($format & 1) { - $blacks += 2; - $v = 0x85; - } else { - $v = 0x84; - } - - $frame[$width - 7 + $i][8] = chr($v); - if($i == 0) { - $frame[8][7] = chr($v); - } else { - $frame[8][6 - $i] = chr($v); - } - - $format = $format >> 1; - } - - return $blacks; - } - - //---------------------------------------------------------------------- - public function mask0($x, $y) { return ($x+$y)&1; } - public function mask1($x, $y) { return ($y&1); } - public function mask2($x, $y) { return ($x%3); } - public function mask3($x, $y) { return ($x+$y)%3; } - public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; } - public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; } - public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; } - public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; } - - //---------------------------------------------------------------------- - private function generateMaskNo($maskNo, $width, $frame) - { - $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); - - for($y=0; $y<$width; $y++) { - for($x=0; $x<$width; $x++) { - if(ord($frame[$y][$x]) & 0x80) { - $bitMask[$y][$x] = 0; - } else { - $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); - $bitMask[$y][$x] = ($maskFunc == 0)?1:0; - } - - } - } - - return $bitMask; - } - - //---------------------------------------------------------------------- - public static function serial($bitFrame) - { - $codeArr = array(); - - foreach ($bitFrame as $line) - $codeArr[] = join('', $line); - - return gzcompress(join("\n", $codeArr), 9); - } - - //---------------------------------------------------------------------- - public static function unserial($code) - { - $codeArr = array(); - - $codeLines = explode("\n", gzuncompress($code)); - foreach ($codeLines as $line) - $codeArr[] = str_split($line); - - return $codeArr; - } - - //---------------------------------------------------------------------- - public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false) - { - $b = 0; - $bitMask = array(); - - $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat'; - - if (QR_CACHEABLE) { - if (file_exists($fileName)) { - $bitMask = self::unserial(file_get_contents($fileName)); - } else { - $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); - if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo)) - mkdir(QR_CACHE_DIR.'mask_'.$maskNo); - file_put_contents($fileName, self::serial($bitMask)); - } - } else { - $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d); - } - - if ($maskGenOnly) - return; - - $d = $s; - - for($y=0; $y<$width; $y++) { - for($x=0; $x<$width; $x++) { - if($bitMask[$y][$x] == 1) { - $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]); - } - $b += (int)(ord($d[$y][$x]) & 1); - } - } - - return $b; - } - - //---------------------------------------------------------------------- - public function makeMask($width, $frame, $maskNo, $level) - { - $masked = array_fill(0, $width, str_repeat("\0", $width)); - $this->makeMaskNo($maskNo, $width, $frame, $masked); - $this->writeFormatInformation($width, $masked, $maskNo, $level); - - return $masked; - } - - //---------------------------------------------------------------------- - public function calcN1N3($length) - { - $demerit = 0; - - for($i=0; $i<$length; $i++) { - - if($this->runLength[$i] >= 5) { - $demerit += (N1 + ($this->runLength[$i] - 5)); - } - if($i & 1) { - if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) { - $fact = (int)($this->runLength[$i] / 3); - if(($this->runLength[$i-2] == $fact) && - ($this->runLength[$i-1] == $fact) && - ($this->runLength[$i+1] == $fact) && - ($this->runLength[$i+2] == $fact)) { - if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) { - $demerit += N3; - } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) { - $demerit += N3; - } - } - } - } - } - return $demerit; - } - - //---------------------------------------------------------------------- - public function evaluateSymbol($width, $frame) - { - $head = 0; - $demerit = 0; - - for($y=0; $y<$width; $y++) { - $head = 0; - $this->runLength[0] = 1; - - $frameY = $frame[$y]; - - if ($y>0) - $frameYM = $frame[$y-1]; - - for($x=0; $x<$width; $x++) { - if(($x > 0) && ($y > 0)) { - $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); - $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); - - if(($b22 | ($w22 ^ 1))&1) { - $demerit += N2; - } - } - if(($x == 0) && (ord($frameY[$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } else if($x > 0) { - if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - - $demerit += $this->calcN1N3($head+1); - } - - for($x=0; $x<$width; $x++) { - $head = 0; - $this->runLength[0] = 1; - - for($y=0; $y<$width; $y++) { - if($y == 0 && (ord($frame[$y][$x]) & 1)) { - $this->runLength[0] = -1; - $head = 1; - $this->runLength[$head] = 1; - } else if($y > 0) { - if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { - $head++; - $this->runLength[$head] = 1; - } else { - $this->runLength[$head]++; - } - } - } - - $demerit += $this->calcN1N3($head+1); - } - - return $demerit; - } - - - //---------------------------------------------------------------------- - public function mask($width, $frame, $level) - { - $minDemerit = PHP_INT_MAX; - $bestMaskNum = 0; - $bestMask = array(); - - $checked_masks = array(0,1,2,3,4,5,6,7); - - if (QR_FIND_FROM_RANDOM !== false) { - - $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9); - for ($i = 0; $i < $howManuOut; $i++) { - $remPos = rand (0, count($checked_masks)-1); - unset($checked_masks[$remPos]); - $checked_masks = array_values($checked_masks); - } - - } - - $bestMask = $frame; - - foreach($checked_masks as $i) { - $mask = array_fill(0, $width, str_repeat("\0", $width)); - - $demerit = 0; - $blacks = 0; - $blacks = $this->makeMaskNo($i, $width, $frame, $mask); - $blacks += $this->writeFormatInformation($width, $mask, $i, $level); - $blacks = (int)(100 * $blacks / ($width * $width)); - $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); - $demerit += $this->evaluateSymbol($width, $mask); - - if($demerit < $minDemerit) { - $minDemerit = $demerit; - $bestMask = $mask; - $bestMaskNum = $i; - } - } - - return $bestMask; - } - - //---------------------------------------------------------------------- - } diff --git a/admin/phpqrcode/qrrscode.php b/admin/phpqrcode/qrrscode.php deleted file mode 100644 index 591129a..0000000 --- a/admin/phpqrcode/qrrscode.php +++ /dev/null @@ -1,210 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Reed-Solomon error correction support - * - * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q - * (libfec is released under the GNU Lesser General Public License.) - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRrsItem { - - public $mm; // Bits per symbol - public $nn; // Symbols per block (= (1<<mm)-1) - public $alpha_to = array(); // log lookup table - public $index_of = array(); // Antilog lookup table - public $genpoly = array(); // Generator polynomial - public $nroots; // Number of generator roots = number of parity symbols - public $fcr; // First consecutive root, index form - public $prim; // Primitive element, index form - public $iprim; // prim-th root of 1, index form - public $pad; // Padding bytes in shortened block - public $gfpoly; - - //---------------------------------------------------------------------- - public function modnn($x) - { - while ($x >= $this->nn) { - $x -= $this->nn; - $x = ($x >> $this->mm) + ($x & $this->nn); - } - - return $x; - } - - //---------------------------------------------------------------------- - public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) - { - // Common code for intializing a Reed-Solomon control block (char or int symbols) - // Copyright 2004 Phil Karn, KA9Q - // May be used under the terms of the GNU Lesser General Public License (LGPL) - - $rs = null; - - // Check parameter ranges - if($symsize < 0 || $symsize > 8) return $rs; - if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs; - if($prim <= 0 || $prim >= (1<<$symsize)) return $rs; - if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values! - if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding - - $rs = new QRrsItem(); - $rs->mm = $symsize; - $rs->nn = (1<<$symsize)-1; - $rs->pad = $pad; - - $rs->alpha_to = array_fill(0, $rs->nn+1, 0); - $rs->index_of = array_fill(0, $rs->nn+1, 0); - - // PHP style macro replacement ;) - $NN =& $rs->nn; - $A0 =& $NN; - - // Generate Galois field lookup tables - $rs->index_of[0] = $A0; // log(zero) = -inf - $rs->alpha_to[$A0] = 0; // alpha**-inf = 0 - $sr = 1; - - for($i=0; $i<$rs->nn; $i++) { - $rs->index_of[$sr] = $i; - $rs->alpha_to[$i] = $sr; - $sr <<= 1; - if($sr & (1<<$symsize)) { - $sr ^= $gfpoly; - } - $sr &= $rs->nn; - } - - if($sr != 1){ - // field generator polynomial is not primitive! - $rs = NULL; - return $rs; - } - - /* Form RS code generator polynomial from its roots */ - $rs->genpoly = array_fill(0, $nroots+1, 0); - - $rs->fcr = $fcr; - $rs->prim = $prim; - $rs->nroots = $nroots; - $rs->gfpoly = $gfpoly; - - /* Find prim-th root of 1, used in decoding */ - for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn) - ; // intentional empty-body loop! - - $rs->iprim = (int)($iprim / $prim); - $rs->genpoly[0] = 1; - - for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { - $rs->genpoly[$i+1] = 1; - - // Multiply rs->genpoly[] by @**(root + x) - for ($j = $i; $j > 0; $j--) { - if ($rs->genpoly[$j] != 0) { - $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)]; - } else { - $rs->genpoly[$j] = $rs->genpoly[$j-1]; - } - } - // rs->genpoly[0] can never be zero - $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)]; - } - - // convert rs->genpoly[] to index form for quicker encoding - for ($i = 0; $i <= $nroots; $i++) - $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]]; - - return $rs; - } - - //---------------------------------------------------------------------- - public function encode_rs_char($data, &$parity) - { - $MM =& $this->mm; - $NN =& $this->nn; - $ALPHA_TO =& $this->alpha_to; - $INDEX_OF =& $this->index_of; - $GENPOLY =& $this->genpoly; - $NROOTS =& $this->nroots; - $FCR =& $this->fcr; - $PRIM =& $this->prim; - $IPRIM =& $this->iprim; - $PAD =& $this->pad; - $A0 =& $NN; - - $parity = array_fill(0, $NROOTS, 0); - - for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) { - - $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; - if($feedback != $A0) { - // feedback term is non-zero - - // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must - // always be for the polynomials constructed by init_rs() - $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback); - - for($j=1;$j<$NROOTS;$j++) { - $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])]; - } - } - - // Shift - array_shift($parity); - if($feedback != $A0) { - array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]); - } else { - array_push($parity, 0); - } - } - } - } - - //########################################################################## - - class QRrs { - - public static $items = array(); - - //---------------------------------------------------------------------- - public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) - { - foreach(self::$items as $rs) { - if($rs->pad != $pad) continue; - if($rs->nroots != $nroots) continue; - if($rs->mm != $symsize) continue; - if($rs->gfpoly != $gfpoly) continue; - if($rs->fcr != $fcr) continue; - if($rs->prim != $prim) continue; - - return $rs; - } - - $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); - array_unshift(self::$items, $rs); - - return $rs; - } - } \ No newline at end of file diff --git a/admin/phpqrcode/qrspec.php b/admin/phpqrcode/qrspec.php deleted file mode 100644 index 92aea0c..0000000 --- a/admin/phpqrcode/qrspec.php +++ /dev/null @@ -1,592 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * QR Code specifications - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * The following data / specifications are taken from - * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) - * or - * "Automatic identification and data capture techniques -- - * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - define('QRSPEC_VERSION_MAX', 40); - define('QRSPEC_WIDTH_MAX', 177); - - define('QRCAP_WIDTH', 0); - define('QRCAP_WORDS', 1); - define('QRCAP_REMINDER', 2); - define('QRCAP_EC', 3); - - class QRspec { - - public static $capacity = array( - array( 0, 0, 0, array( 0, 0, 0, 0)), - array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 - array( 25, 44, 7, array( 10, 16, 22, 28)), - array( 29, 70, 7, array( 15, 26, 36, 44)), - array( 33, 100, 7, array( 20, 36, 52, 64)), - array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 - array( 41, 172, 7, array( 36, 64, 96, 112)), - array( 45, 196, 0, array( 40, 72, 108, 130)), - array( 49, 242, 0, array( 48, 88, 132, 156)), - array( 53, 292, 0, array( 60, 110, 160, 192)), - array( 57, 346, 0, array( 72, 130, 192, 224)), //10 - array( 61, 404, 0, array( 80, 150, 224, 264)), - array( 65, 466, 0, array( 96, 176, 260, 308)), - array( 69, 532, 0, array( 104, 198, 288, 352)), - array( 73, 581, 3, array( 120, 216, 320, 384)), - array( 77, 655, 3, array( 132, 240, 360, 432)), //15 - array( 81, 733, 3, array( 144, 280, 408, 480)), - array( 85, 815, 3, array( 168, 308, 448, 532)), - array( 89, 901, 3, array( 180, 338, 504, 588)), - array( 93, 991, 3, array( 196, 364, 546, 650)), - array( 97, 1085, 3, array( 224, 416, 600, 700)), //20 - array(101, 1156, 4, array( 224, 442, 644, 750)), - array(105, 1258, 4, array( 252, 476, 690, 816)), - array(109, 1364, 4, array( 270, 504, 750, 900)), - array(113, 1474, 4, array( 300, 560, 810, 960)), - array(117, 1588, 4, array( 312, 588, 870, 1050)), //25 - array(121, 1706, 4, array( 336, 644, 952, 1110)), - array(125, 1828, 4, array( 360, 700, 1020, 1200)), - array(129, 1921, 3, array( 390, 728, 1050, 1260)), - array(133, 2051, 3, array( 420, 784, 1140, 1350)), - array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30 - array(141, 2323, 3, array( 480, 868, 1290, 1530)), - array(145, 2465, 3, array( 510, 924, 1350, 1620)), - array(149, 2611, 3, array( 540, 980, 1440, 1710)), - array(153, 2761, 3, array( 570, 1036, 1530, 1800)), - array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35 - array(161, 3034, 0, array( 600, 1120, 1680, 1980)), - array(165, 3196, 0, array( 630, 1204, 1770, 2100)), - array(169, 3362, 0, array( 660, 1260, 1860, 2220)), - array(173, 3532, 0, array( 720, 1316, 1950, 2310)), - array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40 - ); - - //---------------------------------------------------------------------- - public static function getDataLength($version, $level) - { - return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level]; - } - - //---------------------------------------------------------------------- - public static function getECCLength($version, $level) - { - return self::$capacity[$version][QRCAP_EC][$level]; - } - - //---------------------------------------------------------------------- - public static function getWidth($version) - { - return self::$capacity[$version][QRCAP_WIDTH]; - } - - //---------------------------------------------------------------------- - public static function getRemainder($version) - { - return self::$capacity[$version][QRCAP_REMINDER]; - } - - //---------------------------------------------------------------------- - public static function getMinimumVersion($size, $level) - { - - for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) { - $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level]; - if($words >= $size) - return $i; - } - - return -1; - } - - //###################################################################### - - public static $lengthTableBits = array( - array(10, 12, 14), - array( 9, 11, 13), - array( 8, 16, 16), - array( 8, 10, 12) - ); - - //---------------------------------------------------------------------- - public static function lengthIndicator($mode, $version) - { - if ($mode == QR_MODE_STRUCTURE) - return 0; - - if ($version <= 9) { - $l = 0; - } else if ($version <= 26) { - $l = 1; - } else { - $l = 2; - } - - return self::$lengthTableBits[$mode][$l]; - } - - //---------------------------------------------------------------------- - public static function maximumWords($mode, $version) - { - if($mode == QR_MODE_STRUCTURE) - return 3; - - if($version <= 9) { - $l = 0; - } else if($version <= 26) { - $l = 1; - } else { - $l = 2; - } - - $bits = self::$lengthTableBits[$mode][$l]; - $words = (1 << $bits) - 1; - - if($mode == QR_MODE_KANJI) { - $words *= 2; // the number of bytes is required - } - - return $words; - } - - // Error correction code ----------------------------------------------- - // Table of the error correction code (Reed-Solomon block) - // See Table 12-16 (pp.30-36), JIS X0510:2004. - - public static $eccTable = array( - array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 - array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), - array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), - array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), - array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 - array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), - array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), - array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), - array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), - array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10 - array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), - array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), - array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), - array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), - array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15 - array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), - array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), - array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), - array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), - array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20 - array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), - array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), - array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), - array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), - array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25 - array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), - array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), - array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), - array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), - array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30 - array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), - array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), - array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), - array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), - array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35 - array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), - array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), - array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), - array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), - array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40 - ); - - //---------------------------------------------------------------------- - // CACHEABLE!!! - - public static function getEccSpec($version, $level, array &$spec) - { - if (count($spec) < 5) { - $spec = array(0,0,0,0,0); - } - - $b1 = self::$eccTable[$version][$level][0]; - $b2 = self::$eccTable[$version][$level][1]; - $data = self::getDataLength($version, $level); - $ecc = self::getECCLength($version, $level); - - if($b2 == 0) { - $spec[0] = $b1; - $spec[1] = (int)($data / $b1); - $spec[2] = (int)($ecc / $b1); - $spec[3] = 0; - $spec[4] = 0; - } else { - $spec[0] = $b1; - $spec[1] = (int)($data / ($b1 + $b2)); - $spec[2] = (int)($ecc / ($b1 + $b2)); - $spec[3] = $b2; - $spec[4] = $spec[1] + 1; - } - } - - // Alignment pattern --------------------------------------------------- - - // Positions of alignment patterns. - // This array includes only the second and the third position of the - // alignment patterns. Rest of them can be calculated from the distance - // between them. - - // See Table 1 in Appendix E (pp.71) of JIS X0510:2004. - - public static $alignmentPattern = array( - array( 0, 0), - array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 - array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 - array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15 - array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20 - array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25 - array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30 - array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35 - array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40 - ); - - - /** -------------------------------------------------------------------- - * Put an alignment marker. - * @param frame - * @param width - * @param ox,oy center coordinate of the pattern - */ - public static function putAlignmentMarker(array &$frame, $ox, $oy) - { - $finder = array( - "\xa1\xa1\xa1\xa1\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa0\xa1\xa0\xa1", - "\xa1\xa0\xa0\xa0\xa1", - "\xa1\xa1\xa1\xa1\xa1" - ); - - $yStart = $oy-2; - $xStart = $ox-2; - - for($y=0; $y<5; $y++) { - QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]); - } - } - - //---------------------------------------------------------------------- - public static function putAlignmentPattern($version, &$frame, $width) - { - if($version < 2) - return; - - $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0]; - if($d < 0) { - $w = 2; - } else { - $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2); - } - - if($w * $w - 3 == 1) { - $x = self::$alignmentPattern[$version][0]; - $y = self::$alignmentPattern[$version][0]; - self::putAlignmentMarker($frame, $x, $y); - return; - } - - $cx = self::$alignmentPattern[$version][0]; - for($x=1; $x<$w - 1; $x++) { - self::putAlignmentMarker($frame, 6, $cx); - self::putAlignmentMarker($frame, $cx, 6); - $cx += $d; - } - - $cy = self::$alignmentPattern[$version][0]; - for($y=0; $y<$w-1; $y++) { - $cx = self::$alignmentPattern[$version][0]; - for($x=0; $x<$w-1; $x++) { - self::putAlignmentMarker($frame, $cx, $cy); - $cx += $d; - } - $cy += $d; - } - } - - // Version information pattern ----------------------------------------- - - // Version information pattern (BCH coded). - // See Table 1 in Appendix D (pp.68) of JIS X0510:2004. - - // size: [QRSPEC_VERSION_MAX - 6] - - public static $versionPattern = array( - 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, - 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, - 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, - 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, - 0x27541, 0x28c69 - ); - - //---------------------------------------------------------------------- - public static function getVersionPattern($version) - { - if($version < 7 || $version > QRSPEC_VERSION_MAX) - return 0; - - return self::$versionPattern[$version -7]; - } - - // Format information -------------------------------------------------- - // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib) - - public static $formatInfo = array( - array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), - array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), - array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), - array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) - ); - - public static function getFormatInfo($mask, $level) - { - if($mask < 0 || $mask > 7) - return 0; - - if($level < 0 || $level > 3) - return 0; - - return self::$formatInfo[$level][$mask]; - } - - // Frame --------------------------------------------------------------- - // Cache of initial frames. - - public static $frames = array(); - - /** -------------------------------------------------------------------- - * Put a finder pattern. - * @param frame - * @param width - * @param ox,oy upper-left coordinate of the pattern - */ - public static function putFinderPattern(&$frame, $ox, $oy) - { - $finder = array( - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", - "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", - "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" - ); - - for($y=0; $y<7; $y++) { - QRstr::set($frame, $ox, $oy+$y, $finder[$y]); - } - } - - //---------------------------------------------------------------------- - public static function createFrame($version) - { - $width = self::$capacity[$version][QRCAP_WIDTH]; - $frameLine = str_repeat ("\0", $width); - $frame = array_fill(0, $width, $frameLine); - - // Finder pattern - self::putFinderPattern($frame, 0, 0); - self::putFinderPattern($frame, $width - 7, 0); - self::putFinderPattern($frame, 0, $width - 7); - - // Separator - $yOffset = $width - 7; - - for($y=0; $y<7; $y++) { - $frame[$y][7] = "\xc0"; - $frame[$y][$width - 8] = "\xc0"; - $frame[$yOffset][7] = "\xc0"; - $yOffset++; - } - - $setPattern = str_repeat("\xc0", 8); - - QRstr::set($frame, 0, 7, $setPattern); - QRstr::set($frame, $width-8, 7, $setPattern); - QRstr::set($frame, 0, $width - 8, $setPattern); - - // Format info - $setPattern = str_repeat("\x84", 9); - QRstr::set($frame, 0, 8, $setPattern); - QRstr::set($frame, $width - 8, 8, $setPattern, 8); - - $yOffset = $width - 8; - - for($y=0; $y<8; $y++,$yOffset++) { - $frame[$y][8] = "\x84"; - $frame[$yOffset][8] = "\x84"; - } - - // Timing pattern - - for($i=1; $i<$width-15; $i++) { - $frame[6][7+$i] = chr(0x90 | ($i & 1)); - $frame[7+$i][6] = chr(0x90 | ($i & 1)); - } - - // Alignment pattern - self::putAlignmentPattern($version, $frame, $width); - - // Version information - if($version >= 7) { - $vinf = self::getVersionPattern($version); - - $v = $vinf; - - for($x=0; $x<6; $x++) { - for($y=0; $y<3; $y++) { - $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - - $v = $vinf; - for($y=0; $y<6; $y++) { - for($x=0; $x<3; $x++) { - $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); - $v = $v >> 1; - } - } - } - - // and a little bit... - $frame[$width - 8][8] = "\x81"; - - return $frame; - } - - //---------------------------------------------------------------------- - public static function debug($frame, $binary_mode = false) - { - if ($binary_mode) { - - foreach ($frame as &$frameLine) { - $frameLine = join('<span class="m"> </span>', explode('0', $frameLine)); - $frameLine = join('██', explode('1', $frameLine)); - } - - ?> - <style> - .m { background-color: white; } - </style> - <?php - echo '<pre><tt><br/ ><br/ ><br/ > '; - echo join("<br/ > ", $frame); - echo '</tt></pre><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >'; - - } else { - - foreach ($frame as &$frameLine) { - $frameLine = join('<span class="m"> </span>', explode("\xc0", $frameLine)); - $frameLine = join('<span class="m">▒</span>', explode("\xc1", $frameLine)); - $frameLine = join('<span class="p"> </span>', explode("\xa0", $frameLine)); - $frameLine = join('<span class="p">▒</span>', explode("\xa1", $frameLine)); - $frameLine = join('<span class="s">◇</span>', explode("\x84", $frameLine)); //format 0 - $frameLine = join('<span class="s">◆</span>', explode("\x85", $frameLine)); //format 1 - $frameLine = join('<span class="x">☢</span>', explode("\x81", $frameLine)); //special bit - $frameLine = join('<span class="c"> </span>', explode("\x90", $frameLine)); //clock 0 - $frameLine = join('<span class="c">◷</span>', explode("\x91", $frameLine)); //clock 1 - $frameLine = join('<span class="f"> </span>', explode("\x88", $frameLine)); //version - $frameLine = join('<span class="f">▒</span>', explode("\x89", $frameLine)); //version - $frameLine = join('♦', explode("\x01", $frameLine)); - $frameLine = join('⋅', explode("\0", $frameLine)); - } - - ?> - <style> - .p { background-color: yellow; } - .m { background-color: #00FF00; } - .s { background-color: #FF0000; } - .c { background-color: aqua; } - .x { background-color: pink; } - .f { background-color: gold; } - </style> - <?php - echo "<pre><tt>"; - echo join("<br/ >", $frame); - echo "</tt></pre>"; - - } - } - - //---------------------------------------------------------------------- - public static function serial($frame) - { - return gzcompress(join("\n", $frame), 9); - } - - //---------------------------------------------------------------------- - public static function unserial($code) - { - return explode("\n", gzuncompress($code)); - } - - //---------------------------------------------------------------------- - public static function newFrame($version) - { - if($version < 1 || $version > QRSPEC_VERSION_MAX) - return null; - - if(!isset(self::$frames[$version])) { - - $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat'; - - if (QR_CACHEABLE) { - if (file_exists($fileName)) { - self::$frames[$version] = self::unserial(file_get_contents($fileName)); - } else { - self::$frames[$version] = self::createFrame($version); - file_put_contents($fileName, self::serial(self::$frames[$version])); - } - } else { - self::$frames[$version] = self::createFrame($version); - } - } - - if(is_null(self::$frames[$version])) - return null; - - return self::$frames[$version]; - } - - //---------------------------------------------------------------------- - public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; } - public static function rsBlockNum1($spec) { return $spec[0]; } - public static function rsDataCodes1($spec) { return $spec[1]; } - public static function rsEccCodes1($spec) { return $spec[2]; } - public static function rsBlockNum2($spec) { return $spec[3]; } - public static function rsDataCodes2($spec) { return $spec[4]; } - public static function rsEccCodes2($spec) { return $spec[2]; } - public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); } - public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; } - - } \ No newline at end of file diff --git a/admin/phpqrcode/qrsplit.php b/admin/phpqrcode/qrsplit.php deleted file mode 100644 index d75b827..0000000 --- a/admin/phpqrcode/qrsplit.php +++ /dev/null @@ -1,311 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Input splitting classes - * - * Based on libqrencode C library distributed under LGPL 2.1 - * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net> - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * The following data / specifications are taken from - * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004) - * or - * "Automatic identification and data capture techniques -- - * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - class QRsplit { - - public $dataStr = ''; - public $input; - public $modeHint; - - //---------------------------------------------------------------------- - public function __construct($dataStr, $input, $modeHint) - { - $this->dataStr = $dataStr; - $this->input = $input; - $this->modeHint = $modeHint; - } - - //---------------------------------------------------------------------- - public static function isdigitat($str, $pos) - { - if ($pos >= strlen($str)) - return false; - - return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); - } - - //---------------------------------------------------------------------- - public static function isalnumat($str, $pos) - { - if ($pos >= strlen($str)) - return false; - - return (QRinput::lookAnTable(ord($str[$pos])) >= 0); - } - - //---------------------------------------------------------------------- - public function identifyMode($pos) - { - if ($pos >= strlen($this->dataStr)) - return QR_MODE_NUL; - - $c = $this->dataStr[$pos]; - - if(self::isdigitat($this->dataStr, $pos)) { - return QR_MODE_NUM; - } else if(self::isalnumat($this->dataStr, $pos)) { - return QR_MODE_AN; - } else if($this->modeHint == QR_MODE_KANJI) { - - if ($pos+1 < strlen($this->dataStr)) - { - $d = $this->dataStr[$pos+1]; - $word = (ord($c) << 8) | ord($d); - if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) { - return QR_MODE_KANJI; - } - } - } - - return QR_MODE_8; - } - - //---------------------------------------------------------------------- - public function eatNum() - { - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 0; - while(self::isdigitat($this->dataStr, $p)) { - $p++; - } - - $run = $p; - $mode = $this->identifyMode($p); - - if($mode == QR_MODE_8) { - $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln - + QRinput::estimateBitsMode8(1) // + 4 + l8 - - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 - if($dif > 0) { - return $this->eat8(); - } - } - if($mode == QR_MODE_AN) { - $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln - + QRinput::estimateBitsModeAn(1) // + 4 + la - - QRinput::estimateBitsModeAn($run + 1);// - 4 - la - if($dif > 0) { - return $this->eatAn(); - } - } - - $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eatAn() - { - $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 0; - - while(self::isalnumat($this->dataStr, $p)) { - if(self::isdigitat($this->dataStr, $p)) { - $q = $p; - while(self::isdigitat($this->dataStr, $q)) { - $q++; - } - - $dif = QRinput::estimateBitsModeAn($p) // + 4 + la - + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - - QRinput::estimateBitsModeAn($q); // - 4 - la - - if($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - - $run = $p; - - if(!self::isalnumat($this->dataStr, $p)) { - $dif = QRinput::estimateBitsModeAn($run) + 4 + $la - + QRinput::estimateBitsMode8(1) // + 4 + l8 - - QRinput::estimateBitsMode8($run + 1); // - 4 - l8 - if($dif > 0) { - return $this->eat8(); - } - } - - $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eatKanji() - { - $p = 0; - - while($this->identifyMode($p) == QR_MODE_KANJI) { - $p += 2; - } - - $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr)); - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function eat8() - { - $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion()); - $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion()); - - $p = 1; - $dataStrLen = strlen($this->dataStr); - - while($p < $dataStrLen) { - - $mode = $this->identifyMode($p); - if($mode == QR_MODE_KANJI) { - break; - } - if($mode == QR_MODE_NUM) { - $q = $p; - while(self::isdigitat($this->dataStr, $q)) { - $q++; - } - $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 - + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln - - QRinput::estimateBitsMode8($q); // - 4 - l8 - if($dif < 0) { - break; - } else { - $p = $q; - } - } else if($mode == QR_MODE_AN) { - $q = $p; - while(self::isalnumat($this->dataStr, $q)) { - $q++; - } - $dif = QRinput::estimateBitsMode8($p) // + 4 + l8 - + QRinput::estimateBitsModeAn($q - $p) + 4 + $la - - QRinput::estimateBitsMode8($q); // - 4 - l8 - if($dif < 0) { - break; - } else { - $p = $q; - } - } else { - $p++; - } - } - - $run = $p; - $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr)); - - if($ret < 0) - return -1; - - return $run; - } - - //---------------------------------------------------------------------- - public function splitString() - { - while (strlen($this->dataStr) > 0) - { - if($this->dataStr == '') - return 0; - - $mode = $this->identifyMode(0); - - switch ($mode) { - case QR_MODE_NUM: $length = $this->eatNum(); break; - case QR_MODE_AN: $length = $this->eatAn(); break; - case QR_MODE_KANJI: - if ($hint == QR_MODE_KANJI) - $length = $this->eatKanji(); - else $length = $this->eat8(); - break; - default: $length = $this->eat8(); break; - - } - - if($length == 0) return 0; - if($length < 0) return -1; - - $this->dataStr = substr($this->dataStr, $length); - } - } - - //---------------------------------------------------------------------- - public function toUpper() - { - $stringLen = strlen($this->dataStr); - $p = 0; - - while ($p<$stringLen) { - $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint); - if($mode == QR_MODE_KANJI) { - $p += 2; - } else { - if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) { - $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); - } - $p++; - } - } - - return $this->dataStr; - } - - //---------------------------------------------------------------------- - public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true) - { - if(is_null($string) || $string == '\0' || $string == '') { - throw new Exception('empty string!!!'); - } - - $split = new QRsplit($string, $input, $modeHint); - - if(!$casesensitive) - $split->toUpper(); - - return $split->splitString(); - } - } \ No newline at end of file diff --git a/admin/phpqrcode/qrtools.php b/admin/phpqrcode/qrtools.php deleted file mode 100644 index 3012db4..0000000 --- a/admin/phpqrcode/qrtools.php +++ /dev/null @@ -1,172 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Toolset, handy and debug utilites. - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - class QRtools { - - //---------------------------------------------------------------------- - public static function binarize($frame) - { - $len = count($frame); - foreach ($frame as &$frameLine) { - - for($i=0; $i<$len; $i++) { - $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; - } - } - - return $frame; - } - - //---------------------------------------------------------------------- - public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037') - { - $barcode_array = array(); - - if (!is_array($mode)) - $mode = explode(',', $mode); - - $eccLevel = 'L'; - - if (count($mode) > 1) { - $eccLevel = $mode[1]; - } - - $qrTab = QRcode::text($code, false, $eccLevel); - $size = count($qrTab); - - $barcode_array['num_rows'] = $size; - $barcode_array['num_cols'] = $size; - $barcode_array['bcode'] = array(); - - foreach ($qrTab as $line) { - $arrAdd = array(); - foreach(str_split($line) as $char) - $arrAdd[] = ($char=='1')?1:0; - $barcode_array['bcode'][] = $arrAdd; - } - - return $barcode_array; - } - - //---------------------------------------------------------------------- - public static function clearCache() - { - self::$frames = array(); - } - - //---------------------------------------------------------------------- - public static function buildCache() - { - QRtools::markTime('before_build_cache'); - - $mask = new QRmask(); - for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) { - $frame = QRspec::newFrame($a); - if (QR_IMAGE) { - $fileName = QR_CACHE_DIR.'frame_'.$a.'.png'; - QRimage::png(self::binarize($frame), $fileName, 1, 0); - } - - $width = count($frame); - $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); - for ($maskNo=0; $maskNo<8; $maskNo++) - $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true); - } - - QRtools::markTime('after_build_cache'); - } - - //---------------------------------------------------------------------- - public static function log($outfile, $err) - { - if (QR_LOG_DIR !== false) { - if ($err != '') { - if ($outfile !== false) { - file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); - } else { - file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND); - } - } - } - } - - //---------------------------------------------------------------------- - public static function dumpMask($frame) - { - $width = count($frame); - for($y=0;$y<$width;$y++) { - for($x=0;$x<$width;$x++) { - echo ord($frame[$y][$x]).','; - } - } - } - - //---------------------------------------------------------------------- - public static function markTime($markerId) - { - list($usec, $sec) = explode(" ", microtime()); - $time = ((float)$usec + (float)$sec); - - if (!isset($GLOBALS['qr_time_bench'])) - $GLOBALS['qr_time_bench'] = array(); - - $GLOBALS['qr_time_bench'][$markerId] = $time; - } - - //---------------------------------------------------------------------- - public static function timeBenchmark() - { - self::markTime('finish'); - - $lastTime = 0; - $startTime = 0; - $p = 0; - - echo '<table cellpadding="3" cellspacing="1"> - <thead><tr style="border-bottom:1px solid silver"><td colspan="2" style="text-align:center">BENCHMARK</td></tr></thead> - <tbody>'; - - foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) { - if ($p > 0) { - echo '<tr><th style="text-align:right">till '.$markerId.': </th><td>'.number_format($thisTime-$lastTime, 6).'s</td></tr>'; - } else { - $startTime = $thisTime; - } - - $p++; - $lastTime = $thisTime; - } - - echo '</tbody><tfoot> - <tr style="border-top:2px solid black"><th style="text-align:right">TOTAL: </th><td>'.number_format($lastTime-$startTime, 6).'s</td></tr> - </tfoot> - </table>'; - } - - } - - //########################################################################## - - QRtools::markTime('start'); - \ No newline at end of file diff --git a/admin/phpqrcode/temp/415.png b/admin/phpqrcode/temp/415.png deleted file mode 100644 index 96a4466e189fb0d50c2e1211f0859b1036fc662c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HZ7978f1-(Ek>dsu;oEy0^-!o-NV6D1TTac?`k_~qdxwog9% zo*?j}Xrq9c3&)YSNy*(V3vG-q8g67>!&qIcrCja9%}}S1`8GQ>#F)Q8_J+xU^9kGi z8&*3wr6<{XT;9U)fOV}(?s3Tv>(Ur&SUT+6N<F^vJdl~OD8-6-P2;A_Qi0EZEZ<}? zsJ~F%yCT3b!P=KmtU**MQhHV38HVfyu}Z(AW-~`H>8c#eu@+B|<jI}H8}ju(!<>Yi zyT3E7<d-nm9jKbSq)hnIl=<&wGsFqZ`>uV!biwbdU6)sfFxM~(nd$OAU)j&}p&@Ki n%H^!rc1xuWunTlVA7$n*J>n>FM(8Xs5EwjN{an^LB{Ts52ls>G diff --git a/admin/phpqrcode/temp/416.png b/admin/phpqrcode/temp/416.png deleted file mode 100644 index eb9451927f715873a4f1ec55401b6b6e2d46adec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+UL+ibwY8sIJ4Ffn58L?ebto^Ou$wKVLAvG`N3 zIi>tpt3@k^quun@>}{#)&s?tTyTO>Wpe`+7iVUwf!?VUKTA{C31~u$w{2O(ZVg146 zs|?#67R8@-+69zNJ7_S;Ecahk8e<HTzqIFc#tNn!<(0dOf3IRxYPdE<{8DIt4llzD z_U`RD!g2i!Nef)K&-GS+w!6dl%u&{{^H?i`0#DW_sZ~pZZ&pn+Wl&(MnH@5(#_#Q| zs(bE?cbISQ+J5<0`H4ElhRg^2d(V~H@s>A8Jb1T^wSqn6`pIuv!U`NJzmBa9SvybI oL7+$ZWM2GwsRTZS6U&Pj?CLs?Z3<t&3JeDZPgg&ebxsLQ0HT(MqW}N^ diff --git a/admin/phpqrcode/temp/417.png b/admin/phpqrcode/temp/417.png deleted file mode 100644 index 007167e28e1002ce823f91a298046524f2410660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`?;QYF6N3eQ>6rL9TOku?pV<9??kxFZqS;?x={| zBDVkP>PZ@cTwixoiLTrtAE+b!@(|kt=1+T@tMslfe#mmbDr2LOhfnk;hH%E#MGKkl zFqep#9^kZKvAHkLu<St8q<4(<)nW&DBCh5n|BGQQXt)$TNo9U2?*ZnDGi&7M6a_3; z$gIP3DRT4upLdoCF<LaHtUm2HucfM(J%Xj?^7ov#>J7pXTMdIB|Gzp1Xx_0URX;z; z1)M+n-jXYU@7D`Iqy5EKzVS2YG%F<s)xS;icVd|Cz#aRpror0bTVtX(>xYK0Jwm5H ro?<Ov%=Y{?FQY>$fp<Yb|0;9tNmo|R2%9ej3<(BLS3j3^P6<r_f7Oe6 diff --git a/admin/phpqrcode/temp/418.png b/admin/phpqrcode/temp/418.png deleted file mode 100644 index 66f08b7c6159174ffc2f83d5b2e7214549bb87a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nw{978f1-`+ULdsu;oHNczafXAA19y|djkLo34xTak4=KC)n zG-u!Br!6Wj9G`Z$<el85<?{Ck_XD0S@#jQ#tbb<D@W<iyt%fPLzVH-CyI3>)VRhpy z5YH&d*spOwaD(nj{<mf4nRYM*FS+{kxlV)pnd{ZDnp+pL7BoFAk-in=nAG5Gu&!oh z&{_@AMVa1A9~iTov$cD-N*&-_Bqk(#^?c$UPR1XNs^@swEZDxyPzk+sHg?^g5C*=3 zFLK{ZUaiVJhgnYl*|k?^XInS0drY0STl0Xez}ou{KV=IY;LG^Mex@vXsUU;?23^e! lzVCkJ@IPSS__SgVqusqr`P-V3l7S(>;OXk;vd$@?2>^Zai75a8 diff --git a/admin/phpqrcode/temp/420.png b/admin/phpqrcode/temp/420.png deleted file mode 100644 index f96b852842a7056734debc85798b5e1adb783647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFaV7HU@DVS8|<fT8cmRohAI1!_la7;c{u*!}X+ z`9n#6!ZcM^x^Nu1@0!-FEANu3{^<y#0Q0w#(o1LEO*OS+h+q#2^A(RwU2k(h`GT45 zfqsXwym|HF48aPC4QbDr4~X>Wdg@P}$6CO@E^yy+#%m7$_j-3`s}<hg!m!#QFKgEu zPyN!cNurD`4copvNk1@i)6c&Q9gN?CHurj#KHbh>ctKsI((IowQv|#1mKV8SSU8&O z)J{%ZWqE%egWv_X@`cYQYAsD`ut@kOE*+L2|A=uO<EDo%ihY<m7$biksQhfknZTuT u&&p;iLj-HG_oc_1W4w7cunBbR?-CacV+fcjx2qBuKn$L)elF{r5}E*)lZKH1 diff --git a/admin/phpqrcode/temp/421.png b/admin/phpqrcode/temp/421.png deleted file mode 100644 index 567d9897bd02776f2b18ba68ec815551bfbcd9b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sA>`7HU@DVM|D}XmEe@O70}H#pFrsg15bz^LG8% zyz<a<HC}-rCxw4{Vw)m<uDvkt)&V{P_BY#`)_AS-XE@ThB=q^0&dd9mY?y3#K8WaS zd%>8;%o+J_WzOTjj0p^XJT6tq&WU7jE^uL<&iH{_Ah%5F>Y}q>Rx&s_xOIGKZG6Z0 zNALj8gDq8u^JYF@erfwV2E&Be%cf<$Tj$JRyg)Q}?WL&oD@#4@$}tGA$W8i^{IlNv z4x^sqb+w7-_R4-{2rS6DJ6X<err&=C2Z4Zc!|RR<tq=HK=n8wiwIo;QfQf}!)3lNX yNrlAI_rEs;yK@OJ&Pxcd6K0yh$Z;h8DEB*;ANPMnrZfYCh{4m<&t;ucLK6U&4ULfi diff --git a/admin/phpqrcode/temp/433.png b/admin/phpqrcode/temp/433.png deleted file mode 100644 index c164f96117a814999835146b963679248b36228e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-(GhVYF6N3y>O<YL9TOkwF=(@o>qB|M<L!>;(B#r zVTYpw6&za*R>bTH>fKt?s&Pq3x{?3N{Vi!)ip!_oVmN4XV9Pg?j5>ik3?9ONn3rg< z>}PJttB>7snBkz#hDl3ams+onWSPEz-7Cl@jWdSfv+VR;8K)%+7O>oBEUT<!Sren_ zl~t(pfuZKfmOj=q<-sg+7o^I3AM<Lx@r!DbY>3RuO$)DL6R2oly>;f3(5;DH4;YhY zw>;B``4Y(Te8Kj2kKf+;$JmrP;fvKu(R+H+cCS?Xz<4vis>#~HPF$%ev*E(JVCLK) rl>#Ph&rK1tO{S<cSsqBR(Ykk?V}W~u;um*dNHBQ1`njxgN@xNA{qBa= diff --git a/admin/phpqrcode/temp/434.png b/admin/phpqrcode/temp/434.png deleted file mode 100644 index bcd2ce85bf5f339527e8a33e47e7eb7f0d724335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-`;Q(YBu0t4M?+b=zDUtc!|sb$tVwlg|enEjvY<E z=vJeh)i{x(u_9I_Z{lUQEuY+`-C#&sP+Q-a(mm%6Z$ssR)T=?aPipZOa9=nSmD+H; zVVxIm0i#Kq+pN314Uq<YDz6#ajkzC4e7O)b{l1O^!w&nsB0IOpIB@8gu2t79y**XP zLE=iuvch%S^SBK7x19R4G3&dI_uGZ*E;F5BsLU|k>%VxH)z0No32bjJimO#mU{qSL z-m^%RJALo=fA0eso*xjOk!vCQmx)2W;rA?+-Ua>|4YLn)onz>C%w{>ci_wAS3e)qy tLHCOb7&)2>Rc00~Wt+jwab)!)=2VfKPi;pdy@5f&;OXk;vd$@?2>>vsiW~p{ diff --git a/admin/phpqrcode/temp/435.png b/admin/phpqrcode/temp/435.png deleted file mode 100644 index 61d62860b1e07f691f149ab660f8109d64b94c32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBnT^vI)8sA>`=4(~pVZETH*PyzwblMlOgr+T9!i4Ovm=_jU z2ecSFWi)a${)kz!D)5rmlzNwI8<~zY?8{b^jIKV-&hV_URDbQk;MhrLZ4PK(*rgfG z{eWMg``fp81{(&>yI<}xbu=Y=zUrSni?x84Z{wVDW*_GJ?`>xreRbtF;C|A)I`H(u zZwwWT$0DB@uJ&dyJTQCT2kX=4-ls3M`p4ZMIbqA6Eu3jtr>|$*9#Hw<Q6~Jzu)*L% za*+IH87)mw1*UI{tBaOiS8PyNalCtH_=@h?)(4aoe3wiLYIo%pU^YuT`tnUY!yP7| vL&UbQAJEyL$M*Ni%;PKBW-xOcS)Rn~6wtXMBY=wu7(xu5u6{1-oD!M<m7R)h diff --git a/admin/phpqrcode/temp/436.png b/admin/phpqrcode/temp/436.png deleted file mode 100644 index 14c3365c3197de744875287755bdd516033d64f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<do978f1-(Ek<+ibwYn&8cIz+=t4iAD^QIM1E;j@sIFnS1Iy zeuXpTo0@W6Bzle?U8j1eu1luM%XbcoUBEl3l*>GaJ~SoBMMO^Yb6r1GJ%ULyw#)B> zv`4$xlmyl(O!m83|1!RC5878VGm>S#qxj1UZQE5EnIBYd7m_}@P;~}tboQ)r<=&Io zd!!vjnB+YQUG{8tpZM{!`V5BL3GzD+m`x8kKGDU1u^>d$Yf1J>mdOiRuZsP)ZWK=N z-BfaS>IDzZG{@+>?OM;Lc|Bn6k}sC_TVZ}sXvO}?FP5=nFOZGujd0?$QCRM5{)}6- ofU#%EF2%i5W+m_$Nc4Acmm0F#lu3CS0)v6U)78&qol`;+05cPTGXMYp diff --git a/admin/phpqrcode/temp/465.png b/admin/phpqrcode/temp/465.png deleted file mode 100644 index 69d7d8c53a78953c36716b78a9855a70686eff16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sA=b<ZDsjVZERxcR;zYwEqaBkJSfn$FxPvy9z)4 zKUDZ(t<;jxmc+Q}q2Aj{#qVC~(tpEJyx<R$$Av|=n41b4HmOZ`Exq(kF3a}D>$4vi zMtlh<X_96*xQQj_);q?78ZV+Jh5lQVE;y%AjD5M{5B6K$^Zz|DR+whmq`5((ZE?xR zwOz&v+D(!T-<0oNH&x5O9nP_gaaE2j$71VmA2wcLQ9f|*yKAn`rtW?}mf!`)wrh!; zV`!4Ra7?9rTm0eoGOh)@uU^D`*Y=8aHsIUR<2kdgmQ(N!%e{x3^BSuJ)*QdwkRYS5 wO(<mR8Lx>6LSJ+_?@y^+$$5<7@E$FBmDIkn$|Ju|0t1M_)78&qol`;+0BH`8NdN!< diff --git a/admin/phpqrcode/temp/466.png b/admin/phpqrcode/temp/466.png deleted file mode 100644 index 2eba5b00c1c45799a05a733020605424fe978614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+UQ+ibwYmf+2Ez$0?*L<xqIYvm7mYAeqEcHrUn zMyDTs(~_49C<^p<Pqp0^s?Ywlm3aZ%pX&_oi_G^joM84{-TXO^c?WMsViv=HhWAxl z7qRZ(G%30HewjE!q=2&L>#td9j4_QIo~5_#!x^~_Z2$l2?v<(oGqM_ZF8HpGye4|{ z%h_F;4!j;mJf7FS>}}v!z$Uh>`|Y23C2M0EgkG$i)^TdCyO4uW#ErV?i+ay6KXH_q z{6zEB*4p`t8P*-FELr~ffB#k%rWH){`aSLLFxIg>-frFy?a)8ZYEqRs!wSaUg>jWu rYK$odEhhaE->!L;!Lq@@Mk`L#!owx2HU20t92h)Z{an^LB{Ts5tVWCz diff --git a/admin/phpqrcode/temp/468.png b/admin/phpqrcode/temp/468.png deleted file mode 100644 index d51cc19120ca979d831d23fb8f356d1d0ed5eec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-(Ek>dsu;oEx}u|VPb@>vY~^Dc+LTn&<P8t%hbt7 z$=yH6`bJ1mV14%i({l>);#*s}6L_!W+r3Qas<iAs#>-$oVT;y;On<8bavWb*F#X{! zS~XLc@eOll)yrI#4P0wfPFBvns?#9(gX{EnX9gd~-S1WRue`D}Yz{-1L)^8_G7lpy zEj6YHrdw%!`3-M)ugf3c{c`E}!f>sZ?-?JkY&!n;SFm>}Qv|!zr=ovlz6^c|xs!Ct zP4{hK(7RBqy*Dj-n_z>y!S`M3-e+ylJis=={@GHgyT3FVLKn1u3;6IMn!%^>$cG7T ta<^3&^fycjnf;@B6=MxUV?}5UL+Cy+E8hdYdx1g0;OXk;vd$@?2>@U5i825H diff --git a/admin/phpqrcode/temp/469.png b/admin/phpqrcode/temp/469.png deleted file mode 100644 index 935ee38f83d3166cf53688d8e15c21a7a4c34f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HZ7978f1-`?;RI;6nEmXK!S(0}A=wF=(@9yJxi08!7<i$~|X zo;|Sr)CZ1bEe<hy+g5EX-gdcz_YPx{Lp^7}H171nEC;MIQbiYR36*=G<FTFVgMNZ5 zy9N821AG3qeiLR`ePF$cEwkPINCx8vj#s$<=rQbLy!|ES>7jIoi-rvxADk~6v8pm2 zalFK|y)AgXW`o59|8;*Bx@vzHa*()jc{$(v`FX#Y*D&_`R{MJGy!X_C-+=v|+Q|)P zpI*1)O5mHfcK7w$a?=<b1NQo6b#ME9oa2GYg|A#6lrIz?h*EDb$WT;{JhRc4DS|O7 n;pP3OJhI-r8`uOoypJ+Z{iUeT_gL2$7zhlWu6{1-oD!M<m4AoG diff --git a/admin/phpqrcode/temp/471.png b/admin/phpqrcode/temp/471.png deleted file mode 100644 index 025e1a2f4aa13ce570f6e1960f449b32ecba1456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmV-n0iOPeP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~0099>L_t(&f$i5p5`!QN1yE)@07v5L z9?1hZlS&c-jD-ffaq+XT7T@ZZk{ALC^}33rwZ}8ieyx;+6JQPKr#?IMu08<p1CI4t z-biWG<N=-mUg4b!@E-`lD8MtITQy(PkMjXw0{WID$xnI~zz8&T9i-{YGJqR2|Mzro zU&@zw0;~ZJnCxN-U=c)}kjOf`Or7oM4&Vaqp(%G9x)p#EaLSymY*n(a0E?i8uCu0u zzTch$%t0NKf(0zi31AV}=q~%Uyqy!kI-uH(Y+xF^xdV7WIZ|azO82M%oWQnk-noO{ z0$>VcnWNUxvzwy;oS?R(t=#re1NZ<6^{V;+He^a*QdW#=00000NkvXXu0mjfjV+N) diff --git a/admin/phpqrcode/temp/472.png b/admin/phpqrcode/temp/472.png deleted file mode 100644 index 0fc59265ef6149fd37e6f6fcffc4592db57677ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-`;TKYf<1~y`Uy@K)JBA{|TdyfLCT=k56IR!$<$m z3RJFU%am1Osf?Yb68So7`L_i28O)z%JH{PdyT(tNp)P=X&!?_~ho-Vua7FE9{KxR* z0+S8PoPQVQnKA4+5H;x@W4SGN0*ems9kvJ36Rz8f$7=0AY1|-rV7glCl=l}dEc4sV z%<yNyo5H=}N^8Hr{J~_wcy;#XOA%p)p2bWv7;jy&40^w}{x4(Afgr!kEsOH!|7J)| zNETw%G@XCFV(wywV-D`+m(HIo+sWk9bfwo*^{%}e!+A%$otzKc7l^-9I?I_LRIn@Z uuaO$#j)tu&FWtU+d)PJzE1Xze#PCGi*h^i8=?gF@7(8A5T-G@yGywobFp7%+ diff --git a/admin/phpqrcode/temp/473.png b/admin/phpqrcode/temp/473.png deleted file mode 100644 index 7459463d2d9ca49610f5c052f9d0107db571a3b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nw{978f1-`;TKYcb$p4G`jgFtMt%{|Ted46&6LT(sZj#MFp& zeO)_4tH*`o$n&JsUf)e~SLn$wBs-knbMerWPetec@HSXX*u-@qXX+{DGfkT&om$5F zLwL&SD}Qwv;u=~QBJ1kx8A=+rs@&aq-j;g-d(4w*SNI#mAI$$gM>CecK`}vl>a%@M zy7>gyYk1wC@7;Wuxra%%Z_AbES5EG`!eHp|_5WkFoA3A;nh$j4>E1Qdbr85QBV^sA zl(TMZ9ZjpZz3pybJjS?P-s}y70ejZo;;CB?GoN8JSJV9-KN)DhOYXbv#Uc(YCc2%k kmX$7L>tJMg6#S9dnE$D-cGr&vU<fdHy85}Sb4q9e06Xl8asU7T diff --git a/admin/phpqrcode/temp/501.png b/admin/phpqrcode/temp/501.png deleted file mode 100644 index b0d37778f094329e0178232fba53c24672249a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFaV<!e#kVNDR?e=u>!F84<aYE%Cyyl`25wYU4b znBRo+yv-t>oQ`(WXX<$8zBsyx=}5!hYx_Eb)@^tF%Ew?oAyL#JWX7it`V8wC?z2^J zzsk*JvSAgfefj=6dqebw=_;~MzwSz7ywfy~O^^8le}>|t7bpH}Fz`QkYW$jIZqBM_ zN&Jj14zHxYmG1x2&XClQo_X!+louhB80IYSy%j9qYs!6qxhk#t^V_fN98HO{RhsX8 zf6w4paA()_vKxgz*coaX`rKtSIVIYp6xeQkKfghM!G`(Ha&@;WUBV6=9wpZ^pSwJ6 w6F$KGZPF24P0yVlKK}YJmE{2=$ETG!rjvD4POnp42MizvPgg&ebxsLQ0HXqqf&c&j diff --git a/admin/phpqrcode/temp/502.png b/admin/phpqrcode/temp/502.png deleted file mode 100644 index ffa95d4bcbd856a13d7eff782362257f17349ab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFY<<ZChDU=5gL+2H=_YPAY~LR0IdAmgmAyqFp> zzq$Kv3UK$ha2$D_l-L~;Hl<?mx1($V%->E%>OTz&-^XacZ?blmduHg;nd}u@FOK&z z?P2=+gV}~vs_f70r<?2;Vwmzh!<g4qiye^tFrj^$`VSojHHVc8gFH&#da`pcX1c6? zquZ`--fzz~gXLCpg{{xrB5ncJD3i%gtgkMKKFr?HaQUIfYDUJEhU1q+t}kIe($Mdj zqQ3v#(*KrR59GdF+&j(xq)|V!@By2I-^qCo&vHJnToI|(Q10Mf{@TrE9~aPA-R=Kw t<;qwvrZsL?$$n{OAn3rOATYm6_F%Evq95G9HUa~P!PC{xWt~$(697ojhIjw~ diff --git a/admin/phpqrcode/temp/505.png b/admin/phpqrcode/temp/505.png deleted file mode 100644 index 0f8e0b3a795fbb16b1a60bbea3ada0520cff9fff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#KM`T^vI)8sFXs<ZCwIU`r6<zo1-M+JA+4#)fH5r>E^~sQ&oy zd1Ch0Y9}2RC6-5pff0{2)D6Rxb{8-`Y54cqQTp_@wSRaUEGBH>nozC#a#m$S^?|hv z|CnsAe)`3HhgIm;ul}j~83kDLbv?De?@DKkVG_Un{WL@3gL~ii>b9&~#LB^>c`Hl! zQpYNGMhC7rOOn$r?sKW0yIj+O%j4p<)3@$yEvo&_&e32flbiF^YfBwNP(s_2-HYSa zug+j>O6c{xc4w<)XoJd(#k*x!CZA@gOyGR?Q!gjJ=Z`1%1g1|LJ+_5f+Z?b>SScs_ z>iA}c9ZW)2*_*zp&H}n<wd%zgruM<S0?Zso7C&M&ShM?r{a42=z<^@#boFyt=akR{ E01Awd?*IS* diff --git a/admin/phpqrcode/temp/512.png b/admin/phpqrcode/temp/512.png deleted file mode 100644 index 433e944c81eb9918fe50ce9e625cfe9de22db893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_+T^vI)8sFY<<ZDsjVGR)CKQM8}F85CiYJ7jUC>&FCHP@>% zZ~hTB*K4(+fyDgoii|att+Kaoa6W7JCzl=Z>0R5^pKOit3TwGGbe*s{7~Js5brt75 z#+5Nm;S7z7cu&5V|G6=NA<En7>AU86t_DoCOWx*9Kfw8>^18_LxiR~;W^m47_<qW( z|H_<vOAeivEO860m$IvRmTJ{zs?T5&^3WEFIe+z^f<i$<MEchv&GPmCSsU56bbM1& z`LZMP9gFjYV=6nd{Oigu2~{}A-sQI4&nM`^ba!2Fwd^C#d5srdeKk@OJkxlq`PLN| z19pLHy&vW}+pib)X}mT`ta|yIVBZJKJja$lVt;xvw(4=G$r4~NF?hQAxvX<aXaWF# Ca*+c7 diff --git a/admin/phpqrcode/temp/513.png b/admin/phpqrcode/temp/513.png deleted file mode 100644 index 67793a441d229ac7bbee0c7cf46154fa349dba68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2_-978f1-`;TKYf<1~y`U!7pj=tne}vJ;YMTg`vGU4Yg&+Sr z@$M1ToZ``<u--fAv|IO{vQ^C12TT**^W_|7age#Op=V9x3Z4IKA6TxiA5dN}mHPur z2G;|h$)6b$xT3tXT&u5bW>}VR;-rCt$eJq4Q{PHc5?9AGSa@u82xtFVz`BE}YgKQ@ z<~5%#Ok!wKh>W+NR+TuZYU%n#tR0N97q?!07_xo8xUPf17MWEQu_d;=40;XkW~m%F zf5BeduR&8{-Me2C8168>*>7>`-1#~IhC9qw;pan{c5r$rZ?gO*t?3|<@oRU`Cn>fL r<~;5-*8Bg){m*^J5Zs`!{uFz%xc7<W@wNrPfMD=+^>bP0l+XkKLf?mP diff --git a/admin/phpqrcode/temp/514.png b/admin/phpqrcode/temp/514.png deleted file mode 100644 index 394570888b1a92c0e2f7c73d7202cdb8d1a7ec30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HW6978f1-`+ULdsu;oHNczafJfxqi4qEvxQ``xToqeBU1lG@ zO5weeN)k>j4mNs9*-PfV>=Zu0{$<qyn_IFC!XA;{RtB;=FGc-hDUc7?&-{bmMVjFq zW9QB*r@0$q4Wce-d|f_|^@C`Hh}ZFIsRVh0=XUXy?JrNW7cgeNTo@jymizjHdV}~D zQ<JZ)3oaN5GziCBUUPimuCFW~8mux+WpDi2HCK<Z>>!7Bl^TP6#5T`Ovu?F<9$<a8 z)_SYu9X6&9Omh1zaw7aZ8SDf?x0YYq%y8#`7}LCeJj`#HIoEFTx%D)Ga|5?q<Lk*w mZqIzNOPTctqd<rIQSQb~zkV;2+~NQX0|rl5KbLh*2~7Z?_Jt(? diff --git a/admin/phpqrcode/temp/515.png b/admin/phpqrcode/temp/515.png deleted file mode 100644 index 657fa6f814d4f80675c617b78a8b3182cd897904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`;Q(YF6N3y>O<0q3_65+ez#NYP>29SEdOq=N7l; ze)S;ws7FwzK*w>{l<wXposSE46*By2_$%h%x$Wtz8s-GqDO<8uebriC&%A?QMd*Nh zLr(NhraLU#=1!mY#s4|;0g)}!M7;N@+j1vxRfT*oWvF9(cK6lPOL9L}F@!m+3}U?0 z`$XZa!?ah7HVXTHUXhx3&TFToD}(xmpxXMs#rqgz4&3Sw$y*zq>&Nnd*|y|C4%Y$B zHbc*Y5&IZcCrI4Q<*cb<VmRG!JAVGX>21@1YBu(HUR$QOlI;Vt^jwBH3s`Qumxcw{ r9bnwyknQ>P#~Wth26hF3{x0!v9uIC>ICxkCLxRE6)z4*}Q$iB}_1ua9 diff --git a/admin/phpqrcode/temp/519.png b/admin/phpqrcode/temp/519.png deleted file mode 100644 index 214f13f1ac764ec7bc8597c0eb02d6b8e9298d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmV-o0iFJdP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009C?L_t(&f$i8)4#OY_24IpNz$1C} z9;pW~VTw@Zk~-=3(1)LwwfH>|i%cQ};&G8!W3Ny3wU8wWKn&<_1#RtUPs0MhI*_vV zbQX}L@&I>%r2+l`C^NthK%!^zm;L}S0e&PE>!w#{7QhS);al}00Omlq>ZS$Gtc?I5 z0%XjrYo4yN(#FH*53mAAJExRd6zd5E5ChgZW#?MaW#<CKfK|B<M{U3AKcNH=2INKW z=~MvXz{ez#_Q~u+JU|GXqx;!N_x8#M0Ym|RUU3K*J1sx}^e^8Irwni#NP*j|nUC%2 zUJhUiB<x~?JFuw<U>*38q@{kpSqE4L2*jh}1xT(&M#Qs(>;M1&07*qoM6N<$f^j2_ A_5c6? diff --git a/admin/phpqrcode/temp/520.png b/admin/phpqrcode/temp/520.png deleted file mode 100644 index 08e710c3aefe958a7bd78035b2384f8306a3d5a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#KM`T^vI)8sFXs<U6du!ImJ*e?j@{E89uz28paLIY!oZzFlaa z-+p%2`%Z-$OIsXl^vtpfPpn#!A}yN0yCvW1$>W+SQ~xsvuulrRd#_vLq|Jft5ALx2 z;C`@3wIRO2g?Vp{`d`Kbz8aOQ*F2URb3fqYnYc2wQj9^qVQzWml9?@47nxWZO@n+* z&4WU1<}gfi+*oz@>4WK0_S7&wdT{4iNc2;$m>^yOraulYX1!Va_lGyAKG=A5VaUs~ z1?)Rm>wG6YJU8>YlU$dW0?V(fvC@pqSK`_k#2B}Ve?EQcH}e6l3oPlg?kr|Flwk3* z@>jml0oe%?+*TFOUBk|x!zk}*`}ukZ^AQH7k1Hw|pY_@0*y(Ov01PMwPgg&ebxsLQ E0CMk-j{pDw diff --git a/admin/phpqrcode/temp/521.png b/admin/phpqrcode/temp/521.png deleted file mode 100644 index e491eabc00f146ec63f5d7e7c9856a917c2ea67d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HW6978f1-`?=%Yf<1~d!QzBK)JHC?+K%i#IGO;<CaHhV)f!3 zPoqmktb`N=>cyisp0Kh$DXi|mb0gGoTI6;H1O6=scrw06$})s8s`@hTVY?zCo51Q3 zF*S3GJp<3dT9vuW>gGi<C>OL}DXU(>_^fgNm(pDOS9wu<rx{%umUOQv+$GJR<PfTP zuV7i4G6P3b)U}W`FKllAUBk}7cur>7ngh}YxOO<r57M)$e9Fl5AaC-IzV5ukoBNq0 zn0HrQpI2i3_a7@mn!|OqiL#$16J&23S8BNa;8xV%U^NE;50m_TTRda)`3;zFDSQ6^ k|7714hGK@sAFF>bI37L{Z#hX-3K#|qp00i_>zopr04HRD1poj5 diff --git a/admin/phpqrcode/temp/522.png b/admin/phpqrcode/temp/522.png deleted file mode 100644 index 9c5d78284fee4dbc94f7b037d045f87291220b40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HW6978f1-`?=%Yf<1~d!QzFK)JHC?+Bxh)urhMlMO@6_5S6# z{0$S$n8?vs5xXWQ@Y>uN+7s<>FcuwH$Mj^{=?_c^avo9q2YjMcWoNSQV7_(tnaBgq zh=}R-2Vxa2<}OLCU^L)vo3!NBqBO=otmzzU@B1?fH7r(<J@CE3?kdA%hfOtCzP6sd z{$duxGe;GmHq)olj1F91_AXm$wM(smMZw-)Z2r!9B@HGoCa-gzy^}$*V4LT<l3#iI zYef#2c3j&l+tk(Hrq5u&ne+V1#J|rOcJS{BXR6@3<>4LlhK)f}AyM1DMn;D*?O?#9 kEw5#Qc@5YFI>L{#^DxVuh!OO92MhxSPgg&ebxsLQ0NZGSbN~PV diff --git a/admin/phpqrcode/temp/523.png b/admin/phpqrcode/temp/523.png deleted file mode 100644 index 11ff9023093bd1674dcc099fbaed8149fbd43dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HZ7978f1-`;TKYcb$p4G`jgFtO^Z+)3sc2D+@bjvdk5RroQo z=hPn2mkfM@OdogNh*Z9OY|0N6?>P*H3$8O|?7Gc($l=tjOD|U}m}bwshp~$N1K*S_ zDGYMVzSYWSFN-s*KHz>y@9Vyqkqp}xxZ7@dIg2fV{Y?AU0DUV5iHgf>iuX?0b?vr| zgTR)m>uy<hLy8#$9g-V=D_nAKC{>V@cL~a>Ji{WuZ2RYjS3GM+Q=;#r?zdjGrR)(b zmtXlEW@mI^{4V}EEcG=b!}*3kf7Y(|Q|46Q@RR+V%ehxBs-fN?=}&iZ)kc;GR=Y_) nQy=d8SdhVZje+Uo${&oT7u${Jd}v?-1_FbptDnm{r-UW|T1|)F diff --git a/admin/phpqrcode/temp/524.png b/admin/phpqrcode/temp/524.png deleted file mode 100644 index dc2d910d17422a25bd608af1020e2241136db4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nw{978f1-`)u1YgXW4d!Q!Qpj=tn|Af)QYJqNRPTG~X2iy1a z^L@DO-Mr1C#lc2TC|gET__JpUx1<8wm+Ad4ADJ^;bM(%Rycgkk=?wE7=EEEh)B`r( zk*jamy`VKGit#dUL#V-2mAgByn{q!8QurtFZ_oC*(P6JtQyVlUoUDr~d~T!_%*4_7 zgm<^7`b?%HjmvIn)kuDvlhq*VFz>0{C2gR(4@+KaU;W1-z<5vX=BAXJ<)#OeUaZ|6 zIMc{Mrib&L`<H(|m|GfsvNzqot<u2Zapsz7?)?2~j5Un9PySpM+H>2QL4jqDN^koD i#j6b242=~bdl>W+3)6~pg_?jNz~JfX=d#Wzp$P!=!G<{i diff --git a/admin/phpqrcode/temp/525.png b/admin/phpqrcode/temp/525.png deleted file mode 100644 index e28dcf0bd5d33557b4a094d93947974bab10ae2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`+UL+ibwY8sN=yz+=rh51xi6YR}ZwvN#Q2H6H%H z(DkHsq+gCeqCuSaW~FOiRJz{<iIp`;9I!tyZT>9Yrox0w-_ycDb2EP_R&agdIvCHu zXL~R?p)vL4eSQ|%2fCb7tM6{+sCpoB`QoH?%@6o0yv;Xgu&Fh1Sm>QKQe62qSM#MQ z2b-f-=+|d@cG`k0j^{S%KK{XM;_7X{Qf3*t?#Jv4J_5{g*RG$IbCmcoL*=KEuWNVp z*Xll{7tL0?%*$7(&Q;*pQuoMV74MuNUjgQ`2d;?dI`VLA%8~td-CUr_Iw7!czueT< r`qNkzFUa&<U0$Ks!N~SF^dqCaW5yh}-bOKCNHBQ1`njxgN@xNA%1eX5 diff --git a/admin/phpqrcode/temp/526.png b/admin/phpqrcode/temp/526.png deleted file mode 100644 index e8d1ed2031c3bb7f2d798188ca22c651618d6baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_+T^vI)8sFYH$a`3Uhc&=kvSDI`t+Jtmig<Ff=ahg9eajko zjiUP}3k`GynLh5~$l2K5tf97OmIcGLhT2bh*=I8EZq;Xa=BSzNm!D&D<rMQDmMp0U z@d2~Udgrko5KmY;YxcGk&p$IJaQvFM<a9zBqfN7S%WsndA}ikS*0GwN@>1h~$c;6Q z$y%9dcU{>cm?tg#cIkakrQbG&H4VipQ+GVq+WeM5%;5tQ_u9~R>pU5X4=gUp+mtPI zpQpS*@k92cWp7O^%ykd&WQ2d8RK~S|??(NM+wWeSXKx5~sGE>ilNHrq8t{IW)tq<p zSq}(I`M|mU`VujQ%?-LNFXq3R9>jcxk>ye7N5-RbE911>Jl6w*iNVv=&t;ucLK6Tc CLXOV> diff --git a/admin/phpqrcode/temp/527.png b/admin/phpqrcode/temp/527.png deleted file mode 100644 index 25dcfd5520457874d92fd7e330a48b97968221bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYST^vI)8sAR$<~yvw<D&bN!BQyv{KTRL550ekp^L9v@D(@i zPB;_o%OI`9@yq({8!Me%8baa?mIvJJGLq+B%ZOo^z<wryan*gHw>g3hrVEzc&0^Tk zm{jV_xQ0RN{uZ%bZiY<``kt>o1)pX5z`}Fu-DQSL4s*(PdTc%9K9k*m`9#DktErpM zJvm&%6u}TR`zHV1V3q{Fg67=cU8h&gW1hfjHZvpk`sDXD`I8w^8r9Ce`8Vgu>_;pQ z1YhI|Rj$v}+wRM)z`f;~?L23*REEzCzm-32D#?GuxP~!r?RL+nm$Mi=74(?a2blk7 zIv{?4Cv3HM%<3yF3fwMPIg{_LVVl6L@M8TJrui?pG}vt(H2_12!PC{xWt~$(696d) BiPr!C diff --git a/admin/phpqrcode/temp/528.png b/admin/phpqrcode/temp/528.png deleted file mode 100644 index 219a1f84f5c38070e80c2fd63c2ab66feb902057..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`?=$Yf<1~O%URHFmZ>K`y&Q5p4^2~ex4M$yQ3nu zr|W)B+y%3?1}EEfeYdnPhptMO;8s5%_u}}hpKJbdT$N_1JFwA6B7KU@fl>$Stt<_{ z8_qGjW6+cSTEu*SdyA^<XW0!~R2bwVUL7}T5Z)3ir5b&2XKvUcEr#lbd7qAmm-x&7 zie&J+5cI4$Wp>JCx8FaQcN~1-n7sd)r2PT42YD_Fzd!9?!6@V4&E^+&k!KEr-v>Lj zuXD5iu|HrbF0ns;e9@xyEDgE=sZNu`8~Z$;ZI(V@7ZJ?1gKdfa*I#0$2kaHJE4Tej r^<nzJl<QeC)$M><7K6OQLb*_VMKN`$X^+@Jp~v9q>gTe~DWM4ft(S?Y diff --git a/admin/phpqrcode/temp/547.png b/admin/phpqrcode/temp/547.png deleted file mode 100644 index 5c6419cf0a4caab53b4ee8b8cf2fd58d66919076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+6fJFLLN8sKfo;C||=r4W0^lQ8+7M33x4lOFzG zn0sipPSWHqgEOxuZBbqB{p5=Gn`5pU*lul4vkW=c6#tmXQD(uKtygxOIjQCUfumw2 z=Qjo^#)Etg0a@C=b~p&IKK588Z=WW1(Dp-w@?Ks?hMMo%W^1oopP%wTe}h}p`B^i( zzs3nRsVZD^zCFuqLTiFx0<Y`!I-gl(rj9%h%-jMtnk#NJ^xwc_bC1L8H6x4mfqu`j z&bi(Dyf(1>y0|wlo=08Q+gE_?R{WW4{(%3-J01uMeEjCQftl}X`#nuZ8J?|g{r{D0 rQ|D+bRN1;{x!ppJM-7Q_Q~CF={gi7r;iM!m92h)Z{an^LB{Ts5QIm=; diff --git a/admin/phpqrcode/temp/548.png b/admin/phpqrcode/temp/548.png deleted file mode 100644 index c683cd5befb32a0d0099461c206400a908fde4c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<do978f1-`+UQdsu;oEy0`TfXAA19+C=^x_c{4LIwTwEdSVT znNX+BEp6_?apbkqCRe@LzY+_Xel*ldYedKP$}@axT(;HDZ`Y(R=?&@!f_Ojh9J$BL zkjK;;_+|A!h7AmVy;eQ{`lmjfQRg7X+1x*sJRA6D@UOCMxFopj6#IvUsP~Q9S3|9; z%o%R5FWEV@Xu6K~rPFJUtYH>z;NG$&s)@P(qVNIkoCiFg_fF|#*mGb}yyx^!>^GRN z8)nMQV2F8;UE=R`o0s(g%i2H314Rv%N*!QN3SZ04aEHZArgyq5gWrNgSNU|V2TXsx pCe1Yo`s;5g8`WUj;IK!_&ZxRMbiz8Wx4>Xv@O1TaS?83{1OPMmh9>|3 diff --git a/admin/phpqrcode/temp/549.png b/admin/phpqrcode/temp/549.png deleted file mode 100644 index 9449c0308a83a8e9d4ac0d805677d2c63e15c23c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`;Q(YF6N3y>O<0q5sHLTOsy>wnP33r8%M{k01SS zEqxTd)FZ=H;#q0rrqo!oi`}WpGnl{4yk503_0CV`rosoQyQ9~9X8G>0_J|5gKVy{d z2Nng^mYR+B0&|+48+SjLVV~OM_~5;DRE(D5??tK-EWaYP45wa?|K1Sd$bC>jV2WYy zf?F}4o_ZVbTu8n1c;=B^Mal<N4tUSM6?46N-c*if4eZHwUrlRd{8*MB==Y4;_OPY5 zA%W}5Vr#xRn{IP(Jac$gpA*r1TXEh4IfwmEtIr7EVSc-G``s_c%N+|CCtQ2AVD`!{ r0zFLfo^Rb#?rfixz+-S`^(RIdfrdp~aSCz3aA5Fs^>bP0l+XkKrWKK_ diff --git a/admin/phpqrcode/temp/550.png b/admin/phpqrcode/temp/550.png deleted file mode 100644 index bb1a77a167e13294e0962da0348171ec0fc250ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf?qsc978f1-(Ek>d)R=3Ex}t-K{>Uwe+r}0#2M`yL$@~lnsoTQ zV$jKQrFD%#0v*?n`bm}US4r;VR$$kOl|N;_(odh^QNwAi2NqMSo-$rqkn=<&fz_sv zVGRSHr?C93m#hvVJ-VK9_ElmB${!pQf0-_&z~{04eB9IEVg^YC-CE_<<-wO8GEQ>X zeKFu^7MB9E4{z?i`H2lY4<@eo(zw@m?$uNL6BwQMR?ZE1nk?iX@MFf2m)|n1mu|0Y z(0H+U_nOH|PVHxKkeG0P&K^I$*#ZaVJEZ$IxGs2pb(XM$RKbh;`*}b9eZsV)Vf&JI j&x4qcFfe^wwS%$ZMMi?ocdl(f|1)^H`njxgN@xNAd<BQd diff --git a/admin/phpqrcode/temp/551.png b/admin/phpqrcode/temp/551.png deleted file mode 100644 index 53ca97593ce082246519e8e602678dc0bd3ae713..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_-T^vI)8sA<I<U6du!ImJz|6t;ts{SX8vkX|T%-qU$eY)Kr zo1C5+e;;mDCxtliiMo9i*XFBlJ;b?z{mtzDYtg5b4wy~YmSyQFR{fmuALG)TwQLn^ zORh>jVBEkKeBsmI&x{G2``jnh>7<Dru$|Fl86U#9XTja_?822Sa_wRVIG4=vR(%>K zCwYKvh2rUn^R8#ytoh3*<B&e#%e8Au9(hk=Fl+29vE2Ddfp^+hQ_ch2Ra;Dhuc_>l zc*o#vaBWH8wdI<OZyNXQa-aR$jqw}f?e3o@(|>(szrj|jr)s%>m+9XvQb0Sl=l<XG zQ=eg)!=W-&rCP(~atv_>{Y$DsF5k&wkatjs6P178%_$YR_I)HUoESV^{an^LB{Ts5 DE&PtM diff --git a/admin/phpqrcode/temp/552.png b/admin/phpqrcode/temp/552.png deleted file mode 100644 index 2d8b0e9cbe1defd184036ed2332a42ba141bde7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<an978f1-`+ULdsu;oHNcx^!o-NZ%7zXq?Gn;XSAu->EdSJJ zEPgU~O~P(frwP|nlh3Nh2l}{_C9{8E{Ch6pynNABTZS3zL1CI(wRST_FpETZ^L`Mx zu=fRnpMqxZlr`)%Z}}OVFSuP=clXQlGfWbVVwzty82&fNR=r*}=ZjneH;Z0qU(DoJ z>sSo<cRgO8zs{72fq%o(6UzcEy7@LRnBDGvvgf$BvI2v6hNkU-SFzVs8ayxb?ccL+ zliE`^Es+DPuU`4RE!&~v!|=J`b-%~l4}S~TBN$QzTpQXQ=1-l*uz^A4>G?(5)I7~u oKQ!d2%-uO%DuGYo#Ofl3zPgHllAy+Kz))cDboFyt=akR{0BiV$w*UYD diff --git a/admin/phpqrcode/temp/553.png b/admin/phpqrcode/temp/553.png deleted file mode 100644 index 21e46b94c4be042955a4c8c427296e91b3c8fb14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sFaV<~yRm!ImJ*e?htOtK3R<gG7-HFH)8<&-E3z z@3wohT}fk!rlLT9cdyB}Z&SFgnuuvR@Vtn1s9#$9li>mToUk}Gt0~*K55yLT=^og> zVC|ICA<TamWOn`inF*9<y*A0@{{3pP1ELk(Z$BF~@Sj-bKXZrb*2^LNAq@g2Ong0# z-0$-Vp2s+60sDN$+MOP&R`d8U2pX7vn)kp^o0FBJVaeS&+xLg9JL4s)z@_stxnw;< zVM6kxJ^E9*1sI>d*cbOkfwh47QoPJ!)s6G(cQYP2aIE*lGQWo14Z*(7Hyybiumvr( wp1x{Hm0mo9{)TB&PIi@*XfT*ND9DNG>o^`fZQ56p2n-?yPgg&ebxsLQ0C|jvEdT%j diff --git a/admin/phpqrcode/temp/554.png b/admin/phpqrcode/temp/554.png deleted file mode 100644 index 7cda37ddc47d38924efca103a89b4a1b58829ea9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<an978f1-(GhVYBu0t4M;0$kXsr4-9zqx<g6Nl8=1b%dAok- zTsgLV5$6Jq=8xqc1NvG0SD)CoLGVe#eeD(g=Xb3+eVe<fvSEwT)o;R{@f>>1)ADno zntmTJ*FEUku))`Q9Y2e+fNtjItg3sPIouSI^p`Am{J_29*uv?Hey`ag7{g%k^KH=m zheEAW5`=E-T_JvH>zBw*1^x*Smhn`ytDj)BeqZ;3agSxEz!L}lEh;(jn(?!R4+<Qa zQL=(D$=Sw{>&r#i+t=N`PkZ%`U%-bszHg=M*|`t+K1_2dkpD4VU=^dIlmcJ7T=JxK oES>_ooPl;hz6R_PJ^Q=FOS}1Q+_Pk~0fqvDr>mdKI;Vst0B$ab`v3p{ diff --git a/admin/phpqrcode/temp/555.png b/admin/phpqrcode/temp/555.png deleted file mode 100644 index 3a87fb21b4d3401cc0addc2edf53349cabae6c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf*(Cy978f1-`?;QYF6NBOH8wAaDVhlZY6tx+R+INWo=?xxW(UZ zKOjFZbQPmClVbmAt!cS;ojW$M@88J$tU*>-;G*|UKjDVL1*xG6ip$t`@bs<z!Sshw z=Os%4d&Z~N^4=G%|1w@+e>-VPyMDIV0{*N&AK$Wl;P!}|bgA`w!!#zhhW%eEPn<V+ zz;z<>i20mcWri~iS7$GKH^FNvV|asH?)7<H_v$zqk2(6rK8s~cJMeOw?Uu|9`?zK> zq`s~bvFKX+;jBJ`1Y6KH&y}a1&K4@*ep1Dp$Mk>xVT}Z-jGA+M%YqN^WK37dT{3?u fTMwg?+*EVT&Xa9CU%Zllo@elM^>bP0l+XkKL!E{s diff --git a/admin/phpqrcode/temp/560.png b/admin/phpqrcode/temp/560.png deleted file mode 100644 index 8ccaece3f26a90d266fc2e7ef90a0f9ee3f3afeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBnT^vI)8sFY<<ZDsjVZERx*PvWj+V_OfM<6PyWD(!d-tPb6 z#yocBXBk43SboMh<#}$I(!XJ%Uk-!ag?-!^_P;p}aPC+WlqGrflX^pCfKWJ71#bn* z2eyJ8SK1fFzvpM*KhU=%;p;xj%?xsm{%dn%|7~ad!Jcx_d+*k8rWtHPc9T-fSqqqK z>q^p2ik!Yusmv<D5cEKG`#Rez*+uFN!XHfIe!8@$pGw)z%)`_jYWeRSKZEjvD{3#D z1F~l@#4OnUZX5fD6JERqJf9w3Y@fbAsKK(}*X3_&atUl(4#)ayFsMH`(X+QqJNEfi vYk>y#1b3nGx7oGwdp>nA#4tG8O_lwfVSBwO(S92+gcv+s{an^LB{Ts5{r!cc diff --git a/admin/phpqrcode/temp/561.png b/admin/phpqrcode/temp/561.png deleted file mode 100644 index c8fa0a34430023b36cf80cbee033c90b7da0c13a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2_-978f1-`?=#JFLLN8lb{ALAkKBZwj-*&V<>Xry5?Wb^jM% z=@DnXt~qe7^MvzH6@1TdFWMZV!g+x0%jBeGds1%6Gpu3O%VzVO-ug-?fjeV0(;wbR z`~ETPZcr{~vVF_X(7&K}$>OWO)6y7iniS{l$b8TIfvISE)!N(>@-;Ix4hVe+(XX8; z%+RxdSIKH?X8S2-iH6JRo0fjtDaX*$AingJ(WE<9^BFfVRb@?GT6?=uI6;u-_!6Vu z3Vw~^%wKW`xFq`D-C2L@FhiMx%ipv6f8FLi!13k4mDM~O*k3hv7Kdgvm@AYo%C2tU rsbNoG&Q<ZPei4w>VA`NC{}g}ws-ibp&sIJK1_XnrtDnm{r-UW|gcFN) diff --git a/admin/phpqrcode/temp/562.png b/admin/phpqrcode/temp/562.png deleted file mode 100644 index 93a14f1b18926996bc329b13191aabd5a796d9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nz|978f1-`+ULdsu;oHNczafXAA76D1TTakJ%khid!iS=PvF zG+ys!wP@jJtcXpSSJ->cH~RrwN8``a(@ow6R+%ww;CE|E?OUyJ(&m6>!B4gdmRlbx zSS(nDiZ4g=D{!q*c`5l}bsFOzX0e~yEDC%<-lf^szRl-#;8?QN;kRQ{&d*==%x@Sh zEhk@F!195`V_LR<)m!G(513sVVwHZ!#BX^bW^}-A!wIYK=M%XE7{AS0!l|eHlEHDo z`gc{FNon)58gdVm8BX6B^mi_Y0^hG?>VMBM7VxP&QJq&)$bN%O`(Wo^$pB6Twi?e_ kA$Ge39e5N3)_3ujwR|vU+I4jqFbEhtUHx3vIVCg!0LOrUTmS$7 diff --git a/admin/phpqrcode/temp/565.png b/admin/phpqrcode/temp/565.png deleted file mode 100644 index 5afe3393cb66e77d5be4275a8c7c7a1291d4f7af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nz|978f1-`;TKYf<1~4G`ixFmcZ=_eTtBvOlLB$~d-gSK-Iq z2|W95nmBYT8c3|~R*}l?XqsuZQSe8@zpxD{Hof{B&loRtWy*T}3UB(oV2PAJ%lQL# zz8`oLCS*;tf6jc6b;G176P~^;KdZEZ#r9HW+X2p3K}RJOEcvYGA7EXyg^yEprOP#Y z!5xm5{@!EL^<yb_xc#q6SjvyN$#Vnyv{wb3UeT*Ru-GlwdGy@>cT+i@9lW6S^;#@D zllY6ZyMGzXVPw%$C^Ni1TjjvdeVzuKlcs+8l$V(+)F>ZOxc;YF0kg~BvPvJTM&<}l mtC;qji$Z4@*&c^}WNfMVEB-mjeHkza7(8A5T-G@yGywqnc!@#) diff --git a/admin/phpqrcode/temp/566.png b/admin/phpqrcode/temp/566.png deleted file mode 100644 index 3c02f29f9234689b009d3f717f89847ab1519aa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-%j`DJFLLtGO?&ZrgQak4?BiQ-hUdOwHNGqnUpqB z>igPd%N{RbajaiH)%Uhm|D-*E3`ZD#Khf2_weIS7afWA&_qMgq=6fKkAj<edHefn; z!}kUc{aUs4@BYa%@HEPK<`&I2;y%D(@nRuwg3yQG=jIgYW~D#0+rq%aaQWWFQ~fg; zTNo`*^ln$4dtCeg%Y`PJ@MhD8qOpue81}z1T0boyg<H5m;KGx-(~bFuI1dQC$euLo z-RD`Fj2(=*rPB-STZ9`F4tz_x=kr}v?trz!pL^=zf6j%kX7pjQ+Hx}a-?!}y1}rYy u6a%9t$1tQd2CGc%zRK{7f#a8UEdy(?Le9HwN0tDCg2B_(&t;ucLK6UNAC5c# diff --git a/admin/phpqrcode/temp/567.png b/admin/phpqrcode/temp/567.png deleted file mode 100644 index 69b46f647e5b344303e9668a6ca7ba4ffa1bd108..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<an978f1-`+ULdsu;oHNczafJf}yi4qEvxR0@zZ<)Aoy39U) z4U6|FtUQWN3UcBTO@nNrmZ|eKm|nQ-*=96#`A4P${7cp-$4*&mbHHfD%y6}a{fw;B zcn+9dD3Og`X&=W>(U|L*yW?df!~Vw3Ul)&A@;+dz-J9K+&h>y%Rku6t(xOu$3G7#< zo!j-|tETYGzl;a?b6QsY2+CsMe<7<O__Zp1FCXKY2EoAh_C^o&&&oa!n-Rnwoq9Kh z@y`RBUEFWo%PW~8SZd<Vcw5bIwmBe|A^%olSrD^@<86+dy^LawE&m=RSk`C7Ges~h nR-O1yXV(;|1MC7F?nk8yKYfk9c!^yc7zzxYu6{1-oD!M<9(sZY diff --git a/admin/phpqrcode/temp/568.png b/admin/phpqrcode/temp/568.png deleted file mode 100644 index 72a3c95caa56c2ecf6d2c923d53a98407d2bd358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYST^vI)8sFY@6lzxBVZCssf}#J&RZAiE0<~5FC6VK8y9z)4 zKNMASH-%-9s?&t)sp-B;bmhM_-#Wm!f$fWNeDbx;51AU|Jt9TlRH?bL|Bx<8XXs~O zZBTc(G`(sE!voe__O8-r_uoV^Y+vAg?~bMKVurc^Yn7F`9?_A^6-yZ8E~wSceXkff z+l3)}flJ$N(}Z2Mj4}?}z7(yV_F|fz>-(@M2L1&`_m^H-smt;_i(vzkPS}?s3u!+F zb&1<5e$ju;{_q`OZM$YWX{uC$>;}7EC)S>t_Oep=0C$P^uXl?X!W?5gwm#gWWqLqg z;bP+L-X_yI41O2VcK@{v{Cm_|pdq?JVf`ugt;<$bOx(A6CNPv3JYD@<);T3K0RSb) BjLHB2 diff --git a/admin/phpqrcode/temp/569.png b/admin/phpqrcode/temp/569.png deleted file mode 100644 index 79d97266bf32c447b37c20d1f8c89e46b3e95a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_+T^vI)8sAR$<!e>oY4NmSaR2m5?j-YsFE{NExJ>+Irk5tR z;>X%!w=^{!FFc=ea*J$v=H1{=y-W&hH>PgeGU5JLeTFm4Nvm^&H(t&8wUMEM`-Gn! z!#}pZMWOo{_prMBTgUT@xk2%Q(n+oFcAFV`8vMH3e(z<lVfeTI^CHgk-g*p44fbn7 zrr%{#V-Rd$|E7{TMR$5h-F=25jbcxdww7EhR$-jM*v0!M#5;5?n*htKnlB=;t=2#j zkEy(4TpO2thIt0-s~7Whdv6KKItVCO&)9ta-}Cr+cNotw{?Z7sKf=txeDlw?Q+t1i zF~~7YoLj$y-NU?;aR#g3#3egRwn-h3VQ`#(i9dS!#qUZJqN0Go#Ng@b=d#Wzp$PyT C^^N@i diff --git a/admin/phpqrcode/temp/570.png b/admin/phpqrcode/temp/570.png deleted file mode 100644 index e5d80eb62693c3c0f2e41229cde86b435903bf3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sFYH%iC<g!}>rywV~(8tDYka9(f=97p!nCta|zI zr-R~OziEX&3~Z0zFX}oTRh}?WcH;)&Ck_9lEaXyae>W${WJHxlhVFKG#<|SlYmn*> z$uEmkXRt^Gu0Q{`@d0DZc9q>WZz5UlAJl#IJhjPiL(YdF+jqCts4QX@c4P~w{m{Mj ze5y7}Wy7Uw+mrJ5=)IVI|C+-D)_J#Agzx+s&}0~JzG`a6+InHZo@Q^q+AlpTCo8a@ zGhAujwDsOLl_tdt?&THy8~nfA^WZ$z_(RbBrKkH8{ewIkI5}%ysmx$?kYSDHSMXrw ywLieZ6S0re=)o@4moHu>3vm=R9Q?7mg0W@cWS57^Yi9z3h{4m<&t;ucLK6VkMUqbd diff --git a/admin/phpqrcode/temp/571.png b/admin/phpqrcode/temp/571.png deleted file mode 100644 index a5053aff2f68e4d64d0f317390c64a308a723c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009L_L_t(&f$iAK4Z|P|24G7JkdauO zkr*Hn#RhEJrUd9Ehu?=5IbScXc?2Q^;&E}L8bL;ps3lH-HBi4(AXn0P)IR{22VL58 zsio)vU>oE#`8ERh1LUTy?F+C8YMQ8T->dZjU<hnWl72l0dltY5bm7YM{~Z7~z~*~f z1Nh@O0hWO@sO&~5@>wYYYyh3_p)CaUtkixEFbO!yq}R?B)&Ca&Q^38awbTHsK%-ko z+mZmV0PL7#FXmijt~bCE(4%{~EYeZ~tb>mN+aVrc4@lF>1t!<qf0r6y63B?tKDz7M zB!C+rQLZ@Z-CIhe0Wb?}OCpkI<xR*+4KN1~h)2Z>*4?G%tndvv00000NkvXXu0mjf D*<6g= diff --git a/admin/phpqrcode/temp/572.png b/admin/phpqrcode/temp/572.png deleted file mode 100644 index 8352e3cc6cff021d6fd53af884d9fd9b6180f2dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBnT^vI)8sFYH$lGkd!y4etbHHQGyopv0D$SGSeOfw_svdr* z^>D6GzkXCtiRak!q)?YtyLH|w2p?gvGrhS>(&H{~Q)PhgoRp0<xAU&<Qm$a{OIDft zz`h_(Xb-DLfo7CoWu2V>PviC_lb!~iSCVM-)~T{q;$Zy0clE!nO{r&D0t<NDul24` z&1Kub;mETfq+f@d&F}VA?<R%~w`?wVRhxdEslX<pE6eG&H}059ljVazzdQG5TOSno zF+)Z7YOSL1nWo~B^}3wL|29ua;M4dw<N3EuD|kP$yl>bNxmkWP$Dsw!#2&odtsv1T w^skF~at(J=<OAK4ueW-e9+XKiuoJZ|w4SW~^{v1LU<fgIy85}Sb4q9e0O+fT&Hw-a diff --git a/admin/phpqrcode/temp/573.png b/admin/phpqrcode/temp/573.png deleted file mode 100644 index 90df043cd81722697c3078a55755bb82596c97f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+UL+ibwY8sIIfpuEvaIh8?$d7H3$mY3`;=Jxl@ zx)0~p_0DPIXswD--4=D(ZA;3cO&b``F#dirHBM*y@$KIj9b`P#u(d3kWOG1Q;WR@% zgZmYR{fyb6?01<PG&0;L#p$Jq9Z0_*S}eDQ$;I*WKK;mNlX@!~BqwAwtL>Jlygh?` z2FtAN-&eo8Z+yVy!iuHwUk}-2MKxqQY|BypJLg0CseQgo9ZgYB&tBhqDPae54AXtJ ziL7thWf_7O<lSwpy29|e;kA76T(^1V2Xq%OUf=me&eTC*Nm0_0xz;~)8TK)(e5Ub3 qXBDde>syaax9zeTBpepXg<88^`<Eza=KT~H4h){IelF{r5}E+bXNg?^ diff --git a/admin/phpqrcode/temp/579.png b/admin/phpqrcode/temp/579.png deleted file mode 100644 index 4515641e3e259ed719d4531f4a1be342cba854fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<an978f1-`+SV$fU@_8jz;ZFe#(fdl5sLQcKH%)jSVU`R&CS z=TF!0jCn55aokm*bM=~-C2zhcFu!4})LpP9Y1QiO<_y;umv3D<YkTQcn*)L`q8sWP z)xE6_a6XujY`&VGAvi%-b9>gW-RX>H8d#s3-RWbz#&~k+dsBszk_Ys5RIO6Jx>EQ7 zM}<^XfKOcd(tni=rUGj+szO-`*nTY6n&?u<%W#8H?A9~Om-lB09}u}QBjxt2rxo)T zGdx?+|IWGT^{RSihSLql3{P&IZ7&kkkgK3tTJw#qfMru$)!%Nu4V)HVT;@weerJzh oN%nqZ_|o_)LpDQWMaUk87q88^?rX140fqvDr>mdKI;Vst0NCb;p8x;= diff --git a/admin/phpqrcode/temp/580.png b/admin/phpqrcode/temp/580.png deleted file mode 100644 index 27994d871352d544845c44f17c10b8eeef8389ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009U|L_t(&f$i8y4udcZ1yD;IAV=cr zIT8mza`BJ>L@I}FsPzA$O~YH6#t9H1$m^2WlhaPj8&R3q0p@^zbEd^rK3xEa11+lp zTBX!EdF26~0iDrO1N;Wwa5w)PXmruHkK6tL@D-f4q->QR?^ysta7ntK1_*(&-dUFa z(E~^tK~Di9K&I=+mOpRaQURtwTl7b5b$Ye)`wlP-thVeYq+`UFQUe5lJ^HkL$**-= z5<n2tXd}@7FabOOt;$pnoT)SdfEiGa?n=va8v(=tbM2w#%Qgk@3`k3r&FSWt1TY1x z)a+__F960sQ(hJ=)>f$oAPU%%<=4voOxcwhAO;ZRRrvryK1Z&gzhgWA0000<MNUMn GLSTZ9yO0k6 diff --git a/admin/phpqrcode/temp/581.png b/admin/phpqrcode/temp/581.png deleted file mode 100644 index b08de90a7ff3807a0d09d38e92f4226dac47b590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-(L6TJEFkBmLSCcU}9Bi{}aYp23%TYldLY?Ecv+k z#o;>bCZ|q;j_a;Z#8%o|JgEM)Rrmn=t-TGOR1{+E7~U{@W=HbrcuiU-_du|tjPZx~ zmPM=;94aQK=VVseG3YdGT@trtyDfJD>oSg8ciuBU5VzP8lI=Yy{Fy%22KFb>_Cc?= z$HXsZxWS}*FgSiYAL|2#+SZ)kw^<Lc=U7adyIyu4<D3IZ+veuy${k?N@llcr{(WZ> zL)k%zyQ#mQ*R8vDinW00nw-g$ig`i2512nC&r`kcGJO&22S(W$he~EKSu}=aZZgb# qB7J~)jp|mN@B6(O<Q){^MCEJuX9lcIQ~m=C2L?}9KbLh*2~7Z#L5BDM diff --git a/admin/phpqrcode/temp/582.png b/admin/phpqrcode/temp/582.png deleted file mode 100644 index cd4b13ceca0f595ca102b5fc45de0afd73926ac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`<GkYgQ0oz2F(s;GOhZr;~MtPpRC3W7~{#?Q@FW zvun-MmtzuAJn`0O^U`zNftfCG8yTK7#O}OwgzMEqRtFi6&0Gm$2GysTYgn#jY1OfR zVBO)I|Ic#5i6!O*6^sI`zg0cE#k0i@6gT`a*!?r^)~-XBx1IU!$SuHP<Td+_VYcEb z0|z04e%{??8*G`LF#Ocm%9f@t#kiz_FY2b^TGzX){Aw8mn3e55=N@L6z>+-MrOxX8 zeTD{+7t!DU@m^iVc7l0Z^G?yI^1^#898Di@Ec-l(WddXJVU_sH-TN3Sm{oSi%S5kW sSKvA}$z<dINP81g2OfnJYd<km8vI_r;ze&5FeDf}UHx3vIVCg!04BDDH~;_u diff --git a/admin/phpqrcode/temp/584.png b/admin/phpqrcode/temp/584.png deleted file mode 100644 index 42a788527ff7b8f70837dd534eb8d176ba340a12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HZ7978f1-(Ek++p56BmLSAlpc0m@!mjYpF`DZ~Pr%-aAJqYk z??X1aJ{RaXe{`OTQ{AGOR)UN<4(~KSL_Jx)jbQ`dt1r_kA|}n#XYg;#i)xs@V970c z2K@$=h*}9ThA_u$&n?A|ea|!PU{3z=I<vv_LjC&~-=&s}Hyq^xc$cny#jm-NK`cO6 zC%!K3wD{W946hHIT=taZ@`fWnV;Ou7>b-3*e*OB^&U8i}$L_L{at3|}YqgICWu>AA zSiZdQ+aeO=XWAgE^4D<s{^GOd2b2Tq&;0NAWH39h^X`tb@%y+NI2SAkxt^zTmh%8h n+q5OKw|Sc$kaAG46SZ%X-2A<5rqXv{ATW5k`njxgN@xNANBxLw diff --git a/admin/phpqrcode/temp/6038.png b/admin/phpqrcode/temp/6038.png deleted file mode 100644 index 36f41ed19fe1220620a72a5d4f836531f78afad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HW6978f1-(Ek+dsu;oHNczafXAA19+C=^yf^eNJaur%^cBDC zE-<`*A~ah-QDA-d87b5GD$U0@H?V)1uC2Olc_p&~UsaT-$3D}~4CfubF+Nbg5R@zO zK=Q@K_$uG8n-~RH^IufeGhWj;epkyu;KuKDnt9r{<}hq?m_23j`Wq*ontgTR5@6Zn zWE7A%JM6bIgV}-7xZCsi%8D4jHO>iAdg-=z)~7#~oC1u&emAXb7;PBpd=~}U)iT^* zc>HSKbE#b-K@AEIULLNwuyrT%n}+PLB@@)XdD|Q?J8|pMd%ZafiVCNvUV8C5{<=zo oz=vs1t}ju&%3#>wut&>o^UCH|65ZMXz%XF&boFyt=akR{0N-wmVE_OC diff --git a/admin/phpqrcode/temp/614.png b/admin/phpqrcode/temp/614.png deleted file mode 100644 index 33a7d96f6708e6f8678f0064bb94ada82cb5c48a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009L_L_t(&f$iAA4Z|P|1yD;FfRR`| zBQXGy1GX`tRa!`U$l?D(+9dB}VQ@=?AdgF6%N{Z@C!+Qs1FQl2EP$C}dCdFp0$?6U zS*6r^TdCaw+yS)N$_4lXu%ZLp0}^e2{WiP+m<7X;v}@(B&n$pT&=dSLx(L8GaBh0p z1Cl)hSOOdCC8o{VUx06<0F$78%9zO&MD{%(5x^>tZL^fR+|_!wHJky~0PCWa&euiz zQfh!X&=a!HN|lBTumt*;L^f+`mE-#y1@Ia8=w7eV{=R$x7C|4AbT^2}e+dEH1$ra_ z{0PRs-2m2sq&0n;I){lAU<RCzB<uXK)Btk;K^~O@tK}PFdk5DI00000NkvXXu0mjf DF_Mr! diff --git a/admin/phpqrcode/temp/615.png b/admin/phpqrcode/temp/615.png deleted file mode 100644 index 26bf85e3e141f9ff4aef51f09decafba1da22e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sFY<<ZDsjVGR)CKQM8JmHQ_KHQ5DA71}%x_ICdl z&-$`fYDwsGfhWZuRXYC_y$s<~6+a*~!T4wmPx{_V><ncGSo_{7ER56Q-@tw;SJU)> z^#m_pmJe(vg3flE8N8Keh&Z@b)iZw9cbx{!7n96`{_o*UV0&A;zBY3KgW7~`{%>E; zDPVfTFw>y(mE5V?mGyradlvAxFFjzSEm&C06v4E~Vdu8g2Qpr~2`sZd?R$NNWdql( z8Aq6xo2bW~V9<7OFOT1^x$_Fc>xM6f=j_)k?O?ybysoU`RB}+oG^qm|yS`TW{8wZA y!(6lbug<ALDF*Ef-Iec_Ij>~QVQ{pYDnI2i(+Yn6`8B{GV(@hJb6Mw<&;$S?L5dXs diff --git a/admin/phpqrcode/temp/6174.png b/admin/phpqrcode/temp/6174.png deleted file mode 100644 index 01a4db659f43e88dfe50a729a677fbdacd11676e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf}cEH978f1-(Ek>+hV}O65uT|VbUcl)j)<xjh&At{5|$Y&f<*B zjhqVg?i&h+47Pg*ot_hRv%bJFtVv=+JVSJ;Ima<aO#=r#?bS91O$$OIIsY-Aif>xY zaB!RLmb<)7ffst0Sk}&rWXX5*uDYej!DPGDf9AK>N!2WZ4HNezSY}%OtTc2LV6ym` zWi83NuD3yfZ_mAxRT_>G5BB_aSLv&t>HT$~ssyWC{*vQQueK=t;JB3?bhmDW(Ls$5 z;oq5m6s*#2;s|&@r+Vt!d9|E^F-)u8uI+qa-f(4_mjGLbY0#V++wx$bEBaLg|8G#~ eU~JnNYSx#gY4-VH@NA&(89ZJ6T-G@yGywobLWG?F diff --git a/admin/phpqrcode/temp/6175.png b/admin/phpqrcode/temp/6175.png deleted file mode 100644 index edc4f9e9db91d7c7402d8d912d6c9ed7eaf3f232..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#R6HT^vI)8sE<F7HU=ya9Q5P{KO+}u5u;A>VT>rY8{Jj?syR= z(YpQB8FsgpMRCjhJwAQRj&%KW$nAmLggX8MtdV`GuBX`;tr?=FSJ!U2FI>TA5v%q= zzro31^Q;4+42l`AlOyCgd>SuJGKt&%d7f(mSIE-^wxW&N4wL0f7tHW`z&RoKuZ7yf zjceZBE@8Ufux-A``j=}@*D#ec)V3bfi*LW><$ZvorKa;px|P*dNACj+A&LG)v0v?f zvpjPs_Yu-GU-)moLIT4rLH0}WLGelj(j2Kr778oper}#^%_uE!Ii9z#nt3&6M5C1< z*Fw!DEN2*&IId3jona@jN_Ym-Qq_eM*p6g}dvM-h=&G7pc6`?_O%uDD+Q8sq@O1Ta JS?83{1OQSjiyi;~ diff --git a/admin/phpqrcode/temp/6176.png b/admin/phpqrcode/temp/6176.png deleted file mode 100644 index 33bd8ba28dab87856061e5aa289758bbba32baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+UQdsu;oEy0^-!o&z$WkUub*5uC<E?qm<dHB7v z{D-fPq<j>d6#BYXd))add~}j0yHNxGiE7r!_-&jF)(^IP+MspL=0Nm?u4xPmehf0F z-Kz418Nv*rC*>`PuNFI?zrnpmj?JKHM%2Zi7pM1YX~r{{XT<M%B<0utpW%SKz^ONm zw)YP+|8P`$={Eh{LWVpA?fuiTqW{f#6}B(io5_HwGjPk2T)6|x&kQ@GnkK(tJN=%a zCqd?}q{z(4pRF6XrxYFy46nPeME`mogPnog@txAH4c8ll=RA{Rc)%v}Icf3spM^e5 q8=7uTx)%I<(?q5l3`~U~H4K#&@8^COY3~Gv1B0ilpUXO@geCxI&WRlW diff --git a/admin/phpqrcode/temp/6177.png b/admin/phpqrcode/temp/6177.png deleted file mode 100644 index 2a6de15f795b70d26322c074451fc1b21f2deef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-`;TKYf<1~y`U!3pj=qm|Af(J)t0RfR&bm<cJx2@ z@y6{+SCw2iKJ9eb=5t$qZ-iKbVZ#2~F$rFqR~j*1;7^IHJf-aU{?jSuJ?wEi8U8aa zVrG?K7h*p9o!LRS!n^Am-;TGD488%W*`E6jOlPcMy40~HPLyTaDOL#vNAD}A%K3iJ z71wo;pRo0+Wn{^}wJ{BT3jBY62F<c|P`|;w<(?Yj9!Ax|kNIA|H?T-BUNzIS|C#cd z*MRTTwb-a%_ZD7ynkeWXTwwV~V1D<vcRVZ$*grh%Xy$mJs$k7JE%90LMJ5|Y*_C}w ti?16TU`Xg@y07+eXF8(^V^fWmwtTQ!TH42`zrdhi@O1TaS?83{1OPcQhtmK6 diff --git a/admin/phpqrcode/temp/6178.png b/admin/phpqrcode/temp/6178.png deleted file mode 100644 index 8c1409ea077e9afd731979bf1fa1b867f643ee20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009L_L_t(&f$i8q5`!QN1<=fR0FT7g zJrW0SCdMQ{Y)1v#g^QnsrTA765|jvmcwNlwvF!g+CMpvvz!>mf2QqD=dIO*zXj*xh z{ho~W%mX|JzElBz1-fYSMXCYrfQEpH%P8Ie=moVU&7}sM^(=r(fcR%<OXob*O+Wdm z319%oqAiz|!YGAR4bTI~YpCt_(2~NV0O$dhR!Oj3vQD<;3(yZdt+M@FmH{4s7Iph4 zDXAst0Nvo@m~<!v07IZ1-940to(0eixP9W#8W0am08hYvLb4jl$L0<&2JFSWyq)v+ zq6N4EHlrZ1AKlMB76F`t+LFk3zUEsC0l)}AAYK(4jjGI7<J5oL00000NkvXXu0mjf DPOp(e diff --git a/admin/phpqrcode/temp/6179.png b/admin/phpqrcode/temp/6179.png deleted file mode 100644 index b60762089d15765b440bcf4e97b42e29bd714528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009U|L_t(&f$iAM4Z|P|1z<}I(2-c3 zkr*J73&!S0Z79%74(}ZjrTtEp!6ZZo^0>TM6VgMvU1UF80DD010?20&hCcw-K`C%Z zMOT{39{|oly8!$Ja+NtwN)7M}XseQA^3gVeZ~Ftl6x5MaoAz#I0ZhS=)~YuFm;)K< z9COo_0z1~u1=s+x=+lL)Y0Jv@wP^v?fILJhrS3NZt2DqOAgMCvew72KE0=B~09Xb( zh+_2sN1#T=ytS`1GQbWPj!7g{mJ<@dHfTq8J-<uFkp!>?xPIcWD)-ADU>{t=i#ZX% zA;?djx%(&#un8o#@~!B7(*i63)&zTrRQfry0Hy#z9+fxaWKNh?1_GA=0000<MNUMn GLSTXnFpDJs diff --git a/admin/phpqrcode/temp/6180.png b/admin/phpqrcode/temp/6180.png deleted file mode 100644 index 632076d45eb6e9278559f6dd7fc5d36f2432f45d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmV-m0iXVfP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~0096=L_t(&f$i8!4ul{K2H++fz$0;W zkK_SJ5c=SenNezH;o|Rt82H>YNQ*=W#Oq?q8vB-H#wHSg57_ixs6I^#0PBF$D%0^$ z+A|N}2E2U%{sGcmssU~Qhk~|!znu>NmtZVOGF;RwfZt$<kUypXd_X?>3hJgUL)Iq% z58wpXwIgJ!@B!cfuwGq@yRLDW2k-zc<TU11&d><p1)SDkeNpQ=$Ll1(3g}U<liF}v z{|Vp#y-gyLqzfJ216TsBb+2QqOWMB!xIk{dI5_9x=ko!;1ME5})hGfy21J(cUZDV7 yfWtPe*7~VU0$2jQB$WiWwc#KISOW;etKtL>pzy2Bl>)2)0000<MNUMnLSTZ9MvmYB diff --git a/admin/phpqrcode/temp/6181.png b/admin/phpqrcode/temp/6181.png deleted file mode 100644 index b2661df8e1f5f2c75412f32965d2689f20049025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`+UO+ibwYn&2(jFmY3rdlG}n^^g22qD?zqF^0aE z&0xBJvdKbIu*pV`yE^W)TiM4P2FnNgKlR*nKg`@vxgd4wZCAF{!Maul${pgPn11l? z&^0|Edf~_172jX}VkqF8cj4<lrV`D&tE;3MtOLF-zVA5I>U1izN29Cy+f8EEs%~>A z@U}e-&JX|lE1b!LvD0VKwza3WwS_h0AGkQ_%~DmVD4_!?A0mqL(@$l5W{@n%nSAR^ z*ky}F%u5dJD^>4u4)9@|)bM-11()^PS=J7GHwx$ED#~v2WUzE_kAL6q%<$PkSo++J sBkymkG(=w5zNG)Ehyt^~lfX*mvKHkJ1ser!0Yiep)78&qol`;+054mO!T<mO diff --git a/admin/phpqrcode/temp/6182.png b/admin/phpqrcode/temp/6182.png deleted file mode 100644 index eb255f61bca70d2294cb8c02053fe5f4e9d230ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009L_L_t(&f$i8q4ul{K1<)oQfFp5r zj>G{>DlG*yI!K+3i{Aw@_*SGtD?|vy=OVC0qJ=4DqPDOC_<%hNkfHq4+5Q4x9_Y5} zJEOAw3E(}@%mw%#$lrgs)c{YxmJ4_|9{`4+m!x24z|WcmFa+m__sam2K$e-awMiuw zw#)^X2b#3<PG)WBX8?c$tZl1H)LBvm-~^JOdT7R$w0m&^@PPX4sx?diZg5CnN!q;d z=|}~b28TAuhFakP++c6r$=amYj#L0AVEZs%>5#cM-<trlz&fOw$cYHxCD5y2wqBF@ znzR5<K*N@EzYh)oPS8t|Ub}_XCh@gq0So~G@u}DVmM;cqD(7I@00000NkvXXu0mjf DnAnrw diff --git a/admin/phpqrcode/temp/619.png b/admin/phpqrcode/temp/619.png deleted file mode 100644 index 7dfe088606fa02bf9682aebdbcbe2162c8dfc34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv7T^vI)8sFYH$a`3Uhc&>P=YYqWa~_fmCwqDMRD6YnzfL&( zeIe`fuaAOqrgAh^#Jc27Or5@Cf-2VmnT+>yQm2YVzLjJ6(Ku}@)7>=9dbSF_8I1p! zy=>Pr^fw;kDC1|?laTFs@zvke>5MT=&PP6*G;pt3ZesBLwn^qv@dnEP<D;wAl&^Sl zxnLEeO~TqDS!30br8^()X86Epy)<_#%j?%08O|_D--vv@w&75r57Q2I+cj5`_cH!@ zV4yZJmgVtthL{EY@7!*mWSzklqpouEWo2$4!@Q;g>5Huon7qiH*Ky8^w}3rM?R55E z?TDgGX$!_V2kPG5WGj2^9e-B#fslg0`Y!%CO{y1;v_Iknh7p6OtDnm{r-UW|-k6Ql diff --git a/admin/phpqrcode/temp/620.png b/admin/phpqrcode/temp/620.png deleted file mode 100644 index b7e136751e4fbd809e374b1876bfc21407156275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`+ULdsu;oHDC$f0gu?Z6D1Z*V!m->$%?6SV~T$K zcbNLYk0r@mQ}M*(NuEKsSotUMJMf&ypIxncN{!)9g3jtQUr%3}zMtU^<4a$L?~S?f z4c!iT+aK$D*Un=2z@+OLdF^-lS*9P{I+eSb1z224&D>)i?$>PK?y+8?zJEXSs&8Hl zh7O@@VYbeUEe@~F3Z7*>mwlK;fN4|a&nLx-Ql*)-VhnN%9-2+w_L%<x^K-MzJsevS znK&4;??$Igy{&z99z%n)z}a2rc!it){#R=dj#z)?`Ia5bF)T|&xfFQZo`tDOZt-OT ox#U;i+}Ra(w=mc>DD<CVbn}u5v2%WR2^bCxp00i_>zopr0AL)300000 diff --git a/admin/phpqrcode/temp/6232.png b/admin/phpqrcode/temp/6232.png deleted file mode 100644 index cc8ba8af995f76bdaa8b92235692640555227e8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYRT^vI)8sA>`6>3)CVSR9>qCxKD>S7iC13p?m8MlZv-!1vL zDP#G^Xj@GdC6QO}UmXqW6uVcS_Q{QH2J<)FhG52*9~cz)RKjxCM=w<U$MQku$0F7r zf*!Nk0-5hHYSvzx_WtTW1_PF_9+$paS!`x#TM&A3Th5Yr?gxAZ`AZnHKYg9gZ@{dQ zFl~zXZI83*4Vez@movUEt@+91;uyKgNb%$gziHc#0hRDEFW<KG`d;n^j*O?r_uOr< zo5$SaXs&ki_|I4dmV=ok-|r@{&R~yOZzr}j{vzW%M%fuR*v@sYU|h6d>6tsZOBfOr zp3ZHpeRYPRc!8W}%6Ivle5KuD3Ty!@_OCL3dHcJp@Pq{ifq}%}>FVdQ&MBb@0KTt} A-~a#s diff --git a/admin/phpqrcode/temp/927.png b/admin/phpqrcode/temp/927.png deleted file mode 100644 index 13f361c5aa7be411ba735a51bf517a987f017216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009U|L_t(&f$i8q4ul{K1<)oQz$0;W zkK_SJI`E+ul97OJT>LH^Q{JkBv?{`2d@gpaaqLkfoFbNp1Z$xF>LFN*<<1uf=7FWR zQtx!J$`d>SmL_-$QmG{<!3%(>553<Jtb(>BmCK-K5!{0=e5>9B!4TN<u8PX1%%;9+ z2_}KVyoQ5RPl5*kWz7?kVroy9I=`Pnumo_BB7IHmL9ufQ76D!&^VD9(r0Tub6HJ1> zrl@>g``4TZhQP<9M#XXl5G;XfbjPe|>E<9Mm<C#3%&p3@$9B^atO9&2%Bg&=cAJ)9 z4cJ4Ef%ERaAQ%BeZA8}L<qCpX(6yw1+rHEUbAZA4RQv$H;fQ_z3a#$|0000<MNUMn GLSTX{cbRVh diff --git a/admin/phpqrcode/temp/928.png b/admin/phpqrcode/temp/928.png deleted file mode 100644 index 007db4c7c7ad814349edb5ec1937be9b217b34d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf?qsc978f1-(Ek>+ibwY_P|53Vd5q$WkZHZ+;u92(OS}94?O(7 zkoTE&WT&i`qk^0`cjlVYdXnC67%UTB3ST&-{hdjHZ^xRTSKAEdYV%KEOP|X5Kz_j_ z8>Ty~GDUxuUU|prAaX|8^Xk_#Ogq?=cTB8X#`vh=n1_}-|Ae{L)1?%+&Yi0anOR@M z&*0IJEU<N6X7pA!h6$`;Sxcwhkz?av{`b5(@MU`);|@l*6CO!XFK-tx{op)ideTg{ zoVmf~MR@r?jw0;_l?~@seyx*!$56T8c>S!e4Br`UF5Ak<I)P<Y*?s#xOdgGuDw+IW im$G#*vOEg>$RxkzlfUT;!+AjeGkCiCxvX<aXaWGjT!B*n diff --git a/admin/phpqrcode/temp/929.png b/admin/phpqrcode/temp/929.png deleted file mode 100644 index e62a09db98dc5181650f7c06fb57ace78a732aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYRT^vI)8sFYH$a`3Uhc&=kvSH$;Dz{S%6E$k2ofmUFT+uGK zkKe@TeTv{4x0ZuHc6;1>G-0jI%SqFAa3me5<6hy-di*-uK`V#Iz^t48E7rKGS8#d> z{9#h5e#sff+#(yL|LgK!2Lsl7lM33;Rf!!G`EuZ1<#{0%hD$5fh26Vf)5PK7G5yTC z<y%TC^sNpm9XPNqxO!c6be`*e4kw4zF~+wheNc(3Y)Vx~N}e<?=)L!2S%(cAI#ILt z@Bhb={lHA^XL+C9E@7Rf!jkJhV@m{^G*0~MTr3mH?!1ySX~F$D8Ntg1_OR~seOn>a zWZ>|nr*~ez{8di11JRd0{69XAL#g55kJUdI)Mwtd%w4Z01q>txPgg&ebxsLQ02dyS AZ~y=R diff --git a/admin/phpqrcode/temp/930.png b/admin/phpqrcode/temp/930.png deleted file mode 100644 index 94d9110d83d5a1a38c8b00701338afbe150b27bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sFaV<ZCwIVGZz>QE-3s$})(r;fb1@L5OV9E!OV$ zuG%M}C9~?Ma<uM>72UQfRe9atzWX;AiVo~!y>M#TBZdSykLaye@3cfcXI#e^6%ilR zP|q-vkwLuiO5%iTml+S}Sgcoh`=@;_>jyrU-h1ob{?v0|x^aHL`QG?1k_y!?Z)7!S zZYbb)UnBoFC&tX*mqAj%c+32W`O34GF??PSF}?Kc>9+fy)g9PQc;B{BJn8Mt`he?( zHq+!jmIj%Q87_9t$Gw<NG-rI6cPn+tz6vIW_yd_mRX(d2t~0)lml2!HP{%mSs+s9Y x!<6!y$wKB0Djicz7&bpIXF9<s@+#~rgUD<}CPfRgMZh3p@O1TaS?83{1OP={hz0-v diff --git a/admin/phpqrcode/temp/931.png b/admin/phpqrcode/temp/931.png deleted file mode 100644 index 298f1cfc0b27e6b69927db0394fdbf67388c1212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nz|978f1-(C;oYgQ0ox!`NV;Qr~ATqpAcg*Sa1+e{s19a~~7 zzv9EbfJDK>8OM*hrW8A_ab!9ualkZhlS|~@dsmrR{yHoVWqc=-HZOs1NnRx9K88;r z`M-V&`7rhNHeO?9+53Qf_O1E`t<%5rn({9Ed7s(7{TOSL;f5RPU8+}~yZak3e!6<< z4A+B+2`n5{C7!;imu?F5GzO);(uwzXV)^@^XLrb4{n^3?buCV-WST9%%6(8mW9jZP z`K8v=Seg_C3JvW2o)?LHWGOx%_j%W=jkAQ#F#diSSWs6X&a&O1xz*%;*31y63*5JK lPo7$mwu<u?!(kgOYv27*0ebqLkAXqJ;OXk;vd$@?2>>$8iKPGl diff --git a/admin/phpqrcode/temp/932.png b/admin/phpqrcode/temp/932.png deleted file mode 100644 index fec8b35f46893f1dc00a756666be8feaee8da4f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFY<6gsTH!5WZW#L$1_s%;S81<5GEBU^;EPpWmF zSIRvZZP;~Via^J4*R<YAX4869;}{GV%x9WW{?lw9Lj-$Jn1Augr}_-n52jxfV!p#} z>bxm~QIDx}TSn$Bd4^>R<UJ!_*H)!5`ZT(~yZc3j;a_9f67SrTU3>y;k(W2sd|m#X zp@Ct=*4(f6ww!vD`G%k2w8J}lqg}6kITUy%iS3yBtHOe@#ex6!zgywo-+yN)Ht6yE zC*jSzf$P}CyK>i<8Il_Q>hmS#>3%KnX6k6%_qY437lXOOX+wFnpaxfkh1T}cUoE*3 v1ivVIvMrmn$g1?x`-gl6tQ<!cKjM8p<HAes`eVO=0mR_x>gTe~DWM4fL6eE* diff --git a/admin/phpqrcode/temp/933.png b/admin/phpqrcode/temp/933.png deleted file mode 100644 index 992d5925e5ebc5470357373d500ed954bb402477..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<an978f1-(Gj*Yf<1~y`U!7pj=tncZAW$D(F^|p_Z(<UY&T~ zgW}5z#X1B!&bub{?%}ss-kX!e+`;%aG-3Kbh6Fi}DEENN^BMoKbHA27U_C+Nf$D?| z*ZtFezh^$c`(fIYZSC_|3%IM^gap+}GWa*_)C*l%<8S34qqEK7^_Qqu8(w%b1Wt(F z_gC`z)7MY=4cJo}tDb(J#v;Hr=~~p6>PxpLtg&Qtap2GV9QM=sC-a%c#Mw(8{E27q zX*_&wZpzbb+>9=azYoUD+THZIQaC|K=G`wfIR(BO=ck<6*2bvhu;_fm;r%}*FvT$D odp=1&wTZ{Qq`|Ynp+>8&C|PP9@9s6gKwx0-boFyt=akR{0PZ1*LjV8( diff --git a/admin/phpqrcode/temp/934.png b/admin/phpqrcode/temp/934.png deleted file mode 100644 index c7cf1eee539edbf2f463469068b43ca88dc4876c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmV-m0iXVfP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~0096=L_t(&f$i8$5`!QN1>nqZ0FT7g zIg$r(hMGqL+KxY|8yD{_6zR805z>k<%<D2$OOd1(5uaEHV!-YIc!U}s5ZnhSYpZer z(DE08C%{Tg@C;xy3&H;Yu~Lr_K@{{OY3lVpII{>&!H9#y5L|)w(rYAp(Fww!ZJM>( zNV`tkO&5X~Sns*|X`~m_8*>B^pvkj!?Q3*|If5YQ%~6Z5*RMW`;2MnR9-u|vEMI~E z*tALgG}?a`1UJEG-Tlp%&4?fZs{Jret>y-H`vXA)v@JE+%FX@tCkO*;-M#fB2m{3b y3brkE-;omB0sTnQCrqRN%)f^_!6{&vSLFk&`1jG=0%@!O0000<MNUMnLSTY)@seHu diff --git a/admin/phpqrcode/temp/935.png b/admin/phpqrcode/temp/935.png deleted file mode 100644 index 8bb75fbce3eae17baec23bf1668b4a93e2e7105f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009e0L_t(&f$i795riNN1yE)vfRbq4 zk|@BLEF=NrE~`;59)1pr@VsQugb)yj*F_?Yr9RZ#8v4Wva1H3479Q0L(`^C34<x}$ zO?t?Eq#ocVkev(g6tqzRcmOyANUC=W0A4UkQX2XGQ?mdLfr&_4f~Ns+0_rY}r2l}X zGH1E~Tmvn)nKx+Ky_apn3E%;>IU4y6ZRbknw~_?l18t28fBDow(k33@63`h|a*@Bm z*uDTxFrt_FkV~8vcYs6i-6oNgq~G@d&cMEPm%0>5`*(m#fNY1vwVv#z1-Jq1adMh! z01rs^qo1W3;0(x&mh|2xWqSw$@PJX0+S54tm{bG!00Qx<_y8mcSdQ;JK#>3d002ov JPDHLkV1k8mlH33Q diff --git a/admin/phpqrcode/temp/936.png b/admin/phpqrcode/temp/936.png deleted file mode 100644 index a9de8d1fd3cce60bc8c236bde94590f25d7c4bb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_-T^vI)8sFaV6>3)CVSR9>f}!upRohAIFMPE08z0=5pI{!l zM<?n?zUV|2SBake-HYUI8%`<}&lKiwvV8D=*U2Ic>0Wb=PYjt`Uy3enIwO3Cb%rL( zerCa7mhFs8>-R7JRnn}$y-4NfsoMC>9CnS0eUp~_PMxN}f9v<Ut~1TY7O8qLt-0i3 zaP7msh}WJ5%x!OrH&%bxH(SW3F|7GkUKI0M^@BVa?{~{L{hGOH`78xarJUz$vLlw1 zeqyN<$PE%%^h?-U*HP%pwY@(IPv}iekb6;J@V<Cs24|Y%-l)Ldb+sY~d0xnyX;u8x z;n>H}lDj0MZ^C;ymPmtXD!;!idmbYEgrWIk_(v9pim7wuyQKAj;l$wS>gTe~DWM4f D5~q-9 diff --git a/admin/phpqrcode/temp/937.png b/admin/phpqrcode/temp/937.png deleted file mode 100644 index 659c9f5d36e4308078180e7cd5d79b48ae323a71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg1<do978f1-(GhVYE|H1OGvk3aR2m5ZY8sYbDO}n3fqr+UAyPE zrq*g7YY1{uh!Z~|)tZ$h9;u?`!1H42>75_emH%T(ko&^I-(d2YA-kc5@dxLU-mgEH zbeL*&8eTcqGE}f^pBD1M`#jSR4uN`}-}g#0{lENRYH_&zq&9hXcKBVj27w88CT&|X z@70@N^#e99R>@w_nHtP+I*2i8focR>nO%R@w6qd`(*r6JpLN%#K4w-wpz^`+q*qqG zx~ixG)4Gd$uQM$C)y*fsvc~>d&f$r?9~rU}GTxaPFzPUFk~$U6%h1vIZ%4)K?fX~+ onC?vq^8a;VIs+3!V@0UUiDwU=JAdU~01O5OPgg&ebxsLQ0BKN%EC2ui diff --git a/admin/phpqrcode/temp/938.png b/admin/phpqrcode/temp/938.png deleted file mode 100644 index 30acf28bda132bb84498ad03635e7cfea8ad9029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYRT^vI)8sFYH%iC<g!<yjDbHF2V?nDWOlSlRImn}W9P+ZGa z{??Hibzz}qj^>X$W^6subWtlvSo)xZ#{XR>mQ4Eg#qN_h$0LSR*IhknA@d&S-MGB; z3d{aRGu0j30{-`#{xN(}<_x{3cTT5C`$3YGzi>-q{k>ds(_7-Yjsj177Jr+4ZIhrt z4}<sO#P}s*dwn_G8rGiOa!s;Ng}YpzBS~TT);)fU4!ryuC*b19C$d*;hxr^9#|yWY z)CgQXyizx%N#n)V(CfRB%~d5>UfJbrxpVTjnxjC(YrYA$mz)n0W^sHsp&<9yH`C4s zLJFsx*WX~SvGx~W{p&I5R)L(iuK+X8vBi&AmBOD@w(9Kv0SqJtPgg&ebxsLQ0RO&? A%>V!Z diff --git a/admin/phpqrcode/temp/939.png b/admin/phpqrcode/temp/939.png deleted file mode 100644 index d0a3477dd510965534b550efa6849ca19862c87d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`;TKYf<1~y`Uy@K)JBA{|KXx0GDopTELv%?*HaS zKf+uWDhoE%=((@4Jo)srt5G52o5rft1NN6!>}O11UwXjiZRM2H^-O!%^)@m65MT1L zawTI}gL3G+xBLvj3*3e7TdSpu9T3^_q&<xLk2Zt0K=Oh_^I9zi?gzfc{52DlJ#7#0 zJ(#J{b!z7n`TL2w4A&M+u_}FQ$MN7tA&~PxX<xYf)qv;6%s3A)L@jw?%etX?o$spr zy6hPY+Z?j*&V94&&qn8Ph66lF-#e8xUU>0tVBeB>>8$7j)fN9$cB_db@E6S6d+CB2 rV?=|T=hLO<4=)foz$fq|cqgNy^_g&!W&8YqA;IA3>gTe~DWM4f*j|VC diff --git a/admin/phpqrcode/temp/940.png b/admin/phpqrcode/temp/940.png deleted file mode 100644 index 9fc8638fb623d4d2c10df06967a7809b680b7b4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg5Nz|978f1-(L3>YF6N3O-QqG=s$ARQi#2P?V%$_*&ohbg&*%N z>xwtmRJ&r?_A{n#rRoDMD|K$|gEATOnK^c|vy?S#O53n4`hvp;i5;q(sukRM-o6E# z6Lvk)mX#NXXzW{Zjrm-<*g???9?G`72W36>);{x%7P>8UkVoS*pY4|8uOmAT@EKfs zti;;)<C4`sF&49i*&4;Nr{m7g2bvu_>z2Z$Jg*NNUlu(#x6hB4vHkn8K;441%4b!5 z)2SFO+lB<GFN>?^dY}H^qO_rT$#InnTju{`x$Llx;~ul5=L<HL%M2H<$G`S9U@cSD jl$kQ?0Gq_K;F}C}H{@2GO<!OD3<3sES3j3^P6<r_(v5^@ diff --git a/admin/phpqrcode/temp/941.png b/admin/phpqrcode/temp/941.png deleted file mode 100644 index b405ccbec9be2f39792a3c62eb0c0605983e42be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf}cHI978f1-(Ek++ibwY8sN<{Vd5q$WkZHZ-g7MSxJn<d3bOoD z&meX0r0NX;#S?EQ?MPkPs`=S(*9PVz4%VM%xlCRCknMoYgiY5{HA|N=+;4XE=4JSh zt}yZGw+npc3~7$}o}Oj<E^lUtNzhzc#{5CjW3PFZep8WaB{N5pQQ9f5N-yKvw-eYq znx-?|7T_0PiOO0R@5F9<?Zu=03?CeFUvB%m_3-Ar`UcO0m&s|<g61<nXj*Q#GJNMV z8+XPX50Xm!YwOrK7}w38Y*g^-isck31-4iI4fh*zLYNKsRdUbVdBY&UvRCzMr1Acj gkqmkc6QZ9oF3<FGV!z9F1?YVSPgg&ebxsLQ00>HhhyVZp diff --git a/admin/phpqrcode/temp/942.png b/admin/phpqrcode/temp/942.png deleted file mode 100644 index 7fde3ad12a0a38cfec1ef41c98fbf82b54a645c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYST^vI)8sAQL6lzxBaW#I-Xdx8--9zrc%q=Y{9$QUr^mhL@ z_o~U;H=(9e;YFd>nyAZuXQU^JmN67J#8obB)yyv{uVGN&>sTu~;pwa^l?>k*?r&lE z$5O-jKu=-SfgSb?5=?hJR#}%DY-Xrot$O;}s6is(d8}?-c!>q$3?{K@jv@YaymO*C zeRvXtE_BT+pa0>LPy^?I?`dMqt54T#ka7^Y@bU1x`=+J0+8G2`W_7(hnpJs?Nxebg zLQ+s<>TAYJ;fy|va(8#%Us$Zn`a$|a(WI7?t=<2985|o-WHNoMqInfKJd`IKP`Uf% yQ#8;qO159riWobX!m>DD9?oJgWN4CGDz0msvFrAU)hB_W#Ng@b=d#Wzp$Pz|M}`Oh diff --git a/admin/phpqrcode/temp/943.png b/admin/phpqrcode/temp/943.png deleted file mode 100644 index 16fa74a01fd2cccbd2b42302403896151a36ca67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009U|L_t(&f$i8)4uc>J2H++fz$1Be zkK_SNI%p~26s7LPC4V27gYOA}7Kspu*Tuv+miR<7Z)6=CfDhzfUTkjj(*)oKGOe*Y zu#Cy1#|GdjNImlk@H=?J+x&ANp_^W(dN%+t3TjHqE4QDs0Ion2p;@Y@0dNCsze|}E zn?&oP1sDXHh+<D_vRVP20p>I&`#l|`dYbY|06xIYrk8FxMddmK-~qbTP37g=-iZK4 zK?zOnT&m7Pass#nwM^3gp-egf_&_P$rJE(Wf1R`dgMjPBoUA#!ZvqSgn{UbWyG0A& z1EqA&rRVWo0Nelx`@|8ro&f+Z(59qXD|M1PKp!9wuZj<Xs=;yoVpo&^0000<MNUMn GLSTZ}8<08x diff --git a/admin/phpqrcode/temp/944.png b/admin/phpqrcode/temp/944.png deleted file mode 100644 index 784d8a9d7c015619e6a4d356e9bdd839aeebf4f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w~T978f1-`?=$YgQ0oec)-s;Qr~A+)3sM0W&Ha?6>l5>(;xc zbLGHxr31{a5o`9Zo)F-D!F|dt0nTF#_g+MwzP_&c0DnnD@#iTFuNDZ~Ff#^EeZcOJ z)|B5cjq&%bQh^G`{v{FRmsg)r`oUsmdUMHMy(Vje=q1XNHhHmoJz&`NB9~v+*nE3R zC|j*)lcB&;v+Wc8J2aaV8*Hx}`)0F{bC1KVQ`hZ6|Ejqdummuk-Y@UO>E>XsHnrfm zjGc>6BlniY)iZaVu8ddx(A*L)<EwciP3)k+g%~f}IUMtt_Oh(4*z=p+sepZpPOreb t_QlqX++REn{Z0R!KKB4W&^N2Z?^~HJn!CZ`4=^YgJYD@<);T3K0RZ;`igW+~ diff --git a/admin/phpqrcode/temp/945.png b/admin/phpqrcode/temp/945.png deleted file mode 100644 index 70e7b4303554efc3fdb0d9435bc12ba127baf71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2_-978f1-`+ULdsu;oHNabPf%3*Gw^IyLV+?8(LKhV7eDa~z zL$h{o#E~+kLkTu|aZySA+MMkiX7^a^0_;ltuM2Gdyy~ArfqX<%@~YcMjr>38JM7~O zYZPs2PGF4KGP^EHp5xepttxl^9iHcEz^r@WPP=0Pb551k64jS1aubC2tkk@H@TBU8 z#x1fJIvyR6)Q>e)Env)kS(z2?{i}Qx=evd}57sawP5Y?M#GVn@zbdr3;Nl(5v<1DM zLG#ZQwsFQR=zCXo`ElySt2zE3xHG;d%-dGnE~FU2xcuVe1jYrkR=xUgL8zypHFf8j r01l3r1^J#5cRx-&z$nq<ew4j_*Ll|s{9g-z0m0zu>gTe~DWM4fI)IIB diff --git a/admin/phpqrcode/temp/946.png b/admin/phpqrcode/temp/946.png deleted file mode 100644 index 952546366fe27a264465493c1b02b754410a0386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#Nv6T^vI)8sFY<6lzxBVGT&PU~qqR)l!JPK&^Fxz{*E0y9z&U z-q5vvw#lR$xy}l4;uBSZEVZZqUdC;GKx%@&SIr6qUUP;&4VR;)F?06Lscfis+`@c7 zIUxA2VgtK_*VV4F9gGiHuT9#LvD}vX0iTT0l&dvStRI-G?`<t&j=acZ(HNF_)4B4& zn)JwRAq}npVJXU@vr@mXL@;j6NVS}BG~y})--T$QtwC>BUR%#>(a385^VbD_SMCRl zW@@r-<u`>GrX84ZyUvs0b;F4`rKxfIb~68PkiOfTxAJ)iQ29U6JGcIP&1Wp&wn$N4 w%lVA&KJx+Yx~NHg^DaN*GhpO6vicGC`U_Fd?iq6V1A~ac)78&qol`;+03Mx)kN^Mx diff --git a/admin/phpqrcode/temp/947.png b/admin/phpqrcode/temp/947.png deleted file mode 100644 index db74a7d2f0be34a63494cdbf8331a76190fb4f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2_-978f1-`?=$YgQ0oO%UQcFmcB&_eTtBi_h>kt(~?}TKs+P znjdR944j=ECR|sYn8rD=;s{$9gZzc(d_Qh$?eF7f_<W#Exijk37k!5F2j|5w{A0J7 z6xQ&(Ve#$#E%MKq52$9SYQC(Azoyd=U68W;xgvx7gr!==)^BPU_*dx9e5Iq#JeU0g zbLQR6Z~uN=!a9SY=Ig}i7Hh&8>@Q5p>%LZ{%AlU%StdN`ZTz|WjPD$;t9{*kXX`tL z$qw_KU(4-o<4lmd@H6S2>^cVih7ymk=|#8yG2|6oDOK7#mw5-n@qb*;E>FpN{qwH^ t>kgK+DyH+jb067vTOZJMm=K=IJhP?6HTm?ea$rC(c)I$ztaD0e0s!Xhj_Uvb diff --git a/admin/phpqrcode/temp/948.png b/admin/phpqrcode/temp/948.png deleted file mode 100644 index 5aa58cb218a8c30dab2515db7f1854624cbde2d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg6}<D978f1-`+UOdsu;oHDL+QgozQh%7zS+n2#j{)Tb=BTym+p z-E86glbt!M6%|fA-Zc4%M)*^+_PPm-H4gi@CBjehGn5@jeHtXZR3V)GK&n9=V;;jq zhB}5h%eODEXRw-76g)p&?11@#oAG`Oa~hsa+!8q3yLcs|&I0pGmz+Jfotxpt&rrZ% zcXP?9uMt%aOdlF&-SEC^|LIp4bA*Gm=N>iBy}z$<K46~p@mJWbQ~VDYcBx$rDsIeH zX8q8dns`0vwJ?JLvs8AFb(Q^J#y1PJ8>Ab0RFoRD8;sx2+LE(`!EJ%E=YQ5XFWv-Z cj!!G*T(^$vXuT;E3-mgJr>mdKI;Vst0C(PjEdT%j diff --git a/admin/phpqrcode/temp/949.png b/admin/phpqrcode/temp/949.png deleted file mode 100644 index ef697038b1cc2b53148cba46e4fafed3e7ced662..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf^R%s978f1-`+ULd)R=3H9&=b!o*!wZl4&Yt;juKu~vw6d%KJs z`*qd#EkO>dP6~43(%EmK74Kyq6Jk|h`?8rSttwUMDL=!z=D0A{ve#4DBbbBo8|)iG z^k*_$bL2li=R13YcY%y&(9iCftOaZ~R%ho&HZVNMR7ri!SiF)kukni8uCt|;Y3vRX z9*vX#zSz#Rf#u6-iO-K2IGA29e0%MWgdc;Vfz!1!WggxP9gOjlGrlx@<6~|)xMxH3 z?>Fo98C@7(&suUh<KJ<P1kMe*J`DCvVX5EpxCGd2Z615uIB?YTs>pt35n$#xviK1% YtKw8A`)9&!Kz}oMy85}Sb4q9e0J>*++yDRo diff --git a/admin/phpqrcode/temp/950.png b/admin/phpqrcode/temp/950.png deleted file mode 100644 index 3d7322fa70dec4f0e369802553271b5d8288b220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFYH$a`3Uhc&>PXTroyRc=WPDqP2oEm$>mZcNb+ zyCrKY)y<z?7FZate)VFnSoV0X%*6~x8uq-3+8uM7sX^XjckiroJ}J)ZJJ>Z$7l=II zT#)*Lp`79Ri=NqK(F`A$x|bN0UzVTA`hh><V^05ivj+JW{rmhamw(gr=2u{<TJpK! z{H^;N&+n3EaA`=pAhUsQE<=*Tw*c$xzRj1mU1qXi@SJsePxj2m>>SLqoTr=G9$|KA zkewWL+l;BfVupM9qZohN=|Qpk7#Yl0h`EI4>;7+H$YZRGVEG_%M&Z!`_73KCf-Xxq v_s{iUj7jKSQno)!@8$}|8iv-Y&{_sxmpMy1zRs5f1`va%tDnm{r-UW|S22dv diff --git a/admin/phpqrcode/temp/951.png b/admin/phpqrcode/temp/951.png deleted file mode 100644 index 3ee5c3e9800f72891663533cbf901a09f490bcbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sFaV=4(;lVM`F=J1}v_F84<aYI7IrvZgHxy1V1Y z?#3zSeV;B>R1jF-?IIO@ddm^M2h6vO6tr%=W@dQZa9Zo-nFZ78nRoCjW%56eeBi@W z!C-ML$e)>E^?|-6OTOCKY-aFt>`w``<7m)UaIfNz{>cy*P=0R0Yn`(p)sM;<#69N7 ziQAe#Vw8DMEs#0Y+j_cLwa@{^9amJn=H50vndi&!dO`cr)SuJu7d8|d#7<68=KZ{z zA%f-Br&I5%4}4)`5M#W#-2Zo^NaigM#u|l>HCH`PyRz@#%=z_6zwf^%cLA%3?5*hm w`%f}gG{}0EU0<_(S>h$8HH<8eLO(Kg&r{M{cjfaJU;r_Ay85}Sb4q9e0BK{27XSbN diff --git a/admin/phpqrcode/temp/952.png b/admin/phpqrcode/temp/952.png deleted file mode 100644 index 660c28c1904d53a96ca7960853d2946ed3d87a9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf<HZ7978f1-`;Q(YF6N34M?+SaR2m5<|MO$u%Zg%?Nv+iV*c!R z&|W{AN63_gr7~7*(h}A7q6dwW8EYK+SOr>3SEsjgHdJ2Vig8@MeJ<l4cBdtAB@OBe zQkJd`V!p$mTX5~60iyvopRT5^xh?ktkuO(nU7J=S)nKi#eSfL)ttV0q+%B(J^@;-> zHvMNl!?=2_$#<(4ZVV5YcA5QLdH34u4VRhDGzLZQe0h87`XJ^rOx*kZ!cLqn|9kNc z<2r|WpG(shY+KK?qtSNP?HB{D2h1ilk1oX7o0Kz{pZF#GKygFw0#VrmycWMUb|`;k mD`3>#u<AU}6h@ZH(6ZF|Dh~n_qfLQ<z~JfX=d#Wzp$PyG0ENl` diff --git a/admin/phpqrcode/temp/953.png b/admin/phpqrcode/temp/953.png deleted file mode 100644 index a995938bba2c6475160eca52556cb9e211555a6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmV-u0hj)XP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~009U|L_t(&f$iAI5yK!11yIeT07{~D zN^$|7A!q@-1q<im!`Hzf_??76Bt!_r>mp=}6jsW4A*vHAz#Op8ocI~bw2s;f06&nl z%CtR#Wgg%e2v({9{{sFNm+@Kv41t8!s~n_h_X5BRb}dQ!(x7Jn`~;i$Tu%eILEZ26 z5Za3tzzaCRWz&~4R7T|;j}9vU-~!s0+RnGW1TYJ%Xf459s*%;HssV0*Y<f{t>vf-M z04M0tukM=uQ*#0sf__cn>D=m-^9?Ws+SR?Crb+?kL2f_C?KG$q;2GcxQ=)!XI;9%G z31n1notJ9?a04VZjVQ`#S_8lfwk=8jR6nE|zy}bBSH%|~dQ;wp-`N=e0000<MNUMn GLSTZUM3H9z diff --git a/admin/phpqrcode/temp/954.png b/admin/phpqrcode/temp/954.png deleted file mode 100644 index dac8be82419cfe4665b0deff4b212fef229f80c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhf`2?+978f1-`?;RYF6N3dvK<Jq3_96OCk0GH7}0!*EV|I-SOkU zYxj@R$)}t<1fG<3uJL@D^>}X7alQx4zjPZcv$O9oY+%;RX8pQ&ianzZ<CfHh=L)Z6 z7(SR!nDd<}d*yU#hOi6MmuP(57rB`s@8Ahf``rvR3-n$_-8Sg0VbJ&38)-HtH})3e z9f$V)Hd_|PU6f(q&bXYOZ5W?(m$9dzShL{W-N)_>Wd=c2$3Co=JHV&6%`@|_K0{B! zy<OXt`!@J3VQ@R}D=99nX~_$wX+IecFyH!cJxu-|L*9YYg2%r*bARCWIL5flXI*I_ r(}#wADuQ2mC(B7QRxmW}(PA$>J~gpUVu>Cw92h)Z{an^LB{Ts5mY<CF diff --git a/admin/phpqrcode/temp/955.png b/admin/phpqrcode/temp/955.png deleted file mode 100644 index fb18c63f5704525e295701cc14d7cc7b2326272e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#LYRT^vI)8sA<&$a`3Uhc&=kwqas~t+Jtm%5n)AXTd9;`YXTG zF7W+T^;4jrBVfhx&<9b`H#(D)E=gM-Fb%M;e9iWo@c_TdwW?@`3r`sH8WWfg_$w?w zlW8l?;2khM%iJc9`xo;CInUIHIgt#-7p`=tUOdPBfP2I9*nON^UAZ5yFHNet-&g7V zl%;@w3wxkn<gf2*f9f}|KM9qZY5H_e?Wxpi6~>ANm$Sc~xL+$jRj0=g({S!W>cwku znK$Gat{u3gvgtzhJ%;HAZtiOTws3nJ=K+452kR20?wK>rQHYP6EpmJX;~WQOF@yQs z4VDwM_AV>+O=qlVl=ZAySMS36fLY_p;#UlAHs7s7v~$FPfyChH>gTe~DWM4fpx=ws diff --git a/admin/phpqrcode/temp/956.png b/admin/phpqrcode/temp/956.png deleted file mode 100644 index d03abe76bcde5d0d6ad423ec93fdb9804a017daf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igbgP)<h;3K|Lk000e1NJLTq008;`008;{0{{R3vLeWS00006P)t-s|Ns90 z0033O(|!N|010qNS#tmY4#WTe4#WYKD-Ig~0093<L_t(&f$i794TCTY1yD;2kdd-F zBV_=jP=4Y#RJ66*3zfbPZ36FP40c2qjN3)3J=U~|<hqGo*a%{v|JPNPs;l`1fgd2P z0DYA-^8{Z3tcno)4DRqW{~RD@aJoU@1=@j7w5@Vm5X8U~%T%hDLGS_C`;HWYTG0|j zz?hIws<}M2xd=fBq$9WZ2I!U6;VVH92-4brS~tq5+)=ayK44>}==mq>mLLKww0yC- zYEA@ifsIKRIE!|p`9n(J0%LS<9bQvi3F4sI!F<)J^VP|nzyUPh&tnon6yT-Dm!QnY xAp$=@Ox^rYV?*Eu){?ZP=X0tFe1O5YRqWE2_p>#``o91G002ovPDHLkV1glxmURFC diff --git a/admin/phpqrcode/temp/957.png b/admin/phpqrcode/temp/957.png deleted file mode 100644 index 95eb686e568ba880778b330fbfe87c43d0db6aad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUrhg8w{S978f1-`?=$YgQ0oO%UQcFmaES`zHpq;OFcTK5KgJmVCT- zDC_60nMys&S`_N1J54(ketTZf??((BjK6Ih)mTfV7$Vq%!kCMWJzdZ6-f=g}55Xyg z3>EAu`>tGOIH2_+I!OQP-Fd7ZM0@6hh+VqPV8f`C+sBtTdDHICj7<-EN<1Q$ulgyg zz*e!UuPWT`ZpW6dEFBG3$`>D5I?Z$SejA2E2U53h%;aT=V43#l{h!yr7(Q^s%s#>% z7xX-cc}>%4?Y=uxezP-(G42ePVcrqMe8gd6dXcR3ZhHrb0PU@MEDVVX6Ib5ydMmHP t80L6?(vpWNtG{2l&Af(z<>%@e29t!hjqG+6i-94*;OXk;vd$@?2>_t#iz5I4 diff --git a/admin/phpqrcode/temp/958.png b/admin/phpqrcode/temp/958.png deleted file mode 100644 index 9ec179f141e8a44788effaed00fcd49fe93d7f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#P_+T^vI)8sE<F<vXIl(dt>n&~Fm{eqvRFT8R9Q={+mU%;rAX z+p79wtpKC8Q{ejGfa`L8o$@*tJQH|7tbey@rghX?w#G_@-R4vI*F2c0{(+}K+EM+3 z^oO>~e~KA4z3$K2RW8kv*0@f!GG6Mt4wLhOi_7GmPUN`5@N-{vN8`06ss`LkK2@st z2W<-B*I&sJ#&GBRIa%F}tp~IMepT_5c9|P(fBTO`t>M<CW`B<bvnF{Z2x*+E4v@9r z^kFLXIdu5XiE37$8B;FGhE)b@HI_P@J{<Ea%i)1!0`ue>Yp$s3HkvM2qQ7iee!AlW zHiPYdA8ly#tevF3foY5GO0~BOb_z={i+t6JeY@01&UtFzHefI@c)I$ztaD0e0sz|6 Bjv)X5 diff --git a/admin/phpqrcode/temp/959.png b/admin/phpqrcode/temp/959.png deleted file mode 100644 index c1b5e67efb72fae48b9276f5fc8f809aa199eddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBnT^vI)8sFXs<ZCwIU`v=JcR;!FtK3OuokWqW?(8&$cZvM= z{CR8d3tw|mbyE1JXZ9{I^+3&*?xWla?7!AGD0#JcJ?Cw(xUfZPL%r@_(FdFhWFN3Q zq?<LcI~<Oy^8Wgi%|WDR(w46^^=l&;wkNa&-0D9c*}yX6?8Jsg_i7qMGF1O+l)c|0 zu+x=WfO)ZsY3gO`-%q&(Sd$aHw|<D4#L%>${Oz=?k0oO24Lmapt9);VUw_0>z#TLD z$X{#s*m<lDEI+Q@?Fzoltmn_5z%k?e;{LacRW9F`t2D^$5L>?W7jw#iJHFbCOB&nq v`%GT0D`n?s44jnn#@~rSvccg`=pIH%MZp#E%lp;<Lx{oC)z4*}Q$iB}w6lng diff --git a/admin/phpqrcode/temp/960.png b/admin/phpqrcode/temp/960.png deleted file mode 100644 index cee8715c24767708af3b458f3a5d328491a4728b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^zd)Fg8AxtYI#CCt*aCb)T>t<74`hZOx(pKGEbxdd zW?<ku0>X?_wfUqO7#JBmT^vI)8sA<&&3jmZhb_UI=YYqWa~_fmCsmI<yQn4Tr*HYk zZVSu4$*+&KaWq!Mx?DT4QDABF2{Wz+{uk!ylQv%pd(4m^-;?{y_^M^pGe)__xGfCz zO>sLJ{2N_tx!1VvmSK3)v{Q9!|Ll3J1-#2R{%mG_!1VaPp7zp>3_lud=iKcGnp!Hl z!<MPSA>U<M$?FfS2iUWet<Gmn^Om;Iz0dN1X;SpI$dyMII@>g`_hf{wni;=JDuKPn zuv6vW>1xpf%)egPnSNioig6p`>!WvmS=|)i|G+chp632zDh%cuLQY#hc(<Kl2b0j{ wZWBX)aqos$gY7D>-Mm*Zeq&(zxatQ(!LnmBbs`E|fC0qd>FVdQ&MBb@0O9J2(f|Me diff --git a/admin/phpqrcode/tools/merge.bat b/admin/phpqrcode/tools/merge.bat deleted file mode 100644 index b60a485..0000000 --- a/admin/phpqrcode/tools/merge.bat +++ /dev/null @@ -1,2 +0,0 @@ -php ./merge.php -pause \ No newline at end of file diff --git a/admin/phpqrcode/tools/merge.php b/admin/phpqrcode/tools/merge.php deleted file mode 100644 index 19d338b..0000000 --- a/admin/phpqrcode/tools/merge.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php - -/* - * PHP QR Code encoder - * - * Tool for merging all library files into one, simpler to incorporate. - * - * MAKE SURE THAT RESULTING PHPQRCode.php (and its dir) ARE WRITABLE! - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR; - $QR_TOOLSDIR = dirname(__FILE__).DIRECTORY_SEPARATOR; - - $outputFile = $QR_BASEDIR.'phpqrcode.php'; - - // Required libs - - $fileList = array( - $QR_BASEDIR.'qrconst.php', - $QR_TOOLSDIR.'merged_config.php', - $QR_BASEDIR.'qrtools.php', - $QR_BASEDIR.'qrspec.php', - $QR_BASEDIR.'qrimage.php', - $QR_BASEDIR.'qrinput.php', - $QR_BASEDIR.'qrbitstream.php', - $QR_BASEDIR.'qrsplit.php', - $QR_BASEDIR.'qrrscode.php', - $QR_BASEDIR.'qrmask.php', - $QR_BASEDIR.'qrencode.php' - ); - - $headerFile = $QR_TOOLSDIR.'merged_header.php'; - $versionFile = $QR_BASEDIR.'VERSION'; - - $outputCode = ''; - - foreach($fileList as $fileName) { - $outputCode .= "\n\n".'//---- '.basename($fileName).' -----------------------------'."\n\n"; - $anotherCode = file_get_contents($fileName); - $anotherCode = preg_replace ('/^<\?php/', '', $anotherCode); - $anotherCode = preg_replace ('/\?>\*$/', '', $anotherCode); - $outputCode .= "\n\n".$anotherCode."\n\n"; - } - - $versionDataEx = explode("\n", file_get_contents($versionFile)); - - $outputContents = file_get_contents($headerFile); - $outputContents .= "\n\n/*\n * Version: ".trim($versionDataEx[0])."\n * Build: ".trim($versionDataEx[1])."\n */\n\n"; - $outputContents .= $outputCode; - - file_put_contents($outputFile, $outputContents); - - \ No newline at end of file diff --git a/admin/phpqrcode/tools/merge.sh b/admin/phpqrcode/tools/merge.sh deleted file mode 100644 index e4c2fbc..0000000 --- a/admin/phpqrcode/tools/merge.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -php ./merge.php \ No newline at end of file diff --git a/admin/phpqrcode/tools/merged_config.php b/admin/phpqrcode/tools/merged_config.php deleted file mode 100644 index 55ddb45..0000000 --- a/admin/phpqrcode/tools/merged_config.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/* - * PHP QR Code encoder - * - * Config file, tuned-up for merged verion - */ - - define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there - define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true - define('QR_LOG_DIR', false); // default error logs dir - - define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code - define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly - define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false - - define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images - \ No newline at end of file diff --git a/admin/phpqrcode/tools/merged_header.php b/admin/phpqrcode/tools/merged_header.php deleted file mode 100644 index 25805e5..0000000 --- a/admin/phpqrcode/tools/merged_header.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -/* - * PHP QR Code encoder - * - * This file contains MERGED version of PHP QR Code library. - * It was auto-generated from full version for your convenience. - * - * This merged version was configured to not requre any external files, - * with disabled cache, error loging and weker but faster mask matching. - * If you need tune it up please use non-merged version. - * - * For full version, documentation, examples of use please visit: - * - * http://phpqrcode.sourceforge.net/ - * https://sourceforge.net/projects/phpqrcode/ - * - * PHP QR Code is distributed under LGPL 3 - * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - \ No newline at end of file diff --git a/admin/qr_code.php b/admin/qr_code.php deleted file mode 100644 index 9ebeacf..0000000 --- a/admin/qr_code.php +++ /dev/null @@ -1,317 +0,0 @@ -<?php -if (!isset($_SESSION)) { - session_start(); -} -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -#require_once("../func_get_restplatz.php"); -#require_once("../func_get_parameter.php"); -require_once("../func_get_sitzplatz.php"); -require_once("../func_get_lfd_haushalt.php"); -require_once("../config/func_cryption.php"); - - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - if (isset($_GET['edit'])) { - $_SESSION["qrcode_status"] = 'edit'; - $id = $_GET['edit']; - $_SESSION["qr_id"] = $id; - } else { - $_SESSION["qrcode_status"] = 'neu'; - } - - # -- Fehlermeldungen -- # - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('qrcode_error', 1); - - $smarty->assign('qrcode_value_vorname', $_SESSION["qrcode_value_vorname"]); - $smarty->assign('qrcode_value_nachname', $_SESSION["qrcode_value_nachname"]); - $smarty->assign('qrcode_value_qrcode', $_SESSION["qrcode_value_qrcode"]); - $smarty->assign('qrcode_value_mail', $_SESSION["qrcode_value_mail"]); - - if ($errorno == 3) { - # ungültiges Datum - $smarty->assign('qrcode_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); - } - } - - # --- Wenn Werte editiert werden ------------ - if ($_SESSION["qrcode_status"] == 'edit') { - - $result_edit = $db->query("SELECT id, nachname, vorname, qr, mail - FROM jumi_qr_fellbach - WHERE id = $id"); - $row_edit = $result_edit->fetch_array(); - $smarty->assign('qrcode_value_vorname', "$row_edit[vorname]"); - $smarty->assign('qrcode_value_nachname', "$row_edit[nachname]"); - $smarty->assign('qrcode_value_qrcode', "$row_edit[qr]"); - $smarty->assign('qrcode_value_mail', "$row_edit[mail]"); - - } - # --- Wenn Werte editiert werden Ende ------- - - if ($_GET['editende'] == 1) { - # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - $_SESSION["qrcode_status"] = 'neu'; - } - - - # Gespeicherte Werte - $query1 = "SELECT id, nachname,vorname, qr, mail - FROM jumi_qr_fellbach - ORDER BY nachname ASC, vorname ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1a"); - - while ($row1 = $result1->fetch_array()) { - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'save') { - - $vorname = $_POST['vorname']; - $nachname = $_POST['nachname']; - $qr = $_POST['qrcode']; - $mail = trim($_POST['mail']); - - - $_SESSION["qrcode_value_vorname"] = $vorname; - $_SESSION["qrcode_value_nachname"] = $nachname; - $_SESSION["qrcode_value_qrcode"] = $qr; - $_SESSION["qrcode_value_mail"] = $mail; - - - #$datum = date("Y-m-d H:i:s"); - if ($_SESSION["qrcode_status"] == 'neu') { - $sql1 = $db->query("INSERT INTO jumi_qr_fellbach ( nachname - , vorname - , qr - , mail - ) - VALUES - ( '$nachname' - , '$vorname' - , '$qr' - , '$mail' - ) - "); - $termin = $db->insert_id; - -/* Daueranmelder wird es nicht geben. - - $query1 = "SELECT DISTINCT lfd_haushalt FROM jumi_daueranmeldung"; - $result1 = $db->query($query1) or die("Cannot execute query1"); - while ($row1 = $result1->fetch_array()) { - $lfd_haushalt = get_lfd_haushalt($termin); - $datum = date("Y-m-d H:i:s"); - - $query2 = "SELECT mail - FROM jumi_daueranmeldung - WHERE lfd_haushalt = $row1[lfd_haushalt] - GROUP BY lfd_haushalt, mail - "; - $result2 = $db->query($query2) or die("Cannot execute query2"); - while ($row2 = $result2->fetch_array()) { - - $query3 = "SELECT vorname, nachname - FROM jumi_daueranmeldung - WHERE mail= '$row2[mail]' - AND lfd_haushalt = $row1[lfd_haushalt] - "; - #echo $query3; - $result3 = $db->query($query3) or die("Cannot execute query3"); - $nr = 0; - while ($row3 = $result3->fetch_array()) { - $data['vorname'][$nr] = $row3['vorname']; - $data['nachname'][$nr] = $row3['nachname']; - $data['sitzplatz'][$nr] = get_sitzplatz($data['nachname'][$nr], $data['vorname'][$nr]); - $data['split'][$nr] = explode("|", $data['sitzplatz'][$nr]); - $data['reihe'][$nr] = $data['split'][$nr][0]; - $data['platz'][$nr] = $data['split'][$nr][1]; - $sql1 = $db->query("insert into jumi_buchung (id, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '" . $data['nachname'][$nr] . "', '" . $data['vorname'][$nr] . "', '" . $data['reihe'][$nr] . "', '" . $data['platz'][$nr] . "', '$row2[mail]', '$lfd_haushalt', '$datum')"); - #echo "<pre>"; - #echo "<hr>"; - #echo "insert into jumi_buchung (id, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '".$data['nachname'][$nr]."', '".$data['vorname'][$nr]."', '".$data['reihe'][$nr]."', '".$data[platz][$nr]."', '$row2[mail]', '$lfd_haushalt', '$datum')<br>"; - $data['bid'][$nr] = $db->insert_id; - $data['crypt'][$nr] = cryption($data['bid'][$nr] . "|" . $data['nachname'][$nr] . "|$termin", 'e'); - $nr++; - } - - #print_r($data); - #echo "<hr>"; - #echo "</pre>"; - - - - - - - - - - - - $query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, url - FROM jumi_qr_fellbach - WHERE id = $termin - LIMIT 1 - "); - $row_termin = $query_termin->fetch_array(); - - - - $empfaenger = "$row2[mail]"; - $betreff = "Registrierung zum Gottesdienst am $row_termin[beginn] Uhr"; - $text = " - <html> - <head> - <title>Registrierung zum Gottesdienst</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - Sie haben sich zum Gottesdienst in der neuapostolischen Kirche Weinstadt-Beutelsbach registriert.<br> - Nachfolgend finden Sie die hinterlegten Daten: - <br> - <br> - <table> - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Datum:</b> - </font> - </td> - <td valign='top' colspan='2'> - <font face='Arial' size='2'> - $row_termin[beginn]"; - if ($row_termin['url'] != '') { - $text .= " ($row_termin[url])"; - } - $text .= " - </font> - </td> - </tr> - <tr> - <td valign='top' width='100'> - - </td> - <td valign='top'> - - </td> - <td valign='top'> - - </td> - </tr> - "; - $person = 1; - $vorname = ""; - $nachname = ""; - $crypt = ""; - for ($i = 0; $i < count($data['nachname']); $i++) { - $vorname = $data['vorname'][$i]; - $nachname = $data['nachname'][$i]; - $crypt = $data['crypt'][$i]; - $text .= " - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person $person:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname, $vorname - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt'>Abmeldung</a> - </td> - </tr>"; - $person++; - } - - $text .= " - </table> - <br> - Sie wurden aufgrund Ihrer Dauerbuchung zu den Gottesdiensten benachrichtigt. - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - - - $text = stripslashes($text); - $headers = "MIME-Version: 1.0\n"; - $headers .= "Content-type: text/html; charset=utf-8\n"; - $headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n"; - - $return = @mail($empfaenger, $betreff, $text, $headers); - - - #echo " - #<hr> - #$empfaenger<br> - #$betreff<br> - #$text<br> - #<hr>"; - - - } - } - */ - } - if ($_SESSION["qrcode_status"] == 'edit') { - $id = $_SESSION["qr_id"]; - - $result = $db->query("UPDATE jumi_qr_fellbach - SET nachname = '$nachname' - , vorname = '$vorname' - , qr = '$qr' - , mail = '$mail' - WHERE id = $id - "); - - unset($_SESSION['qr_id']); - - - } - # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; - - -} -if ($action == 'del') { - $id = $_GET['id']; - - $del1 = $db->query("DELETE FROM jumi_qr_fellbach WHERE id = $id"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/qr_frame.php b/admin/qr_frame.php deleted file mode 100644 index cdef2f1..0000000 --- a/admin/qr_frame.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -$smarty->display("$template/admin/$templatename"); ?> \ No newline at end of file diff --git a/admin/result_latest.php b/admin/result_latest.php deleted file mode 100644 index 53ca410..0000000 --- a/admin/result_latest.php +++ /dev/null @@ -1,149 +0,0 @@ -<?php -## INDEX gegen DB -if (!isset($_SESSION)) { - session_start(); -} -#$_SESSION['sessionid'] = session_id(); - - -include_once '../classes/TestProjektSmarty.class_subdir.php'; -#require_once("../config.inc.php"); -require_once("../config/datenbankanbindung.php"); -$smarty = new SmartyAdmin(); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -require_once "../language/german.inc.php"; - - -$action = $_GET['action']; - -if ($action == '') { - $db = dbconnect(); - - $query_umid = $db->query("SELECT max(umid) umid - FROM jumi_umfragen - WHERE datum_von < now() - "); - $row_umid = $query_umid->fetch_array(); - - $query_umid_detail = $db->query("SELECT headline, date_format(datum_von, '%d.%m.%Y - %H:%i') datum_von, date_format(datum_bis, '%d.%m.%Y - %H:%i') datum_bis, freitext - FROM jumi_umfragen - WHERE umid=$row_umid[umid] - "); - $row_umid_detail = $query_umid_detail->fetch_array(); - $smarty->assign('result_headline', "$row_umid_detail[headline]"); - $smarty->assign('result_datum_von', "$row_umid_detail[datum_von]"); - $smarty->assign('result_datum_bis', "$row_umid_detail[datum_bis]"); - - # Anzahl abgeschlossene Umfragen - $query_fertige = $db->query("SELECT count(*) Anz_abgeschlossen - FROM jumi_umfragen_ende - WHERE umid =$row_umid[umid] - "); - $row_fertige = $query_fertige->fetch_array(); - $smarty->assign('result_anz_fertige', "$row_fertige[Anz_abgeschlossen]"); - - # Anzahl angefangener Teilnehmer - $query_angefangen = $db->query("SELECT count(distinct concat(ip,session))-$row_fertige[Anz_abgeschlossen] Anz_angefangen - FROM jumi_umfragen_ergebnisse - WHERE ufid in (select ufid from jumi_umfragen_fragen where umid =$row_umid[umid]) - "); - $row_angefangen = $query_angefangen->fetch_array(); - $smarty->assign('result_anz_angefangen', "$row_angefangen[Anz_angefangen]"); - - - - - - $query = "SELECT ufid, frage, multiple - FROM jumi_umfragen_fragen - WHERE umid = $row_umid[umid]"; - $result = $db->query($query); - - - // Ergebnisse lesen und an den Client ausgeben - while ($row = $result->fetch_array()) { - $value2 = ''; - unset($inner1); - - # Wie viele User haben Frage 1 beantwortet - $result_anz_userfrage = $db->query("SELECT count(distinct concat(ip,session)) Anz - FROM jumi_umfragen_ergebnisse - WHERE ufid = $row[ufid] - "); - $row_anz_userfrage = $result_anz_userfrage->fetch_array(); - - # Wie viele Antworten gibt es zur Frage: Das sind 100% - $result_anz_antworten = $db->query("SELECT count(ufid) Anz - FROM jumi_umfragen_ergebnisse - WHERE ufid = $row[ufid] - "); - $row_anz_antworten = $result_anz_antworten->fetch_array(); - - - $query2 = "SELECT uaid, antwort - FROM jumi_umfragen_antworten - WHERE ufid=$row[ufid] - ORDER BY userorder ASC, uaid ASC - "; - - - $result2 = $db->query($query2) or die("Cannot execute query2"); - $ln2 = 0; - - while ($row2 = $result2->fetch_array()) { - - # Wie viele haben Antwort auf aktuelle Frage gegeben - $result_cur_antw = $db->query("SELECT count(*) Anz - FROM jumi_umfragen_ergebnisse - WHERE uaid = $row2[uaid]"); - $row_cur_antw = $result_cur_antw->fetch_array(); - - if($row_anz_antworten['Anz'] != '0'){ - $prozent = round(100/$row_anz_antworten['Anz']*$row_cur_antw['Anz'],0); - }else{ - $prozent = 0; - } - - $inner1[$ln2]['prozent'] = $prozent; - $inner1[$ln2]['uaid'] = $row2['uaid']; - $inner1[$ln2]['antwort'] = $row2['antwort']; - $value2 = $inner1; - $ln2++; - } - if($row_anz_userfrage['Anz'] != 0){ - $anz_userfrage = $row_anz_userfrage['Anz']; - }else{ - $anz_userfrage = 0; - } - $row['inner'] = $value2; - $row['anz_userfrage'] = $anz_userfrage; - $row['anz_antworten_frage'] = $row_anz_antworten['Anz']; - $table_data[] = $row; - } - $smarty->assign('table_data', $table_data); - -# echo"<pre>"; -# print_r($table_data); -# echo"</pre>"; - - - $query3 = "SELECT freitext - FROM jumi_umfragen_erg_freitext - WHERE umid = $row_umid[umid] - ORDER BY uefid desc"; - $result3 = $db->query($query3); - - - // Ergebnisse lesen und an den Client ausgeben - while ($row3 = $result3->fetch_array()) { - $table_data3[] = $row3; - } - $smarty->assign('table_data3', $table_data3); - - -} - - -$smarty->assign('action', "$action"); -$smarty->display("modern/admin/$templatename"); -?> diff --git a/admin/save_platz.php b/admin/save_platz.php deleted file mode 100644 index e727d87..0000000 --- a/admin/save_platz.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } - - require_once("../config/datenbankanbindung.php"); - - - $reiheplatz = $_POST['get_reiheplatz']; - $lfdtid = $_POST['get_lfdtid']; - - $ka_id = $_SESSION["username"];; - - $db = dbconnect(); - - $split1 = explode("|", $reiheplatz); - $reihe = $split1[0]; - $platz = $split1[1]; - - $split2 = explode("|", $lfdtid); - $lfd_haushalt = $split2[0]; - $termin = $split2[1]; - - -$sql1 = $db->query("UPDATE jumi_buchung - SET reihe = '$reihe' - ,platz = '$platz' - WHERE tid = $termin - AND lfd_haushalt = '$lfd_haushalt' - AND reihe = '' - "); -echo "$reihe$platz"; - exit; - -?> - diff --git a/admin/sitz_koord.php b/admin/sitz_koord.php deleted file mode 100644 index 20c91a2..0000000 --- a/admin/sitz_koord.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { -if (isset($_GET['reihe'])) { - $reihe = $_GET['reihe']; -} else { - $reihe = ''; -} -if (isset($_GET['platz'])) { - $platz = $_GET['platz']; -} else { - $platz = ''; -} -if (isset($_GET['tid'])) { - $tid = $_GET['tid']; -} else { - $tid = ''; -} - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT bid, vorname, nachname - FROM jumi_buchung - WHERE reihe = '$reihe' - AND platz = '$platz' - AND tid = $tid - ORDER BY nachname, vorname ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row_tn = $result1->fetch_array()) { - - $query_fav = $db->query("SELECT count(*) Anz - FROM jumi_standardsitzplatz - WHERE nachname = '$row_tn[nachname]' - AND vorname = '$row_tn[vorname]' - AND reihe = '$reihe' - AND platz = '$platz' - "); - $row_fav = $query_fav->fetch_array(); - if($row_fav['Anz'] > 0){ - # Favorit vorhanden, kann gel�scht werden - $favorit = 0; - }else{ - # Favorit NICHT vorhanden, kann gesetzt werden - $favorit = 1; - } - - $row_tn['favorit'] = $favorit; - $table_data1[] = $row_tn; - } - $smarty->assign('table_data1', $table_data1); - $smarty->assign('koord_reihe', $reihe); - $smarty->assign('koord_platz', $platz); - $smarty->assign('koord_tid', $tid); - -} - -if ($action == 'del') { - $bid = $_GET['bid']; - $reihe = $_GET['reihe']; - $platz = $_GET['platz']; - $tid = $_GET['tid']; - - $del1 = $db->query("UPDATE jumi_buchung SET reihe='', platz='' WHERE bid = $bid"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?reihe=$reihe&platz=$platz&tid=$tid\">"; -} - -if ($action == 'fav') { - $status = $_GET['status']; - $vorname = $_GET['vorname']; - $nachname = $_GET['nachname']; - $tid = $_GET['tid']; - if (isset($_GET['reihe'])) { - $reihe = $_GET['reihe']; - } else { - $reihe = ''; - } - if (isset($_GET['platz'])) { - $platz = $_GET['platz']; - } else { - $platz = ''; - } - - $del1 = $db->query("DELETE FROM jumi_standardsitzplatz WHERE vorname='$vorname' AND nachname='$nachname'"); - if($status == 1){ - $ins1 = $db->query("INSERT INTO jumi_standardsitzplatz (nachname, vorname, reihe, platz) VALUES ('$nachname', '$vorname', '$reihe', '$platz')"); - } - echo $tid; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?reihe=$reihe&platz=$platz&tid=$tid\">"; -} - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/sitzplatz.php b/admin/sitzplatz.php deleted file mode 100644 index 9e5626f..0000000 --- a/admin/sitzplatz.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - $german = $db->query("SET lc_time_names = 'de_DE';"); - - $query1 = "SELECT a.tid, date_format(datum, '%a, %d.%m.%Y - %H:%i Uhr')datum_form - FROM jumi_termine a - WHERE a.datum > ADDDATE(now(), -7) - GROUP BY a.tid, datum_form - ORDER BY datum ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $termin = $row1['tid']; - $result2 = $db->query("SELECT COUNT(*) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row2 = $result2->fetch_array(); - - $result3 = $db->query("SELECT COUNT(distinct lfd_haushalt) Anz - FROM jumi_buchung - WHERE tid=$termin"); - $row3 = $result3->fetch_array(); - - $row1['anz_ges'] = $row2['Anz']; - $row1['anz_fam'] = $row3['Anz']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} - -if ($action == 'edit') { - if(isset($_POST["testtermin"])){ - $termin = $_POST["testtermin"]; - }else{ - $termin = $_GET["tid"]; - } - $german = $db->query("SET lc_time_names = 'de_DE';"); - $query_termin = $db->query("SELECT date_format(datum, '%a, %d.%m.%Y - %H:%i Uhr')datum_form - FROM jumi_termine - WHERE tid = $termin"); - $row_get_termin = $query_termin->fetch_array(); - $smarty->assign('edit_value_datum', $row_get_termin['datum_form']); - $smarty->assign('edit_value_tid', $termin); - - -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/sort_table.html b/admin/sort_table.html deleted file mode 100644 index b42cd70..0000000 --- a/admin/sort_table.html +++ /dev/null @@ -1,142 +0,0 @@ -<?php include_once('config.php'); ?> -<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> -<!------ Include the above in your HEAD tag ----------> - -<!-- Pulled from http://www.avtex.com/blog/2015/01/27/drag-and-drop-sorting-of-table-rows-in-priority-order/ --> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"><head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Steven Ray: Drag and drop sorting of table rows</title> - -<link href="../demo.css" type="text/css" rel="stylesheet" /> - -<!-- Bootstrap CSS --> -<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> - -<!-- jQuery -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> ---> -<script src="../jquery/jquery-1.12.4.js"></script> - -<!-- jQuery UI CSS -<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> ---> -<script src="../jquery/jquery-ui.js"></script> - -<script type="text/javascript"> - -$(document).ready(function() { - //Helper function to keep table row from collapsing when being sorted - var fixHelperModified = function(e, tr) { - var $originals = tr.children(); - var $helper = tr.clone(); - $helper.children().each(function(index) - { - $(this).width($originals.eq(index).width()) - }); - return $helper; - }; - - //Make diagnosis table sortable - $("#diagnosis_list tbody").sortable({ - helper: fixHelperModified, - stop: function(event,ui) {renumber_table('#diagnosis_list')} - }).disableSelection(); - - - //Delete button in table rows - $('table').on('click','.btn-delete',function() { - tableID = '#' + $(this).closest('table').attr('id'); - alert(tableID); - r = confirm('Delete this item?'); - if(r) { - $(this).closest('tr').remove(); - renumber_table(tableID); - } - }); - -}); - -//Renumber table rows -function renumber_table(tableID) { - $(tableID + " tr").each(function() { - count = $(this).parent().children().index($(this)) + 1; - $(this).find('.priority').html(count); - }); -} - - -</script> - - <script> - $(document).ready(function(e) { - $('#sortable tbody').diagnosis_list({ - handle: 'i.fa-arrows-alt', - placeholder: "ui-state-highlight", - //opacity: 0.9, - update : function () { - var order = $('#diagnosis_list tbody').diagnosis_list('toArray', { attribute: 'data-sort-id'}); - console.log(order.join(',')); - sortOrder = order.join(','); - $.post( - 'action-form.ajax.php', - {'action':'updateSortedRows','sortOrder':sortOrder}, - function(data){ - var a = data.split('|***|'); - if(a[1]=="update"){ - $('#msg').html(a[0]); - } - } - ); - } - }); - $( "#diagnosis_list" ).disableSelection(); - - $('[data-toggle="tooltip"]').tooltip(); - }); - </script> - -<style type="text/css"> -.ui-sortable tr { - cursor:pointer; -} - -.ui-sortable tr:hover { - background:rgba(244,251,17,0.45); -} - -</style> - -</head> - -<body> - -<div id="content" class="container"> - -<h1>Sortable table</h1> - - <table class="table" id="diagnosis_list"> - <thead> - <tr><th>Priority</th><th>Name</th><th>Favorite fruit</th><th>Vegetarian?</th><th>�</th></tr> - </thead> - <tbody> - <tr><td class='priority'>1</td><td>George Washington</td><td>Apple</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr> - <tr><td class='priority'>2</td><td>John Adams</td><td>Pear</td><td>Y</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr> - <tr><td class='priority'>3</td><td>Thomas Jefferson</td><td>Banana</td><td>Y</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr> - <tr><td class='priority'>4</td><td>Ben Franklin</td><td>Kumquat</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr> - <tr><td class='priority'>5</td><td>Alexander Hamilton</td><td>Red grapes</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr> - </tbody> - </table> - -</div> - -</body> -</html> - - - - - - - diff --git a/admin/sort_table.php b/admin/sort_table.php deleted file mode 100644 index 2f16668..0000000 --- a/admin/sort_table.php +++ /dev/null @@ -1,145 +0,0 @@ -<?php include_once('config.php'); ?> -<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> -<!------ Include the above in your HEAD tag ----------> - -<!-- Pulled from http://www.avtex.com/blog/2015/01/27/drag-and-drop-sorting-of-table-rows-in-priority-order/ --> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"><head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Steven Ray: Drag and drop sorting of table rows</title> - -<link href="../demo.css" type="text/css" rel="stylesheet" /> - -<!-- Bootstrap CSS --> -<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> - -<!-- jQuery -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> ---> -<script src="../jquery/jquery-1.12.4.js"></script> - -<!-- jQuery UI CSS -<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> ---> -<script src="../jquery/jquery-ui.js"></script> - -<script type="text/javascript"> - -$(document).ready(function() { - - //Helper function to keep table row from collapsing when being sorted - var fixHelperModified = function(e, tr) { - var $originals = tr.children(); - var $helper = tr.clone(); - $helper.children().each(function(index) - { - $(this).width($originals.eq(index).width()) - }); - return $helper; - }; - - //Make diagnosis table sortable - $("#sortable tbody").sortable({ - helper: fixHelperModified, - stop: function(event,ui) { - renumber_table('#sortable') - var order = $('#sortable tbody').sortable('toArray', { attribute: 'data-sort-id'}); - console.log(order.join(',')); - sortOrder = order.join(','); - $.post( - 'action-form.ajax.php', - {'action':'updateSortedRows','sortOrder':sortOrder}, - function(data){ - var a = data.split('|***|'); - if(a[1]=="update"){ - $('#msg').html(a[0]); - } - } - ); - - } - }).disableSelection(); - - - //Delete button in table rows - $('table').on('click','.btn-delete',function() { - tableID = '#' + $(this).closest('table').attr('id'); - r = confirm('Delete this item?'); - if(r) { - $(this).closest('tr').remove(); - renumber_table(tableID); - } - }); - -}); - -//Renumber table rows -function renumber_table(tableID) { - $(tableID + " tr").each(function() { - count = $(this).parent().children().index($(this)) + 1; - $(this).find('.priority').html(count); - }); -} - - -</script> - - - -<style type="text/css"> -.ui-sortable tr { - cursor:pointer; -} - -.ui-sortable tr:hover { - background:rgba(244,251,17,0.45); -} - -</style> - -</head> - -<body> - -<div id="content" class="container"> - -<h1>Sortable table</h1> - - <table class="table" id="sortable"> - <thead> - <tr> - <th width="20">Action</th> - <th width="120" class="text-center">Inset DT</th> - <th>User Name</th> - <th>User Country</th> - <th>User Email</th> - <th>User Phone#</th> - </tr> - </thead> - <tbody id="tb"> - <?php - $result = $db->query("SELECT * FROM reorderusers WHERE 1 ORDER BY userorder ASC "); - if($result->num_rows>0){ - $i=0; - while($val = $result->fetch_assoc()){ - $i++; - ?> - <tr data-sort-id="<?php echo $val['id'];?>"> - <td class="priority" align="center"><?php echo $i; ?></td> - <td align="center"><?php echo $val['dt']; ?></td> - <td><?php echo mb_strtoupper($val['username'],'UTF-8'); ?></td> - <td><?php echo mb_strtoupper($counrtyName[$val['usercountry']],'UTF-8'); ?></td> - <td><?php echo $val['useremail']; ?></td> - <td><?php echo $val['userphone']; ?></td> - </tr> - <?php - } - } ?> - </tbody> - </table> - <div id="msg"></div> -</div> - -</body> -</html> \ No newline at end of file diff --git a/admin/survey_erfassen.php b/admin/survey_erfassen.php deleted file mode 100644 index 3b4ae6b..0000000 --- a/admin/survey_erfassen.php +++ /dev/null @@ -1,297 +0,0 @@ -<?php -if (!isset($_SESSION)) { - session_start(); -} -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - - - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - # if (isset($_GET['edit'])) { - # $_SESSION["umfrageerf_status"] = 'edit'; - # $yid = $_GET['edit']; - # $_SESSION["umfrageerf_yid"] = $yid; - # } else { - # $_SESSION["umfrageerf_status"] = 'neu'; - # } - # - # # -- Fehlermeldungen -- # - if($_GET['new'] == 1){ - unset($_SESSION["umfrageerf_value_datumvon"]); - unset($_SESSION["umfrageerf_value_zeitvon"]); - unset($_SESSION["umfrageerf_value_datumbis"]); - unset($_SESSION["umfrageerf_value_zeitbis"]); - unset($_SESSION["umfrageerf_value_headline"]); - unset($_SESSION["umfrageerf_value_freitext"]); - $smarty->assign('umfrageerf_value_freitext', 0); - unset($_SESSION["umfrageerf_umid"]); - unset($_SESSION["umfrageerf_ufid"]); - unset($_SESSION["umfrageerf_uaid"]); -# $_SESSION["umfrageerf_new"] = 1; - - }else{ - $smarty->assign('umfrageerf_value_datumvon', $_SESSION["umfrageerf_value_datumvon"]); - $smarty->assign('umfrageerf_value_zeitvon', $_SESSION["umfrageerf_value_zeitvon"]); - $smarty->assign('umfrageerf_value_datumbis', $_SESSION["umfrageerf_value_datumbis"]); - $smarty->assign('umfrageerf_value_zeitbis', $_SESSION["umfrageerf_value_zeitbis"]); - $smarty->assign('umfrageerf_value_headline', $_SESSION["umfrageerf_value_headline"]); - $smarty->assign('umfrageerf_value_freitext', $_SESSION["umfrageerf_value_freitext"]); -# $smarty->assign('umfrageerf_value_new', "0"); -# $_SESSION["umfrageerf_new"] = 0; - } - - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('umfrageerf_error', 1); - - if ($errorno == 1) { - # Pflichtfelder - $smarty->assign('umfrageerf_error_text', "Bitte füllen Sie alle Felder aus"); - } - if ($errorno == 2) { - # Datumsformat - $smarty->assign('umfrageerf_error_text', "Ein Datumsformat ist falsch"); - } - } - - # - # # --- Wenn Werte editiert werden ------------ - # if ($_SESSION["umfrageerf_status"] == 'edit') { - # $result_edit = $db->query("SELECT yid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, url - # FROM jumi_youtube_termine - # WHERE yid = $yid"); - # $row_edit = $result_edit->fetch_array(); - # $smarty->assign('umfrageerf_value_datum', "$row_edit[datum]"); - # $smarty->assign('umfrageerf_value_zeit', "$row_edit[zeit]"); - # $smarty->assign('umfrageerf_value_url', "$row_edit[url]"); - # - # } - # # --- Wenn Werte editiert werden Ende ------- - # - # if ($_GET['editende'] == 1) { - # # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - # $_SESSION["umfrageerf_status"] = 'neu'; - # } - # - # - # # Gespeicherte Werte - # $query1 = "SELECT yid, date_format(datum, '%d.%m.%Y') datum_form, date_format(datum, '%H:%i') zeit, url - # FROM jumi_youtube_termine - # WHERE datum > DATE_SUB( NOW() , INTERVAL 14 DAY ) - # ORDER BY datum desc, zeit ASC"; - # - # $result1 = $db->query($query1) or die("Cannot execute query1a"); - # - # while ($row1 = $result1->fetch_array()) { - # $table_data1[] = $row1; - # } - # $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'fragen') { - - $umid = $_SESSION["umfrageerf_umid"]; - - # Focus/Session setzen - $result = $db->query("SELECT count(*) Anz FROM jumi_umfragen_fragen WHERE umid='$umid'"); - $row = $result->fetch_array(); - # Wenn man bei mehreren Fragen eine Frage löscht ist Anz nicht 0 und der Focus sitzt bei Antwort - if ($umid == '' or $_GET['tabufid'] == "neuefrage" or $row['Anz'] == '0') { - $smarty->assign('umfrageerf_focus', "frage"); - unset($_SESSION["umfrageerf_ufid"]); - unset($_SESSION["umfrageerf_uaid"]); - } else { - $smarty->assign('umfrageerf_focus', "antwort"); - } - - - if (isset($_POST['datumvon']) and $_POST['datumvon'] != '') { - $datumvon = $_POST['datumvon']; - $_SESSION["umfrageerf_value_datumvon"] = $datumvon; - } else { - if ($_SESSION["umfrageerf_value_datumvon"] == '') { - echo "<meta http-equiv=\"refresh\" content=\"3; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - } - $datumvon = $_SESSION["umfrageerf_value_datumvon"]; - } - - if (isset($_POST['zeitvon']) and $_POST['zeitvon'] != '') { - $zeitvon = $_POST['zeitvon']; - $_SESSION["umfrageerf_value_zeitvon"] = $zeitvon; - } else { - if ($_SESSION["umfrageerf_value_zeitvon"] == '') { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - } - $zeitvon = $_SESSION["umfrageerf_value_zeitvon"]; - } - - if (isset($_POST['datumbis']) and $_POST['datumbis'] != '') { - $datumbis = $_POST['datumbis']; - $_SESSION["umfrageerf_value_datumbis"] = $datumbis; - } else { - if ($_SESSION["umfrageerf_value_datumbis"] == '') { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - } - $datumbis = $_SESSION["umfrageerf_value_datumbis"]; - } - - if (isset($_POST['zeitbis']) and $_POST['zeitbis'] != '') { - $zeitbis = $_POST['zeitbis']; - $_SESSION["umfrageerf_value_zeitbis"] = $zeitbis; - } else { - if ($_SESSION["umfrageerf_value_zeitbis"] == '') { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - } - $zeitbis = $_SESSION["umfrageerf_value_zeitbis"]; - } - - if (isset($_POST['headline']) and trim($_POST['headline']) != '') { - $headline = trim($_POST['headline']); - $_SESSION["umfrageerf_value_headline"] = $headline; - } else { - if ($_SESSION["umfrageerf_value_headline"] == '') { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">"; - } - $headline = $_SESSION["umfrageerf_value_headline"]; - } - - if(!isset($_GET['erfassen'])){ - if (isset($_POST['freitext']) and trim($_POST['freitext']) != '') { - $freitext = '1'; - $_SESSION["umfrageerf_value_freitext"] = $freitext; - }else{ - $freitext = '0'; - $_SESSION["umfrageerf_value_freitext"] = $freitext; - } - }else{ - $freitext = $_SESSION["umfrageerf_value_freitext"]; - } - - - $datumvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumvon); - $datumbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumbis); - $datum_von = $datumvon_form . " " . $zeitvon . ":00"; - $datum_bis = $datumbis_form . " " . $zeitbis . ":00"; - - function validateDate($date, $format = 'Y-m-d') - { - $d = DateTime::createFromFormat($format, $date); - return $d && $d->format($format) == $date; - } - - if (!validateDate($datumvon_form)) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">"; - exit; - } - - if (!validateDate($datumbis_form)) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">"; - exit; - } - - - if(!isset($_GET['erfassen'])){ - if ($umid == '') { - $datum = date("Y-m-d H:i:s"); - - $sql1 = $db->query("INSERT INTO jumi_umfragen ( datum_von - , datum_bis - , headline - , uid - , datum_erfasst - , freitext - ) - VALUES - ( '$datum_von' - , '$datum_bis' - , '$headline' - , '$uid' - , '$datum' - , '$freitext' - ) - "); - $umid = $db->insert_id; - $_SESSION["umfrageerf_umid"] = $umid; - }else{ - $update = $db->query("UPDATE jumi_umfragen - SET datum_von ='$datum_von' - ,datum_bis ='$datum_bis' - ,headline = '$headline' - ,freitext = '$freitext' - WHERE umid = $umid - "); - - } - } - - if (isset($_GET['tabufid']) and $_GET['tabufid'] != '') { - if ($_GET['tabufid'] == "neuefrage") { - $_SESSION["umfrageerf_ufid"] = ""; - } else { - $_SESSION["umfrageerf_ufid"] = $_GET['tabufid']; - } - } - $ufid = $_SESSION["umfrageerf_ufid"]; - if ($ufid != '') { - $result_frage = $db->query("SELECT frage, multiple - FROM jumi_umfragen_fragen - WHERE ufid = $ufid"); - $row_frage = $result_frage->fetch_array(); - $smarty->assign('umfrageerf_value_frage', htmlspecialchars($row_frage['frage'])); - $smarty->assign('umfrageerf_value_multiple', $row_frage['multiple']); - $smarty->assign('umfrageerf_value_ufid', $ufid); - } - - # Gespeicherte Werte - if ($umid != '') { - $query1 = "SELECT ufid, frage - FROM jumi_umfragen_fragen - WHERE umid=$umid - ORDER BY ufid ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1a"); - - while ($row1 = $result1->fetch_array()) { - $table_data1[] = $row1; - } - } - - $smarty->assign('table_data1', $table_data1); - if ($ufid != '') { - $smarty->assign('umfrageerf_gesp_werte_value_ufid2', "$ufid"); - $query2 = "SELECT uaid, antwort - FROM jumi_umfragen_antworten - WHERE ufid=$ufid - ORDER BY userorder ASC, uaid ASC"; - - $result2 = $db->query($query2) or die("Cannot execute query2"); - $anzahl = $result2->num_rows; - $smarty->assign('table_data2_anz', $anzahl); - while ($row2 = $result2->fetch_array()) { - $table_data2[] = $row2; - } - $smarty->assign('table_data2', $table_data2); - } -} - - - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/survey_frame.php b/admin/survey_frame.php deleted file mode 100644 index d3702f2..0000000 --- a/admin/survey_frame.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/termine.php b/admin/termine.php deleted file mode 100644 index d01f68f..0000000 --- a/admin/termine.php +++ /dev/null @@ -1,361 +0,0 @@ -<?php -if (!isset($_SESSION)) { - session_start(); -} -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -#require_once("../func_get_restplatz.php"); -#require_once("../func_get_parameter.php"); -require_once("../func_get_sitzplatz.php"); -require_once("../func_get_lfd_haushalt.php"); -require_once("../config/func_cryption.php"); - - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - - -if ($action == '') { - - if (isset($_GET['edit'])) { - $_SESSION["termine_status"] = 'edit'; - $tid = $_GET['edit']; - $_SESSION["termine_tid"] = $tid; - } else { - $_SESSION["termine_status"] = 'neu'; - } - - # -- Fehlermeldungen -- # - if (isset($_GET['error'])) { - - $errorno = $_GET['error']; - - $smarty->assign('termine_error', 1); - - $smarty->assign('termine_value_datum', $_SESSION["termine_value_datum"]); - $smarty->assign('termine_value_zeit', $_SESSION["termine_value_tm_zeit"]); - $smarty->assign('termine_value_tm_standort', $_SESSION["termine_value_tm_standort"]); - $smarty->assign('termine_value_tm_plaetze', $_SESSION["termine_value_tm_plaetze"]); - $smarty->assign('termine_value_tm_raum', $_SESSION["termine_value_tm_raum"]); - $smarty->assign('termine_value_hinweis', $_SESSION["termine_value_hinweis"]); - $smarty->assign('termine_value_fellbach_gd', $_SESSION["termine_value_fellbach_gd"]); - - if ($errorno == 3) { - # ungültiges Datum - $smarty->assign('termine_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!"); - } - } - - # --- Wenn Werte editiert werden ------------ - if ($_SESSION["termine_status"] == 'edit') { - $result_edit = $db->query("SELECT tid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, hinweis, fellbach_gd - FROM jumi_termine - WHERE tid = $tid"); - $row_edit = $result_edit->fetch_array(); - $smarty->assign('termine_value_datum', "$row_edit[datum]"); - $smarty->assign('termine_value_zeit', "$row_edit[zeit]"); - $smarty->assign('termine_value_tm_standort', "$row_edit[tm_standort]"); - $smarty->assign('termine_value_tm_plaetze', "$row_edit[tm_plaetze]"); - $smarty->assign('termine_value_tm_raum', "$row_edit[tm_raum]"); - $smarty->assign('termine_value_hinweis', "$row_edit[hinweis]"); - $smarty->assign('termine_value_fellbach_gd', "$row_edit[fellbach_gd]"); - - } - # --- Wenn Werte editiert werden Ende ------- - - if ($_GET['editende'] == 1) { - # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt - $_SESSION["termine_status"] = 'neu'; - } - - - # Gespeicherte Werte - $query1 = "SELECT tid, date_format(datum, '%d.%m.%Y') datum_form, date_format(datum, '%H:%i') zeit, hinweis, fellbach_gd - FROM jumi_termine - WHERE datum > DATE_SUB( NOW() , INTERVAL 14 DAY ) - ORDER BY datum desc, zeit ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1a"); - - while ($row1 = $result1->fetch_array()) { - - $result_dis = $db->query("SELECT count(*) Anz - FROM jumi_buchung - WHERE tid = $row1[tid]"); - $row_dis = $result_dis->fetch_array(); - if ($row_dis['Anz'] > 0) { - $disable = 0; - } else { - $disable = 1; - } - - $result2 = $db->query("SELECT COUNT(*) Anz - FROM jumi_buchung - WHERE tid=$row1[tid]"); - $row2 = $result2->fetch_array(); - - $result3 = $db->query("SELECT COUNT(distinct lfd_haushalt) Anz - FROM jumi_buchung - WHERE tid=$row1[tid]"); - $row3 = $result3->fetch_array(); - - $row1['anz_ges'] = $row2['Anz']; - $row1['anz_fam'] = $row3['Anz']; - - $row1['tm_disable'] = $disable; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - -} - - -if ($action == 'save') { - - $datum = $_POST['datum']; - $tm_zeit = $_POST['tm_zeit']; - $hinweis = trim($_POST['hinweis']); - $fellbach_gd = trim($_POST['fellbach_gd']); - - - $_SESSION["termine_value_datum"] = $datum; - $_SESSION["termine_value_tm_zeit"] = $tm_zeit; - $_SESSION["termine_value_hinweis"] = $hinweis; - $_SESSION["termine_value_fellbach_gd"] = $fellbach_gd; - - $datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datum); - $gddatum = $datum_form . " " . $tm_zeit . ":00"; - $_SESSION["termine_value_tm_gddatum"] = $gddatum; - function validateDate($date, $format = 'Y-m-d') - { - $d = DateTime::createFromFormat($format, $date); - return $d && $d->format($format) == $date; - } - - if (!validateDate($datum_form)) { - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">"; - exit; - } - - - #$datum = date("Y-m-d H:i:s"); - if ($_SESSION["termine_status"] == 'neu') { - $sql1 = $db->query("INSERT INTO jumi_termine ( datum - , hinweis - , fellbach_gd - ) - VALUES - ( '$gddatum' - , '$hinweis' - , '$fellbach_gd' - ) - "); - $termin = $db->insert_id; - -/* Daueranmelder wird es nicht geben. - - $query1 = "SELECT DISTINCT lfd_haushalt FROM jumi_daueranmeldung"; - $result1 = $db->query($query1) or die("Cannot execute query1"); - while ($row1 = $result1->fetch_array()) { - $lfd_haushalt = get_lfd_haushalt($termin); - $datum = date("Y-m-d H:i:s"); - - $query2 = "SELECT mail - FROM jumi_daueranmeldung - WHERE lfd_haushalt = $row1[lfd_haushalt] - GROUP BY lfd_haushalt, mail - "; - $result2 = $db->query($query2) or die("Cannot execute query2"); - while ($row2 = $result2->fetch_array()) { - - $query3 = "SELECT vorname, nachname - FROM jumi_daueranmeldung - WHERE mail= '$row2[mail]' - AND lfd_haushalt = $row1[lfd_haushalt] - "; - #echo $query3; - $result3 = $db->query($query3) or die("Cannot execute query3"); - $nr = 0; - while ($row3 = $result3->fetch_array()) { - $data['vorname'][$nr] = $row3['vorname']; - $data['nachname'][$nr] = $row3['nachname']; - $data['sitzplatz'][$nr] = get_sitzplatz($data['nachname'][$nr], $data['vorname'][$nr]); - $data['split'][$nr] = explode("|", $data['sitzplatz'][$nr]); - $data['reihe'][$nr] = $data['split'][$nr][0]; - $data['platz'][$nr] = $data['split'][$nr][1]; - $sql1 = $db->query("insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '" . $data['nachname'][$nr] . "', '" . $data['vorname'][$nr] . "', '" . $data['reihe'][$nr] . "', '" . $data['platz'][$nr] . "', '$row2[mail]', '$lfd_haushalt', '$datum')"); - #echo "<pre>"; - #echo "<hr>"; - #echo "insert into jumi_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '".$data['nachname'][$nr]."', '".$data['vorname'][$nr]."', '".$data['reihe'][$nr]."', '".$data[platz][$nr]."', '$row2[mail]', '$lfd_haushalt', '$datum')<br>"; - $data['bid'][$nr] = $db->insert_id; - $data['crypt'][$nr] = cryption($data['bid'][$nr] . "|" . $data['nachname'][$nr] . "|$termin", 'e'); - $nr++; - } - - #print_r($data); - #echo "<hr>"; - #echo "</pre>"; - - - - - - - - - - - - $query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis - FROM jumi_termine - WHERE tid = $termin - LIMIT 1 - "); - $row_termin = $query_termin->fetch_array(); - - - - $empfaenger = "$row2[mail]"; - $betreff = "Registrierung zum Gottesdienst am $row_termin[beginn] Uhr"; - $text = " - <html> - <head> - <title>Registrierung zum Gottesdienst</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - Sie haben sich zum Gottesdienst in der neuapostolischen Kirche Weinstadt-Beutelsbach registriert.<br> - Nachfolgend finden Sie die hinterlegten Daten: - <br> - <br> - <table> - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Datum:</b> - </font> - </td> - <td valign='top' colspan='2'> - <font face='Arial' size='2'> - $row_termin[beginn]"; - if ($row_termin['hinweis'] != '') { - $text .= " ($row_termin[hinweis])"; - } - $text .= " - </font> - </td> - </tr> - <tr> - <td valign='top' width='100'> - - </td> - <td valign='top'> - - </td> - <td valign='top'> - - </td> - </tr> - "; - $person = 1; - $vorname = ""; - $nachname = ""; - $crypt = ""; - for ($i = 0; $i < count($data['nachname']); $i++) { - $vorname = $data['vorname'][$i]; - $nachname = $data['nachname'][$i]; - $crypt = $data['crypt'][$i]; - $text .= " - <tr> - <td valign='top' width='100'> - <font face='Arial' size='2'> - <b>Person $person:</b> - </font> - </td> - <td valign='top'> - <font face='Arial' size='2'> - $nachname, $vorname - </font> - </td> - <td valign='top'> - <a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt'>Abmeldung</a> - </td> - </tr>"; - $person++; - } - - $text .= " - </table> - <br> - Sie wurden aufgrund Ihrer Dauerbuchung zu den Gottesdiensten benachrichtigt. - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - - - $text = stripslashes($text); - $headers = "MIME-Version: 1.0\n"; - $headers .= "Content-type: text/html; charset=utf-8\n"; - $headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n"; - - $return = @mail($empfaenger, $betreff, $text, $headers); - - - #echo " - #<hr> - #$empfaenger<br> - #$betreff<br> - #$text<br> - #<hr>"; - - - } - } - */ - } - if ($_SESSION["termine_status"] == 'edit') { - $tid = $_SESSION["termine_tid"]; - - - - $result = $db->query("UPDATE jumi_termine - SET datum = '$gddatum' - , hinweis = '$hinweis' - , fellbach_gd = '$fellbach_gd' - WHERE tid = $tid - "); - - unset($_SESSION['termine_tid']); - - - } - # Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht - $editende = 1; - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">"; - - -} -if ($action == 'del') { - $tid = $_GET['tid']; - - $del1 = $db->query("DELETE FROM jumi_termine WHERE tid = $tid"); - - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">"; -} - - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> \ No newline at end of file diff --git a/admin/titel.php b/admin/titel.php deleted file mode 100644 index abfaa74..0000000 --- a/admin/titel.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; - -if($_SESSION["global_username"] == ''){ -echo"<script type='text/javascript'>window.top.location.href = \"index.php\";</script>"; -} - -/* -$db = dbconnect(); - -#Hat User ein Adminrecht - -$result_admin = $db->query("SELECT count(*) Anz FROM dep_rollen_user_zuord WHERE imtuid = '$uid' AND roid='1'"); -#echo "SELECT count(*) Anz FROM dep_rollen_user_zuord WHERE imtuid = '$uid' AND roid='1'<br>"; -$row_admin = $result_admin->fetch_array(); - -if($row_admin[Anz] > 0){ - $smarty->assign('titel_admin', "1"); -} - - -$result_ausschuss = $db->query("SELECT count(*) Anz FROM dep_rollen_user_zuord WHERE imtuid = '$uid' AND roid in (4,5)"); -$row_ausschuss = $result_ausschuss->fetch_array(); - -if($row_ausschuss[Anz] > 0){ - $smarty->assign('titel_ausschuss', "1"); -} - - -$result_beteiligte = $db->query("SELECT count(*) Anz FROM dep_rollen_user_zuord WHERE imtuid = '$uid' AND roid='3'"); -$row_beteiligte = $result_beteiligte->fetch_array(); - -if($row_beteiligte[Anz] > 0){ - $smarty->assign('titel_beteiligte', "1"); -} - - -$result_gutachter = $db->query("SELECT count(*) Anz FROM dep_rollen_user_zuord WHERE imtuid = '$uid' AND roid='2'"); -$row_gutachter = $result_gutachter->fetch_array(); - -if($row_gutachter[Anz] > 0){ - $smarty->assign('titel_gutachter', "1"); -} - -*/ -$smarty->display("$template/admin/$templatename"); -?> \ No newline at end of file diff --git a/admin/unzugeordnet.php b/admin/unzugeordnet.php deleted file mode 100644 index 63704a1..0000000 --- a/admin/unzugeordnet.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - -$termin = $_GET['tid']; -if ($action == '') { - - $query1 = "SELECT lfd_haushalt, count(*) Anz - FROM jumi_buchung - WHERE reihe = '' - AND tid = $termin - AND warteliste = 'N' - GROUP BY lfd_haushalt"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $value2 = ''; - $mehrfachbelegung = trim(get_parameter(6)); - if($mehrfachbelegung == 0){ - $query2 = "SELECT reihe, platz - FROM jumi_verfplaetze - WHERE concat(reihe,platz) not in (select concat(reihe,platz) from jumi_buchung where tid=$termin and lfd_haushalt!=$row1[lfd_haushalt]) - AND reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - }else{ - $query2 = "SELECT reihe, platz - FROM jumi_verfplaetze - WHERE reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - } - $result2 = $db->query( $query2) - or die ("Cannot execute query2"); - - - - $ln2 = 0; - while ($row2 = $result2->fetch_array()){ - $inner1[$ln2]['reihe'] = $row2['reihe']; - $inner1[$ln2]['platz'] = $row2['platz']; - $value2 = $inner1; - $ln2++; - } - - $query_name = $db->query("SELECT bid, vorname, nachname - FROM jumi_buchung - WHERE reihe = '' - AND lfd_haushalt= $row1[lfd_haushalt] - AND tid = $termin - AND warteliste='N' - ORDER BY bid - LIMIT 1"); - $row_name = $query_name->fetch_array(); - - $row1['inner'] = $value2; - $row1['tid'] = $termin; - $row1['vorname'] = $row_name['vorname']; - $row1['nachname'] = $row_name['nachname']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); -} -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> diff --git a/admin/verwaltung_frame.php b/admin/verwaltung_frame.php deleted file mode 100644 index cdef2f1..0000000 --- a/admin/verwaltung_frame.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -$smarty->display("$template/admin/$templatename"); ?> \ No newline at end of file diff --git a/admin/warteliste.php b/admin/warteliste.php deleted file mode 100644 index b77aa10..0000000 --- a/admin/warteliste.php +++ /dev/null @@ -1,154 +0,0 @@ -<?php -if(!isset($_SESSION)) { session_start(); } -include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -require_once("../func_get_parameter.php"); - -if (isset($_GET['action'])) { - $action = $_GET['action']; -} else { - $action = ''; -} - -$termin = $_GET['tid']; -if ($action == '') { - - $query1 = "SELECT lfd_haushalt, count(*) Anz - FROM jumi_buchung - WHERE reihe = '' - AND tid = $termin - AND warteliste = 'Y' - GROUP BY lfd_haushalt - ORDER BY save_date ASC"; - - $result1 = $db->query($query1) or die("Cannot execute query1"); - - - while ($row1 = $result1->fetch_array()) { - $value2 = ''; - $mehrfachbelegung = trim(get_parameter(6)); - if($mehrfachbelegung == 0){ - $query2 = "SELECT reihe, platz - FROM jumi_verfplaetze - WHERE concat(reihe,platz) not in (select concat(reihe,platz) from jumi_buchung where tid=$termin and lfd_haushalt!=$row1[lfd_haushalt]) - AND reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - }else{ - $query2 = "SELECT reihe, platz - FROM jumi_verfplaetze - WHERE reihe not in ('Sonntagschule', 'Vorsonntagschule') - order by reihe, platz - "; - } - $result2 = $db->query( $query2) - or die ("Cannot execute query2"); - - - - $ln2 = 0; - while ($row2 = $result2->fetch_array()){ - $inner1[$ln2]['reihe'] = $row2['reihe']; - $inner1[$ln2]['platz'] = $row2['platz']; - $value2 = $inner1; - $ln2++; - } - - $query_name = $db->query("SELECT bid, vorname, nachname, date_format(save_date, '%d.%m.%Y - %H:%i') save_date, date_format(warteliste_confirm, '%d.%m.%Y - %H:%i') warteliste_confirm, warteliste_grund - FROM jumi_buchung - WHERE reihe = '' - AND lfd_haushalt= $row1[lfd_haushalt] - AND tid = $termin - AND warteliste='Y' - ORDER BY bid - LIMIT 1"); - $row_name = $query_name->fetch_array(); - - $row1['inner'] = $value2; - $row1['tid'] = $termin; - $row1['warteliste_grund'] = $row_name['warteliste_grund']; - $row1['vorname'] = $row_name['vorname']; - $row1['nachname'] = $row_name['nachname']; - $row1['warteliste_confirm'] = $row_name['warteliste_confirm']; - $row1['save_date'] = $row_name['save_date']; - $table_data1[] = $row1; - } - $smarty->assign('table_data1', $table_data1); - - $query2 = "SELECT tid, lfd_haushalt, vorname, nachname, date_format(save_date, '%d.%m.%Y - %H:%i') save_date, date_format(warteliste_confirm, '%d.%m.%Y - %H:%i') warteliste_confirm, mail, warteliste_grund, reihe, platz - FROM jumi_buchung - WHERE reihe != '' - AND tid = $termin - AND warteliste = 'Y' - ORDER BY save_date ASC"; - - $result2 = $db->query($query2) or die("Cannot execute query2"); - - - while ($row2 = $result2->fetch_array()) { - $table_data2[] = $row2; - } - $smarty->assign('table_data2', $table_data2); -} - - -if ($action == 'mail') { - $lfd_haushalt = $_GET['lfd_haushalt']; - $termin = $_GET['tid']; - - $query_mail = $db->query("SELECT mail, date_format(b.datum, '%d.%m.%Y') datum_form - FROM jumi_buchung a, jumi_termine b - WHERE a.tid=b.tid - AND lfd_haushalt = '$lfd_haushalt' - AND a.tid = $termin - AND warteliste='Y' - GROUP BY mail, datum - LIMIT 1"); - $row_mail = $query_mail->fetch_array(); - - - $to = $row_mail['mail']; // addresses to email pdf to - $from = "NAK Beutelsbach <service@nak-btb.de>"; // address message is sent from - $subject = "Zusage zum Gottesdienst am ".$row_mail['datum_form']; // email subject - $body = "<html> - <head> - <title>Zusage zum Gottesdienst</title> - </head> - <body> - <font face='Arial' size='2'> - Guten Tag!<br><br> - Sie sind verbindlich zum Gottesdienst am $row_mail[datum_form] angemeldet. - <br> - Sollten Sie nicht kommen können melden Sie sich mit dem Abmeldelink aus der Registrierungsmail ab! - <br> - <br> - <p> - Diese Mail wurde automatisch generiert!<br> - Antworten Sie daher nicht auf diese Mail<br> - <br> - Vielen Dank - </body> - </html>"; - - $headers = "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=utf-8\r\n"; - $headers .= "From: $from\r\n"; - $return = @mail($to, $subject, $body, $headers); - - if($return){ - $datum_db = date("Y-m-d H:i:s"); - $sql2 = $db->query("UPDATE jumi_buchung SET warteliste_confirm = '$datum_db' WHERE tid='$termin' AND lfd_haushalt='$lfd_haushalt'"); - } - echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?tid=$termin\">"; - -} - - -$smarty->assign('action', "$action"); -$smarty->display("$template/admin/$templatename"); - -?> - diff --git a/admin/youtube_frame.php b/admin/youtube_frame.php deleted file mode 100644 index cdef2f1..0000000 --- a/admin/youtube_frame.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php include_once '../classes/TestProjektSmarty.class_subdir.php'; -require_once("../config.inc.php"); -$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html"; -$smarty = new SmartyAdmin(); -require_once "../language/german.inc.php"; -$smarty->display("$template/admin/$templatename"); ?> \ No newline at end of file diff --git a/dashboard/#upload.php b/dashboard/#upload.php new file mode 100644 index 0000000..b240725 --- /dev/null +++ b/dashboard/#upload.php @@ -0,0 +1,51 @@ +<?php +require_once("../config.inc.php"); +//check if form is submitted +if (isset($_POST['submit'])) +{ + $filename = $_FILES['file1']['name']; + + //upload file + if($filename != '') + { + echo $filename; + exit; + + $ext = pathinfo($filename, PATHINFO_EXTENSION); + $allowed = ['pdf', 'txt', 'doc', 'docx', 'png', 'jpg', 'jpeg', 'gif', 'xlsx']; + + //check if file type is valid + if (in_array($ext, $allowed)) + { + // get last record id + $result_name = $db->query("select max(id) as id from jumi_uploads"); + + + if (count($result) > 0) + { + $row = $result->fetch_array() + $filename = ($row['id']+1) . '-' . $filename; + } + else + $filename = '1' . '-' . $filename; + + //set target directory + $path = 'uploads/'; + + $created = @date('Y-m-d H:i:s'); + move_uploaded_file($_FILES['file1']['tmp_name'],($path . $filename)); + + // insert file details into database + $sql = "INSERT INTO jumi_uploads (filename, created) VALUES('$filename', '$created')"; + mysqli_query($con, $sql); + header("Location: test2.php?st=success"); + } + else + { + header("Location: test2.php?st=error"); + } + } + else + header("Location: test2.php"); +} +?> diff --git a/dashboard/test.php b/dashboard/test.php new file mode 100644 index 0000000..1a1ef48 --- /dev/null +++ b/dashboard/test.php @@ -0,0 +1,26 @@ +<?php +## INDEX gegen DB +if (!isset($_SESSION)) { + session_start(); +} +#$_SESSION['sessionid'] = session_id(); +include_once '../classes/TestProjektSmarty.class_subdir.php'; +require_once("../config.inc.php"); +$smarty = new SmartyAdmin(); +if(!rechte('__noright__', $uid)){ + echo "<meta http-equiv=\"refresh\" content=\"0; URL=error.php\">"; + exit; +} +$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html"; +require_once "../language/german.inc.php"; + + + +$result_name = $db->query("SELECT vorname, nachname, mail FROM jumi_admin WHERE uid='$uid'"); +$row_name = $result_name->fetch_array(); +$smarty->assign('startseite_name', "$row_name[vorname] $row_name[nachname]"); + + +$smarty->assign('action', "$action"); +$smarty->display("modern/dashboard/$templatename"); +?> diff --git a/jquery/jquery.cycle.all.min.js b/jquery/jquery.cycle.all.min.js new file mode 100644 index 0000000..1f63c5e --- /dev/null +++ b/jquery/jquery.cycle.all.min.js @@ -0,0 +1,21 @@ +/* + * jQuery Cycle Plugin (with Transition Definitions) + * Examples and documentation at: http://jquery.malsup.com/cycle/ + * Copyright (c) 2007-2013 M. Alsup + * Version: 3.0.3 (11-JUL-2013) + * Dual licensed under the MIT and GPL licenses. + * http://jquery.malsup.com/license.html + * Requires: jQuery v1.7.1 or later + */ +(function($,undefined){var ver="3.0.3";function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&console.log){console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.expr[":"].paused=function(el){return el.cyclePause;};$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;this.cycleStop=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.backwards);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,!opts.backwards);},startTime);}});};function triggerPause(cont,byHover,onPager){var opts=$(cont).data("cycle.opts");if(!opts){return;}var paused=!!cont.cyclePause;if(paused&&opts.paused){opts.paused(cont,opts,byHover,onPager);}else{if(!paused&&opts.resumed){opts.resumed(cont,opts,byHover,onPager);}}}function handleArguments(cont,options,arg2){if(cont.cycleStop===undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;if(opts.elements){$(opts.elements).stop();}$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(cont,opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);triggerPause(cont);return false;case"pause":cont.cyclePause=1;triggerPause(cont);return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);triggerPause(cont);return false;case"prev":case"next":opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}if(typeof arg2=="string"){opts.oneTimeFx=arg2;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,!options.backwards);}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(cont,opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;$(cont).unbind("mouseenter.cycle mouseleave.cycle");if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var startingSlideSpecified;var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});var meta=$.isFunction($cont.data)?$cont.data(opts.metaAttr):null;if(meta){opts=$.extend(opts,meta);}if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,!opts.backwards);});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide!==undefined){opts.startingSlide=parseInt(opts.startingSlide,10);if(opts.startingSlide>=els.length||opts.startSlide<0){opts.startingSlide=0;}else{startingSlideSpecified=true;}}else{if(opts.backwards){opts.startingSlide=els.length-1;}else{opts.startingSlide=0;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});if(startingSlideSpecified){for(var cnt=0;cnt<els.length;cnt++){if(opts.startingSlide==opts.randomMap[cnt]){opts.randomIndex=cnt;}}}else{opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit){if(!opts.aspect){if(opts.width){$slides.width(opts.width);}if(opts.height&&opts.height!="auto"){$slides.height(opts.height);}}else{$slides.each(function(){var $slide=$(this);var ratio=(opts.aspect===true)?$slide.width()/$slide.height():opts.aspect;if(opts.width&&$slide.width()!=opts.width){$slide.width(opts.width);$slide.height(opts.width/ratio);}if(opts.height&&$slide.height()<opts.height){$slide.height(opts.height);$slide.width(opts.height*ratio);}});}}if(opts.center&&((!opts.fit)||opts.aspect)){$slides.each(function(){var $slide=$(this);$slide.css({"margin-left":opts.width?((opts.width-$slide.width())/2)+"px":0,"margin-top":opts.height?((opts.height-$slide.height())/2)+"px":0});});}if(opts.center&&!opts.fit&&!opts.slideResize){$slides.each(function(){var $slide=$(this);$slide.css({"margin-left":opts.width?((opts.width-$slide.width())/2)+"px":0,"margin-top":opts.height?((opts.height-$slide.height())/2)+"px":0});});}var reshape=(opts.containerResize||opts.containerResizeHeight)&&$cont.innerHeight()<1;if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(opts.containerResize&&maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}if(opts.containerResizeHeight&&maxh>0){$cont.css({height:maxh+"px"});}}var pauseFlag=false;if(opts.pause){$cont.bind("mouseenter.cycle",function(){pauseFlag=true;this.cyclePause++;triggerPause(cont,true);}).bind("mouseleave.cycle",function(){if(pauseFlag){this.cyclePause--;}triggerPause(cont,true);});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loading=(this.cycleH===0&&this.cycleW===0&&!this.complete);if(loading){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.cssAfter=opts.cssAfter||{};opts.cssFirst=opts.cssFirst||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);$($slides[first]).css(opts.cssFirst);if(opts.timeout){opts.timeout=parseInt(opts.timeout,10);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed,10);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="none"?0:opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide===0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(!opts.skipInitializationCallbacks){if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length){opts.after[0].apply(e0,[e0,e0,opts,true]);}}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(var p in txs){if(txs.hasOwnProperty(p)){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;if(opts.random){opts.randomMap.push(opts.slideCount-1);opts.randomMap.sort(function(a,b){return Math.random()-0.5;});}$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$s.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=0;clearTimeout(p.cycleTimeout);}if(opts.busy){debug("transition active, ignoring new tx request");return;}if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(fwd&&(opts.lastFx===undefined||++opts.lastFx>=opts.fxs.length)){opts.lastFx=0;}else{if(!fwd&&(opts.lastFx===undefined||--opts.lastFx<0)){opts.lastFx=opts.fxs.length-1;}}fx=opts.fxs[opts.lastFx];}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){opts.busy=0;$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});if(!p.cycleStop){queueNext();}};debug("tx firing("+fx+"); currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}else{queueNext();}if(changed||opts.nextSlide==opts.currSlide){var roll;opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;opts.randomMap.sort(function(a,b){return Math.random()-0.5;});}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}function queueNext(){var ms=0,timeout=opts.timeout;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);if(opts.fx=="shuffle"){ms-=opts.speedOut;}}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.backwards);},ms);}}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while(opts.fx!="none"&&(t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,1);};$.fn.cycle.prev=function(opts){advance(opts,0);};function advance(opts,moveForward){var val=moveForward?1:-1;var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,moveForward);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);var pagerFn=function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);};if(/mouseenter|mouseover/i.test(opts.pagerEvent)){$a.hover(pagerFn,function(){});}else{$a.bind(opts.pagerEvent,pagerFn);}if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}var cont=opts.$cont[0];var pauseFlag=false;if(opts.pauseOnPagerHover){$a.hover(function(){pauseFlag=true;cont.cyclePause++;triggerPause(cont,true,true);},function(){if(pauseFlag){cont.cyclePause--;}triggerPause(cont,true,true);});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s,10).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v&&v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();if(typeof opts.cssBefore.opacity=="undefined"){opts.cssBefore.opacity=1;}opts.cssBefore.display="block";if(opts.slideResize&&w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(opts.slideResize&&h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut,animInDelay=opts.animInDelay,animOutDelay=opts.animOutDelay;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.delay(animInDelay).animate(opts.animIn,speedIn,easeIn,function(){cb();});};$l.delay(animOutDelay).animate(opts.animOut,speedOut,easeOut,function(){$l.css(opts.cssAfter);if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:false,animIn:null,animInDelay:0,animOut:null,animOutDelay:0,aspect:false,autostop:0,autostopCount:0,backwards:false,before:null,center:null,cleartype:!$.support.opacity,cleartypeNoBg:false,containerResize:1,containerResizeHeight:0,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:true,metaAttr:"cycle",next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:true,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:false,slideExpr:null,slideResize:1,speed:1000,speedIn:null,speedOut:null,startingSlide:undefined,sync:1,timeout:4000,timeoutFn:null,updateActivePagerLink:null,width:null};})(jQuery); +/* + * jQuery Cycle Plugin Transition Definitions + * This script is a plugin for the jQuery Cycle Plugin + * Examples and documentation at: http://malsup.com/jquery/cycle/ + * Copyright (c) 2007-2010 M. Alsup + * Version: 2.73 + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.fadeout=function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css({display:"block",opacity:1});opts.before.push(function(curr,next,opts,w,h,rev){$(curr).css("zIndex",opts.slideCount+(rev!==true?1:0));$(next).css("zIndex",opts.slideCount+(rev!==true?0:1));});opts.animIn.opacity=1;opts.animOut.opacity=0;opts.cssBefore.opacity=1;opts.cssBefore.display="block";opts.cssAfter.zIndex=0;};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore.top=h;opts.cssBefore.left=0;opts.cssFirst.top=0;opts.animIn.top=0;opts.animOut.top=-h;};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst.top=0;opts.cssBefore.top=-h;opts.cssBefore.left=0;opts.animIn.top=0;opts.animOut.top=h;};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst.left=0;opts.cssBefore.left=w;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.left=0-w;};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst.left=0;opts.cssBefore.left=-w;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.left=w;};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){if(opts.rev){fwd=!fwd;}$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst.left=0;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.top=0;};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){if(opts.rev){fwd=!fwd;}$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst.top=0;opts.cssBefore.left=0;opts.animIn.top=0;opts.animOut.left=0;};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore.left=0;opts.cssBefore.top=0;opts.cssBefore.width=0;opts.animIn.width="show";opts.animOut.width=0;};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore.left=0;opts.cssBefore.top=0;opts.cssBefore.height=0;opts.animIn.height="show";opts.animOut.height=0;};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i<opts.currSlide;i++){opts.els.push(opts.els.shift());}opts.fxFn=function(curr,next,opts,cb,fwd){if(opts.rev){fwd=!fwd;}var $el=fwd?$(curr):$(next);$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++){if(fwd){opts.els.push(opts.els.shift());}else{opts.els.unshift(opts.els.pop());}}if(fwd){for(var i=0,len=opts.els.length;i<len;i++){$(opts.els[i]).css("z-index",len-i+count);}}else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z,10)+1+count);}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();if(cb){cb();}});});};$.extend(opts.cssBefore,{display:"block",opacity:1,top:0,left:0});};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH;opts.animOut.width=next.cycleW;});opts.cssFirst.top=0;opts.cssBefore.left=0;opts.cssBefore.height=0;opts.animIn.top=0;opts.animOut.height=0;};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssFirst.top=0;opts.cssBefore.left=0;opts.cssBefore.top=0;opts.cssBefore.height=0;opts.animOut.height=0;};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW;});opts.cssBefore.top=0;opts.cssBefore.width=0;opts.animIn.left=0;opts.animOut.width=0;};$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});$.extend(opts.cssBefore,{top:0,left:0,width:0});opts.animIn.left=0;opts.animOut.width=0;};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;$.extend(opts.animIn,{top:0,left:0,width:next.cycleW,height:next.cycleH});$.extend(opts.animOut,{width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2});});opts.cssFirst.top=0;opts.cssFirst.left=0;opts.cssBefore.width=0;opts.cssBefore.height=0;};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;$.extend(opts.animIn,{top:0,left:0,width:next.cycleW,height:next.cycleH});});opts.cssBefore.width=0;opts.cssBefore.height=0;opts.animOut.opacity=0;};$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore.left=w;opts.cssBefore.top=0;opts.animIn.left=0;opts.animOut.left=w;};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore.top=h;opts.cssBefore.left=0;opts.animIn.top=0;opts.animOut.top=h;};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore.top=h;opts.cssBefore.left=w;opts.animIn.top=0;opts.animIn.left=0;opts.animOut.top=h;opts.animOut.left=w;};$.fn.cycle.transitions.growX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn.left=0;opts.animIn.width=this.cycleW;opts.animOut.left=0;});opts.cssBefore.top=0;opts.cssBefore.width=0;};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn.top=0;opts.animIn.height=this.cycleH;opts.animOut.top=0;});opts.cssBefore.height=0;opts.cssBefore.left=0;};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn.left=0;opts.animIn.width=this.cycleW;opts.animOut.left=curr.cycleW/2;opts.animOut.width=0;});opts.cssBefore.top=0;opts.cssBefore.width=0;};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=next.cycleH/2;opts.animIn.top=0;opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH/2;opts.animOut.height=0;});opts.cssBefore.height=0;opts.cssBefore.left=0;};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssAfter.display="";if(d=="right"){opts.cssBefore.left=-w;}else{if(d=="up"){opts.cssBefore.top=h;}else{if(d=="down"){opts.cssBefore.top=-h;}else{opts.cssBefore.left=w;}}}});opts.animIn.left=0;opts.animIn.top=0;opts.cssBefore.top=0;opts.cssBefore.left=0;};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn.left=0;opts.animIn.top=0;opts.cssBefore.top=0;opts.cssBefore.left=0;};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top){$.extend(opts.animOut,{left:w*2,top:-h/2,opacity:0});}else{opts.animOut.opacity=0;}});opts.cssBefore.left=0;opts.cssBefore.top=0;opts.animIn.left=0;};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip){if(/l2r/.test(opts.clip)){clip="rect(0px 0px "+h+"px 0px)";}else{if(/r2l/.test(opts.clip)){clip="rect(0px "+w+"px "+h+"px "+w+"px)";}else{if(/t2b/.test(opts.clip)){clip="rect(0px "+w+"px 0px 0px)";}else{if(/b2t/.test(opts.clip)){clip="rect("+h+"px "+w+"px "+h+"px 0px)";}else{if(/zoom/.test(opts.clip)){var top=parseInt(h/2,10);var left=parseInt(w/2,10);clip="rect("+top+"px "+left+"px "+top+"px "+left+"px)";}}}}}}opts.cssBefore.clip=opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);var t=parseInt(d[0],10),r=parseInt(d[1],10),b=parseInt(d[2],10),l=parseInt(d[3],10);opts.before.push(function(curr,next,opts){if(curr==next){return;}var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt((opts.speedIn/13),10)-1;(function f(){var tt=t?t-parseInt(step*(t/count),10):0;var ll=l?l-parseInt(step*(l/count),10):0;var bb=b<h?b+parseInt(step*((h-b)/count||1),10):h;var rr=r<w?r+parseInt(step*((w-r)/count||1),10):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});(step++<=count)?setTimeout(f,13):$curr.css("display","none");})();});$.extend(opts.cssBefore,{display:"block",opacity:1,top:0,left:0});opts.animIn={left:0};opts.animOut={left:0};};})(jQuery); \ No newline at end of file diff --git a/media/file_upload/noten/20230331_130027_Referendenbesprechung.txt b/media/file_upload/noten/20230331_130027_Referendenbesprechung.txt new file mode 100644 index 0000000..bc619f7 --- /dev/null +++ b/media/file_upload/noten/20230331_130027_Referendenbesprechung.txt @@ -0,0 +1 @@ +ULA nicht in der Cloud \ No newline at end of file diff --git a/media/file_upload/noten/20230331_130029_Nebentaetigkeit_Jaehresmeldung.pdf b/media/file_upload/noten/20230331_130029_Nebentaetigkeit_Jaehresmeldung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c07004de02715ece040d03fca34754c2949d96c2 GIT binary patch literal 86167 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 M262Kp{^Rxk05XjeApigX literal 0 HcmV?d00001 diff --git a/media/file_upload/noten/20230331_130159_Referendenbesprechung.txt b/media/file_upload/noten/20230331_130159_Referendenbesprechung.txt new file mode 100644 index 0000000..bc619f7 --- /dev/null +++ b/media/file_upload/noten/20230331_130159_Referendenbesprechung.txt @@ -0,0 +1 @@ +ULA nicht in der Cloud \ No newline at end of file diff --git a/media/file_upload/noten/20230331_130201_Nebentaetigkeit_Jaehresmeldung.pdf b/media/file_upload/noten/20230331_130201_Nebentaetigkeit_Jaehresmeldung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c07004de02715ece040d03fca34754c2949d96c2 GIT binary patch literal 86167 zcmdSBbwC`;(l@+7uwcO*Hb9Wz?hqV;26uu(aCdhPp5T^1aCdhJ?(VLOLtuHAoO_;o z&U^3k-uwOeExSz5OjTEPRabY<ue;}sf~Yt>GXp!y%QrQU56VksAQRBW;1kMAK0Zce zH(O&y5q(E}OB+*01$|Rv2OtaNwj!g9zO^Z}kuklf7!8n7$<f})&{5gm*jUlV#u3QO z^_xUi-`+yX+QbHu&2!S&2nZoF7Jz(EUK(2){TA_@+23USmcb}u<75rVhf&(x$UzIp z`kb8(@UMK&m;QwhqM*Gogzpax6^$Kioa_ya9U$_>ZLA%i56nRJ->QkT06G6iumZWC z69NK^>hcDkj18a3q^uwXWo8FLzRyMd<CFu)%<&IO1$!GqC1Xb|Mu_DYm5p5;{~!_m z;~?_KLF!pyMj>l!8%IbHnAx6rb%2br#zyA)!Zxm2kaH#=J2yK6D+`c|jfH`U4RTim zq9>#T4#3~!j1u-XPPPz*etY5f38NCDvc0~wgY9!k4c!<;lo&;goy`r66(xir;*|9b z93Uir_~Q?2H~^XcYPjc&|1_Mqxuv7AJ)^j#zN4|Iv7wETF{6yJwW*^Skd2l5H<yE> zy|KO(%1hU@7VTyG#r}#`wZs*D2EPPY18=CjTIKOfm&BTya0*@((2jo+^;eBBd&vVX zQ$0Gy&!+vy4Ism#p8b;!KtSf}*WtQN)KF`emz<BB%d9X_s5?XZ$G7eSt-q`t%eAA+ z1ZAz~LdK^zciUo0!8aF1jsmTzBfUfWo0dMA#3ZB@T}8|3;}#<mc}zzK&Mxo_>w>1@ zR7>S)`9}x(E>y-Yx0}C~)6vi)o<>T+%}ox_dFFBE*WVsq7JxgPx#aUqG=GTVAWH_x z6)r;PhL+PS!!Y=y4k@=wtUBdZNGg0zP73&9gR7AH6HT-SL@oSP%kPX_cFTM|vYPSn z^g*@p^YELPb2CU-NJYI-5lx|u!Rb2<E_Nfs8mdIzx1A!A7(OnTR8I}<^Pq%>3gshM zN5eVAro^~ad9ODQHxWOk=j_7KnS+Vl-I?+jU+($(j2@wbf=sXPma!(swIe=9F=0(3 z?mRIZgIzqw36FmQRh(@qNB<iOEk-GENzD|yq)G}^klB|6%`j#62~kY}(KG~hdBy2> zT5-ESB=hh>YaIb!DRVyZBud3X8D0*1R~P1b027l~P8F`D69bg>KYk6I8SHcO24xPZ zi|6;{pKkCo<kVG2k~?GLjw3FUKE5j2JG$&sTf<{<$FvXFCCA{Fcbo~>%U73J?b^k< zE!sPOyTb<!?$6N4&~6sw=h5$@!d(<0b4bkdlAPmk`yz_#b>6q$+R>2?M)Ao=vyP$Z z)pPvj1al}#*a907Z=OQU<N$>^ctI3Eh>Tlf_-^XJ1$ojhEU&X`9*E)^jI)K`{Eh%^ zuV>&eJ_3eG5S#hS3&*_v7o+kF3_jtqj?QO0Dv~OM?XTc=-Y>(Dn*|aw$8I?gQwsKY zxH*En(!}6R^OL#EKHQV0?9S6VpPkr8aOH6z?(%b8*AC|GnO4e%`FBu?JAWx}!Lr07 z(e?>lNhh{RG-RNOa}2&BxcnxihnppcPn^*zRK)Kc0!7p+{kqT^Ef`vH-1PmSfpjfO zzEj5=_AvLAYKw3zovcU(fBQ=CUR<3YhWUwatyBPwzigXK>>CXcg<Viac<G9EPAT4} za1uWM+LIy)(^qD_XIqE@nQN?mqgZWTfFKh`Uicu^FQtsJ?qQ-1X`PtOIRY=ulwYv5 zt$$`R8O(ScwB%yQ@s{RZv`=5s{Lal7UQ<-#?p-H*8LX!ypvFicQrhf2r;9Bs18n^g zgY9dUpQ26ev)mFDZ&GQ)vS-FdFHp1kU(e5Kki7$w4T!e$y5`f7Yhva&DKzXkpr)n^ zh$u8Gy+Sb>g*h=t9(4O$Y*fe`m{2)r_EwALZ5h+KIm$S6ns<3lkt$+9fXwuk0uS4# zT*Gk8&lw3O8A85hT9-%~rfzZA{Kabhh%BD*yxbsUj1J41tmekZP}*wIH29hYF(jIn zxIk6Zslp3D!6Wcj@h~;oFj})xGI|NZcqwNG9dnWBqLaT|23Yt7$BMuZVsZUjDg@~v z$Mkmp68Z{w%Q8$Xsa`4V;fAN5+#OvMW)FmwbWv?x_AMZ-yQyAM9EBNn?}%Csu)YPx z$gS*3Bv`G28tC!LjV<EMh!+NxWOh!3y6vwXG90qTUee4)GEa1BSSKK3W7f=qYpYd7 zmJJ`H>6BY^uaY}9o;;K3Rytyu*~P2lS1~`;{Eqvj9e1{I$rN(ll*06X6=0y6R2R-! z$mFmZ#8{TO0(nA51O=jmPa*0?)&5KlK&P4Paw)0iHSb6IMjzfCs%jif^T|X)uy<Vk zwZ2Yd#Y^>#WY=Gzqqtd^n8N}cZ*<1%C>Vp)I3<}i${pxV%E~zl_#+=rh#c?ht*l;Z zy9~PbR(q@Z-3w#EDAJC{YksggKe`l`qB9*|t#mfH!aBt-#3;41zYBEHV={;?S}fht zh5Mdnz3_2nlta}TMv;Cz{uBC)EGvBp;Q$hYuP>k7V?YrbSF&X<#^BphUOK@`%ZcXD znD=ful_UZdx&8~4wu$a5c{G<vP?BH!O(}ybv%d9SF)YR7ky(K~>zLydkwZ67>bN@* zLI&2|#$-8-)bGtx*WCqcI`KF1`8Bd(n=0tTrn$j5c-!?9_q<GRfmgr0@aBClhVk{g zW82WkWv34DoXDl+dB7|l37%I38uDi7CUcz;)Q#D&=A7z}zRHw++22c4a$sa$cy|!_ zs_IhKYjAfh>Vd+o^KZq{c@kuWW6eZ7jVTV+v`E8?ncxG-zB;Sej9VAFOCpDqj&Ol& z*)1D{&Pxwsoi7$Laf_;aNyatHVLtiLH0IQpanjqnc?ezYB4Esk6yheeHsCl%J>)KG zf2@ZO9X7FRFq3OIF|1KIsl~S4Ct6%eOelr-ymlapR7*vXhN{8f@6xnkex(SXh@t3A z57!0yq<2JTHpG_y?Mb<K1^18{H^MQL>Ut~rg;NxHZFW-aIZ=Ts)3$#<Ap0O%Vd#@R z`HzE*`J&M`Q?C`-iGL)ib7CAils7t2eqGnEx3^Ig5kk?B09cw5PE(D9sb41Td;MZ0 z;0%YmPwaa8v9KcyeTa{54Li~*-Ag%UssPmrU`AO`gM&e}Atd=Bq*A!>U08!U%JdNK zXS_F?=tE31BMb0zfH|lR`j@09Xs<-=dQ5_mnDh)vk2Qx4I!7ogA_X>L=Fe$+G%Q_i zkV@QT4Ksw!*y}SUQA-#D-vTM(g%=fO7vH@PNqJBB*%gk_*1x2QS|dIOrP@r5&_eTL z+yfnE`BEBUvG8CM<r?}>wn92M#K7vK?Y!?{lUpQbA1m4%dtXcYwcE(78N&t3INKM` zoOPM8G;q)^^h5dygX#Rn5<w!rP_exqAyW}5x{HUZ?r6ygGI4hIiNKm}3t)>wBWXNs zx#w%k4GDvlbyR-E$_C4&y-Xj8KyQ%OOMF!M<L%~4c5@$@qr|W|%(%5_*}6=ruaqCC zC{upzHhVtA<?nGvK@}(Yqe=@|q{)Oh8g!;p_d{z_v6b%!b|6@HykrUqfWL9E(~VgF zPLn|Ty^1k$@B6Fxvm1#;IK|$(7YTL|>GSXuiq3{2*o;@b)B|}#J?zfnJij!v)#Xl^ zB31ZoEXl%$E7&0|`TVrGr!yjvh8q*ycv}vKRnm1vu)8nZW#EzthxD5wX4j9sugt_- znbNtLe`>sI`X(tB{9!u$((=4QIASeX4>S|KmppO#MK*BVU0ceAxkbF3BCPioozLlx zHu?~W<Gp7#dFy~<!^cFesdl^0tR!z6U&$J%sN=5ys`bUyJtlM~evtvn*ND`7-__W} z$`{zG%FTt>eg-?m!Slw7eehWDNEpafSzqtY*z@z{Or6Jga}((?g1QF&QQ7fzk>;8X z=FNd9Z~6xx2Q0hw{Tzv1xHo({bW#@IhUm*t{kb<%UV^vFRO%!XCFEYCqI|J2XMPbx zEKg-;J>8%_19p{2WiPVCM#Ik+qsbt+x`e9v$)L?wrCsu|SK6`s+_i`%8{ML^KmTCx zdJ8tjci%oUZu*3!RMs(i-2-_kCHiw<PBBv$O-g{4)jP2{UzP<R{#ck?SGpOsxHeTt zqG@zGJ$*haE)l;*EY!U|F7&r+8e?wRwsV;usCFd<)29z-$Fn@W#RvdfJ#j#}O^#O& z(Zg!NdZ$K2{{Fr{y+9ZFP{6AXtRCD&hOW}_xwDmm@t@ykf0Bw@{YI1g%LBuw=$td( z^d%$Ofy9p`PFqAff07@$Y|~3C7WK1msqK%<{JGyX=BHLZS=&@3wyTD_7Kr>R=?yN; zeB`h2$Gx`A%Svv}<MkUo^s@XEO@}BjbLYJdQi1PA2y<v%O;Vvc#1IP((ecus4$rJg zrP-#n49}@U-|}MDA9;e<rHmz=VA5n~1Jyw!=cy#cDoJ)#KxA9Zp)FPWVQluaRC7Z- z9zJPASfn%D!*8;s<NNE^%M84du{hhwZki0nZqy~fNs)<cnVWBAWwQmIioOSGfRx~C zY6YEJ?HuvR^RM%}Kgtx3K(2x}{q=ZR5=|s~QAZ+<7@u=qLF>VrRnzC!zE8ztNrC#F z0m5<pMPkro1IxA!>t8%oKRdt1nMvmzt&!d{XKO`p@w(@@S?2!x&|vVKjkC(Q#y+$n z%Ca0MqX=d9zOTH)Sv<P~DNeH(>y?gzwgHu6;6}0s;9aZ*c*}o9$6>HYl&e%^Ud*M} zXbip2qUO^A29GSue0Pm|@A^7ERia2fJ^GR8mKeVkvAoVm$H7{Qwl6?n(GAK0SEUIo zOa7{S7ARz)ftJ0V{}QFXBjJ12FXlw_*H#<Zu^h_=Jh{lLXm<H33MrG>cmxr{of(B? zgLDi=7g?`IQj6UKJ?`B2ineLH&WEd!+{|-2yw|1g`P(c68?yZ8lVGGDq=cWyC4JZm zt&?ve0Jhe+<NU$Hxi`bL_~}G9i!1d%ykoh777t!Vbq-w%>m*T?z*mfNpD=MO2&iTU z;LU_#<Ycc2&u@7thD412Kq9D%$(w{v=A_Sea!K@x_AaJs=T2W^{wC8hv$Z<2&<2jt z;`vge6{YH~wOSZFK}O@)MdV+mSvTCR5hueI7|qv}PKDtASzl7qq480KH2ka(x>Y5~ z11L~`zcbSC)X6jO$UhU6t=<dULcV)d%YYm-OC2~E0@rQJ9`+&UWvGqep#5><3*&0} z#Cz+vtWDr4x~4X&;mxmH@BP4N0TXm=VBt9IU)pLSXtU+Qd9+<ovr_fZ=s)b5Vl8-> z*Li|B?+|CDR3c)Z7R3-WgTIcL`5WO*_Bc^{tPN&N-0*5gz2%!-PaWJZm+N#O4$(7E zr&{+NVRtFZDm(06{M@Csda=~1fNGaa_`r%>+vPs}#ln*n{_AT61f0%R<S5Z_9hkoH z{jOW<PIg{zBd>_=Ucp~wvDhU~n`D4W8^$Lj-fBLYHB$P#Nq?W2k0zcbV`Xp-YSkZ< z%qSG=gD6p~+o$+Nc*#G1ov2PK3nyE@EQ~{K8MAIquYFzJ(c)%S8cPstnV^;HV8MHf zBjdH<FQ?BZGq!q6=-^RbuinC(4+`S`3CK406J6%q(G5&EBqBG1F~6~DNUmt-43&+C z1%tw=VTBxHKDI{U{!|!i?I`jP-w&c=Bk8?X|M(g)S|n(zt!|{Goqna)mnBXMM+%E< z1!0h{Wcw_~dp4Y5(B)-N`ONH->UspzOFqVUFQsgx0lOdB9UH47I(sUv_TN3;C$B;8 zXw$u5@z^n6{OHRwE6em_5;h-gDH0H2tNC6^dQr?T<f+o;paFVex0!#eq_X`b%dgtn zfL-2&+`SrN7rB!e`u7h-DrnX)$TCWwd2i-NGVUHDB}|wm2W>v_VF=sJoX0JpRA!Aj z-w8FO4cS;oeGxW39?R^MY?C@l4(f<!jY6ll^{eJ=H)Uv@G`T0CMEy9FS;XpuM~FKx zmsA<7%Sojqy;Q6)FTk%lww_r?!jxbDKWT5+BPg7bfMmD5NHs@CBTe+vuJ$d)Pn0N) zA6wSqkmhUJ2`u+@D*+jXouqBg_~gxxB<!7nUb{{~aU8xa!*h<G)77+!aDMqx6zz`G zPtuI|bIB+x@NAVdb;A14`wmF3aZ%hx^|q(XSzW_yRfhZUtdA`vCF|ZGiRz)x<kq2p zLyKZgK7{I0K5^ZI!BK6wm}vV$%488bjlLONmS1}X?raY80|pxWMPRtV$0EhsP2%W8 zzRIg&xqEQ9)aulotB&T{a@PhcS<lctzo-400M0~*r$odMfq)ivo`0cIzl}LvxFOB_ z+F7nwL_J;p0n90imz75rPft~nKxB=6;oQ%sCLcLwX)N1BG7ZeUwVNjxjxH{e->}x7 zkjbA2*E5FnC*blM$9cx07?qq19G{^zWe6hn`>LG2l`#aLVieYQF#b&;WN)r-$tY$G zfo06CO&Qh9t%a-|%>U>7nMTyu!O-5^*3rfu_#2vH6gRhba1=4qw+FJaKoGirq*>Tm zAnZntW)2WU>mL}_KM}a+3;&|uKXd*Ko&8qs4}~CLk*ULT_EHc`(A-eS+SJk*$iyh* zVEBx@aWk<)@Tfo1^eoIw5a`fW(%9V8%n``R!o?`$Z2DUfAR8Mq1QT@q<AjBSgZ;M{ zwLd7?n3x#V|G~w=&IG}v^q)-tWMzc_TgFzZ5bodP!oOiOdI&f0Sr(9miHYf1%-@m1 zXPoa}%J;w7pXHzSS2njYb|7bAk~4OJ{8zNG(zpJvz3~VB`M-FBneCt6_zgn-6`p(M z{1<Kioj3lSdjD_VaB(yL)i)e}@eKzz>tB4s^jF`ob8!7PzF}ke(>F|i^$mpk**6@2 z_y!{8@4k74UjL=E|MU$cK$!mNkpC+nq>LaH&fL+BUh*HMGSatpe2xl8Eq{hq6&aOn zRIJUPQB6p-{|zDk)zH6be#?e{v(Jb(1f2b6Q2f5~r)K|GNd6hRB2uEy;+~_I<qw4R zciciQE89p&iOTBRGXAL}qo^80DM+=3+*ERNfK=jVTpY;!2T=Wgg);MRT^S)9?7#8n zziItfyj<Si$k-kd7}S4?fgtgU#-`?w7RZfS2!gL0KST3QwzihWR?ortHyrr4ls`-O zKkd@Lt7-o~iu>PH4}xkNvp|gZ8$$n^@&1Z^|LH{;b88ET)eIfAfE+9g-0VOWPRM}+ z$i~jbz|9S0;o@N6<bWXa!b%VvUhUb2jN(8xMxj4Zc_Bkba~o?2=B}bB_57nYb9A)j zVPv#*v~-|1vT|UswXrmJH#VoYv9>g~HfAtzv1EYY?9cwUx6*&+HMVAywz0Q&vVA^r zu(j{XbAGPbkW6WwXAu61<pY`jR-S+9TK+MG@jnstd*<Sg)&>IUb29#;QDx?0hRifr z+Sn`E>KhtE!smGcLBd|&jZxU#(Lur3Uc|=A_E|AUASC$zm?RJtQU1piffQtl!X8p8 z$fUvV37tRZ449c&S^hR@@HF?d26**eTuK}O1qB882>Am%EdoRU2yk%laIgsQ@bHL; z2rrSbP>_+3knu4v(XfaKNJ)qZh=_m`3{*feI&vZ+YEBwDCT2D^Hc~2Xel8Y1239tf zr*;4m0-y$}1_}xt@YD?;1puI6AtIio{Nn=!4f6sP4juvVB@%?7<`n=M3I+!H1q>|g zix&`TFUWns3v^hF*UUn2m>=}v$?ULL{9>~a$b~C9uocJ8C|C{b{SjZ{;NsyEyrHC` zrg_W8&cVsW%_AZzCN3c<^<GI?MO95*L(|a6*u>P#{F8&Dle3Gfn|nZDP;f|SSa@7~ zLSj<#m#--~xq08d=NJ4atgNc8sjaJTXzc9j?&<C89~hjNoSL4Qots}+-`L#R-r3#T zKLDLyTwYz@+}_<kEdUUn%OeQ5xu?zv|Ld0q@#VKKzJLL$8hXX)D`_1}iRNiWJ>!}@ zdb*G~<TZ~B{~x!e-L(QV6FA_0DSTCCc^j7FxRnn#xps5mGfC=eK|3j8(OgqiO=++& zaZ*RLv1g;*NP6fNtm>&!^afwp8ja35amN{v+kFu6QL4{X5*rDQEK>9c_hmQrZpCqb zauTB5iwipKLe+OQf!!_dD)x2gu|A0Xhp&pPB5CzL=V!~+o%a2zU-OF0x@u=Px*%Wq zmwV@<`MT;W^Ms={KZ#4p{h;B*VUU_UtW*a!<G4ENHtK7rn^o*^Lu<lH9TASUXXvcR zqS?ef42W}6ks79~g}DKn85Un^CVpP?z_#YoPbZa;l-PW?z~!j3!CiQL9{JhLPjZN* zQk-aO7f6yg?<sV)6YI3$^Kz8Eap=wTrpA)y-8UQ$pEpCi0CCTjtlhD--SCYvkk9%P z;MMAi){hvaYM$1_gtwOCM2krZt)KA-W4awnhx*)c(sLf(FqtcjqE|CZnN#2*Q#8bW zLB>%^W<V9BbHv+Om7a(Rv#B1QRm~u&!$i_bb(5;s`lVPkAh0vCD_~g^AOEY8tG#rn z%fYn^jQz85dZh^Vq{z<ddWg%~YIZ1!xxvtZr1Pg5pbkLN2hZh=F~vUYvLP4y!-6NM z?q1IK=FI#$wYkYPJ?Ev|iFB=c{0PS;`=RoG^o82+0!lX+`>Z$Kh5mTTUZc8lpK}1Z znXdRK8K(-)QGrt&&$HeC4xTK(VfLyFQ_8`uXuf7b9#ErUm1756(!^8U1RaK+KFyqz z;7m*_(M!TmIqk&z<4CaTIH#pr%VLgQ%Ib|&q_rk%g*7J)VJfo3cb=C!^jC=V85XIs zip%RwwH9h$M(x-tdfR`f&u1qlpl*Bd2RXWrM!&AFn&|yPN4GPvZeigSeDZFbC(y{) z<JC9YLid<P+O)}<7vqe@-=vR;ZGfMLFqS3HB>?+hHe++eu7S|pJx)j)wB+kv7@fUv zO;go}ZMCxG+FFBkx~5-u1FqfPIIUC)63TIHhG)ZvU#0R>+-e?NdkKouY@v)5v<5Rk z1reBr*1~NglhZM`@9R)?rLtsVmNFVur%aBHb=1@*e6~6k-Jn(o7(4P)|5Z_D`1i>C zYn1+(Zr1C_L@}5S&MwgY<bp%VFL#0!BOgp{EE~^7KDwYsGN_C;Q`0Px>x$HgA$gNR z<epJrY1$n4NvXPbcc^y@g+{-AmkXu>sFqmPr=us6o-BRV7GjBx7Zj>dZ*&}4RK~TL zRVFq8X3|~p1WxnG(CepaPHvxn3sMM8Xo`x8>OOk8((p!Ju4dLufMa~^OfL1uVFvZ& zR+8(BxStagZVne%%EYt0c99Rw7b)MK0Epo14Z5Cn(wEBz&ZP*PH@io*-{hT^IJvF? z1UnD!Q+5LKhf7?WI=qpm*}g1`J^?;PwT@%N;W`^>GvmWVdc(v{#RTi(w3JIZhOwh? ztgOStl&|pg9<-x>S+zG@v@-S-JnJ~?>z02tPX}5OBM$nZp*Rn0cS-P7Vaj{R{|sk0 z%I_uow+8P|Q~vGZMl<?O1S5`+>D!ua_v5{okr#!$`t5>8+ZTOhC2mwPHH-wVJjchL zYQ)LmjuG{viTumqp&N-+>49jm?IZjR#I!xuB=}UO{+!V)@PkKqyF}*zVuxO?eJwCL zsJCLR!8$ti+Wcd)igc<)foSYcI9ohhpRh*snMQ=xw_-+~%e?I?*tLxZl)v!pL#FMQ z2nJ@rl&-Uy$zD5cUKmXM;qyNctAA0l2s9MpWKd5rFdUU!ElYfua&)YhsIN>q7moJx z(~mr}%dj|}lQBW~$?KVuYck%;+{<6|`Rt&`QwCIAM7e>}NvZ8ML1qG$qpkeUb*+IE z{v@PZfVIX*1*xdGi}+@-(<kfU5Wc4khmTXAAv;HV&po5mkRG{${)-uLh{~H$ay}!N z$u{f@qZE>g4SJIu9r7+*JBpYFD=T2^#48V@Ex)VHeVx$|AJZoQ_NS&yRWnD|c38g7 z$|j$7mHG$yb)D_HPCa-}?uoqF2a)R*x8uR%NUd!oOutY+V1`dvXc_OUe&$ABPlQ<c z<f&z`^$S}VyH_Guk}Q3Ze(eTu?rUoLAiZ_mU`H#!p{BI<+|VoapyCf~hrEU`t;%Wk z^W=+E>7>5yH(~6UKg<_~ho@?tZAIx-H~6r&BH_rXe7Pu_+7J>`dv&=Q(2q@~fPrbd zujzAP?&5D}jsH`R^g+ySg@`&6!_x{QX=PRaYt`hJ_mMuU*bY4_%r$2T3N>?4-jm2X zh?Mb0CPuPDgd74oOTJ!>M6;u6tE8URH<5<Pa&;<}c-eKRX{4tZQuhIur59bRIPB>X zYv8t`NFCP@X<MQ%!P8QBR`H*FnR0!I9)D(_IBBAFpCZlQa!S`v^QoY0UzQiiFcCN> zJZ_)o;%hUv<L$xg*08u1^?H-(KLHR{gC^yxs3MNtetLvdBVJr?VZ38c-4MiZU2NxY zUKpu!$~kcV@Rh7F9DxKs-o<smfRO0wa(~G^$e!fIh3sgAQF1yMn5n;cQfx>41Q@f^ z@%j%P^#?KRe)YT059+f9E56$1I1bbY-WpVTyO}@Ll5b}gHyFE`%8tLVH<h99$M?#v zF08L2GiKgx*9YnbqWkiY%%5p}o!M|s{3z+-q-;Vi(8f%4RicOD+N6CJbd;?522>lT zfTJ>3S_w55{6bBk4c}85ZnvUpoQ?qx{W`*m8@q4AUXWRPH}ncp<qmKIU4x$hO6FfV z-PGv%q05ib00@_OY#CTHWECLi2$w?Yri$9e$N{Xa%C|<)wsKrV(M!l6JzF)xvo-Mr z)fziY9IYs4@Q2L%qjqm!wg0A0Y$1SIa@{0YZ@ogkW(Y_JZ9W0WR7kNNM5Y{d<Tm9d zACNXs^ak-*dp>QzQ<!dlEU9<!w>#A1)pe!nU3m+F9bVE!YN+rCSpr7)FSMtZbFQI{ zt~AM`dXJ>E%(1wJd<gD%`B0$+zLwd&ZKTG#q-<LB30}dzHP7d$v&ug3CY#Cu3i~q( z$nG}gL>0p8bYn30@q3;ecDdj5phY;}EMx}N=n%?$$zMR3V#typIOk0K&`{yai@AzD z>G|<iE9ZMkV_8VG?7L5KT#;Jl9Kn*QG0l5zwjT{?m(Ee8O4|I)H@;Lysghz!6n!5s z#2NZQ=Nr_~FZ<Z&SX#6meSJopSDBL+uf6=U!)Kx4bIe%y;og62drCRAC?_|PgREKB zt&eRiN6_%0-h8+{vgudTV;k4%ypSc6z(B5Q0${nvS+sk<^;7}rCKmLV=G~>}RIrq# zSqc4mhuWdbjfZVSQ~uEGFJGg4YXRczX<WU&j%UAFbTVh#O_pXUM3%)9qy_-GgGU9I zcEe8}7&kpG&%Ol(k`RJ8ew5~^*K765yr&$XZ#8Es%!~JB_4D%!&u0v0CroW=%<nEk z-NPh-P0EPXc5~Y!(XeOXT|*me)C+E<XakW%6|i6Z<Xkmqi<_Vq$9t%576XKFT*7B8 zxvQxatn_`~Pj;DnMOGWMV=o6c{UUQ)`w7tH!C8K5vwmy5yhBKlSmy-Wdy)C;pfTm& zc36MCNE>$>X6V2foUBwHI^>h9E%8Gui)(c|GhJ{^QrmDz<*<kztq+V-`%Bs6RH{X^ zUKxYM2CpBbI-uh?BX^<I^fqRV6w{RqVJ!vhaf%8@WB&ScVuXYBTZPA73Zu<{*)o`s z4=Xe{lJl`s+Zu8R?2ETH??I>C=HlrV1qUu1Qs)Eo%S*v4uRMt21ObTGrJokN8oxb` zWTU2<vY*ajXE^&IS&3O%_vxK`p?KW1lM<SruJ=FCySe}PA!bK44}3fC8oFX@7a6=_ zx34qXEwyqZTYdJesB*>P0?9z(g1Ej*Zg-AS?Vz&>AxBbQGDo2zCrE`DKnyGJw?6!@ zCi$N<?Xb<v;rdo%AoBnn3D%To4E7T9U5I$S=hji*eNLb4Q9dw|C{63sfAuWsG3iDL zbdp;nROiT8qw_w)KE#d))K8K)d26$F8sN$Pb`&RLw(czgrk-Hx)W?T<q<hufum^6p zlD+Z$1=Tu-?6>vwZ{h$w?*yrVQMr7eeT_CWZ{h`4=!Hl9mZbZgdlfg+M2<KtB4nc* zI)_v3s9FDN8)(;UPrCw(Ds9~XKFDK6hnc^0a;yflc%gmY?qN(R&#dV>F{XmYVJ6mX z5VVCFD0H*-1$KEIJS_tMfFLW$?*6FGf9{#E6j_RL$qS72{So@f>if<x_g&B&)`?BL zkUXqC80q9q`nUxfEiFfX!J2O>+y)u;^akX73gF{U{I!_o(?rI(-30nUG5cVEd!vgW zZh7gY%TD@5>7fuOWP_y8nSCTIt9^c`z08B_n$SP%e(jN0<rt=ez$C=|J}plBz`Z*F ztzdOvXE^4h%t%-MB|H()tn`1O^M8Eq_)i4bF~zQBU0~8gvgxZ-LK+<rI;D}qZ8>r0 zt6m}e{T@SEkXCy+ml}vZmcn$4Zu0^#j@DxXJqnEClQzP;vF{h;0H~>$dYKn2e4CD% z!c{%JdE@_XZ&jF!ogeFiWOtxJQG@TAX^CrDSSybO3HCH<dZ8=+F@tj$mUKapwXnN? zfrJ4U)e8@`DlHiXEB!Q-98pxL<Jgp>=W0v)RWCFH+3qz7%>;b%O@L08V6Z$tuX3YL z^aD-dYLB6Q*_^hHjAS(R4(yjrKD4ZY+}p6V0VA{79-eo`hpoq0-bQ{(9h;dibq-$5 zY2HT2)Hi+!isrJ89l{(##vHAYaDenQ2=l80#ts|&9E4x;n577psHxl60``OsGZNW! z+0J^papOD6_9sP*3U64%Y)dPG*D!>7S$jS_0fN4+W!~doj{XAEey?fpzn&m$GFR1d z+teV7MHMMR_U8{}|La4#c79arYcp@?8h=^kCB9kwb6{PJg8*}Ud=S9MNl<3Sv<oei zQ}2}(yYxWy+);LIx?vz)(7+3$tu>=)9;lh7gMY+pak`DrSdE7p#f)PUZH;<ABY$Jl z+sI1_BSWhE63_fIUA+9;x@?My;&1|!F678iBjBSD0E~T=QI=z#aut}wQ<A``dQPKQ z$zY47O;YI9i{e?cW~KN9Xm7)N0#wjh=fw?Q8Ge^1B%&MI`O<~{xIRVNmCb(j4Kj%F zoc<-{(?6g41egtb0*puLiJAMHBUU{DN)ev`S>bihH5PkQkI0*JPRCWM=J;(Vp~o`U z=@+eT+~L5?R3Pg6_$L0~gRM4GS?gXD_a}g8gFlp$qrZj5Aj(z&Z@i0M(*+cG$bHrj zG}+FvkRP<z&Er&TcR*mq$eG~lR_=piH&wPW`u$+r$5hrqUi$D6dS_ut_r3SD1+O?~ zEdVvO@eJ@$aFu=9Q)JB2(*eXQeAcX5;b(!l`l*gN3zdulR(9E5@(Iw_ajct(lbmaI zuhfMdm0l9~fq1XtZI;l$C^1ilML!tjR<TQCn!Sxk+uT;d%FTt$Jn8i1aX5c>71S6> zIKqBS%O`F=K@g2MN1qGUtVMRoM!jRERe9A5?^6@I^fm_O^rc@@t9Xv`p_<9zm-C)X z_W|Z$;hYHGfLGC0Kc#HGI4@q1aP@e+@n8C$Zkb$K=3GJjbuw1~ZiBxnr9uoFi<9F9 zg{6bfzM64+5WNe_6Q-tOY%L(*;H_p5L&<hS$^!R>N2qXh1+9NSA+I!QE*ICRHbKho zw!Tzw<6E_w9x~s%c%ZSgYOFmE%jb5mLA~C59axOt5Zo35j?la={6}>vOv!)nw-G!H zcmnKEw({KSmCWC|Y;eREuHLno_zsc|MmBkl^F&f_op-h@c4w0E34Yr@eM~j?a`8Oy zOh{SIjwDs34~WSUNOLMhT5Aio;#1nh=Tj;=xQ<&DvAvQ0NO&_!!+oLdtk6e}zl-1J z;|g+#WXps#i~4aeQ7*hl7S5cU2ud#$M9ufp*69mveRJTA<AZ7LOh6x$`Pn+VqW<Dd zeH;_(0G@ViKR_ija24}J04U}I`xwbFTdR+s0`1v=T{VUwNlubq;v~QV%1B&`La(8h z6PDur=qK<nx|e&G5pZ5=Dl!cwcde6_)m@;+6sf3(mX@?Oh;z#mW<h#22ms!jE;Q3_ zlH_h!jN*yeY(z-&S~O{WjD3vcOni%DxI<$ghuDAJ%bYel<4kRJIb@W)Wwx$x$Ik?3 zF@m`vP_c=Iv9#9;T~!q~Gv@Q{)6HTeZJJ+&+KWrBfnE4W<f#k_P;zK1(SV`T250&7 zrA0$?a(%V$;wX%vpluU89(?`&W$DHfpxd3}Yc@ljM?nW_%6M^@?eKYH`QY(MceJlj z%K0$qW=U(&28zn-$&=kW^>MZ)Bv<Jr9jT<HJ|gN~#7mfljY8L$O|)oFRtgt_On<V9 z%0v);imK-mpsK|cCB~++MX-Z}sS?x|tUp7yX(nZeHO6YqEXkZW>Wu)rN1y!W=tOiT z=43<P3@ZLS7(^kCkDT|>pC6$tvRNo!_ksO3kxsSvkTTt|YJt~>$ZhHCRsR~8thH_Y zN*XdYa-UVKU8GOHgzBtCdtqO4!u`TMK#%-3M854-2gDB^NU$J`wKM5XlS1THkhc|A ze#BE7YeOjc-a5|MtnX7%!}w~c`b2qmC=5|@lVm917Cj^3G?E~F(A8kIE5(K<Khzqh z7kh*$Forp%mMMQsz(eKHVCQCiHo(eo%u}H8d**k|iuz^u+G7GTe?3^ab8iE?fIiP@ z!QeK`kZuk3H?qV>u%VGjoX`r3H+DDT0{d6rZ+AD~+SWo%T2nhe=<G`Y#hPN2Ub^i! z@HLkm@E_W=lhD}^y2_zg9ra`<Nns9P*tDwx9sC}OMg%B5?PMvXqi{RdN4{YNbDzG6 z*bWRBEG)l^v5bw8*$vladd#wMd{ogtJBde5B33-P=Z0TU`@T1Y-MPz`wmYVJ6XDIc zx}SkqHC26zx>_=Pm8KLi@S1XBuAj$d?<d+jyD2Z)$Xk_-RigPlf&g;?94~v?bYbbR z(iN}3!NJrJes`GL*&GW!O!i@zj*0_LF!EHgieqdBh4A&vx^{uN5iuN-U9^|DgRb7$ zP_H*<ygCS{EPoGW11Vi--J(GzLp`$eEX%o<5bp>}t>M<AyD_1apk=yQ=Np5sm628d z`6-El3hz1p0N!<}g)pcrycM`C&lya2R9ymxkL<HR5NSnMh5pz-o#18faW#tdD>IZQ zIlxojILo!C_)Se4e$6yJdJfVEGo9sdUB=oPG(TwSwyk%8(eHBa)ak3SN@92y5p%LR z9`c$qX&7|#VHYW(wbML%Qiym%OCv_sq+^jNr3eY?ZtR(G<R(?^JHS=(ueNAi%Cp^2 zvTBfgpz7fK$a@-nhM$}Ean7xR$eRVn(+8R8d}77IMz=2OZO0KRI>QCaqzoADiDCwk zTc+^vrQ)cx@ExQCSM(A+L+fog`%H5>!;G<noiQW>9^|=kZhX*a+IAxnULfv70esic zDp*njyEwanHSd~@Re1JH?0qo$bjbt#dg8P-!4Y$YMM5}rbVmpBpgL#_eYQk>8cgpg zf96~qw!u#_LXog-;K~#UuMkK3N}jx-SIk4tzu7SVcC)MEU<NApF4E!ME<I9op_eN# zU{7MA($fV*ve?OqlcJKC`pNwfgk)t%Xn0BlXE=vB=F(?fL-+*f91M_1R?fKT>O5d$ zA!fERVorqN^*p{?p1qYE^;CHRgn$JmAAEB7kMm4c4&V?SJ`LA*%L}97D+L7jjoquI zyAEx3zp}V)R0|oBc)=N3H+v!S02O>CO3u%MNX~D|Lof>BJVq(hI22Hg$!>3S?V?ED z2ga?VNhrKLhOc#aq^$#G_9BrYx%#|s2=A4;l2sjN$f|T++@=KxeZD%7Y$r<O=b7T^ zEdfc0ou#_Q>1Pd5FuToaYHCS+$!#AY_4(Oul+gwMVumvDm)QPn(pZmRh!gHq+A-6D zRjk&s)a$C_nC{t<J<al2HeOj7P3;Awz~wFN@AH^xA7eVdPYZ5gx;+83NuK~h?B^lv z{hq54JW3~hiA1N7PLGpi;9)(D6%EY;jxq}mE0p2p05q(AVs(#z9#5amlDB#xdYC7M z<EC*-T9U~e_ArCAfOZdGDP4EJQO$c&wKLUNklOpRnYy9@H!Oo`Yn%l{=pwhmNTGhJ za{L#h?h_#SNKfwdbRI7jj~-lu>27C^e&YmcIhI1y@#tf}=&LQCD*1<?W+8}zuOX;U zN<}N@fo!p-W`JahY;CPHY`vn~^aaz=sv;4pU?c4TmS{M8G@G&*l#23401tq6XLLal z?N++lAzIdN7remkZrY<`;zhN#++F@&(W5}W7Og2wfD>#{@6F!-fOZx+n}L|B7|@+k znlXzjQ-U2Kin|SfUL241VPMvwY&g^Kd=ILv+9Y<q8KTG;>{mfN4C;knqx~W9YSPl1 zm=t9x|2inWq$r2*8}bsg(0&L0TJ#sl$gN5ny|%4X8yimj*ig*o-A^e<NhG#)e}Li^ zXfuNd))IxzC%9j2ChC)YmN>u1)Q&k?7={d?gG(ED#lY`I0e2Q)=xk6(-#j1x#;}M) z#khV`@Q5D8&l^~2E>cc_U2y-y+gV>Q`++VS$m@I9qo2(S`w%x1Eq|F$g>rUv8McB1 zHplSmP(N;+(J&SzQcE~*9M<f|m=B)-P==Yg%*PsSRrwL3Np&k&jqy97sYOikDtwZ; zd$w~=0P_}F!Od!x+f2Q$Y^ms+59CR@*5B;Yl_lE?J&pl&V|Cwj9@8I;f(gqImIp!< zXF0TDK0KHSWV)g`UzQFD$=^zQGaP_l8`J0SAwDJ>NcNkL$oxbr7|^rrY%C*w0u1nh zI3N8>+b)&VK70RcyI^|)Earn}N_RK&hH*Q+K42kBQy|P=UO-UVcLiV=2*cY7$jJD@ zXV0X$>-uvr1t=q#B@07JKScjQ-MQC?=N{v<OOrA?e_>8<U)9BV#!nUD1gM673_ynF zT7&Adrj5E?8eez-P6MNv3WjYk-bTKFRwj>;VR##JboT_H_z4+?U$zZcl-$OWOPtMi zTSoai-l+-nND5|`u{@^uY+-Jo-Jha?{il7dqozyg`CjLnmshBlm4>ClpVAq=mapAF zn-<f9Jh>N@-Kz13*0$2k9D&E-GhWv*-AQUEt+5&1fN!=xd|HJ%x;pG|DRM2-YN>zu zN{W~KRc?9zn!W1{`?#mNpVB&N4HEcF!U_+zSL*dF{9&&}^kb@3q9<*!j@vu7<W5#f z?vDkitjA4Pg+A5IW{#_<{mM3&a@kF5f&GuL?xtNp-1X#;cL22VUe|lI5Kjdf(qs6K zXD~!L9+WQdFIv@JcoRyj>yCmPz*1_Vf`|T)v8si(+R-8eC(MA@Sg-2|AXef|)s2R# zd7Ilo@IBKGgU=r>Y59u-Q6Zu#d>tRDfrLAVbiPg@MG*Vo-i)e0rSBM-wRg+uL*Imm z#tL?{9`S>FOH;B^L#2&?+eQl92WsWJ56b1_L469Ya4q?&w+>!KS}nz`Jdj-Sgk$jI zUN@6uC5ZKt*UiKL9_S~*q^r6*>Ia<3f}cXg_nEYji2~XWXD`Z#Zin<?`+64%9S91S zO9}_y{hGIG5NHMnzP#sEJ_ARU+>tIcswCcgmWnuLqDy6s+$4`&^A>Kky6ud~_q48S zo`T|#u`-Ey%e>7119dpqrl)zYq@J?E4-Iyk_x@R1$rmY4$Pp*!#jFeSi+yfnVW+OZ z&1Vm^NCDdqrnH(P^}o1P8?TX8k9|GPxE<>+o;1PA%m={QnjO%CbCTAf+K5hM->T?B z&XJUf<Cs?L@9^Phf3P?lN*%JGm0~z4CG%fkU%Gg|{z2jgl`rj93?}<-k52@y&)h3M z&?s3CQsQex3MkKB@WB%Rm+vCFS*_+l5ri_^6%(A|6dbzEfG3gPWh=p)BQb<_U7m$j z>Y+;N>(qvH>#}ydQfPBbF;lw!_2g!dV8?vmV}THF%-Nd9$%(9;9yFg?j;o&XOr~aA z^e|<e2%#h@p#_nj-)wA;ET~H;>Hfa2&)tYcD(}E~95;FB?FUd09U743xa0cXbP7!R zpgZO%mAxoY^htHWyMo|Fee{kH!C+U^o*dNjtj&l1OR52H!NU~QnvG?_UyKTMEm|J@ zaV^b$)9MXeOI#zg^L$p2r`%4%v*?{J=_KBWSPQJNVi`gY%9+JJdnlNt@N;>8K@7TP zTK3tHtNGSZLkGrG<P!mP<90>TaY>jA-)Q$Z{w}rK#I;A9$z#mJYo$0=B96GQt$2Q> z0(m_pzf;vKk4?9;C%}icxD^XQPMIXt;5As+Dts<WB52;(5b&_e%U1H4<7iGPvp7@_ z+BMJ<02=#{6wf4@G>8Wj+Zi18%Cv!n8oB{(zLCzAQ6<^-t_GvYBT_sK-1f~qua$Ug z_v=oo_+(z3INiy0fi&g-#b&&c#@@YdCUeS=Y*p>&(uuS70?ETjze&G4<=LdqpKw^` zbwn!{m&C`V2^}Fom>{_x;Q>cuTjyz*qJ+urvAb9Ap{a3y3I{2}y90bV1d=?p$rb3c z_`MbMIAU|vUFB(w6DM(7v@hpQB1cfYJf>WSdQ7*OqSFGz4`L~!aw)FXz+|sL(BpL! zc%394-u&i;+Vl$C*}|=S$AWWgM+Vo;5*PO>t>=itYTUbP=+fJ`@v;Z{qWL^=)%wbm zH<3>E{o;Z|vm=5~&HCSN4RxoEoFWR2)~Cp0j3$W-DqmZ|33h!x9@q>&Y2~`@6K+0Z zyXOziMY-CF7d@&iexshiVSm(sGy-_BwPmL%2<>FW?oBi|$C3T1F4OFbSK7}UnIsC& zhEb7}H9>PqrH#keFesf}6sDh%qhhvv-rfsOoUDLH2#2IpE!@VWh(hi0CHu*mFE%S# zAE>ABl|RS7`{@P$CHF2?d$*ktbFa1)p?=baomX0`-iAbk=;AGoxJnmthPV)ENPX#U zpV~}HU#FM%g-m_;`GPcJxHJsBD$?gU@=16>5nZKUytfgO6Pq(f>`1>nq;|}{MI2+i zzyRP8VYrc#$M}>uwh<P81jYEl6=f}T6+8h9b?O#Ss{P*;)$Q&t+XvnwrwrcGg5;%Y z#>mb_THJ^eYKuD|lSGSz*>7r-_-J0FnZn=^7frCogstFCY=_S*JUUs4yP$U&e`gsb zZ{X^K{{%sVLJKqTO9e*HQgy5mjl!7_4;z(9`*+VuO|NZZ(R`io0$|7vqI(?r;i$`f zMDA4ej_HOTlh?QVmrTC+Wk@b$ZqQD)5(Yuwej-Gm-D4(t|J4GEAWYx7E(%C&5=;O$ zccM*kt<~_W%@)#1)p|kz{x}s#pS9L@PcWPAJ$yeMu70pU7oVfYx3NJzx7Oce>wLdS z^k^~JN`Cu&wlf29%7*eQ&W^e+q2vHzUScpDye(_|5sEEo)s27Yr5DF(w|gKxa*98l zb4C5@z;{~}B$3XWbEfrWY%{Wu=+2D7SS_aLBA(P1t#40R5w_2*6IPo~UTBS+Y^8AJ zRh&>$jOpg_{D6(TZ)aOEfPZOB1-!by9@aP;jdWbam3Chcbzzy;tjuaPs}*BS+oE*i zbsgyCE`z-tazQEUJ?7X^gXVRtaYF#VB8tCPo21^Sv!JjnjfA14=?7i{X9GO7K@!2u zN~K+ET?T5(!N)*?lCC@E1srm_E2lmMTi$?n_9=-o@NqLUTJTj_XfiH=Y7ZQBb~vu< z?LyOl$zortcbb~ZdK8k_*-02ldR7;fvzZhn$CA$N5UYzd{1*H>T7w23EKk9)W<%R} z3nUlH{%!-VlXUWS3V&rH%=p>;eRbOh)LSo%&-Zlk7!JwJU(oNEiUiNTH^YQ>j788% zP?vew4z~Gus;T6f5lDoTq%2BIS{3IQCcP5Jb-Oa0%5+fSQ(31c@70vJwyuDYLa-xa z;h2pI78kn55F{8nE9*jgdCRkTtZ9<jdTE4I6mmhK;CkoKc_!HpSi67>FJBh5_o-Pa z+}cl<>I{{eIN%Fj{Y=jcUN~f+&uXfTTiC(d@fV{8N%|!wT)iMcD19p*;Dff^z=^Wn z9}wS!#8=pM)9+P(-NR6E7SWNiyqq@6qaMyH+5F}BICUVhbYtnbgNouJ<7&c8mtfqJ z_0#nNLn>^7oRA&C`Ih67JQaw2=r(ulCXi3X>&?}0UTtz5hEd9(5dP=;L|~~GD1Mcl zDhQ0>D$(g;w=zH1GJND?zX5va6*+)|4(L;0)j<p6W6i%UlLe1XE$kkBt78$e1;Jli z<yn*THWUb;x-txI@J8|Uo_DVE$XXQ0#oV24o|Wi$te*yZ%2Oy>sIsoGNuqPEi~wM= z+ih7-r*7D_ByY9WAzPyq4hY18dJ;e!M?D?_vzN$7pS$K}4aKmB4l|&~J%u)g$-C7m zDw-x)E5td5MwEQ;d9~=6mo8EcXj5jJ(ehkFx>FdM++(g=D1|{*?HDc!%l)cQA)ALf z^w_)ivmG(87AZvsto!F3Y^Ay%te8b(V-(f0Mr&!+z}RhpeZfX&m+qo==9T@GQbg8+ z6D(=|qv?Ghewurit}=vu^i8?368i5do!W0tQdlFcH3;cSMim^?`_{_*DHC_w%A2Mb zND03;wtY<xJ(1Lp*CK%LDnoMBy|Zz&;*i#udWF#Rbv8EOyed&J(UBl1=zCHAsJ<7p zyoGHrw}IW~L5tznkC~q6IJwtJ1PK+Ug2o=P+m9?*f?$5#M62)f8v8%;wH8FM<0Q7} z5PX4pGVW?AqrU`QDXm188LtyQ;Ec{2)|2Q>Cep{;;(of+As3&lMqwakm9CDS8F?KT z#^W#*=SFd#VG%e3hP|cIY_dqGZJ10S+10`qel2)X{!tJ>n{}4iRfc>^SDhlB0Xtbb z)A%(qE_M&`SML0~5jb-&*%_SQMpI9wR`|&=7P40Ayy~lWy=&p^Feh)5g3hWs!35K4 zAI8^PY7#h{-yAg&jxjA?pt=)H;jY3z5Ekkz=^SvVxg=v^cn+NI8hoVyUHrNk)*Tlh zG9w|bXsMh;&4z8+66ZF=o%m>ao1B^0(#M|3*x>_^r<LXiKJV|NJN2@aCROwtoSx=G z%U`*ryy%>XUs}*u^5v`^<pnMw0{Xi*w|iN8T?^Ip5IxadY^>17vi(XvQz&V%ick?F zvAoh~S)|OXywzKmmK9^%E{_8r2wvHL!bNka+9Qg+S2I-iraTJ{+C;*xnK>eFP^Rd< zqopvqTIh-$Gjim@AGYK0fgu0>^fr8VxF4Ei{DB!;mZUd>KOTnNUr$(Jidj*P6ZFmw zG6Sn@D7q2A&~1*t!Z&@^-``?rkZ83qY@D0&rf8hz(|PA{4O_c9wCfU_B~C8wC81f6 z_Zr$<{>anG^Y>OWVExS9YcU`|=jtE|s*75m<YUpa!EtOsXFS1R$6IE70w6KML}rAG z+o@N24}+=DX=2nS2;^9bCwv8oL+;cVJ@Q<K)@DPGPATjVV=Lo?81}4H>>BWFC3kZH zZv9tfW%S>1Im$=i#>wCT*Zsr)-K-nA(T|t5b8E3_YC}%|<Yv)K6foJR84^Y*`kh7+ znL0%pgJ?qDu!9d(>8m1>v6skTp0o6p%!MrwLmZI&b<hIGX%;-iua|4=5lCf`?$=2e zBRiuV_nyHn4Gp2aH>d60pWGHBqxy*DJzrj}LDtXu@<9D}ieab!FeBio>|gjEtMA#* z6nrrM<}H66Ot}AOr#InbDb7Y;*S$*d;e;ezt~hBZen~j()BL~PM)UjSD}P(B{{LF+ z%)$2OT4%_vlmBw5Gc#mS_CHrPo9J6QKsMz3uWv|UX8+q-XV*02=nj-lrdKaG)jQEh zPJC$tNZrP8Yqy}O{S=vUe5*f(!MX0}8&|2G8-8nwm1}a503S|kk!AMOYs2I_Zeq0M z7#c=k%8?!WIhe8|r^LDR$7G!k2Cy=G^_9niuNa~ywA!tYN0AWnSPLh!gjdVfnQqeH zz&ZTDY=X1w#yWI(H!fON+}}Ye9QL>mZvT$$%ICWH?=AVa9WmyPmd4a#u8@LTL*DJ9 zWN2n@Y;Is|4cR#$<m6~(V^1yY<X~t<2UN4MG%<y|^9OQ6+Stv-#@@)`->?CN?ahr% z3~Wq)=O6-kc?@K85;gb<APX=D7y|48HUJ06&jjEIC<OokYLK)&zzC9J0WblW0ZfqG ze=|W=zl%cFms5-KurM*RGqW(WF*C8UvvJTeF;g)yQ9;OLZH)c{1>`L~Moxyt|KG&_ zb$va{-wgG<TT9;Hlaiwqqa2W#6|x2Cd9xK{?+DX#@_&1g4l_5)?=|~>?h12FtI?3P zS>kxr0^jemR>5C#D+?{;n<q6kbH`)}!~G(t!dcma(1TOGEOu-4CW`BQ^KfY7^mXOL z`?Rl|tT7^=%$g4pqy{aF(<ahC)GG13Fs@|bd25jnCZ`d_TNbIpp&zO?vdKZcx}L7I z;$d9!l7}``B~++EP7DT=XYhaMddDE!mS%0VZQI6bt+s93z1p^I+qPEQwr$(C?f!bd z=Y0Fzd*hxTBSyrmnlmdipL#MY=ExjUV<JhJ@>6Ar_4YDG+Z0?gTE$88Enp>)5*7jS zkg6+={JXTPJ<JB4Dr*8Gf>Q#p1QsFq$4O7Pnz<GO4kMrdPdDTw<y;TKzn*9C3DI+D z_2hg#$=FXOT_IwmLI^-YES{iZBZF~31ru<#uvefV?Et0_>_DeN0XSA7Py|*YAksub zfrw6!4{mt@K!VdlYlt|=fJ_3vgzRThkhTmwi(2??rbL8=T7ahlS1bmQ$|{E>C4Bv| z15+~spT+!ya}`6VZ2JqG0J36Xs_le7xcN*@AjOCT%z#fJN1)?VC`xg&1$6`v7#|LQ zm%(sj_KqY<p8%391ELtoaS}lv{+@>=O_*C&Kfovp6`krk&WyDhA?j@bB-%uD30_bP z<{aaG0F?l;-_0MQf*nNMUBC*T?->up2H~?1Gt&1L(Ql6iLl*p%vKD~k3Xil)rqI-b zDrpes2_CCKy#5<82gVMqy2liMqzF(CNTCWg6@iA^Z!a`g{=$nW1d%HT0S#6xTi`GA zEF=e0k=zM``0gkI?ga4!cuO=2xL`r>oGv7oG%Dvz>dMlr?#v*f9epuSoVvjnh^&&Z zalbFZJqZZIS*S+=xFIBB!(yr$VVa)y4%h$@h~G#crav}N@F@x>P_WQov@f7y0e+OL zh#(aAqy`XJx~OCi*X_(a41f<Lx*^b{Sf~(zK!ZNnkiQA;+~djYUM!_}aWvX+ME~Gu zO3de;YjY>}Hh1?~H9GjU(sPIgj`lA}13X^ummP4ShF|*X2M1{+1|@a4@>c!AiPOvp z#=+tRo_%O+a<xXsD+~$VY4SH>juS~OFk6gti1y6HS6@WhC}yte@uBMU)2sesOqu3t z{hz}5zmU$al1N&_w;DDwNSYa$D^9<N)KO-YpEGH$q{;Gjvoj7_pcm~4lT(8u)eJJL zIWZyv=FLi$Flf-yf~9%I(R64SG%6Tq3>?a(AX(n0M}#IG+h~*1erB6^c22!0n0y#! z-PW2bR-n^lBvjlwErli(5fV?mfc4PPMLmt)v&r2J<Qe$Jr|Xu_42~(L(CY)5j)Z~| zq`HTON94_rOU;ohof-^q%rJ0^=g4iZggWK^e7!$7k_{ePW>BEDWZcO5ks|G=gi%IZ zx<Up(zE9N)?VN8D$_rkmx4d4Y0vHyv7OnxHC_ZYGj-?K9oP^>(;ubbpu}j;G==Bdv z{^V6(P`EA{4TqB!8%<2Zm{B4Zy!>eLzPm+OX>DJrMsluFf=CZY>!NI+uWpGk?x0$( z6fS(56Bm|Rjw+Q{f-G7w>_oLtp60K*d8knv+Z-u9wIU+sK+!+wBSN+&`wUCbm}zbu zZXvrlF*BVGAof|2&R%=LIw`G^uA(+xlx{%hpJ1n&LPb?Yu#i>`ob%2+Wo!8Nv5mOu z&jMNnaaIM_f=0zEa!Pa&H+S<(%{wtQrk&IK*}!9nd!Exkf+YB(qQ%odQm&N^i%a;= zsC@sj^}yXlS;}))0NgnGmpiRR>Ao!A7DsYY<3*$^=5b-jIO+7YU0dV<hM*kii@uXx z`z5+;l`}85*ZJpZ@A!O%Y;n%p;^gGC#Mjh|omVj}>u2$o<9d$HRnbD&qkM)rFkz^2 z6)8yyhT=B*sX%ZZH?R2g?YV(Jt#Mm=24#JKrUjOOeJ@><f;rGTd+R{c=Lh<|-#y)4 z1!Y{h?*>`*_{il|n^e|!U8LAuaOB8saHQDJHB$R?uWgG=f&X*HaAzi|C9=~?cQHA? z9fM{w^`&5xhxl?iq+t7D*ZL*%%;s(9JN6+x5}mMjX#UB6g_B%XRqQdcoybJfjt>LO z$%r#DnJ()MX7UL$^@f@G$jEkXV#_kIW0~5!O83_pwAT5w+GF|9nVj{-)q>6%acC3o z`T+L(SdiT+O(a>|QazjX_u5@@K+JH%p;4d<(^?%5kIr25@I9WWgNye4YmhTn_WI*m zz1Q^9uz_zoW4o(s-R1k=N#ka=HO<HBWPDUw)li{sye&%Y^ANOiHma^JuT7sV+y|XR zy+ztwi_X=@h~<ZS&(E**9Ap^obx&=a=i~Ol>d!l`ZklHj#;xzBE{)3f{c%#l0&v-- znVOAC7K^X$&B`y$J>!>W=lW0Erd3ZhuJz1qZQ%KvgQL1@7t*xq<m2_ptnY5kz2~WK zlk&sGqrIts{qn{4uc;M%@c!RT;}%;bwbj)&)izs%MEhjA)cB-R-)y}{{YE^`o4gpC zyrLVt&g;B?_vVRtmREV7c7Ve^o4QwakGASpDi58Hyys)v%{Q+1f)Sd{TT*(pf^Vrj zKe+I^S%z&|Z?P>t>@mB4eRZ=ROl-z~=}Z=0Tl9V<KfhP*_JjKXyDlkM{{N>$|EUlC zzuD#g9?cn<82?ES{wJ6l#gAJD&>;vve?igC3xgc3f(l585!Idu7JdTg!&4~GC)=TY zcuh*B7nPF6!gaYErQ69Zwre~`gI7Bz!m@2WYN)3U)hG4D*q$*XL#lQ<qW3l9X!HZw zSRak{%AH#q3ik%EcC)i{-Y<$oiMs0cMkwogc<q(Pl-+J*M!ot2HtZ8pNmk|F2W4yA zZ@~2cH&j|2K6|iMcOI+W@?h^E*5%UKE77H?_**?fsv*89-|g+Fj`Eeae}-xf%Xl}T zE!L`r=%FNw{mB=7&{o<TcCaD@850sX`xKUbU-g2n<yX%%fY$NIBOzTww2Iw}H5C;a zOH71h9v`r3c+qJfDMmV&M7mS(Pt-R-8CV{SDVX@n8zOcMAEz*r>2HiWmp#U-uqhbS zp!H>n0+mlmxVAl{eN?BJb3Svps=;g1VZe4`G|(A*&dl^zU32^%c4}t;>VI+3|Fe4Y ze|HfxJ0mmOf0rcE|CAm7R1W@s67`ELNKd83)$bgKt1Pb^Lxxeq_%ywENGUNO$XEn{ zR7+}+B@ihDQb3{zB2zv)cx9A*|Hfp>#(WhTCj+Edu!f*;r(V#rDrNqj%0+)KopXt+ zZ}w-IU?Yb3jvyZ%mSax#?s{&MG)@<psRYheU=V<Kc_Gu%iZnXw!@_wqUji=B9d{c| zqs0~M?rtNXnK(><hf_O6vSm&B{kTUyQ7@>Q5(~}AhdcN&>>{8~B@nUB`^faQ+K2$? z#g#AX3+B&>we;Ij_%&_-P(pzDi&18`*QGqwPo(!beXst+a7K$5O?eH#h7*U0m{fW8 zTI;dPh%O+AO=#VAgR8xv!u#ru4afs@Qp=Cl6zcn}WAAf(J{A~2x#jF;$FIGV-{m^s zhBPdyI&9swZWJT|aPJ=Q&=vQzEf*c4*I%ohe0be(x>w-PM>N`YkL&$p08-ds1yb#~ zrFL7r`im(52gWR4K-4wpBpng2CUiNqy0>+xibJh%dn?cY!5v=S^MmMLH`2%ax$M>r zX?DHwtx?$KUzv~#Jn%89!+S%hl9wr1v&lQRfY(7$5gEo(TuLxZE||XFA9JLW;{^m2 zgRk6!XDQkn4NUiwVe5VyohUsw<hs>CWx2ZM_i&q*lB23?O3tYOSG=*PhPPLTQD4_A zcxg7Em5B8mtJ!|FMGX!}N@~09QQKP9L8j6m0Z~b*Q^7<C1cBAepi~FFFrKUUgLV{4 zP<`h1*d=`B8pV`7a0*FkFI1VLml~+dCBkC}&-`+0fK-$Rm;{Z;R2?hD%NbSfl@62? zGl}s}2ngcwHP60h;!jfiN}@$Vq9TH+U7*JTtTQ3I5@`9aaW`~F<8)g?YvGf0xc%BN zq!`A!woa@1ZS+X8qU)8LkJECKvC$>QJsOJ+ws^rFbY9)A04yb<efkr;zE;iq;#wn? zHPwx0A-giv-Pq^H`m5ab_|v^!so6o7!9sIw2E#pf{I^5HJkve4+|l%)`?VNlb`v0x z<MbPR*#V0O?5Exp!x&YAw>G+m7?kQb>@wvw-Y`w$J#`lJmwj#}^i3lM05BI<Zo?V# zVfW`@S~j{4AG2@3w##8gFF2w(XKo+GJDKJ({P_D{`#d6j_1|XrIB+5TyS8k%1lR>u zUfdzs`4XR}6G=ZGy&(b3vCx1~-8d!uGvUAI{m;$eO)n?l@|^u=NQSzoo;fg9birOE zDo&(wwgfX3v{9sXObHXQy?volf!1YxQ&+Xp!K0?HY5_dB{8L?;If$5-!{k6X2(zC* z%Zk?X$&Xd{ce%2#sG<vNP?f+R%?M<1E;GM{1Z%cWM0@*$?*NKpk{!zVWyPI;)<XXK zqZ#E`iO81^gOZ;B<(Y4^Y#Nqx2fGqPV@4t?7dXoi<RMp-*%xpTLPQBURc^9QqbJfF z6uJ!d5&WUuvIJ6BR5}nu3H<Ci79^}h#x|GiuQxcw&OigS0$mo=Z>8o6v)J%-IP23t zHzQ|3OiK8!a^Sw`i!pDohQ9F3$Y8l(a^1nyH-F&*VHWri_+ZD<Vb$ll_2^)PCgYgV z{Y%_pqc}k9<wEkkL0@AdGyvR6`gKDey6H5R5b01F5uoHEbW<OA=@gdqF`_vnmXI*~ zIIy7PCG#MhU?LO0KnZ_|&;-br9Lo7?_`Q)T^_ebE{u0K8HYn()gA*v(&x3ISO8lEm zXu+(Mn+=&%f~;5J2thW=fjN{X<9A!4sOSG6n@VN@o9U+ky*P(Xhf9_}75hk?8mIxD zP&l23SCl&?^a(T-T$-8<%3N~HM|0L%Hx+z3$D0dioXgUuUg9A49lhniea4j<wgzJI zHygaZU|P4U0(u8$A;`Asfr8o}Oe%-=9CRkM4dY1nHHZ$~DXc<LFZ%&f6GXZMz29@e zSUsf|=+r<B4qBepPq-u{-y4K#$8%v^m;UU~mhcR<P8(8EuG+t_M73Xdj=x1@3C&bQ z3vyh}2W-3$*p^1q-#x3Md`H2IR}-E}&c=6KPPPBAgtZTKE@TEuHGd04Rc~~%1iz2Q zmiesG7WNEFEzBMJjOT^@1Lo1W1?>^tHmd>sD)up@2Fi(M!}pC!EvnHa|0<|`M`Xci zhSCe5J2*q`Iygh#hxnY^mg>x1Ex?_2BiJ4P?A@041Lv{Xmh%kw26_Q}7w(kX6~de1 z6V@BtLY}p!TF!^|yx*4mjMx_a?C*`m!myzi&Xvd}L^nTdKX-{$$+ZAyh3F>8bG~)( zd!fq?<V)oPi)Gv+{0)FPI9F&JDxSb5*?B?@;3LIL=L6aYBA&=+LdE(n;sWl?ud|$8 z`i0_MyM?S8d3WS&Ke{uWTxoaU?4(C_Q&BHG7V+wS=o(BXbS}R)B1?WR$S>bF2FKhk zpg;01<89zgd0(j60$!+JzdFIH^SYp_`+rV7zLzC7eQ>AMH^~(?{qrT)Ju(X}yO;~z zqi=X0ppRazXpg|IGHbvdMw{TYV(q(vD?x4e+Ctm}=lrgakHoH+j|Q%wkH{;;oj^Hb zZ<rsbkJmS44-6l`+Jc{&OSC&q3qE}rbCR|YTLRqF=P5TVXWcuv3*UY&^53dU)jQm$ z!Y`~HF>lPCzHhK+zhBUv^1Z>|<+?-Q<$YowA#h@~eP!4}DSJgrJf(R*E#6XiZ<#;w zxwYqcBkGHM(0(o~6X|afW9jb}aErIzlXUM}JBv3zHj6hvH)&pk`l9QU<%iGViqrQ) zX0Ps!qHErtsdUED+vL@!?+46Y+p@OOKE*Lh56iFVQ_BxI8|hz)+r{6G%MY&aj$K9f z%$@JdpReEk%(%9Lpo#&6;?Vwl!mrg#L?ZsbAVjM@p~rG;8nB$%HOuoTVarrtQx|Kn zu|=vP$6<vU(-lw`>zeYhIA_a~pjX#Ua{Rm>#+o-$Rua0&1~CRvX0jdoPh%eT7G^TL z)E_uQ2}`Ssd;TF(8O@ieI0q<tvh$g4r0C~rCYYwq1)&eBD3#)Qb4L#TNu^@YWP|qU z5xB(GKUkK*RcX4qR>Bjdj+BRjgQCr)o7QUWP)4j5D6gslvTeH$qVBc6=Cam(r-Tcs z8~^g7=kW-8P^zZ8V>!rS4po{DDUs-BdFXz=f$8Ik&M6aEmUal}iAgX0R}$Htj#=9W z72+pVl!DI#be{J@cl>0F&meo}&*FE!7E1%tHOX1`{-NFCm>o{hDT;x3YrYhT!WUI) zB<1`PqngXYrt$7MY#8?}ep=H9jexBZ@QKqjUX)e8G1wZ+`)a9*N+<`c0FhGOGaaXP zy-Ui(Nu^EoOtDCLDL|hT+r60xMM0l8<Js%n<cF?op#KCUyWRgtI%8(|mUzW4`TZ@? zr8$U$r!~;cfDtM3@KY19l*@=22}V7G34`F2<;YPfLw?qfpDX+gweI|?de=xH=*WcY z2>e{l_Km;$rJTc8x%KaFpU#4puw`cJVe1MsOE^7b;3}CXot5~Y+G+k6BI$RwPmnI- zYPY`CqJ}(rr?(T*cUigI*5uPk2CjajK9u`Gk=+|{ry3tDIqU8Nf;slgzgFMq-pdp~ z0y2K6Cfbf&KGea)u=FqseW4&rShZx(kTUNa)umUL@?}qeq>7a2+{$IeSODw%btXhb z#$Ty=>O_{c$C;M@*U5uFw_NV0_3)SSM7P}_%0mgZj86eNbjj_*Wd1fkGLRQH=zqfY zUf(Cxk2??>>e|bx;Go(|gEaoC)K?R-)?F6T?-i#`phc`2GMB>||DCjC4j8m#Vr-_^ z<G`H7XDovSODaLHym(6n>!b+~_R05IybNwUr}VR2`uj)U;XC}^r|3uE=>b_L9ub@W z{|MxL9bgY4fv^4hr%;*a@36Ib-mEzj8Q8jZI#G1Qpn1JI4J1qBthq!Dsamfw^E!2f zKq)J|i=+Wd`GSa3{;DBZrMv;l3QV}5QCRfSW$+?Sm{C36W*yDYuOi=f)l9YreZa=d zjlg-qzyrenk@}CCBu+v^?e95vnA}gYsv21;7J5IxBi(CRxeN<)&LHNusQZ%%35QLx zRtd>cQA6?gqr3jB8nt<&de*?&*@Q*}MQ;h4($k6Qe>TuzSKB9iC2|;jIK|EvDmh#y z8?$Ax4caFhp_7n~tlvK=PiD(a7V$Akyh>)^SCY(a^#g|4qef*Cpf0GzK(~aLEgRB> zOvq5Yt`kQl<W5gKNNAgkO8KDqpfOgIdP3jY8I4BysGdTVG^vniz4Jd=O>6akYnm%+ zjaAG$7xB}o@jnJGLVbQj`A>=!2K@urVg#FCn2uwe0IOC&vyAj7j?Q2Xt`~^BgS)mI zxM37BS&MqIPDN}zr((7oHAM2I&8rnG8C%B7rWNT*?UP_&<x|#n=}8uf(LcIsBb>B# zkUlT|{nPXhE7^XBBZuI9hU5tBon{Dk3qAzDxkLRYsT(LnUk8ReHhdXVO!X<;a3!kp zNlHx2%uGCySXzz0C>^aL5tFeeA@7y{9*c(W>>Tf|3+NsCpo*}!qNL!!`dPM@G%cFk z@TfE!x6nh<|68Hh3C4}wW$Z+3*_sTnvncn@fZnE*=n?R11qB5~#Z0r(wm_5+a%LJ( zx|DQ(RGC7a*|;6C0b?vJ|DpahtV{P0n#H0Q8H(B2woZbX#)zc%vss#2gP*<l!&6~` zF;}_yv7Y}Bh@4UO?7y3_a|O?qjhtBRT)26xV#A=%QbhG<3vggg?AnRopf_`JZ(iON zV&hsD^KKr4O%%4*_7yI0X2BKDA2{Y)6iw?|O@^(AYsBwyw*LLg-ku?#nzxbC${F!r znAz4G2ot2$yk3}RjqnbkR9pX7><8_ArlQytHShbAZh592D=d?`6d8H|J6F{R>>@W_ z&h-A&4Q3XeY7uQeaO%Aq!5K%ZrcBECh5hNHjF)d?Bb)T^;_1>Cnd}qOs;i<I<zN3e zPk;Dd=WX%}6JGv91bI_gi~mafZ)JV70Va&g?|9`{uzgpJS=#?mR`fT_t0yKVkE}{C z``|HNV%#C{gwe}CayKcgSy>p*6eEGv|NIGG&DxVy;lVnIh&~FoKA}wf*U0XUn341N zr-MLe+*S!EJ|*|ZkN+30k}=i*J-ZK)i0Cjt5rah=Vd<L-efrI6bC>|9v3RX?iE(jB zNxRU->I#f=4t4&RzO5B7Kl|kLwDj~e`GF~cVlgox*y^%0xnY4i<p)W`92)K}iYILn z1kXm-Q+q=H@a+q0zx_{)0Cnv74`dnl{Qo8L-5k#!!VOP>1uJLfZygo_YExeVDPJ7d z_33)nKrOGR(4`yCL2f88a=Z6uS4Wr_gD}<$(kXp*pYPDNG-fEw2(D{_G*huzBWV5+ zPQ{Vl+)m+$I_C9wLKX6l=>Ncr7HwwYKVB|!RsWY7Qs3NxGQY_vtENSpDaBhAH58EA zD8(Tm(|)4)L?qi!|0%)X0~jn85<NZ{<K0+2cHdS)b~Spj(&-7D*tD=o>SVy=xC*N| z-#{syY}Hn>BxKymby$lZjHxQPpphdPpeWA#9oNnL5~JneNcZ{&+%qbg+yDCezfktL zM)Y*qJC-%4pa6hF0Vf&@h!CiIuyy+SN-T14j22@Hau@Jd6y>--^dl4TRV}W30X)D@ z7a?QS5^x=3iG_3r!WeE^&a?RA#I*Onu$DBJH5fMV1GXER-+KeSYYy{-#TIa%2wIP8 z|62WY78c+qe9GU;QLtrEjD7RfW@xZ&%9#BA0eNejM=?5Dav};^ViH?GP^&VjQIMPh zTSWl^6;$He#)hu7wY_x}H{m)@bfXh^R%?I=s9x>{2Zx6BkK6yj+!Gwee`$XiwZopN zO_SR%yG{Lu`<5Q^FH;5i+=V$nr7g;X{!Wo>l?@sO-nnbh1cf=eK@qyj;&FF$dp*g& zJ*?W81zkMc7ZrRxi97sTn=e*M`)h>eml&=}?8%5^=E$16y%s3D5&M`Zu&Agg)rmEf zR*=0;_7$}Z$v@G^hmo2bj{6OsH%R_JfnmQQ`d<r(Uz|hQer2RSdos6dS|6hM@Hp0Q z@HDrF_Tpscj|Am~hu`i~iO6DIPgVaa!{jXm8d6P+uJ$cCS5ivUQA$)%OH546Q5s)+ zyW12N9EJ_bvp+vE72cH2`w9Ew%l~>H_;4T(9Um7qt4aKUSL#0d`kdmQG%N%;1#c6; zxBrx0fTYE5<aL@pgyN1CK@Yy>Ti{lI3<_8m0VY7;S1<(~uyLP)8emF)XAK};fQc?G zP9Xk>oJI+p+vb*|IFPeRj~^YzpU6Ol)L<H{-93B@Lfn%ldet|Ke(t&cIdik52j8bl z{JwYZ#_PNhOAk<a!3NAc6yI!9-w*+%QSku89{t8uWF%a1nJ1c&tC6S!Mh0MYU~tfS z@Z*CcSj==CfPPUFw5Y(6dUbVX=ZzOg6Qvw>ySW1j#p1=D2TYU2#c3|=skriEA@K93 z;6*Cp+bAjP&sh^<p*?AG6)t3hw;}q|?>1FtCHl@LYNjGb$I+6#IN_lF5Yz*B-1w9X zMmA11Q(YAT#(v(O<Hv&HRz)p}(J2y9eg944##CvM0PW(%66Jh8NSLa-7^|CLU|2o+ z9eiG%ki*X?wHa3_e!-OpVS|`vNDpj7#_QW;!UnEuknvc3%y12)@@5bTdoYjkkFA^W zBySt=H1<Zg`DUfJ^Uht`g9jmYuZ&C<y|v?hu&uHK(4;Lovm2G5VePuy#<D!5b_>Q6 zst;7@x6Iy|B39iw-_n}-?uIBf$*|1asj@v5C=Fy8%8NTyl_15BBug+o!um2hZP&4d zwz4s$oN68u+f=2A$7#rbZZ6BwWa(T1JhF-^2#W)~4(Qc-zl;v60GEcX4ZR?C*wrDo zFSn@rvpxX>ZtVW#sC|{-tQ34Hp7g<~OH?OToIe?q4JxFx4|SFn=dfEhor>qtm5=n5 z)x$hBG?O^%GaP6kU6}CtPEqKhf6LF#`wUUxPK~Amxv36cnP1D*#QTYC)Q)MNX-%~j zd}*V~nPKLC-#4~v=2gz|*ebjIu{i(ex=B^?@%ni%f(B8eSgVPG^gx=ui_F9}W3dQl zg{7V}o-RFFno0QlAklJ4VR1fRG`R-zm3#*h@oDODPwMRBB{Mvg36=kRgNRA+46+Go zx?j~$Pfc}p#+=6Zu)<3%$?VbNPd5-3@Q044x2L#4fl!v&CzM)z7Wu3q?0Ng#?!|>I z-G~gLG-y{5+pq#VFPF&;Del6xj`^d0U<iECPOVi1?NopN^?fb+OHnk!M6Xnfk$G19 zb6@6yGsL0Ma)=pl`Rc6le(IFDMw@y5B=(0ZnN9NcU33i#!e^~o0#X?oN{IMej1nuw z<0A9dSt;XrhjJxsoWUP04^5d;+VCY|h26k#4#Ff61t#TKi`#-sRA%Ee4g<A`0sKZ! zh3WGd)7y$f$xs)|l{Gr;S@+KA<$e*|IlU!`=xCM*DMrmqFHi3UyVw096H8RvK7C)6 z<ta<6MSRte;&g_cK(Rm*u7#!74phC==<5lokJDIZlv=qQEVy05a$PXjFACwf3%lUb zI7jZjsj19f1G_v6E8O$vXe%pItBY8TqnAz<pL3NrCa*RpGiAZ$uz5nOb_!;$rz3YR z6=*T~E{b1?&99?prB;M>ZN|o%DpX(E>RNx6Wgsg}e^uLz_q4TDYHMyBDvU{}6OOy8 zgOx$@j5?PkT`D#Q185v*$p4PLci@B=F<Pr)0CM0gQ82!w{HsPrX++o>*}Ie)zSd?i zjrU5Uo&#KiY98d50W_M;Eejc-iw{N#V?Hf&Z;4tL*zhEuEf=!0ZRm3FXUraiHad;G z9Nh^rI0~Z)`l9*Tk`Q;ivSeA;w6_Ma-x<b(Zbut5Y0;gYy0-?epGSqb0P@PYdRQZw zv_N+q#S;##7czuS3<KmQ_ed`_QjaB=8Dq&nZrr)T5Hi?;&T`mRtqKxy>S-O?_G;=W z<G^%2ANual@^5^WQ*`F0qe>@|Y-ZU&5;97?{-EUvT_IbuW>`HKRV_DTchI1_;#YJX z2_a;TA(D(I1!dl}ZxF&wPp3a{A4W-TbYdXLdr>6c*W0B(gitP!pW9BHGep6r;W+KQ zVi+C}r|SvtDY^vgr+&g}a(CASOdCFn{z^1|?)&X6;U_{>-unu@C~klrckm^KvjJNm zzx4C20WA+tF1~M27rYzBkZx+!e+J?7W@et{D<8O<cz!w&8qmqT;guzQ!R9P&%h5b& zNp(tY50-W=X|pl-lxL1iMUZf%#RW1l$JdY_y3DAqcjE?{C;{l0asACk0pp`UfdF1( z3~}cOJa~!^%7$~-O<-MjuvtZT;|Qd$fxSFuyF1?*qyrTM4lcx4NOeb6v=M*~UZ>lL zAdCc@W>BI6qumVJC55r+Lx3TKQKU0H&348q3b?X{PxKgzKcRYHx7|bZN#mg%rkyo8 zd=Y*_XZHr&cZ_tIHCdnMmNV{g?_p7iti(9h>kR*LQw-iDPFg*2=5oec;DRxrlNzGK z?#F^LZ_9!+%{i_$AeZg?d6?IT)01o%zV}lDg61v|2-OwHJq;vW)Bwt;)5Xg-7|7zf zk2;~Jve_V9e5WmgevriWRYHm$QqvZ)C>7+0rVk~dXJR!~A1PHcf+7*leHx#kjw>i( zntY1^x)UX4uFy5{_uyYgiqHpzCtn+3mS&x1@Br6=rJy=+P;Q!av2n!$BP_GloCc=2 z<Z|(Gi8%!UjVV%^)q+83jX812&;~B?@Ef^?*qNjKI%2`m0wZ)Yx5x&jgk%7-Q4$)= zf<Z|rLEMF9o;<$jvIA2^Opkdzt~L}^eCWqr#K&Fs>wacE&NFM6_)O@$I2T|2%=oE2 zzzlzbL{DqGulTxKM{<^pFxq~Zl?eU;bW`$d5zg9#tQ9{{Cz#+>3}@XR*!1O!oCC7m zGS_Ly-P1+({#cM115QtFe4ahfuP=TCg>?*hJVMHyVSG001;ZB}|1oH;!rG$AsiS5{ zn)=kxzAaG(`p|>Hf3v9331L3DT6){l3P>w0dP`!N5338IS$L26a=XZlV<hX+kDS{G z?v6?f{kDRbn2?Ww{<ps|J1@?L1{ypts~5=rhx0RxrLh@2%#$Ut@sfGO@t<e@X_G6s z@KM=KS@*3w=g@-9d$44#y21OlcadpmH(U*BH_91)y0xPu>E^Zwu9(YsX;uBfHs|R@ z>b1SrG43gcu0K_#3Y1e;Lz*LdX=tgZm@%KqZO5(xlPkw)(-_aK*+_%tY!>x{j3C9a zl_UXdtNhk(az1SvyAOSEbp%Xm^(u<RX%(1xqsuT$FHCsS>14_YC5;x98ud#hix!O< zjVcQYG^WU$1zvfUN08)YmDCCmQo`(3g;Htr6KLG|g|=XU$bse>T8c7d{hUVvk2p3j z+st2Z`NNyxV>&W@Pv#|6H1Oy~sxGDlX1jeCXEnxSt4>yd8yYc%dTm%flFLg@2w|v| z5=P#=Dg*;fXUR%v@S0ANUfd+)S`1`vk(~=H_LfGha|p8+e@XCDWT2}nt4g7HGga`X zOdu&LyEs0ekJv0pzllQ1DVyVI)s=Lbm4A_bm!%Jl1<j4Uy`8}^2sQ!Jz9L=TM7}CC z&F|3~8-r_Gwdps@)Q%54nWpp-HO!w9C^n5RoEmb*(X}@nMV5^<MZ&BOody}N7OkFg zFBz+ntr;4Rv53>uNH(n|E%aIT71o8VN0FUcuLidC&}6iPNwTEbEs)Ua+Z!w#h`5pX z;WXM&u@re}{amIAn~LdU_4T7g@{bNC^u^`9I*WmMgr4)H(DD5=4jo%ft&fN{)H8G@ zS3qd2EJ5d=(n-6mUlKO!CF+|>)B1~lKa#BI%FCLntW-)$>%5dqm6Ez^>%8Y%DEgsd zu+N81)cT7Y=T}jdR_R!lTKcTZpw%DQSX2nH%VVRMe>2J8K_57HN@!)Ejh)-Y&<<ym z@W&im2$ofMagDY$DDk+7zQ$L}YzDU{!Rqp*42NFTLjsqNQH)a<D8FRuD;poFi<ZS# z;~h$Fim(WkRj66srwBgP9ZrrDwwmh|-pxnq&ek1X_)?{B;=osw3y`<gxnc4-v8gHI z;svy?vP6MNVy`Gdp}Qnu!YH>it3o-{)}*3B2`t1WCDkxw{np2Lf1`~VK)ukK5y;sP z5;!%)WLk#aeK^wym*lq^2wDyHpm;jZYsJgaWgI1&)bbK4%F2S3z*}*+f*Ma2RfsdF zrADHnsTFrvCJgI?Q*nL>rRj&`Z-iB#Yf<VBK%wv9IsfhDzpIGm@;i~o=#jd}XE>;e z7|Hk3D}p+3SeKJa8qT0R>IA|PtO>L%uzgpe1=zYr$AYo;KqNI79yNKJU!h<!7W{da zw&{JxsDT^0D%dJkD86ud2TP5#Be+t<4-$+IQ_7Fj7MfjA1Fl}T+LZ>SFU^*anv_N% z%dy<C{Q-ar;!n_VA+at1`o!Sy_#CgYjpQ{yT+<8b2B^pAWg9s`;NOPaLz|tS_fKRJ zBbjwQ;7;{`r|jVfr9#jq;4)!**!ateF|;a_^k{oi1r?gijKLoF0I7kmkJvIqzbVxh zgw2h|1{zfKXkYs~ulUEny%2XuMwa!@0nh1)`SsEP=1d#A23;U<#8h111c*uniJBoq z4y2Rbkh{V?A@II3YUMMO-6<0;9?qS|LI~<{Og*`*+!@?4cVgi$LrjMo6x!46+r6@L zuHB%&#I}gxrAZmj@H;|wind@huo1m~OmV4&4!_G>d;)VtHOUcg(tN0R3Vmp2Ew#!r z>{B86>h#;}Ob-N3FG!}3PLE_9095AIpH`oG@50?a@0F*EcrG3H>9>I5`BjHyp~RIQ zSl0P!idz%#lDovEjN;u<(EM$D@N^ebBhV!Ikf$CNjas4BE^pIzN_d-}YMV0Q_+EQ$ zOr+I<SG@I93#<Po-3XYrq`C-pxv52eLPn)WVC3l-5G_iey0K$!4cd@piQP_^WE;b) z%kd2Ej_)GcR{W5bTx3FJ<+X%9C`R9h`za}4-HeLiesFlJ+(7|@SnadT6DmPZ-l?!g zu<jp5?hDD6+@O(g&AeB(P(D}2R*EUfR>4)lX6EhRzNP)VStsr##&;ArKAURHy3EQb zgzxpMCj5Hh3n>RN*$#~nesQlJWV9yk5Q%iX&?FI)7)^6EG)@pcAgTk3IdC$>b(70} z-#?(>lCX&rWHUi_8h4l~>^Ec2ii~kEL+*rNHE5one2{+2%0-0n7q*4q*UPkxo*|(| z{*Al@rMFAE>!sIyW3vnHDVDGO5DGltn@SUnY!Wd(=rJHWAgffbL|ewAaK0F^xLnS; zptDz1q{Jx9sO%7J9AzAF<YWb$oyEBe`O;tOLrnG_m?V&N1F|6jJ%Hk<r`>z+#xj9S zrog3m3Rah{EzB|xvk3M0iz8ghzh569=CR(9`;!%yRElJ=01Rz5Pr~L*=vFUMVj$}# z=mmwRS+(XE)ttCB9Zvx}5BFJ&*lwa5LU6!xSJ+i`MUrXH>xNZcHuC`bjZ+UQ8`K9y zQrT$-`6_rgC}KqU2BZ>b#;3Xyb9!I=Ku;6hT%6}sB-R$23vxPNU>86W`gp#17uplQ zI#?&pZO^j>6>22u29hiAI-I`@dXc{|po0%RypqY!5{&W-FK1IMo*zV+NK<qQaj6u3 z)<u{70`2j}@8;K(H>;Os>MuMMX=3ObTw7F4cyw{9T?XZ>7s@nvpftd=Js!=?DwI26 z{GsKYG6v}72AY?vt>AOMG&)4d_}d9~<mrgh7J-WX;j9*!P**UTf#(<XmheuXjK#(V z;G^;h5LH}&+rcR_Iz@MgtN5e-pt;M~fb(A1xulhSuosA>9<aKydnmQ=ssqlKEgnVY z<SUh^BzsdTuaKpg#^LTR*9Jy$h7Vl)7=t3EN0Nqc8-CcxIP2uCo_Y_0sv4JGoQ)d1 z0h3o*9KDVjU?>jqSr)U38kC%C?NrK7nL7k->e%1Dqc<pACGz}#$*^_y>D*9ru2E-% zip9qRi>88Hah7)EA$DgqqR*$JTCkJRxlr4w{{r5udNxU+Y_RvkYwHce6QX*;Yukah zAE6AbR`qT(P|ox!TbVzF6gfkc!L`vF&Lo#Sw&~Xj{d5uA>Lmu(n}~}UE@)~!Tmx8A zkUNK^g=*7Rj#C2?HYHD#J0lJ3C|Sl<dAn*ycIis^!Z*_a!V^wv)Oud(a#nUJZgzBO zt9L}gk{XdPFc_1U^Apol^KbBl_!WvICxVf*)0aQt%duCr17&U~9!f|@%<xf_&}(CB zn<oEi43I)U_N$+bkK?<wxgD6}`<cso+D4(-T3K~jYl{8aZMrqZ6i<>Ads6!zp<^%h zm3e+<#`Fmn@MwJsn4aHwPKt#UzS6N)rE##XanUVj(MRL{fyWV->Tld>R`FNTmy;~~ z>3NbR=NJ2B`PfDSu;#(@We_Q|r|S2!vtC7q2r5b{Noba<wp@2IX_yf`v4r>_Ve^<8 zSds4WX*AX=@_@Z~q~&HAzjx)K8~&+2*Xl|N)B9ejp-#M+SiH<5X&zrPV;sToj08$d zyV&!Jxkgpx8Rp&XOtwT5u3HSAv`-v`IGerX8xmL4_H^n5#2*SLzKT5*()kO4#mk9= zU=Wjaq#ULyL$!pc8tV7>#}{**4X*4n&MgbP>!2g-_!&*8!5U>n9aSBg(3=DkqK8vp zAJfbZi`Bh3L}5D=S)Dp)ub9Yc-ZRcu>-)`f=Pxp?*yxYk&$K3$;BhHxDl+{{hEu;g zl8Bv+UanDXGsj2#OFC&TJj!hsHk=0g62WD&L#p+>U#=bfzvyai;~CdQ1q{6xWK|Ij z788edir4lZ57Js}Fej9EL+41xou#ceQo2BJg}ys2hTGc7zi$n<MRkh1r6p&^(dTk< zIemeDO$@H1$}OM={a!E}E`cHhCB+1-x9x@KAK2Xoz_$Ug(1EYhsYYr9D&%k;xd4Tv zhb;j4JUb`t!_rWPowI}1H`CJcGLfAhC=<e6pP#pvt(fKggfe~BTnIYeanr>Pu=@7o z${CC*K}@ICxAo0|hkt2(?Iz){`(=cuM~USTqQXE!H?n5B)!KsNWVJ10xB)u|b;3QK zxWXgFkul+D$Jk#PGQI53kTR@Dky^YZRovzgibvdcX$y4F&yaGdyYeO5)Qa3v{*BDJ zC&M*DG{G}!ZA{-D%5PoA6uHA5^qJY46R^R;zpwd@<mxcTwPayzSmV!2mEE?uA!&#h zbDU=$$WkdSdv~vsWsBU7x&4i4a@)?2FJStiB4xRu0;Cu165_N89sJX6hr4veo5*uj zpUFPt))Xrdt94k(cgG|5#P2p1@z7*uFT{oe%m!&BBia{jc5JyxM;Y`^B4I;MN}8Co zmGx$9{`vxe$eR(uycJe-VfzW+kjs{B*Y*Lwp?WV6)wQr~?l!r1JpZhpSj*sE<b8U) zdxM$OCj5KuqjgWyDfqmtqxH+|HR5(UNcaqC7;2Z$F6%Y<n%I+%E%$2`5#!`aU^N<T zQE4nRPP!+g5p+o)*f$W+g&0PBs2aB0PFCcUe_N5}cFU4gz6>;!V)HF($JE+6ZK~~z zGG-WZj1~noc}TOUxUFo8!9X}DpU(U0>oKBf^QE5sowcL+WeYdMy47gDXx$n!tM45# zM5KeMk$dx7o+Il^YhAE9cX%G&+W}=|E3>*<OUCg~5n)F>HmlFFiI}>#qIE-|1B{p2 zj@C}h7zD4LA%-b(OU3jWm4OTl5$EKLSF947QfCbf)if4rAr~k}z3Ed(lRZuD6@+OE zEb+jBQGWC<1fAi;`=WKCkPAKLylGf}hv7a}3&9Cw&y_Sm1c6bw_~2jRWP;E}-Jr!6 z!{OF<TA!P0R95?Lw&P^~6k1mgO3Xh<j_QH6L9^KETJbcB&#jt$u307VM*ld<GF=Y3 z{gqB$p4N>3hb$*J0L&9<No=}b%eA;tZ}2<{B^9kD4~Q=y{MlV>wO{EWKAR=h-Ud}( zn`<Wb$WebSmxhx%)8aU{l0(bYb4B_p&c!A`6<JYUnQKdOCT?o)yPP?Hx`2BQ%W9&E zGlTcf%4j#`1<H2p7F0O8+2q>ckmjYiL6}3BMUq3xz3q<e*R1bT*;_dDaRxu5VX*XW zGs0A8?gvt)QLG9<MQS`j2QExYK(8+f41k81A3=G@<nIrucQ$Bst&!%eNZ-8qT|PBM zH23FzOJprk&RYhuzEsoHO7(SYf{PYF+CiMFp+PA?je6$4Kc|f0eGqK`&9`{iPOnnI z<ODIaaMU4nJK$WhfCi~4pkR86M2(pZ&3N>v#ejkHGjj{RM+%4lEdZPVU}PZ~F6Ed` zQd!=+$)OM*yLSWAkn{KNHJ^{Z<7X~r(v2l&Yx|+A^(VY+=I5{BE9cAioAD-b+6#B% z!-u?F3govKTfCV>HuEVcna6iahVL$dfY7ob<`%v~;qa>&96e!*X=w0PTen!+<p{^g zWAJBm`mj6E0gN~zH!c<anc`yq54tHKL14Bx?O2`b^P}^rz*bgmVK}002JPn);>SY{ z*12?3nlTgFM@^F{JDtl`ah(h8s_jedr0<HV8^q+ZsIpTqaw1c7#M;=xuB_0&9FDTf znFg+@<)|FJj~A?V6!%d<R;S~>(l~4)wmsr>95Yn(p<gV62*`{E819}IsCVL)mk2uO zSWT1N_)dTIcEp_5&&(RIHiE9!(}Afeh5gls_ex=`A90DsAid*97>Q-*lo1HjsLair z7d;@1<$J>(ffqAj!VrWN7=(jrA#p+BC$!pLOaGJ)w`HC6RUJB1X<c50dcWRH+DvCT zJziSO=is|m;&1MHxDF<-+pO+*18sYrN3LIYFxGuWt*%#Pzpbe6Zhx4&yyb}I&I9%U zAhTrwB_P+IXC^dQG>A4xul>Q|O~x(%PB+NP-H#-zA*wE^7%|nou&K|?Fk)9RsVQ<G zYDc~fB*6Lm*wkl>!`0VOX{+VBM8#FTlIM>_8WJcmME|pC76d7@O174S+iOZhETfjf zEpSsy63W^wFf8{VjOkw)Ug4DBoZ_!{E=ABaq)pza_;{fLhaoyhCW*-g`R~>4T<0W6 zetBrxsbm5t*s<ZzZ8G5(228t<0oZTVFP?$?VI%3a&y$Pq$j1x>oL;e>R6*9TP!y;) zfUKm0I3|P)Z<^#gw2*I9&Qdk3Me93%yBdhu{(d{hJ=I`(RByUpI5C;W?kT}P$$$=L z#XVZ?=bb*8@LXRhCx-K`9T=r^0U@BI-!qifflx~OwZR4jNe#zV5OlYlW{03HJ7@`< zY0W3utNt2Q5ss*^9dF6C<WcLEnait31VV$PLIez362w5}rw3YFGId&!Gi9xlb%m>V zywbb%wMls;w0;IYH}x=D#oL@mJBuB2=o+5$0&I-n&c2VREf4J(N>S^n^*Kz@c!N01 z7q~-wRsQp*ZjSKncE0w+oqE8&xq52Nk{y@@hIJ9-9wL$ACP<85i>(|j34pkiz73Z$ zC`;T~Wqv%+0h#5%g<JLT$ICa2YZxQPEvb=2fj)fxje!}6(pQLz&&pCvdKp_iVY{)b zZpHBLwm!yMQ#6k(6K!4R+4!Ey-9<l-z8F^)P-oDt2b?gRm=+P&?3)I+mEA*C=#~a- zPeDY2Xj&{pBBNcqAtl{2kyxg%Cssr--|AC>tY0T0kRqTf&7LT#x@<i2Azl{Xz{NOA zy_U4<rm%AO<4rY<EMG%uVgkN_xe&Udg0#3`L2y7HJy99;J9cnYl@zGH0KI8|6Sf+O zaDxb-@m#EcNv~Gfe~NUREfjIf*4eA?QIK?W=HDYozg^D?V{SO7w_NX=q?<R|0JV&N zw|Za9!5>+4K{~`e^cIhJl6<m;V)IBgcYjd+xi>xD8dkB{l5zy=<7>!_m=$wL#ocuk zK`^2wVP^>gfm3q>o$t}@3uX~pZOIEdp(Nl=0*?AQH)aPIfFn3IwH6;Q-19Bi`QQu9 zPWnm{8RV{Jjo7B5fOK7ssB{&FheA4-lC_ar6dahT>#3yI7g`*c9Z5J>zM_4%)vR-w zmmzIOlI@V)V>v~<W<6znWf3}H6+3{HQ!-53?XZ*ZqcE39`jZJ%@a6vjH?l&Mcjy;Q zH5%>YvX6<fO~>vc4RO<kg07eeI$mcWHq%+b(A$Vof~ZkmFBMKrBl0jqZjO0RG+4F| zJr@{J$!OTzE5>S95yWa`!QJCQq(%KBOuco@cH?c_^kLgm4R1`n!^#is2|LPX)1OBY z*5xjKfe7yS$1XW0oAH*xH@nrPy4K|yipK%W3bS6g({dvDhBSfP$rerpsoigZ4?;Gv z1e3;8+^EG6QHWO9GSNwRRjrhuuH~)!rXWV=!o#sY<OCl+h7v~Qev@1zPwVvl*08~P zc-qGee$>7KIPo2b#E71-2W}ZI7&uLnPah^4TbU`(RApA+RYtvq#TJ=YN4sRJcRLTN z5HIa92@c9bpzgvx7#x<8*2F)LZsHGMtfa`@AV|~;44`MQmh^<SEm8tH2*bU<(AIA` zb!h8+@V-M*dK$5=Jc<MMs1sp4HwkDMxFF)hc+on~54J%>jZynsWL%|@wD4HHV<@A8 z(w9|5PhiUol3%}z(4#ts>p-~17j^*VrTn2Kl+;Mf{1|>`*W8*@xd+3u+9HOl7@2BR zK;TFybJuDq=!6(xZ>zIeJZV{wHFY&{c=2M@TCSYX|F!lZ`ZQs>9$Rrs2+{fKIdjC` z-s~_qN}5(qxiZh{bXt>pQW$3}zs<)UldVE;)N>HkYIFUi_fr4HyN}LafUW;zljC<B zNH<1j%F#7_Sz3UmSN4E8;dwM9N9AB*N^=kKP4r&T6>vGTJ+o~D7t{r<9?WPMByd5H zH-Uu`iK3Y+Yb!gE@zdEh2m3AP9`Bg=qJN0EH|hklWA-g!SARpQ$1wvi8f0;O3<>2U zB#~4KJfOu>Rn6eOKhtsu=WiOus4^&2M{Q^zNz{YLU5JU)s9~T&)IdAG8+CsUwGA0$ zBGIf4S2P+ybq^{kTK@ohM0q(|H3l(V$o+;4kfY{sHsa|v?v-@+_ldFNR(5x8uSvH? z=kb@cPX@#F$X)Sw`0b31OjmH#_r6}}D0~;A;is2uVRx&G$y-Fb3!<h6P>l(L>CcJ& zszwWug6~)y^Ri*0CLk_%oPjbIMXgAJl!__%d6rY@@fQgwl)#a!N~h1E()D}hS&&bK z`>Oj{!x(HOmrbqK@KHoO!7UQGo&PrajUK;p4;+fh$bAd<Z+NPM`mJB~SaL4~x+rca zRAW8VL;DBcHFYqBp~3Fl+M#)y7!UO%8c9*a68uy-eBa)7cUF_EzdKw<JGos7oAU=c zr{Qo{Uv`|(n+tuWU5<l>w3D`)pI;r_=O4<N+VY6IU9U#E!QybOWC0msm6?*<dZv(H ze%{zk)NgM{gvwsQ5HHq1Y{+3TFuppANSbdzn(J`)9nxxUq7x^ddr`ow5FpKr$BFV? zn+5mN>iJl>eppfSwv>G3rIfeU<!;mJG&p6>9lJI^iY~Za7lz?pl2c~5Mnnj>-<OaJ zEG{72j_(ulvuROEhTJ0X^!udC{wa~M%}3-L-sl(J?HBLWyU5eNV#sZB7unqPu9a7P zF8qDZlZ)?V3PB3)h|BTuu36!U#Ar~ar5!!8le--x^3VbsaREF8<W^0uNWXuiTt!0x zTVEYr)tp(PKYl)O-WKclAa6cW?iOo~CqAtyjc{R}nh-x!p?^3p%YHbZqBWD^aQ(jD zRDxJ27Bl2>!UG2~GAV=`Xb?{h)fhaO{}%z3DSbT&tqMYdM2nhym@K?7W=ub7P{?Lg zD1>T|r#K3z@{DCOsIXeJNSc1~M-adqfhpT48GHp0vQ~(1dDFlfpu20wo;t=(fT8=Q z3>-kgmj3Xbo5kF9)i=SXp(v;M+kFDWCi*%~XW4yl`_l&(hb3s=^Oo}i&c+SW8E1>` zE}Y{bIQUFo^r}{ORp$1Z>uA=#3QsHRr`P#|yP+RfHlPqiLGle?7@zYxpsF_PaIle4 z=UtUQDxQHd5Oj2CK3_iZ*{yCDAsUf(4A?YKn2p!MJ>l7_LM6vsE!OB!hVwd9#{+pu zPNH%*Bf@Y(V|HjXk$VD<bWXK{3F|vSFs>Mr5yCIxVb}Oz4PEIlCD0&35E(cnq-dgF zIjaG(7pwE+H=AD5yQAbHyH8yrC;R2Pa^t#aYDdrOVVAn`C+7Gp{$w3%<rWObgh^=* z>TXAxO7ZL=eQEWyvEs3?bCc;1-O1Y%0aZZifBGv-n&>n^2lk~WiYMfQT|{<{G=dKq z<w?^(b)22M#wMqhTUXhwGcb!pO^zw9`0g=xpyhX)RB|0kkCH)0yOgXY#9G9qYS-MI z;PXW2hTguWS56aQt?DMzT$^l(yTsK>s~bSl*8YS@OjJUHS|&kr8nPGtQjj9;g+0Zr zjD;)3bj(ePoF{X!gpW&24{wnhFltZNoY%~R9>hpj8s*zdVbA*_ji4~d%xaB$NH0yE z2!-$fLB5C*d`?qhd6!d#2DVE;AaZ^(w)={VI7+-U^S*pqcAs(I9{Mx&#})hilEP<s z-GPU&1)?IRJJFO$VqLGPhKF#pUouG}Po|YGZREGfw#lIISja`lP9TJY+_KtG_0iRl z&Q4dNYmi{$24Hjr3~qywNkec{ERdLBd$MhO`=u?7(KHTw$cdXv`@G<lkABRJU<N5E zG0EyRK41|QRb9ai^{}w(;N-n6=n)Bk1v*O5E`3N%i9}>UjhZmba!|;6v;<z|aq~_4 zYXH}9O!5eKqk<5k?(QEUm5aV{E9s~Yo2=R9;;dN_f&F?8klR0!v|+vwM5JM_Bnbxq zC?rDJhEF>ee_x^G84?tbOxxj2J$PoE`^tDRmNFqHMh9n|CyDNz7M=uz>0rx67+~u~ z$e0H~)<>)}&5AlGn(>F54g^x0d%r+Lqx(KUFowyq@Jif~fYMYJ(_*1EA*Y<lN0@AA z{mixZBD0t#4+cw&_$jAid;Cm!!--x{E1f)Uz{M^+Ft)d*A8>i0j&!28uRUHD1Ybr{ z%zpo6-XLfTXPf>%0B}H$zt#{21mqbhLP8?^yzLM%`;%S&@&BMp!hg`EBdLtf&zNX5 z54!h9Fw^hapoxbVMsPq+OnfMlXxPC>fB_UCB}2EUcLQ*M3QyADWu&G#$;Z4yV`T<m zNmdO;lCh!+)OO9R;hyNEhHEk;;guc9_qmar>iEHe4q1I^*uC3)_ubtjCm4@sq{ZYG zcnU;{M*=NbT5`1HX(<tHD<U;aNd-7e;*E{d5wSu`F&8jPWWow)I+I6QL~+(QXu)eN zgAAZ#5^yszaPl@<p)c8qCooQ!s|mKAWiLW*`sr&KM8<Ng0(70ag=A(hsnfcb-N%)0 zFJ-Vpa^rl7Tcj=5-h`>tF48V?u;pBdKG>MVUcoKWZ#Guwl8SjLq1PGX@EG=d(UuzZ zpBc(S_+fUPxK7&0J}(MR>@bW<9)q=GNz?U8UV^HmUFx_L*${$DlB}qJ`-Wi>IZbo6 zI<d1GZ)9{dbQ>R$y3kNt(PSlJYfDw6cEcbIq{1h-3j%l90gC9DZz8h`Pk1H5Pvcv8 za3y$SyG2~1pR9tWl0MKg8k<8sFmQ1w1(A9~k}hTEegY7`6GLBdD-GD;1lW5zF#ips z^`8VCJiy@o12irlvqgi?%Bc10{oijj6mmD4#C)$anlJ`OX(F?;K4DbV)9Usia5tN* zj5kAM4>n42M4<l2<E^VlQE<?x2w4xIVsu5N$6t%4B7SFj!shfOzWe02_g>iaD0}L} zDDIt;wcNpz#26m~q%R;07~Q(nspfcw<kLKOJWC?UD5*&pys#(%+)7wvSxM$FmPLtU zBZ9!^{4GB~Y50sK0SU1KRGm{16-Cr0b(%U~ZB=<y0ya%ajSh|dG+NF5C$AZx)n_>K zcq&erOv|w!Fc~Mw7$*`dI4YqW(6appUjclTB2X|CObMw38FWbYs00jucju^tWLIUX zRS6N$m4v>XeyCPus^o4_W|dhjN{EIV4i~vT*6D(3C{qnVHIG!k-#P%d=nT^V5mqC@ zuaNcF8!YaA<5U_1wv1Z}!fHL)O5)ZT!1_Pt-(w6WpLyGE3OJD4bi4Dt`S~1Ya&FbD z=5w38oyO}1>-GBbaU^70<6Pssc3=`eNuFqqx2C!#d#Cy)1SaO+<9!&L{xHir!>XJY zi$KsrSOyV-m}5;M*}_1kUL?GO%)Xe*5Q{`CQ3^eQ)({FgVnl|*8PMSm=3@O!u%F5y zcjFIMdLiI<nM|~bBcUnf?DZy7UBy^67y^D~23m>g-a(^Y>_~UMx-Z?m@l6zZ|Ia9Y z@fY|0A^kpn8_h$H?@2%Vmrv8{x4(%d|2F-v^gdLB^4pPmfBJAH*5~>_yLHCLY_kW? zwC1|;7;}vK3iAp#r)pt97{=?%#Cpz{M6*khnZ@30^dki#0R+DRpZ>oM0sk|C^`Gg+ zvKgnAR3_&%5Cmp8H-s`Ya1Udcn`qR6`asN%%kOKv?!M-)({H6$qF?NKA~kmCo#|D4 zx8a=GId5mWukR%mtzJ6ijy#=c&IYjYHkbt;Q;1I4QKxDkXI*e|!7OQB0VmVNX^EC1 zEsF_}CF7t=#iXL;Dr&Cc?CSq(yE9M&=cDa~r8O404wcrJ*|Q^ihR;7}55+Q{!}DhL zOg^_Sf=Y=oIygFVnK~snFStOy*;wqjOIhi7P~YU}a(r%l<}ktAMJ$KgvK*E}lb!iE z8t^EBldLZDK3Vp71OBj=KndLp;q@}nLMl(6&*3nnaLjm2$Zf+Aa-yQaRv`_$1e#z> zMT+Maw-&R-g}$FEW8r_qqas2Ke-!3t4ZwfM*PGn~m6dfIK1(Jl=qhk#5ttv?Z*s<e zOg2uj70Gra9OiJ#Ih?=-YM~y(0Q3p?6Bgi;6Ar@;CQP7tW?=yw1Ax<fMyk^5@w$rG zvoNSr5mha^CK=s;@80|SC2#L<EE_+z|Ja`K*H0W09rNF4!(Hnxe(>pZCEq>n&Bc!$ z2$d9Hd{epw4ZU;qFjefkiLI_*e8DwzSH+b6&$z$y`<Y6dXP3@kXK)MI8#%6|w3bZ- z&toqV$A(50oL@Yu^fI<toD!N?w#sD`k<<g3@8VpgBv*;$Dy6wf5fw$|;Y_6@SBd2+ zr6k@PMQUYwtQZ%wr6qNanxgYdMpjIYOeh*(a-BLypKHu=&-5);m*`6zx0*K<FDzNk z-mR|E?{@ssysP+*lKb>^j&*tAEK?g2jXCpU0XbF<0U1*saB@{cW6Vr2E`7-2{8jll zzr>>t373|j65hiT?8vNGgonuCu!p6X7q^^=R3;rlPAR%hT+y5P$+w4;6dStAM}who zz9b49iv?6tTnP6BKAb-!U=y`l131*{VTRD;4)wAoil8Pm4b4YukpQ9R7TYz1G)bC< z9*>q|OgSni5N;TFd^zcwPQF(jsDd$}n3K3~@{u#A<j#SG5$EN^7W_lA$(~f>AsT1) z(k%Ju^sNao^C40kBO?MeCMy*rL*7i{&z93#44Ch#598{pZ1%CZG#0C^$t;3rbG&(O zuZQzeC52G6I5y=Ked?RH-tfX@O;gTJUw6s1vv2$M*H8a@Ip6JQ+q7jvVi@{xQtOiC zCm(+!{oTXpee?QXPW;)z^GD7u@=lM}KRxq?*RH<y_sfiXezok1an;px%g)}u=%#%O zZ=`z(E5SE((>177w$9@)OgKaTP=wrt7q&+-D><(S5rivP#6o>L%I0D|w^a%cQWhJ& z&4n$0&4I+J94MqS1e&~2>U{Xj2!`z4H2V&vj+k_(T_)d47NAMi54+MK?(TFxueY_G z_>S~;19*RuV{$Ve+DgnZiJK(7C2=021|Hy0HQd?KC~ma0$nhNixkJ<#Y<1zC9fItR z;T%811N;n|*#zG~J4nNeRK$ZKo+b~T=9%wl^{^hDCi`-9P>E!h_%m>*<TOPYfJ24L zh7=h%R0iNsN#zlGb{Y;LRBkj=*;GY_4Nz|vXHuxz%CZ2OtDtEMi<`FR>h#I?{*XQ~ zf6oPNw;t%^yH9QXIDP8rUm^VqcHF6LuWr9;58cnl$l&KjksS}{oa|l}CyyA3dUu84 zWr;_aulTsf{J6)eu7){ppbP5xc5wxd1~Fx9iBh3eYSXk;(kgkawp%-@sS&M7!yHy6 zoLx4Tkp_Vjyt1KzuE@c+6<Ll*yjzlZ22=#|Zj5;un))K5Kx8sgLNl>MlT>AiCJD7l zYbCfw$kwr4mY9ms8vG>2nB1`<d=rl=AsSiB@8*y4JVYcb+tq0sGZ9G(*&Rj>pPAXA z81VP{GP@MB3x#BzFcWpSA+p%UI6xBr*d{v>IYD3s<c@BxqX9@6JXS{o5QhGPe@e=L zb~Hy(btayuM)=&mH~)xkJ*%K_2wMGm-yUG4@3+ps`DU*C#3(Z7<zPiyV9qt9ZFL%C zln&jhxe#3-T`04Pq{`WOvki?gbfktgn5M7*(+8n@-`?yL#$V(RixJ{vg_9H|7K+xC zDd^vzf)T{I;l5I)25S&0B*G}*%)!}qk-P8}J}e4YRl*twdMDaW{wX8cZs#*%rDVfo zkJcI>0t^_4;e|^WzfLR>G_vs+m>x;MCmWBoB+WzSsex65q?MrboNfSZAu)pi6AZ^* zw4j;p!JzpT85c$q$QMn>B$)!i0XW}`r>#YG^~9Eu7|kok-!xr#>JMDt)LYH$#t!zy zt4FuBof2oaf%_QU|2Y@r&SA=!dOXA)EbH<hzaAJ=t`8an;c;Gl{_sH;4NB>$L38wL z2TiNITVG!Oi09G3COxk#mpd$_yGu#!IsXe~o&KF=d;R;${+Rc1nRLDfg$d$Y#3-H4 z(~Ib}#P-LNT7kE~7au&RCcz~JU&LKFc!Ja%pCw%zU!<+j-qQZ9|2uBg*BFR1D~fBp zRZ+KZYWWT2xI9>4G#G1)CyjoCf6~}&d}FYNmfh$4Wp3y5F*}d!FEr>b5<?)nObjE) zdb{uooxTU$!Jx>HhXNEVN0us8K~^oFZcb+eilZgbVuD>+YVcJCyNWr2H^pS#g6tP8 zCXAGfy_h6LRnlBBZKybh!o^+q3fm~P$$qa$tTMJa#wQ5FB|Z-*!+}m(8JeKsXt=1R zGO;^>*C$ZIOZs*$d84<)S6ET}s<2PM1ww;>1%uK_x_ejfQ68z0&IpwF3kKzsbfrWX zI_!+ioZv9y5Sqq`_Z(PahIlo8_%Ol2L-E{JvfT468M=_$QpQkHNR%(mw3N_XE^(jr z^ryC_G_$Gf98CSGCoj+K@fO8cK{Rk?hX_2xCa>NxXY;NL7G798_oLaUdgRKbi$hy{ z*T1`J<qJ)w>@D0C^j@|1hACC^uD#}|Sm=)Nqh7r0;$;`R4Lwj?qFg^@M01O;<(@J2 z^wDSCeDvg9BZi@m%YtTEW5tEjt{6As=b+KcL8D1Vf$WKHwI4;i<|yWC`H?)|P_U%{ z7Zel*tAjra&M#P7APjdUJ;}gW&)7gpO6ijvDbJOGIns6dHIC~&*9UeNe5ifo{mB1U z*H_-J{C^7_Ea)%rNB9ayg}ah(aM=7<M-xAb|0wiN?u4nCc?Ji#k{=XAq~rw+)mQwk zicHm3r>U(fms!zOsgA0?Y%=e7E~+`2%fe^2S*v7c8qLNN9jGAkRBwd%oZ&LL2<p_U z*%FL*Bj8=@(H3+RaRsOWjYBLVZl5SER8H9;qF#uq3ZiZoIf<$usw#-2*ocPFM?Iuz z<fBV=bmIf^hcBrAf%7C<v4E_z!5yGnr*Be63cqxB0?`zJ@&!ywv<N&Y@GA%+O{S=@ zlm&V<u>TMZdA?)8)~hzR*y(S7vuiG{8GrAhm!7?8(Mx=H-#^!kTl4n9^f&1PkE3<3 zj=!hpop)dF0bFhB|D5dwyb7SnSsz<tEOj7<ipavue1>H>XHXS=K~6<Ro+y#gi*)oN z-OnYOWb`7{@SgWx&+x~+sVZ_1SA2o2p@QIfuJgQ?xi0fgb4~L;iXUYk(VsD&322h; zSLWbr**W}8+I+oLe@@#jcPiU8&7&>X{)SnjaH``5$5IFDKmalJ;!3(&G!447mRZjn zWR3zwa5z-vbRUDz^<qP!_*9q=<11F<1qgv3M>Z9ZO{H@ol}Uig<f33+@jek1hz%kZ z4Vo8G$U`E9S8-^5&E71}BdY<KmC*&+KQXg|LB!McE;ttNU65NPwGtI(>Ja==whVG> zMqXmuj8#MTz7H^CA~`m>HT2EPAEp1b;EPple<|4PUpjf^3(wp+=U3=1?<@OI2q`Zi zylnG^{JGctZvTNjx0CpP6v*t;%pM*z-hM{GoL-{W=;!Nvt-Cfj5nrxc>b@*E8(+=O zlxMi71$P&`$N$OovH!5^u=^YD-~ETF<#`GU;sIi=V*<o>#j|j+ewJrAuGPojk@_h2 zMZt;61bw!CSoq9y0v$6<l*byX=>UsVMT-HGWL01F|7GvX<Etv}#b@U1=WgfReG55R zZW3|>f#ime80Da>B7|L*L<uBFAS59Rizq^?;x5|Py0&1oF5TFIEY+G;%kQ~R@Kx<A z)`G8SU23I$l&4~n-^}-%8!l>>_gg-n_ebs|bG~Qp%$zyjneTVL-|u{9F7x*DBsA@q zjy2uXm*|^yN}6m;SOltj8Rh6OX)#jOMK*$TAXps)ScY-k%`mQ~E!a8}H!lTO#V&9D zbJ9`igft-Wtcz+TP8tS74*0Y*%o>W&Z7?lKF#AZ6VX2v!z6EQhf7F*rbg&Jk<`jsl z?EgHSF)M6N1>?n(8CxC37ES!;>5LoO^ui6VcdvZy>r1{>y0_2xVfWhaJ-KoHBR7BN zj&qN0$J}kR#uN8vlZf|~mwtBm_$x24KAT3l=rBrW0orGC%uqIp2gp3GUZ_{*Ihwdt zLYva$kOS79B0#_?b2fvr;w&!o{zmxBe>TdG_Etwm$H#l8N5{u!dFvvx;|<=`(T4bX zaed${IUCkc5PMvq(99r{{JCJ<vrXHf5l!P`aaBTx$oJWZO>?teN(~h68l{eJ`Y82; zOc$MXK^1VN-F{u^RZ17juM`%icDb-Cn#~sX5(O!CHOI4QHXCOL%e8#T%r8!*d&<b@ zsW|kMMPPC0BUr~~J(bB5>yy*_PR-D$mU(u~pi03Oacy_Xn!YtPwm+inum$T|X%e%{ zjeaQyv<;k70Fx+p)uEC<9elt4W9<L!>)4Gye^1?W)3Q7Ij+0r=vGZ@e?kPM!^k@&x zrp(@ni~4`p|EXr|JhTFT^XAJ|u+t5Fv<o*2zd|AGGKcvU?1_{{Mn%j>d*mVK!>*@X za@1Ai+7;=I@DYZOqG)z1OLlQiPh7<TlJxs{PDJW<KlTs!Og@z05l8ODU^3r3dTa_z z=gD|>Y8%24laWcpbWt)ve$Y#cKrhW@go8?Kjr1?J*~)L5tv-Nh2NtnlqYBmJ_JbJq zXgKl=K7?}6S*)UPGI=(cK?cmC&V**FeSB2Ul-3&9$55qPt{r|&7ZpjAsf45{-WbwF zPYfq<vUtlDoTPNpQLg7zlvkuGnaWSu8slmK=54)a`*vUS>uay5i;XRtJ>lq4?!i0O ztV&I~()(?7(vqcje7>Ag#HIbSxDO~rFdybNbBV(t_)8oK{}qmjeo@JaWR*Ay{3Ur+ zjxqkr9h3a?r3H=^j?dJ;2HYd_N(wK@yQJ`n!fhoxN~AG4V}_3_ndF$1GjaIboVmlB zrDZwGhA%1ETynhdy_`SgeO#!Af@0tR+1*nV_en65Xa*Vu^T=k@i;f{Gwvy}3G9e!K zs1tMJPBj=PPn4^PaQIjVYauhVB(yoimr#_Gc_qNsLcrESgKRAXY%LUo@0iasur-!T zWcL<Z3o)VKayIBgT^^i3x!L*8d5(Hccm_Otwr8BDmQHj)F`g*vTTd>l%>x>}2Y8zY zc$+7ZEa}Q&>@7JXgT0;kNc#eZ>pOLp?fE-pJ0qX66!SH7QVKEmF%TdNEgxjY=Ry@} zhXP*)vs=E?QFd9^^|yrGc<rt?Pq)5$=QGzn-t^{<pMLPb<JVvJ<d3dh|Kx(`tVCJk zqRL&j<C?eb$M}x>H-EnJlcVc@z!ksR``jzfAAX)`mRk|xn17icHylJkI`9Lb6zl>4 z@jAg*a1*&hE*_GqLy=TS)}6YaqZ+>_E=Ycd>P#qR`Iyvzf_oJlggGW?f<s>s#D3NV z3R5g}aP0%xPKmO73bP<WmneSLB?_Bh9I)?BwYTA&eHxZwXMhPNlp2%T6+9gz?ZF+v zUBQ7MA0+;SwZx^-Hk@XA6Ae0YP9h%G1#I*3XJ!bflux_vWGr-jX32wy09g_cIcEeW z&&*gqfc;^x+Lg?Z5Fr`%FM>E&g>A<xx9FA<ZqXUTE}7CLVhd1P5G88My~o;$qUY(* zjbcFG+Ow&5?T@GRbg!CuXAKnz|8j5rV-NRTO&;00an4=W_x*&@<Sn$LYQX15LPyN2 zlriiLYL#uu4rQ0ptDI0yD-u$&m3C#bvfWNPsSGG;wnAkri6@*Qa+@#`1(8=pDIp+! zJHLb9#rN_jd9jy2%@f2M{4sjR^Omek=JA7g;{k8H%AU#tXXDeHjZfR&ct%7j!y!LI z{v!4|U{5l`ROW8v`i?b8a9pQYxuvJ4hyU>C(Q^U5;M{S_)(5`ZKMPmGJA2XV=0sjd z2p93?!p(vZk_AEHdBO`mgk288`JKEjI3)Il4pEBho^6z)heDJpT?tj)=D^vGagJIC z$J`3cO7=#!n*k^a4$vtb!$31}vX^qmppyV?J0d>+k8&nwQZ-O9^TC^;O>CO*?iw_1 zI@1Zj^=|O}^z!npnr!)&x@FB%AZuz2D{d)<tP#OB<dz4pwNHuJ;Ur4pH}~|f$Q_ei zIi{z4{C!jT_g{VW(~S?fr{2rgo!jxk^hQRnbS!Y6FrOjPV8%pCwi4%yixke|`cL7k z$SG;3Z)*ujO#@0Afc0irf||#zQ;AnJeBdQ?dat)Ir7$IpUcCY&<UoRXBTW%`Uf{(_ zWisswafG@+UB`8+$GP8&(&Hk|6APq-TqTZG#<^-;3;BiO0%@UgJ-<PCKshY_8~=uQ zN_=1XFY!}3;8j(D<9NcnjTD*QD6*Wee2h4rPgs6ODjl#qGym~|D9My!k;)&y9#au` zu&(6F>@LRu?Lf1ZNVib|$dN!KL3Krh$DvwEIn3W{G|)cuII`T+U?d|iZ~#yz5U3_7 z;&i>8GkJMtUqe@eEq={eu*E0OuPjmVG*rb*SA5#-i1{B$wA<wx4r1FV=bEPAY~@Cd zC}9^{0;jr%wUf$Jm6EI~Mb65qVSYn<vY7kOYkLg1?9Q?GOM(Bv8f2dZBo6fM$$_Qv zJwbN)-5w2`j_3vMoN(FgNc%4^0~>pk_bndF{vdst-(Ld}Td3O;W`+N_J7#6a^$RWQ z2U|q2+>**M&chO=Q2hP(`&Z)Ue%JrV4Z@+%pTWEO*Y-7%>}&fMvvK)#8dU<l{{CqJ z7!)`fR*tnC4pSA@b<}9<YMpz~YbNM);}Noj?ZOFxucgsxfy)-!h0Vf%z*BCn63$}q ztR`Ue0V>&SN4S@&nIx0je{!DNXJv4EtFJA2Otyuw^m4(#Kzaee=3Qt8e<AN;%!`?h zEGI<_ckIJ3^YtEZSG49(v4F}<dH8=Zw~{kyFQGH(J>>sxPItIc3H}s+N_ji<jv>4* zoHa;DHu98k%uqNkZ&+LmFp)ySVqP?&smBs{TVh9oBq$$qC${NW=Rso&gSG}{I?&ks zuzL%36|)!B3FvLW#&j^y>FM=xJ?&?tAHemdGo08K!!f8XHdtK@s*5pSEuB>tgIO{L zig%3B5=_o9C#yJ?w*19deL+OZ^Ah+N!psIhvJs;{4(KoIOY{dE7X|GZ`17=ke8%*{ zRBUyH+ak&Q!~wj1?-x0+WuNIgm0_~UF!j-!z8S!qJ1h^uaTXElp-c~Hx6|({@H_Pw z_PPS;iP~0O*zQDFFbl!<Uzn~zj?SF8A1Ql$<=XqQH@)<o@9)j4yQKYJdKNTZv89?X z_~wkOmo7N8^Xa}q^6i$ZtH1eJ-+g4y`t>s(yr=IsX_@O?I$nbKdebLxqK`bO9ngNy z{lRydJL?m9#&T=ufZ3qo`?X`?li`6dZ^(YPKj@`07Z!sq)#Y}&^TQx#g+b<WfVAZR zY0EJvZ8?Al9J!E#VHl(>2S{7={!^<%9ja}OJ8J?vbbvtT!1T{CBg}{{$|SGw=`d*z z?+EV-_lEf}N6G_1pv|*Ax^6obex<;renH^UGXyT)ro>*;`$Yk6MhLd;4SpyUo&h23 zg4859;)44Tor4FZu%M_bs;o*XCu#+{=#F8J>a{zWIk2x`To`)Uw&G@V@z(ElzqRC% znVQ;DylP746MVsaJ14eJFT1|4lib|8di=ew^uZ372?Ou(g|ru4D1ui#9e|zBKDJr_ zIsqfeP6kEb3$LU`oRh^V@_ccje2v&F%PFneTOF(jPt>M)rv)d5>x4RGwpQ=056%v+ z7FH{b+G_9WU}Jb44k)7FTFlKA=BkUGEnJh(q_#NKP@I=^$};@<G0=TtFbt%@qY@-A z=Gcb7wCNQ9+qdX6sHC?45dgiWFF%nQC1E6Kk|A-@=o6Gju=J_Slt5v3K61L5+6z0$ z5ZD?~9Qqeb2sYIM|3TnrjZ9i4V+RC{jxv*ieFTfubK06@{n`2qCyYVAC1&q|wVye{ z9A&AnRN>j&#IpFbO4@12TDnG=O3{SJZvDlZIJoh{+fVd=ba2nsoA>O!Y3m;1!-aRP z?SH%P$cJCU!?5d>mtT4H7caj=8??2*na`m;=taZuQu8jSHbT2to2K#Oj9muFHikR% zvdRKwS(j$D8`})II#eCIJal<%p}g2x7pjY`lvg>Mwbh|jv0md>{<p$!MSnHyl>gMQ zlg5A%%;S?<GEl)+Ym@lPwME)Hjt{f?HHYrzf^lX#7lU!P1Gyvl$5gDTrn*GktnvnQ zp<&vKzVDh2SO*TL7lG3P-JoZwWky%oSj&S2;V$eeC*|G*LSJn$PaDd$3`4ngfua2D z7Y*gGkVRP}7|OFJSBCKgmh!Zr{EKFCu#@XmnO1UNnyCf@e%Mx9sB;;;xAn2=dsp0Y zY-RU}jf?IcsXxAU{STh#>fGJmEIfPLtXX#q-2Z6*x!bR(?mNdlcI1VZUw`?fUo&2M z6D7sNv=4RkqIprN4{JQm<5T=){2YEc-^GiHE-SL)^682TaWZxQ@{y_(ZIiK_YxuB_ z<m!K0ha8kDJ~8zSmL|fGzhLgN)JQQyoSfmE{KA*i$WvPVnGUuSiD9QIy~Q4BFK%^% zGi!YZ+ev02%Cg-^lqKEt-AkIsExziKOE10XD*rIP;E^>`s-GyFJZ?!x-)jsD;|AX2 zc2g{j;zH&|KG&aHtz525$e*9vlzW|WmvUqN<Gvr1{G4+sp=dZXYFfz~At6TQ5u%l0 zHC!jxDRpX{qt039S}CtoR;nu<E1fG{Jq1059_BuhKYUF7B6Xpov7oW2E3YembN)Bf zhn@Ep-B<F>QIDxlIUg;2tY~k+FA9Q1X_+TC4dkVP{4`Kx=^=I=2IQrI{4|io{5-wG zsuszG38%_Oje-F07?~AiMxxwE3D~hC<07?@t0OxjM<b#qk{xM_oQUw*k-H-#@+|F} z038=#RW<!AyT+WEHGGV!6j;Nsi)61qn6j*`ZaszZ$hxeSERq!uNW8V!2`ccrX*Ks< z)5kiPkB@X@M{zViV*0|VGFH44EQ4VyW^@&SQ->l3D;Y6ZsR*bj5wNUA4v@urr2Jx9 zbYHycSTQbUPhlmB(;jri)?O5m0UyAL4aHG-R8C=WYDrmd85vi$xr~%C3voUQTapzF zIm5y-Wg-k<4PbzEN{*550aEus^E?KavDkcUuxEO}-`zH7<(^0@P?6EL8MuDUberhe z5i}aTbj+|9S(C{%8GCt?)|yL_9Urp>7Fn6p%p8~4WpJNb$eO3k!V$yr1b<0^u6Z?| z#)-KuBZibBDTaj+G#ciow>j>-7|P9aIpyJ0i7qNsR58iNP_~xEW^`+J8bshsP@LSd zWedt+P|VU$KX^JwVL{<YQjr={`6Y)a8kiR-*xJVJ@!Y!cy7d)_ZybK0cKq1ld*)pK z>>_=av$OfSmBC<X?8fKro8Nr+`lG+W7spq1G)=fTFPtcwx@E@X4Mo|>DI2c|&#s$Y znHSIUsrlvOud7?M{mLIQI?W&W3n>;JKq0n=O=TOi3Q};e+jt6Wj$nkHE){bqs3}R0 zN+$`<;n8wYE_QhnPCOvV6P1Zeq;_euv`yj>ouhY1yQE&}m?VNjvF%xW21b#@T&7@Q z(31RZ!1gu%3`Pf={n;$Tj0m<6V977iA+i#M@tEDqzn~7mp=EtF+Nm=&uu9Wc!<f8Y zUaq}pxl<-W)*=nFLF<)p$_Mxu5iNQ}&C-^V8*kjZZ=Ww&H0+V>+9gfjCCl!>QcM4x zcl3Q@dPx*CNy^Jkva@7y?Lib}s~c2DB!(}@+*wbX<z9a(>BIT5FX+U+po21VouUbq z2NU5C6I`Pp6^B3`4tc=<Jm}UC0`?sml!QZm+Z1fu9YdhngqS4kV)z&c;ocAq&4_~L z$%NqO=_qNB?uhP+4n+B=GocJl9PAt}Lpi3LRCpylaVUcmhi&&%!P?2{hxtMQDOdrs zqcS6Mf%3`Bi(eLZYx-byY+Oy1eNYJ{qA0JqT^<(^tu4${<mH_)<dSvE*i>A+g-*e= zti66#SO5m6(D@B(+_>vrzv|Ii&C%n~TW8I>>!O~Ad#0?et>`58_U*lM^yFD{?!JXo zojXo@C(7)_w0BhefxR*v5@e*xA{Gaozw%+9LTNJ72Mk=m_E!iP<?2-`<L@rLN}&o( zN@fwEoNh0@V*9ExrCAx4lR`x_0trXSO{7qeM)dBuxv6Mm3K=x=IESMmr9iDh73vf; zS)GsPlZEmEWjS6>n&oC?Jz9s?kqz>CWu3YeZzVT#w@SCjw<+I7_bd0PKSbYEpGEtn z-Rg_z7wU2Jy81`-d-WVTqn6OuQNt*x7NG*QQmsX%stBexm=fqvNu|&GVxDgz6DZh_ z@_;KI0v^h6!O}o*VpxGxA_z_gb3J)0NpVB}k0g&IQR$$IT%{_>azau4ilQQp5Gt7X zF{TYs5!;JL2o@z(;Sd%|o!FTxo2F@<4T)p>OkuM?1PYmoK}?+M_~75zX!<A`>8tOn zkA^=wRc{{{GHAilt1jG3!#qiC&zJKb%TvwAJk@;V82`Ax<)^0-+2Q0L5B9h61${SO z(>8Z4xrJG6G5ZA!VLu%mUOp?mBh1SdV}Scu?na_5&AtXlSn=TJ$spZuT3__`xGnQD zomv^Bn{cn{97awm4PntkvEg#UF&0i86JF(Y)wY9Jj811qm>tpHIHJ7<o5R2d5nOw$ zS7O8vqZH`J#r$xUT&^$H@6tKlunts$<C0*~Kbc<kJ#8x4IVmlkWm!ng{n_~`UUVux zF{VVk0*`pnp*Y;KS3^F|FU94UBa7-v38`34x>Kk^s+KQuPv9ntrZioi=D5r=S-;%7 z*fZO^N@|p^@oo^WmAd4E;vvt|-oJ|Hlp=>-go<2+?jld2x70rtReIOSH_P{P_c@=y zPm(7ck309Fr^Q3=f92m0f1|v|zvuab_l)?N5_f>7y%S<hv>d`<N{85M58IgP_V8Y$ z%aWXsJP9{b7~B%)!p?;2z`z@3CF4>qI{J!1D{x`IPgEUxftu9k^0U=Cy+yxHzfD(l zm8WBob%)h4=TTj69};w?)N)tWPO)Ik{`4<q`Z+<M3`-IeRh1o1r>f~X<?qw>3dl=k zmZ|1))#Emv*CpAIbgwrlNPa<(+_aw)F1O$1a?4c9O{%h=7DvJ$r67VOFE4v^r`rY1 z^HM&}&P-sW<MpteD60Rg=E7`y_GTC7I)I-rRijqLZR!mwQ4f%Lrc$fpHvI;jIrq*p z9h!ibfJKs{#P!5JeAah%Ifz7&>1XQe!&I)Je~ifL!|x7KR(ivlb?zKcoeuHV>6rv~ z;f0P$=KLtRwHo%n)pmxQwkvzif*zOQG{`dpC#g((61fMC^`KE6!%N2~9&3LVPTQ55 z1A8!!?UvZ-Ml>O3&a_?S;1VMboZKxLR;t(DFUPht9DACIg0ybRt&Z)HMzI?Apt0nT z^`ybd2g`+^oIY@JuWIlHg5x98=YqKhUVGYGg-Yl@Ghq9eQF&onO-x$*D_}1jV<^B+ zd?ChE^0-0{PwW55p{K_2<xd^lUUBi$JNtWn^3?EOQwH<UDg7nV+IRoUN67MX$H{g3 zK0nHS428}^f2N#9!@srXp@0WFM4l)j5nXgddO#xglqO+N!r3RW{T?s&<VLJbx-%nH zi#*@rza>B5e$dk^^oqUG%O1sJ2CJf+PYJl9S_Q6lY{7Rq<WldI{6cA=V}biVe7}0X zV?R0I{8z_I?pL(q-0RA#t~a%JRBxKN98TobJz*CWEZCkH)6F1{h=>cRDiL9$92*jp z4Owov%SDlsWJSTEs0chqMLrLm&t2H#acK@JR1lYgb84#SAs$sbj1DVAOCZIMkirqy zVHb8KoSfh3<WxoBI3iL_!0AM4trvTzx;8m;RZoMcY%*0kGwe6Tnc`+RX6Z81ZE%}N zZY{;-RQ<Xa?2{8=vY>N?_KtSuBiQ?UemsMhu02}Wajl3o-{aXT!zi_4dSOGiMy|03 zMUOk2Rpo$vds$V^+)x!q|JnVXoGJ}G-vd=RH>XN5<AWQd7lL^XRwL+yQyyYdPbFK2 z;0mz^-`M}a+mDWnmn8Q7y8j-0`&-AW``;%;xc}41qb@B!*YE86CBA%Ne?5J#B05H1 zqhrL4cbYEm0rH|uytvF8Vyj)hG!+WqONPPP*U!z%DKMNADWzH!u2QGsNo0~dRjJkL z@LV!iUZl*_TJSQmjH<^QahJSNxgFmm->Q6y&yZL|F2KX(q*5h+PyRKQ*jw$_0x3et zKw(GZ<xz!)R4XcxRW*SLWm5#RW3ottkd#DGZEzv$^iJTqNw-Q4U{4QaT7vi!vKS#G zG4leL?{Zx`+!(n{_Y(JJ_i48P-oN?mD|Z)CH(|UJ;ab#&1`vnfm<tr~Xk9t1dztmz zUd`%bz^Nqom}q@WS*y|Bp`!dd;BIA$1e*H=dn5IldYCq8XYL!03uLA|TiBBsF6rIR z_cJUqR9XjytXYWbfgi}Un?2yQZC&2mAFER2VC-TxiS7wifq1M2tB9ZeM}y}FKzRig z^DM{iG37adBJx=0g8o{rvF~SX8&={E@8x9i-gSLfZB!mY0|VAMXX4wW0OeC5L_&Ar zOYksMwvP%>90?vGIcPX;yorj!7KQFZo**XUsRW?<O{z`!osCo2Ln|r<1}sl;;dxru z1gkFeJK6(<W|$*2rmBkb+G{q~oUY+&;!CF_Y4zg{685vNRHUd+R#ec|So#apu)wb2 zx3q>V(?f7O)$k(Ox;`EgVw^8X%hA#Lz`!5)M}=RZG59v~CdY`_h;d^lsgv}HzS^;M zBUk3H9N9kBF;y-|B#Lw`QCOJJy#B$f<_(1-QTSz6C6;UdQmfng$z6AV{k$&xK&xC# zxbo5BD6tfcC@D-7#A8`rU2~}ADNlA;T)^4!uwx8TOXKomf#Q7E0W!jL24XL6kK=f} zA~!#fwm34t1cLzzED5v+HV62?0dn!vsA3Erlc2o++@M`7?f3Mj^qSjWt)(`$$LHS4 z160GTgk##$hJ3ccDfyAkPUvF?M4z!eEbO%#w&^KUWna=~x!Mb_)`U5FRG4Z+sZpt5 z4w1M5Ba|D%!y@q*%8Ey0<$OgJ8ZDN_a859rCPitKB4t^4lvD<$gv`@!wrqhzol^D* zu*|y~Yy@o66f<6C7!;UFm4XAvU;*KQg~z`3qr>@i;b5TgmJ#NW9h-hy`cPS8<rOVP zVDaOHMX_s))r(i%!u?_YFWP_9QQq>%xUi9Jj9)lrdh_jvx2~L0KV`+Fu|?5KI;yH_ z3TN(GkbBA1H~#i>_VZpB^Jht`@H}{eOfmDQiXhccISPrAz_Xw8lWO?w9313*H#p-8 z=m5#zD_iG*pQ)eTceXDrnK0JQOpw;;f$Vtii=R3841e|rJLH?7IoyAeMRYVen61LB z+aB2&As<U0`^X9DgpVARj{3-R(sMqtQ`+ex+okP3a<_E1k8F}Q`N%o>oS(GFEq<~{ zUgRfE+36>KpDa=B+JQLFr*7_3;&u`2tZ|_l7iPz%m-^bI8>G7>PQt#i{u;N-Swn?2 zGZam^yRkG@t|1uJaNOMllStS;^4>ZLN$WcW$Nd6?#<9)5A8Bwth-ROWNdJ)bBC}7R zjx}r6;5GIK*W*AQbCatKiK3K~0b~EqjN-*5l_?JYOB&)|c=dZX*UTI~DYW>?^AN?< z<o-XC8R%8O)Enjuz!Z{^pZtgPA3kzSI_4w2Qm>Efl6LvX4rzyv+#}uNBVUug<|Ca_ zr;nVLPy0!u+~}th&0HH(9;bst{vY@lZX7O(GPkS7NyS)pUxF$A2(Cf0+f(DD=qhwM z8K#`wl;71LimgI?H``H|fhcC5XJ?<)0Km2dfv2r~{UVw&v4ogGnw>~5Sx3@m!dLz* zJGr=IOa=GvX@FwpqFKWy2d|!U9->V-Oc~s@aLVP%eT1pY0&}I+z)tWeEb$`)+%-<6 z?d^Z;aar5`PM<#;CT(;#t@FOKV1j#;xAa`wXhOUHT_*C?SO=CI?g57)Ja7mn@ROLG zSs#8D5%Mv@<U^`0oZc<qQtcERagXVQgP-j8;y>ZUkC9bIi2dU-LhQ5cLc{qo82zm> z@0@=Q>OX`hoi8K*6J=!dUx(z3GTJ{;MnfMT($ZzXr;7H12hBW)2o+67%FdKqRN}k` ziP*)7t^_iXnHrlyW+0sMpln2HsVqUV*`kQ9F~bE2@;DmSruV&Y^;PxE7R96l0sNN= znLAS@Gb!Qf@=L!pbwci#?CC+Zr~3IBjlKumGxApQb?^ft0XwWh&t-%GJR8DYcsD*u zB=Qb7hhHJg69ov1#l=#$^k`;~*DDj0x7C}}KR7ORs?Ix|1FlZ@UG86LEA)%?UwapM z7x}jN-wD(Nei^*Q3ZbIR5WXj}Il3s8iu>ZvX6+lcH5+H&Y5XSV%G|cR+4<#(01fvS zwiNak9U1=H5`9G8h`f=Z!Eo_cgscAPaP5Vm^p3&sv;S9N)ck)K-up*k^zflD6o$f3 z_-}>F{=bC!p)eHw2ZnW{?-~7rp)eGN!cZ6rLt!Wkg`qGMhQd%73jgi!@lY5FLt!ZV z&k6{B`x?)t@fg&L1au?fQ2xN(G_D+Y6Zw&UU<JxY98JlmDGaWHcp?2ZA1$KsaO4@t zqOlG!D_ctQ_t2Q-FNOT&H04bid-^}2u?}%QO|O8bRM0$cqDsh93AI%sjn-2MbylJ* zh*|zhR0eq_K*}VDr$BrKePSh=4e&gG=L5U|;6=2yDq8ad8fyUS0B6x}tDxp8S|^LA zz_(Y>r&Q6}7(5U1uzIGVsWg2at><nU>oi_S;T1I2X}k#17ePAvRFj_~_B(j&vl3zs zu&u%!g9&n@4{Vr2SD{yIn9s-~pfE1BVG+6Ur8X>~rGt57G>X<_!3w$!&$M9|`95a; z?bfG)ztM&<68M8QOpwHXYQr2V<v*}tJ|mBSoI=EgMI;Fc8<x=M!8|ew^S9fuf+h+j zHtfRlgf+Bg%yaZvPVq3n0);j44S+>Re-~g0(*FXm%wUNCtk^iTU<-#9Y~j#?EgV`f zpOMGHp#@twv|tN|7Hr|rf-M|cu!Tbgs~PQgK-;_kJ2TSV43=^M)>zx5GJt&)_DUwe z{*3$qcwY++W~4`;>}-Hz@GPs&tc*O_8E`)2UjlG3z^wp}0Qfov%NgyLGoIzlNOz{+ z<tb#KGK!JWC`F;UXa#Db*XgJYwbK7Cv;nn4%4PJfgTgFspy|z!V<i1%JZhoAK(lGu zHMD#e>V&%{dTpY)*V4F=<{VGqW?GizZH7Dz^uG)0YovKr(`yG>Mbp~Q^8cf@d@*PB z1<zzHx(0Pqm_4T&&4<=?+NBN3n?_PBjG<5wt*IF;qu;jC?^$cQD8Kuv{0wvFpD~@b z`OB@HI|xmH_O7G3TWL!SR7-1K4o_m=j(|3{(UIB=_0NEBR?rmI;!adT(`Lf^cEC5y zfWJ93?xy)0?baFe9jee++OmbTWH-HMc-=s+-OwKl<11|ZFNd~vL0TJ)8zH?Np0@$| zht+G)ln!VU%el-h(`4T_KuzuN^wl(17ktM`ErmL|>|SiK-?MeF6;_FKJ32D*wgcuH zX^WS^Gc0_pgLX5FeDyn6_bl%+`m}DqNF$8UFJgj~XaT5*<{wV4Z1gR)+x^vbxBg$e z`}x`%2m8JQ=p)^i=`s9OZ;*cam)mtwMjx>^vEHQ%o|mQ$R=@SGjWlH)ym=c?+}|4s z4Hxu!6ZB4-9b0c@!QJ$(9byAoyLNCiTlKJ<Ei}j98$%<XGRj7cP8oAoG#S&|THCrd zv^N=-wRN<&bu@G}x3!Km#<#Q>vzxD3(bZ|pZt866SliS%a(qW~LyOVeX*3vJ9Sx05 zs~b928Ewn|b}i||YOCbzrfa%e8ak@yH+6K<uZ@b4qsJIU)0>xdv~{*E?;3tSy=)Ye zm_B!~+PN&6(9y82x%C>OcKPz=WlhEiV|Lrp=2l}y^Rg9fEe)L|#>|GUj^<^}4aS^? z?$$<HoiVy<Y}vxLZew-B2BW*P$>>@^+rPZ6wae&gGa8#a+gs=t4Xuqvdq*=(Tt>fX zqSuB_qrItPb#qr&Q=_qT11;8Mw9sd^vMT5otd0&yZSQDn>|WMo&~~g_K^v0s1bS_5 zUDndwNO5PR8`0L<vcV{79&R+PUP|lE$ldyPpAOj@+1qzCb+Wf)7(V|1R(!Coi{Ool zn(0%znpU&!=xC--ZERcD+S1n0cp(xRtXFU9Fz6e#(MQp^yQ{ss%V=y`%g{{otY~U! zzYs$sDX(k;8f09!m5z4CMK@p<9bqf!{rkX?)8EgbW6q))MjegZgWPWJS?)Rde~>%G z{V=1h2H;xh`?sO)rVF0cbU|%UA3uyA%}?Ve^B2>&iso*hRKe)YniW>yUHB0yvN0~e zW{wWv-mDHwenbO>>^IWB^1~q}Dd`9gFb{bubxkMF<&rAC03q|ZaERU;*5FQm2IvQk z8|WWD`-<74M$ufBOo)(^UQXjrXl+!2BzGW8?j#Q&jyy;nr0_%JAqqcC9;WcO$#*Ec zot&odpUEc_{*<FF;Jh4_i8voOiNce)X%xPK+eG0TxEm1RHgjhv{J(ko8nCFYbKP(6 zJ$o}U8zjc6F$4*vlo&$@T574+V=d)Ujv>U-3G8qPqT&RN!m#Im81@W<wN{O#mZp|^ ztcOy|vD9*?<ycCIHCC;)1`<o6wQ8(?wZ<4jjInawwPrw)CimXwJm<NY=UwaFYp<Vg zec!i!XE5(bx557|-2oqwAhU@~b=a%uCLP>i@_>6yUT~l3o8Zl+Z-H+yZ2|wb>D%Bf zaux~lY<Uhz@@M4Fg3pyd4?a)HB|-U;f_9Zf%H!aL%2&XP+5d=4u_{l2mnbFRrOMOb zWr_~&P#oY+#RcwGnn+aEDqjO%r+giJeM}n(F+Ys?AxSaqF+T_2WBvk(=7nbLs?7Cf z^v>L1ZUz6o`6~FE<{RMeOh79WN+-BTn&7rz$7+eS#F1o)x1@tVWWjmJGRN{G@ST>Q zg73Dx2)@s<AN(cD@4$~(eovz1sO1v)Wy{}?e%10e_zlZ2_`8;O!EaiidCPm2Tj1}* zc#<lpzrikUzxrG7gX(qgx78aYs_(=lkPvrI+<hd)O^?&qzj7b7xkwLk%|~<|(RNhN z=p)XB=3+DSW-c+KM`q1j4!*>^6k(OQ2BFjJLFk1xm>z-%L*@`t8qJO1Ve?w>ubICN zzTW%|@XgQ_)6(^*PDE(qVenZNoEj~emQ3E?zk*+}T;Y9r3E=@1`&0F|=ojn76ogab zrlK#?;--P$$NClRPb{?vy(BNOFR7&Dr5^h#n!m!nd?gjymRH)TeAN<tHAa6d313~D zn~d`<`|Ab~+OR|!&N^H-#77f5@5GIJ7TEuHe(YJm$U{wwiu03cN;HSa{-Nk7m+&@$ z?pe9qzM5=2T+KtBhhDZgk-@`tJlxE~79Mu+@F)+@KDY9@l{C!5J1i6w9>()<3J;T_ z{r{*?L@bVr`QNlccA1^#Aa5*suksTlq@_v3{%_r%K#!)<G`f$b)BTi44^R@#z$*RG z<vuEno!m?xh$o`{kBc9|j<^i-;VR5}ehSkD+Cr_=M!Tq+dTBq-b+6D#I!9ON2Hh4+ zf+|cG(uHgxS6Czz3uS^`Xco2#JA@9QOV}&y6AlXl#D20a2y2P`A0~xKnUE3j12#yC zIGG~xgXbb+AtfA%v+qRW&mN1!pUa5EIT61Q{`YVs&Oa52zq~IJKbcG>k;NUPuq%~k z{G`BvgeB)9?JwQNq#<FM9nUd{w?)#I^+e+38IgF!6rRuYY{s(-pS3<)9eo;l_DVHX zPmVlQAFsY#eP`vQ$kR$=<(8E@SN2BAuL?xs=c*&|>Rg`7ye4T))|&h^<!kgc>(^{w zvxld~)wI^^uGwERRCA@4YA4sG*Uqags$Ev=uH6uk);^boh|43j*{dRP-GWH0cSmB! z<w!nPc{Hx#-X^#<kub4_Yv@@zDJZa8masr57ixr%a6}ZvIig+ki|fTLz&5c>>=F-( zmoaqWrDUK$s*#-1L1_SM#B@`M$!=O_+F{xyXUW^8gYsb|S*ccPly>E$6d$9+OhyTO zViv}f#FWP@i|L3tXU;M2G9NG>GvAt!I3a7of(ca<woDj~ofF$-S!7vl*<fk0Y`1h+ z&Z(2sT-B;>QIE$_Tx?us+`_n;xUF$*ab0n*#0|%r<Fn%R_~!VY_`~r-@n<KRCZ<fB zHL(ER&hER|9oD>&6T({~&kOGX?~gn$3c!Ss6Jjhd5$^?llQx0hq_KN3b}N=M(v5O9 zewW5>(#n86c$WAb7`yvowa4(=w7X?&yi6I=_Ta6F-<q*|HFm4UZn8{V9(JRa6Ojue zn&&}%?Cy)z%Wl+?c>OkhqsH#j*lilSOJg@_>>iEXd$Bt-cJsyV&&q%}euoyRC70ix zB>}7!c6-L|&e+WvyEkK{SxF|R%5TOJ@P^%uJ%Big-5%miE|AYloIr^aD8aOF6*IzU zuM*G>>)8V+nKa@X*H&&+(p>rqo{JHeup2o*<o9%Y=u=#i&+}II&>}X|ASb)46UWj8 z`Z@AST*p?f{}UvOkBn4^*}x*;$&p^Mc%&EOVdBUPl$n7YQXA}?3p?k+&bi|Bk)7hF zsf1*to<Qmeq%zC*!Sa11A@!xPCzFsh@`ji=@|u`Ba!A}T@&?5U86$59j{=VYv+*_o zm<l8VDL@+VFmg^1W{tcmJc8QfkyqheHq>fEtu}EA+JjC}Cp?X{MU#<tBl2!U?Rls< z4>jjO@(xI2gN!!FXhS_4#ki4e;w12UN4mvnh^HgIAMpb~@<<+fRw+I-l1C!yeHpE> zzY1br3{U-kl1E{=S<Yy#uaD-UiAa4B<)4R)7odR)kn;lMynvi9LJJq5g$v?+zziT6 zNCO@M9v->y5A}|<K4ynkKVSzX>QlGiPq)TvfkfD38*H(S9*m9@ZfE%14EWp(v~dDb zo`94ygiPQuU^e%I-VbT>1hjbqlFtxPUYtBq2u&11tJPeq4<Js$ypW7{pByQIcAghM zg|tsoub7T}4<UW#NFmnSQArb^cSsxc{^vi&rXQB#gEpN4{?T^zaJw@9>w@;XP-7Qr z?1KDV(E4l0)dh`rAy*eP-i18@<oX}?t4XNIh4#Bqn+ulcK#eZQ;6mvWkiG+@Pe7h+ zsNn=^V4l^18eEXgg&JIt%?0aq!1FP#DDEG;>7zU;<wM@YN}WNeGbnWirI;1ZAom&M zK7-sZ!(x9xi8Cm123Gn5N}b`lJA_h)Q0fp$9YU!?XzLJ49zw}OD0v7a4q+A;9rtX^ zTRyhjXqmJ~Ika*J`<96#3OrJwACI`G1LztV#LTs4q=JVo?ArD~<MSz3{KCj3@k{iG zm_IToei{6q5wltB@sW115Hs16;7=h<qp9L5#LpqmYH$}lLh)h_QdkZ7yyPX6Y(vSH zQSy@b1l~P~XUv7D;gVPiEC-&0ET2HhUU5EhEZ{ZtieKWj^rDtt)Z#)dy}bP=AV;K@ zji{klEJwa7U==u%WerdZ?ism+UFS#i8!frek_)X2qLqze9^}hM{LiSB)u@4&0p-Z^ z3{VNa9H;_T05+smBYqCC1F;iu10K|`h>t@Tg}kSG#U;?E4bRU(HzIFuC8UatYG^Q` zA-sPa`Yr~TPM?84*|=6NkvXb`QC$u~3zxVqp9F{gu+ogzcBJjSI8C!WPxF?i(u8P< zOOg5kCezBuTj=T%Y&VrG+;*cDVC_DR_zCDF($*mKG05!&4P#$F@lHKvmU_%AgP2(c zq1}yRnq7cgceOjNuiP63qu$WQYt^_7E70$D^t)YjA<cu;a^jdg+#``|w5CPik8@Ah z7+qWUa(`mItAG~KBb+owcR)WLX@_j>QOh$Q>i}awoWB(pAZMi3LDbmB{VF0$8!X=r zSvJDz?cy?EInt`QY!%|Oh?(VAa_et|Cfdb1zyUY`H{coBNNLc{HE8GBn06vkv_XnX zQ7yGaHPp+!ypWHHh@PJYnE(9?@<cS_5-ae2374u(TnfGn@p7bBAzlG6pL`Z^HLwzV z4dNQW4%7i|fcd96s?}cJ@*>pu_?U(FqQ+i|;c|_Ryog+TqaHa3FV5#<pZT*k>e*}t zVIv2pHq0pF{HQmo<-M@oVAKnk{bon~sv<fMw88thUEuqp)_ww|B3{=Et4?LI@o~<^ zwHmc#d(>Ck#*LAU(Yl#ewMDIW2`8&1e2$3BSGDNLL|FS}p63~)Q~*o3f3y62oU;Ck ztGU1T@)<=3TwH=dN<e9hFo4ZJcWYoX+RI!{rm>Y{ZANOUMeTZYZi*e9n^4nWRF1)D z4TC7nWEkW*MU)xjV{}5a#ldm%_KutR2AQ1b>(k@Lwhjwf#>zc2CgoiT`3xSNHPI60 zC)gKtJi_OSB~16@=8RR*x|uv8Pi5Macnhp%HshGb$r$O+sOHy1wa;?A9DTd@!*6-7 zP2B3XaWhox=$PiZXMVx;jyX1>v1o6QGXXhgBj;@DKzS`X7v3!~m6wQE=>o<~q$JaU zE9zk}V;UPT{itjc#;iZ8&%4$h)#V_1@S(TR(lgPg=eYJ(VFc9jQORw?v^{G7=<2#= zOrBAVj!HiImbD~~^*3g0#k)K6RAA<*;4A(Fep2|qof1U)48MCK_UjGy?=uqncK9KD zBzhDd6V1j)My}6bPyAVYV(4>}gY(Tid}7(J9I(UxDn2Tel7=&189o!~=Qu+p(0+U- z2@ea8(7nQ=!lN_==lR(*Rd`Eyi|!NN5#FWg!h6Dd^nmcb@IEDp*j&>LQ5I!-P>c~{ zDMeJpI7$;IiW4baoGMPGhs68D`)H<kznDl5i!;Or;kl_|DrJgkVj4XrJ|sRwS>nUu z!!%pW5Ho0wI7fu+VvhI)`mC5M=FvZi`C>jT6br;6`l9$1ti=VQRV<-Jq6YteLR=<R z(Nm%gR?)<2v4)-&>%=<jKAobQmWpe|wNxdp6W7rSaf7&lY$Pblln(YyIGv(7L^Z9z z4ifAq5$^;#!OtS@2KEB|Q5*n{L@_{AYePH)oC40F%tgePfos4pa2t6<zzoC#lY!|# zGLQz$LYb?Gvw*q$onXJg-wXCzi01>jKmkw$SV^dZ*=x&yN+L%)unXuS!O?@b57;j( zso7!Av771wHU0L*Rps_&HJ9x*9JlSxTC;sS_^#TrI+e$jb!zPuyB}Crv(vtyrW5G4 zFIbUjUr>9ruDC|A=hf`B=Z)nVvX>xj0n!#k>R++Bw#{B%+hH%SIbdJR-ycDI3h~`` z{o{Cf%{9b8t%!2*$U6+&wr|Jt_S$57JC}>aL-t*0qYux=#^Pc7agN*elN^`rXMu~g zY4($~vw*qwv%p1^KU-T=r*P!jZ;kTNzE_pkB{9@`>t=GSt;>eq7T0dDZ)JU`-3>W+ zK)yY7RNGrOkLhAm2ent~G@yd@J*s2mNBs=R_FJR+8wK>Wi0N=tZ@jKo?$%c`fc~Ew zr?-B43Aft;$S|~`Wi0)}@5kv8I;mlReapw`IyBz)ACt#fI~o0sw{HTrfNx>;0N={f zM=?EOA7-cV;5IWy>;{>-qH#~uem#(N|A*~Yn*}>Dd(DT9=0|PCu)8kIkqn&|A!a~& z-TFF(A)041$M|$+-vVG3{AEYfuVG`<9r15#Bu4s4q)!_4dmh_(d<)Oh5N|>}X*9id zHT=VXZ!nDK`dtnmN`?Pqa%_M;hwRn0&CuNo0DoT5Qo9X4b=Oww_;@K}HmF-T3hoo5 zV7~Esl%EF9kN3UNaforp-d(Ay!m|_cD!^WQ-F~(9W}UnCPBf0#p$qyy%=>kBoLmKN zFu#XB^P#sw_MW5FK8KG<<_BWb#s^`OeHaJPxTe1@!2O^5Bp(N(K3jtJSe(LSjHDwT zog2pcY}5ytKf*>e%;&gIMaRB=lhpxS!x+D2zo_5Acpn0WBhL;K`cZWEIpQCV6pnGe zGTJZh3+9O3`LmflqyEunv2GFrY?|#zN8kCJP#37(;K*Qoam;~y7^jXL#HU!l*!*En z;Sk5oUyvQEi-mu4O8h%hGyk@90{>1ko`0K}z`w_w%)i0BpMQ7xAph3#ll&XQH2!^G z25R|@_@;>UM4BPZAW?cydXOaP)6zp^k{*^GrWolF=@HcasPrgJkRFpBqgZLSG@C5a zXQXUWrJ&SA@zU3%Z_vHcM(KH)CVf--CfzT6OZqk?O5c&bLo=lBO5deq>3h=m=t1fG z(!WxQ^aJVN=u^@Ur5{nc^keDA^sw~r(!bLz=_k@p=n?6s(oZQv`kC}IdQ|!k=|3n_ z`nmLTdQAF-^b5+8{!{u-nl1fO`X$YgekJ{iJ|q2F`ZZ-sFG?@cXQh{<muRkZNP3w* zCk;xk(n9Hv(rff3>4bEG@})mXXXwk)8`2w8DE&qH3q2uSkS<V>bV>RfJt@5@y-ij* zU7kfx%k$)1s*v;KJbG5nmkX#`UL-G~=j1}UkXFk@auKbO7t4#OMlP0%saCeiR<g?_ zatYPRnyis7m&s-1kjv$Aa>^BQ1-ax(xsu%SGI<$!<SN-lUb$LcMfLJ(xrPkcF6-1N zJ7qVmmA$f`zAgvk0Bw*B*`SSbNDk2^IV^|id3mk8mNv`l<aP8-dA+=zn&l1h2Ktt~ zN!~<T<jwMC`nKFGH&cteMczW+kz3>zdO^mAzAJB)x6)R*Rc@v4$=l>@)GBY6x6}9K z9r6y^Cb!9L^sjQe+)mr&o$^llf!rZ?&<=T*yo>%#?vy*JP2Mf<rXR{(au>DB-Euem zNZup=l6K0!l7CH|@{96s=x6dv@^7hIJ|zE+ej)!}{sZlmUzT5{U&({=Aoa<w%CFL| z<v+@Qq<;A|`89e`J|Ul=ee$2=KhbaGKg)ln{qh<4480`3A-_Qf<iE&&q2J0E<O_6A zz9e6wL-JqcztUm(Z}Q*hck-L^n{-5eOMZ)fFTX9nO-JQ-<ag)~^1Jf8bWDCveve+3 z-<RK~0r~Ip2n{NNBGGY0R$}NiWrAX%lS-TtM}Jl(Dii6na*uKkol)*p?xnNJCzMan z8_HB=DxFjAQ|_m~C=VzpbWurFQt7IarlirEO1hFx*OZycOnOV1rOcx1N`{g_Z!4Kf zCf!i7lx%uOnXAmDTS|`dd3s-&uY8gIu9PWdf~1ry<$_76P$~pjsZ=Tj1-r%-LX7gP z@~mJ{Rw}CmRk15|LcC>yWrC1k`I)6hxJSkISGZ3#sU~5%s;G)^ziL*^LZTY0#tILp z_)kbu<JEX!hMJ%z2+8Usb&~L)I$518q^MKWDZ(e!Y3ei~Rh_O*7e1vXs)<6HnxrNR zpH@@URAHu?rltvxsOf6DkfF|0X9|z1v(#BarkbH<2#=|m>O3J!ov$ts{z+Y^76}X0 z#p+_=Nwrul78a{k)hc{NEm2E^VpUT$;j3zyS|(W4a<yD|O07^Ugc7w<trSYtW$H3P zQ>#>)@U&X3Rtx3oDs`3cjJjG~EmV*o&J_c9_s`3*A6;Ha!V2u8mt#-7d^PwE#5&*w zj40Lu8=`0?s!B)v0<aBeLmBM7mv;cWfjvMkun#y090gthUI$JC=YcCI(~0;xaFf3i zR&?|C!V2u$m)}7fCLk6_0Hz=v`}nFvAcd&93Rnf$NvL)s4gg`gpXO2?72#yWe!b(S z5N)6q+K#hoH}%m$8laPOp03d?!6d{B(}WaZj*!QGPps{EIz{V!I$hiMG-hsXy>?1# z)y{z#+G(v>I}hg64r?Lp7}zT9i00M?z$&#pnoT<jR-*N2<=SDeLT!gutnCEL)!MWI z4W|_?N86<3X<NWDwawZ*tpzMi+osLZn!yq^zm}qH0-K~&Y16b-#Qq^Wn-;IF2AiTS z)=XLnn5q?*-qJKMQJY_SP0J;*^rp6;^t_e_c2%2MdQ!^-JEzSm9niAC_TlY8EfK6o zn^)SWC6TH0lvaQoMaW?-9YP%@gat?~LaMd&vQ~!N>q}3SZZ1XtZM#cPm#($#`5#*o zW&V33;=eSC{HA9D|2@rA{%e@~NPtyBI2o(3*DRt+_)#VNs1klu2|ucYA63GSDo;lN zU#h$k1$=4gI>eB&68^Ik{<9SRvlRZbbP539Sqk4-3g2Ct0l@#4<^T(TJYW&97$_N+ zUJfh+s(~873HX5!(F&X?SKvIk0_VvUI7hBHN3%-POEZ8uK+cNz(!A0|rBg~1OH)b@ zmo6(^P+DEOxU{6Srqo$lUg}2}DqV-qrqV5?TT8birM+|)K3%0f;C-e0R}`!$T4803 z{fZ3wM-Rmt;yWaY@4^-)ZVQFmB8J;Sg)Ke@i+p~}BKN=|Ptr8yE3iu<x61>Hrf4(+ zcG*SAmQGmbQ<nEFf2U7dMqs0v{~uctXaVWm)){2}KidiOg}Fp8@s=1RYfCniG?%<k z#eSV)7T*@%1{oHINsx2o91@kq%3_k>d!=Mz|ArgMmY-ODLW<>%<qpOCx5@~UuHMUj z@2?7dggM6sS#9yaWMDdp27Jwy45R_@SzA{0c`h&?$c;W1L{SvYV+G2_AlP&ggC-I& zFN(of9+RySJOTW`IP68*6d*AImIfCUgDH{n9O+SHMDx!9(9_@oAa5-HU70ZV+g1aZ z_ibKY2a}nXiMC5NtOK^SJf9d`6iwUk-vHJR+Y94>HN@7&^&wUoBtElt3}owwq*b!E zcXQdeeEfOO$0G8+m&M|rtm|F<4cqm6hqs~K+T!VH*rgXb;v2g3VozT~k6!56kGC39 z`t%Bf`}Hc%;fBNdD&5_1jHmSIcF(bf<GR~(yy2u?;W>#sEdN=Q?Q6KG2f(lL+HUB@ zXyu}w4}J?d&mw2B=b}N@o$hUhqK6&vhRRbW>FYgL8`|~Fo*TwAy~T43VXMQ2aEHTd zBv}u5ZW*ciPUlr)rrzo$BUA50o+Q27Rb^!BdlAml`+3R%_Z4HIe#EO7`TBrYMamGu zY1RYYNhsCoon{p3r@To<w)LDh)hO1_d1o3L(kCJ3WpAcYp<hGUD)33*m%Z7>D(jGU zo?+LAy$cOOm=F1(H^Z&p_7*nuI7Dx8!+wX^t2LYjuRtGLyq&BU<HAmFH|Gc)MLdP| zt`+Hf(XW399ae9@p*hOD2hiUt?-64M!hwdv)?x3Ek>sfKo<cnz6YBlmbH+{{vYZI@ z9X#wr*;Gfox5^0Uns*hXwRtZaosQK=@7CS^*d=|A$zHobj_F=ELbEr3JYMgxal~PG zZyN&+9Xa<}!#=U$;>rqd7<rPp1|p@>yoE+Mnlj6~-dOL*Lb%y6*Si_vd~b`<;>hK7 zjt>jGt<YY9cLxs{U+caOf9rJh8$<eDeW!8CvB76HR7bNf-l%ZAfL6NEqrJvC?r&YZ zU;VJfPGeF;LcP#?4PM964>-2@CO4e44*RAXmmOKYWax0cr_Z=%9fJOc9c{ie<F<9c zHw)V9VBE2raqEDmFDUA_eOd5NX1gKB9^c%c+0pCG4#qq7LGmugLHKz)A3HscqrUmU z$&OxMF5bT4D`@C}rOpLK$Lqc#ls)aU8VeogeP!rTw{<<^@YNyxfTJ0_0Q%gI{CkaQ zD_a<MT=7*xp6fmv##E<oHEep@Cqg!>PY+IaOy>Ni_ed}qnlB8dS#SHi#yQ6wPfu`` z)8sRPS<YBkp&fi}aIQ0f)#;q#+hC+dxZdw;h9|JH^PP#l7f?3BQy90l__j54In#Y@ zOO81+d>suJnLh;6oO4)@oH?jr7o@5LU*Ow4#`Ao8Ff%Y+rJ_gR@I7$nBF3GIIWIwv zPCCm`Pp)$r>fv??=IWZSH(21T_H96V4VTvG+h-&>{k~pE+vz(99`Ym_>z(U-M;i`1 z=K5Y~IP6^KJ;M3xoMUu2H#wS@^kGg22aB9re5Zp}=T_hOV3~6}>aWy0t=&PJvmG-@ z5}Uz-@jT~h)=E&<2Ygq8xfs_MF>4KYGlRJfGbB0doWpIA8|BxHY0h1a_+X{8%jI5@ zf>8i(x8C-42EDqS`2%!*)6kqfQ9WOW<b4s&#$ZJMe4HjZ_p^4b{oYCF^<m!~W59XL zZ$jUXBhPl&^!k!@4y${zvCw(AewCp(PuAOwDsVUF0nYEHANTuVDczg7WSy@06W}>R z{weUB3jZ$jXvo)Lq`C%N{h@Z(kmp8d*UAdE3b;<yheKV?tN!*-51V5{eU4;*dqa=w zT>X03k#p-Xn|ocC>o<q?yROx@7z<s)u5jouv=;~+V>5r~IA&KhbkdOveimh0jegf{ z&)LvLq-Te&I(snl-$42f_`oh-Z|H_wtlw$0I*&u!+udfQM>*urHd<F!1VniCfVVq% z-gP-(M!T(nczAwpU@~TmN;Z!<69UuGuYSg@E&fD|VzkBPPk#!$@gzK_&v_PWQ<tOJ zpWblXdDfo+ufFJ?1I=Ic=NMt<4gZ3MUCvwnJZP!VpA$@j-WI_pJN=6>tK=hRDqA&z zhIPHagr}4T=OgE`;93{?tKrFK{WZZ2F2(N*HnW*3_<~DyS2i4WP4fE<)miQju@%ah z4#}HcN^qNNntvT~R``02+pZ)p1>4Z#CRobt-_mf_mFnM$m9E9V9b+orAA(ox^0x;& z^e|ghu?D3Y6|R|>yHr=E<2*dsq_+ll!;?>97TT#-1oto=>_zK~ppDI*i@|-aY=2kq zprg{iD|i&z=n1}pda{GBW9IA$p2m!UnNaU%a=HS6<nVO#m%_>J4S}?9n!7nLD?H2n zLLe)g<=z&U8=mWK3(ODCcX#OSP>y?dAUB-r-V-PY7r1)^Md2dr0smDa)x9rZ4O`s@ zy_dsf7}wjdL%@2CzLW&Yz<03m?v97;dfZ0?m5rLNxjKUd%zuJ6VP9LYfY}#(Uto2( zQtuDwm>&)VykVRBm4E@MUWZhx-KQay?mi!wJUWM1I|FNt+iXP$dr@|}5yp&))fR1S zfL}F(_rtHinO_<G$kS|uBmUz&&N*KnU6-+1?QpIO#2f2Jxwk*G-`T@_&siRLfz1Yt z>z&}KsApTl4fmBmTi9?UGp_Fpv>DmXMS+e{|3uj_uG<66;k8ba^Hz9+zQffYw7IX> zCxx5cX};az7u+`kyWs<!m|-Tn?_lTC?b?ZTFqPRZyp7o|+{Q*nq!+>S&a0lD#?5Tx za_vP%$0;M#V+!nn&)h~&TU|-Mj^KH{)!!4m;+h9rT+#EfgGzNRgeP3b{F5CNUDyo< zZ({8Dna}(Cc(@;V3jK$JcU%koheIZoA7L@VSjSrbu_Xz}p9AX*`H!;@qi>o^^HM0m zdd+{b;TH2Hr1Q2|7@DGY>z6TmRJa0TVU?aAN{od1UPp5%1)hI4*ydX0zZgpAVFnN9 z@bO~f^4lVwh877e+Wj{gPP*LwTWo%2p6LqIQ)q!JtQR5-xKfuS>Zj_JP#zCcSZHLs z)<0zqTH%@5tf$bASHE1Zh897R;?QE(X1$_vo~s2T8e^({(vn-QR@dfGiGI$tdC4tk z^0<-ol(~Ky^a*VQy{_W=B-C)NKGmpl<zu9Ko$Zj*%j{(gvoKVyxB5Cl%h)^|TISk} zJXU8pvn=G)Ajtq)ua4}>P}|I?JT<Nz^_l1?cBdhyYp1mZts{NOI#*$RcF1oX_WOgm zuCR4y(CVnfDw*o)te+POIpXUVhSs^d>+?gKTuOaru-Ub@z7X2$uP+X5L8yhc>RNpT zW{H;is)iewAw$MF*8zVhw4JXJx2#7zHyX(ukKOw%%o4{it|vRZp?3Fl&#^`YE1kDd zWjpZ3Nh{fjV7s#%Z@07keB(668<RLsbyPCWR?Nnk)?wtSX6eDndO!FwHnTNm>O-De zjl?+8Id|-1XApNX+wD7Y{r<*mj2#Lsb0(mz8;;kRJZy|K&U5XA3=7?9EZse8EIps6 z7jj<Ac&OUB$#Zx~3Og@^@*K&?f6<+VJeu<=)~p+>FIcC*8!I@+49sfKyWLkp$J}$l ztK9Rg>l;_`^eUF#Xy@F`^W?d6{p%V7?t=PGqtl&R-_7}6@PhjO#<07n{s6)>tkF04 zdfJaw#^1PJAHbS>lJj|-_i?_N^J>TB`XgA=&tq<E8_%7`p~Ez{m3gvrJ7jKgm(?qc zt(@m`z61FOFvnIpY>hju>+1&^Q{6W3PL|%-?OyFt8h8E!-^=s&yW{JJVD~KRK;r@U z|4`!*y~=u|abO%D;`|ijp%loR(|8VEni-nHc`@T`P9Eirm)ZUVd&rb}HTXK#H9z(M zdcE3s&3Txe1hI!XWmH+a-P;<6F^*0(-o}35B+KtGV51LmzE5x%Ml1ZJkL`IJ24B(o z!lGMr7-2KxjYl|-w+_1$>}s;=&xI$uz4e!kDz{O84YT5@`r+Vt_uBf~Ms}04$=?+6 z_!|<8g&t=^Lem0_tPs2rGZK7;og%NX8QaiYM=+WSBB3WX&>QaXBn0+_cYCII?cqJ1 z#K6IDuO}sNG`ufzM)st83&RK5Ni%$uog%}pcrpU7U{?@1;qtR>^i(_U#2P)T@>8m3 zPT=(qo>e2KQBO|bboh18g24IkX-{6@O8C5IQQ&&`if3`)X85|NByba@cs-u-z#U_n zXIX<Oe3P{szQfziWbHPYqNizgcFtsH=cZUDNmBxsB=fE$O;aMhh|G}eq}-Iq&d5!P zk$$n0J8I_VYc?;jvhec*Yz1jbVJk>eI!kHFU}Lapil^FPYnl_St(D7J(-7N~;|VoP z3Hc+p6OkJO&pKCsQ=VRoeNK;OQ$u3YqUc=&KlOXIG^8{w_H1oPZz_r2IdHv2Zx#6Y z-P6^O*Hj(7wTRpgM0n)B0;L-BJ=+^HLVce0hB=KpJk<?3P34|l4GWr<v47Em|J5Ol z`>R8d|J9+%ywF@iGXG1%ME;kC5Awe>Of@^retOj0VEzVW^S>heBL6GGBFjUTOe(fq zwp^hy{+Ex>@V|3hiZ-$+mHrnI<<h^<bgHBv&7rU3Q%sxboAg!MPCuZhs2!hD+Vx-L zeGhb0SGD)KckcYlKf)x1G(Z{#n#Pc(F^`N%h#`x)BDph@MoeZV6jK@zF~u}RN->K^ z`4EwhMR}1TB4W*>6cG`5ND+AyQ_4#bSr{qscob`(m=6(=V&t(RO}@Q<_uk3PG?eOl zpX*!et+V#;?Ad3ZefBwLpL5T>namY?#4PbsaZo%iI>j0Bgy<H(6;F%*Bd&>O#Vs)) z{!x;pJn=PYjkH$mkv2+a#E+$4OP9r;lqThi;xEcJ<$Gd4Ii$QM*_0E?o040(qWoSO zsob*Lr2Fg>?GH*59BUkhqz4@xj@P89<8{aD(k#a@$FHQv9RKcgNS|}Mouj31ILA4& zq;1ae&gZ1<?&sXAWV`!+yVuLf?r*v`%cI@jaqp7HxPRn6E>Cj5={_%i(*0}qE%{OR zUlP*gFYsTQ<gX;AB#w|*CVCP_%c~N9lXyj5o79r@qP#Kb&&jg<Z^>hl$H;Fck4v5) zpH9w8&XeCtemMDI`GSyWT$=EtG>iXV%fFFm3(;1h9U{}e#lO|R!@t|V&wtS0L0qT* zg#VQPod0eAW&c(G4a#r%@2IlsQd87)HB-%2bNGM%Ft@_xclm|v(p(z;N75tb%lSgc zC31<7<TANT$nsQqs<6q^WWP}GeJ+O_l0(8N*U5FlB}e30!Yw~8KQ5BxM)|WM1>fgN zmA@!|QH+$Ik)I)(&&sVL4d3S)P2)XLWH^51_!U3z7w5#==$VKABho)tH2UZIoBS>Q z#r~!K75>%!b^Z<h&Hi@(cK<H_UjG6AVgFJ8aetTptp9@llK%?j*ZsZzK2@j=HA(fT z8ETd~QO#2eRi9d}PE%))%%fJTwdyQ&jyg|Wpe|IGsC1b3_YEfKaJr%1Lh{7Y9V4w# z+tiJpkku_jLfxwFpt9Y>?Nbk`9qLuJQ$0bSPO0bAx7Ex1|8>rnX*5R-iF5uvg~_6Y zqP9$YnPPq#;ygg{y+?#7!hb5NDZbB$N5xf2H5j8$IVU(D6f>O<IUf>r&PmQmBJ6zF zSs)_LLT90<clw+@G0R!zEEA78%bn$7w)2zD8R9d}$DFgp<IV<W1FaWHY@wCJqwE!S z#EkIoCfY}Ikf=kH`@8);{%ii5{@eb3Rq@|e6Vz07lsZ=R`fsYaYJoagEmJGi>1vR0 zCQ(#vQ0J;mY73>s>QZ%ux>{YQZXn#OwyWDowu@wY)dT8M|9SsO^|1dWrDMdOCOqli z<KOQ;<Uhjyi|BgV^$h;oG-1eSeVNi^@k>g@;vGspTJ^sb9}`z7l{jmhHKNp6=d2TD z&biLHVv3NGdXw>sIU-Lug{Vy-N*7Z22IZMV*~H%>x??M<b%ig3Qo>h3%%_KM)Mkcn z;d6HQPHj#^hCDywsx6A7K+feXGxf}RCSMXskJ)B9*JWZ`CeOA_z9Nzd;&RTp9ka|N zHIj{TvmW!@9_J=$)ShPahuf~9JWM`v9&c|rpRB%F>27u7iTgS`l7n%XAIXpP-Smrn z;c^}yb6mAysFB*V64x_{`(l#m8;=>+W1G#?ra3ld+txW`8%7^16Cy=J#<9l8x!lw@ zb1qvHDT$4(X`Ay_!w2S<M=Fr7im0)1H*>RX{><}f=BAH4Ufd_{!`g`UzWQe0%zS;M zrgl>#T>D~V_7Fd<eTnx~iyH?s&$Rf){V~TcJ{B4+yftQBMjy=aW0`4VTcmMF8)lwz zm;RgmO^NHj`I+N~d9xn16?W*d_&lbwGcvz+Po%l_c4SX&e`Nn%$7Q&@^+T55OYg5~ zr_mT+bDT5d=Iev<*1^x=B)#8v%VXmbH`ZZ~K2G<_WAm;JlUw^?jeXAdM;68QjYE;v z+9Q$W;LY6Jlg;&cEV3$Ab~3US?Q-0k`}OI_`r7l6O|da^4aNrY?#PR=KC*sKWLxbu z(zzMg8C&N@ojN6Qs4gLL1a{1rq`WRQa*S=%jf$L%#jBYcdtF^_q`Pix<TS=GFM1$c z7(E>JMURHdqsMt)4^NABK{g|LHe4OO0KHn;6M4UkpJN)sa0c0rm(%*MYmd%E+|L?p zBR1!AqL;W2v9Z2a>@~)%?f96A->>5LC1Z@(r|`V!6>|>>FNj_bFO2qvmqhzwV`a7( zzaN`%Gu-tlPG0AYoX0pb6-0XKCP%JWuTynpk(+guk=u3CBmF~cnb%pOx?ohPn;A_2 zAC0Esnro72ry)8D`P}H(x~8bNt|gj_{@;b_7Do%1%($yt8l8-MMYPO%Ev;J}t*l!Y zoo>DM)NP0ck#8m&G>({G>$N>ckAu4H(J1#9ecTmosM{Nzi+Ts5P1f<MI~;API~rYF zcRaeZt}D8t?rd~*-G%77x=YawbyuRB>#j%J>w2Tx>-wU*-nSPHckMH;Db{`XZh3rs z#oIIGd>w1F#M^NDe(Nyy%{|dPADHXJT=OnVEU_NPVwQ1zt{BY26ZQEv^BCQ$pLf}7 zhs3fqH`h%{+&YTC{#o`?^v9CNuKRI&(vbXa{?^2eXIy)+Yi0a(H9l{)?044OoD*}u z&ezBLsYOq<n(HmRtX}Xs2(PSngxAz3g++8PsIA_^6g!8T_DtLC-^Tik*c#?`tmk8M z{h4QDqdxX;x=w_*)Mv%kJ<Dm`@%ppc3vaETIPBTmup8b{pEqP3#_dt&UKHM4UpVAU z#AUoE?yL9Jy6VeoQ|hOM57y5BpI={Hn^Rv~TTwqN+)+OVpQ*f7t)GW-Dhr>eUjjMl zAUAA)&#qqpozD7&d>8L}-t|vHBz_dXT=j><KM4NS)||iZ^A)>I4B$D+<9Lqpgrmdp zy0igLP&VNS%2qr<IfW-E7x4t;9rtqy>GCu@7deOLBL9KsB5&cj$VEIC`8_`uv1Rge z5nC=l7qNYWpNrTE`MHSgqjX2RP3#<edf=1A3}1y$^=ZBuU)VR>m+x!z&G$9?77?}* zFZ-7JR{7TY*84X3T)raTi&V1Bx6_w`w1;TFFPrcXr6ay$zLUPwzLd!;eCK`Lz8>E- zUpl3mzT3Y3k14)Pq-<XfwZf?g7Wq>qsDyNjeEi;N$yLwapNzY=ZKWCcNAVop)$XQL ziu>F$@hfqP?qp9>`ndFS>A0v+x|BCXB|opCnv#f$21|dlh1c+)h}zS8US#y$?0KuD z&ugj2+}}Oa&z+R^lUAee5Pak(f1~jqiGrdh2k*1bC0U-}-{;Mzq=*9Xh_H)~iXytd zE*2%iO+Kk2Sxl#tB4$t;Av8*<B1mbZs1}csr=JotMLNY?RE)weZf1(bl*Wi<l*WqX zl*Wk@l(MMrZ;A(`6e&fF$G1b54feI_q^+pxWciJ%(^coIx+~UI^;BIeK0dXh>RQ#! zs@qllRi`zj>ZX>Ur4~oE)bh*PC~a&-ljbE^Zbi^HvHWWJ9j!o{T->geG5Q=nQ4!QC zwduv}6;0)xKA{DxdMcJaGFO{fb+YQD7Om=r)l{+{OIi!rL7G}yey8}jwwSG$$tUzw zd_`-ZnoBE!fef}q{Az98BXcX7i0=k<Yjd?Gs;^LgPID_r8>()Sf2r&@d2xQ~#)>AY zwN6`6)uR=V_GYcU>U2ersrU-nxv6c}c2%ACO{_Yv?bQxcb(ddd3o+{V2@vUP31m4z zI}Gbbwd2Ln@=h(4dd)<w8PuhnWxHl8uxJwbz@%NE{2Ey$(l%&|Iq^tnm$WNWJG8PX z<fAs3^sZ~Y<Y8YxnAWs}fP>o~(l${bDd5pY(dbie$xGr)VhL)J7X12as5`J_i2p+< zu%-BTaeH8EU`JqgU|+1i78*{@vcSPX&xiDa<be*JWu4duZX@RZ>GG>uZXl~-Dd9wl z%B8S+zUp)!ulP!!FyO0b36xj$1f~UM1geXVS6xG#ia>2ue_$4A%?Zq_*r2TlEWjN0 z1r`RD@JI%h1y)k*Os2@CISi}`v{7_K0~@u<P)lfWXlZCgXmw~^XhUdosJ*x{RH-ek z>IrSfY*GuMU7@{9fi<D+TA5yh%R&bpX+Z46MpGX-ZA1Afp7Fss)f9@Y4YcmA5cP6w zg${>~!uIh{S4B(tjp7!>>SnElYw*~VU-eBauA~$V?hNiRd8EqVeu|v}$`278q5g~F z4V<R#p1M1DEO;__I(R<V?VA|vq4B8<UJKp~-k#bywKLeSt<WwNw|~4jC|3kS%9Pwt zLMSyjKQt;d7A>^+CWgGUIuD0(Db}ftP{GILips!3tS4$YG&xijXrr;4_3`HN6QRn` z^iWXi3(c(R4@G&FLJitv?n(I#n!(P%iNLAAIW0=Pq7@i;o9J@jT!4C}ZJx3sHeQ<p zHv+c;cewWz>&ow#<6d<wDC@a4Ip_+e1k;0=yoyZOly<V+7tCe~<`gaq<_C+aZu=ZD z!rBh343<!v(+2m2*t{sTw=rSe2P=rwpjNnyV<%V>3?qgN9#M3THn7>j#=yeh{J^we zb8u0xHMl&u%8YK>QG=wrR$rOH^|ZS#W#ZY?_l}?(+!TB<xUIais)wTgX7Pr{yLh(^ zouzp=8@dph8)^z&(x&r%NIu@Axz7(wtJtjN((ZhR`Xsc<;&y#E=J^R-(Kd&?Jo8#5 zwVoTg9_kJCX$94y+EJZU?a?Y9X$Y*T&Zy3+o~T8u^QsH0ebwdF)2e3_S5{Y7*H+J} z&a1jvv4LhQmG@lQvuSs#o>M)K$AtZ^UZU@m9KkfJoz)Af7vfs@x&J{YsQID=&&>IE z=S9I{ArYk)ETpuA(lSbOD6OQlrr<<D8>Nku@+fVgw1(1FN;@dAY&WHSlnzp=rPM*G zv!IiI-O}~AYYu+J^AqBeG_F;&ux%nlrvr!hG>u*&jq_(jnvjyNB;ABZ_*+-$J|UHt zQ+|;0X||%$-KBRx`wU|KAW?_$xs&LGAwNZQ&X9K)vW~cVCjYjPoAOfzov`qo7XGq9 zCye}@rOc$OMtP^j);=RQ$=V+?H+_t^H=Iva->h`Ey79z)y<xO@%hGq#uMVU9?Kpqq zDZc#<3+=Oz>Dy(a-U*{kb8Jpo<mMc9So(M;ZXC`0lttgnsjN)4jIFiI^nvm+myxGf zeApM)_C8}i&D`pHr=FLk4^#hO>5x8_WfEl*<qY+6NMGW8jUR{jJig8Nxv-KoX3ajB z<9B(`Mp^y`v^8A+<9&$F-?q$y*}f@@&kdcjBBBza<wUDKU|jxx$<6UK^SjO0J@Qz; z?~%uku{lon%7?74`25r`{+sqIN@HuMOeN9`UbE;~V!5owq7&BbBkqm;x@<O4qh-vj zvBC2{zjVktENdoOMAT{-cQaPj60I+dt;N`y++_IjV(HMm=3r@TuPfU_v`y!ytRvb$ zw3(>A6#M#=?S^a@(O#o%-V<*PGlym$;^oxVlw7@U);7%YDF^gE4A}$k6>IVP?Fa2w z!|h9*x=&LM56Y(;B|1*jWf`lx?L%f?hr2$-$;);c<IJ?5=uqj9>r~khqGLoS<7{0X zq_WdQ=MBDFpPLw&c6yBb8qrOn+eZKILS_9rnQ=EoG4h1cA=lC=sYIhnhwRf+#u~ZT z7{^>o-%X;ino^+mm-{$nGEtdPuX5;kO_@#<B$`PSC2Am=OVmWvLbRA@Dbb1#5g*oT z$_MSsA2#01++16CyY}2Ix9*MBwH}|FbAGq{++FBi?cZzf9d7*M*Uxa*|9j<@y=d6{ zubCgK-Md^fhi!kj{FJ4A%eY6(dEzy2R$m8GE)ZQJT5Zr3onq%zv%YDYWBGdN;2Q2M z9eO@C*PnSdHtO^K&DV)3y@Nhr?TymcpVi)!zS7~(-iF<BQ95)T#_dt&UR3TV9eO4@ zrLW`iq{04`dn|Eb=#^*0#fdTA<r4?TGB$74HNZMqrFZyyPk76M_@8sHDYfyh@QWlV zg<ouv*Fn@tbb{y<(K({Gi7pdeH9p@Ux<zzH|2#=H$ffH{N+C+OP^LvEn<$4UpQy;F zUqV!2$ko4rG@=>{g^6Yxel!xz*V_U$e*i5Km3d3@mgTL?Ta(vze{0^x`xkM_YqO*+ zCU^h(ysddV?q6$^ZzbA&e@))LynPQ%WaQl74(gvsb1U??Zb#mZyw1E%(l}vB{0;`s z`@iXnH;X8Er^tPHcgQHbJLG=6HDoN_7cvgt@y*6}d>_U;LOzPOgG|PIL5lHS5Fg$M zQi3;vl;T|=Q~&PmNs>p>zcqVMOcLTDilv8c#nByurs;Vu#Z4~7R&I)gD6VoTu5z;t zk`2l+^87(t(51Q0Ezt?`X@kUN-edQqNe{I>v@tGid7tEi<-;U?;~>7tE%4?T{hcv( ze3Lr?-{ellJ7Y5No|v(CL(Dk58zvj?fbrt(FFAPQOD^8>@)5k>CGY>4T}kW~`v(68 zG;V_kJ$QcH0ZtEgkBdIo^We1yZ$5YppKo&x>K}I?N6ASrv<~E?vYb=SD3;}TDW&S^ z!SkF<i#cP-V$2?}U$<o185f0x1k%~g^;oXAJnjHLIh1*f9df(;DsAhp$^Ry@<TvCV zF~RYy<5}V7-BYNEKTYfqpTHYyGKf6JyI{u0>MK-#8`a+~9~5@^5ZTH^ow1}b3TTYS zm;xa&@mrr5`E5p`L{wNbGK44NRK}?>S>9&vqA^)xCXUG)Q%xyjOku{`V|+yAW2TLn z0UMk68@TfK<nK}2Ka_t+k{`)G60*Ek-YabKEAlJk*}sxEcIwkH;X-c`$g@{PV&c!p zzf@XrtEFRjb~jUuq)1*a!~<cSysHLzD|y!rFDH_`H$})B^d88*>^+=a=sn8${d2v0 z$Gg18AISA~F>ij(%=4aQ9q&x<1(tcE-b*ace%pHmIw{@@-Ujb=&RLhqJJ;KbI;87u z^7eUKCJ2*Iw{XHVCbkKRPH+&_#)y0~iF~8>CrmVa?Dejjkf-w#eBQDN<<#C$w6y_t zk_^8N7(QLM_;VJvn<mWiZk|w>nKvQJ+dg52cl(5Dv;X%8$&bYolDtbNc+jsE)L)Zd zJs|`0$nOLbc!QSYp5^|Gkll~F=Lm;;u6wR<x#zh*FWl}gxW6D0-A}on5=rib?k|aC z_hR?6V#J4zVM*GBcakNE#dK~F<7qb>zu%xkL`MvwU2XhHqSHj@bs9I1@*X|6()eqG zeAf9vqR*0d6!=hfNp?wASH`HUvE%oSCT?`i=$fovN{7d#6W2GoCL5o}2Qx-JFfVKD z=>3#x#vjO5vm3{+rjp}X$61H8`Z7k1-cL35XN=7ll`(4k;qmK8dL?62wwiS*J3M-R zR#*1y7{O-tTBfYMS$#~|>gbYeb$nNhN(PheW7c)u$Lt!a*E+tP`SAzFZ_mydAEeT; zx_|7O;a3T@u90PpJtFIdKV+Nz>CIk6ejX(+j<ercU3&jXZ~piV*^SxrsWqybb%iVu zKYlZPT9nQ2RY{VcmuZidzbSuHxaDuj-x3M#dUriVK!dx1BH**`&r$?5xtm3b`)T*n zA`NdnOHb@g>=mOEZzbLm8F;VR{eRUS7bU78YQ`?-#s8Sh!gm?Ujhzqg&lRos#(^ZJ zTl9*=JbpV*Oi!ZS=-U+0GVMobAFXAfHGb!=3z04m=?Ws<fk<~E(%p#k1VnlwMfzfq z3`^Vxfj-#LhX>)$M#Jx2XnO)=E8w*xIxMo2hTm4bgYa4sEryJLJ?p<R_B`qtckQ(U zmIN$Guq4Bh4VGN6!Ea->zuyP6k_h`LcO45E@BHG?(C1+y`nbdxi<X#77PF06wCc?> z#$tvc`&(w|Uh{r8zc-2l7Qc1bL9xved%CRIm_@5>y)lcX?7wRcKg=xrS7v#*v5>@m zaRR4;O#b!p^qDaVrE8Qj(`(Yh>9YwN>C<e;<^y$Jqf#xsnNnl=B7A0EGtzQOTKX!3 zG>b(SB@JZSGc8%|G$ZGdR<u7~|IB@HKjD6Y`rP8CD04sK<_P%E*Cw$SGidx}Gp&JW zy9lLir8Et=BbINCr5$OzWBfi!gr2>gb)FVZ7R?UNUXb}&x3nAipoQHrOS+xKX-T@o z6D2z8nd>>4b};QAqvt3`x%+eO`G0E<J=ckPMaXl*bIWrlO-^&ArKF`3a-Nx%ot6VW zKdp#RPAf^PAX#>rnx+w7lNLs5B+bmU`IJhG#C2RTi_K|^fSGBnq{G%+hNb0(okq_s zDr1QYwV70u%tj9z-HZN;>xWF||FhU#^>vuTzn?D^NhRV4ecm)gnkyAx7hW+$nk7xd zUcO+6G+oLR%jt7?h%`Y;#s67W4v`AUA!_M!o<%B)TR3N@$7F+jyY~wB$Xn%?NaJOB zJMC=Wm%mRZ>s|6Ls<}trLt}G5J|LVlHm?bne3VAWE&o#PqW$NT{H92j&&X%Q2>G0R zPNd4`<?~{s+%0#L&3EK?XwNyAc#!s-SLsxKADzm7MzO(X`>z9^2Y%~){MRk~dJDh7 z!hgfysqa#@ME#Y__mn;aS%#EFpKc71rAplTg&{JRltQ154UzE(OEl9KnYb<b=~Md< z*$o<XiLOOf*%fgeS0k&eTlCPUxkF_7|C!bdk#!-q%7@5~4Y?NRvJTN{nd^sekH+&V zuqR8{lX*8@fGggRQFS-HZ&cS?<S&44wD1j<k$>JY@?Rh14V`aT>VCswQ|F%?GHW`| zeevR3oqQju_a=8xoBY@BK^gZFCI~y7_7Y;!A^S~IzYxia2qlYTM{*L8CpjZIi;(k) z^f@oNkWxmnkFY#>8p&r+@{qhbxt26IEim$lsAo-Cr01c!j^u@8V+rM~lVp^Z6D>=g zg)+T1(=4RI<T-?MlIK~@4IlP?CPk`64;NCug(rb1)k1Xt;h}N!c!?-NJOzfF_1fcT zyOHlQ_`O7viOPs7_0OprMJQqA$nKFfggqm#jl4PXHl=GL`#nm+N=}}Hk^P*f&KTM4 zNgdhaN%f5Kq>}bcPM!ph*W-m=s-E;(rbSOKTO@=%PXXIvOM`YilgX|!vO7^Der#fX z!h(b?p0R{06Bhipop?U%)$9^>izIxPSR@t_`H0GmoM{@-3?r{L%2=<~pjkAY%Mx>_ zA8Qhe5=#;*5>-lCVok!Dgk_wF*O05ERYWN#F`PIXpD9sZL%Li(TTe!<L5s~+du+?F zWZEf7%puJjww16Xp)H{;u`zKz<;xP<{>J;0zbSG@(ArF;{W+B)GnFDVl_EElA~%&H zH<cncl_EEFvY{6wqSIh%l!#7AskCpVHW9TLWs8X@YEvr>qR&OkM96u3L{7>^!u$~> zlqx8djOZSrIgfK1Q8PkCUNItPM3{8KBW8~X<1?q`5%WjPM|oIJMy;V1OGpd$*cL1e z+9{z=8c_xDjjn~xz0OM`8VQd(_x{}@m*2<RXE_1z{f?u*<-N;hy2llR^(D+6@4?3g zO3Xdkw$jl?e2;_Yw#T^!7-hNhkdTyR_6xK#Uw80Ttj~5@NcIa3x=U6vS?(^dT@jLV ztP&*2CC4g?kp{cqx&wTL>tQ4f+W#dDSAm}X7UmgkD_LS&`QCZfVN{l}L_P$~K1OPT zQ289>*BPA)`nQsN$pBr=Z8I6A{DCGuDLAe&I(GoaLsAQD1G4`Y9Q@tO8;*KLXBRZT z%2y~yH{nJH-^mp@U63z;4r4n|*!lica4G56LxSfB_I;3WU7=h8p91*>=)VYr1*5IA zKpyQr)av6Ni9YTH@u#`8zXCWJh`Zl@nzw;8w%q?~*mo;GLyP-qWPa#W310$kaL`Q4 zuK}+E&$HY%hIv~DBwgTt3Cx3JlJYvC3arwR<x)TRE=K7p_}74ofn~Z5>?Fa?RF)6C zE5A#UY&-Q%S*Or>*`BY^RbBZ5^UBX4f0ohyn6i`je&(fCMq4#XzYR&q{;zaw^FUJq zei0Uqz-APf3`r~O{4;bCfN6|Q4c6WP>h`zVwsPNr-?dS++s@ec^2o46o@qZ${AFbV z;ZIm1<tuy+eT32G1E0hC4v%5s2ZXP)Tz*a&NBn1O<d5`crI`3vQR@Xp`<KAa18xES z3!|d}cJ44by3t}Y%M}OYSD`r*d<NRe2EP)TQ<PkI$SdVtM%yVy1rqsb@XKxI_$}zr zY=F*j;4VfnMhbHj0o_2CL@RONy8H@$nWd1|ti<<07i?qLbH2}!x@8`Ren#6ET9=Ys z$h`a__^;Y#a6Ev&4*U&E<d=Y5ERn`Rew&eY75)#VKIU!nfO#nGQZl)}x*g`_9pFC? zJP*y|;9mkpfs-WKE#+$XGYMD*Zx!(TPBH3{vWF4;MP0%^Q0uHS6&Qv52I}@g@*Bp1 z8%hz4YS7+HxQExi?MckYGw^mE_!q!$Wh9+u#5`##CmH3JP%96TOfI!ufzBdBvJa8G zk4FibNsxSn(f%dyCD30F48uYP_$DrOj)u;9;74HL1z79HPBj4Ek{HEB*nAy6x9V|) zasIsW55zkWV`=usN#|pzRjT(9ID>KE5})wp7qQQe8h97GH}C)1%uC}?`VyDQQSfKL z?**=b{sKeJ`n`}80#%@=f3|sdN2PpCIR*V3Sja)GtH5WW(+~UvP``J49msEMpmoGg z6ltcvK)4QeuJ`ZfzC-5%t|=|d+tCW?v*t?PpXpwj=ABjou5OIV1K^(lwnB5h@@>+5 zjIRPxST1E=o=Kzhio6{73h**U<09c@#8t9PyO1nlHO&NWLevG6-}Cied50w5Vav8` z*pGt0!YK7ZatM-@z?qCnCgeGg><9i5_#~q}7dqbrpALQx_$9D;1d<^1HvwB1MW4b? zHID(m#wcZgZ)YU0n7;@-49QqnYl9~)!vafSSuO;h4?F=p0Qm;s0^oAU8&Fpmtuqfl z#RcF_;0;5EaU*aou$ggS4*0pia<*fe49l1=X&c(=LQhX)9H#5m25<$Z80YiMPkA&3 z_He&|*BMF9JIOvqI)|`iKS~b)Rmj_b-Hb{QIx~UUz$D-m=)VM=OR#wiwR(XWz@^Yx z1N|20+)-$+mWq^L5&tK96Zn3@Y<nt4KF5z_XI@ITXAvgalbBcd9C^{f&r;6W`Al-v zk%ZCH2p{Gvju@jnLWt{~m<ry_SGR%RLdT;lhkg!_<^Rb@d=QupEWtUa5O^O>L{9*{ zz@t>_0LM1*{7#P1xQ0gUHXboPLyC(yYqbL}>L)SwS<bOz2e2Pw<kOv;!{=40!I2N_ zWrXAiYf48TKLU9#B)yRILUP1Dmyyr9QZFO<pzE|j{}|-DwPUc;1|4oa3Y~o2K6Ki^ zx5087OGF>~atzpqlXjo(Esu{p6@8hi{3j#VB4i8sXsb=P4}Z1+YYm=DYgv=7CfH-) z&r9&_CGHXN`PlQ(7jBEr3@zZdus^hiQT&Kc@$BO-FINTsC#(=YAbaZ;KL9?%``Eyb zsP6Z%ucpy%N*4NYbpW<O(#I&}>pY+5=`_2aOPQDQb<|JnsFja<fi|4p+xXl|$UAKg z%jGC^dSSBxIt_f!V#gCQdpg@8Y{FhTi)%r%7p)utzZrN0Ep7((!e#?Jyn)hZbwsUa zQTi6zdJFzvgyu!vCZE8i2Hj7LPoFL^O8E?b47HB2oJuReSD>d!yx!m2!4kc7*vaP^ z7dKE#;2GF-pcwc$Vfw%+!YoMAA;}u}3!VQvSVHv~_cO|P&L+Fy6`p!hA6ZfeK3~6j zq7=_7<qg0t{Ys6}rFxI_Yb*F4G17?BS|0E-Qd`VtGLkiJcQNp3U^64_S3l<&Vb5t^ z62Rl?&z{S3p>qJ(X7IYtyko2d_5e=-+kqF+;(YKI1nx5UiYdM(;l9<`h}{Nbh@DXA zy9&P5^Ds*WuCs)823}1WPX5-)DU7_}RYSWIb|gmzMm`g>gQ&*N(8hBoPvtdBYqO2_ zYW;rMxU1Dy3XjzmjGk(Y;YL2Mf=>oc1zyHzUj@HLKY;+FtWW0+E`8LP&5go%)-7#= z1mEJ3>U4dwL2WTgy}&j`(Fgwfz$4Jf0q%e#AAB-!D)2JoSHT|wt^r<Ww9Q268^EQ& zN72d+=#)XC0k;9a3+zYf8Q=m)YT<b;X1taoL<)j`6#Szc8`Nt(^7*><Fh+HZ5rN#_ zy@=I2ICo8hwI2g3jVH_-vEEs;4Du7eH-O*OPngiW4_EeSz(n9Dfh9O6d<DD%h!d1} z0GMi=Uid1kLGu;H_W}dhGY3`!w*Z@f1;AH;d}_5D@<l-2bw&Rlz#j!JV{16;iuZ1# zl=%LCx6{@9y|?)4-2X>MBH<qxDZ+OGe}TBo0<S*}xCML;9_l*$oro_OJp8f!3H(9C z|26QhL;gGPCxQPA<ef_3?oTN2pGRQe8rv7?Xysk-LYV_ZUli(N|0O5Q$a|NaW$Za$ zyGep)AdX7lAAzp|7XtZoCs?1n!ui482l*F)OM!mi|HAdR9rzku1;Vb$gl{k^?=U(_ z8D*d%fM0@qC!_OuMhW^dBrfPU$GPyl1^T~7X&rDEqYZNVMewkooPp%$uzUghRPc7- zNJuKdw?cmrupezD0kcth6Pgk5ZlG@YG3cYzmI%pTP+9=VZz1^|_#c2zhW-fP5}*wH zBYN>7uo;pUfD2&l(?EEx%meDZP6z%1lC{7&z+7N0aLv61R9wr~=$W9wA-E+-kl;<z z(0CHu-Ggg_1-AeZ+&#FvyGtOryE_C4?hdcX{oily4gIZ|d2hWp1JpWocGcN?|H^h1 z(B15qu8N5sG_{rrgLO%d<bDm`+yTUsU=}{xcYK-nv_ET)G%il&6a;u|v)cZ#W(|hC z%KY<<T`>^pa5IEiU~Z?_2Co|VX+RUH4f(>WIn;<oR1_uJIYg9@8Je$_h|eK|8--lN z1C^)UN>tQ}mLKu0U+2d!NmybFHUW$0tDRL%&Dr%oHfRkaJ|ich(fzYUaF*gQAwM&5 zU_CpOUha;~s2CNuA`N}5!ms^I!o<frV4)cuZBE#(fuUXaeTC+k&y?gja0|#cLf_pS zqv3jmH>FI3zt?@P{n?QmEU!WF!u|ET$1j>ZR~;7JAMp`hQht*7#EMzxef_`IKwg^C zFF&txy0QaI@jn@}h<uS7HnySBhZzhcbm)UmEi^}A$QRHEC&RDhJKr2s^Qx>&n=AXS z6r$6(9nDQRP?A7M>q<DDD_e_!M^+_+5NtemN?VMm`h;`&{UV?d|5-M1GWhwE<=o4! zx0p-Z-?IqK^$Dqx89qTaM31=%;g6|AaW*E$Ul(rie;wx0A*d!fBwo~gZ2_YtJZH4O z0M87o8B+fB4t&nKXcLkTQ~9_FRq<18-*Xu9Z;i;eyb(cOtJE(V76(3ggQk!e5XB+; zgd^I0{Sd{+uEnQVi?AWru(ErWF#9$kl8AUPBcI{Fo9O`9nvky1^Bdp=i*UJZZ(%d| zA1?$B<LooTHhB#@G;bZ90EO%Ln4>8(o`7*<X>^y+7F|PRK9N+ca(tG7x%vL}yGlwK zT*desR_trR{dKwA9*(bj%i$PpV`i<mD@-~sG1n<ldhS|9<=BW1+QXz4?@$wFKWkji z;;y&f_>9efd6#Fvevoyc4sGG8WY5C@B<;%^vdA>aPW%xlUIh!(Ex>ks;@%bOt<HQ_ zb(jGEg0Z@4$IBCW(IDzt`?L_4>t~=bvB@{K{s=9VmI8(%mFyq{4v+#vM?sOC`Xig{ zH4Z#hnf`b18bCx4^=q1rv_6qY0zd>+zaI(6W#pu!UA4}2)-T1sTenqkGM<0ooHRF9 zmkar@JZ{aoJ~?ktY&%kRKFadYFiZojWpw=7%7m_zNaU6~v0;OkofWOfbVwRxYxVUG zEfL#Xez(KzeOJ*WC$j!Ub}M$btHkjbEJ5nA{}cS;v&PbAaNbrVZ6NTsr{xT5rWA5& zz{{_Qw2$(@jc0hmjYwttaFpAq7}rnR2f(^6o3DeWMHeX=k@2WgJAV4?1-qdPY6<VL z>Y>Y0?AKLqOKi~O=exJ4+2q5`B9S1GJYvhfeY)Rkg~#JrEb^rabrE~k>3f+FmgUEH zW85=I?K)%HpWIMbxUVO*M?;NuE3yS?m-1kBNJQGxhf&T*lxDuY>J!IQ==#M_&hSa| z6L8s$7hKb?@t*kQ7QUb;0u#bB#ZtMxJD62r7$dcqW`=lfun3cROFe2!fJRHA$CInb zF{)`q`ZEK}W(4DeK-BHWYh_l7)nSa{%Gn^jmTjwRTBI|=4TDA%F7Hk;o}g2#Wo^M= z1(w_{5~&cEOMDW$YG!hC1xnQB0G3hRF$TLOcB*~+FI7LpC66Ps@?))%*2zV72&mjy zT9Q66kze;&=FY-)jlMN<b19GUwki3X@QKsa8`yv<^O(nGaKhYC@B7jR9hqcCmZvUN z$%f>K`0)Y;j1-@+ol#@><>i0@Xpv0gE!mgLFMkOxvht|ddAQ=qs6*Zp0ulZDJV7#g z;u{_9u0&lao}>aK8Pdr}OkFOX6cVwQ`(DEcr-p(ON{Kr#XpV<<Bqp9un3tLm;xqUh z)+Pvy4<e>QDGLIk%SP!r=8dwPdGWgU-Yi~@i?zx2vljwL#=s;ROH-~G$Js(`u<h&! zH%5<6X43*a+);!#9=nrMG$~HLT5W&DK~^~8kvm!Uh`=X}y5;$sq(e)RbB7~t37A69 zCxz}Fj_0t0`kKdKXfg<s^xnKr8JS`FF4UfMhg)H-TZ_kN*DEXqfvdZ58;0CysxRT~ zaZW2e%n^wv^2{<Fds!z1aFwy9;8#lI%zpav2)hyS&Lb$d#8|wF(=ARSYr#Htk#nMd zl!$23^!OC?vp!<|syseep|4i#BhSYQrt$SkFhVHr;33*{uLo&xW7JC?iEF7;%x%&y z4RX<SX_KZwPbP4QZ>y@g<&f+A!;WV0Tpru)-{q4TEfH=@6t6$pqvMpZxj3(pa)0EO zwF+$7qnQ^W=KfHJ-LT%QpyrCNN0954f{@3Ehh2FYCFGD8_+I)j3ikVq>UN+IbK8DA zoL&Wm2h0`4orD~>s(>$2_uCZ);iXBr;-nV0+)1#qU@!(t*thSSs`z9xb_7j0&2rw? z>4<<tilEDrNp9j>uUGletqh*nt<9pgIs(5QSC$A5qAEndHB2;%hDCJxun?{!<!^jt zdvcBXCQ<SWmld}#vL4o2nv`odt_y=ZYa81-l6J=d`zl`5RQ<{hj1CynArFpuyCGn< z`muE70l4L<(!#k-D(gG4;3B#dSe$^Xb-7!w0s3P*Y@$+hFv&UybA=z(jbYJyULNMy z!<cCr=TkT~Nkt{eCbwf@i#`JCmn^R0rm&3ifT`f68jO!YQK8rU1U)}61B@{*(LP6c zB|CU=edHc|y>Y`gEog0EUTuzIK?CD(cq&Pcu%sH)^-3m4@A3OnzJ0hh2Q;Nz;tSN- zF1f7$b`{+?tB5EC0~C=tWdl*Aco&y|CGhfDRyP<xm#av)$4lZ;MYg6fY1vGpC`bRv zo8lZ}g<(756uf|;m^1a-G4FHm{)=Tuzhfxp*^DCSmXj7&!HN8&Uoh=H^W>Vw?7bzM zoLzu%b(I~J_bp=Wav?$ECIIm3j6X{Y<ld9xK(k^>TOcv$=WHbjY_v~1%X>ANV2@SI zWCX<A32w1hDitjmTJw8~2!>^BCg}4FG&9auZr`?%;dPY#Di7Fp^NB&7!Kub@;a<u{ zU!28o#9pr;IMG9t(OksULD_iq#0<?0MNk+G`Q7(mpZ)NsA~_6`LEv8wlSdyEs}D85 z%W>chB_GwI8uIvwr~P!;=lOyLGBP`AI2RsV((v6CUWNJf<)eLbl@h~R5B${D7c+;~ zbA5|vIfImqR2kq&-D2~>39EpQ82ebu>-yzQw3Sa0&#^DX1$xL7X9ab<V(-YKNwp>@ z9pOg$XW3(#%^Ub-Uo}<xu^hYsEhTXI(F5jK1$~4Ir(14ck0AyTfsP1cPX%1+C$gmE zY~s=cBS}zR+kL15T{8~)Ggnb%S4F^i)ltr19MYgK<Epo?5XT>nup3pzRE8K=+f$hO z=1KJx%^KkXLKlo-sXvU`HV3e+ioCnBic)PyIJk0AZ^Y|dd)B8m?~mtPsMM&PeEK|X zbp2%-f$}HK*REk-j7NSt4$JWoML!N`Z%C7$48Kr7ns2;5JACSBv~OwiOk|@+uH1_k zs~S7;vUtFH6#O{21v|I_@Jhtds5wfP|1tU_ycTzuQ`W_g$&XbL3H&;#{nl43uV>JV zIi8%N35vGOQ_ucT2GqOaFVdVBH8=L3A$Jq>TWf3~UcESVeq@e$L3-`XlVbmQ$4~32 zj&br&2|*NPVIPxFlQQ^c@!U1}<sKa*J2Vt)cJ+063hnvv+-FY!-xC}QUGcF_b@vbq z@y=~NNZ~KqIu0vJJF<xgqAMiku1t>moWf1Q0VZ1bP}o!)g<WVIg(><8NL;jZU&Tmm z&wav;!JWo{#O!Mqt8q2t8F7+r+|P3R<??2Rc#7?g@e(}5pe%4H;rgjYdDV}3X_M#P zautHijJos;HEB|C!Wy~pSp8P$*L)ip@->h*w?R{OS#@&|oNo_x>yW!j+%v2MP9Qp( zMTXLH4lD>`{(1x(aqVsXT?6^l$0+y=&*B44LCFMZrT&FOyiLBj(D~6PPh=o+3-BpH z{x<ydW8=ph$v?4J235N>40*oOKz?rlD$h?hK<6POm~qm{u|7kv;-XUvWN&&Tvpne! zE_$Mazo-zuLRvoM*EzD-gub1k$hN)P8SZSt`N|gor}<9fgY_Fi8WuDW*DnR$34x9M zx<-44X~(y-<0;Y^V4Wvxg}e)SUxme(9I<b))`lLhgW%Hqgp^;TQ7KBuFPkp8X9ira zJW|B#NQwl|M+RL9QS6FK3HNqoFY_eQNMa;}R`tsQjSG4FS{`i)__tF?vm8Gr60&H< zE>wPQsh_$*AOcW=yoibaG4o>?a-$6z4llS$e0B5|lW(*jc=VnRXQh0YGLxQ8;02X# zwUxOri|H9N9@uiZS>ejPHs^HWUFp5H5nhKkqYiMAVu@>rZ?Ma-!+rG6nx_a~Ffnpx z;BO97QoW2j?iKCb6hJtr-qC+U>I-|dM!SC3{v1GVlul7Xv38Apw25?=2Z~W7ixf4~ zYvw!Rkh*xLSI%}_1W?o<dy3^W+gTkIbX}!dtev-;)*7a`Ip5%bM~Fm%7>^nc+Y5_F zZJeGJik7qK`m~FEarc;Slhc5I|ATW=FRJxZ#~_g8i*KJffUI@KAy?mN8Wh4tx+E6s z%qlemK2_sOmkZ<Q9>ghpv>krV<6goBca|UNpsmPu1#_aEe1V@0OJ^n7^h&MGuQkRI z(|tI^BTV$E$Wu|)E;3F70ylCUJT<{6Y~QA+SJbrn<BIZ?VTZS|!UOIjF?TJMWwi-H z=h|-XCDWeV!nE6Bx90(P3oV%GH6#!XO)EZ=c2p|;h%Au8pbF}f$!Eq}SWCaWsC34= zcBQC)?V%0An#`Wr=ODCgK0j`{c2O*+8K4aeUu5<&UGXJFqV5xg^CeFZd%7uB+Jza` z6CEeL7Wz?MbUc*NfaAiGgl4@{$vTdQg1HOvbc}qf5>u{9SS5YN&%DHfxYE>arbILA zD%9LRx&n5FVouu3->$A$GjAqvhimQ`Me&ZzwgSMk0UuH{Fp0Nys#~XA^?b&z7B=6m zWEcPR9i!<DeWg(CS4bH;q|AW;Qbw77qCO{g`i|7p6&3QF6+|TsL?yQ`MCHqI=Q(Xa zi+jvROu`FhfHjeEqp*XpVWyzrT7GvgXJpJ#eiEn_g^s@|r~a*?Q%(AzwVL6oUw5Zc zWT+_}<%E*3#i!6XI?5_VVT-(gSvkU*JXULrfLRqnr)1VcS;KTi!`0C4&K38TPLePY z<*?<Zo=)t@&@4L20Y%}&ynuRH!k4g=%u2#qIfO@b-MyxfF&uP2%TU0cqT77l^+#E! zi|oTgF~jt?x*kYq1Vg4c!pC1)e6&^rHY$)QopV`Izd<Bio>&c9x`LL6mMo=7Bve$Z ztop0uPOs<R!3E~bD?$n~A@y*DkJliNpm<`r!uR{k%j*hi%R!PDq&R~mwJ0BwS_p?U z=mR$L=mIv(BLaq06rzV_=z2Hujsk{eUS4nPD7ld+y1mb?A6+xfbx?H5$vIq3Ka`jF z*`~JibHQjeG&Gcpj*^LvvXG9_PDyxHQFyl5$Gh7ntJ~*Ww@+2K&uhb0#DMeMfb*Py z^Sl7K?0``PLL@lK*L0L8O2S{1go&~VM`R5%u~;)px+SqAV=yCQGLeDTRiKON12nd; zuGpRF817C1uEdj}T&>^Fk*VZfXz~4sXsl^Wu=jeKst){FR;(Aj7yrI5VgN{wy2F$` zE_uPBT0bW=7VEp9Vnwa>!lzH<#pbJ8fYJc@k1n{2u#&8v_QXO0m)iH+o3SNXTkVM! zkeiDdnwkhT#^b)2y-<j<=Rc738)<S+f`x5+z^OCsSaX1&jY2EIvjECkOOhej6`yBB zBFCfPRO5CmUXGv*Pb<OvQ;-%Bv;AXz`pMF*X7x9WAMwlRIc(hD!mnc9n#v77H}coK z@nQ5KtM?ikHmP7$#}dv1G59TfFVmgy>jxjg2hsh&VjjB0Rln^o6LM@0TAX6_SG>|F z?1Zt`RFJF;9m#i_FYXQnjT4Ck#<gpYsE)}0Sa2ARz3J8K^R5^$*|{@A>WBtmj9aDI zwU{KZsb}dN<jJdn`^=Z{esE4Yv`^-?nk0Bqv7R!B8ZMCpEmFo%?925E#~o>xm*Aa8 zuRTHZ=~VB>Vj`ftF)C*wDv%J~DjllTD=#D}Fcse7Vj!)vs3Z?EJFOSx9hTLZKxok$ zUm!oORXvZaP-iHnhbIqq<wLbh{1D=F<U!o7%Av$$+oGt;)${G6E|sYoZ9aMCn-W<` zx+hy6C#~|6v}P2M9*ix)+kV=ukyeILplg-4=XOaMm;QbdQ$b@b@9}J~O_`DFJT$k} zLk$yIP~2bkyE6x`lV6Q5-3fEm9U5}cGhpIjy6A=$`+$oHTtv~Xe>z}8(i67}>4<iT z6}U!qOvuX<V*N6&`66g3pP7>Lg=`BYUJ&JYDTW8jhQCtw$7mx;&D&sd_HEST1*niv z2I129V7KKgvsp!fHR74qeBqbHts<+{8J<q~ZMF3++gp9BR^cIgh8OIg)mpY}xr}?@ z<>=k!{DKcJ$(K2s{v<ij1baGyJu8JRzA_by&98kBy&SmnCftN*M+o?ipDP4C<Hx3G ztVGA4l`TwyD9uQYEmy*8;~`GlXPU3@hj?OTzKy)8^(st@+fcrwoO^vX=z6T;?2(w9 zWrEc3ih0QN7_UL*`H=B3m8-zQh_zURZCH%r>s(qjF(oREuFnZoX^INgVeuJUVR@_6 zPNG_2uMfjv(#di@j|#r01ATj%ZXxeCI$-v7in@%kluV*D2lDROVFiX7HC}He3MuQl zElRz&DG@tQetKE^kWg2J&2$b~$CEJAbk40B#N54aJ4@AC{YC<6B{F;VRuG?pC2DSp z$I&lQ^7%)>=Wp5`0X~T?(^}yS`KGlE2@Xs?mym2dSa#H-bE9{Y=xu$uj6+d26)oJ` z7Gs9MIGNu|jXT-fOB1!MX9dWiWy1XyCccbp1z(~EtngDbDyxW9)CDRF=1=7pP$^CI z7SOPpowA3&H$$kx)?oLq6SZRxckv~S>w|68;(76m0(}{9K#&9Z|0EnMgEE(>Q3K#L zv6WugN6%3`pzGJ1DbfS<97aCO=OJ8rIjZ7sCwuv+3zroRUgpsA;U{5pM8OxfCK!G} zJV-`+C$KC=Jks9k?=^_IEEP9o)cU=YGUB`#6^W*?oXTA6S~XJ;(>;n&?!_lVNz|N< z(o9$+gP4&RxRUM7H^0hI#VMNEA~VAf%4sx)*wS51o)7yNjhGEbqbI|PVsm+*lan*l zd4*>({16T^V(76Jvx$1AFG|}}Y4sw&a2D=qf2jq<yJl8P)^}Z{mUQphSU+(2>ZpOg zmK()@{RK<S;svIQ1L8$eRh5~@%+-vTD25ogk3_knQZ8P28E#rX?P0A5X)Q6+6qqgx z&=lb+&Yu(H8fLUb@m-&i;3~PE6KK@qtPg%s%yS$0vCsPA$!5#p1>9!0^(D@x@W3GO zMQCEyy4cg6J&APgo&(btF+VRD!`|!-xx9#s8kP?eP8!ZiM`TQc{1vn@vq(%P>TXYr zSzWqE3?UCT^w_8(nbK92H#$^O85>s=FVEjEojDJUKCJIo8r>$1Qh07CNtaeB&5c?C zIP`J8e0&$CGNWCmtTLd`fFO^E<1n!GF4Y{I_l%kKi&DtvfQXM&+N|P-->$`&@-oR- z)sdsVbP?o~j7A4UzDdVqm3~hRqFhn)qzXaG@2(BC%rJNvBN<VeVaD2J)-dJFI%SqN zCCu7pRyJkC8mW}@DzgMRqSIE{Gjo+&*%!|MA+KHBfI3gql+|A;gE5AYyA$0YX!`|s zXiff`tq`Ytam}ue$~hJWkMoo<N@dwQ5lTf*zuk1{af+f-IORJNhf(E!5fE)8q4N&Q zu$HKydKp6bQ?xWd$(Bv6KbI>gUni1OM!EEtG}%HK@}4lVS|m-lk~Ko!$#c~Teu|sc zSUt@lvP*x%<rfFsR)y8FZz-6toA5dOG}=g)pV6+#9i*#LXkjw@PPAz(^JabvHqk5z z7|+;UenBLb_KqYl3#pt~DwEd)p)Zxw7L!yMWkdWDmNAo9mB~D7*OucZ=JpN7$ci4) zOkx`TCa&|>`4o&z?8`5=(hEZ}VPs-qIR;GgX`%ACLt?p1hN34XBxSXtV)8@{x|LGn z-Og%Jj6b_e1I=i-yZcMOZPOrjqpea~+thf@s$0-^bds+2TjO(zNk?84+w^&5VwuDu zyr+KECzu_Bmn)Q_@-#vmF=JRDM>1J4Q<e@$8-^;x>P?~cDwOV3C_{=UZi;ARvZ%6b zdbeyko$L!!T6rbfFf^PTBAhNfKSfe?14PDBZ#>Rd{_kHIlcWGaDM0DL81+Fy;|)pk z4N20C02JGHTrLHCt`&p?EAM{CSH?UkkF;bTS<-%bjJya7zwZfi{`&EC%A?1!pI*_v z!o*4D!yzL;9(;s6h>1M-1bGmWheO7Mfj2>hH$i|mL5F|h3FGnlaZAc0#^gtgDUS-0 zA7ROU8khYfO8bhK_7x6JG9wOI?3f$cFnR^aSGph}+>R9MnKWzeWNYqJ>lL|z1lfWF zxdQDJb!^!J?KJheWc9jK^*YF{T!C12-)?rF!Ke}PdmwH_jMwz`=V?h1^HV|d(>LZu z$?Ps^>{rR`K)E=z?7qhAzHR3BBO1q7-W5)QJmiU317*|oUegAg>EoF*O>g67vWe$} z&W2%+F?p#Ib!W<sIV#wn4|W`Lx(Y1}2Zsr#hWVDTo0d**drs&3PD>hA)SSqej;IvU zAoc|QG_tNHAs4xEH@}7aJTH_A^t$sOwNFRsGG0iH>$I@O%$uoOCEN|ynUkEI<nk+6 zXjNhOX45u-+TmkKD2=%QjHi<#gE4=BrZ*`_)KZ+o7NC2?@4L@^e@1Zd*?)}HDCE)X z!-9j=_!_SAHr(q7uUMF%AXL~iVyGLWo)$PxkOsoTQy#S@tor#aiC5CR5c>`Pu#BKi z?e}qCN#Yk209O_&XXS~U^SX&Av#)anuCdyNw`uc??9<Qp%i0dV6rBc_$QYWP*u(EI zv|{C-PVpJi^R*&}7STQ#M<B9a1vOH)0+D%@>(3_N+oClgQmoR`i&&56e~D>Z;Hg>E zUmnPe_d(R>5Ny!?0B1Ut)^2xae!Jyeyh~6}m&Evv%<=|fqTNyND~&a4A{!vr!&uMG zJhsxCUDMS%OHLh2ujekYinYGgKA3#M-rHcAz3^xC#2QgTNRnxtR}C_JV0%Ze4uzZp zid=C<YY1&jtprg4HHYk=$&o(V4(c;)$8BU1;ptGX^CCtuiW^btF0z*|yl)nw?~JoA zgjmdfHmhXv(nlZU=WG(z1u!{z^&y4F)vT^7cY#*lpAlNOja{TBW5Ln$vkST#Cxr-H zxFE_jf4V_iYae<~OFZ!kRl%$%GT-C0giqPa@A~U}ce%b^)3Z(2VQbc_b5$aSY6asA ze=)J$gejV-j%J+>-b`hs>2!yI{_Sruu`822KyG><H-ILARBlA}>mGiA*=;F5Q-gz_ zv6-~q9z(~*niLwkQlINJs$1jdMg)Nn%U8yyLkqG4=R+*-SKJK@))0V=3%%kqndY_u z!Tu?gheIhcN5}ckUQPw2l;{TOmdG{teQAkxxg?CebV0a0zq%S_AC>R#+?5%iWv6m^ z<$Q)CP}sgH;RTBDsfk7QxRCOE8|XD#GKL$|e?U96ob<7E;h;_0{NrwVAN4nV@zSVS z$^GiH-1S2hjr#Fmq6x91Y$ajMf**OwVx;C;H>;+%lkS&k+AX`=(I)Cw-dPgfK~4KS z^o+}@13eBC!+S)$nQ9qQGWlBC+;$zmz7()qBC4VNayJXpZs7<XIpxRWuPyZ5t8~~X z3{|)`qNd)QkTF$xX{bK3bTu&Uwiq*gENOG+U?b9S!Q!^LatQ#<^O(GyH(VvpN!%UI z*x_|Y;{jNdnQ!@oO*2FOQetSXH{I%AGH)1)p2l1IyuT_S=X@pm+^w&D_Hbc;b*XnQ zw1%cBMt|Ji;|!^%$oz-A3d%qoSNMK|%S_U<gt^{#Z}$)9fN3C@yU-=W8Y1lWC!k57 z_zq+F_;k0X21gy8B}O;1SOG`IkE?j;0(p@dO7Csccjl<$l=Ksa?nfGuj!~N{A!o4j zmbThe%sTq;0wk8Q0yFJ{(}Q$PLT;1QYrNLhrC%Bv>WqyYPi}c+wB~>=F2*O~>sovH z+r6u|b2gVw#95&O6x5-H8Th7pKHrY>SzeC4W1AKg@JRW&K7gS6R-oeRXIR8rHN=-w zcVyN<&3?gEmCEeVZs;$6-Q|)AB~szW3auyE(dJI4du@uJefNELkhq0rPRw&tqkowe z0SrY<Ez>^EySdr{w0yp`cU_4qa&z18&Y3_rZs)i@O*|_he;h17khF8SGD=0-(O25b zY>uxwdf@OarD9sS?nA@bBXe^By^K^`g>Pe1!-vw_{>9m_GmUm7Z|i@J`>JCg7~>3V zW0`3fRWuz&kvBU@G57C<I2`ucZE=p2QBJ(q;+ELUs~MOXyxj<)Ix~iYy!Sj;X)i_5 zN_v6AX4GW`es5oahNZl$)xnDykjyUc;q=I~sV9?;Voc=94=F6*(J2GboUWi8?w&`j zYoAdDyerGLSj}1P?U=W8aEFXmLrSwz-+<5rzhr@?ko|Onpqtr%!8TTSNf@(%nPyu> zX1FxFsx>@o{ce$=*}l6V!+XN_bV8O_KW|rYIwp_H`51oTzgb(^+S}S%Usut_Vs&2; z`H?+zNBky}9sf@H$em8|Y=RmG9NT0?S{aT`DtDZ2`<-ZFlDhfZo5m^d*q%iPHT|^G zL9m9E-blKV6f&%(qcA^uagg)0Q72X2W9)G!o~?-D+~f9(+8axi=Ub)4+kwVfBhI@< z<a-Vr=T<InApc1WD8RTPeezaCnX7(ZX@m~x66Y%R^8k;VEo<3Z%Nobzkx9UhX^SF0 z*SS2yB<h9;e8HbhTn6e#YZz5*C+Z)M`*%3SKUUB!9_9!6FH|v=bT;6y6%1!-tb46W ziZ+IpH&uSqIM9nD!b8_^)7q-<qHtbUs*6D?P)47x|2ce6r6!;W(yy!;<1I19&EP0h z*_c_=mwQt%WGCUyi)ppr*b@!>;r`BoJ#O&CT;cNBIfLXJ0VR^Va`rO*`>~w8?tV9O zrv8yYhUY8AF4r?=3z^KQJLkK8>Y4aGKhRR#dHERx&PCq;TwBMM<^Mj%4+4yZ;B2hK zL~rA7Y$io-tjDMZyQ1cQ8=b>k+*;pDioQmC%p-qryEGD)zXI}xX}HcWs1jjfDbU?W zexjoR8~*(x_2-qATgJx*HNC7cR8}eiAz4YmSw+nqkC3*nJ>i52qo25ue-69@AzgEq z*xX9)ee6H8${QWB9Gz-wifBY*LNZSqa2fuoK2TJN&PUEL&6zARf1Kgpdm2a^eO=!d zT(;H3(d4GT)Kio|ub9M|BEDZNA=JU~toyvAQDl;%A9v*!L2qA=1`m#%gGH9x4#2kL zhOWoKe#=^`Txu_}s@tizt;6Q9=tSeTJZmR*T+C^}`$o}8ut(pV-J{WU{DaY+5&kYl zod(EVH~1NKp`~Yy480$JW*g3qYjFwWz1-)5g=Wn@)-n9jzZl-)hRZ|H=GHP_Fi<-< z#!O1SEz~T}YjIg{1sQzkEF|jK^-f@Hys%qQxp8lZn{JpHDnn@xNLn^?ycxYSaJV|@ z8>V1T-$SZ&tTnXXKYLweIxtuiAJWY<vmu@7(1Y6mlseAS_s;_*HAU4F%3>&l6WT#u zdD23urqHKu(0Zi^RJ{2*(h6qgOGI!G!jHd8MFGUbNRmtnW@KeL$n=U?nN9O&i5S^C z_v`o&);&5pIygDW*<0^v?Nzzi=;6QRuscn9Iq9`6jWmYZ<+6=$Yh!E1?*7V5c;(kR zYw$Ct+v16=n(?TKBKY-y%DG<&dso@lzXtkJ-zPv~6AV|Zn@ja%$ykpu?|At;Uc<J+ z=7K9Gvy{5?lGBQ|8=Cm@6zvV4qco<-9cMYqixiLI9#elJO@|%8#OW38)D0I;5!cpf z$0xO^i**EBI|2fBXS0x#E;nttC{_h!Gtsj~)xPbKfcRPtM8^)z9J7t%wd08NU=egX zv@_rNT|GPQ)(;eQg&BDxMW5vY4_%3+_$%2&iQ+KF$S1}EFD=Yn8_myLvUtN2y+O5A z!ZL0c+OZD5^1AHw_AoBUmxa!Kzk9uQibJ5z&yMBzDcbgqlxSB|e^`m<NUgb+MVO12 z?t@|Rut|5tC|PMA{;!iP@s_sk#xKe}tRLc2!VFTGq;gHlaXwG|EE=NOr+qGSA()T@ zv^ouRnj^xwG$=HyKKhcC5?dl?_?n(OI!tvqiP1PVJkx!U)gM$d_lB#ww?Sd%*Vh@e zk;$n93uX>MdiC+{!4}M@1)iqOYU;b%C_)G0veC7taJc?gZ`#y}qG{bz^j_cfdy+6m zuZfQ~jWNF#;2N{!NtHgI9_|e}X^eA;Qg=LiX?9XuZhF@dipDd*!OVJPyZSk6pj2JN zTWEk-?Pv=WSWoHBK)YSMp*$XB9tU}~_$=L(-HNxA2uUNkiWGmTUTE4nciF}bX^_*r zAGiUyrIq6JxjOa7i8;20!$&~fRO-5+Owufo%8#Zc$R~^>wv7{QRq{+&to5mJUEy=2 z%}Z)IpEr*A?WLkC^Yb#gRB9~DqnIyD^7`|BvmedjX}(o$Ue#nGMsV1}R3F@(oI&ha z=6<V2>*49_;ObOT{bHhO!24%efyKAX1r4RelB?vp459APi*H)E^?8aNFQ`n$kH|q3 z_VKktOSfIGZOopc!>c+pu#Pm2DGtmD-KN;fFyu{!6&1mKR607Z*Op2QsED4etnyS+ zOw+Z~VCv>min4OtOUpMTHMYGr8jraC#n{$gB*P#9>{FB5E6H*g`|3~zOW)A@c7cWQ z%)Hm@rQ7&RbUf@LRV^vE7$=_kRmm~LuV<zl2~K-f1?{c%pv=93w{QF`ni@*p3!bBE zR^h#zdy_g2a=|%qT=~?DFL@*7JQH}FV>Lpt+ntcHw^v@wAfBl5%zOuAhEc$|y0)Fk zw0UJD9p`G&?db{f@59F9rKf#1p<g~bV$<<StJO_<2xTj!Nh8>Po^MHTpaqX_9))S) z*USbFVdCiW=mC;<<y3uHXJV;?T3W>$(SgHbPa6w$Jar4?fbpc6iOvxE&1g6NoBV}w z-s_YF`#ZE7b~vJIG|3X!Yt(DK(Fw%oQ}S`H*L#d-cQMY)YOy7^(-~2~S+A4BTzmbA zJ`KdRsytjx+iO3m2pdnDtVVuZwFvzW`Kr0x#2j_vd1_;EeYA<+bh2$ik8AmDC(<nK zaJ4i{)_Jc^O#&(1`d9Fq9Ak{u4|F#gkWMl7gcvnytCY8wUhcI>N5^lMp03s!O@FDP z2O4E2I5dzvtFxHx;x1g$Vlr*7Fn><DfX6$37SA^~X#7!)=Et(bkAc29$ELN}B}-|I z$jz$u)1WCFc2_Zpr$ZDKsS<OeEj3jGqG=S!^FbGldj8$iH4^PS7W^CGMxR~F-55&P zJox9GE0oWJZW65|#<@`6{{rrBw3wm^54??~HLK*%zFRtJL5p3HE?DVa7<T37j&)Vu z8w&{Cy9;%`+kA75@yq-o!x@MH2#C${*~{Mal2f>S>-NoFJMsLv%)r~8W}$Hj%0m?# zp;LeNoU%jl3;wjryW!ykD|1eV<wiI_`Ftc|oF9S~7hkm|ai4Qhe53YBRDtsI1zy`} z_M$Lx_;42*^DSBuU+Z$eM0Z2c&b}b-@pk6oI^80|Dx;2M{BUW$_sLGyHfL-K&L6~k z;s*5c-oC4IZr^cHa84wxIor+04?9ymXm+sZmsZ<zzx&`a_>uW&qBc&A+dLIdX2&p= z*JWn-(tnr-qrA*9I%2TZdHzKQHHTegqh;`=AnN|R)kJgqeO=|W!;(zp2{(4B_{;6< z%G?aOaAA@sANESkWH$RPdt=cUeftV8T0b~;Bu97@u_;N>Ys5FII?d;KK|UIs!`b<6 zAo0%3oEw|qRL`P0A|4dQr_!jjt4$>rnSS9mWG01OX`PcEUTIx(DD}KLcx#()ul{0l zfTKd=IkTFaUhR)Pla$gBb;2qsSsC4kILPSki{m)YOp4w+Zc33a(M`;LJ&i(>0?xrc ziojt8H;ua0T={npCeU*P5Pcji=TTfv)ADT4wzpiHRZzZgAs&;Mgj<Mwxtla+E6Zyz z)6Ou{?`i0(afpY^Jk!*D^HuhCfhjFs>TVY?aYK$TrqZF%tWFj=ykPgT^OjTwC&^;& z1D%tE(334(k%mto1$Kr4)dr{La`~LN@M%wp$m2le537tmyK-|)i>^H{+f0joUd!}5 zuU{;3>%VuSaoF+g#U41+VoY-Dmp$TN7}|&?ZX8CjydF+6F2bjaa+P;H(EdS<r-Nst z*5BG`@~GDWc0#M2&+H3<pw^%x-00h{ncC7u0?$^l-Y3Ii@>mG)!5XN^$?9WfhPGj< z(voVj^Sh#Vuu6AGDcDda(Z!_ImfhyQMh?S!_JieX2)sHP5o#l93~Cpu5bDL^>s>al zrwH&~m|o&uFl5Z6w24m)3|SPJ6isEDW7H(*P!31@pQ5nRoea_8Mo|kRe7io5?P)B4 zDe(0*FZ4VkVV&P|Nwm#;T|6WQJl?8V&a3I-R50QjWfZ@d=gc}Y4gEfSW1oRI)n;$) zMyKW+-Zk>71Sq|Ff?c$B2@lAy-{q$7d5>m4YniY%^E7MV{Aa7cQ~|g3vwrOb=ES$> z9(&%YZ>b~{zpb4t-ug$T;@$br>@3{8eNn{%P$s9H)^=jN%HkB;E#mW^O|+j_)4O0x zk>VfGHXl(tuC5aJk}_(QYPs9qlWW{Wsy(!^ZK2$1vMF0_sJnu=>$+RF!|!9WkGL&2 zx>BR=w&?X`3hnf0yD6%UXDvh&UA!o1_QIs5$HMm$N;A=dhAocJkMV_yc_+O$ZTdUf z81Z=QfOiCJfE==ApT1&WF&x?#PoyJVVaJib^HF||pw>rw5fc7_L(j+)%Y^f-*I3AN z)@~ycT@zh19UV;1P>QB$I5snVRjYl)YhTcFExx|3hRM<=1@#CSkrFnQq^2&QxU;3r zHo}*sj7k72#54?XB&W3u+xm@@(rh}L$-MB7u>&+46OuK!L|ez*rKET$V|NX;wZCRb z_mbT5oGio!*e`q5XU*R=<adEndG@Cn=V8sBtEjs=47+ol7_@F~^=Dyl_@xiH<1GWZ z-L<Nm6e#No7DtBTadyG4>BnnjutaX(Y9?$l)H4g)4xloDrY2{q*bCmjRHC;&8uxX7 zN&NGjz0>VXUW`@T1#*S6zCFukeOJW-kJGL9@jG3o?n4Z1yL680QUlOH!-q6cs^-M2 zt&VCG3d=jH>$u3O!+@0GNO~1EjKb)epVQmo1?P>92py&{mghvo4s^T{+_xN3zxrhm z9#zNdDWf49S{T^aS{v$`|IS+Ky+=a^fIws{WWTc-WGotF93U1=GBThB87l`Ek^ulT z$bdlLeY(E`{g(fhK+5mykbyw#e<nyxR(6eh>3t6TJNF-bK!}{3o#S`nU}Yt{PrvU0 z05T4Uw)^|vT3J|r%kQ;=A@+aQg_J|;LUe*4{{8F8zqCL~*dhM10|58A|JeQQA4J>V ze*V*E)_ZG^1cH>`U+*pbT@P}FXaPfr@A-e%_?s3|``$W42C2ab@#Q}`h{eDB1F-yM z98wHm<@~!P06>nvoda+{r2lDCPDqpd&T5kVvs>8zuWq?_ndM*K_b%P1d+B}Yeg6LX zPq=@8{H}L@|5r2osqg<uhy1tQ0nrJiD}GyqJOk<0e|r93KK;*i2t?OC>3`E1kkb2- z|Nnj8x9|UqSO09izk2WgjTXog{~l5IPW)%0vx5FRP4^|gM-$}wdo<nm)F0{o*?-FZ zJ)SsOAyXMLJ^neW{%P&L?Ee0*>)%}W*L&W3>3!m4WBXm}pHH%ou|cHwmj8MEdqmvJ z|MKMT-2H;`Pe1=61A;mKi|oH9GQ`%s&VO6`KX-S}@V{aW(qjMa>-z=ccVF}HFe^HJ zFl1JhH#A~ac;{>gS;WE2DjH+}GBz^EL(KA)mbQ=^7BYEeF$*J0GQj;Xf#d}>csN-E z1UP~0Z@?^I;A?g^@EbuERxk?-3kbvl1OS8peE;_~AO?irnb{gzGYgyP+8PQP>RTEZ zGD{j-7~7hV0oj0jd}zpjha|^%&`6g`zb+2q{yHNC?(ochH-q9DCY7grSWYvK0TYfK zPFD!S6-WNG`Z@k34T(ftP~^_m`o)IY>_E*~{MGCjhsUa6Sx!2h_kQrpkN)X+6jV2z z!o&O&8D*iRV%NSASpdWze%hhEXQEdVq8)pf)?osXx<pBUuQJuXhMmoK4a{B42{CO< zo>ZMe&!SQv(HE0ksCq`y3Sx;DBjm{ih)0kI$}1+5n1;T_W!E7c*T-hpqi5GgIZY*+ zDJJEX^(WeHmfmi$7}bCNtN6M1hewD*9zRUJW043^N-q<r4+da^gGNl+UY4i8?tp`( zZI@8{ml$fTu<$<+Hf%Ig9WNmiE+ZGN5Lqm-BYePc7z*Zg^zg0@MkHv}=V?|z)g>6% zC!uuw{EeW4K0pt(2=JN1(O<0o2hRKoEFZP+R)65Zj_*rp&}{&llwj<-z&Q%(ijXbT zu<vMXXoQB$0vQaPkjsC*0Fd|!0s%o}_eFopAj9GQi_GG`WB^vkmf=qs7&3(Zkg;(> zCe*)WY@8s@KV={Q;GqmMG#=Cg-4D%w>jQDzZ(sh9f$ziRA2Lps2QqdRcF2_bcRh9h z@PW_lK#m7?*+Jkx?E)aP1QKBXr4ImR1N<q2RDke4XlGVPu>7;_Aq(k48DwF7P!9-2 z#s)<Of+B+~yASk1_Gb@dP{sx;6b>L14j>c`AQTSBBKW{Aq(2_Ypl|@8Z~&oj0HJUI zp>VK4;b4Qp!3Ko`GIk&M3<)j|Wl%WSpm4B3;b4Qp!3Ko`62>3c1wr8eLE!*F;Q&G5 zfXu;%HlT2Tpm2boa6s0G2l^m$^`Q(32RjrFb|@U|P&nA3aIiz+xIe%AIX~E;aIiz+ z;DExx0fmDD3I_)i4h|?B98fqopm0FewFexKwez723I`Yp2P6hOcoqzW0}O=&421)- z#y->sg#!$Q0}O=&vhjPMj}r<9Cln4&C>)$nI3O|ap$#Y;oKQG8p>S|Q;oyA80f0p4 zKkWio9&!L!9&!L!9&!L!9&!L!9&!L!9&!L!9&$iV#8CW$!U2H70XY^tU;{wm06^gY zK;ZyD;ef>Hhc=*aK-nYR?_VA~3niWdpu}^){XyxEwFJNlg@Y9e2V@`i@L4DvtWY>u zq4Woocn*LP&jC>4IRHvL2SADE_xq~{K0|h#4`om|pu}?klz0w+63+op;yD0HJO@CD z=Kv`28~`Pr1K6N&K#Au7DDfNsC7uJI#B%_Ycn*LP&jHZl`GYlrm4yS+R{!3!vH~Cn z#6M(U$X5B!dSJ-%^5@<b3}A=M-+$`^v)->c|0T1v)_rGYXpM#pIhg+EILi6I{S5lo zDO1<l_OD|Pm=$uEMMI{d5|V+ur1S5i5DOae|0m8d%UT=Sll}JT_bFY$)*NyNX|zAR M262Kp{^Rxk05XjeApigX literal 0 HcmV?d00001 diff --git a/media/file_upload/noten/20230331_130652_Nebentaetigkeit_Jaehresmeldung.pdf b/media/file_upload/noten/20230331_130652_Nebentaetigkeit_Jaehresmeldung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c07004de02715ece040d03fca34754c2949d96c2 GIT binary patch literal 86167 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 M262Kp{^Rxk05XjeApigX literal 0 HcmV?d00001 diff --git a/media/file_upload/noten/20230331_130857_Referendenbesprechung.txt b/media/file_upload/noten/20230331_130857_Referendenbesprechung.txt new file mode 100644 index 0000000..bc619f7 --- /dev/null +++ b/media/file_upload/noten/20230331_130857_Referendenbesprechung.txt @@ -0,0 +1 @@ +ULA nicht in der Cloud \ No newline at end of file diff --git a/media/file_upload/noten/20230331_130859_Nebentaetigkeit_Jaehresmeldung.pdf b/media/file_upload/noten/20230331_130859_Nebentaetigkeit_Jaehresmeldung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c07004de02715ece040d03fca34754c2949d96c2 GIT binary patch literal 86167 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 M262Kp{^Rxk05XjeApigX literal 0 HcmV?d00001 diff --git a/media/file_upload/noten/20230331_130901_Uebersicht_Datenbanken_C7000.pptx b/media/file_upload/noten/20230331_130901_Uebersicht_Datenbanken_C7000.pptx new file mode 100644 index 0000000000000000000000000000000000000000..94f1bd054573c13bd15b0c9792fa1878a36eb0af GIT binary patch literal 64200 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 literal 0 HcmV?d00001 diff --git a/templates/modern/admin/2022-01-12_sitz_koord.html b/templates/modern/admin/2022-01-12_sitz_koord.html deleted file mode 100644 index 7996955..0000000 --- a/templates/modern/admin/2022-01-12_sitz_koord.html +++ /dev/null @@ -1,32 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <form action="?action=edit" method='post' name='ausgabe'> - {section name=table_data1 loop=$table_data1} - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} <a href="?action=del&bid={$table_data1[table_data1].bid}&reihe={$koord_reihe}&platz={$koord_platz}&tid={$koord_tid}"><img title = 'Zuordnung löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> {if $table_data1[table_data1].favorit == 0} - <a href="?action=fav&status=0&vorname={$table_data1[table_data1].vorname}&nachname={$table_data1[table_data1].nachname}&tid={$koord_tid}&reihe={$koord_reihe}&platz={$koord_platz}"><img title = 'Standardplatz löschen' border="0" height=10 src="../templates/{$global_template}/images/favorit_red.png"></a>{/if}{if $table_data1[table_data1].favorit == 1} - <a href="?action=fav&status=1&vorname={$table_data1[table_data1].vorname}&nachname={$table_data1[table_data1].nachname}&tid={$koord_tid}&reihe={$koord_reihe}&platz={$koord_platz}"><img title = 'Als Standardplatz setzen' border="0" height=10 src="../templates/{$global_template}/images/favorit.png"></a>{/if}<br> - {/section} - </form> - </body> -</html> -{/if} - -{if $action == 'del'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type="text/javascript"> - function reload_unzugeordnet() { - var iframe = parent.document.getElementById('unzugeordnet'); - iframe.src = iframe.src; - } - </script> - </head> - <body onload='reload_unzugeordnet();'> - </body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/2022-01-12_sitzplatz.html b/templates/modern/admin/2022-01-12_sitzplatz.html deleted file mode 100644 index 5bcbb08..0000000 --- a/templates/modern/admin/2022-01-12_sitzplatz.html +++ /dev/null @@ -1,935 +0,0 @@ - {if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <form action="?action=edit" method='post' name='ausgabe'> - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Sitzplätze</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tid}">{$table_data1[table_data1].datum_form} ({$table_data1[table_data1].anz_ges} Anm / {$table_data1[table_data1].anz_fam} Haush.)</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Datum wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'edit'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-us-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .tg{ - border-collapse:collapse; - border-spacing:0; - } - .tg td{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:14px; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg th{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:14px; - font-weight:normal; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg .tg-hfk9{ - background-color:#000000; - border-color:#000000; - text-align:left; - vertical-align:top - } - .tg .tg-1i2r{ - background-color:#f8ff00; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-llyw{ - background-color:#c0c0c0; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-0pky{ - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-c6of{ - background-color:#ffffff; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-agym{ - background-color:#fcff2f; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-61xu{ - background-color:#cbcefb; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-y6fn{ - background-color:#c0c0c0; - text-align:left; - vertical-align:top - } - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } - fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; - } - </style> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - <script> - function resizeIframe(obj) { - obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px'; - } - </script> - - </head> - <body> - <table width="100%"> - <tr> - <td width="5%"> - - </td> - <td width="90%"> - <div class="Header"> - <div> - <div align="center">Sitzplan: {$edit_value_datum}</div> - </div> - </div> - <div class="pat_list_box"> - <p> - {if $save_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$save_error_text} - </td> - </tr> - </table> - <br /> - {else} - <iframe src="./gd_verwaltung.php?tid={$edit_value_tid}" name="verwaltung" id="verwaltung" width="1100" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <iframe src="./unzugeordnet.php?tid={$edit_value_tid}" name="unzugeordnet" id="unzugeordnet" width="1100" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <tr> - <td width="80%"> - <table class="tg"> - <thead> - <tr> - <th class="tg-llyw"></th> - <th class="tg-llyw"></th> - <th class="tg-llyw">A</th> - <th class="tg-llyw">B</th> - <th class="tg-llyw">C</th> - <th class="tg-llyw"></th> - <th class="tg-llyw">D</th> - <th class="tg-llyw">E</th> - <th class="tg-llyw">F</th> - <th class="tg-llyw"></th> - <th class="tg-llyw"></th> - </tr> - </thead> - <tbody> - <tr> - <td class="tg-llyw">A1<br></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"> - <!-- A1 A--> - <iframe src="./sitz_koord.php?reihe=A1&platz=A&tid={$edit_value_tid}" name="A1A" id="A1A"s width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <br>Klavier - </td> - <td class="tg-0pky"> - <!-- A1 B--> - <iframe src="./sitz_koord.php?reihe=A1&platz=B&tid={$edit_value_tid}" name="A1B" id="A1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 C--> - <iframe src="./sitz_koord.php?reihe=A1&platz=C&tid={$edit_value_tid}" name="A1C" id="A1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-c6of"></td> - <td class="tg-0pky"> - <!-- A1 D--> - <iframe src="./sitz_koord.php?reihe=A1&platz=D&tid={$edit_value_tid}" name="A1D" id="A1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 E--> - <iframe src="./sitz_koord.php?reihe=A1&platz=E&tid={$edit_value_tid}" name="A1E" id="A1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 F--> - <iframe src="./sitz_koord.php?reihe=A1&platz=F&tid={$edit_value_tid}" name="A1F" id="A1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">K1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K1 A--> - <iframe src="./sitz_koord.php?reihe=K1&platz=A&tid={$edit_value_tid}" name="K1A" id="K1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 B--> - <iframe src="./sitz_koord.php?reihe=K1&platz=B&tid={$edit_value_tid}" name="K1B" id="K1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 C--> - <iframe src="./sitz_koord.php?reihe=K1&platz=C&tid={$edit_value_tid}" name="K1C" id="K1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K1 D--> - <iframe src="./sitz_koord.php?reihe=K1&platz=D&tid={$edit_value_tid}" name="K1D" id="K1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 E--> - <iframe src="./sitz_koord.php?reihe=K1&platz=E&tid={$edit_value_tid}" name="K1E" id="K1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 F--> - <iframe src="./sitz_koord.php?reihe=K1&platz=F&tid={$edit_value_tid}" name="K1F" id="K1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K1</td> - </tr> - <tr> - <td class="tg-llyw">K2</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K2 A--> - <iframe src="./sitz_koord.php?reihe=K2&platz=A&tid={$edit_value_tid}" name="K2A" id="K2A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K2 B--> - <iframe src="./sitz_koord.php?reihe=K2&platz=B&tid={$edit_value_tid}" name="K2B" id="K2B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K2 C--> - <iframe src="./sitz_koord.php?reihe=K2&platz=C&tid={$edit_value_tid}" name="K2C" id="K2C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K2 D--> - <iframe src="./sitz_koord.php?reihe=K2&platz=D&tid={$edit_value_tid}" name="K2D" id="K2D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K2 E--> - <iframe src="./sitz_koord.php?reihe=K2&platz=E&tid={$edit_value_tid}" name="K2E" id="K2E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K2 F--> - <iframe src="./sitz_koord.php?reihe=K2&platz=F&tid={$edit_value_tid}" name="K2F" id="K2F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K2</td> - </tr> - <tr> - <td class="tg-llyw">K3</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K3 A--> - <iframe src="./sitz_koord.php?reihe=K3&platz=A&tid={$edit_value_tid}" name="K3A" id="K3A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 B--> - <iframe src="./sitz_koord.php?reihe=K3&platz=B&tid={$edit_value_tid}" name="K3B" id="K3B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 C--> - <iframe src="./sitz_koord.php?reihe=K3&platz=C&tid={$edit_value_tid}" name="K3C" id="K3C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K3 D--> - <iframe src="./sitz_koord.php?reihe=K3&platz=D&tid={$edit_value_tid}" name="K3D" id="K3D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 E--> - <iframe src="./sitz_koord.php?reihe=K3&platz=E&tid={$edit_value_tid}" name="K3E" id="K3E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 F--> - <iframe src="./sitz_koord.php?reihe=K3&platz=F&tid={$edit_value_tid}" name="K3F" id="K3F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K3</td> - </tr> - <tr> - <td class="tg-llyw">K4</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K4 A--> - <iframe src="./sitz_koord.php?reihe=K4&platz=A&tid={$edit_value_tid}" name="K4A" id="K4A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 B--> - <iframe src="./sitz_koord.php?reihe=K4&platz=B&tid={$edit_value_tid}" name="K4B" id="K4B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 C--> - <iframe src="./sitz_koord.php?reihe=K4&platz=C&tid={$edit_value_tid}" name="K4C" id="K4C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K4 D--> - <iframe src="./sitz_koord.php?reihe=K4&platz=D&tid={$edit_value_tid}" name="K4D" id="K4D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K4 E--> - <iframe src="./sitz_koord.php?reihe=K4&platz=E&tid={$edit_value_tid}" name="K4E" id="K4E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 F--> - <iframe src="./sitz_koord.php?reihe=K4&platz=F&tid={$edit_value_tid}" name="K4F" id="K4F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K4</td> - </tr> - <tr> - <td class="tg-llyw">K5</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K5 A--> - <iframe src="./sitz_koord.php?reihe=K5&platz=A&tid={$edit_value_tid}" name="K5A" id="K5A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 B--> - <iframe src="./sitz_koord.php?reihe=K5&platz=B&tid={$edit_value_tid}" name="K5B" id="K5B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 C--> - <iframe src="./sitz_koord.php?reihe=K5&platz=C&tid={$edit_value_tid}" name="K5C" id="K5C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K5 D--> - <iframe src="./sitz_koord.php?reihe=K5&platz=D&tid={$edit_value_tid}" name="K5D" id="K5D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 E--> - <iframe src="./sitz_koord.php?reihe=K5&platz=E&tid={$edit_value_tid}" name="K5E" id="K5E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K5 F--> - <iframe src="./sitz_koord.php?reihe=K5&platz=F&tid={$edit_value_tid}" name="K5F" id="K5F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K5</td> - </tr> - <tr> - <td class="tg-llyw">K6</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K6 A--> - <iframe src="./sitz_koord.php?reihe=K6&platz=A&tid={$edit_value_tid}" name="K6A" id="K6A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K6 B--> - <iframe src="./sitz_koord.php?reihe=K6&platz=B&tid={$edit_value_tid}" name="K6B" id="K6B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K6 C--> - <iframe src="./sitz_koord.php?reihe=K6&platz=C&tid={$edit_value_tid}" name="K6C" id="K6C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K6 D--> - <iframe src="./sitz_koord.php?reihe=K6&platz=D&tid={$edit_value_tid}" name="K6D" id="K6D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K6 E--> - <iframe src="./sitz_koord.php?reihe=K6&platz=E&tid={$edit_value_tid}" name="K6E" id="K6E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K6 F--> - <iframe src="./sitz_koord.php?reihe=K6&platz=F&tid={$edit_value_tid}" name="K6F" id="K6F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K6</td> - </tr> - <tr> - <td class="tg-llyw">K7</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K7 A--> - <iframe src="./sitz_koord.php?reihe=K7&platz=A&tid={$edit_value_tid}" name="K7A" id="K7A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 B--> - <iframe src="./sitz_koord.php?reihe=K7&platz=B&tid={$edit_value_tid}" name="K7B" id="K7B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 C--> - <iframe src="./sitz_koord.php?reihe=K7&platz=C&tid={$edit_value_tid}" name="K7C" id="K7C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K7 D--> - <iframe src="./sitz_koord.php?reihe=K7&platz=D&tid={$edit_value_tid}" name="K7D" id="K7D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 E--> - <iframe src="./sitz_koord.php?reihe=K7&platz=E&tid={$edit_value_tid}" name="K7E" id="K7E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 F--> - <iframe src="./sitz_koord.php?reihe=K7&platz=F&tid={$edit_value_tid}" name="K7F" id="K7F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K7</td> - </tr> - <tr> - <td class="tg-llyw">K8</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K8 A--> - <iframe src="./sitz_koord.php?reihe=K8&platz=A&tid={$edit_value_tid}" name="K8A" id="K8A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K8 B--> - <iframe src="./sitz_koord.php?reihe=K8&platz=B&tid={$edit_value_tid}" name="K8B" id="K8B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K8 C--> - <iframe src="./sitz_koord.php?reihe=K8&platz=C&tid={$edit_value_tid}" name="K8C" id="K8C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K8 D--> - <iframe src="./sitz_koord.php?reihe=K8&platz=D&tid={$edit_value_tid}" name="K8D" id="K8D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K8 E--> - <iframe src="./sitz_koord.php?reihe=K8&platz=E&tid={$edit_value_tid}" name="K8E" id="K8E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K8 F--> - <iframe src="./sitz_koord.php?reihe=K8&platz=F&tid={$edit_value_tid}" name="K8F" id="K8F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K8</td> - </tr> - <tr> - <td class="tg-llyw">K9</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K9 A--> - <iframe src="./sitz_koord.php?reihe=K9&platz=A&tid={$edit_value_tid}" name="K9A" id="K9A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 B--> - <iframe src="./sitz_koord.php?reihe=K9&platz=B&tid={$edit_value_tid}" name="K9B" id="K9B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 C--> - <iframe src="./sitz_koord.php?reihe=K9&platz=C&tid={$edit_value_tid}" name="K9C" id="K9C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K9 D--> - <iframe src="./sitz_koord.php?reihe=K9&platz=D&tid={$edit_value_tid}" name="K9D" id="K9D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 E--> - <iframe src="./sitz_koord.php?reihe=K9&platz=E&tid={$edit_value_tid}" name="K9E" id="K9E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 F--> - <iframe src="./sitz_koord.php?reihe=K9&platz=F&tid={$edit_value_tid}" name="K9F" id="K9F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K9</td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-agym"></td> - <td class="tg-agym"></td> - <td class="tg-agym"></td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K10 D--> - <iframe src="./sitz_koord.php?reihe=K10&platz=D&tid={$edit_value_tid}" name="K10D" id="K10D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 E--> - <iframe src="./sitz_koord.php?reihe=K10&platz=E&tid={$edit_value_tid}" name="K10E" id="K10E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 F--> - <iframe src="./sitz_koord.php?reihe=K10&platz=F&tid={$edit_value_tid}" name="K10F" id="K10F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K10</td> - </tr> - <tr> - <td class="tg-llyw">K10</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K10 A--> - <iframe src="./sitz_koord.php?reihe=K10&platz=A&tid={$edit_value_tid}" name="K10A" id="K10A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 B--> - <iframe src="./sitz_koord.php?reihe=K10&platz=B&tid={$edit_value_tid}" name="K10B" id="K10B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 C--> - <iframe src="./sitz_koord.php?reihe=K10&platz=C&tid={$edit_value_tid}" name="K10C" id="K10C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">D1</td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-0pky"> - <!-- D1 E--> - <iframe src="./sitz_koord.php?reihe=D1&platz=E&tid={$edit_value_tid}" name="D1E" id="D1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw">D1</td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-61xu"></td> - <td class="tg-61xu"></td> - <td class="tg-61xu"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">M1</td> - <td class="tg-1i2r"></td> - <td class="tg-61xu"> - <!-- M1 A--> - <iframe src="./sitz_koord.php?reihe=M1&platz=A&tid={$edit_value_tid}" name="M1A" id="M1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-61xu"> - <!-- M1 B--> - <iframe src="./sitz_koord.php?reihe=M1&platz=B&tid={$edit_value_tid}" name="M1B" id="M1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-61xu"> - <!-- M1 C--> - <iframe src="./sitz_koord.php?reihe=M1&platz=C&tid={$edit_value_tid}" name="M1C" id="M1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">F1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- F1 A--> - <iframe src="./sitz_koord.php?reihe=F1&platz=A&tid={$edit_value_tid}" name="F1A" id="F1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- F1 B--> - <iframe src="./sitz_koord.php?reihe=F1&platz=B&tid={$edit_value_tid}" name="F1B" id="F1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- F1 C--> - <iframe src="./sitz_koord.php?reihe=F1&platz=C&tid={$edit_value_tid}" name="F1C" id="F1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - </tr> - <tr> - <td class="tg-llyw">E1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E1 A--> - <iframe src="./sitz_koord.php?reihe=E1&platz=A&tid={$edit_value_tid}" name="E1A" id="E1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 B--> - <iframe src="./sitz_koord.php?reihe=E1&platz=B&tid={$edit_value_tid}" name="E1B" id="E1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 C--> - <iframe src="./sitz_koord.php?reihe=E1&platz=C&tid={$edit_value_tid}" name="E1C" id="E1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E1 D--> - <iframe src="./sitz_koord.php?reihe=E1&platz=D&tid={$edit_value_tid}" name="E1D" id="E1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 E--> - <iframe src="./sitz_koord.php?reihe=E1&platz=E&tid={$edit_value_tid}" name="E1E" id="E1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 F--> - <iframe src="./sitz_koord.php?reihe=E1&platz=F&tid={$edit_value_tid}" name="E1F" id="E1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E1</td> - </tr> - <tr> - <td class="tg-llyw">E2</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E2 A--> - <iframe src="./sitz_koord.php?reihe=E2&platz=A&tid={$edit_value_tid}" name="E2A" id="E2A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 B--> - <iframe src="./sitz_koord.php?reihe=E2&platz=B&tid={$edit_value_tid}" name="E2B" id="E2B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 C--> - <iframe src="./sitz_koord.php?reihe=E2&platz=C&tid={$edit_value_tid}" name="E2C" id="E2C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E2 D--> - <iframe src="./sitz_koord.php?reihe=E2&platz=D&tid={$edit_value_tid}" name="E2D" id="E2D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 E--> - <iframe src="./sitz_koord.php?reihe=E2&platz=E&tid={$edit_value_tid}" name="E2E" id="E2E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 F--> - <iframe src="./sitz_koord.php?reihe=E2&platz=F&tid={$edit_value_tid}" name="E2F" id="E2F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E2</td> - </tr> - <tr> - <td class="tg-llyw">E3</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E3 A--> - <iframe src="./sitz_koord.php?reihe=E3&platz=A&tid={$edit_value_tid}" name="E3A" id="E3A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 B--> - <iframe src="./sitz_koord.php?reihe=E3&platz=B&tid={$edit_value_tid}" name="E3B" id="E3B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 C--> - <iframe src="./sitz_koord.php?reihe=E3&platz=C&tid={$edit_value_tid}" name="E3C" id="E3C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E3 D--> - <iframe src="./sitz_koord.php?reihe=E3&platz=D&tid={$edit_value_tid}" name="E3D" id="E3D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 E--> - <iframe src="./sitz_koord.php?reihe=E3&platz=E&tid={$edit_value_tid}" name="E3E" id="E3E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 F--> - <iframe src="./sitz_koord.php?reihe=E3&platz=F&tid={$edit_value_tid}" name="E3F" id="E3F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E3</td> - </tr> - <tr> - <td class="tg-llyw">E4</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E4 A--> - <iframe src="./sitz_koord.php?reihe=E4&platz=A&tid={$edit_value_tid}" name="E4A" id="E4A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 B--> - <iframe src="./sitz_koord.php?reihe=E4&platz=B&tid={$edit_value_tid}" name="E4B" id="E4B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 C--> - <iframe src="./sitz_koord.php?reihe=E4&platz=C&tid={$edit_value_tid}" name="E4C" id="E4C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E4 D--> - <iframe src="./sitz_koord.php?reihe=E4&platz=D&tid={$edit_value_tid}" name="E4D" id="E4D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 E--> - <iframe src="./sitz_koord.php?reihe=E4&platz=E&tid={$edit_value_tid}" name="E4E" id="E4E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 F--> - <iframe src="./sitz_koord.php?reihe=E4&platz=F&tid={$edit_value_tid}" name="E4F" id="E4F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E4</td> - </tr> - <tr> - <td class="tg-llyw">E5</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E5 A--> - <iframe src="./sitz_koord.php?reihe=E5&platz=A&tid={$edit_value_tid}" name="E5A" id="E5A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 B--> - <iframe src="./sitz_koord.php?reihe=E5&platz=B&tid={$edit_value_tid}" name="E5B" id="E5B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 C--> - <iframe src="./sitz_koord.php?reihe=E5&platz=C&tid={$edit_value_tid}" name="E5C" id="E5C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - - </td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E5 D--> - <iframe src="./sitz_koord.php?reihe=E5&platz=D&tid={$edit_value_tid}" name="E5D" id="E5D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 E--> - <iframe src="./sitz_koord.php?reihe=E5&platz=E&tid={$edit_value_tid}" name="E5E" id="E5E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 F--> - <iframe src="./sitz_koord.php?reihe=E5&platz=F&tid={$edit_value_tid}" name="E5F" id="E5F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"></td> - <td class="tg-llyw">E5</td> - </tr> - <tr> - <td class="tg-y6fn"></td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn">A</td> - <td class="tg-y6fn">B</td> - <td class="tg-y6fn">C</td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn">D</td> - <td class="tg-y6fn">E</td> - <td class="tg-y6fn">F</td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn"></td> - </tr> - </tbody> - </table> - <br> - <table width="600" border="0"> - <tr> - <td valign="top"> - <fieldset> - <legend> - <b>Sonntagschule</b> - </legend> - <iframe src="./sitz_koord.php?reihe=Sonntagschule&tid={$edit_value_tid}" name="Sonntagschule" id="Sonntagschule" width="300" onload="resizeIframe(this)" frameborder="0"></iframe> - </fieldset> - </td> - <td valign="top"> - <fieldset> - <legend> - <b>Vorsonntagschule</b> - </legend> - <iframe src="./sitz_koord.php?reihe=Vorsonntagschule&tid={$edit_value_tid}" name="Vorsonntagschule" id="Vorsonntagschule" width="300" onload="resizeIframe(this)" frameborder="0"></iframe> - </fieldset> - </td> - </table> - <fieldset> - <legend><b>Legende</b></legend> - <table border="0"> - <tr> - <td width="300" valign='top'> - A1 = Altarraum<br> - K1-10 = Kirchenschiffreihen<br> - D1 = Diakon<br> - M1 = Mutter/Kind<br> - F1 = Foyer<br> - E1-5 Empore<br> - </td> - <td width="500" valign='top'> - <img border="0" height=10 src="../templates/{$global_template}/images/drop.png"> Sitzplatzuweisung für den aktuellen GD löschen<br> - <img border="0" height=10 src="../templates/{$global_template}/images/favorit.png"> Standardsitzplatz zuweisen, für alle <u>künftigen Registrierungen</u><br> - <img border="0" height=10 src="../templates/{$global_template}/images/favorit_red.png"> Standardsitzplatz löschen, für alle <u>künftigen Registrierungen</u><br> - </td> - </tr> - </table> - </fieldset> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - {/if} - </div> - </td> - <td width="5%"> - - </td> - </tr> - </table> - </body> -</html> -{/if} - diff --git a/templates/modern/admin/2022-01-12_unzugeordnet.html b/templates/modern/admin/2022-01-12_unzugeordnet.html deleted file mode 100644 index f005a91..0000000 --- a/templates/modern/admin/2022-01-12_unzugeordnet.html +++ /dev/null @@ -1,86 +0,0 @@ -<html> -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } -fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} - </style> - - <script type="text/javascript"> - function save_platz(selectObject) { - - var reihe_platz = selectObject.value; - var lfd_tid = selectObject.name; - $.ajax({ - type: 'POST', - url: 'save_platz.php', - data: { - get_reiheplatz: reihe_platz, - get_lfdtid: lfd_tid - }, - success: function (response) { - var iframe = parent.document.getElementById(response); - iframe.src = iframe.src; - window.location.reload(); - } - }); - } - </script> - - </head> - <body> - <fieldset> - <legend class="legend1" align="center"> - <b>Nicht zugeordnete Personen</b> - </legend> - <form action=?action=save method="POST" name="save"> - <table width="100%" border="1" cellspacing="0" cellpadding="0"> - <tr> - <td><b>Name</b></td> - <td><b>Mögliche Sitzplätze</b></td> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td>{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} ({$table_data1[table_data1].Anz} {if $table_data1[table_data1].Anz == 1} Person{else} Personen{/if})</td> - <td> - <select name="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" id="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" onchange="save_platz(this);"> - <option>Bitte Platz auswählen</option> - {section name=inner loop=$table_data1[table_data1].inner} - <option value="{$table_data1[table_data1].inner[inner].reihe}|{$table_data1[table_data1].inner[inner].platz}">{$table_data1[table_data1].inner[inner].reihe} {if $table_data1[table_data1].inner[inner].platz != ''}/ {$table_data1[table_data1].inner[inner].platz}{/if}</option> - {/section} - <option value="Sonntagschule|">Sonntagschule</option> - <option value="Vorsonntagschule|">Vorsonntagschule</option> - </select> - - </td> - </tr> - {/section} - </table> - </form> - </fieldset> -</body> -</html> diff --git a/templates/modern/admin/administration_frame.html b/templates/modern/admin/administration_frame.html deleted file mode 100644 index 699a71c..0000000 --- a/templates/modern/admin/administration_frame.html +++ /dev/null @@ -1,20 +0,0 @@ -<html> -<head> -<title>Deputatverwaltung</title> -<link type="text/css" rel="stylesheet" href="../css/styles_refill.css"> -</head> - - -<frameset rows="1*" cols="300, 76%" border="0"> -<frame name="menu_eingabe" scrolling="auto" marginwidth="10" marginheight="14" src="menu_administration.php"> -<frame name="eingabe_haupt" scrolling="yes" marginwidth="0" marginheight="0" src="parameter.php"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates/modern/admin/gd_verwaltung.html b/templates/modern/admin/gd_verwaltung.html deleted file mode 100644 index e23eaf3..0000000 --- a/templates/modern/admin/gd_verwaltung.html +++ /dev/null @@ -1,681 +0,0 @@ -{if $action == ''} -<html> -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } -fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .bt_offen { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #77b55a 5%, #72b352 100%); - background-color:#77b55a; - border-radius:4px; - border:1px solid #4b8f29; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:1px 12px; - text-decoration:none; - text-shadow:0px 1px 0px #5b8a3c; - } - .bt_offen:hover { - background:linear-gradient(to bottom, #72b352 5%, #77b55a 100%); - background-color:#72b352; - } - .bt_offen:active { - position:relative; - top:1px; - } - -.bt_zu { - box-shadow:inset 0px 39px 0px -24px #e67a73; - background-color:#e4685d; - border-radius:4px; - border:1px solid #ffffff; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:15px; - padding:3px 15px; - text-decoration:none; - text-shadow:0px 1px 0px #b23e35; -} -.bt_zu:hover { - background-color:#eb675e; -} -.bt_zu:active { - position:relative; - top:1px; -} - - - - </style> -<script> -</script> - </head> - <body> - <fieldset> - <legend class="legend1" align="center"> - <b>Statistik / Verwaltung</b> - </legend> - - <p> - {if $verwaltung_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$verwaltung_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td width="200"><b>Anzahl Anmeldungen:</b></td> - <td>{$verwaltung_anzges}</td> - </tr> - <tr> - <td><b>Anzahl Haushalte:</b></td> - <td>{if $verwaltung_lfd_haushalte<$verwaltung_kritischemarke}<font color="green">{else}<font color="red">{/if} {$verwaltung_lfd_haushalte}</font></td> - </tr> - <tr> - <td><b>Anmeldungen sperren:</b></td> - <td> - <form action=?action=sperrung method="POST" name="sperrung"> - {if $verwaltung_sperrung ==0} - <a href="?action=sperrung&aktion=1" class="bt_offen">Gottesdienst sperren</a> - {/if} - {if $verwaltung_sperrung ==1} - <a href="?action=sperrung&aktion=0" class="bt_zu">Gottesdienst öffnen (seit {$verwaltung_sperrdat} gesperrt)</a> - {/if} - </td> - </form> - </tr> - <tr> - <td><b>Standardsitzplätze:</b></td> - <td> - <a href="?action=resetstandard&aktion=1" class="bt_offen">Wiederherstellung</a> - </td> - </tr> - </table> - <br> - <form action=?action=del method="POST" name="del"> - <table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td width="150"><b>Teilnehmer löschen:</b></td> - <td align="center" width="500"> - <select name="del" id="del" onchange=""> - <option>Zu löschende Person wählen</option> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].bid}">{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname}</option> - {/section} - </select> - </td> - <td align="center"><input type="submit" class="button" value="Teilnehmer löschen"></td> - </tr> - </table> - </form> - <br> - <b>Haushalt hinzufügen:</b> - <form action=?action=save method="POST" name="del"> - <table border="0"> - <tr> - <td> - - </td> - <td> - <b>Nachname</b> - </td> - <td> - - </td> - <td> - <b>Vorname (vollständig ausgeschrieben)</b> - </td> - <td width="205"> - - </td> - </tr> - - <tr> - <td align="right"> - 1 - </td> - <td> - <input type="text" name="nachname1" id="nachname1" value="{$verwaltung_value_nachname1}" size="40"> - </td> - <td> - , - </td> - <td> - <input type="text" name="vorname1" id="vorname1" value="{$verwaltung_value_vorname1}" size="40"> - </td> - <td> - - </td> - </tr> - <tr> - <td align="right"> - 2 - </td> - <td> - <input type="text" name="nachname2" id="nachname2" value="{$verwaltung_value_nachname2}" size="40"> - </td> - <td> - , - </td> - <td> - <input type="text" name="vorname2" id="vorname2" value="{$verwaltung_value_vorname2}" size="40"> - </td> - <td> - - </td> - </tr> - <tr> - <td align="right"> - 3 - </td> - <td> - <input type="text" name="nachname3" id="nachname3" value="{$verwaltung_value_nachname3}" size="40"> - </td> - <td> - , - </td> - <td> - <input type="text" name="vorname3" id="vorname3" value="{$verwaltung_value_vorname3}" size="40"> - </td> - <td> - - </td> - </tr> - <tr> - <td align="right"> - 4 - </td> - <td> - <input type="text" name="nachname4" id="nachname4" value="{$verwaltung_value_nachname4}" size="40"> - </td> - <td> - , - </td> - <td> - <input type="text" name="vorname4" id="vorname4" value="{$verwaltung_value_vorname4}" size="40"> - </td> - <td> - - </td> - </tr> - <tr> - <td align="right"> - 5 - </td> - <td> - <input type="text" name="nachname5" id="nachname5" value="{$verwaltung_value_nachname5}" size="40"> - </td> - <td> - , - </td> - <td> - <input type="text" name="vorname5" id="vorname5" value="{$verwaltung_value_vorname5}" size="40"> - </td> - <td> - - </td> - </tr> - <tr> - <td> - - </td> - <td> - - </td> - <td> - - </td> - <td> - - </td> - <td> - - </td> - </tr> - <tr> - <td> - - </td> - <td> - <b>Mailadresse:</b> - - </td> - <td> - - </td> - <td> - <input type="text" name="mail" id="mail" value="{$verwaltung_value_mail}" size="40"> - </td> - <td align="right"><input type="submit" class="button" value="Haushalt hinzufügen"></td> - </tr> - <tr> - - </table> - </form> - </fieldset> -</body> -</html> -{/if} - -{if $action == 'del'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Registrierung und Terminbuchung für Gottesdienste in Weinstadt-Beutelsbach</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <style> - .squarebutton_blue{ - width:100px; - } - </style> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - <style> - .container { - display: flex; - justify-content: center; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - - </style> - </head> - <body> - <table height="100%" width="100%"> - <tr> - <td width="5%"> - - </td> - <td width="90%"> - <div class="Header"> - <div> - {if $abmelde_error == 1} - <div align="center">Fehler bei der Abmeldung</div> - {/if} - {if $abmelde_error == 0} - <div align="center">Abmeldung vom Gottesdienst am {$abmelde_termin} Uhr</div> - {/if} - </div> - </div> - <div class="pat_list_box"> - <p> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <table align="center" border="0" bordercolordark="white" bordercolorlight="" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=terminwahl method="POST" name="persdat"> - {if $abmelde_error == 1} - <tr> - <td width="80%"> - <table width="100%" border=0> - <tr> - <td width="30%"> </td> - <td width="40%"> - Es ist ein Fehler aufgetreten. Die Buchung konnte nicht gelöscht werden oder ist bereits gelöscht.<br> - <br> - Im Zweifel kontaktieren Sie den <a href="mailto:nak-beutelsbach@gmx.de">Administrator</a>. - </td> - <td width="30%"> </td> - </tr> - <tr> - <td width="30%"> </td> - <td width="40%"> </td> - <td width="30%"> </td> - </tr> - <tr> - <td width="30%"> </td> - <td width="40%"> - - </td> - <td width="30%"> </td> - </tr> - </table> - {/if} - {if $abmelde_error == 0} - <tr> - <td width="80%"> - <table width="100%" border=0> - <tr> - <td width="30%"> </td> - <td width="40%"> - <p align="center"> - Sie möchten <b>{$abmelde_vorname} {$abmelde_nachname}</b> vom Gottesdienst am {$abmelde_termin} Uhr abmelden? - <br> - <br> - <br> - Sind Sie sich sicher? - <br> - <br> - <a href="?action=del2&antwort=N"> - <img title = "Nein" border="0" src="../templates/{$global_template}/images/nein.gif"></a> - - <a href="?action=del2&antwort=Y"> - <img title = "Ja" border="0" src="../templates/{$global_template}/images/ja.gif"></a> - - </p> - </td> - <td width="30%"> </td> - </tr> - <tr> - <td width="30%"> </td> - <td width="40%"> </td> - <td width="30%"> </td> - </tr> - <tr> - <td width="30%"> </td> - <td width="40%"> - - </td> - <td width="30%"> </td> - </tr> - </table> - {/if} - </td> - </tr> - </table> - </td> - </tr> - </table> - </div> - </td> - <td width="5%"> - - </td> - </tr> - </table> - </form> - </body> -</html> -{/if} -{if $action == 'del2'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Abmeldung beendet</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <script type="text/javascript"> - function reload_iframe(selectObject) { - var iframe = parent.document.getElementById(selectObject); - iframe.src = iframe.src; - } - </script> - </head> - <body onload="reload_iframe('{$iframe}');"> - <table height="100%" width="100%"> - <tr> - <td width="15%"> - - </td> - <td width="70%"> - <div class="Header"> - <div> - <div align="center">Abmeldung beendet</div> - </div> - </div> - <div class="pat_list_box"> - <p> - {if $save_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$save_error_text} - </td> - </tr> - </table> - <br /> - {else} - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=save method="POST" name="save"> - <tr> - <td width="80%"> - <p align='center'> - {$abmelde_ausgabe} - </p> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - {/if} - </div> - </td> - <td width="15%"> - - </td> - </tr> - </table> - </form> - </body> -</html> -{/if} - -{if $action == 'save'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Registrierung und Terminbuchung für Gottesdienste in Weinstadt-Beutelsbach</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <script type="text/javascript"> - function reload_iframe(selectObject) { - var iframe = parent.document.getElementById(selectObject); - iframe.src = iframe.src; - } - </script> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - </head> - <body onselectstart="return false" ondragstart="return false" oncontextmenu="return false" oncontext="return false"> - <table height="100%" width="100%"> - <tr> - <td width="15%"> - - </td> - <td width="70%"> - <div class="Header"> - <div> - <div align="center">Registrierung und Terminbuchung für Gottesdienste in Weinstadt-Beutelsbach</div> - </div> - </div> - <div class="pat_list_box"> - <p> - {if $save_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$save_error_text} - </td> - </tr> - </table> - <br /> - {else} - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=save method="POST" name="save"> - <tr> - <td width="80%"> - <p align='center'> - <b>Die Anmeldung zum Gottesdienst ist erfolgreich abgeschlossen.</b><br> - <br> - {if $iframe1 != ''}<script>reload_iframe('{$iframe1}');</script>{/if} - {if $iframe2 != ''}<script>reload_iframe('{$iframe2}');</script>{/if} - {if $iframe3 != ''}<script>reload_iframe('{$iframe3}');</script>{/if} - {if $iframe4 != ''}<script>reload_iframe('{$iframe4}');</script>{/if} - {if $iframe5 != ''}<script>reload_iframe('{$iframe5}');</script>{/if} - </p> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - {/if} - </div> - </td> - <td width="15%"> - - </td> - </tr> - </table> - </form> - </body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/hauptframe.html b/templates/modern/admin/hauptframe.html deleted file mode 100644 index 60b4f2b..0000000 --- a/templates/modern/admin/hauptframe.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<head> -<title>BPM Administration</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> -</head> - -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - -<div class="header"> - <div> - <div>Willkommen</div> - </div> -</div> - -<div class="pat_list_box"> - <p> - <table border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="100%" height="90%"> - <tr> - <td align="center"> - <b>Willkommen bei der Administration JU & MI</b> - <br /> - <br /> - <br /> - Wählen Sie oben einen Reiter aus, um den gewünschten Bereich zu administrieren. - </td> - </tr> - </table> -</div> - -</body> -</html> \ No newline at end of file diff --git a/templates/modern/admin/index.html b/templates/modern/admin/index.html deleted file mode 100644 index 74c8177..0000000 --- a/templates/modern/admin/index.html +++ /dev/null @@ -1,132 +0,0 @@ -<!-- index gegen LDAP und DB bei externer Kennung--> -{if $action == ''} - <html> - <head> - <title>Willkommen zur Gottesdienstadministration</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <style> - .squarebutton_blue{ - width:100px; - } - </style> - - <link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - - </head> - <body onload="if(document.login)document.login.user.focus();return false;"> - - <table height="100%" width="100%"> - <tr> - <td width="20%"> - - </td> - <td width="60%"> - <div class="Header"> - <div> - <div align="center">Willkommen zur {$global_titel}</div> - </div> - </div> - <div class="pat_list_box"> - <p> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td width="200px" align="center" valign="middle"> - <img style="margin:10px;padding:10px;"src="../templates/{$global_template}/images/message_login.gif" height="100"> - </td> - <td align="left"> - <table width="100%"> - <form action=?action=anmeld method="POST" name="login"> - <tr> - <td width="40%"> - <strong>Benutzerkennung</strong> - </td> - <td> - <input class="eingabe" type="text" name="user" tabindex="1"></td> - </td> - </tr> - <tr> - <td width="40%"> - <strong>Passwort:</strong> - </td> - <td> - <input class="eingabe" type="password" name="password" tabindex="2"></td> - </td> - </tr> - - <tr> - <td width="100%" colspan="2" align="center"> - - </td> - </tr> - - <tr> - <td width="40%"> - - </td> - <td> - <input type="submit" value="Login"> - </td> - </tr> - </table> - </td> - </tr> - </table> - <p align="center"> - <!-- - <br /> - <br /> - <a class="squarebutton_blue box" href="register.php"><span>Registrierung</span></a> - --> - </p> - <br /> - <br /> - - - </div> - </td> - <td width="20%"> - - </td> - </tr> - </table> - </form> - </body> - </html> -{/if} - -{if $action == 'anmeld'} - {if $index_login == '1'} - <meta http-equiv="refresh" content="0; URL=indexframe.php"> - {/if} -{/if} \ No newline at end of file diff --git a/templates/modern/admin/indexframe.html b/templates/modern/admin/indexframe.html deleted file mode 100644 index 4faa161..0000000 --- a/templates/modern/admin/indexframe.html +++ /dev/null @@ -1,23 +0,0 @@ -<html> -<head> -<title>{$titel_head_umfrage}</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> -</head> - -<style type='text/css'> -</style> - -<frameset rows="103, 79%" cols="1*" border="0"> -<frame name="banner" scrolling="no" marginwidth="10" marginheight="0" namo_target_frame="detail" src="titel.php" noresize> -<frameset rows="1*" cols="100%"> -<frame name="detail" scrolling="yes" marginwidth="0" marginheight="0" src="hauptframe.php"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates/modern/admin/liste_qr_name.html b/templates/modern/admin/liste_qr_name.html deleted file mode 100644 index 86f1371..0000000 --- a/templates/modern/admin/liste_qr_name.html +++ /dev/null @@ -1,178 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - - <body> - - <form action="?action=ausgabe" method='post' name='ausgabe'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>QR-Codes nach Namen</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="name[]" multiple size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].id}">{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type="checkbox" name="mailsend" value="1" id="mailsend"> - <label for="mailsend">Liste als Mail versenden</label> - <br> - <br> - <input type='submit' name='senden' value="Liste drucken / verschicken"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - - -{if $action == 'ausgabe'} -{if $mailwindow == '1'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Registrierung und Terminbuchung f�r Gottesdienste in Weinstadt-Beutelsbach</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <script type="text/javascript"> - function reload_iframe(selectObject) { - var iframe = parent.document.getElementById(selectObject); - iframe.src = iframe.src; - } - </script> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - </head> - <body onselectstart="return false" ondragstart="return false" oncontextmenu="return false" oncontext="return false"> - <table height="100%" width="100%"> - <tr> - <td width="15%"> - - </td> - <td width="70%"> - <div class="Header"> - <div> - <div align="center">Teilnehmerlistenversand</div> - </div> - </div> - <div class="pat_list_box"> - <p> - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=save method="POST" name="save"> - <tr> - <td width="80%"> - <p align='center'> - {$message} - - {if $kein_mailversand != ''} - <br> - <br> - <b>Folgende Personen wurden nicht angeschrieben, die Mailadresse fehlerhaft ist:</b><br> - {$kein_mailversand} - {/if} - - {if $keine_Mailadresse != ''} - <br> - <br> - <b>Folgende Personen wurden nicht angeschrieben, da keine Mailadresse hinterlegt ist:</b><br> - {$keine_Mailadresse} - {/if} - </p> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - </div> - </td> - <td width="15%"> - - </td> - </tr> - </table> - </form> - </body> -</html>{/if} -{/if} diff --git a/templates/modern/admin/liste_tn.html b/templates/modern/admin/liste_tn.html deleted file mode 100644 index bad27d4..0000000 --- a/templates/modern/admin/liste_tn.html +++ /dev/null @@ -1,164 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - - <body> - - <form action="?action=ausgabe" method='post' name='ausgabe'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Teilnehmerliste</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="termin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tid}">{$table_data1[table_data1].datum_form} ({$table_data1[table_data1].anz_ges} Anm / {$table_data1[table_data1].anz_fam} Haush.)</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type="checkbox" name="mailsend" value="1" id="mailsend"> - <label for="mailsend">Liste als Mail versenden</label> - <br> - <br> - <input type='submit' name='senden' value="Liste drucken / verschicken"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - - -{if $action == 'ausgabe'} -{if $mailwindow == '1'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Registrierung und Terminbuchung f�r Gottesdienste in Weinstadt-Beutelsbach</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <script type="text/javascript"> - function reload_iframe(selectObject) { - var iframe = parent.document.getElementById(selectObject); - iframe.src = iframe.src; - } - </script> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - </head> - <body onselectstart="return false" ondragstart="return false" oncontextmenu="return false" oncontext="return false"> - <table height="100%" width="100%"> - <tr> - <td width="15%"> - - </td> - <td width="70%"> - <div class="Header"> - <div> - <div align="center">Teilnehmerlistenversand</div> - </div> - </div> - <div class="pat_list_box"> - <p> - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=save method="POST" name="save"> - <tr> - <td width="80%"> - <p align='center'> - {$message} - </p> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - </div> - </td> - <td width="15%"> - - </td> - </tr> - </table> - </form> - </body> -</html>{/if} -{/if} \ No newline at end of file diff --git a/templates/modern/admin/logout.html b/templates/modern/admin/logout.html deleted file mode 100644 index 82aa2d1..0000000 --- a/templates/modern/admin/logout.html +++ /dev/null @@ -1,74 +0,0 @@ -{if $action == ''} - <html> - <head> - <title>{$logout_titel}</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" type="text/css"> - <style> - .squarebutton_blue{ - width:100px; - } - </style> - </head> - <body onload="if(document.login)document.login.user.focus();return false;"> - - <table height="100%" width="100%"> - <tr> - <td width="20%"> - - </td> - <td width="60%"> - <div class="Header"> - <div> - <div align="center">{$logout_titel}</div> - </div> - </div> - <div class="pat_list_box"> - <p> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td width="200px" align="center" valign="middle"> - <img style="margin:10px;padding:10px;"src="../templates/{$global_template}/images/deputat_icon.svg" height="100"> - </td> - <td align="left"> - <table width="100%"> - <form action=?action=anmeld method="POST" name="login"> - <tr> - <td width="100%" align="center"> - <strong>{$logout_text}</strong> - </td> - </tr> - <tr> - <td width="100%" align="center"> - - </td> - </tr> - - <tr> - <td align="center"> - <a class="squarebutton_blue" href="index.php" target="_self"><span>Login</span></a> - </td> - </tr> - - </table> - - </td> - </tr> - </table> - - <br /> - <br /> - </div> - </td> - <td width="20%"> - - - </td> - </tr> - </table> - - </form> - - </body> - </html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/menu_administration.html b/templates/modern/admin/menu_administration.html deleted file mode 100644 index 5114acb..0000000 --- a/templates/modern/admin/menu_administration.html +++ /dev/null @@ -1,47 +0,0 @@ -{if $action == ''} -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<title>Menu</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" /> -<script type="text/javascript" src="../templates/{$global_template}/js/jquery.js"></script> -<script type="text/javascript" src="../templates/{$global_template}/js/accordion.js"></script> - -</head> -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - - -<form action="?action=suche" method='post' name='searchform'> -<div class="accordion2"> - <h3><span>Voreinstellungen</span></h3> - <ul> - <li class="abstand"><a href="parameter.php" target="eingabe_haupt"><span>Systemparameter</span></a></li> - </ul> - - <h3><span>System</span></h3> - <ul> - <li class="abstand"><a href="tanimport.php" target="eingabe_haupt"><span>Benutzer anlegen</span></a></li> - <li class="abstand"><a href="praxisstellen_edit.php" target="eingabe_haupt"><span>Ausbildungsstellen bearbeiten</span></a></li> - <li class="abstand"><a href="praxisstellen_news.php" target="eingabe_haupt"><span>Ausbildungsstellen News</span></a></li> - <li class="abstand"><a href="dokverw.php" target="eingabe_haupt"><span>Dokumentenverwaltung</span></a></li> - </ul> ---> -<!-- - <h3><span onmousemove="if(document.searchform)document.searchform.patrone.focus();return false;">Suche nach ID</span></h3> - - <ul> - <li class="abstand"> <input class="eingabe_search" type="text" id="suchid" name="suchid" onkeyup="ajax_showOptions(this,'getWord',event)"></li> - <p align="right"><input type="submit" value="suche" name="b1" /></p> <!-- Auf Button kann verzichtet werden - </ul> ---> - - - -</div> - -</form> -</body> - -</html> -{/if} diff --git a/templates/modern/admin/menu_qr.html b/templates/modern/admin/menu_qr.html deleted file mode 100644 index b6d0da4..0000000 --- a/templates/modern/admin/menu_qr.html +++ /dev/null @@ -1,48 +0,0 @@ -{if $action == ''} -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<title>Menu</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" /> -<script type="text/javascript" src="../templates/{$global_template}/js/jquery.js"></script> -<script type="text/javascript" src="../templates/{$global_template}/js/accordion.js"></script> -</head> -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - - -<form action="?action=suche" method='post' name='searchform'> -<div class="accordion2"> - <h3><span>QR Verwaltung</span></h3> - <ul> - <li class="abstand"><a href="qr_code.php" target="eingabe_haupt"><span>QR Code erfassen</span></a></li> - <li class="abstand"><a href="liste_qr_name.php" target="eingabe_haupt"><span>QR Code Liste nach Name</span></a></li> - </ul> - - -<!-- - <h3><span>Bewerber</span></h3> - <ul> - <li class="abstand"><a href="bewerber_daten.php" target="eingabe_haupt"><span>Bewerberdaten</span></a></li> - <li class="abstand"><a href="datencheck.php" target="eingabe_haupt"><span>Datencheck</span></a></li> - </ul> ---> -<!-- - <h3><span onmousemove="if(document.searchform)document.searchform.patrone.focus();return false;">Suche nach ID</span></h3> - - <ul> - <li class="abstand"> <input class="eingabe_search" type="text" id="suchid" name="suchid" onkeyup="ajax_showOptions(this,'getWord',event)"></li> - <p align="right"><input type="submit" value="suche" name="b1" /></p> <!-- Auf Button kann verzichtet werden - </ul> ---> - - - -</div> - -</form> -</body> - -</html> -{/if} - diff --git a/templates/modern/admin/menu_survey.html b/templates/modern/admin/menu_survey.html deleted file mode 100644 index ad81c1e..0000000 --- a/templates/modern/admin/menu_survey.html +++ /dev/null @@ -1,48 +0,0 @@ -{if $action == ''} -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<title>Menu</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" /> -<script type="text/javascript" src="../templates/{$global_template}/js/jquery.js"></script> -<script type="text/javascript" src="../templates/{$global_template}/js/accordion.js"></script> -</head> -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - - -<form action="?action=suche" method='post' name='searchform'> -<div class="accordion2"> - <h3><span>{$menu_survey_head1}</span></h3> - <ul> - <li class="abstand"><a href="survey_erfassen.php?new=1" target="eingabe_haupt"><span>{$menu_survey_head1_sub1}</span></a></li> - </ul> - - -<!-- - <h3><span>Bewerber</span></h3> - <ul> - <li class="abstand"><a href="bewerber_daten.php" target="eingabe_haupt"><span>Bewerberdaten</span></a></li> - <li class="abstand"><a href="datencheck.php" target="eingabe_haupt"><span>Datencheck</span></a></li> - </ul> ---> -<!-- - <h3><span onmousemove="if(document.searchform)document.searchform.patrone.focus();return false;">Suche nach ID</span></h3> - - <ul> - <li class="abstand"> <input class="eingabe_search" type="text" id="suchid" name="suchid" onkeyup="ajax_showOptions(this,'getWord',event)"></li> - <p align="right"><input type="submit" value="suche" name="b1" /></p> <!-- Auf Button kann verzichtet werden - </ul> ---> - - - -</div> - -</form> -</body> - -</html> -{/if} - - diff --git a/templates/modern/admin/menu_verwaltung.html b/templates/modern/admin/menu_verwaltung.html deleted file mode 100644 index 040085f..0000000 --- a/templates/modern/admin/menu_verwaltung.html +++ /dev/null @@ -1,50 +0,0 @@ -{if $action == ''} -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<title>Menu</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" /> -<script type="text/javascript" src="../templates/{$global_template}/js/jquery.js"></script> -<script type="text/javascript" src="../templates/{$global_template}/js/accordion.js"></script> -</head> -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - - -<form action="?action=suche" method='post' name='searchform'> -<div class="accordion2"> - <h3><span>Termine</span></h3> - <ul> - <li class="abstand"><a href="termine.php" target="eingabe_haupt"><span>Gottesdiensttermine</span></a></li> - </ul> - - <h3><span>Gottesdienst</span></h3> - <ul> - <li class="abstand"><a href="sitzplatz.php" target="eingabe_haupt"><span>Sitzplätze / Verwaltung</span></a></li> - <li class="abstand"><a href="liste_tn.php" target="eingabe_haupt"><span>Teilnehmerliste</span></a></li> - </ul> -<!-- - <h3><span>Bewerber</span></h3> - <ul> - <li class="abstand"><a href="bewerber_daten.php" target="eingabe_haupt"><span>Bewerberdaten</span></a></li> - <li class="abstand"><a href="datencheck.php" target="eingabe_haupt"><span>Datencheck</span></a></li> - </ul> ---> -<!-- - <h3><span onmousemove="if(document.searchform)document.searchform.patrone.focus();return false;">Suche nach ID</span></h3> - - <ul> - <li class="abstand"> <input class="eingabe_search" type="text" id="suchid" name="suchid" onkeyup="ajax_showOptions(this,'getWord',event)"></li> - <p align="right"><input type="submit" value="suche" name="b1" /></p> <!-- Auf Button kann verzichtet werden - </ul> ---> - - - -</div> - -</form> -</body> - -</html> -{/if} diff --git a/templates/modern/admin/menu_youtube.html b/templates/modern/admin/menu_youtube.html deleted file mode 100644 index 2d46558..0000000 --- a/templates/modern/admin/menu_youtube.html +++ /dev/null @@ -1,47 +0,0 @@ -{if $action == ''} -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="content-type" content="text/html; charset=utf-8" /> -<title>Menu</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" /> -<script type="text/javascript" src="../templates/{$global_template}/js/jquery.js"></script> -<script type="text/javascript" src="../templates/{$global_template}/js/accordion.js"></script> -</head> -<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> - - -<form action="?action=suche" method='post' name='searchform'> -<div class="accordion2"> - <h3><span>Termine</span></h3> - <ul> - <li class="abstand"><a href="yt_termine.php" target="eingabe_haupt"><span>Streamingtermine</span></a></li> - </ul> - - -<!-- - <h3><span>Bewerber</span></h3> - <ul> - <li class="abstand"><a href="bewerber_daten.php" target="eingabe_haupt"><span>Bewerberdaten</span></a></li> - <li class="abstand"><a href="datencheck.php" target="eingabe_haupt"><span>Datencheck</span></a></li> - </ul> ---> -<!-- - <h3><span onmousemove="if(document.searchform)document.searchform.patrone.focus();return false;">Suche nach ID</span></h3> - - <ul> - <li class="abstand"> <input class="eingabe_search" type="text" id="suchid" name="suchid" onkeyup="ajax_showOptions(this,'getWord',event)"></li> - <p align="right"><input type="submit" value="suche" name="b1" /></p> <!-- Auf Button kann verzichtet werden - </ul> ---> - - - -</div> - -</form> -</body> - -</html> -{/if} - diff --git a/templates/modern/admin/old/bewerber_daten.html b/templates/modern/admin/old/bewerber_daten.html deleted file mode 100644 index 3e20c37..0000000 --- a/templates/modern/admin/old/bewerber_daten.html +++ /dev/null @@ -1,1705 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/bootstrap.min.js"></script> - <link href="../jquery/bootstrap.min.css" rel="stylesheet" /> - <style> - select{ - width:330px; - } -#inner { - display: table; - margin: 0 auto; - width:330px; -} - -#outer { - width:100% -} - </style> - - {literal} - <script> - $(document).ready(function(){ - load_data(); - function load_data(query) - { - $.ajax({ - url:"fetch.php", - method:"post", - data:{query:query, - script:"bewerber_daten"}, - success:function(data) - { - /* $('#result').html(data);*/ - $("#user").empty().append(data); - } - }); - } - - $('#search_text').keyup(function(){ - var search = $(this).val(); - if(search != '') - { - load_data(search); - } - else - { - load_data(); - } - }); - }); - </script> - {/literal} - </head> - <body onload="if(document.ausgabe)document.ausgabe.search_text.focus();return false;"> - <form action="?action=ausgabe" method='post' name='ausgabe'> - {if $bewerber_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$bewerber_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Bewerberdaten</b> - </legend> - <br /> - <br /> - <div id="outer"> - <div id="inner"> - <div class="form-group"> - <div class="input-group"> - <span class="input-group-addon">Suche</span> - <input type="text" name="search_text" id="search_text" placeholder="Kandidaten suchen" class="form-control" /> - </div> - </div> - </div> - </div> - <br> - <p align="center"> - <select id="user" name="user" size=15> - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Bewerber wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'ausgabe'} -<html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - }, - beforeClose: function () { - location.href = "?action=ausgabe"; - } - }); - }); - </script> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <!-- Entfernt, da die Fancybox nicht mehr ging - <script src="../jquery/jquery-1.12.4.js"></script> - --> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .desc{ - width:400px; - } - th{ - background: lightgray; - border: 1px solid #656565; - font-size:11px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .spinner { - width: 80px; - height: 15px; - font-size: 12px !important; - } - .center-div - { - margin: 0 auto; - width: 100px; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - save_note(); - }, - spin: function (event, ui) { - save_note(); - }, - start: function (event, ui) { - save_note(); - }, - stop: function (event, ui) { - save_note(); - }, - numberFormat: "i", - min:1, - {if $skala_value == "Punkte"} - step: 1, - max:15, - decimals:0 - {/if} - {if $skala_value == "Noten"} - step: 0.1, - max: 6, - decimals:1 - {/if} - - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - - <script type="text/javascript"> - function save_note() { - var notenart = document.getElementById('notenart').value - var note = document.getElementById('note').value; - var notenskala = document.getElementById('notenskala').value - - if(notenart == "Durchschnitt" && notenskala=="Punkte"){ - document.getElementById("divnotenwert").style.visibility='visible' ; - }else{ - document.getElementById("divnotenwert").style.visibility='hidden' ; - } - if(notenart == "Keine"){ - var bestaetigung = window.confirm('Wollen Sie die Note wirklich löschen?'); - //Nach Betätigung des Buttons - if(bestaetigung) { - //OK wurde gedrückt - } - else { - // Abbrechen wurde gedrückt - // Seite laden, sonst ist das Auswahlfeld trotzdem auf "Auswahl" - window.location = "?action=ausgabe"; - } - } - - - $.ajax({ - type: 'POST', - url: 'save_note.php', - data: { - get_notenart: notenart, - get_note: note, - get_notenskala: notenskala - }, - success: function (response) { - /* console.log(response); */ - if(jQuery.trim(response) == "reload") - { - window.location = "?action=ausgabe"; - } - - var str1 = response.split("||"); - if(jQuery.trim(str1[0]) == "notenwert1") - { - document.getElementById("divnotenwert").innerHTML = str1[1] ; - } - - } - }); - - } - </script> - - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - - </script> - - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - <script language='JavaScript' type='text/javascript'> - <!-- - function start() { - {section name=table_data1 loop=$table_data1} - setBgColor(document.getElementById('dokumentenart_{$table_data1[table_data1].up_id}')) - {/section} - {if $notenart=="Durchschnitt" AND $skala_value=="Punkte"} - /* Damit die Note beim Seitenladen angezeigt wird */ - save_note(); - {else} - document.getElementById("divnotenwert").style.visibility='hidden' ; - {/if} - } - //--> - </script> - </head> - <body onload="start();"> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset class="fieldset1"> - <legend> - <b>Persönliche Angaben</b> - </legend> - <table> - <tr> - <td style="padding-right:5px;"> - {$status_anrede}<br> - {$status_vorname} {$status_nachname}<br> - {$status_str}<br> - {$status_plz} {$status_ort}<br> - <a href="mailto:{$status_mail}">{$status_mail}</a><br> - <br> - <table> - <tr> - <td style="padding-right:5px;" width="200"><b>Geburtstag:</b></td> - <td style="padding-right:5px;">{$status_gebdat}</td> - </tr> - {if $status_tel != ''} - <tr> - <td style="padding-right:5px;"><b>Tel:</b></td> - <td style="padding-right:5px;">{$status_tel}</td> - </tr> - {/if} - </table> - </td> - <td> - <a class="aformlink box" title="Stammdaten bearbeiten" href="?action=stammdaten_edit"><img border="0" height=10 src="../templates/{$global_template}/images/edit.png"></a> - </td> - </tr> - </table> - <br> - <form action="?action=chhs" method='post' name='chhs'> - <table> - <tr> - <td style="padding-right:5px;" width="200"> - <b>Testdatum:</b> - </td> - <td style="padding-left:5px;"> - {$status_tm_datum_form} - </td> - <td style="padding-left:5px;"> - - </td> - </tr> - <tr> - <td style="padding-right:5px;" width="200"> - <b>Testlogin:</b> - </td> - <td style="padding-left:5px;"> - {$status_login_dat_form} - </td> - <td style="padding-left:5px;"> - {if $status_login_dat_form != '-'} - <a href="?action=testback" class="button">Testdatum zurücksetzen</a> Ermöglicht einen weiteren Testlogin im Hochschulsystem (nicht im Hogrefeportal) - {/if} - </td> - </tr> - <tr> - <td style="padding-right:5px;"> - <b>ID:</b> - </td> - <td style="padding-left:5px;"> - {$status_login_id} - </td> - <td style="padding-left:5px;"> - - </td> - </tr> - <tr> - <td style="padding-right:5px;"> - <b>TAN:</b> - </td> - <td style="padding-left:5px;"> - {$status_login_tan} - </td> - <td style="padding-left:5px;"> - - </td> - </tr> - <tr> - <td style="padding-right:5px;"> - <b>zugeordnete Hochschule:</b> - </td> - <td style="padding-left:5px;"> - <select name="hs" onchange="this.form.submit()"> - <option value="" {if $status_hochschule == ''} selected {/if}>Auswahl</option> - <option value="Kehl" {if $status_hochschule == 'Kehl'} selected {/if}>Kehl</option> - <option value="Ludwigsburg" {if $status_hochschule == 'Ludwigsburg'} selected {/if}>Ludwigsburg</option> - </select> - </td> - </tr> - </table> - </form> - </fieldset> - <br> - <br> - <fieldset> - <legend> - <b>Testergebnis im Detail</b> - </legend> - {if $status_erg_vorhanden == 0} - <div> - Es sind keine aktuellen Testergebnisse verfügbar! - </div> - {/if} - {if $status_erg_vorhanden == 1} - <table border="1" cellspacing="0" cellpadding="0" rules="all" margins="2"> - <tr> - <th align="left" width="300" style="padding-left:5px"> - <b>Testmodul</b> - </th> - <th align="right" width="300" style="padding-right:5px"> - <b>Erreichte Punkte</b> - </th> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Satzergänzung: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_satzerg} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Gemeinsamkeiten: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_gemeinsamkeiten} / 20 - </td> - </tr> - <!-- - <tr> - <td align="left" style="padding-left:5px"> - Gemeinsamkeiten: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_gemeinsamkeiten} / 20 - </td> - </tr> - --> - <tr> - <td align="left" style="padding-left:5px"> - Rechenaufgaben: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_rechenaufgaben} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Zahlenreihen: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_zahlenreihen} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Rechenzeichen: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_rechenzeichen} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Matrizen: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_matrizen} / 20 - </td> - </tr> - <tr> - <td align="left" style="border-bottom-style: solid; border-bottom-width: 2px; padding-left:5px"> - Merkfähigkeit verbal: - </td> - <td align="right" style="border-bottom-style: solid; border-bottom-width: 2px; padding-right:5px"> - {$status_erg_merkf} / 10 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Erreichte Punktzahl: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_summe} / 130 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Ergebnis: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_bestanden_text} - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Einsicht in das Ergebnis Kandidat: - </td> - <td align="right" style="padding-right:5px"> - {$status_erg_einsicht_dat} - </td> - </tr> - </table> - {/if} - <br> - - {section name=table_data4 loop=$table_data4} - <br> - <details ><summary><strong>Älteres Testergebnis vom {$table_data4[table_data4].status_erg_testdat} Uhr in {$table_data4[table_data4].status_erg_standort}</strong></summary> - <table border="1" cellspacing="0" cellpadding="0" rules="all" margins="2"> - <tr> - <th align="left" width="300" style="padding-left:5px"> - <b>Testmodul</b> - </th> - <th align="right" width="300" style="padding-right:5px"> - <b>Erreichte Punkte</b> - </th> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Satzergänzung: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_satzerg} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Gemeinsamkeiten: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_gemeinsamkeiten} / 20 - </td> - </tr> - <!-- - <tr> - <td align="left" style="padding-left:5px"> - Gemeinsamkeiten: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_gemeinsamkeiten} / 20 - </td> - </tr> - --> - <tr> - <td align="left" style="padding-left:5px"> - Rechenaufgaben: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_rechenaufgaben} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Zahlenreihen: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_zahlenreihen} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Rechenzeichen: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_rechenzeichen} / 20 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Matrizen: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_matrizen} / 20 - </td> - </tr> - <tr> - <td align="left" style="border-bottom-style: solid; border-bottom-width: 2px; padding-left:5px"> - Merkfähigkeit verbal: - </td> - <td align="right" style="border-bottom-style: solid; border-bottom-width: 2px; padding-right:5px"> - {$table_data4[table_data4].status_erg_merkf} / 10 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Erreichte Punktzahl: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_summe} / 130 - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Ergebnis: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_bestanden_text} - </td> - </tr> - <tr> - <td align="left" style="padding-left:5px"> - Einsicht in das Ergebnis Kandidat: - </td> - <td align="right" style="padding-right:5px"> - {$table_data4[table_data4].status_erg_einsicht_dat} - </td> - </tr> - </table> - </details> - {/section} - - - - - - - - - - - - </fieldset> - <br /> - <br /> - <fieldset> - <legend> - <b>Hochgeladene Dokumente</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td width="10%"> - <b>Dok. Nr.</b> - </td> - <td width="50%"> - <b>Datei</b> - </td> - <td width="20%"> - <b>Dokumentenbeschreibung</b> - </td> - <td width="16%"> - <b>Hochladedatum</b> - </td> - <td width="4%" align="center"> - <b>Löschen</b> - </td> - <tr> - <form action="?action=descr" method="POST" name="descr"> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - <tr> - <td> - {$table_data1[table_data1].up_id} - </td> - <td> - {if $table_data1[table_data1].exists == 1} - <a href='downpdf.php?file={$table_data1[table_data1].basename_link}'>{$table_data1[table_data1].basename}</a> - {else} - {$table_data1[table_data1].basename} - {/if} - </td> - <td> - <!--<input type="text" name="{$table_data1[table_data1].up_id}" value="{$table_data1[table_data1].beschreibung}" onblur="document.descr.submit();">--> - <select name="desc_{$table_data1[table_data1].up_id}" id="dokumentenart_{$table_data1[table_data1].up_id}"> - <option style="background-color:#FFFFFF;" value="Motivationsschreiben" {if $table_data1[table_data1].beschreibung == 'Motivationsschreiben'} selected {/if}>Motivationsschreiben</option> - <option style="background-color:#FFFFFF;" value="HZB" {if $table_data1[table_data1].beschreibung == 'HZB'} selected {/if}>HZB</option> - <option style="background-color:#FFFFFF;" value="Zeugnis 1" {if $table_data1[table_data1].beschreibung == 'Zeugnis 1'} selected {/if}>Zeugnis 1</option> - <option style="background-color:#FFFFFF;" value="Zeugnis 2" {if $table_data1[table_data1].beschreibung == 'Zeugnis 2'} selected {/if}>Zeugnis 2</option> - <option style="background-color:#FFFFFF;" value="Lebenslauf" {if $table_data1[table_data1].beschreibung == 'Lebenslauf'} selected {/if}>Lebenslauf</option> - <option style="background-color:#FFFFFF;" value="abgeschlossenes Studium" {if $table_data1[table_data1].beschreibung == 'abgeschlossenes Studium'} selected {/if}>abgeschlossenes Studium (Abschlusszeugnis)</option> - <option style="background-color:#FFFFFF;" value="sonstige Qualifikation" {if $table_data1[table_data1].beschreibung == 'sonstige Qualifikation'} selected {/if}>sonstige Qualifikation</option> - <option style="background-color:#FFFFFF;" value="Nachweis Schwerbehinderung" {if $table_data1[table_data1].beschreibung == 'Nachweis Schwerbehinderung'} selected {/if}>Nachweis Schwerbehinderung</option> - <option style="background-color:#FFFFFF;" value="Nachweis Verkürzung" {if $table_data1[table_data1].beschreibung == 'Nachweis Verkürzung'} selected {/if}>Nachweis Verkürzung</option> - <option style="background-color:#FFFFFF;" value="sonstiges Dokument" {if $table_data1[table_data1].beschreibung == 'sonstiges Dokument'} selected {/if}>sonstiges Dokument</option> - </select> - </td> - <td> - {$table_data1[table_data1].upload_dat} - </td> - <td align="center"> - <a href="?action=deldok&up_id={$table_data1[table_data1].up_id}"><img title = 'Datei löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> - </td> - </tr> - {/if} - {/section} - <!-- Damit der ausgew�hlte Dropdownbutton in der richtigen Hintergrundsfarbe erscheint --> - <script> - try { - var setBgColor = function (select) { - {section name=table_data1 loop=$table_data1} - select.style.backgroundColor = document.getElementById('dokumentenart_{$table_data1[table_data1].up_id}').options[select.selectedIndex].style.backgroundColor; - {/section} - - }; - {section name=table_data1 loop=$table_data1} - document.getElementById('dokumentenart_{$table_data1[table_data1].up_id}').onchange = function () { setBgColor(this); document.descr.submit(); }; - {/section} - } catch (error) { throw error; } - </script> - </form> - <tr> - <td colspan=5 align="center"> - <form action=?action=upload method="POST" enctype="multipart/form-data" name="upload"> - <div> - <input type="file" name="file" id="file-5" class="inputfile inputfile-5" /> - <label for="file-5"> - <figure class="inputfile_small"> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"> - <path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/> - </svg> - </figure> - <span style='float:center;' class="inputfile_small">PDF-Datei auswählen…<br>(hier klicken)</span> - </label> - </div> - <script src="../templates/{$global_template}/js/custom-file-input.js"></script> - <input type="submit" class="button" value="PDF-Hochladen…" name="B1" size="20"> - </form> - </td> - </tr> - </table> - </fieldset> - <br /> - <br /> - - - - </fieldset> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Note</b> - </legend> - <form action=?action=skala method="POST" name="skala"> - <br> - <p align="center"> - - <table> - <tr> - <td valign="center"> - <select name="notenart" id="notenart" class="select2" onchange="save_note();"> - <option {if $notenart == "Keine"} selected {/if} value="Keine">Auswahl (löscht gespeicherte Note)</option> - <option {if $notenart == "HZB"} selected {/if} value="HZB">HZB Note</option> - <option {if $notenart == "Durchschnitt"} selected {/if} value="Durchschnitt">Durchschnittsnote</option> - </select> - </td> - <td valign="center"> - <input type="text" class="spinner" name="note" id="note" size="101" value="{$note}" onKeypress="return trackKeys(event,/[0-9,]/);"> - </td> - <td valign="center"> - <select name="notenskala" id="notenskala" class="select2" onchange="save_note(); setTimeout(function(){ document.skala.submit(); }, 100);"> - <option value="Noten" {if $skala_value == "Noten"} selected {/if}>Notensystem (1-6)</option> - <option value="Punkte" {if $skala_value == "Punkte"} selected {/if}>Punktesystem (1-15)</option> - </select> - </td> - </tr> - </table> - <div class="center-div" id="divnotenwert"</div> - </p> - </form> - - - </fieldset> - <br /> - <br /> - - - - <fieldset> - <legend> - <b>Ausgewählte Ausbildungsstellen</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td width="10%"> - <b>lfd.Nr.</b> - </td> - <td width="25%"> - <b>Ausbildungsstelle</b> - </td> - <td width="25%"> - <b>Adresse</b> - </td> - <td width="20%"> - <b>Mailadresse</b> - </td> - <td width="10%"> - <b>Mail an Ausbildungsstelle anzeigen</b> - </td> - <td width="10%"> - <b>Status Mail<br>Nachsendemöglichkeit</b> - </td> - - <tr> - {section name=table_data2 loop=$table_data2} - {if $smarty.section.table_data2.rownum != ''} - <tr> - <td> - {$smarty.section.table_data2.rownum} - </td> - <td> - <a href="praxisstellen_edit.php?edit={$table_data2[table_data2].dst_id}&ka_id={$table_data2[table_data2].ka_id}">{$table_data2[table_data2].bez}</a> - </td> - <td width="450"> - {$table_data2[table_data2].str}, {$table_data2[table_data2].plz} {$table_data2[table_data2].ort} - </td> - <td> - {$table_data2[table_data2].mail} - </td> - <td> - <a class="aformlink box" title="Mail an Ausbildungsstelle" href="?action=mail&wu_id={$table_data2[table_data2].wu_id}">Mail</a> - </td> - <td width="200"> - {$table_data2[table_data2].status} - </td> - </tr> - {/if} - {/section} - <tr> - <td colspan="6" align="center"> - <br> - <a href="?action=stelle" class="box button">Ausbildungsstelle hinzufügen</a> - <br> - <br> - </td> - </tr> - </table> - </fieldset> - - - - <br /> - <br /> - <fieldset> - <legend> - <b>Sonstige Mail an Kandidat</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td width="10%"> - <b>lfd.Nr.</b> - </td> - <td width="25%"> - <b>Absender</b> - </td> - <td width="25%"> - <b>Datum</b> - </td> - <td width="20%"> - <b>Betreff</b> - </td> - <td width="10%"> - <b>Mail anzeigen</b> - </td> - <td width="10%"> - <b>Status Mail<br>Nachsendemöglichkeit</b> - </td> - - <tr> - {section name=table_data3 loop=$table_data3} - {if $smarty.section.table_data3.rownum != ''} - <tr> - <td> - {$smarty.section.table_data3.rownum} - </td> - <td> - {$table_data3[table_data3].sender}</a> - </td> - <td width="450"> - {$table_data3[table_data3].sendedat_form} - </td> - <td> - {$table_data3[table_data3].mail_betreff} - </td> - <td> - <a class="aformlink box" title="Mail an Kandidat" href="?action=mail_sonst&sm_id={$table_data3[table_data3].sm_id}">Mail</a> - </td> - <td width="200"> - {$table_data3[table_data3].status} - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - - - <br /> - <br /> - </body> - </html> - {/if} - {if $action == 'mail'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Mailtext</b> - </legend> - <br /> - <br /> - <p align="left"> - {$mail_text} - </p> - <br /> - <br /> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'mail_sonst'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Mailtext</b> - </legend> - <p align="left"> - <b><u>Betreff:</u></b> {$mail_betreff} - </p> - <br> - <p align="left"> - <b><u>Mailbody:</u></b><br> - {$mail_text} - </p> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - - {if $action == 'mailsenden'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>E-Mail bearbeiten</b> - </legend> - <br /> - <br /> - <form action="?action=mailsenden2" method='post' name='mailsenden2'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Ausbildungsstelle: - </td> - <td style="padding-left:5px"> - {$mail_bez} - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailadresse: - </td> - <td style="padding-left:5px"> - {$mail_mail} - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="{$mail_betreff}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - <textarea id='text' name='text'>{$mail_text}</textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - <input type="hidden" name="wuid" id="wuid" size="101" value="{$mail_wuid}"> - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail erneut senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'mailsenden_sonst'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>E-Mail bearbeiten</b> - </legend> - <br /> - <br /> - <form action="?action=mailsenden2_sonst" method='post' name='mailsenden2_sonst'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - {$mail_sender} - {$mail_sendermail} - <input type="hidden" name="mail_sender" id="mail_sender" size="101" value="{$mail_sender}"> - <input type="hidden" name="mail_sendermail" id="mail_sendermail" size="101" value="{$mail_sendermail}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailadresse: - </td> - <td style="padding-left:5px"> - <input type="text" id="mail_mail" name="mail_mail" value="{$mail_mail}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="{$mail_betreff}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - - <textarea id='text' name='text'>{$mail_text}</textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - <input type="hidden" name="smid" id="smid" size="101" value="{$mail_smid}"> - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail erneut senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'mailsenden2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - Sie können das Fenster nun schließen. - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'mailsenden2_sonst'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - Sie können das Fenster nun schließen. - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'deldok'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Löschbestätigung</b> - </legend> - <br /> - <br /> - <p align="center"> - Möchten sie die Datei <b>{$deldok_dokument}</b> wirklich löschen?<br><br> - <a href="?action=ausgabe"> - <img title = "Nein" border="0" src="../templates/{$global_template}/images/nein.gif"></a> - - <a href="?action=deldok2&up_id={$deldok_up_id}"> - <img title = "Dokument löschen"border="0" src="../templates/{$global_template}/images/ja.gif"></a> - - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} -{if $action == 'stelle'} -<html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset class="fieldset1"> - <legend> - <b>Hinweise</b> - </legend> - <ul> - <!--<li>Bitte nennen hier bis zu {$index_stelle_anz} Ausbildungsstellen.</li>--> - <li>Nicht alle der hier aufgeführten Behörden bieten auch Ausbildungsstellen für diesen Studiengang an. </li> - <li>Die gewählten Ausbildungsstellen erhalten automatisch eine Bewerbung übermittelt.</li> - <li>Der Bewerber erhält gegebenenfalls von den ausgewählten Behörden eine Einladung zur Vorstellung.</li> - </ul> - </fieldset> - <br> - <br> - <fieldset> - <legend> - <b>Schritt 1: Ausbildungsstellenwahl</b> - </legend> - <table border="0" width="100%"> - <tr> - <td width="30%" valign="top"> - <ol> - <li>Die erste Stelle im Dropdownfeld markieren.</li> - <li>Danach "Markierte Stelle auswählen..." klicken,<br>so dass die Stelle unter Schritt 2 angezeigt wird</li> - <li>Ggf. die Schritte solange wiederholen. Maximal vier Stellen sind möglich.</li> - </ol> - </td> - </td> - <td width="40%"> - <form action=?action=save_praxis method="POST" enctype="multipart/form-data" name="save_praxis"> - <table border="0" cellpadding="0" cellspacing="0" width="100%" > - <tr> - <td width="100%"align="center" > - <div> - <select name="stelle" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].dst_id}">{$table_data1[table_data1].bez} - ({$table_data1[table_data1].plz} {$table_data1[table_data1].ort})</option> - {/section} - </select> - <br> - <br> - </div> - </td> - </tr> - <tr> - <td width="100%" align="center" colspan="2"> - <input type="submit" class="button" value="Markierte Stelle auswählen…" name="B1" size="20"> - </td> - </tr> - </table> - </form> - </td> - <td width="30%"> - - </td> - </tr> - </table> - </fieldset> - </form> - <br /> - <br /> - <fieldset> - <legend> - <b>Schritt 2: Ausgewählte Ausbildungsstellen</b> - </legend> - - <form action=?action=stellesave method="POST" name="hswahl"> - <form action=?action=overview method="POST" name="overview"> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>lfd.Nr.</b> - </td> - <td> - <b>Ausbildungsstelle</b> - </td> - <td> - <b>Adresse</b> - </td> - <td> - <b>Mailadresse</b> - </td> - <tr> - {section name=table_data2 loop=$table_data2} - {if $smarty.section.table_data2.rownum != ''} - <tr> - <td> - {$smarty.section.table_data2.rownum} - </td> - <td> - {$table_data2[table_data2].bez} - </td> - <td width="450"> - {$table_data2[table_data2].str}, {$table_data2[table_data2].plz} {$table_data2[table_data2].ort} - </td> - <td> - {$table_data2[table_data2].mail} - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - </form> - </body> -</html> -{/if} - - - - {if $action == 'stammdaten_edit'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-30:+0", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - }); - </script> - </head> - <body> - <fieldset> - <legend> - <b>Stammdaten bearbeiten</b> - </legend> - <br /> - <br /> - <form action="?action=stammdaten2_edit" method='post' name='stammdaten2_edit'> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <form action=?action=termine method="POST" name="termine"> - <tr> - <td width="80%"> - <table width="100%" height="100%" border="0"> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_anrede == 1}<font color="red">* {/if}<b>Anrede:</b>{if $erf_hig_anrede == 1}</font>{/if} - </td> - <td> - <label for="w"><input type="radio" value="W" id="w" {if $persdat_value_anrede == "W"}checked{/if} name="anrede" size="20"> Frau</label><br> - <label for="m"><input type="radio" value="M" id="m" {if $persdat_value_anrede == "M"}checked{/if} name="anrede" size="20"> Herr</label> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_vorname == 1}<font color="red">* {/if}<b>Vornamen:</b>{if $erf_hig_vorname == 1}</font>{/if} - <br><font size=1>(wie im Personalausweis angegeben)</font> - </td> - <td> - <input type="text" name="vorname" size="60" value="{$persdat_value_vorname}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_nachname == 1}<font color="red">* {/if}<b>Nachname:</b>{if $erf_hig_nachname == 1}</font>{/if} - </td> - <td> - <input type="text" name="nachname" size="60" value="{$persdat_value_nachname}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_gebdat == 1}<font color="red">* {/if}<b>Geburtsdatum:</b>{if $erf_hig_gebdat == 1}</font>{/if} - </td> - <td> - <input type="text" class="datepicker" name="gebdat" id="gebdat" value="{$persdat_value_gebdat}" onchange='calc_gebdat();'> - <input type="hidden" name="alter18" id="alter18" size="101" value="{$persdat_value_alter18}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_str == 1}<font color="red">* {/if}<b>Straße mit Hausnr:</b>{if $erf_hig_str == 1}</font>{/if} - </td> - <td> - <input type="text" name="str" size="60" value="{$persdat_value_str}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_plz == 1}<font color="red">* {/if}<b>PLZ</b>{if $erf_hig_plz == 1}</font>{/if} <b>/</b> {if $erf_hig_ort == 1}<font color="red">* {/if}<b>Ort</b>{if $erf_hig_ort == 1}</font>{/if} - </td> - <td> - <input type="text" name="plz" size="5" value="{$persdat_value_plz}"> <input type="text" name="ort" size="49" value="{$persdat_value_ort}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_mail == 1}<font color="red">* {/if}<b>E-Mail Adresse:</b>{if $erf_hig_mail == 1}</font>{/if} - </td> - <td> - <input type="text" name="mail" size="60" value="{$persdat_value_mail}"> - </td> - </tr> - <tr> - <td width="20%" valign="top"> - {if $erf_hig_tel == 1}<font color="red">* {/if}<b>Telefon:</b>{if $erf_hig_tel == 1}</font>{/if} - </td> - <td> - <input type="text" name="tel" size="60" value="{$persdat_value_tel}"> - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Stammdaten speichern"> - </p> - <br /> - </form> - </fieldset> - <br /> - </body> - </html> - {/if} - - {if $action == 'stammdaten2_edit'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - Daten gespeichert! - <br> - <br> - Sie können das Fenster nun schließen. - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} diff --git a/templates/modern/admin/old/datencheck.html b/templates/modern/admin/old/datencheck.html deleted file mode 100644 index e1e4dc0..0000000 --- a/templates/modern/admin/old/datencheck.html +++ /dev/null @@ -1,228 +0,0 @@ -{if $action == ''} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - } - }); - }); - </script> - - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - .ButtonAnzeigen { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #77b55a 5%, #72b352 100%); - background-color:#77b55a; - border-radius:4px; - border:1px solid #4b8f29; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:0px 20px; - text-decoration:none; - text-shadow:0px 1px 0px #5b8a3c; - } - .ButtonAnzeigen:hover { - background:linear-gradient(to bottom, #72b352 5%, #77b55a 100%); - background-color:#72b352; - } - .ButtonAnzeigen:active { - position:relative; - top:1px; - } - .ButtonDel { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #e4685d 5%, #eb675e 100%); - background-color:#e4685d; - border-radius:4px; - border:1px solid #98051D; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:6px 12px; - text-decoration:none; - text-shadow:0px 1px 0px #b23e35; - } - .ButtonDel:hover { - background:linear-gradient(to bottom, #eb675e 5%, #e4685d 100%); - background-color:#eb675e; - } - .ButtonDel:active { - position:relative; - top:1px; - } - </style> - </head> - <body> - {if $news_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$news_error_text} - </td> - </tr> - </table> - <br /> - {/if} - - <fieldset> - <legend> - <b>Datencheck</b> - </legend> - <h2>Matrix über vorhandene Daten</h2> - <br /> - <table border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="400" height="30" valign="middle"> - <b>Anzahl der getesteten Kandidaten:</b> - </td> - <td align="right" width="100" style="padding-right:5px"> - {$datenchk_anzget} - </td> - </tr> - <tr> - <td width="400" height="30" valign="middle"> - <b>Anzahl der Kandidaten mit ausstehendem Test :</b> - </td> - <td align="right" width="100" style="padding-right:5px"> - {$datenchk_aussttest} - </td> - </tr> - <tr> - <td width="400" height="30" valign="middle"> - <b>Anzahl aller Anmeldung:</b> - </td> - <td align="right" width="100" style="padding-right:5px"> - {$datenchk_alleranm} - </td> - </tr> - <tr> - <td width="400" height="30" valign="middle"> - <b>Anzahl Durchfaller:</b> - </td> - <td align="right" width="100" style="padding-right:5px"> - {$datenchk_anzdurchfaller} - </td> - </tr> - </table> - <br> - <br> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td height="40" style="padding-left:5px"> - <b>Bew. Nr. ({$dokverw_anzdb})</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Name</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Testdatum</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Testergebnis</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Verkürzung</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Schwerbehinderung</b> - </td> - <td height="40" align="center"> - <b>PDF Upload HZB</b> - </td> - <td height="40" align="center"> - <b>PDF Upload Zeugnisse</b> - </td> - <td height="40" align="center"> - <b>Lebenslauf</b> - </td> - <td height="40" align="center"> - <b>Note HZB</b> - </td> - <td height="40" align="center"> - <b>Note Durchschnitt</b> - </td> - </tr> - - {section name=table_data1 loop=$table_data1} - <tr> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].ka_id} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].tm_datum} ({$table_data1[table_data1].tm_standort}) - </td> - <td height="40" align="right" style="padding-right:5px"> - {$table_data1[table_data1].testergebnis} / 130 - </td> - <td height="40" align="center"> - {if $table_data1[table_data1].verkuerzung == 'J'} Ja {/if} - </td> - <td height="40" align="center"> - {if $table_data1[table_data1].behinderung == 'J'} Ja {/if} - </td> - <td height="40" align="center"> - <img src="../templates/{$global_template}/images/{$table_data1[table_data1].image_hzb}"> - </td> - <td height="40" align="center"> - <img src="../templates/{$global_template}/images/{$table_data1[table_data1].image_zeug}"><br> - {$table_data1[table_data1].anz_zeug} / 2 - </td> - <td height="40" align="center"> - <img src="../templates/{$global_template}/images/{$table_data1[table_data1].image_leben}"> - </td> - <td height="40" align="center"> - <img src="../templates/{$global_template}/images/{$table_data1[table_data1].image_notehzb}"> - </td> - <td height="40" align="center"> - <img src="../templates/{$global_template}/images/{$table_data1[table_data1].image_noteschnitt}"> - </td> - </tr> - {/section} - </table> - <br /> - <br /> - </fieldset> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/dokverw.html b/templates/modern/admin/old/dokverw.html deleted file mode 100644 index 571a301..0000000 --- a/templates/modern/admin/old/dokverw.html +++ /dev/null @@ -1,184 +0,0 @@ -{if $action == ''} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - } - }); - }); - </script> - - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - .ButtonAnzeigen { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #77b55a 5%, #72b352 100%); - background-color:#77b55a; - border-radius:4px; - border:1px solid #4b8f29; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:0px 20px; - text-decoration:none; - text-shadow:0px 1px 0px #5b8a3c; - } - .ButtonAnzeigen:hover { - background:linear-gradient(to bottom, #72b352 5%, #77b55a 100%); - background-color:#72b352; - } - .ButtonAnzeigen:active { - position:relative; - top:1px; - } - .ButtonDel { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #e4685d 5%, #eb675e 100%); - background-color:#e4685d; - border-radius:4px; - border:1px solid #98051D; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:6px 12px; - text-decoration:none; - text-shadow:0px 1px 0px #b23e35; - } - .ButtonDel:hover { - background:linear-gradient(to bottom, #eb675e 5%, #e4685d 100%); - background-color:#eb675e; - } - .ButtonDel:active { - position:relative; - top:1px; - } - </style> - </head> - <body> - {if $news_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$news_error_text} - </td> - </tr> - </table> - <br /> - {/if} - - <fieldset> - <legend> - <b>Dokumentenverwaltung</b> - </legend> - <br /> - <br /> - <h2>Dateien, die in der Datenbank sind, werden werden geprüft, ob sie auf dem Server vorhanden sind</h2> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td height="40" style="padding-left:5px" width='20%'> - <b>Name</b> - </td> - <td height="40" style="padding-left:5px" width='60%'> - <b>Datei</b> - </td> - <td height="40" style="padding-left:5px" width='20%'> - <b>Existenz (Anzahl: {$dokverw_anzdb})</b> - </td> - </tr> - - {section name=table_data1 loop=$table_data1} - <tr> - <td height="40" style="padding-left:5px" width='20%'> - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} - </td> - <td height="40" style="padding-left:5px" width='60%'> - {$table_data1[table_data1].file} - </td> - <td height="40" style="padding-left:5px" width='20%'> - {if $table_data1[table_data1].exists == 0} - <a href="?action=deldb&up_id={$table_data1[table_data1].up_id}" class="ButtonDel">Auf DB löschen</a> - {/if} - {if $table_data1[table_data1].exists == 1} - vorhanden - {/if} - </td> - </tr> - {/section} - </table> - </p> - - <h2>Dateien, die auf dem Server liegen, werden geprüft, ob sie in der Datenbank bekannt sind</h2> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td height="40" style="padding-left:5px" width='20%'> - <b>Name</b> - </td> - <td height="40" style="padding-left:5px" width='60%'> - <b>Datei</b> - </td> - <td height="40" style="padding-left:5px" width='20%'> - <b>Existenz (Anzahl: {$dokverw_anzserver})</b> - </td> - </tr> - - {section name=table_data2 loop=$table_data2} - <tr> - <td height="40" style="padding-left:5px" width='20%'> - {$table_data2[table_data2].nachname}, {$table_data2[table_data2].vorname} - </td> - <td height="40" style="padding-left:5px" width='60%'> - {$table_data2[table_data2].file} - </td> - <td height="40" style="padding-left:5px" width='20%'> - {if $table_data2[table_data2].exists == 0} - <a href="?action=delserver&file={$table_data2[table_data2].file}" class="ButtonDel">Auf Server löschen</a> - {/if} - {if $table_data2[table_data2].exists == 1} - vorhanden - {/if} - </td> - </tr> - {/section} - </table> - <br /> - <br /> - </fieldset> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/ergebnisse.html b/templates/modern/admin/old/ergebnisse.html deleted file mode 100644 index 79bfef9..0000000 --- a/templates/modern/admin/old/ergebnisse.html +++ /dev/null @@ -1,322 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <form action="?action=ausgabe" method='post' name='ausgabe'> - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Testergebnisse</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_datum_form} - {$table_data1[table_data1].tm_standort}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Datum wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'ausgabe'} - <html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - th{ - background: lightgray; - border: 1px solid #656565; - font-size:11px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .ButtonDel { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #e4685d 5%, #eb675e 100%); - background-color:#e4685d; - border-radius:4px; - border:1px solid #98051D; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:6px 12px; - text-decoration:none; - text-shadow:0px 1px 0px #b23e35; - } - .ButtonDel:hover { - background:linear-gradient(to bottom, #eb675e 5%, #e4685d 100%); - background-color:#eb675e; - } - .ButtonDel:active { - position:relative; - top:1px; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Testergebnisse: {$erg_datum} - {$erg_standort}</b> - </legend> - <br> - <table border="1" cellspacing="0" cellpadding="0" width="100%"> - <tr> - <th> - <b>#</b> - </th> - <th> - <b>TAN</b> - </th> - <th> - <b>Name</b> - </th> - <th> - <b>Satzergänzung</b> - </th> - <th> - <b>Gemeinsamkeiten</b> - </th> - <!-- - <th> - <b>Gemeinsamkeiten</b> - </th> - --> - <th> - <b>Rechenaufgaben</b> - </th> - <th> - <b>Zahlenreihen</b> - </th> - <th> - <b>Rechenzeichen</b> - </th> - <th> - <b>Matrizen</b> - </th> - <!-- - <th> - <b>Verbale Intelligenz</b> - </th> - <th> - <b>Numerische Intelligenz</b> - </th> - --> - <th> - <b>Merkfähigkeit verbal</b> - </th> - <th> - <b>Summe Einzeltests</b> - </th> - <th> - <b>Gesamtergebnis</b> - </th> - <th> - <b>Manuell nicht bestanden</b> - </th> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$smarty.section.table_data1.rownum} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].tan} - </td> - <td height="35" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].satzerg} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].gemeinsamkeiten} - </td> - <!-- - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].gemeinsamkeiten} - </td> - --> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].rechenaufgaben} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].zahlenreihen} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].rechenzeichen} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].matrizen} - </td> - <!-- - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].verb_intelligenz} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].num_intelligenz} - </td> - --> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].merkf} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].summe} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {if $table_data1[table_data1].bestanden == 1} - bestanden - {else} - nicht bestanden - {/if} - </td> - <td height="35" align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {if $table_data1[table_data1].bestanden == 1} - <a href="?action=del&eg_id={$table_data1[table_data1].eg_id}&ka_id={$table_data1[table_data1].ka_id}" class="ButtonDel">Als durchgefallen markieren</a> - {/if} - </td> - </tr> - {/section} - </table> - <br> - <br> - </fieldset> - <br /> - <br /> - </body> - </html> -{/if} - - {if $action == 'del'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Löschbestätigung</b> - </legend> - <br /> - <br /> - <p align="center"> - Möchten sie die Testergebnisse von <b>{$del_name}</b> wirklich löschen?<br><br> - <a href="?action=ausgabe"> - <img title = "Nein" border="0" src="../templates/{$global_template}/images/nein.gif"></a> - - <a href="?action=del2&eg_id={$del_eg_id}"> - <img title = "Dokument löschen"border="0" src="../templates/{$global_template}/images/ja.gif"></a> - - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/kand_del.html b/templates/modern/admin/old/kand_del.html deleted file mode 100644 index 3e4535c..0000000 --- a/templates/modern/admin/old/kand_del.html +++ /dev/null @@ -1,142 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/bootstrap.min.js"></script> - <link href="../jquery/bootstrap.min.css" rel="stylesheet" /> - <style> - select{ - width:330px; - } - #inner { - display: table; - margin: 0 auto; - width:330px; - } - #outer { - width:100% - } - </style> - - {literal} - <script> - $(document).ready(function(){ - load_data(); - function load_data(query) - { - $.ajax({ - url:"fetch.php", - method:"post", - data:{query:query, - script:"kand_del"}, - success:function(data) - { - /* $('#result').html(data);*/ - /* console.log(data); */ - $("#user").empty().append(data); - } - }); - } - - $('#search_text').keyup(function(){ - var search = $(this).val(); - if(search != '') - { - load_data(search); - } - else - { - load_data(); - } - }); - }); - </script> - {/literal} - </head> - <body onload="if(document.nachfrage)document.nachfrage.search_text.focus();return false;"> - - <form action="?action=nachfrage" method='post' name='nachfrage'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Kandidat löschen</b> - </legend> - <br /> - <br /> - <p align='center'>Kandidaten können gelöscht werden, solange sie noch nicht am Test teilgenommen haben.</p> - <p align="center"> - <div id="outer"> - <div id="inner"> - <div class="form-group"> - <div class="input-group"> - <span class="input-group-addon">Suche</span> - <input type="text" name="search_text" id="search_text" placeholder="Kandidaten suchen" class="form-control" /> - </div> - </div> - </div> - </div> - <br> - <p align="center"> - <select id="user" name="user" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].ka_id}">{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} ({$table_data1[table_data1].geb_format})</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Kandidat löschen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - - {if $action == 'nachfrage'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Löschbestätigung</b> - </legend> - <br /> - <br /> - <p align="center"> - Möchten sie Kandidat/in <b><u>{$kand_name}</u></b> wirklich löschen?<br><br> - <a href="?"><img title = "Nein" border="0" src="../templates/{$global_template}/images/nein.gif"></a> - - <a href="?action=delkand&ka_id={$kand_ka_id}"><img title = "Dokument löschen"border="0" src="../templates/{$global_template}/images/ja.gif"></a> - - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/liste_tn.html b/templates/modern/admin/old/liste_tn.html deleted file mode 100644 index d7e6094..0000000 --- a/templates/modern/admin/old/liste_tn.html +++ /dev/null @@ -1,55 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - - <body> - - <form action="?action=ausgabe" method='post' name='ausgabe'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Teilnehmerliste</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_datum_form} - {$table_data1[table_data1].tm_standort}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Liste drucken"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/logout.html b/templates/modern/admin/old/logout.html deleted file mode 100644 index 82aa2d1..0000000 --- a/templates/modern/admin/old/logout.html +++ /dev/null @@ -1,74 +0,0 @@ -{if $action == ''} - <html> - <head> - <title>{$logout_titel}</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css" type="text/css"> - <style> - .squarebutton_blue{ - width:100px; - } - </style> - </head> - <body onload="if(document.login)document.login.user.focus();return false;"> - - <table height="100%" width="100%"> - <tr> - <td width="20%"> - - </td> - <td width="60%"> - <div class="Header"> - <div> - <div align="center">{$logout_titel}</div> - </div> - </div> - <div class="pat_list_box"> - <p> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td width="200px" align="center" valign="middle"> - <img style="margin:10px;padding:10px;"src="../templates/{$global_template}/images/deputat_icon.svg" height="100"> - </td> - <td align="left"> - <table width="100%"> - <form action=?action=anmeld method="POST" name="login"> - <tr> - <td width="100%" align="center"> - <strong>{$logout_text}</strong> - </td> - </tr> - <tr> - <td width="100%" align="center"> - - </td> - </tr> - - <tr> - <td align="center"> - <a class="squarebutton_blue" href="index.php" target="_self"><span>Login</span></a> - </td> - </tr> - - </table> - - </td> - </tr> - </table> - - <br /> - <br /> - </div> - </td> - <td width="20%"> - - - </td> - </tr> - </table> - - </form> - - </body> - </html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/mail_test.html b/templates/modern/admin/old/mail_test.html deleted file mode 100644 index 19d4eed..0000000 --- a/templates/modern/admin/old/mail_test.html +++ /dev/null @@ -1,215 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - - <body> - - <form action="?action=mailsenden_test" method='post' name='ausgabe'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Mail an Testteilnehmer</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_datum_form} - {$table_data1[table_data1].tm_standort}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Liste drucken"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'mailsenden_test'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>E-Mail bearbeiten</b> - </legend> - <br /> - <br /> - <form action="?action=mailsenden2_test" method='post' name='mailsenden2_sonst'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - {$mail_sender} - {$mail_sendermail} - <input type="hidden" name="mail_sender" id="mail_sender" size="101" value="{$mail_sender}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Empfänger: - </td> - <td style="padding-left:5px"> - <textarea style="width:745px; height:120px; font-family:monospace;" id='mail_mail' name='mail_mail'>{$empfaenger}</textarea> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="{$mail_betreff}" size="120"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - - <textarea id='text' name='text'>{$mail_text}</textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - <input type="hidden" name="smid" id="smid" size="101" value="{$mail_smid}"> - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail senden"><br><br> - <font color="red" style="font-size:20px">Bitte nur einmal klicken. Rückmeldung dauert 30-60 Sekunden bis alle Mails verschickt wurden!</font> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - - {if $action == 'mailsenden2_test'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - Sie können das Fenster nun schließen. - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/parameter.html b/templates/modern/admin/old/parameter.html deleted file mode 100644 index dfcd233..0000000 --- a/templates/modern/admin/old/parameter.html +++ /dev/null @@ -1,118 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - input{ - width:330px; - } - .row_0 { - background-color: #FFFFFF; - } - .row_1 { - background-color: #E1E8F1; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='save'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Systemparameter</b> - </legend> - <br /> - <br /> - <table width="100%" cellspacing="0" cellpadding="0"> - {section name=table_data1 loop=$table_data1} - <tr> - <td min-width="40%" class="row_{$table_data1[table_data1].zaehler}" height='30'> - {$table_data1[table_data1].beschreibung}{if $table_data1[table_data1].pid == 1} <b>Verfügbare Rest-TANs: {$parameter_anzahltan}</b>{/if} - </td> - <td class="row_{$table_data1[table_data1].zaehler}" height='30'> - <input align="right" type="text" name="{$table_data1[table_data1].pid}" value="{$table_data1[table_data1].wert}"> - </td> - </tr> - {/section} - </table> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="speichern"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'save'} -{if $parameter_inserterr == '1'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend>Fehler beim der Speicherung</legend> - <br /> - <br /> - Es traten folgende Fehler auf: - <br /> - {$parameter_reason} - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $parameter_inserterr == '2'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend>Speicherung</legend> - <br /> - <br /> - <p align="center"> - Die Daten wurden übernommen. - </p> - <br /> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/praxisstellen_edit.html b/templates/modern/admin/old/praxisstellen_edit.html deleted file mode 100644 index aa13180..0000000 --- a/templates/modern/admin/old/praxisstellen_edit.html +++ /dev/null @@ -1,514 +0,0 @@ -{if $action == ''} -<html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - }, - - }); - }); - </script> -<!-- <script src="../jquery/jquery-1.12.4.js"></script>--> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '7', - maxTime: '18:00', - startTime: '7', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:330px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - - </style> - - - <style> - .result - { - background-color: #00ffff; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='erfassen'> - - {if $prxedit_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$prxedit_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Ausbildungsstelle erfassen</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td width="15%"> - Art der Ausbildungsstelle: - </td> - <td> - <select name="art" size="5"> - <option value="Gemeindeverwaltung" {if $prxedit_value_art == 'Gemeindeverwaltung'} selected {/if}}>Gemeindeverwaltung</option> - <option value="GVV" {if $prxedit_value_art == 'GVV'} selected {/if}}>GVV</option> - <option value="Landratsamt" {if $prxedit_value_art == 'Landratsamt'} selected {/if}}>Landratsamt</option> - <option value="Stadtverwaltung" {if $prxedit_value_art == 'Stadtverwaltung'} selected {/if}}>Stadtverwaltung</option> - <option value="VVG" {if $prxedit_value_art == 'VVG'} selected {/if}}>VVG</option> - </select> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="15%"> - Behördenname: - </td> - <td> - <input type="text" name="name" id="name" value="{$prxedit_value_name}" size="40"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="15%"> - Straße: - </td> - <td> - <input type="text" name="str" id="str" value="{$prxedit_value_str}" size="40"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="15%"> - PLZ / Ort: - </td> - <td> - <input type="text" name="plz" id="plz" value="{$prxedit_value_plz}" size="5"> <input type="text" name="ort" id="ort" value="{$prxedit_value_ort}" size="30"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="15%"> - Mail: - </td> - <td> - <input type="text" name="mail" id="mail" value="{$prxedit_value_mail}" size="40"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="15%"> - Gültig von: - </td> - <td> - <input type="text" class="datepicker" name="gueltigvon" id="gueltigvon" value="{$prxedit_value_gueltigvon}" size="40"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="15%"> - Gültig bis: - </td> - <td> - <input type="text" class="datepicker" name="gueltigbis" id="gueltigbis" value="{$prxedit_value_gueltigbis}" size="40"> - </td> - </tr> - <tr> - <td width="15%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="15%"> - Registrierung zurücksetzen: - <br> - (Die Praxisstelle bekommt innerhalb 30 Min<br>eine Mail mit einer neuen TAN) - </td> - <td> - <input type="checkbox" value="j" id="regmail" name="regmail"> - </td> - </tr> - - <tr> - <td> - </td> - <td> - </td> - </tr> - - </table> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Ausbildungsstelle speichern" class="button"> - {if $prxedit_value_user != ''} - <a href="bewerber_daten.php?action=ausgabe&user={$prxedit_value_user}" class="button">zurück zu {$prxedit_value_username}</a> - {/if} - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Ausbildungsstellen</b> - </legend> - <script type="text/javascript" src="../jquery/prx_search.js"></script> - <link type="text/css" href="../jquery/jquery-ui.min.css" rel="stylesheet" /> - <table cellspacing="0" cellpadding="2" width="100%" border="0"> - <tr> - <td width="180"> - <b>Suche: Mind 3 Zeichen: </b> - </td> - <td width="180"> - <input type="text" id="search" name="search" /> - </td> - <td> - <input id = "btnSubmit" type="submit" value="Zeige alle ({$prxedit_value_anzall})"/> <input id = "unreg" type="submit" value="Zeige unregistrierte ({$prxedit_value_anzunreg})"/> <input id = "reg" type="submit" value="Zeige registrierte ({$prxedit_value_anzreg})"/> - </td> - </table> - <br> - <div id="results"></div> - </fieldset> - - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - - {if $action == 'mailsenden'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - - </style> - </head> - <body> - <fieldset> - <legend> - <b>E-Mail bearbeiten</b> - </legend> - <br /> - <br /> - <form action="?action=mailsenden2" method='post' name='mailsenden2_sonst'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - {$mail_sender} - {$mail_sendermail} - <input type="hidden" name="mail_sender" id="mail_sender" size="101" value="{$mail_sender}"> - <input type="hidden" name="mail_sendermail" id="mail_sendermail" size="101" value="{$mail_sendermail}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailadresse: - </td> - <td style="padding-left:5px"> - <input type="text" id="mail_mail" name="mail_mail" value="{$mail_mail}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="{$mail_betreff}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - - <textarea id='text' name='text'>{$mail_text}</textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - <input type="hidden" name="dstid" id="dstid" size="101" value="{$mail_dstid}"> - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail erneut senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - - {if $action == 'mailsenden2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - Sie können das Fenster nun schließen. - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/praxisstellen_news.html b/templates/modern/admin/old/praxisstellen_news.html deleted file mode 100644 index 621f3c9..0000000 --- a/templates/modern/admin/old/praxisstellen_news.html +++ /dev/null @@ -1,247 +0,0 @@ -{if $action == ''} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - } - }); - }); - </script> - - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - .ButtonAnzeigen { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #77b55a 5%, #72b352 100%); - background-color:#77b55a; - border-radius:4px; - border:1px solid #4b8f29; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:0px 20px; - text-decoration:none; - text-shadow:0px 1px 0px #5b8a3c; - } - .ButtonAnzeigen:hover { - background:linear-gradient(to bottom, #72b352 5%, #77b55a 100%); - background-color:#72b352; - } - .ButtonAnzeigen:active { - position:relative; - top:1px; - } - </style> - </head> - <body> - <form action="?action=save" method='post' name='save'> - {if $news_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$news_error_text} - </td> - </tr> - </table> - <br /> - {/if} - - <fieldset> - <legend> - <b>Ausbildungsstellen News</b> - </legend> - <br /> - <br /> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td height="40" style="padding-left:5px"> - Überschrift: - </td> - <td style="padding-left:5px"> - <input type="text" id="headline" name="headline" value="{$news_value_headline}" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Inhalt: - </td> - <td style="padding-left:5px"> - - <textarea id='text' name='text'>{$news_value_text}</textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Speichern"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste News</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>Datum - Zeit</b> - </td> - <td> - <b>Überschrift</b> - </td> - <td> - <b>Anzeige</b> - </td> - <td align="center"> - <b>Edit</b> - </td> - <tr> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - <tr> - <td> - {$table_data1[table_data1].pn_date_form} - </td> - <td> - {$table_data1[table_data1].pn_headline} - </td> - <td> - <a class="ButtonAnzeigen box" title="{$table_data1[table_data1].pn_headline}" href="?action=show&pn_id={$table_data1[table_data1].pn_id}">Nachricht anzeigen</a> - </td> - <td align="center"> - <a href=?edit={$table_data1[table_data1].pn_id}><img title = "Termin bearbeiten" border="0" height=10 src="../templates/{$global_template}/images/edit.png"></a> - - <a href="?action=del&pn_id={$table_data1[table_data1].pn_id}"><img title = 'Termin löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} - -{if $action == 'show'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>{$prx_show_headline}</b> - </legend> - {$prx_show_text} - <br /> - <br /> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/rangliste2.html b/templates/modern/admin/old/rangliste2.html deleted file mode 100644 index 96c444e..0000000 --- a/templates/modern/admin/old/rangliste2.html +++ /dev/null @@ -1,171 +0,0 @@ -{if $action == ''} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <!-- Add jQuery library --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery-1.10.2.min.js"></script> - <!-- Add mousewheel plugin (this is optional) --> - <script type="text/javascript" src="../fancybox-2.1.7/lib/jquery.mousewheel.pack.js?v=3.1.3"></script> - <!-- Add fancyBox main JS and CSS files --> - <script type="text/javascript" src="../fancybox-2.1.7/source/jquery.fancybox.pack.js?v=2.1.5"></script> - <link rel="stylesheet" type="text/css" href="../fancybox-2.1.7/source/jquery.fancybox.css?v=2.1.5" media="screen" /> - <script type="text/javascript"> - $(document).ready(function() { - $('.box').fancybox({ - 'width' : '100%', - 'height' : '100%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe', - helpers: { - overlay : { - closeClick: true - } - } - }); - }); - </script> - - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - .ButtonAnzeigen { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #77b55a 5%, #72b352 100%); - background-color:#77b55a; - border-radius:4px; - border:1px solid #4b8f29; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:0px 20px; - text-decoration:none; - text-shadow:0px 1px 0px #5b8a3c; - } - .ButtonAnzeigen:hover { - background:linear-gradient(to bottom, #72b352 5%, #77b55a 100%); - background-color:#72b352; - } - .ButtonAnzeigen:active { - position:relative; - top:1px; - } - .ButtonDel { - box-shadow: 0px 10px 14px -7px #3e7327; - background:linear-gradient(to bottom, #e4685d 5%, #eb675e 100%); - background-color:#e4685d; - border-radius:4px; - border:1px solid #98051D; - display:inline-block; - cursor:pointer; - color:#ffffff; - font-family:Arial; - font-size:13px; - font-weight:bold; - padding:6px 12px; - text-decoration:none; - text-shadow:0px 1px 0px #b23e35; - } - .ButtonDel:hover { - background:linear-gradient(to bottom, #eb675e 5%, #e4685d 100%); - background-color:#eb675e; - } - .ButtonDel:active { - position:relative; - top:1px; - } - </style> - </head> - <body> - {if $news_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$news_error_text} - </td> - </tr> - </table> - <br /> - {/if} - - <fieldset> - <legend> - <b>Rangliste 2</b> - </legend> - <br> - <br> - <table width="100%" border="0" cellspacing="0" cellpadding="0"> - <tr> - <td width="150"> - Export Rangliste 2: - </td> - <td> <a href='rangliste2_excel.php' target='_top'><img src="../templates/{$global_template}/images/excel.png" border="0" height=30></a> - </td> - </table> - <br> - <br> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td height="40" style="padding-left:5px"> - <b>Ranglistenplatz 2 ({$dokverw_anzdb})</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Name</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Mail</b> - </td> - <td height="40" style="padding-left:5px"> - <b>ID</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Testdatum</b> - </td> - <td height="40" style="padding-left:5px"> - <b>Testergebnis</b> - </td> - </tr> - - {section name=table_data1 loop=$table_data1} - <tr> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].rangliste} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].mail} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].id} - </td> - <td height="40" style="padding-left:5px"> - {$table_data1[table_data1].tm_datum} ({$table_data1[table_data1].tm_standort}) - </td> - <td height="40" align="right" style="padding-right:5px"> - {$table_data1[table_data1].summe} / 130 - </td> - </tr> - {/section} - </table> - <br /> - <br /> - </fieldset> - <br /> - <br /> - </body> - </html> - {/if} \ No newline at end of file diff --git a/templates/modern/admin/old/tanimport.html b/templates/modern/admin/old/tanimport.html deleted file mode 100644 index d4c8c71..0000000 --- a/templates/modern/admin/old/tanimport.html +++ /dev/null @@ -1,349 +0,0 @@ -{if $action == ''} -<html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Schritt 1: Dateien auswählen und hochladen</b> - </legend> - <table border="0" width="100%"> - <tr> - <td width="30%" valign="top"> - <ol> - <li>Roter Button anklicken, um HOGREFE TAN Liste auszuwählen</li> - <li>Danach "CSV-Hochladen..." klicken</li> - <li><b>Verfügbare Rest-TANs: {$tanimp_anzahltan}</b></li> - <li>Importvorlage Hogrefe: <a href="Import_CSV_Hogrefe.xlsx" target='_new'>Import_CSV_Hogrefe.xlsx</a> als CSV-Datei abspeichern.</li> - </ol> - </td> - </td> - <td width="40%"> - <form action=?action=csvimp method="POST" enctype="multipart/form-data" name="csvimp"> - <table border="0" cellpadding="0" cellspacing="0" width="100%" > - <tr> - <td width="100%"align="center" > - <div> - <input type="file" name="file" id="file-5" class="inputfile inputfile-4" /> - <label for="file-5"> - <figure> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"> - <path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/> - </svg> - </figure> - <span style='float:center;'>CSV-Datei auswählen…<br>(hier klicken)</span> - </label> - </div> - <script src="../templates/{$global_template}/js/custom-file-input.js"></script> - </td> - </tr> - <tr> - <td width="100%" align="center" colspan="2"> - <input type="submit" class="button" value="CSV-Hochladen…" name="B1" size="20"> - </td> - </tr> - </table> - </form> - </td> - <td width="30%"> - - </td> - </tr> - </table> - </fieldset> - <br /> - <br /> - </body> - </html> -{/if} -{if $action == 'csvimp'} - <html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - th{ - background: lightgray; - border: 1px solid #656565; - font-size:11px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .row_0 { - background-color: #FFFFFF; - } - .row_1 { - background-color: #E1E8F1; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Schritt 2: Daten prüfen</b> - </legend> - <table border="1" cellspacing="0" cellpadding="0" width="100%"> - <tr> - <th> - <b>#</b> - </th> - <th> - <b>TAN</b> - </th> - <th align="left" style="padding-left:5px"> - <b>Kurzlink</b> - </th> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td align="center" class="row_{$table_data1[table_data1].zaehler}"> - {$smarty.section.table_data1.rownum} - </td> - <td align="center" class="row_{$table_data1[table_data1].zaehler}"> - {$table_data1[table_data1].tan} - </td> - <td class="row_{$table_data1[table_data1].zaehler}" style="padding-left:5px"> - {$table_data1[table_data1].tinyurl} - </td> - </tr> - {/section} - </table> - <br> - <br> - <form action=?action=csvimp2 method="POST" name="csvimp2"> - <table width="100%" border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#E7E8ED"> - <tr> - <td width="70%" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px"> - <b><font size="1">Auswahl</font></b> - </td> - <td width="30%" align="left" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px"> - <b><font size="1">Markieren</font></b> - </td> - </tr> - <tr> - <td width="70%"><font size="1">Datensätze nicht importieren - </td> - <td width="30%"><font size="1"><input type="radio" name="import" value="0" checked> - </td> - </tr> - <tr> - <td width="70%"><font size="1">Datensätze importieren - </td> - <td width="30%"><font size="1"><input type="radio" name="import" value="1"> - </td> - </tr> - <tr> - <td width="70%"> - - </td> - <td width="30%"> - - </td> - </tr> - <tr> - <td width="70%"> - - </td width="30%"> - <td> - <input type="submit" value="Abschicken" name="B1" size="20"> - </td> - </tr> - </table> - </form> - </fieldset> - <br /> - <br /> - </body> - </html> -{/if} -{if $action == 'csvimp2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>Import beendet</b> - </legend> - <br /> - <br /> - <p align="center"> - Der Import wurde beendet! - <br> - <br> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - {section name=table_data2 loop=$table_data2} - <tr> - <td> - {$table_data2[table_data2].hinweis} - </td> - </tr> - {/section} - </table> - {/if} - </p> - <br /> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/termine.html_bcc b/templates/modern/admin/old/termine.html_bcc deleted file mode 100644 index 4c04fed..0000000 --- a/templates/modern/admin/old/termine.html_bcc +++ /dev/null @@ -1,439 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '7', - maxTime: '18:00', - startTime: '7', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='erfassen'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Termine erfassen</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td width="30%"> - Testdatum: - </td> - <td> - <input type="text" class="datepicker" name="tm_datum" id="tm_datum" value="{$termine_value_datum}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="30%"> - Uhrzeit: - </td> - <td> - <input type="text" class="timepicker" name="tm_zeit" id="tm_datum" value="{$termine_value_zeit}" onKeypress="return trackKeys(event,/[0-9,:]/);"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td width="30%"> - Maximale Teilnehmerzahl: - </td> - <td valign="top"> - <input type="text" class="spinner" name="tm_plaetze" id="max_tn" value="{$termine_value_tm_plaetze}" onKeypress="return trackKeys(event,/[0-9,]/);"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td width="30%"> - Standort: - </td> - <td valign="top"> - <label for="K"><input type="radio" value="K" id="K" {if $termine_value_tm_standort == "K"}checked{/if} name="tm_standort" width="30%"> Kehl</label><br> - <label for="L"><input type="radio" value="L" id="L" {if $termine_value_tm_standort == "L"}checked{/if} name="tm_standort" width="30%"> Ludwigsburg</label> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td width="30%"> - Gebäude / Raum: - </td> - <td valign="top"> - <input type="text" name="tm_raum" id="tm_raum" value="{$termine_value_tm_raum}" width="30"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td> - Verwendungszweck Überweisung: - </td> - <td valign="top"> - <input type="text" name="tm_referenznr" id="tm_referenznr" value="{$termine_value_tm_referenznr}" width="30"> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - - </table> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Termin speichern"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Termine</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>lfd.Nr.</b> - </td> - <td> - <b>Testdatum</b> - </td> - <td> - <b>Uhrzeit</b> - </td> - <td> - <b>Standort</b> - </td> - <td> - <b>Freie Plätze</b> - </td> - <td> - <b>Gebäude / Raum</b> - </td> - <td> - <b>Verwendungszweck Überweisung</b> - </td> - <td align="center"> - <b>Edit</b> - </td> - <tr> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - <tr> - <td> - {$smarty.section.table_data1.rownum} - </td> - <td> - {$table_data1[table_data1].datum} - </td> - <td> - {$table_data1[table_data1].zeit} - </td> - <td> - {$table_data1[table_data1].standort_form} - </td> - <td> - {$table_data1[table_data1].restplatz} / {$table_data1[table_data1].tm_plaetze} - </td> - <td> - {$table_data1[table_data1].tm_raum} - </td> - <td> - {$table_data1[table_data1].tm_referenznr} - </td> - <td align="center"> - <a href=?edit={$table_data1[table_data1].tm_id}><img title = "Termin bearbeiten" border="0" height=10 src="../templates/{$global_template}/images/edit.png"></a> - - {if $table_data1[table_data1].tm_disable == 0} - <img title = 'Termin bereits gebucht' border="0" height=10 src="../templates/{$global_template}/images/drop_grey.png"> - {else} - <a href="?action=del&tm_id={$table_data1[table_data1].tm_id}"><img title = 'Termin löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> - {/if} - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'mailterminupdate'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../CKEditor_4.6.1/ckeditor.js'></script> - </head> - <body> - <fieldset> - <legend> - <b>Mailtext</b> - </legend> - <br /> - <br /> - <font color='red'>Zu dem Termin haben sich bereits Kandidaten eingebucht. Ihnen muss die Veränderung mitgeteilt werden.<br> - Sofern noch kein Test geschrieben wurde, kann der Kandidat auch wieder gelöscht werden. Dann wird die Hogrefe TAN wieder frei und die Gebühr muss nicht bezahlt werden. - <br /> - <br /> - </font> - <form action="?action=mailsenden2" method='post' name='mailsenden2'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - <select name="absender"> - <option value="Kehl" selected>Kehl</option> - <option value="Ludwigsburg">Ludwigsburg</option> - </select> - </td> - </tr> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Empfänger: - </td> - <td style="padding-left:5px"> - {$mtupd_mailadressen_an} - <input type="hidden" name="empfaenger_an" id="empfaenger_an" size="101" value="{$mtupd_mailadressen_an}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Empfänger BCC: - </td> - <td style="padding-left:5px"> - {$mtupd_mailadressen_bcc} - <input type="hidden" name="empfaenger_bcc" id="empfaenger_bcc" size="101" value="{$mtupd_mailadressen_bcc}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - <textarea id='text' name='text'></textarea> - {literal} - <script type='text/javascript'> - CKEDITOR.replace( 'text', { - height: 300, - width: "90%", - enterMode : CKEDITOR.ENTER_BR - } ); - </script> - {/literal} - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} - - {if $action == 'mailsenden2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} diff --git a/templates/modern/admin/old/termine_kandidat.html b/templates/modern/admin/old/termine_kandidat.html deleted file mode 100644 index f68e535..0000000 --- a/templates/modern/admin/old/termine_kandidat.html +++ /dev/null @@ -1,494 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/bootstrap.min.js"></script> - <link href="../jquery/bootstrap.min.css" rel="stylesheet" /> - <style> - select{ - width:330px; - } - #inner { - display: table; - margin: 0 auto; - width:330px; - } - #outer { - width:100% - } - </style> - - {literal} - <script> - $(document).ready(function(){ - load_data(); - function load_data(query) - { - $.ajax({ - url:"fetch.php", - method:"post", - data:{query:query, - script:"termine_kandidat"}, - success:function(data) - { - /* $('#result').html(data);*/ - $("#user").empty().append(data); - } - }); - } - - $('#search_text').keyup(function(){ - var search = $(this).val(); - if(search != '') - { - load_data(search); - } - else - { - load_data(); - } - }); - }); - </script> - {/literal} - </head> - <body onload="if(document.ausgabe)document.ausgabe.search_text.focus();return false;"> - <form action="?action=ausgabe" method='post' name='ausgabe'> - {if $bewerber_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$bewerber_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Testtermin Kandidat anpassen</b> - </legend> - <br /> - <br /> - <div id="outer"> - <div id="inner"> - <div class="form-group"> - <div class="input-group"> - <span class="input-group-addon">Suche</span> - <input type="text" name="search_text" id="search_text" placeholder="Kandidaten suchen" class="form-control" /> - </div> - </div> - </div> - </div> - <br> - <p align="center"> - <select id="user" name="user" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].ka_id}">{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Bewerber wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'ausgabe'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '7', - maxTime: '18:00', - startTime: '7', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - </style> - </head> - - <body> - - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Termine</b> - </legend> - Wählen Sie den neuen Termin für <b><u>{$term_kand_anrede} {$term_kand_vorname} {$term_kand_nachname}</u></b> aus!<br> - <br> - Bisheriger Testtermin: <b><u>{$term_kand_datum} {$term_kand_zeit} Uhr in {$term_kand_standort}</u></b> - <br> - <br> - <form action="?action=mail" method='post' name='mail'> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>Auswahl</b> - </td> - <td> - <b>Testdatum</b> - </td> - <td> - <b>Uhrzeit</b> - </td> - <td> - <b>Standort</b> - </td> - <td> - <b>Freie Plätze</b> - </td> - <td> - <b>Gebäude / Raum</b> - </td> - <td> - <b>Verwendungszweck Überweisung</b> - </td> - <tr> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - - <tr> - <td> - {if $table_data1[table_data1].restplatz != 0} - {if $term_kand_tm_id != $table_data1[table_data1].tm_id} - <label for="{$table_data1[table_data1].tm_id}"><input type="radio" value="{$table_data1[table_data1].tm_id}" id="{$table_data1[table_data1].tm_id}" name="tm_id" size="20"></label> - {/if} - {/if} - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].datum}</label> - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].zeit}</label> - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].standort_form}</label> - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].restplatz} / {$table_data1[table_data1].tm_plaetze}</label> - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_raum}</label> - </td> - <td> - <label for="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_referenznr}</label> - </td> - </tr> - {/if} - {/section} - </table> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Abschicken"> - </p> - <br /> - </form> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'mail'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>Mailtext</b> - </legend> - <br /> - <br /> - <font color='red'>Formulieren Sie ein Anschreiben an den Kandidaten, dass sein Termin verlegt wird.</font> - <br /> - <br /> - </font> - <form action="?action=mailsenden2" method='post' name='mailsenden2'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - <select name="absender"> - <option value="Kehl" selected>Kehl</option> - <option value="Ludwigsburg">Ludwigsburg</option> - </select> - </td> - </tr> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Empfänger: - </td> - <td style="padding-left:5px"> - {$mtupd_mailadressen_an} - <input type="hidden" name="empfaenger_an" id="empfaenger_an" size="101" value="{$mtupd_mailadressen_an}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - <textarea id='text' name='text'></textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} - -{if $action == 'mailsenden2'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/old/upload.html b/templates/modern/admin/old/upload.html deleted file mode 100644 index 097de5a..0000000 --- a/templates/modern/admin/old/upload.html +++ /dev/null @@ -1,484 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <form action="?action=upload" method='post' name='upload'> - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Import Testdaten</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tm_id}">{$table_data1[table_data1].tm_datum_form} - {$table_data1[table_data1].tm_standort}</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Datum wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'upload'} -<html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Schritt 1: Dateien auswählen und hochladen</b> - </legend> - <table border="0" width="100%"> - <tr> - <td width="30%" valign="top"> - <ol> - <li>Die CSV-Dateien können nacheinander hochgeladen werden.</li> - <li>Roter Button anklicken, um die einzelne Datei vom PC auszuwählen</li> - <li>Danach "CSV-Hochladen..." klicken, so dass die Datei unter Schritt 2 angezeigt wird</li> - </ol> - </td> - </td> - <td width="40%"> - <form action=?action=csvimp method="POST" enctype="multipart/form-data" name="csvimp"> - <table border="0" cellpadding="0" cellspacing="0" width="100%" > - <tr> - <td width="100%"align="center" > - <div> - <input type="file" name="file" id="file-5" class="inputfile inputfile-4" /> - <label for="file-5"> - <figure> - <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"> - <path d="M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z"/> - </svg> - </figure> - <span style='float:center;'>CSV-Datei auswählen…<br>(hier klicken)</span> - </label> - </div> - <script src="../templates/{$global_template}/js/custom-file-input.js"></script> - </td> - </tr> - <tr> - <td width="100%" align="center" colspan="2"> - <input type="submit" class="button" value="CSV-Hochladen…" name="B1" size="20"> - </td> - </tr> - </table> - </form> - </td> - <td width="30%"> - - </td> - </tr> - </table> - </fieldset> - <br /> - <br /> - </body> - </html> -{/if} -{if $action == 'csvimp'} - <html> - <!DOCTYPE html> - <html lang="en" class="no-js"> - <head> - <title>Anlagenupload und Ausbildungsstellenwahl BPM (Bachelor of Arts - Public Management) der Hochschulen Ludwigsburg und Kehl.</title> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .desc{ - width:400px; - } - th{ - background: lightgray; - border: 1px solid #656565; - font-size:11px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .fieldset1 { - border: 1px solid red; - } - .fieldset2 { - border: ridge green; - display: block; - margin-left: 20px; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - padding-left: 20px; - padding-right: 20px; - } - .legend1 { - display: block; - padding-left: 20px; - padding-right: 20px; - border: none; - font-size: 30px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - </style> - <link rel="stylesheet" type="text/css" href="../templates/{$global_template}/css/component.css" /> - <script type="text/javascript"> - (function(e,t,n){ - var r=e.querySelectorAll("html")[0]; - r.className=r.className.replace(/(^|\s)no-js(\s|$)/,"$1js$2") - }) - (document,window,0); - </script> - </head> - <body> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$index_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Schritt 2: Daten prüfen</b> - </legend> - <table border="1" cellspacing="0" cellpadding="0" width="100%"> - <tr> - <th> - <b>#</b> - </th> - <th> - <b>TAN</b> - </th> - <th> - <b>Name</b> - </th> - <th> - <b>Datum</b> - </th> - <th> - <b>Satzergänzung</b> - </th> - <th> - <b>Gemeinsamkeiten</b> - </th> - <!-- - <th> - <b>Gemeinsamkeiten</b> - </th> - --> - <th> - <b>Rechenaufgaben</b> - </th> - <th> - <b>Zahlenreihen</b> - </th> - <th> - <b>Rechenzeichen</b> - </th> - <th> - <b>Matrizen</b> - </th> - <!-- - <th> - <b>Verbale Intelligenz</b> - </th> - <th> - <b>Numerische Intelligenz</b> - </th> - --> - <th> - <b>Merkfähigkeit verbal</b> - </th> - <th> - <b>Summe Einzeltests</b> - </th> - <th> - <b>Gesamtergebnis</b> - </th> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$smarty.section.table_data1.rownum} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].tan} - </td> - <td {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].name} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].datum} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].satzerg_raw} - </td> - <!-- - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].analogie_raw} - </td> - --> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].gemeinsamkeiten_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].rechenaufgaben_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].zahlenreihen_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].rechenzeichen_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].matrizen_raw} - </td> - <!-- - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].verb_intelligenz_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].num_intelligenz_raw} - </td> - --> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].merkf_raw} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {$table_data1[table_data1].summe} - </td> - <td align="center" {if $table_data1[table_data1].bestanden == 1} BGCOLOR="#C8EFD4" {else} BGCOLOR="#FBCFD0" {/if}> - {if $table_data1[table_data1].bestanden == 1} - bestanden - {else} - nicht bestanden - {/if} - </td> - </tr> - {/section} - </table> - <br> - <br> - <form action=?action=csvimp2 method="POST" name="csvimp2"> - <table width="100%" border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#E7E8ED"> - <tr> - <td width="70%" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px"> - <b><font size="1">Auswahl</font></b> - </td> - <td width="30%" align="left" style="border-left-style: none; border-left-width: medium; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom-style: solid; border-bottom-width: 1px"> - <b><font size="1">Markieren</font></b> - </td> - </tr> - <tr> - <td width="70%"><font size="1">Datensätze nicht importieren - </td> - <td width="30%"><font size="1"><input type="radio" name="import" value="0" checked> - </td> - </tr> - <tr> - <td width="70%"><font size="1">Datensätze importieren - </td> - <td width="30%"><font size="1"><input type="radio" name="import" value="1"> - </td> - </tr> - <tr> - <td width="70%"> - - </td> - <td width="30%"> - - </td> - </tr> - <tr> - <td width="70%"> - - </td width="30%"> - <td> - <input type="submit" value="Abschicken" name="B1" size="20"> - </td> - </tr> - </table> - </form> - </fieldset> - <br /> - <br /> - </body> - </html> -{/if} -{if $action == 'csvimp2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>Import beendet</b> - </legend> - <br /> - <br /> - <p align="center"> - Der Import wurde beendet! - <br> - <br> - {if $index_error == '1'} - <table width="70%" class="errorTable" align="center"> - {section name=table_data2 loop=$table_data2} - <tr> - <td> - {$table_data2[table_data2].hinweis} - </td> - </tr> - {/section} - </table> - {/if} - </p> - <br /> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/parameter.html b/templates/modern/admin/parameter.html deleted file mode 100644 index 766f76a..0000000 --- a/templates/modern/admin/parameter.html +++ /dev/null @@ -1,118 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - input{ - width:330px; - } - .row_0 { - background-color: #FFFFFF; - } - .row_1 { - background-color: #E1E8F1; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='save'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Systemparameter</b> - </legend> - <br /> - <br /> - <table width="100%" cellspacing="0" cellpadding="0"> - {section name=table_data1 loop=$table_data1} - <tr> - <td min-width="40%" class="row_{$table_data1[table_data1].zaehler}" height='30'> - {$table_data1[table_data1].beschreibung} - </td> - <td class="row_{$table_data1[table_data1].zaehler}" height='30'> - <input align="right" type="text" name="{$table_data1[table_data1].pid}" value="{$table_data1[table_data1].wert}"> - </td> - </tr> - {/section} - </table> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="speichern"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'save'} -{if $parameter_inserterr == '1'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend>Fehler beim der Speicherung</legend> - <br /> - <br /> - Es traten folgende Fehler auf: - <br /> - {$parameter_reason} - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $parameter_inserterr == '2'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend>Speicherung</legend> - <br /> - <br /> - <p align="center"> - Die Daten wurden übernommen. - </p> - <br /> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{/if} \ No newline at end of file diff --git a/templates/modern/admin/qr_code.html b/templates/modern/admin/qr_code.html deleted file mode 100644 index 6f16060..0000000 --- a/templates/modern/admin/qr_code.html +++ /dev/null @@ -1,276 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '00:00', - maxTime: '21:00', - startTime: '0', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='erfassen'> - - {if $qrcode_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$qrcode_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>QR Code erfassen</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td width="30%"> - Vorname: - </td> - <td> - <input type="text" name="vorname" id="vorname" value="{$qrcode_value_vorname}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="30%"> - Nachname: - </td> - <td> - <input type="text" name="nachname" id="nachname" value="{$qrcode_value_nachname}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td> - QR-Code: - </td> - <td valign="top"> - <input type="text" name="qrcode" id="qrcode" value="{$qrcode_value_qrcode}" size="60"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td> - Mail: - </td> - <td valign="top"> - <input type="text" name="mail" id="mail" value="{$qrcode_value_mail}" size="60"> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - - </table> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Link speichern"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Links</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>lfd.Nr.</b> - </td> - <td> - <b>Nachname</b> - </td> - <td> - <b>Vorname</b> - </td> - <td> - <b>QR-Code</b> - </td> - <td> - <b>Mail</b> - </td> - <td align="center"> - <b>Edit</b> - </td> - <tr> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - <tr> - <td> - {$smarty.section.table_data1.rownum} - </td> - <td> - {$table_data1[table_data1].nachname} - </td> - <td> - {$table_data1[table_data1].vorname} - </td> - <td> - {$table_data1[table_data1].qr} - </td> - <td> - {$table_data1[table_data1].mail} - </td> - <td align="center"> - <a href=?edit={$table_data1[table_data1].id}><img title = "QR-Code bearbeiten" border="0" height=10 src="../templates/{$global_template}/images/edit.png"></a> - - <a href="?action=del&id={$table_data1[table_data1].id}"><img title = 'QR-Code löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} diff --git a/templates/modern/admin/qr_frame.html b/templates/modern/admin/qr_frame.html deleted file mode 100644 index 847082a..0000000 --- a/templates/modern/admin/qr_frame.html +++ /dev/null @@ -1,20 +0,0 @@ -<html> -<head> -<title>Youtube Links</title> -<link type="text/css" rel="stylesheet" href="../css/styles_refill.css"> -</head> - - -<frameset rows="1*" cols="300, 76%" border="0"> -<frame name="menu_eingabe" scrolling="auto" marginwidth="10" marginheight="14" src="menu_qr.php"> -<frame name="eingabe_haupt" scrolling="yes" marginwidth="0" marginheight="0" src="qr_code.php"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates/modern/admin/result_latest.html b/templates/modern/admin/result_latest.html deleted file mode 100644 index 09ab4bf..0000000 --- a/templates/modern/admin/result_latest.html +++ /dev/null @@ -1,116 +0,0 @@ -{if $action == ''} -<!doctype html> -<html lang="de"> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <title>Auswertung</title> - <!-- https://www.budde-mediendesign.de/blog/programmierung/das-bootstrap-4-grid-system--> - <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> - <!-- - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous"> - --> - <style type="text/css"> - body { - background-color : #FFF; - } - .headline { - padding-top: 10px; - padding-bottom: 10px; - } - .container2 { - width: 80%; - } - .progress { - height: 28px; - } - .progress-bar { - background-color: #0BA7AD; - font-size: 16px; - line-height: 28px; - } - span { - position: absolute; - right: 20px; - color: #002C6C; - } -p { - margin: 0; - padding: 0; -} - </style> - </head> - <body> - <div class="container"> - <div class="grid"> - <div class="headline col-12 bg-white"> - <h2> - <p class="text-center">{$result_headline}</p> - </h2> - <p class="text-center small">({$result_datum_von} bis {$result_datum_bis})</p> - </div> - <div class="col-12 "> - <table class="table table-sm"> - <tbody> - <tr> - <th scope="row">Vollständige Teilnehmer</th> - <td>{$result_anz_fertige}</td> - <tr> - <th scope="row">Teilweise beantwortet</th> - <td>{$result_anz_angefangen}</td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="container"> - {section name=table_data loop=$table_data} - <p class="text-primary">{$table_data[table_data].frage}<br>({$table_data[table_data].anz_userfrage} Personen)</p> - {if $table_data[table_data].multiple == '1'} - <p class="small">(Multiple Choice Frage)</p> - {/if} - {section name=inner loop=$table_data[table_data].inner} - <div class="row"> - <div class="col-5"> - <label> - <p class="small">{$table_data[table_data].inner[inner].antwort}</p> - </label> - </div> - <div class="col-7"> - <div class="progress"> - <div class="progress-bar" role="progressbar" aria-valuenow="{$table_data[table_data].inner[inner].prozent}" aria-valuemin="0" aria-valuemax="100" style="width: {$table_data[table_data].inner[inner].prozent}%;"><span>{$table_data[table_data].inner[inner].prozent}%</span></div> - </div> - </div> - </div> - {/section} - <br> - {/section} - </div> - <div class="container"> - <div class="grid"> - - <div class="col-12 "> - <table class="table table-striped"> - {section name=table_data3 loop=$table_data3} - {if $smarty.section.table_data3.rownum == 1} - <thead> - <tr> - <th scope="col"><p class="text-primary">Bemerkungen</p></th> - </tr> - </thead> - <tbody> - {/if} - <tr> - <td>{$table_data3[table_data3].freitext}</td> - </tr> - {/section} - </tbody> - </table> - </div> - </div> - </div> - - </body> -</html> -{/if} diff --git a/templates/modern/admin/sitz_koord.html b/templates/modern/admin/sitz_koord.html deleted file mode 100644 index f1f0131..0000000 --- a/templates/modern/admin/sitz_koord.html +++ /dev/null @@ -1,34 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <form action="?action=edit" method='post' name='ausgabe'> - {section name=table_data1 loop=$table_data1} - {$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} <a href="?action=del&bid={$table_data1[table_data1].bid}&reihe={$koord_reihe}&platz={$koord_platz}&tid={$koord_tid}"><img title = 'Zuordnung löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> {if $table_data1[table_data1].favorit == 0} - <a href="?action=fav&status=0&vorname={$table_data1[table_data1].vorname}&nachname={$table_data1[table_data1].nachname}&tid={$koord_tid}&reihe={$koord_reihe}&platz={$koord_platz}"><img title = 'Standardplatz löschen' border="0" height=10 src="../templates/{$global_template}/images/favorit_red.png"></a>{/if}{if $table_data1[table_data1].favorit == 1} - <a href="?action=fav&status=1&vorname={$table_data1[table_data1].vorname}&nachname={$table_data1[table_data1].nachname}&tid={$koord_tid}&reihe={$koord_reihe}&platz={$koord_platz}"><img title = 'Als Standardplatz setzen' border="0" height=10 src="../templates/{$global_template}/images/favorit.png"></a>{/if}<br> - {/section} - </form> - </body> -</html> -{/if} - -{if $action == 'del'} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type="text/javascript"> - function reload_unzugeordnet() { - var iframe = parent.document.getElementById('unzugeordnet'); - iframe.src = iframe.src; - var iframe = parent.document.getElementById('warteliste'); - iframe.src = iframe.src; - } - </script> - </head> - <body onload='reload_unzugeordnet();'> - </body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/sitzplatz.html b/templates/modern/admin/sitzplatz.html deleted file mode 100644 index 9537ce0..0000000 --- a/templates/modern/admin/sitzplatz.html +++ /dev/null @@ -1,936 +0,0 @@ - {if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - select{ - width:330px; - } - </style> - </head> - <body> - <form action="?action=edit" method='post' name='ausgabe'> - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Sitzplätze</b> - </legend> - <br /> - <br /> - <p align="center"> - <select name="testtermin" size=15> - {section name=table_data1 loop=$table_data1} - <option value="{$table_data1[table_data1].tid}">{$table_data1[table_data1].datum_form} ({$table_data1[table_data1].anz_ges} Anm / {$table_data1[table_data1].anz_fam} Haush.)</option> - {/section} - </select> - </p> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Datum wählen"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} -{if $action == 'edit'} -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-us-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .squarebutton_blue{ - width:100px; - } - .button { - font: bold 11px Arial; - text-decoration: none; - background-color: #EEEEEE; - color: #333333; - padding: 2px 6px 2px 6px; - border-top: 1px solid #CCCCCC; - border-right: 1px solid #333333; - border-bottom: 1px solid #333333; - border-left: 1px solid #CCCCCC; - } - .tg{ - border-collapse:collapse; - border-spacing:0; - } - .tg td{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:14px; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg th{ - border-color:black; - border-style:solid; - border-width:1px; - font-family:Arial, sans-serif; - font-size:14px; - font-weight:normal; - overflow:hidden; - padding:6px 7px; - word-break:normal; - } - .tg .tg-hfk9{ - background-color:#000000; - border-color:#000000; - text-align:left; - vertical-align:top - } - .tg .tg-1i2r{ - background-color:#f8ff00; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-llyw{ - background-color:#c0c0c0; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-0pky{ - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-c6of{ - background-color:#ffffff; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-agym{ - background-color:#fcff2f; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-61xu{ - background-color:#cbcefb; - border-color:inherit; - text-align:left; - vertical-align:top - } - .tg .tg-y6fn{ - background-color:#c0c0c0; - text-align:left; - vertical-align:top - } - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } - fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; - } - </style> - <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" /> - <script type="text/javascript" src="../fancybox/jquery-1.5.1.min.js"></script> - <!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>--> - <script type="text/javascript" src="../fancybox/jquery.mousewheel-3.0.4.pack.js"></script> - <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script> - <script type="text/javascript"> - $(document).ready(function() { - $(".box").fancybox({ - 'width' : '75%', - 'height' : '75%', - 'autoScale' : true, - 'transitionIn' : 'elastic', - 'transitionOut' : 'elastic', - 'type' : 'iframe' - }); - }); - </script> - <script> - function resizeIframe(obj) { - obj.style.height = obj.contentWindow.document.documentElement.scrollHeight + 'px'; - } - </script> - - </head> - <body> - <table width="100%"> - <tr> - <td width="5%"> - - </td> - <td width="90%"> - <div class="Header"> - <div> - <div align="center">Sitzplan: {$edit_value_datum}</div> - </div> - </div> - <div class="pat_list_box"> - <p> - {if $save_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$save_error_text} - </td> - </tr> - </table> - <br /> - {else} - <iframe src="./gd_verwaltung.php?tid={$edit_value_tid}" name="verwaltung" id="verwaltung" width="1100" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <iframe src="./unzugeordnet.php?tid={$edit_value_tid}" name="unzugeordnet" id="unzugeordnet" width="1100" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <iframe src="./warteliste.php?tid={$edit_value_tid}" name="warteliste" id="warteliste" width="1100" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <br> - <br> - <table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" > - <tr> - <td align="left"> - <table width="100%" border="0"> - <tr> - <td width="80%"> - <table class="tg"> - <thead> - <tr> - <th class="tg-llyw"></th> - <th class="tg-llyw"></th> - <th class="tg-llyw">A</th> - <th class="tg-llyw">B</th> - <th class="tg-llyw">C</th> - <th class="tg-llyw"></th> - <th class="tg-llyw">D</th> - <th class="tg-llyw">E</th> - <th class="tg-llyw">F</th> - <th class="tg-llyw"></th> - <th class="tg-llyw"></th> - </tr> - </thead> - <tbody> - <tr> - <td class="tg-llyw">A1<br></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"> - <!-- A1 A--> - <iframe src="./sitz_koord.php?reihe=A1&platz=A&tid={$edit_value_tid}" name="A1A" id="A1A"s width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <br>Klavier - </td> - <td class="tg-0pky"> - <!-- A1 B--> - <iframe src="./sitz_koord.php?reihe=A1&platz=B&tid={$edit_value_tid}" name="A1B" id="A1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 C--> - <iframe src="./sitz_koord.php?reihe=A1&platz=C&tid={$edit_value_tid}" name="A1C" id="A1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-c6of"></td> - <td class="tg-0pky"> - <!-- A1 D--> - <iframe src="./sitz_koord.php?reihe=A1&platz=D&tid={$edit_value_tid}" name="A1D" id="A1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 E--> - <iframe src="./sitz_koord.php?reihe=A1&platz=E&tid={$edit_value_tid}" name="A1E" id="A1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- A1 F--> - <iframe src="./sitz_koord.php?reihe=A1&platz=F&tid={$edit_value_tid}" name="A1F" id="A1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">K1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K1 A--> - <iframe src="./sitz_koord.php?reihe=K1&platz=A&tid={$edit_value_tid}" name="K1A" id="K1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 B--> - <iframe src="./sitz_koord.php?reihe=K1&platz=B&tid={$edit_value_tid}" name="K1B" id="K1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 C--> - <iframe src="./sitz_koord.php?reihe=K1&platz=C&tid={$edit_value_tid}" name="K1C" id="K1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K1 D--> - <iframe src="./sitz_koord.php?reihe=K1&platz=D&tid={$edit_value_tid}" name="K1D" id="K1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 E--> - <iframe src="./sitz_koord.php?reihe=K1&platz=E&tid={$edit_value_tid}" name="K1E" id="K1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K1 F--> - <iframe src="./sitz_koord.php?reihe=K1&platz=F&tid={$edit_value_tid}" name="K1F" id="K1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K1</td> - </tr> - <tr> - <td class="tg-llyw">K2</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K2 A--> - <iframe src="./sitz_koord.php?reihe=K2&platz=A&tid={$edit_value_tid}" name="K2A" id="K2A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K2 B--> - <iframe src="./sitz_koord.php?reihe=K2&platz=B&tid={$edit_value_tid}" name="K2B" id="K2B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K2 C--> - <iframe src="./sitz_koord.php?reihe=K2&platz=C&tid={$edit_value_tid}" name="K2C" id="K2C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K2 D--> - <iframe src="./sitz_koord.php?reihe=K2&platz=D&tid={$edit_value_tid}" name="K2D" id="K2D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K2 E--> - <iframe src="./sitz_koord.php?reihe=K2&platz=E&tid={$edit_value_tid}" name="K2E" id="K2E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K2 F--> - <iframe src="./sitz_koord.php?reihe=K2&platz=F&tid={$edit_value_tid}" name="K2F" id="K2F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K2</td> - </tr> - <tr> - <td class="tg-llyw">K3</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K3 A--> - <iframe src="./sitz_koord.php?reihe=K3&platz=A&tid={$edit_value_tid}" name="K3A" id="K3A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 B--> - <iframe src="./sitz_koord.php?reihe=K3&platz=B&tid={$edit_value_tid}" name="K3B" id="K3B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 C--> - <iframe src="./sitz_koord.php?reihe=K3&platz=C&tid={$edit_value_tid}" name="K3C" id="K3C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K3 D--> - <iframe src="./sitz_koord.php?reihe=K3&platz=D&tid={$edit_value_tid}" name="K3D" id="K3D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 E--> - <iframe src="./sitz_koord.php?reihe=K3&platz=E&tid={$edit_value_tid}" name="K3E" id="K3E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K3 F--> - <iframe src="./sitz_koord.php?reihe=K3&platz=F&tid={$edit_value_tid}" name="K3F" id="K3F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K3</td> - </tr> - <tr> - <td class="tg-llyw">K4</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K4 A--> - <iframe src="./sitz_koord.php?reihe=K4&platz=A&tid={$edit_value_tid}" name="K4A" id="K4A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 B--> - <iframe src="./sitz_koord.php?reihe=K4&platz=B&tid={$edit_value_tid}" name="K4B" id="K4B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 C--> - <iframe src="./sitz_koord.php?reihe=K4&platz=C&tid={$edit_value_tid}" name="K4C" id="K4C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K4 D--> - <iframe src="./sitz_koord.php?reihe=K4&platz=D&tid={$edit_value_tid}" name="K4D" id="K4D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K4 E--> - <iframe src="./sitz_koord.php?reihe=K4&platz=E&tid={$edit_value_tid}" name="K4E" id="K4E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K4 F--> - <iframe src="./sitz_koord.php?reihe=K4&platz=F&tid={$edit_value_tid}" name="K4F" id="K4F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K4</td> - </tr> - <tr> - <td class="tg-llyw">K5</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K5 A--> - <iframe src="./sitz_koord.php?reihe=K5&platz=A&tid={$edit_value_tid}" name="K5A" id="K5A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 B--> - <iframe src="./sitz_koord.php?reihe=K5&platz=B&tid={$edit_value_tid}" name="K5B" id="K5B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 C--> - <iframe src="./sitz_koord.php?reihe=K5&platz=C&tid={$edit_value_tid}" name="K5C" id="K5C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K5 D--> - <iframe src="./sitz_koord.php?reihe=K5&platz=D&tid={$edit_value_tid}" name="K5D" id="K5D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K5 E--> - <iframe src="./sitz_koord.php?reihe=K5&platz=E&tid={$edit_value_tid}" name="K5E" id="K5E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K5 F--> - <iframe src="./sitz_koord.php?reihe=K5&platz=F&tid={$edit_value_tid}" name="K5F" id="K5F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K5</td> - </tr> - <tr> - <td class="tg-llyw">K6</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K6 A--> - <iframe src="./sitz_koord.php?reihe=K6&platz=A&tid={$edit_value_tid}" name="K6A" id="K6A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K6 B--> - <iframe src="./sitz_koord.php?reihe=K6&platz=B&tid={$edit_value_tid}" name="K6B" id="K6B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K6 C--> - <iframe src="./sitz_koord.php?reihe=K6&platz=C&tid={$edit_value_tid}" name="K6C" id="K6C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K6 D--> - <iframe src="./sitz_koord.php?reihe=K6&platz=D&tid={$edit_value_tid}" name="K6D" id="K6D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K6 E--> - <iframe src="./sitz_koord.php?reihe=K6&platz=E&tid={$edit_value_tid}" name="K6E" id="K6E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K6 F--> - <iframe src="./sitz_koord.php?reihe=K6&platz=F&tid={$edit_value_tid}" name="K6F" id="K6F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K6</td> - </tr> - <tr> - <td class="tg-llyw">K7</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K7 A--> - <iframe src="./sitz_koord.php?reihe=K7&platz=A&tid={$edit_value_tid}" name="K7A" id="K7A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 B--> - <iframe src="./sitz_koord.php?reihe=K7&platz=B&tid={$edit_value_tid}" name="K7B" id="K7B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 C--> - <iframe src="./sitz_koord.php?reihe=K7&platz=C&tid={$edit_value_tid}" name="K7C" id="K7C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K7 D--> - <iframe src="./sitz_koord.php?reihe=K7&platz=D&tid={$edit_value_tid}" name="K7D" id="K7D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 E--> - <iframe src="./sitz_koord.php?reihe=K7&platz=E&tid={$edit_value_tid}" name="K7E" id="K7E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K7 F--> - <iframe src="./sitz_koord.php?reihe=K7&platz=F&tid={$edit_value_tid}" name="K7F" id="K7F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K7</td> - </tr> - <tr> - <td class="tg-llyw">K8</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K8 A--> - <iframe src="./sitz_koord.php?reihe=K8&platz=A&tid={$edit_value_tid}" name="K8A" id="K8A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K8 B--> - <iframe src="./sitz_koord.php?reihe=K8&platz=B&tid={$edit_value_tid}" name="K8B" id="K8B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K8 C--> - <iframe src="./sitz_koord.php?reihe=K8&platz=C&tid={$edit_value_tid}" name="K8C" id="K8C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K8 D--> - <iframe src="./sitz_koord.php?reihe=K8&platz=D&tid={$edit_value_tid}" name="K8D" id="K8D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - <td class="tg-0pky"> - <!-- K8 E--> - <iframe src="./sitz_koord.php?reihe=K8&platz=E&tid={$edit_value_tid}" name="K8E" id="K8E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K8 F--> - <iframe src="./sitz_koord.php?reihe=K8&platz=F&tid={$edit_value_tid}" name="K8F" id="K8F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K8</td> - </tr> - <tr> - <td class="tg-llyw">K9</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K9 A--> - <iframe src="./sitz_koord.php?reihe=K9&platz=A&tid={$edit_value_tid}" name="K9A" id="K9A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 B--> - <iframe src="./sitz_koord.php?reihe=K9&platz=B&tid={$edit_value_tid}" name="K9B" id="K9B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 C--> - <iframe src="./sitz_koord.php?reihe=K9&platz=C&tid={$edit_value_tid}" name="K9C" id="K9C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K9 D--> - <iframe src="./sitz_koord.php?reihe=K9&platz=D&tid={$edit_value_tid}" name="K9D" id="K9D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 E--> - <iframe src="./sitz_koord.php?reihe=K9&platz=E&tid={$edit_value_tid}" name="K9E" id="K9E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K9 F--> - <iframe src="./sitz_koord.php?reihe=K9&platz=F&tid={$edit_value_tid}" name="K9F" id="K9F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K9</td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-agym"></td> - <td class="tg-agym"></td> - <td class="tg-agym"></td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K10 D--> - <iframe src="./sitz_koord.php?reihe=K10&platz=D&tid={$edit_value_tid}" name="K10D" id="K10D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 E--> - <iframe src="./sitz_koord.php?reihe=K10&platz=E&tid={$edit_value_tid}" name="K10E" id="K10E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 F--> - <iframe src="./sitz_koord.php?reihe=K10&platz=F&tid={$edit_value_tid}" name="K10F" id="K10F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">K10</td> - </tr> - <tr> - <td class="tg-llyw">K10</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- K10 A--> - <iframe src="./sitz_koord.php?reihe=K10&platz=A&tid={$edit_value_tid}" name="K10A" id="K10A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 B--> - <iframe src="./sitz_koord.php?reihe=K10&platz=B&tid={$edit_value_tid}" name="K10B" id="K10B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- K10 C--> - <iframe src="./sitz_koord.php?reihe=K10&platz=C&tid={$edit_value_tid}" name="K10C" id="K10C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">D1</td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-0pky"> - <!-- D1 E--> - <iframe src="./sitz_koord.php?reihe=D1&platz=E&tid={$edit_value_tid}" name="D1E" id="D1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw">D1</td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-61xu"></td> - <td class="tg-61xu"></td> - <td class="tg-61xu"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">M1</td> - <td class="tg-1i2r"></td> - <td class="tg-61xu"> - <!-- M1 A--> - <iframe src="./sitz_koord.php?reihe=M1&platz=A&tid={$edit_value_tid}" name="M1A" id="M1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-61xu"> - <!-- M1 B--> - <iframe src="./sitz_koord.php?reihe=M1&platz=B&tid={$edit_value_tid}" name="M1B" id="M1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-61xu"> - <!-- M1 C--> - <iframe src="./sitz_koord.php?reihe=M1&platz=C&tid={$edit_value_tid}" name="M1C" id="M1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw">F1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- F1 A--> - <iframe src="./sitz_koord.php?reihe=F1&platz=A&tid={$edit_value_tid}" name="F1A" id="F1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- F1 B--> - <iframe src="./sitz_koord.php?reihe=F1&platz=B&tid={$edit_value_tid}" name="F1B" id="F1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- F1 C--> - <iframe src="./sitz_koord.php?reihe=F1&platz=C&tid={$edit_value_tid}" name="F1C" id="F1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-0pky"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - <td class="tg-hfk9"></td> - </tr> - <tr> - <td class="tg-llyw">E1</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E1 A--> - <iframe src="./sitz_koord.php?reihe=E1&platz=A&tid={$edit_value_tid}" name="E1A" id="E1A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 B--> - <iframe src="./sitz_koord.php?reihe=E1&platz=B&tid={$edit_value_tid}" name="E1B" id="E1B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 C--> - <iframe src="./sitz_koord.php?reihe=E1&platz=C&tid={$edit_value_tid}" name="E1C" id="E1C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E1 D--> - <iframe src="./sitz_koord.php?reihe=E1&platz=D&tid={$edit_value_tid}" name="E1D" id="E1D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 E--> - <iframe src="./sitz_koord.php?reihe=E1&platz=E&tid={$edit_value_tid}" name="E1E" id="E1E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E1 F--> - <iframe src="./sitz_koord.php?reihe=E1&platz=F&tid={$edit_value_tid}" name="E1F" id="E1F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E1</td> - </tr> - <tr> - <td class="tg-llyw">E2</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E2 A--> - <iframe src="./sitz_koord.php?reihe=E2&platz=A&tid={$edit_value_tid}" name="E2A" id="E2A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 B--> - <iframe src="./sitz_koord.php?reihe=E2&platz=B&tid={$edit_value_tid}" name="E2B" id="E2B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 C--> - <iframe src="./sitz_koord.php?reihe=E2&platz=C&tid={$edit_value_tid}" name="E2C" id="E2C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E2 D--> - <iframe src="./sitz_koord.php?reihe=E2&platz=D&tid={$edit_value_tid}" name="E2D" id="E2D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 E--> - <iframe src="./sitz_koord.php?reihe=E2&platz=E&tid={$edit_value_tid}" name="E2E" id="E2E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E2 F--> - <iframe src="./sitz_koord.php?reihe=E2&platz=F&tid={$edit_value_tid}" name="E2F" id="E2F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E2</td> - </tr> - <tr> - <td class="tg-llyw">E3</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E3 A--> - <iframe src="./sitz_koord.php?reihe=E3&platz=A&tid={$edit_value_tid}" name="E3A" id="E3A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 B--> - <iframe src="./sitz_koord.php?reihe=E3&platz=B&tid={$edit_value_tid}" name="E3B" id="E3B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 C--> - <iframe src="./sitz_koord.php?reihe=E3&platz=C&tid={$edit_value_tid}" name="E3C" id="E3C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E3 D--> - <iframe src="./sitz_koord.php?reihe=E3&platz=D&tid={$edit_value_tid}" name="E3D" id="E3D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 E--> - <iframe src="./sitz_koord.php?reihe=E3&platz=E&tid={$edit_value_tid}" name="E3E" id="E3E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E3 F--> - <iframe src="./sitz_koord.php?reihe=E3&platz=F&tid={$edit_value_tid}" name="E3F" id="E3F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E3</td> - </tr> - <tr> - <td class="tg-llyw">E4</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E4 A--> - <iframe src="./sitz_koord.php?reihe=E4&platz=A&tid={$edit_value_tid}" name="E4A" id="E4A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 B--> - <iframe src="./sitz_koord.php?reihe=E4&platz=B&tid={$edit_value_tid}" name="E4B" id="E4B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 C--> - <iframe src="./sitz_koord.php?reihe=E4&platz=C&tid={$edit_value_tid}" name="E4C" id="E4C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E4 D--> - <iframe src="./sitz_koord.php?reihe=E4&platz=D&tid={$edit_value_tid}" name="E4D" id="E4D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 E--> - <iframe src="./sitz_koord.php?reihe=E4&platz=E&tid={$edit_value_tid}" name="E4E" id="E4E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E4 F--> - <iframe src="./sitz_koord.php?reihe=E4&platz=F&tid={$edit_value_tid}" name="E4F" id="E4F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-1i2r"></td> - <td class="tg-llyw">E4</td> - </tr> - <tr> - <td class="tg-llyw">E5</td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E5 A--> - <iframe src="./sitz_koord.php?reihe=E5&platz=A&tid={$edit_value_tid}" name="E5A" id="E5A" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 B--> - <iframe src="./sitz_koord.php?reihe=E5&platz=B&tid={$edit_value_tid}" name="E5B" id="E5B" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 C--> - <iframe src="./sitz_koord.php?reihe=E5&platz=C&tid={$edit_value_tid}" name="E5C" id="E5C" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - - </td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-llyw"></td> - </tr> - <tr> - <td class="tg-llyw"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-1i2r"></td> - <td class="tg-0pky"> - <!-- E5 D--> - <iframe src="./sitz_koord.php?reihe=E5&platz=D&tid={$edit_value_tid}" name="E5D" id="E5D" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 E--> - <iframe src="./sitz_koord.php?reihe=E5&platz=E&tid={$edit_value_tid}" name="E5E" id="E5E" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"> - <!-- E5 F--> - <iframe src="./sitz_koord.php?reihe=E5&platz=F&tid={$edit_value_tid}" name="E5F" id="E5F" width="150" onload="resizeIframe(this)" align="center" scrolling="" marginheight="0" marginwidth="0" frameborder="0"></iframe> - </td> - <td class="tg-0pky"></td> - <td class="tg-llyw">E5</td> - </tr> - <tr> - <td class="tg-y6fn"></td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn">A</td> - <td class="tg-y6fn">B</td> - <td class="tg-y6fn">C</td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn">D</td> - <td class="tg-y6fn">E</td> - <td class="tg-y6fn">F</td> - <td class="tg-y6fn"></td> - <td class="tg-y6fn"></td> - </tr> - </tbody> - </table> - <br> - <table width="600" border="0"> - <tr> - <td valign="top"> - <fieldset> - <legend> - <b>Sonntagschule</b> - </legend> - <iframe src="./sitz_koord.php?reihe=Sonntagschule&tid={$edit_value_tid}" name="Sonntagschule" id="Sonntagschule" width="300" onload="resizeIframe(this)" frameborder="0"></iframe> - </fieldset> - </td> - <td valign="top"> - <fieldset> - <legend> - <b>Vorsonntagschule</b> - </legend> - <iframe src="./sitz_koord.php?reihe=Vorsonntagschule&tid={$edit_value_tid}" name="Vorsonntagschule" id="Vorsonntagschule" width="300" onload="resizeIframe(this)" frameborder="0"></iframe> - </fieldset> - </td> - </table> - <fieldset> - <legend><b>Legende</b></legend> - <table border="0"> - <tr> - <td width="300" valign='top'> - A1 = Altarraum<br> - K1-10 = Kirchenschiffreihen<br> - D1 = Diakon<br> - M1 = Mutter/Kind<br> - F1 = Foyer<br> - E1-5 Empore<br> - </td> - <td width="500" valign='top'> - <img border="0" height=10 src="../templates/{$global_template}/images/drop.png"> Sitzplatzuweisung für den aktuellen GD löschen<br> - <img border="0" height=10 src="../templates/{$global_template}/images/favorit.png"> Standardsitzplatz zuweisen, für alle <u>künftigen Registrierungen</u><br> - <img border="0" height=10 src="../templates/{$global_template}/images/favorit_red.png"> Standardsitzplatz löschen, für alle <u>künftigen Registrierungen</u><br> - </td> - </tr> - </table> - </fieldset> - <br> - </td> - </tr> - </table> - </td> - </tr> - </table> - <br> - <br> - {/if} - </div> - </td> - <td width="5%"> - - </td> - </tr> - </table> - </body> -</html> -{/if} - diff --git a/templates/modern/admin/survey_erfassen.html b/templates/modern/admin/survey_erfassen.html deleted file mode 100644 index 2349d8f..0000000 --- a/templates/modern/admin/survey_erfassen.html +++ /dev/null @@ -1,517 +0,0 @@ -{if $action == ''} -<html> - <head> - - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> - <script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script> - <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> - - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - .btn-group > .btn{ - margin-bottom:20px; - border-radius:20px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '00:00', - maxTime: '23:00', - startTime: '0', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .form-control{ - width:50%; - } - - </style> - </head> - <body> - <form action="?action=fragen" method='post' name='erfassen'> - {if $umfrageerf_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$umfrageerf_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Zeitraum der Umfrage und Bezeichnung</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td width="30%"> - Link verfügbar ab Datum: - </td> - <td> - <input type="text" class="datepicker form-control" name="datumvon" id="datumvon" value="{$umfrageerf_value_datumvon}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="30%"> - Link verfügbar ab Uhrzeit: - </td> - <td> - <input type="text" class="timepicker form-control" name="zeitvon" id="zeitvon" value="{$umfrageerf_value_zeitvon}" onKeypress="return trackKeys(event,/[0-9,:]/);"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - <tr> - <td width="30%"> - Link verfügbar bis Datum: - </td> - <td> - <input type="text" class="datepicker form-control" name="datumbis" id="datumbis" value="{$umfrageerf_value_datumbis}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="30%"> - Link verfügbar bis Uhrzeit: - </td> - <td> - <input type="text" class="timepicker form-control" name="zeitbis" id="zeitbis" value="{$umfrageerf_value_zeitbis}" onKeypress="return trackKeys(event,/[0-9,:]/);"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - <tr> - <td> - Headline der Umfrage: - </td> - <td valign="top"> - <input class="form-control" type="text" name="headline" id="headline" value="{$umfrageerf_value_headline}" size="60"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - <tr> - <td> - Bemerkungsfeld am Ende der Umfrage: - </td> - <td valign="top"> - <div class="form-check form-switch"> - <input class="form-check-input" type="checkbox" name="freitext" id="freitext" value="{$umfrageerf_value_freitext}" {if $umfrageerf_value_freitext == 1} checked {/if}> - </div> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - </table> - <br /> - <p align='center'> - <div class="col-12 btn-group"> - <input type='submit' class="btn btn-primary" name='senden' value="Weiter - Fragen erfassen"> - </div> - </p> - <br /> - </fieldset> - </form> - </body> -</html> -{/if} -{if $action == 'fragen'} -<!doctype html> -<html lang="de"> - <head> - <meta charset="utf-8"> - <meta name="description" content="Scrollable tab for Bootstrap 5"> - <meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs"> - <meta name="author" content="Federico Navarrete"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet"> - <script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script> - <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> - <script src="../jquery/jquery-3.4.1.min.js"></script> - <!-- jQuery UI CSS - <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script> - --> - <script src="../jquery/jquery-ui.js"></script> - <style> - .btn-group > .btn{ - margin-bottom:20px; - border-radius:20px !important; - } - </style> - <script type="text/javascript"> - {literal} - - -function keysave(ele) { - if(event.key === 'Enter') { - erfassensave(); - } -} - - $(document).ready(function() { - - //Helper function to keep table row from collapsing when being sorted - var fixHelperModified = function(e, tr) { - var $originals = tr.children(); - var $helper = tr.clone(); - $helper.children().each(function(index) - { - $(this).width($originals.eq(index).width()) - }); - return $helper; - }; - - //Make diagnosis table sortable - $("#sortable tbody").sortable({ - helper: fixHelperModified, - stop: function(event,ui) { - renumber_table('#sortable') - var order = $('#sortable tbody').sortable('toArray', { attribute: 'data-sort-id'}); - console.log(order.join(',')); - sortOrder = order.join(','); - $.post( - '../controller/reihenfolge.ajax.php', - {'action':'updateSortedRows','sortOrder':sortOrder}, - function(data){ - var a = data.split('|***|'); - if(a[1]=="update"){ - $('#msg').show().delay(1000).fadeOut(500); - $('#msg').html(a[0]); - } - } - ); - - } - }).disableSelection(); - - - }); - - //Renumber table rows - function renumber_table(tableID) { - $(tableID + " tr").each(function() { - count = $(this).parent().children().index($(this)) + 1; - $(this).find('.priority').html(count); - }); - } - - {/literal} - </script> - <style type="text/css"> - .ui-sortable tr { - cursor:pointer; - } - .ui-sortable tr:hover { - background:rgba(244,251,17,0.45); - } - </style> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:630px; - } - .form-control{ - width:50%; - } - </style> - </head> - <body onload="if(document.erfassen)document.erfassen.{$umfrageerf_focus}.focus();return false;"> - <!--Anwendung--> - <script src="../js/components/admin_erfassen.js"></script> - -<!-- <form action="?action=save" method='post' name='erfassen'> ---> - - {if $umfrageerf_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$umfrageerf_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Frage & Antworten erfassen</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td> - Frage: - </td> - <td valign="top"> - <input class="form-control" type="text" name="frage" id="frage" value="{$umfrageerf_value_frage}" size="60" onkeydown="keysave(this)"> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - <tr> - <td> - Antwort: - </td> - <td valign="top"> - <input class="form-control" type="text" name="antwort" id="antwort" value="{$umfrageerf_value_antwort}" size="60" onkeydown="keysave(this)"> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - <tr> - <td> - Mehrfachantworten erlauben: - </td> - <td valign="top"> - <input class="form-check-input" type="checkbox" name="multiple" id="multiple" value="1" onclick="erf_multiple();" {if $umfrageerf_value_multiple == 1} checked {/if}> - </td> - </tr> - - - </table> - <br /> - <p align='center'> - <div class="col-12 btn-group"> - <a type="submit" href="?" class="btn btn-light">Zurück - Stammdaten bearbeiten</a> -<!-- <input type='submit' class="btn btn-primary" name='senden' value="Frage/Antwort Speichern"> ---> - - <button class="btn btn-primary" id="save" onclick="erfassensave();">Frage/Antwort Speichern</button> - </div> - </p> - <br /> - </fieldset> - <br> - <br> - <fieldset> - <legend> - <b>Vorschau der Fragen</b> - </legend> - <div class="w-100 pt-3"> - <div class="scroller scroller-left float-start mt-2"><i class="bi bi-caret-left-fill"></i></div> - <div class="scroller scroller-right float-end mt-2"><i class="bi bi-caret-right-fill"></i></div> - <div class="wrapper-nav"> - <nav class="nav nav-tabs list mt-2" id="myTab" role="tablist"> - {section name=table_data1 loop=$table_data1} - <a {if $table_data1[table_data1].ufid == $umfrageerf_gesp_werte_value_ufid2} class="nav-item nav-link pointer active" {else} class="nav-item nav-link pointer" {/if} data-bs-target="#tab{$table_data1[table_data1].ufid}" href="?action=fragen&tabufid={$table_data1[table_data1].ufid}&erfassen=1"role="tab" aria-controls="public" {if $smarty.section.table_data1.rownum == $umfrageerf_gesp_werte_value_ufid2} aria-selected="true" {/if}>Frage {$smarty.section.table_data1.rownum}</a> - <!-- - <a class="nav-item nav-link pointer active" data-bs-toggle="tab" data-bs-target="#tab1" role="tab" aria-controls="public" aria-selected="true">Tab1</a> - <a class="nav-item nav-link pointer" data-bs-target="#tab2" role="tab" data-bs-toggle="tab">Tab 2</a> - <a class="nav-item nav-link pointer" data-bs-target="#tab3" role="tab" data-bs-toggle="tab">Tab 3</a> - <a class="nav-item nav-link pointer" data-bs-target="#tab4" role="tab" data-bs-toggle="tab">Tab 4</a> - <a class="nav-item nav-link pointer" data-bs-target="#tab5" role="tab" data-bs-toggle="tab">Tab 5</a> - <a class="nav-item nav-link pointer" data-bs-target="#tab6" role="tab" data-bs-toggle="tab">Tab 6</a> - --> - {/section} - <a class="nav-item nav-link pointer" data-bs-target="#neuefrage" href="?action=fragen&tabufid=neuefrage&erfassen=1" role="tab">Neue Frage</a> - </nav> - </div> - <div class="tab-content p-3" id="myTabContent"> - <div role="tabpanel" class="tab-pane fade active show mt-2" id="tab{$umfrageerf_gesp_werte_value_ufid2}" aria-labelledby="public-tab" > - <h2>{$umfrageerf_value_frage}</h2> - <br> - {if $table_data2_anz > 0} - <table class="table" id="sortable"> - <thead> - <tr> - <th>Sortierung</th> - <th>Antwortmöglichkeit</th> - <th>Löschen</th> - </tr> - </thead> - <tbody id="tb"> - {section name=table_data2 loop=$table_data2} - <tr data-sort-id="{$table_data2[table_data2].uaid}"> - <td valign="middle" class="priority">{$smarty.section.table_data2.rownum}</td> - <td valign="middle">{$table_data2[table_data2].antwort}</td> - <td valign="middle"><button class="btn btn-delete btn-danger" onclick="onClickDelete({$table_data2[table_data2].uaid})">Löschen</button></td> - </tr> - {/section} - </table> - <div id="msg"></div> - {/if} -<!-- - </form> ---> - <p align='center'><button class="btn btn-delete btn-danger" onclick="onClickDeleteQuestion({$umfrageerf_value_ufid})">Frage Löschen</button></p> - - </div> - <div class="tab-pane fade mt-2" id="neuefrage" role="tabpanel" aria-labelledby="group-dropdown2-tab" > - </div> - </div> - </div> - <script src="../bootstrap/node_modules/move-js/move.js"></script> - <link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet"> - <script src="../bootstrap/dist/scrollable-tabs.min.js"></script> - </body> -</html> - -</body> -</html> -{/if} \ No newline at end of file diff --git a/templates/modern/admin/survey_frame.html b/templates/modern/admin/survey_frame.html deleted file mode 100644 index 2f82c3d..0000000 --- a/templates/modern/admin/survey_frame.html +++ /dev/null @@ -1,20 +0,0 @@ -<html> -<head> -<title>Youtube Links</title> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> -</head> - - -<frameset rows="1*" cols="300, 76%" border="0"> -<frame name="menu_eingabe" scrolling="auto" marginwidth="10" marginheight="14" src="menu_survey.php"> -<frame name="eingabe_haupt" scrolling="yes" marginwidth="0" marginheight="0" src="survey_erfassen.php?new=1"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates/modern/admin/termine.html b/templates/modern/admin/termine.html deleted file mode 100644 index 388bce4..0000000 --- a/templates/modern/admin/termine.html +++ /dev/null @@ -1,457 +0,0 @@ -{if $action == ''} -<html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <script src="../jquery/jquery.timepicker.min.js"></script> - <style type="text/css"> - .spinner { - width: 112px; - height: 15px; - font-size: 12px !important; - } - </style> - <script> - $( function() { - $( ".spinner" ).spinner({ - change: function (event, ui) { - <!--calc_erm_78();--> - }, - spin: function (event, ui) { - <!--calc_erm_78();--> - }, - start: function (event, ui) { - <!--calc_erm_78();--> - }, - stop: function (event, ui) { - <!--calc_erm_78();--> - }, - step: 1, - numberFormat: "i", - min:0, - decimals:0 - }); - Globalize.culture( "de-DE" ); - } ); - - function trackKeys(evnt,regEx) { - var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which; - return !!String.fromCharCode(keyCode).match(regEx); - } - //--> - </script> - <script type="text/javascript"> - $(function() { - $(".datepicker").datepicker({ - prevText: '< zurück', prevStatus: '', - prevJumpText: '<<', prevJumpStatus: '', - changeMonth: true, - changeYear: true, - nextText: 'Vor >', nextStatus: '', - nextJumpText: '>>', nextJumpStatus: '', - currentText: 'Heute', currentStatus: '', - todayText: 'Heute', todayStatus: '', - clearText: '-', clearStatus: '', - closeText: 'schließen', closeStatus: '', - monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], - monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'], - dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], - dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], - dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], - weekHeader: 'Wo', - weekStatus: 'Woche des Monats', - showMonthAfterYear: false, - showOn: 'focus', - firstDay: 1, - numberOfMonths : 1, - yearRange: "c-5:+5", - showButtonPanel : true, - altField : "#datepicker_input", - dateFormat : "dd.mm.yy", - showWeek: true - }); - $.datepicker._gotoToday = function(id) { - $(id).datepicker('setDate', new Date()).datepicker('hide').blur(); - } - - }); - </script> - - <script type="text/javascript"> - $(document).ready(function(){ - $('input.timepicker').timepicker({ - timeFormat: 'HH:mm', - interval: 30, - minTime: '9', - maxTime: '21:00', - startTime: '7', - dynamic: false, - dropdown: true, - scrollbar: true - }); - }); - </script> - - <style> - .StandardTable thead th{ - background: lightgray; - border: 1px solid #656565; - font-size:12px; - font-family:Arial; - padding-top:5px; - padding-bottom:5px; - padding-left:5px; - padding-right:5px; - } - textarea{ - border: 1px solid #888; - height: 6.7em; - width: 48.5em; - } - select{ - width:390px; - } - </style> - </head> - - <body> - - <form action="?action=save" method='post' name='erfassen'> - - {if $termine_error == '1'} - <table width="70%" class="errorTable" align="center"> - <tr> - <td> - <img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif"> - </td> - <td><b>Achtung!</b><br> - {$termine_error_text} - </td> - </tr> - </table> - <br /> - {/if} - <fieldset> - <legend> - <b>Termine erfassen</b> - </legend> - <br /> - <br /> - <table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable"> - <tr> - <td width="30%"> - Gottesdienstdatum: - </td> - <td> - <input type="text" class="datepicker" name="datum" id="datum" value="{$termine_value_datum}"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - <tr> - <tr> - <td width="30%"> - Uhrzeit: - </td> - <td> - <input type="text" class="timepicker" name="tm_zeit" id="datum" value="{$termine_value_zeit}" onKeypress="return trackKeys(event,/[0-9,:]/);"> - </td> - </tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td> - Hinweis: - </td> - <td valign="top"> - <input type="text" name="hinweis" id="hinweis" value="{$termine_value_hinweis}" size="60"> - </td> - </tr> - <tr> - <tr> - <td width="30%"> - </td> - <td> - </td> - </tr> - - <tr> - <td> - Fellbach GD: - </td> - <td valign="top"> - <select name="fellbach_gd" id="fellbach_gd"> - <option style="background-color:#FFFFFF;" value="N" {if $termine_value_fellbach_gd == 'N'} selected {/if}>Nein</option> - <option style="background-color:#FFFFFF;" value="J" {if $termine_value_fellbach_gd == 'J'} selected {/if}>Ja, QR Codes werden versendet</option> - </select> - </td> - </tr> - <tr> - <td> - </td> - <td> - </td> - </tr> - - </table> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Termin speichern"> - </p> - <br /> - </fieldset> - </form> - <br /> - <br /> - <fieldset> - <legend> - <b>Erfasste Termine</b> - </legend> - <table cellspacing="0" cellpadding="2" width="100%" border="1"> - <tr> - <td> - <b>lfd.Nr.</b> - </td> - <td> - <b>Gottesdienstdatum</b> - </td> - <td> - <b>Uhrzeit</b> - </td> - <td> - <b>Anmeldungen</b> - </td> - <td> - <b>Hinweis</b> - </td> - <td align="center"> - <b>Edit</b> - </td> - <tr> - {section name=table_data1 loop=$table_data1} - {if $smarty.section.table_data1.rownum != ''} - <tr> - <td> - {$smarty.section.table_data1.rownum} - </td> - <td> - {$table_data1[table_data1].datum_form} - </td> - <td> - {$table_data1[table_data1].zeit} - </td> - <td> - {$table_data1[table_data1].anz_ges} Personen / {$table_data1[table_data1].anz_fam} Haushalte - </td> - <td> - {$table_data1[table_data1].hinweis} - </td> - <td align="center"> - <a href=?edit={$table_data1[table_data1].tid}><img title = "Termin bearbeiten" border="0" height=10 src="../templates/{$global_template}/images/edit.png"></a> - - {if $table_data1[table_data1].tm_disable == 0} - <img title = 'Termin bereits gebucht' border="0" height=10 src="../templates/{$global_template}/images/drop_grey.png"> - {else} - <a href="?action=del&tid={$table_data1[table_data1].tid}"><img title = 'Termin löschen' border="0" height=10 src="../templates/{$global_template}/images/drop.png"></a> - {/if} - </td> - </tr> - {/if} - {/section} - </table> - </fieldset> - - <br /> - <br /> - <br /> - <br /> - </body> -</html> -{/if} - -{if $action == 'mailterminupdate'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - <script type='text/javascript' src='../ckeditor5/build/ckeditor.js'></script> - <style> - .ck-editor__editable { - min-height: 300px; - } - p { - margin: 0; - } - </style> - </head> - <body> - <fieldset> - <legend> - <b>Mailtext</b> - </legend> - <br /> - <br /> - <font color='red'>Zu dem Termin haben sich bereits Kandidaten eingebucht. Ihnen muss die Veränderung mitgeteilt werden.<br> - Sofern noch kein Test geschrieben wurde, kann der Kandidat auch wieder gelöscht werden. Dann wird die Hogrefe TAN wieder frei und die Gebühr muss nicht bezahlt werden. - <br /> - <br /> - </font> - <form action="?action=mailsenden2" method='post' name='mailsenden2'> - <table width="100%" border="1" cellspacing="0" cellpadding="0" rules="all"> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Absender: - </td> - <td style="padding-left:5px"> - <select name="absender"> - <option value="Kehl" selected>Kehl</option> - <option value="Ludwigsburg">Ludwigsburg</option> - </select> - </td> - </tr> - <tr> - <td width="200" height="40" style="padding-left:5px"> - Empfänger: - </td> - <td style="padding-left:5px"> - {$mtupd_mailadressen_an} - <input type="hidden" name="empfaenger_an" id="empfaenger_an" size="101" value="{$mtupd_mailadressen_an}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Empfänger BCC: - </td> - <td style="padding-left:5px"> - {$mtupd_mailadressen_bcc} - <input type="hidden" name="empfaenger_bcc" id="empfaenger_bcc" size="101" value="{$mtupd_mailadressen_bcc}"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Betreff: - </td> - <td style="padding-left:5px"> - <input type="text" id="betreff" name="betreff" value="" size="60"> - </td> - </tr> - <tr> - <td height="40" style="padding-left:5px"> - Mailtext: - </td> - <td style="padding-left:5px"> - <textarea id='text' name='text'></textarea> - {literal} - <script>ClassicEditor - .create( document.querySelector( '#text' ), { - - toolbar: { - items: [ - 'heading', - '|', - 'fontSize', - 'fontFamily', - 'fontBackgroundColor', - 'fontColor', - '|', - 'bold', - 'italic', - 'link', - 'bulletedList', - 'numberedList', - '|', - 'alignment', - 'indent', - 'outdent', - '|', - 'imageUpload', - 'blockQuote', - 'insertTable', - 'mediaEmbed', - 'undo', - 'redo' - ] - }, - language: 'de', - image: { - toolbar: [ - 'imageTextAlternative', - 'imageStyle:full', - 'imageStyle:side' - ] - }, - table: { - contentToolbar: [ - 'tableColumn', - 'tableRow', - 'mergeTableCells', - 'tableCellProperties', - 'tableProperties' - ] - }, - licenseKey: '', - } ) - .then( editor => { - window.editor = editor; - } ) - .catch( error => { - console.error( error ); - } ); - </script> - {/literal} - </td> - </tr> - </table> - </p> - <br /> - <br /> - <p align='center'> - <input type='submit' name='senden' value="Mail senden"> - </p> - <br /> - </form> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> -{/if} - - {if $action == 'mailsenden2'} - <html> - <head> - <link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - </head> - <body> - <fieldset> - <legend> - <b>Ergebnis</b> - </legend> - <br /> - <br /> - {$mail_senderg} - <br> - <br> - </fieldset> - <br /> - <br /> - <br /> - <br /> - </body> - </html> - {/if} diff --git a/templates/modern/admin/titel.html b/templates/modern/admin/titel.html deleted file mode 100644 index 193e5f2..0000000 --- a/templates/modern/admin/titel.html +++ /dev/null @@ -1,43 +0,0 @@ -<html> -<head> -<title>{$global_titel}</title> -<meta name="generator" content="Namo WebEditor"> -<base target="detail"> -<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css"> - - - -</head> - -<body> - -<table width="100%" cellpadding="0" cellspacing="0" border="0"> - <tr> - <td width="500" height="60" valign="top"> - <h2>{$global_titel}</h2> - </td> - <td width="73"> </td> - <td width="159"> </td> - <td width="71"> </td> - <td width="2%"> </td> - <td width=""> </td> - <td width="157" valign="top"> - <p align="right"><a class="navbar" href="logout.php" target="_parent">Logout</a></p> - </td> - <td width="25"> </td> - </tr> -</table> - -<div id="filltab" class="animatedtabs"> - <ul> - <li><a href="survey_frame.php"><span>{$titel_head_umfrage}</span></a></li> - <li><a href="administration_frame.php"><span>{$titel_head_admin}</span></a></li> - </ul> -</div> - - - - -</body> - -</html> \ No newline at end of file diff --git a/templates/modern/admin/unzugeordnet.html b/templates/modern/admin/unzugeordnet.html deleted file mode 100644 index f005a91..0000000 --- a/templates/modern/admin/unzugeordnet.html +++ /dev/null @@ -1,86 +0,0 @@ -<html> -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } -fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} - </style> - - <script type="text/javascript"> - function save_platz(selectObject) { - - var reihe_platz = selectObject.value; - var lfd_tid = selectObject.name; - $.ajax({ - type: 'POST', - url: 'save_platz.php', - data: { - get_reiheplatz: reihe_platz, - get_lfdtid: lfd_tid - }, - success: function (response) { - var iframe = parent.document.getElementById(response); - iframe.src = iframe.src; - window.location.reload(); - } - }); - } - </script> - - </head> - <body> - <fieldset> - <legend class="legend1" align="center"> - <b>Nicht zugeordnete Personen</b> - </legend> - <form action=?action=save method="POST" name="save"> - <table width="100%" border="1" cellspacing="0" cellpadding="0"> - <tr> - <td><b>Name</b></td> - <td><b>Mögliche Sitzplätze</b></td> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td>{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} ({$table_data1[table_data1].Anz} {if $table_data1[table_data1].Anz == 1} Person{else} Personen{/if})</td> - <td> - <select name="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" id="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" onchange="save_platz(this);"> - <option>Bitte Platz auswählen</option> - {section name=inner loop=$table_data1[table_data1].inner} - <option value="{$table_data1[table_data1].inner[inner].reihe}|{$table_data1[table_data1].inner[inner].platz}">{$table_data1[table_data1].inner[inner].reihe} {if $table_data1[table_data1].inner[inner].platz != ''}/ {$table_data1[table_data1].inner[inner].platz}{/if}</option> - {/section} - <option value="Sonntagschule|">Sonntagschule</option> - <option value="Vorsonntagschule|">Vorsonntagschule</option> - </select> - - </td> - </tr> - {/section} - </table> - </form> - </fieldset> -</body> -</html> diff --git a/templates/modern/admin/verwaltung_frame.html b/templates/modern/admin/verwaltung_frame.html deleted file mode 100644 index 4932dc8..0000000 --- a/templates/modern/admin/verwaltung_frame.html +++ /dev/null @@ -1,20 +0,0 @@ -<html> -<head> -<title>Deputatverwaltung</title> -<link type="text/css" rel="stylesheet" href="../css/styles_refill.css"> -</head> - - -<frameset rows="1*" cols="300, 76%" border="0"> -<frame name="menu_eingabe" scrolling="auto" marginwidth="10" marginheight="14" src="menu_verwaltung.php"> -<frame name="eingabe_haupt" scrolling="yes" marginwidth="0" marginheight="0" src="termine.php"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates/modern/admin/warteliste.html b/templates/modern/admin/warteliste.html deleted file mode 100644 index ee334f0..0000000 --- a/templates/modern/admin/warteliste.html +++ /dev/null @@ -1,121 +0,0 @@ -{if $action == ''} -<html> -<head> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - <meta name="mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-capable" content="yes" /> - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> - <title>Sitzplan</title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <link rel="stylesheet" href="../templates/{$global_template}/css/styles_login.css" type="text/css"> - <link rel="stylesheet" href="../jquery/jquery-ui.css"> - <script src="../jquery/jquery-1.12.4.js"></script> - <script src="../jquery/jquery-ui.js"></script> - <script src="../jquery/globalize.js"></script> - <script src="../jquery/globalize.culture.de-DE.js"></script> - <script src="../jquery/jquery.mousewheel.js"></script> - <style> - .legend1 { - display: block; - padding-left: 30px; - padding-right: 30px; - border: none; - } -fieldset { - margin-left: 2em; - margin-right: 2em; - margin-bottom: 2em; - border: 1px solid #888; - border-right: 1px solid #666; - border-bottom: 1px solid #666; -} - </style> - - <script type="text/javascript"> - function save_platz(selectObject) { - - var reihe_platz = selectObject.value; - var lfd_tid = selectObject.name; - $.ajax({ - type: 'POST', - url: 'save_platz.php', - data: { - get_reiheplatz: reihe_platz, - get_lfdtid: lfd_tid - }, - success: function (response) { - var iframe = parent.document.getElementById(response); - iframe.src = iframe.src; - window.location.reload(); - } - }); - } - </script> - - </head> - <body> - <fieldset> - <legend class="legend1" align="center"> - <b>Warteliste</b> - </legend> - <form action=?action=save method="POST" name="save"> - <table width="100%" border="1" cellspacing="0" cellpadding="0"> - <tr> - <td><b>Name</b></td> - <td><b>Mögliche Sitzplätze</b></td> - <td><b>Eintragedatum auf Warteliste</b></td> - <td><b>Dringender Grund</b></td> - </tr> - {section name=table_data1 loop=$table_data1} - <tr> - <td>{$table_data1[table_data1].nachname}, {$table_data1[table_data1].vorname} ({$table_data1[table_data1].Anz} {if $table_data1[table_data1].Anz == 1} Person{else} Personen{/if})</td> - <td> - <select name="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" id="{$table_data1[table_data1].lfd_haushalt}|{$table_data1[table_data1].tid}" onchange="save_platz(this);"> - <option>Bitte Platz auswählen</option> - {section name=inner loop=$table_data1[table_data1].inner} - <option value="{$table_data1[table_data1].inner[inner].reihe}|{$table_data1[table_data1].inner[inner].platz}">{$table_data1[table_data1].inner[inner].reihe} {if $table_data1[table_data1].inner[inner].platz != ''}/ {$table_data1[table_data1].inner[inner].platz}{/if}</option> - {/section} - <option value="Sonntagschule|">Sonntagschule</option> - <option value="Vorsonntagschule|">Vorsonntagschule</option> - </select> - </td> - <td>{$table_data1[table_data1].save_date}</td> - <td>{$table_data1[table_data1].warteliste_grund}</td> - </tr> - {/section} - </table> - </form> - <br> - <p align="center"> - <b>Zugeteilt aus Warteliste</b> - </p> - <table width="100%" border="1" cellspacing="0" cellpadding="0"> - <tr> - <td><b>Name</b></td> - <td><b>Eintragedatum auf Warteliste</b></td> - <td><b>Dringender Grund</b></td> - <td><b>Mail</b></td> - <td><b>Mailversand</b></td> - </tr> - {section name=table_data2 loop=$table_data2} - <tr> - <td>{$table_data2[table_data2].nachname}, {$table_data2[table_data2].vorname} ({$table_data2[table_data2].reihe} / {$table_data2[table_data2].platz})</td> - <td>{$table_data2[table_data2].save_date}</td> - <td>{$table_data2[table_data2].warteliste_grund}</td> - <td>{$table_data2[table_data2].mail}</td> - <td> - <p align="center"> - {if $table_data2[table_data2].warteliste_confirm == ''} - <a href="?action=mail&tid={$table_data2[table_data2].tid}&lfd_haushalt={$table_data2[table_data2].lfd_haushalt}"><img title = 'Automatischer Mailversand: Zusage GD' border="0" height=20 src="../templates/{$global_template}/images/mail_icon.jpg"></a> - {else} - Zusage verschickt: {$table_data2[table_data2].warteliste_confirm} - {/if} - </td> - </tr> - {/section} - </table> - - </fieldset> -</body> -</html> -{/if} diff --git a/templates/modern/admin/youtube_frame.html b/templates/modern/admin/youtube_frame.html deleted file mode 100644 index 7f4f1cf..0000000 --- a/templates/modern/admin/youtube_frame.html +++ /dev/null @@ -1,20 +0,0 @@ -<html> -<head> -<title>Youtube Links</title> -<link type="text/css" rel="stylesheet" href="../css/styles_refill.css"> -</head> - - -<frameset rows="1*" cols="300, 76%" border="0"> -<frame name="menu_eingabe" scrolling="auto" marginwidth="10" marginheight="14" src="menu_youtube.php"> -<frame name="eingabe_haupt" scrolling="yes" marginwidth="0" marginheight="0" src="yt_termine.php"> -</frameset> -<noframes> -<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<p>To view this page correctly, you need a Web browser that supports frames.</p> - -</body> -</noframes> -</frameset> -</html> \ No newline at end of file diff --git a/templates_c/2c7573aca5bcffa232f4e19fd56675ada4969120_0.file.login.html.php b/templates_c/2c7573aca5bcffa232f4e19fd56675ada4969120_0.file.login.html.php index f514882..bd81ad6 100644 --- a/templates_c/2c7573aca5bcffa232f4e19fd56675ada4969120_0.file.login.html.php +++ b/templates_c/2c7573aca5bcffa232f4e19fd56675ada4969120_0.file.login.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 16:02:35 +/* Smarty version 3.1.39, created on 2023-03-30 07:47:01 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\login.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_642444fb108e38_88581849', + 'unifunc' => 'content_64252255521825_50782072', 'has_nocache_code' => false, 'file_dependency' => array ( '2c7573aca5bcffa232f4e19fd56675ada4969120' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\login.html', - 1 => 1680098552, + 1 => 1680155023, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_642444fb108e38_88581849 (Smarty_Internal_Template $_smarty_tpl) { +function content_64252255521825_50782072 (Smarty_Internal_Template $_smarty_tpl) { if ($_smarty_tpl->tpl_vars['action']->value == '') {?> <!DOCTYPE html> <html lang="en"> @@ -110,19 +110,21 @@ $(document).ready(function(){ --> <div class="d-flex align-items-center justify-content-between mt-4 mb-0"> <!--<a class="small" href="password.html">Forgot Password?</a>--> - <label><input type="checkbox" name="angemeldet_bleiben" id="angemeldet_bleiben" value="1"> Angemeldet bleiben - <button type="button" class="btn btn-info btn-sm" data-bs-toggle="popover" data-bs-html="true" data-bs-trigger="hover" + <label><input type="checkbox" name="angemeldet_bleiben" id="angemeldet_bleiben" value="1"> + <a type="button" class="link-secondary" data-bs-toggle="popover" data-bs-html="true" data-bs-trigger="hover" title="Angemeldet bleiben" data-bs-content="Durch das Markieren dieses Feldes wird beim nächsten Besuch die Anmeldemaske nicht erscheinen.<br> <b>Die Anwendung speichert lokal Cookies in Ihrem Browser.</b><br> Sobald Sie in der Anwendung einen Logout machen, werden die Cookies gelöscht und ein Login ist wieder erforderlich."> - <i class="fas fa fa-info"></i> - </button> - </label><br> + Angemeldet bleiben + </a> + </label> - <input type='submit' class="btn btn-primary" onclick="login();" name='senden' value="Login"> - </div> + <a class="link-secondary" href="passwortvergessen.php">Passwort vergessen</a> + </div> + </div> + <input type='submit' class="btn btn-primary" onclick="login();" name='senden' value="Login"> <div class="card-footer text-center py-3"> <!--<div class="small"><a href="register.html">Need an account? Sign up!</a></div>--> </div> diff --git a/templates_c/5473cec3045fdc71e0e4856581f2d1efb812d964_0.file.survey_edit.html.php b/templates_c/5473cec3045fdc71e0e4856581f2d1efb812d964_0.file.survey_edit.html.php index 0f6417d..564c726 100644 --- a/templates_c/5473cec3045fdc71e0e4856581f2d1efb812d964_0.file.survey_edit.html.php +++ b/templates_c/5473cec3045fdc71e0e4856581f2d1efb812d964_0.file.survey_edit.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 12:13:17 +/* Smarty version 3.1.39, created on 2023-03-31 07:31:57 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\survey_edit.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_64240f3dba78e4_01027232', + 'unifunc' => 'content_6426704dae6892_07876676', 'has_nocache_code' => false, 'file_dependency' => array ( '5473cec3045fdc71e0e4856581f2d1efb812d964' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\survey_edit.html', - 1 => 1680067902, + 1 => 1680240591, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_64240f3dba78e4_01027232 (Smarty_Internal_Template $_smarty_tpl) { +function content_6426704dae6892_07876676 (Smarty_Internal_Template $_smarty_tpl) { if ($_smarty_tpl->tpl_vars['action']->value == '') {?> <!DOCTYPE html> <html lang="de"> @@ -79,11 +79,11 @@ if ($_smarty_tpl->tpl_vars['action']->value == '') {?> <div class="card-body"> <div class="row"> <!-- bei mobilen Geäten ausblenden: d-none d-lg-block --> - <div class="col-1 d-none d-lg-block"><b>Nr</b></div> - <div class="col-5 d-none d-lg-block"><b>Überschrift</b></div> - <div class="col-2 d-none d-lg-block"><b>Startdatum</b></div> - <div class="col-2 d-none d-lg-block"><b>Enddatum</b></div> - <div class="col-2 d-none d-lg-block"><b>Bearbeiten</b></div> + <div class="d-none d-lg-block"><b>Nr</b></div> + <div class="d-none d-lg-block"><b>Überschrift</b></div> + <div class="d-none d-lg-block"><b>Startdatum</b></div> + <div class="d-none d-lg-block"><b>Enddatum</b></div> + <div class="d-none d-lg-block"><b>Bearbeiten</b></div> </div> <?php $__section_table_data1_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data1']->value) ? count($_loop) : max(0, (int) $_loop)); @@ -96,7 +96,7 @@ $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] = $__sec <div class="row mt-0 mb-0"> <div class="col-1 col-lg-1 mb-2 mb-sm-3"><?php echo (isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] : null);?> </div> - <div class="col-9 col-lg-5 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['headline'];?> + <div class="col-8 col-lg-5 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['headline'];?> <div class="d-block d-lg-none"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_von'];?> -</div> @@ -107,7 +107,7 @@ $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] = $__sec </div> <div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_bis'];?> </div> - <div class="col-2 col-lg-2 mb-2 mb-sm-3"> + <div class="col-3 col-lg-2 mb-2 mb-sm-3"> <a href="survey_erfassen.php?edit=1&umid=<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['umid'];?> " class="btn btn-primary btn-rounded btn-icon btn-sm"><i class="fa fa-edit" style="width:18px;"></i></a> <a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['umid'];?> diff --git a/templates_c/57c9edec298bae2fa93bf23cb3f138efb32a5c5d_0.file.notenupload.html.php b/templates_c/57c9edec298bae2fa93bf23cb3f138efb32a5c5d_0.file.notenupload.html.php new file mode 100644 index 0000000..d4dfd7b --- /dev/null +++ b/templates_c/57c9edec298bae2fa93bf23cb3f138efb32a5c5d_0.file.notenupload.html.php @@ -0,0 +1,191 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-31 13:06:40 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\notenupload.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_6426bec0cf98a1_06106606', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + '57c9edec298bae2fa93bf23cb3f138efb32a5c5d' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\notenupload.html', + 1 => 1680256913, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_6426bec0cf98a1_06106606 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!doctype html> +<html lang="de"> + <head> + <meta charset="utf-8"> + <meta name="description" content="Scrollable tab for Bootstrap 5"> + <meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs"> + <meta name="author" content="Federico Navarrete"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard --> + <link href="css/styles.css" rel="stylesheet" /> + <!-- icons in nav--> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + <!-- jQuery UI CSS + <?php echo '<script'; ?> + src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"><?php echo '</script'; ?> +> + --> + <?php echo '<script'; ?> + src="../jquery/jquery-ui.js"><?php echo '</script'; ?> +> + <!--<?php echo '<script'; ?> + type="text/javascript" charset="utf-8" language="javascript" src="../js/file_upload/DT_bootstrap.js"><?php echo '</script'; ?> +>--> + <?php echo '<script'; ?> + type="text/javascript" src="../js/file_upload/vpb_uploader.js"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + type="text/javascript">$(document).ready(function() + { + // Call the main function + new vpb_multiple_file_uploader + ({ + vpb_form_id: "form_id", // Form ID + autoSubmit: true, + vpb_server_url: "../controller/admin_notenupload.php" + }); + }); + <?php echo '</script'; ?> +> + <style> + body { + font-family:Verdana, Geneva, sans-serif; + } + span{ + color:red; + cursor:pointer; + } + </style> + <?php echo '<script'; ?> + type="text/javascript"> + + function keysave(ele) { + if(event.key === 'Enter') { + rollesave(); + } + } + + <?php echo '</script'; ?> +> + </head> + <!--<body onload="if(document.erfassen)document.erfassen.<?php echo $_smarty_tpl->tpl_vars['umfrageerf_focus']->value;?> +.focus();return false;">--> + <body class="sb-nav-fixed"> + <div id="navtop"></div> + + <?php echo '<script'; ?> +> + $(function(){ + // im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht + $("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');}); + $("#navleft").load("nav.php"); + $("#footer").load("footer.php"); + }); + <?php echo '</script'; ?> +> + + <div id="layoutSidenav"> + <!-- Navigation left --> + <div id="navleft"></div> + <div id="layoutSidenav_content"> + <main> + <div class="container-fluid"> + <form name="form_id" id="form_id" action="javascript:void(0);" enctype="multipart/form-data"> + <div class="card"> + <div class="card-header"> + <i class="fas fa-edit me-1"></i> + Notenupload + </div> + <div class="card-body"> + <div class="row"> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Titel:</div> + <div class="col-12 col-md-8"> + <input type="text" id="titel" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Verlag:</div> + <div class="col-12 col-md-8"> + <input type="text" id="verlag" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Anzahl Lizenzen:</div> + <div class="col-12 col-md-8"> + <input type="text" id="anz_lizenzen" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-8 col-md-4">Streamlizenz vorhanden:</div> + <div class="col-4 col-md-8"> + <input class="form-check-input" type="checkbox" name="streamlizenz" id="streamlizenz" value="1"> + </div> + </div> + + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <label for="formFile" class="form-label"> + <div class="col-12 col-md-4">PDF:</div> + <div class="col-12col-md-8"> + <input class="form-control" type="file" name="vasplus_multiple_files" id="vasplus_multiple_files" multiple="multiple"> + </div> + </label> + </div> + <table class="table table-striped table-bordered" id="add_files"> + <thead> + <tr> + <th style="color:blue; text-align:center;">Datei</th> + <th style="color:blue; text-align:center;">Status</th> + <th style="color:blue; text-align:center;">Größe</th> + <th style="color:blue; text-align:center;">Aktion</th> + <tr> + </thead> + <tbody> + </tbody> + </table> + + + </div> + <p align='center'> + <button class="col-6 btn btn-primary btn-sm mt-3" id="save">Speichern</button> + </p> + </div> + </div> + </div> + <div id="msg"></div> + </form> + </center> + </main> + <!-- footer --> + <div id="footer"></div> + </div> + </div> + </body> +</html> +<?php } +} +} diff --git a/templates_c/61084ee676a3c91a4b41c7e50fa536cf9cd1daac_0.file.index.html.php b/templates_c/61084ee676a3c91a4b41c7e50fa536cf9cd1daac_0.file.index.html.php index 4df8f09..6a1d00a 100644 --- a/templates_c/61084ee676a3c91a4b41c7e50fa536cf9cd1daac_0.file.index.html.php +++ b/templates_c/61084ee676a3c91a4b41c7e50fa536cf9cd1daac_0.file.index.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 13:34:44 +/* Smarty version 3.1.39, created on 2023-03-30 15:00:43 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\index.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_64242254290e23_08078591', + 'unifunc' => 'content_642587fb6e3f57_59937716', 'has_nocache_code' => false, 'file_dependency' => array ( '61084ee676a3c91a4b41c7e50fa536cf9cd1daac' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\index.html', - 1 => 1680089585, + 1 => 1680181242, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_64242254290e23_08078591 (Smarty_Internal_Template $_smarty_tpl) { +function content_642587fb6e3f57_59937716 (Smarty_Internal_Template $_smarty_tpl) { ?><!DOCTYPE html> <html lang="en"> <head> diff --git a/templates_c/73fc7d922bf5deb481c3ad13a23515c6f17bc0b3_0.file.test2.html.php b/templates_c/73fc7d922bf5deb481c3ad13a23515c6f17bc0b3_0.file.test2.html.php new file mode 100644 index 0000000..c3d06ae --- /dev/null +++ b/templates_c/73fc7d922bf5deb481c3ad13a23515c6f17bc0b3_0.file.test2.html.php @@ -0,0 +1,191 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-31 12:02:06 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\test2.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_6426af9e1123f2_00074654', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + '73fc7d922bf5deb481c3ad13a23515c6f17bc0b3' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\test2.html', + 1 => 1680256913, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_6426af9e1123f2_00074654 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!doctype html> +<html lang="de"> + <head> + <meta charset="utf-8"> + <meta name="description" content="Scrollable tab for Bootstrap 5"> + <meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs"> + <meta name="author" content="Federico Navarrete"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard --> + <link href="css/styles.css" rel="stylesheet" /> + <!-- icons in nav--> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + <!-- jQuery UI CSS + <?php echo '<script'; ?> + src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"><?php echo '</script'; ?> +> + --> + <?php echo '<script'; ?> + src="../jquery/jquery-ui.js"><?php echo '</script'; ?> +> + <!--<?php echo '<script'; ?> + type="text/javascript" charset="utf-8" language="javascript" src="../js/file_upload/DT_bootstrap.js"><?php echo '</script'; ?> +>--> + <?php echo '<script'; ?> + type="text/javascript" src="../js/file_upload/vpb_uploader.js"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + type="text/javascript">$(document).ready(function() + { + // Call the main function + new vpb_multiple_file_uploader + ({ + vpb_form_id: "form_id", // Form ID + autoSubmit: true, + vpb_server_url: "../controller/admin_notenupload.php" + }); + }); + <?php echo '</script'; ?> +> + <style> + body { + font-family:Verdana, Geneva, sans-serif; + } + span{ + color:red; + cursor:pointer; + } + </style> + <?php echo '<script'; ?> + type="text/javascript"> + + function keysave(ele) { + if(event.key === 'Enter') { + rollesave(); + } + } + + <?php echo '</script'; ?> +> + </head> + <!--<body onload="if(document.erfassen)document.erfassen.<?php echo $_smarty_tpl->tpl_vars['umfrageerf_focus']->value;?> +.focus();return false;">--> + <body class="sb-nav-fixed"> + <div id="navtop"></div> + + <?php echo '<script'; ?> +> + $(function(){ + // im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht + $("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');}); + $("#navleft").load("nav.php"); + $("#footer").load("footer.php"); + }); + <?php echo '</script'; ?> +> + + <div id="layoutSidenav"> + <!-- Navigation left --> + <div id="navleft"></div> + <div id="layoutSidenav_content"> + <main> + <div class="container-fluid"> + <form name="form_id" id="form_id" action="javascript:void(0);" enctype="multipart/form-data"> + <div class="card"> + <div class="card-header"> + <i class="fas fa-edit me-1"></i> + Notenupload + </div> + <div class="card-body"> + <div class="row"> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Titel:</div> + <div class="col-12 col-md-8"> + <input type="text" id="titel" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Verlag:</div> + <div class="col-12 col-md-8"> + <input type="text" id="verlag" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-4">Anzahl Lizenzen:</div> + <div class="col-12 col-md-8"> + <input type="text" id="anz_lizenzen" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-8 col-md-4">Streamlizenz vorhanden:</div> + <div class="col-4 col-md-8"> + <input class="form-check-input" type="checkbox" name="streamlizenz" id="streamlizenz" value="1"> + </div> + </div> + + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <label for="formFile" class="form-label"> + <div class="col-12 col-md-4">PDF:</div> + <div class="col-12col-md-8"> + <input class="form-control" type="file" name="vasplus_multiple_files" id="vasplus_multiple_files" multiple="multiple"> + </div> + </label> + </div> + <table class="table table-striped table-bordered" id="add_files"> + <thead> + <tr> + <th style="color:blue; text-align:center;">Datei</th> + <th style="color:blue; text-align:center;">Status</th> + <th style="color:blue; text-align:center;">Größe</th> + <th style="color:blue; text-align:center;">Aktion</th> + <tr> + </thead> + <tbody> + </tbody> + </table> + + + </div> + <p align='center'> + <button class="col-6 btn btn-primary btn-sm mt-3" id="save">Speichern</button> + </p> + </div> + </div> + </div> + <div id="msg"></div> + </form> + </center> + </main> + <!-- footer --> + <div id="footer"></div> + </div> + </div> + </body> +</html> +<?php } +} +} diff --git a/templates_c/81c00a8c5d0bbd7d154ad2d8777ef2d3d8c3a749_0.file.nav.html.php b/templates_c/81c00a8c5d0bbd7d154ad2d8777ef2d3d8c3a749_0.file.nav.html.php index 4327922..0d09761 100644 --- a/templates_c/81c00a8c5d0bbd7d154ad2d8777ef2d3d8c3a749_0.file.nav.html.php +++ b/templates_c/81c00a8c5d0bbd7d154ad2d8777ef2d3d8c3a749_0.file.nav.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 07:50:59 +/* Smarty version 3.1.39, created on 2023-03-30 15:05:23 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\nav.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_6423d1c386cc23_65117232', + 'unifunc' => 'content_64258913c8e6a4_46849023', 'has_nocache_code' => false, 'file_dependency' => array ( '81c00a8c5d0bbd7d154ad2d8777ef2d3d8c3a749' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\nav.html', - 1 => 1680067901, + 1 => 1680181522, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_6423d1c386cc23_65117232 (Smarty_Internal_Template $_smarty_tpl) { +function content_64258913c8e6a4_46849023 (Smarty_Internal_Template $_smarty_tpl) { ?><div id="layoutSidenav_nav"> <nav class="bg-juandmi sb-sidenav accordion sb-sidenav-dark" id="sidenavAccordion"> <div class="sb-sidenav-menu"> diff --git a/templates_c/9793bc7af7a2622ce56a48644369ad006edf9afb_0.file.test.html.php b/templates_c/9793bc7af7a2622ce56a48644369ad006edf9afb_0.file.test.html.php new file mode 100644 index 0000000..8199db8 --- /dev/null +++ b/templates_c/9793bc7af7a2622ce56a48644369ad006edf9afb_0.file.test.html.php @@ -0,0 +1,150 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-30 14:45:31 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\test.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_6425846b504783_38695102', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + '9793bc7af7a2622ce56a48644369ad006edf9afb' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\test.html', + 1 => 1680180329, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_6425846b504783_38695102 (Smarty_Internal_Template $_smarty_tpl) { +?><!DOCTYPE html> +<html lang="en"> +<head> + <title>JU & MI Startseite</title> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> + <meta name="description" content="" /> + <meta name="author" content="" /> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/@popperjs/core/dist/umd/popper.min.js"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard --> + <link href="css/styles.css" rel="stylesheet" /> + <!-- icons in nav--> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + +<style> +body { + margin: 0; + font-family: Arial, Helvetica, sans-serif; +} +@media only screen and (min-width: 769px) { +#div2 { + overflow: hidden; + background-color: #333; + height: 100%; + float: right !important; + width: 20%; +} +} + + + +@media only screen and (max-width: 768px) { +#div2 { + height: 100px; + width: 100%; + position:fixed; + bottom:0; + background-color:gray; +} +} + +.navbar a { + float: left; + display: block; + color: #f2f2f2; + text-align: center; + padding: 14px 16px; + text-decoration: none; + font-size: 17px; +} + +.navbar a:hover { + background: #f1f1f1; + color: black; +} + +.navbar a.active { + background-color: #04AA6D; + color: white; +} + +.main { + padding: 16px; + margin-bottom: 30px; +} + +</style> + + +<?php echo '<script'; ?> +> + <?php echo '<script'; ?> +> + $(document).ready(function() { + + $("#div2").resizable({ + alsoResize: "#main" + }); + + }) + <?php echo '</script'; ?> +> +<?php echo '</script'; ?> +> + + </head> + <body> + <button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling" aria-controls="offcanvasScrolling">Toggle bottom offcanvas</button> + +<div class="offcanvas offcanvas-bottom" data-bs-scroll="true" data-bs-backdrop="false" tabindex="-1" id="offcanvasScrolling" aria-labelledby="offcanvasScrollingLabel"> + <div class="offcanvas-header"> + <h5 class="offcanvas-title" id="offcanvasScrollingLabel">Colored with scrolling</h5> + <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> + </div> + <div class="offcanvas-body"> + <p>Try scrolling the rest of the page to see this option in action.</p> + </div> +</div> + +<div id="div2"> + <a href="#home" class="active">Home</a> + <a href="#news">News</a> + <a href="#contact">Contact</a> +</div> + +<div class="main"> + <h1>Bottom Navigation Bar</h1> + <p>Some text some text some text.</p> +</div> + + + + </body> +</html><?php } +} diff --git a/templates_c/97b09287298e63f520acba34eb2efc9072afab33_0.file.passwortzuruecksetzen.html.php b/templates_c/97b09287298e63f520acba34eb2efc9072afab33_0.file.passwortzuruecksetzen.html.php new file mode 100644 index 0000000..e43dd69 --- /dev/null +++ b/templates_c/97b09287298e63f520acba34eb2efc9072afab33_0.file.passwortzuruecksetzen.html.php @@ -0,0 +1,155 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-30 09:10:00 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\passwortzuruecksetzen.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_642535c8775434_88642412', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + '97b09287298e63f520acba34eb2efc9072afab33' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\passwortzuruecksetzen.html', + 1 => 1680160197, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_642535c8775434_88642412 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!DOCTYPE html> +<html lang="de"> + <head> + <title>JU & MI Passwort</title> + <link rel="stylesheet" href="../jquery/jquery-ui.css"> + <link rel="stylesheet" href="../jquery/jquery.timepicker.min.css"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard --> + <link href="css/styles.css" rel="stylesheet" /> + <!-- icons in nav--> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> + <?php echo '<script'; ?> + src="../js/lottie_bodymovin/lottie.min.js"><?php echo '</script'; ?> +> + <style type="text/css"> + .lottie-container { + justify-content: center; + top: 40px; + left: 0; + right: 0; + bottom: 20px; + height: 180px; + pointer-events: none; + } + </style> + </head> + <body> + <div id="navtop"></div> + + <?php echo '<script'; ?> +> + $(function() { + $("#password_new1").focus(); + }); + + $(function(){ + $("#footer").load("footer.php"); + }); + <?php echo '</script'; ?> +> + + <div id="layoutAuthentication"> + <div id="layoutAuthentication_content"> + <main> + <!--Anwendung--> + <?php echo '<script'; ?> + src="../js/components/admin_login.js"><?php echo '</script'; ?> +> + <div class="lottie-container" id="lottie-container"></div> + <div class="container"> + <div class="row justify-content-center"> + <div class="col-lg-5"> + <div class="card shadow-lg border-0 rounded-lg mt-5"> + <div class="card-header"> + <h3 class="text-center font-weight-light my-4">Passwort vergeben</h3> + </div> + <div class="card-body"> + <div class="row"> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-6">Neues Passwort:</div> + <div class="col-12 col-md-6"> + <input type="password" id="password_new1" class="form-control rounded-right" required onkeydown="keysave(this)"> + <input type="hidden" id="code" value="<?php echo $_smarty_tpl->tpl_vars['code']->value;?> +"> + <input type="hidden" id="uid" value="<?php echo $_smarty_tpl->tpl_vars['uid']->value;?> +"> + </div> + </div> + <div class="row mt-0 mt-sm-4 mb-0 mb-sm-4"> + <div class="col-12 col-md-6">Passwortwiederholung:</div> + <div class="col-12 col-md-6"> + <input type="password" id="password_new2" class="form-control rounded-right" required onkeydown="keysave(this)"> + </div> + </div> + </div> + </div> + <input type='submit' class="btn btn-primary" onclick="resetpasswort();" name='senden' value="Neues Passwort"> + </div> + <div id="msg"></div> + <?php if ($_smarty_tpl->tpl_vars['error']->value == 1) {?> + <div id="msg1"><?php echo $_smarty_tpl->tpl_vars['error_text']->value;?> +</div> + <?php }?> + </div> + </div> + </div> + <div class="lottie-container" id="lottie-container"></div> + <?php echo '<script'; ?> + type="text/javascript"> + var item = bodymovin.loadAnimation({ + wrapper: document.getElementById('lottie-container'), + animType: 'svg', + loop: true, + autoplay: true, + path: '../media/data.json' + }); + <?php echo '</script'; ?> +> + </main> + + <?php echo '<script'; ?> + type="text/javascript"> + function keysave(ele) { + if(event.key === 'Enter') { + resetpasswort(); + } + } + <?php echo '</script'; ?> +> + + </div> + <div id="layoutAuthentication_footer"> + <!-- footer --> + <div id="footer"></div> + </div> + </div> + </body> +</html> +<?php } +} +} diff --git a/templates_c/b4e5602d446d8313d97ced0388207c759a16c2a7_0.file.result_latest.html.php b/templates_c/b4e5602d446d8313d97ced0388207c759a16c2a7_0.file.result_latest.html.php new file mode 100644 index 0000000..f68de82 --- /dev/null +++ b/templates_c/b4e5602d446d8313d97ced0388207c759a16c2a7_0.file.result_latest.html.php @@ -0,0 +1,181 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-31 07:35:12 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\result_latest.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_642671100b86b8_69842888', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + 'b4e5602d446d8313d97ced0388207c759a16c2a7' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\result_latest.html', + 1 => 1679638069, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_642671100b86b8_69842888 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!doctype html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <title>Auswertung</title> + <!-- https://www.budde-mediendesign.de/blog/programmierung/das-bootstrap-4-grid-system--> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <!-- + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous"> + --> + <style type="text/css"> + body { + background-color : #FFF; + } + .headline { + padding-top: 10px; + padding-bottom: 10px; + } + .container2 { + width: 80%; + } + .progress { + height: 28px; + } + .progress-bar { + background-color: #0BA7AD; + font-size: 16px; + line-height: 28px; + } + span { + position: absolute; + right: 20px; + color: #002C6C; + } +p { + margin: 0; + padding: 0; +} + </style> + </head> + <body> + <div class="container"> + <div class="grid"> + <div class="headline col-12 bg-white"> + <h2> + <p class="text-center"><?php echo $_smarty_tpl->tpl_vars['result_headline']->value;?> +</p> + </h2> + <p class="text-center small">(<?php echo $_smarty_tpl->tpl_vars['result_datum_von']->value;?> + bis <?php echo $_smarty_tpl->tpl_vars['result_datum_bis']->value;?> +)</p> + </div> + <div class="col-12 "> + <table class="table table-sm"> + <tbody> + <tr> + <th scope="row">Vollständige Teilnehmer</th> + <td><?php echo $_smarty_tpl->tpl_vars['result_anz_fertige']->value;?> +</td> + <tr> + <th scope="row">Teilweise beantwortet</th> + <td><?php echo $_smarty_tpl->tpl_vars['result_anz_angefangen']->value;?> +</td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="container"> + <?php +$__section_table_data_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data']->value) ? count($_loop) : max(0, (int) $_loop)); +$__section_table_data_0_total = $__section_table_data_0_loop; +$_smarty_tpl->tpl_vars['__smarty_section_table_data'] = new Smarty_Variable(array()); +if ($__section_table_data_0_total !== 0) { +for ($__section_table_data_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] = 0; $__section_table_data_0_iteration <= $__section_table_data_0_total; $__section_table_data_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']++){ +?> + <p class="text-primary"><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['frage'];?> +<br>(<?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['anz_userfrage'];?> + Personen)</p> + <?php if ($_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['multiple'] == '1') {?> + <p class="small">(Multiple Choice Frage)</p> + <?php }?> + <?php +$__section_inner_1_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['inner']) ? count($_loop) : max(0, (int) $_loop)); +$__section_inner_1_total = $__section_inner_1_loop; +$_smarty_tpl->tpl_vars['__smarty_section_inner'] = new Smarty_Variable(array()); +if ($__section_inner_1_total !== 0) { +for ($__section_inner_1_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index'] = 0; $__section_inner_1_iteration <= $__section_inner_1_total; $__section_inner_1_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index']++){ +?> + <div class="row"> + <div class="col-5"> + <label> + <p class="small"><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['inner'][(isset($_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index'] : null)]['antwort'];?> +</p> + </label> + </div> + <div class="col-7"> + <div class="progress"> + <div class="progress-bar" role="progressbar" aria-valuenow="<?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['inner'][(isset($_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index'] : null)]['prozent'];?> +" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['inner'][(isset($_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index'] : null)]['prozent'];?> +%;"><span><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['inner'][(isset($_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_inner']->value['index'] : null)]['prozent'];?> +%</span></div> + </div> + </div> + </div> + <?php +} +} +?> + <br> + <?php +} +} +?> + </div> + <div class="container"> + <div class="grid"> + + <div class="col-12 "> + <table class="table table-striped"> + <?php +$__section_table_data3_2_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data3']->value) ? count($_loop) : max(0, (int) $_loop)); +$__section_table_data3_2_total = $__section_table_data3_2_loop; +$_smarty_tpl->tpl_vars['__smarty_section_table_data3'] = new Smarty_Variable(array()); +if ($__section_table_data3_2_total !== 0) { +for ($__section_table_data3_2_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['index'] = 0; $__section_table_data3_2_iteration <= $__section_table_data3_2_total; $__section_table_data3_2_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['index']++){ +$_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['rownum'] = $__section_table_data3_2_iteration; +?> + <?php if ((isset($_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['rownum'] : null) == 1) {?> + <thead> + <tr> + <th scope="col"><p class="text-primary">Bemerkungen</p></th> + </tr> + </thead> + <tbody> + <?php }?> + <tr> + <td><?php echo $_smarty_tpl->tpl_vars['table_data3']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data3']->value['index'] : null)]['freitext'];?> +</td> + </tr> + <?php +} +} +?> + </tbody> + </table> + </div> + </div> + </div> + + </body> +</html> +<?php } +} +} diff --git a/templates_c/b8d83054e878b1b922a1d5a1ae19f6455ab198f9_0.file.passwortvergessen.html.php b/templates_c/b8d83054e878b1b922a1d5a1ae19f6455ab198f9_0.file.passwortvergessen.html.php new file mode 100644 index 0000000..1075774 --- /dev/null +++ b/templates_c/b8d83054e878b1b922a1d5a1ae19f6455ab198f9_0.file.passwortvergessen.html.php @@ -0,0 +1,137 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-30 09:06:52 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\passwortvergessen.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_6425350ce57f48_04338265', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + 'b8d83054e878b1b922a1d5a1ae19f6455ab198f9' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\passwortvergessen.html', + 1 => 1680159981, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_6425350ce57f48_04338265 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> + <meta name="description" content="" /> + <meta name="author" content="" /> + <title>JU & MI Passwort vergessen</title> + <link href="css/styles.css" rel="stylesheet" /> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <?php echo '<script'; ?> + src="../js/lottie_bodymovin/lottie.min.js"><?php echo '</script'; ?> +> + <style type="text/css"> + .lottie-container { + justify-content: center; + top: 40px; + left: 0; + right: 0; + bottom: 20px; + height: 180px; + pointer-events: none; + } + </style> + + </head> + <body> + <div id="navtop"></div> + + <?php echo '<script'; ?> +> + $(function() { + $("#mail_pwvergessen").focus(); + }); + + $(function(){ + $("#footer").load("footer.php"); + }); + <?php echo '</script'; ?> +> + + <div id="layoutAuthentication"> + <div id="layoutAuthentication_content"> + <main> + <!--Anwendung--> + <?php echo '<script'; ?> + src="../js/components/admin_login.js"><?php echo '</script'; ?> +> + <div class="lottie-container" id="lottie-container"></div> + <div class="container"> + <div class="row justify-content-center"> + <div class="col-lg-5"> + <div class="card shadow-lg border-0 rounded-lg mt-5"> + <div class="card-header"> + <h3 class="text-center font-weight-light my-4">Passwort vergessen</h3> + </div> + <div class="card-body"> + <div class="form-floating mb-3"> + <input class="form-control" name="mail_pwvergessen" id="mail_pwvergessen" type="email" onkeydown="keysave(this)" placeholder="Mailadresse" /> + <label for="inputEmail">Mailadresse</label> + </div> + </div> + <input type='submit' class="btn btn-primary" onclick="passwortvergessen();" name='senden' value="Neues Passwort"> + </div> + <div id="msg"></div> + </div> + </div> + </div> + <div class="lottie-container" id="lottie-container"></div> + <?php echo '<script'; ?> + type="text/javascript"> + var item = bodymovin.loadAnimation({ + wrapper: document.getElementById('lottie-container'), + animType: 'svg', + loop: true, + autoplay: true, + path: '../media/data.json' + }); + <?php echo '</script'; ?> +> + </main> + + <?php echo '<script'; ?> + type="text/javascript"> + function keysave(ele) { + if(event.key === 'Enter') { + passwortvergessen(); + } + } + <?php echo '</script'; ?> +> + + </div> + <div id="layoutAuthentication_footer"> + <!-- footer --> + <div id="footer"></div> + </div> + </div> + </body> +</html> +<?php } +} +} diff --git a/templates_c/bd5096a73e573183754922867cfe39b849c92a94_0.file.rollen.html.php b/templates_c/bd5096a73e573183754922867cfe39b849c92a94_0.file.rollen.html.php index 27ee377..14e2bad 100644 --- a/templates_c/bd5096a73e573183754922867cfe39b849c92a94_0.file.rollen.html.php +++ b/templates_c/bd5096a73e573183754922867cfe39b849c92a94_0.file.rollen.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 15:57:03 +/* Smarty version 3.1.39, created on 2023-03-31 07:31:54 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\rollen.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_642443af4711e5_78506409', + 'unifunc' => 'content_6426704a8f7597_57526491', 'has_nocache_code' => false, 'file_dependency' => array ( 'bd5096a73e573183754922867cfe39b849c92a94' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\rollen.html', - 1 => 1680098220, + 1 => 1680240234, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_642443af4711e5_78506409 (Smarty_Internal_Template $_smarty_tpl) { +function content_6426704a8f7597_57526491 (Smarty_Internal_Template $_smarty_tpl) { if ($_smarty_tpl->tpl_vars['action']->value == '') {?> <!doctype html> <html lang="de"> @@ -136,8 +136,8 @@ $(document).ready(function(){ <div class="card-body"> <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> <div class="row mt-0 mb-0"> - <div class="d-none col-md-10 d-md-block"><b>Rolle</b></div> - <div class="d-none col-md-2 d-md-block"><b>Aktion</b></div> + <div class="d-none col-md-7 d-md-block"><b>Rolle</b></div> + <div class="d-none col-md-5 d-md-block"><b>Aktion</b></div> </div> <?php $__section_table_data_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data']->value) ? count($_loop) : max(0, (int) $_loop)); @@ -147,9 +147,9 @@ if ($__section_table_data_0_total !== 0) { for ($__section_table_data_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] = 0; $__section_table_data_0_iteration <= $__section_table_data_0_total; $__section_table_data_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']++){ ?> <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> - <div class="col-6 col-md-10"><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['bezeichnung'];?> + <div class="col-6 col-md-7"><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['bezeichnung'];?> </div> - <div class="col-6 col-md-2"> + <div class="col-6 col-md-5"> <a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="<?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['rid'];?> |rollenzuordnung.php" onclick="ShowZuordnung(this)" data-bs-target="#ZuordnungModal"><i class="fa fa-eye" style="width:18px;"></i></a> <a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="<?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['rid'];?> diff --git a/templates_c/f02f612a58f5c0c7ba21b9cb396a727ce3b40e1d_0.file.rollenzuordnung.html.php b/templates_c/f02f612a58f5c0c7ba21b9cb396a727ce3b40e1d_0.file.rollenzuordnung.html.php new file mode 100644 index 0000000..4681c04 --- /dev/null +++ b/templates_c/f02f612a58f5c0c7ba21b9cb396a727ce3b40e1d_0.file.rollenzuordnung.html.php @@ -0,0 +1,160 @@ +<?php +/* Smarty version 3.1.39, created on 2023-03-30 10:53:30 + from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\rollenzuordnung.html' */ + +/* @var Smarty_Internal_Template $_smarty_tpl */ +if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( + 'version' => '3.1.39', + 'unifunc' => 'content_64254e0a58ed54_26077627', + 'has_nocache_code' => false, + 'file_dependency' => + array ( + 'f02f612a58f5c0c7ba21b9cb396a727ce3b40e1d' => + array ( + 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\rollenzuordnung.html', + 1 => 1680067902, + 2 => 'file', + ), + ), + 'includes' => + array ( + ), +),false)) { +function content_64254e0a58ed54_26077627 (Smarty_Internal_Template $_smarty_tpl) { +if ($_smarty_tpl->tpl_vars['action']->value == '') {?> +<!doctype html> +<html lang="de"> + <head> + <meta charset="utf-8"> + <meta name="description" content="Scrollable tab for Bootstrap 5"> + <meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs"> + <meta name="author" content="Federico Navarrete"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?> +> + <!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard --> + <link href="css/styles.css" rel="stylesheet" /> + <!-- icons in nav--> + <?php echo '<script'; ?> + src="js/all.js" crossorigin="anonymous"><?php echo '</script'; ?> +> + <link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css"> + <?php echo '<script'; ?> + src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?> +> + <!-- jQuery UI CSS + <?php echo '<script'; ?> + src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"><?php echo '</script'; ?> +> + --> + <?php echo '<script'; ?> + src="../jquery/jquery-ui.js"><?php echo '</script'; ?> +> + <style> + .btn-group > .btn{ + margin-bottom:20px; + border-radius:20px !important; + } + </style> + <style type="text/css"> + .ui-sortable tr { + cursor:pointer; + } + .ui-sortable tr:hover { + background:rgba(244,251,17,0.45); + } + </style> + </head> + <!--<body onload="if(document.erfassen)document.erfassen.<?php echo $_smarty_tpl->tpl_vars['umfrageerf_focus']->value;?> +.focus();return false;">--> + <body class="sb-nav-fixed"> + <main> + <!--Anwendung--> + <?php echo '<script'; ?> + src="../js/components/admin_rollen.js"><?php echo '</script'; ?> +> + <p class="text-center"><b><?php echo $_smarty_tpl->tpl_vars['rollenzuordnung_bezeichnung']->value;?> +</b></p> + <div class="container-fluid"> + <div class="card"> + <div class="card-header"> + <i class="fas fa-table me-1"></i> + Nicht zugewiesene Rechte + </div> + <div class="card-body"> + <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> + <div class="row mt-0 mb-0"> + <div class="d-none col-md-10 d-md-block"><b>Recht</b></div> + <div class="d-none col-md-2 d-md-block"><b>Aktion</b></div> + </div> + <?php +$__section_table_data_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data']->value) ? count($_loop) : max(0, (int) $_loop)); +$__section_table_data_0_total = $__section_table_data_0_loop; +$_smarty_tpl->tpl_vars['__smarty_section_table_data'] = new Smarty_Variable(array()); +if ($__section_table_data_0_total !== 0) { +for ($__section_table_data_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] = 0; $__section_table_data_0_iteration <= $__section_table_data_0_total; $__section_table_data_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']++){ +?> + <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> + <div class="col-10 col-md-10"><?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['headline'];?> +</div> + <div class="col-2 col-md-2"><a class="btn btn-success btn-rounded btn-icon btn-sm" onclick="erfzuordnung('<?php echo $_smarty_tpl->tpl_vars['table_data']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data']->value['index'] : null)]['meid'];?> +|<?php echo $_smarty_tpl->tpl_vars['rollen_edit']->value;?> +')"><i class="fa-solid fa-plus" style="width:18px;"></i></a></div> + </div> + <?php +} +} +?> + </div> + </div> + </div> + <br> + <div class="card"> + <div class="card-header"> + <i class="fas fa-table me-1"></i> + Zugewiesene Rechte + </div> + <div class="card-body"> + <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> + <div class="row mt-0 mb-0"> + <div class="d-none col-md-10 d-md-block"><b>Recht</b></div> + <div class="d-none col-md-2 d-md-block"><b>Aktion</b></div> + </div> + <?php +$__section_table_data1_1_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data1']->value) ? count($_loop) : max(0, (int) $_loop)); +$__section_table_data1_1_total = $__section_table_data1_1_loop; +$_smarty_tpl->tpl_vars['__smarty_section_table_data1'] = new Smarty_Variable(array()); +if ($__section_table_data1_1_total !== 0) { +for ($__section_table_data1_1_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] = 0; $__section_table_data1_1_iteration <= $__section_table_data1_1_total; $__section_table_data1_1_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']++){ +?> + <div class="row mt-0 mt-sm-1 mb-0 mb-sm-1"> + <div class="col-10 col-md-10"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['headline'];?> +</div> + <div class="col-2 col-md-2"><a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="delzuordnung('<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['meid'];?> +|<?php echo $_smarty_tpl->tpl_vars['rollen_edit']->value;?> +')"><i class="fa-solid fa-minus" style="width:18px;"></i></a></div> + </div> + <?php +} +} +?> + </div> + </div> + </div> + <div id="msg"></div> + </main> + </div> + <?php echo '<script'; ?> + src="../bootstrap/node_modules/move-js/move.js"><?php echo '</script'; ?> +> + <link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet"> + <?php echo '<script'; ?> + src="../bootstrap/dist/scrollable-tabs.min.js"><?php echo '</script'; ?> +> + </body> +</html> +<?php } +} +} diff --git a/templates_c/fbe82feaa632818ff9ecad86ba177b47f9b345b0_0.file.navtop.html.php b/templates_c/fbe82feaa632818ff9ecad86ba177b47f9b345b0_0.file.navtop.html.php index c188600..56cdce7 100644 --- a/templates_c/fbe82feaa632818ff9ecad86ba177b47f9b345b0_0.file.navtop.html.php +++ b/templates_c/fbe82feaa632818ff9ecad86ba177b47f9b345b0_0.file.navtop.html.php @@ -1,18 +1,18 @@ <?php -/* Smarty version 3.1.39, created on 2023-03-29 07:50:59 +/* Smarty version 3.1.39, created on 2023-03-29 16:30:01 from 'C:\xampp_8.0.9\htdocs\survey\templates\modern\dashboard\navtop.html' */ /* @var Smarty_Internal_Template $_smarty_tpl */ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( 'version' => '3.1.39', - 'unifunc' => 'content_6423d1c372b676_57439701', + 'unifunc' => 'content_64244b69efcd96_28897610', 'has_nocache_code' => false, 'file_dependency' => array ( 'fbe82feaa632818ff9ecad86ba177b47f9b345b0' => array ( 0 => 'C:\\xampp_8.0.9\\htdocs\\survey\\templates\\modern\\dashboard\\navtop.html', - 1 => 1680067901, + 1 => 1680100036, 2 => 'file', ), ), @@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array ( array ( ), ),false)) { -function content_6423d1c372b676_57439701 (Smarty_Internal_Template $_smarty_tpl) { +function content_64244b69efcd96_28897610 (Smarty_Internal_Template $_smarty_tpl) { ?><!--Navigation top--> <style> <!-- abweichend von original styles.css --> @@ -41,7 +41,7 @@ function content_6423d1c372b676_57439701 (Smarty_Internal_Template $_smarty_tpl) </style> <nav class="bg-juandmi sb-topnav navbar navbar-expand navbar-dark"> <!-- Navbar Brand--> - <a class="navbar-brand ps-3" href="startseite.php">Administration JU & MI</a> + <a class="navbar-brand ps-3" href="index.php">Administration JU & MI</a> <!-- Sidebar Toggle: js/scripts.js in der callbackfunktion vom Load aufrufen beim einbetten--> <button class="btn btn-link btn-sm order-1 order-lg-0 me-4 me-lg-0" id="sidebarToggle" href="#!"><i class="fas fa-bars"></i></button> <!-- Navbar Search-->