-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.php
637 lines (546 loc) · 49.2 KB
/
index.php
1
2
3
4
5
6
7
8
9
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
=====================================================================================================================================================================================================================
=====================================================================================================================================================================================================================
=====================================================================================================================================================================================================================
========================================================================= -----BEGIN PGP MESSAGE-----
========================================================================= Version: GnuPG v2.0.19 (MingW32)
========================================================================= jA0ECQMCG4fK5bq9Geyn0uwBuWnF9YX4I2j92K1Cep+kT2zKPCMYuP2mZkQGSYLR
========================================================================= HNDbrIXSHr47RAedHCsg+iqnu4jJtsodBHv4nsJ+rCjLtW6QK9IQ2Qdd5Hm76Z0Q
========================================================================= bOdVMSpQaOg7Zg6bBv9TKWKK9+SrvNW06I9JyDZCCgFLANHTL+ZzE8CcFoAB+gyX
========================================================================= 5RfKOjaOXJtCNqo5vV0JuclS69/QBloA6kIPY4yqScJiPL66T5kcfsJ8akbvICE+
========================================================================= u+uu/aCLMSr4dQ9sT1WgCtJ3LfDnQPsyOomJaSDGCN3WCu9J8/JxNiQKqlMq2mgI
========================================================================= XgMysOhXNGyzZR8ZIRHq+7RZE+yl9PSwKwto++oaLEGMd/RTcdqRdq09ucx12zwm
========================================================================= cqr1apvHXaMx2w+UOAxVwf9FA4xxOPPOXagd8KQZJXr1HakxqcLkAotcybLOOkmw
========================================================================= umRyR+7jkkhpsS04vgKdCCsSRzueF4BmlEu/ov8CbDTzNqXP/J/lGfZgE3Xs0LMI
========================================================================= VLiGAeIc6srOsqwvboPkui0WijPViOKLbW3tABAaDZN+61LnwxfEGXu/IkGfi5Ls
========================================================================= qQpEnznS1yenGI93t1IhgQuFW52psutlI+5ndE+5hLx6ogdyP51gRNnd2vGdAIxG
========================================================================= ohZGlGWsPu2vm5mOox5mVzwImmpGTaSDtQrGEH15uWVnAR4IbpsjsycQbnGkElxB
========================================================================= 2Aro9emrhyKNRKnYi4WJL2wck0+vq30MT3lH/2XLMgzWjcZ3Csy46+3q2j8fZsNm
========================================================================= 5CuSKmjnG+JE3pel0cS7bBiYxxnF7WTTPgClO8hT14LWgf30HLLBPfr+b2lVrTmc
========================================================================= GmScZCe/fL9Vvr1w4JBjk9Y2omXx2aUJ2nw7IojopsvkPXUlBsBuUC/bgcmssvOf
========================================================================= k1Z5b+8VfpKUCfUBrmQIjtwG7Xsomnel554Zs9b5re3Cq1rOrrAPoM7flKDz9YTd
========================================================================= zkZbzz/HLMzKup0ZBKGFbqRK4EMWRFKl97AnjHxwMSfDQTbd7mtpNCoHl3L9rklQ
========================================================================= OFu0k2lwIsfbBldTQR5CTF8JPUuGZjyT9yEs0CwAxQHdOC9jfUP9A3PI90hPgae8
========================================================================= nCKquvrWzyXnzZbvTzrn8Tse74fdOGW/PC8TYsbcX/F2BzUX437rts1BrlBsUCap
========================================================================= PmoxhtmJbqdNs3XyQPi6n9OAsdmD57+rNDHZKNHrUkoHY8/R6hiwZqkicZoNa1g5
========================================================================= Uhyqeak4eE7kU2TpunDJ4rr1SrPPOYFl4HgtJ0LeYdkJUmSJgk5i1rU+MOASmksy
========================================================================= eqa2MJ+mkIkyUs47auipwh30CqQ9BpVgSNpVCr/oAps5fMrsWqT88f8VSvVpSQ7w
========================================================================= M+gsmhA+wqYZi/XbPzVi4ICUAG/wRYv6p2+nYjm4PnQ5oEVBhkala81WBRJrsCkx
========================================================================= 91zwM5X0lxtpXa849gQQwCF1x0mq8awHrNsIDDrr8P54iCmkLFUumZzt75do6BUC
========================================================================= b/qLc2OymvqIgdOw2651CBRF4rBJnrJKKYLfNLVab4shen0ZBrS9dSGHniGS4olo
========================================================================= rDw3ZFud/nT1TmyYTEB32px74xNKuYicr6R+LXNe2j7OwUWlM7Vt7Rmd9r+BPGRG
========================================================================= ASXeAUWZdVeUripgS8TKl20ghfsCUPEIsYTBPS5rTHTJ9ir1xQp2iS76RLOh+4ay
========================================================================= /sMm9aqNr2QqFG0ksZWrzx4spOucq0YVTGBcDDaosLGrBwMymLu1zwavsL6yNADF
========================================================================= kzCwaVQcNdrxYdW4ra1mL5ONUX8aahoPVUD2IhnrypcTCUWK1A9N9ss3CEQKloTt
========================================================================= 6hV4lnvDc5RZVah+xque2sAyehaR47Gp8vwh3LmieR7bjTF/9EpXNzHfUS6z8BVX
========================================================================= 2BoWZhHyZwsn+aR75f6nGCLObfME90Gxb4sO3OcSNzOxGH0wtzbZEmUU3GCTdpbn
========================================================================= vH0LLna+qsbl4Eh0tb5MNRimw353TW1iG6N01bjs/y4WYVQ+GtC2y9+jEmm+wl/n
========================================================================= +7Iv3AojePPcm26k/MD9j06cMN76xkbP8iJyPTdJWwbQBAlrr8PsaTBHAgyxb5rV
========================================================================= OZGbVkMZmffmhLlz8ySZraj0SuzMvmRJisB5S64j82xFabyawHny5ZhXwLdkj6/p
========================================================================= /ScbwwEmnLGfy8dk1JiULYPxwx81YhFrebjYNW1UVWrIuKcNUsQYrMtsNBuV+UdX
========================================================================= /UgFmOPOWjIQ4VxvxRE3f9NSGER7txMBulRS1Vl3JUKtWdYHvbwnkxw9jDxH7BUd
========================================================================= uXpyXaelARK69Xt8Y9CluRsK1H7JJUccS4qW6vfmc2lgjMfGJUHwqcKdX65toLSQ
========================================================================= qUjFiYN9bLcfIFGUk8dv+cGJ1r+VibjYT7QAM6nSn2rFzSoqQoWq8dYHFFgNJPzn
========================================================================= nzNki5+g6ACejskWaTjgpUNfA1Yr/K3UWHA8DugLkz9RdPrpwzxr3Bv62yl26/9K
========================================================================= jHeG25Vefmz5dce40P35eUNzuzTg0ewttVKVlbdsz1bxzm8Xmr8rj0oD+WEJtmy/
========================================================================= FpVaV+AMpKbn8txF+LtNjpfqnj8PiQi6qLEzBu3GccMAoogcMAnfyVDtEKsYMSQ4
========================================================================= YVAzd9lq2HfS40M89SZcBwMBWlMCxfRwfjPkhghmLCYO12qvwuV7HOy1ePMSf+Bj
========================================================================= Bk/DZis4dnbF6RKtGqyHMIKilBGXc3jUrHZGcQehaeV9Y0MB4kPW3Csim9NDv9zz
========================================================================= yAyWVPbmstEeATQHMBRHii1atv7jwkVRH6+KzdMKRNhW5WZeom6DnI8lyt+96B6I
========================================================================= 8dQnUlgpLqH3t8q6XbO8ZSIw6OeHd+9z78sWpH+pmLAZ6oLkG9f32sHjO3mEl/Wp
========================================================================= SxrJb3ec/Pvcl94RLOHe+Z3lvLpT9hYdLq29xYVb7LA6gv+5yDAvGeKyWYW0PJ0z
========================================================================= Xq+ASl7WS7RbE6dJuGFtdoFzRVJqhJvxzjp0f+If1hpYxFHU0fYFkYMhbJ+sC6je
========================================================================= /f9aU4+wn9NlVTqtZ9iie5e47wHewUGy90CIffJ1vvwAnc2kReDxf5laodp3huRb
========================================================================= R4TjfYbv2tNg3eM96tET1vHP08eM7ctUkwMt2zYBvTyrUkuopJs8CULuSoZypwyR
========================================================================= P4NMs9mhnj/lfTGYZN+WK8DdHBCo2QWg4HBl+wWuscnSMIdDoH/hdF4cobCjWVXI
========================================================================= FPK1uDu6mQhhGBRfUWTTUPe+v86/asVkqDgN4QPXHTzsBsx48md1n/6cuYubMW0I
========================================================================= UYHxlgo9oULpc8UnpHhXqYgKQeVTh5lbHOe3AIjBuxzKOyHbeBWNj5rYNdA39igV
========================================================================= W7kcnzxCnVg70xzwQST2YgHZuabFKQnk+3fRbdUCEsLYHFisWwPQX0FxN4ZdYfAC
========================================================================= zZlB3XRxON910ey2kEzbiaQgfGGy0jUZaPZ8mzH1xbewzMMM+vrqr28Q+5DRAiVY
========================================================================= Mhk6GWtuSG6OsBXQ+37fL/Mtx7esNW6JDnDfWyQrRqPbXMFi/QWQJ9Xvy8HjCo4+
========================================================================= 2AC/MhxnJC/ehrCO7pCihE1eo69t58JbjfnBZWWRYJ5WLZnBDInkJedDMRCWswsi
========================================================================= +IM72yaknib9HDvCBKpahKlWTLCDHzf83hG8g+/cjEM2bwGBCbpSKnH6V0u9ZPkE
========================================================================= q091uzN18xnqWYI6oeHR0VyGuu2BijyR5TZiZzsh2AQvMAZ6jESygsufXdkBii/3
========================================================================= IdBSAg+VhcwWuBeeiyyCBcd0PN8OxQF7F/pPBgdrMwH0lmlG/Smb0EEmgmKvmAOD
========================================================================= J+U0Cwr66034yYkM5NJELsTlqLMIcWYrL9g2PLgdn83pq1Be1GUVtVDYP1iooOdn
========================================================================= vpAhhrzV7FBayHMnl9lNw6KrVBcIyWwCp0g6Vjiq3uQl/NagoMctwKVmEHW//p3E
========================================================================= 4s/4VYcqj/zNJZteMOhtOrHJvMatfodch7lqR9d2jb9r6e7zKYqyYTPQNwdfF4ih
========================================================================= /YALjyOUflVMxrp4ucR+MdvppaO9pc9GkAmKiDDPvu8aRMIHlkLyDPflNeiRIyIi
========================================================================= OrA5x+3bQ4stgKbeEBEYhCB4ducNHhaznq/+uBDeQPcUW8JENGaTzGyJREHOFZEp
========================================================================= 2uZp6cznMTzdLnW7GnxuLnGvktl8+xo1Ae4XrNykxet09o2DSpiiF0jo4MIlHGH3
========================================================================= HTI084gL4M9E/y8a4j63wvbGwLaUk+QjYRAr0SkVx4KlXIOL9poeyjMUN12UAQvo
========================================================================= vH2lkbY6bJbOYDlshV2Djkd5BKPE/1+6M8C13h8bQBiaSqiIGgQY062lc50qxHSY
========================================================================= E8SUo7EGacprndP++02aBxhTaHtFnPOOV/DJoLYnwYOuwQD/l9i/pcxffTKs+WOV
========================================================================= VVQD/q68bk/KaO/iaSA8GhDQ03URU94rNc+5B46Qbv4V3ZXX0YenuGM/SDq2fiPS
========================================================================= FVy/LuPuj7QDRXUOe1gbykvq3NvNld9APuqThSbuvCtqzBq4+3ji2BOjDUbYYlGE
========================================================================= vpbLOFPW3ttWRNGZzmxoi+qxU3xPkjFnmiEE6o8uCfmMIqLbNutksW/bfEQFVGtg
========================================================================= 8VOGcAarrvxrFmDphtqutIg9NM4UkDA2dBWvOGSmhaDzGyle+eeyQpG2tvcHGjUp
========================================================================= 63A7BGtx1s2p7jrKCRE9Z6hZPZWp6VFFJ1jtfys0bGzOq9jIXYVbZMLr1iaNHP6+
========================================================================= FFKk2P3RnaHDqQZbuS1PGNFQCT0jmHKwnj60kIeSSWAqW+RZS+/tr/Ufp3TlGpME
========================================================================= vW8wSVfBsy9fROd1LgtOvgCZ7zWOhPc5LQ3Cvl7MsiyqakDW8hywXiMtB7aDKsmm
========================================================================= ut/lMUYSHljSnpezM+qshVC0vE8kzu9dQnJtixYEvu8CELs31hwNIB+QiEjDQZmb
========================================================================= uGpk+I9yOcc5T48hOwEh7lgERzCat3IixE2XpsKp1U1POZB3w8DdzhR6S77UCbRY
========================================================================= w2pGDdQa/GJ33aKxkVnSyRIh5Z3QPvNOveuSzw2s0RgQboah3NCSWoja7NfYmkmf
========================================================================= Xeb2+bKQec92FojqX/3iOnfY4pDB0E0QIpbelgnphF96/5/7/nVlanlhsezGg7hR
========================================================================= 2w1FpK9iXkEB15Dq7OdNb9kUKsqtSioyxYgPGi4hBxE4tFO+C0lCGOjNgAtOLlrw
========================================================================= ImofQ+GCIItK27MGgA+XoHVKR69e5LQW6cTGz+9yXgYD/E5fjx6+jLhBjultb8gH
========================================================================= EPJJDlWvclODxLJ+DvcUb0kmylkNHHyXKRwLvLf81V8MFZy3O7X0TB9UZVh3EYZS
========================================================================= drXGXaeiHX8RtRzhl88S7Z5uz2gjxn+v3Sez8phdgWVlHyM1rnezoA9LBoKnRmj7
========================================================================= fMvqDVB0f0U5edM3reWFi6guBx5Y2u+Y6lpcfGdud/sBsUrlOn25ZRc1YhF73dzj
========================================================================= Txb2BGFaBk4s3FjQPWMYqEg7O1jd2gwqGL16vDKetYCS0hZSvzu8N16CIBnIK05h
========================================================================= Ysiizu3N0QjrkSb0H62Q2xW6qTkZ3eyitxmePk8/Mu63jk5OxFmWnn/NbWENdYLZ
========================================================================= FzVr2XyJilcOWMD3etM8CYWWsgb3sx5MP1gg1hjCDLGi6xXyFgfzbgwX6wqY4KSl
========================================================================= NY5FA9UX1cUGpWN68lpjeIwqVX8VsNX4ogkkjo3DOZ+pHkm5yqGLTYLhBg/cx6jW
========================================================================= 5ywkUYpp6N2nRX1ln8y6PcoM2/wOUOydF15Qf8mocTJSE7HauBHelSbpF9Q/1bPy
========================================================================= e8YUa4KMJyN4JiLnWeRERtRPlQj9jGUSdYZSl6nZg/AShFW9tATJUwVO0hJ7YiPB
========================================================================= Q/W2Fwf9O8e0SR2a/qD5a/0YIul94vlaeWtXUmQnDMWHl4RJvSr8FztigtmfbVSd
========================================================================= xy6hOz6fdgPR0A//tf9vQ5DA4xTuTDyPaa5X7drlJjbejDT5F2bKYAGqRmow1KGD
========================================================================= ATrrDgoPUHqX8zFkNPmQxzbUcI/8eNl2Cio5cGUzqKZCDUHQSq1hRgYnnQKpW8yI
========================================================================= 4hERRLyIq8/mwS5gXmYo6wEFyR/thw1Fz5AsZwius3veRLZB2QeVxrONAQBUE/J1
========================================================================= B4qDDU1F49do3CF2HwzkBssWpi6I6KY/NKp1lWnULZcdDeDOkIjmnSJqmTYY+i7X
========================================================================= MMPsAAUGildH7FSxTLv/mV1onnuhJ5PpTjhDIOMlNJrcRbKUvQkwtetpCwA1WLYd
========================================================================= j+wuCywOeuPNaq2wDwwvnbp2H1FZK05fMb8VJTbK81H1nBO5Q0VJclSN2xzMpLYL
========================================================================= MASh5yrM0RrHS9zg8kzryFf7t2A9SlkQCTwF4kLH3R7wrG0RKm8xAclQq4gWwwNa
========================================================================= XeGV8xgwje3ZIpyhbQ8z89ZuKa0Lr5XGhyl1DtwP019LmqGdDrS5f+zDG4fl3oZV
========================================================================= oLm53KIuJgHMk7JfsUonJeNeScm27HvgRAzNFHgVXfDwRq6GDsonnIKO/Wu7hrf2
========================================================================= yFH4xVTZ8vL4g3Snb5pdblE/216D7q2Y2E5FXGUEt27DrcTexGWnZbntfkCgKZvl
========================================================================= ePj1sr51dJCELE7TYBdViVMUICY0S2prit0TdltGDKBGnt/XTTJw9+h3gcw7hRLy
========================================================================= j7p7vYl90GfLm58IX/a1x2g86bqqrUyz6TnHhaCQV6lEEwHVoSYftSuV94Uu/Ew8
========================================================================= 73Q+l1AUQgFsTjBWf2fA+yxKH6YuLyAUfhqg0+dd/OMH0xvg1D/PFWe4mEkmEvNe
========================================================================= ceMx9urK3WgitTan+yxFjDJ2wMUZ1M/JlDGZunJcvyfJU87ptfbMM5iIotgWFGtJ
========================================================================= arr1OSVy2D/GOLj8XyOa9GtRx+3dSnx8Qtt3TM2vC1kq02r3XuFqlAeBYUaa0IYi
========================================================================= iIwXm3s1ZMecQpsGE+x+sExS+fiyxuRkPCPPVAcKykGvT60A7/PBpu6Oj5ATLMcA
========================================================================= rzx/KXZxewi+WR6cYyA4My9/fYOwompWpsjrXu32RQdhy1+nZu47Ty3+toF62HWz
========================================================================= onYaW2Ksc1d6QFx6xAVcqrVNCzdqzo8g5hGDm8fO/VxAGkydd0lf1TdMZ+waTxiW
========================================================================= ah12MvbP6zDGGm/3SX7kmjmlIS1QGgGGnAhepT9No40A7bGAtMnd/Uiwf6tFXnp7
========================================================================= JhvQLfmuoxMz6luFHXL2AMeFPwGVHcplirPRGt9b4nIJiZixBy/+yqTpp/VfvMTQ
========================================================================= ym+lUc4qRlIsdEjZSiSTLPwO/YjXWMeurdR5DO1EjT/TzTsXNwG6Y6Bo89VfG1nV
========================================================================= EPqUvupMc3ScyWBmIihhxjC55/3/C0OhTq19FNYlHZE4SWsPP2/4PUCkgZjTmKzA
========================================================================= 3jr/KFTkjz29G2Mplmnbjt5tecU2lJDltUThuU11TQxFMJFWiu6CqGBqlZteWjUF
========================================================================= /svrFzeVcSaZ7SgeX33qIqXW7xzzZhv76cUvZEDY5qRyUq2zDf1VFxOoD/duIWZo
========================================================================= ddx3VTUagVwxwG1PRlRSREEA8rYF4DPn949cPfvKzHmWXRTarfu6keqYO26QgPJS
========================================================================= 4BkcNqGyRqoSXLwhEnvcZYQkoyVw6sU9QRHbXgHp0V+mMPFNZbCv9P7eckJ5vILf
========================================================================= jAqZlE0QmTau19YuVUhwvu2gyAsmBLhZpgls3AIiPRDbJkG6xxqbhLV3V9mUKCnZ
========================================================================= XQ2eV1mriyfE+w0NDNwKedOz6qRfY1voLAkOsfJqiVRyUbfROi2CVQBGzILN9EWK
========================================================================= wtemxpg0LFzGDs3wC7eAN8ySABIc6eXhkCTvt4gByA7NzHcwfbQYZbTeGKTiWuIb
========================================================================= YHhFIsImcXRGGEKWzTmRZjPW5ficvbQhlG7tFbuScEs9zMHHcC9P9/Cm9yPjvov6
========================================================================= Mrthwzbr3AaAhOrCoSwpkLur3E+EB2Qd1nGZi/OESpfNhhkZ26fERrsmI36OPtfj
========================================================================= uk4VH7MjmYRhUv7iNifaWTJvGXtMvTb0vk0BE8moNVvyY0ZCWWie5yXccxxF2Tm7
========================================================================= ze8Z0PPe250HbBLaBLmN/JC0PoxINW5kWko6zu/0iJwrFpRWpyHaT+yWz4MDBmig
========================================================================= /MXpi7PziNbXI/gWR4UmphNRbochPqEf+LVWV+6QYeAjeETG/XBl1n2BH9l7DDre
========================================================================= 08NqU2+C/NUn90HaneUZ/vUJpaJKC+ySlEI5K/9r471pySuiwiiKcVye+i0xd67U
========================================================================= AgJkSfRNEmpcRLWPVu4nwOXbztqKENSUPCFg6U3Ov4/6taO0rR0ENW48iw56kH1+
========================================================================= NN41msLsgwNKtFdbhJGx9NASnOcLrVzXrrkC+Ysd18HUpVvNR2i6Noh9eSw72LOc
========================================================================= Ome/rki1hdOIOg9pfNq7fQixyeUerWKiL/LMtqMEIr3s5sH3G8I2y8QFw3cnk1Gx
========================================================================= TB+1YNjRyp+hQKlSnvq6uiFv6eNRX6aUIlDuwQqGx0ilRDGJHUwCOI6KY3HT/7sq
========================================================================= OviQ5wpa25KK8JQ0m0pA3506zf7qJ7M4c9/CGR3MwhVQbijBi6z/dXyY5Mkavq80
========================================================================= n8ZtLjh5OYCnH+G57MoWmAQq4yDWzETvd/1pAzUWWnKwxQxK6J8jCIytG7tSHBFM
========================================================================= WYj9g/GibMHyGo3kFnVU3iLcn9b8g3V/2R9zsF6fPZ5pCd7aOFCzGtmafhqb8ZrX
========================================================================= CSZ6kekoD/Sq2xFgWTZCFOWDdUmkTZfYPAh40qcoP6JEIPEbCjfDnbwxrNqy3xna
========================================================================= 4kxymS+/0XtfinJ07rjpVcK3STYpDLf5jFIUIsS3Cl2ALOVxkxgGO4ofAOXnONlc
========================================================================= tY2OFZ9teKrt8bF8CW+HjFgB0QqS/2SqKMldnaZhoTbR/+jo/a9NHYBuDrDJaQJ6
========================================================================= MYWyhtuMu4l19Rr5ow0NplXLtmmZC7UodlyhmBzY1/ehMLeJ1AX5xsE3A8REZVNs
========================================================================= 9aA5/GTNnTJqMJtmPNf2gk3v0+Y4ltxOzD0SXFlBpNYVVVlOxirHSC61ivT6pC8x
========================================================================= KtY71F1eUX0cUPtr/32HTL4IooW0L6dpk3IUGJtdin4LS2ZSbBJm1KhjfWWXclZa
========================================================================= LiAVmAoEPEqRsxOi5T30xUwaxNzYEAjO1ttN8VLQP3GK4qJR1yE1OavovZNrqB1E
========================================================================= lehNwKQ+pS+RQntHeuZ84hVxsyGoCkG/GPDYtSBE/kasEPCRsngZgR77IGQD8QqP
========================================================================= 7nlglPLLo4B/2RAKSvc3pPAFlaj/wOA77EQtPdPGjQm3iab9U1aaXI/8qM92Pf55
========================================================================= UAdos8LQ8He0AO0dhHU0Dq6JmPvMrGMhKDFv4k6ncRLglmYnaDGWlLwYt/X8gCDa
========================================================================= VVlKZLIJ4DekbEtSV1ptMgvHPw49G5H6LHbcBDaV9kB3gr7mlCSetOn7OvOngmVn
========================================================================= 4x2I/3HIIQ7jnmViiNsulX4kceELEJjZ7sOMI3lfr2WPbuLVlxy2N0WjAJ0x4Gmf
========================================================================= llE+qebtSFN6l9ZnFVPP7OIZbDnuxvgRsvi+s61E/oDkg1t+bMS+JI48P4qrqt0z
========================================================================= RKZK07lvWAGw5emTYiqecDk44Fz5w5aN9BrNze+ZvajW0KxKLlnZYpXOqSx01cJC
========================================================================= RC4evavZrFTP7xofaQCOaiH3+EYK2QSZNA==
========================================================================= =cA3/
========================================================================= -----END PGP MESSAGE-----
=====================================================================================================================================================================================================================
=====================================================================================================================================================================================================================
=====================================================================================================================================================================================================================
<?php
/**
* webEdition CMS
*
* $Rev: 6553 $
* $Author: lukasimhof $
* $Date: 2013-08-29 17:23:46 +0200 (Thu, 29 Aug 2013) $
*
* This source is part of webEdition CMS. webEdition CMS is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile
* webEdition/licenses/webEditionCMS/License.txt
*
* @category webEdition
* @package webEdition_base
* @license http://www.gnu.org/copyleft/gpl.html GPL
*/
/* * ***************************************************************************
* INITIALIZATION
* *************************************************************************** */
require_once($_SERVER['DOCUMENT_ROOT'] . '/webEdition/we/include/conf/we_conf.inc.php');
if(!file_exists($_SERVER['DOCUMENT_ROOT'] . '/webEdition/we/include/conf/we_conf_language.inc.php')){
require_once($_SERVER['DOCUMENT_ROOT'] . '/webEdition/we/include/we_defines.inc.php');
require_once ($_SERVER['DOCUMENT_ROOT'] . LIB_DIR . 'we/core/autoload.php');
require_once(WE_INCLUDES_PATH . 'we_global.inc.php');
we_loadLanguageConfig();
}
require_once($_SERVER['DOCUMENT_ROOT'] . '/webEdition/we/include/we.inc.php');
//Check some critical PHP Setings #7243
//FIXME: implement class sysinfo.class, for not analysing the same php settings twice (here and in sysinfo.php)
if(isset($_SESSION['perms']['ADMINISTRATOR']) && $_SESSION['perms']['ADMINISTRATOR']){
$suhosinMsg = (in_array('suhosin', get_loaded_extensions()) && !in_array(ini_get('suhosin.simulation'), array(1, 'on', 'yes', 'true', true))) ? 'suhosin=on\n' : '';
$maxInputMsg = !ini_get('max_input_vars') ? 'max_input_vars = 1000 (PHP default value)' :
(ini_get('max_input_vars') < 2000 ? 'max_input_vars = ' . ini_get('max_input_vars') : '');
$maxInputMsg .= $maxInputMsg ? ': >= 2000 is recommended' : $maxInputMsg;
$criticalPhpMsg = trim($maxInputMsg . $suhosinMsg);
if($criticalPhpMsg){
t_e('Critical PHP Settings found', $criticalPhpMsg);
}
}
//FIXME: implement resave of config files
if(!defined('CONF_SAVED_VERSION') || (defined('CONF_SAVED_VERSION') && (intval(WE_SVNREV) > intval(CONF_SAVED_VERSION)))){
//resave config file(s)
we_base_preferences::check_global_config(true);
}
we_util_File::checkAndMakeFolder($_SERVER['DOCUMENT_ROOT'] . WE_THUMBNAIL_DIRECTORY);
define('LOGIN_DENIED', 4);
define('LOGIN_OK', 2);
define('LOGIN_CREDENTIALS_INVALID', 1);
define('LOGIN_UNKNOWN', 0);
$ignore_browser = isset($_REQUEST['ignore_browser']) && ($_REQUEST['ignore_browser'] === 'true');
function getValueLoginMode($val){
$mode = isset($_COOKIE['we_mode']) ? $_COOKIE['we_mode'] : we_base_constants::MODE_NORMAL;
switch($val){
case we_base_constants::MODE_SEE :
return ($mode == we_base_constants::MODE_SEE) ? ' checked="checked"' : '';
case we_base_constants::MODE_NORMAL :// start normal mode
return ($mode != we_base_constants::MODE_SEE) ? ' checked="checked"' : '';
case 'popup':
return (!isset($_COOKIE['we_popup']) || $_COOKIE['we_popup'] == 1);
}
}
function printHeader($login, $status = 200){
header('Expires: ' . gmdate('D, d.m.Y H:i:s') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Pragma: no-cache');
we_html_tools::setHttpCode($status);
we_html_tools::htmlTop('webEdition');
print STYLESHEET .
we_html_element::cssElement('html, body {height:100%;}') .
we_html_element::jsScript(JS_DIR . 'windows.js');
include(JS_PATH . 'weJsStrings.inc.php');
if($login != LOGIN_OK){
print we_html_element::linkElement(array('rel' => 'home', 'href' => WEBEDITION_DIR)) .
we_html_element::linkElement(array('rel' => 'author', 'href' => g_l('start', '[we_homepage]')));
}
print we_html_element::linkElement(array('rel' => 'SHORTCUT ICON', 'href' => IMAGE_DIR . 'webedition.ico')) .
we_html_element::jsElement('cookieBackup = document.cookie;
document.cookie = "cookie=yep";
cookieOk = document.cookie.indexOf("cookie=yep") > -1;
document.cookie = cookieBackup;
if (!cookieOk) {
' . we_message_reporting::getShowMessageCall(g_l('alert', "[no_cookies]"), we_message_reporting::WE_MESSAGE_ERROR) . '
}
var messageSettings = ' . (we_message_reporting::WE_MESSAGE_ERROR + we_message_reporting::WE_MESSAGE_WARNING + we_message_reporting::WE_MESSAGE_NOTICE) . ';
/**
* setting is built like the unix file system privileges with the 3 options
* see notices, see warnings, see errors
*
* 1 => see Errors
* 2 => see Warnings
* 4 => see Notices
*
* @param message string
* @param prio integer one of the values 1,2,4
* @param win object reference to the calling window
*/
function showMessage(message, prio, win){
if (!win) {
win = window;
}
if (!prio) { // default is error, to avoid missing messages
prio = ' . we_message_reporting::WE_MESSAGE_ERROR . ';
}
if (prio & messageSettings) { // show it, if you should
// the used vars are in file JS_DIR . "weJsStrings.php";
switch (prio) {
// Notice
case ' . we_message_reporting::WE_MESSAGE_NOTICE . ':
win.alert(we_string_message_reporting_notice + ":\n" + message);
break;
// Warning
case ' . we_message_reporting::WE_MESSAGE_WARNING . ':
win.alert(we_string_message_reporting_warning + ":\n" + message);
break;
// Error
case ' . we_message_reporting::WE_MESSAGE_ERROR . ':
win.alert(we_string_message_reporting_error + ":\n" + message);
break;
}
}
}') .
'</head>';
}
/* * ***************************************************************************
* CLEAN Temporary Data left over from last logout bug #4240
* *************************************************************************** */
if(is_dir(WEBEDITION_PATH . 'we/cache')){
we_util_File::deleteLocalFolder(WEBEDITION_PATH . 'we/cache', true);
}
cleanTempFiles(true);
cleanWEZendCache();
weNavigationCache::clean();
we_updater::fixInconsistentTables();
//clean Error-Log-Table
$GLOBALS['DB_WE']->query('DELETE FROM ' . ERROR_LOG_TABLE . ' WHERE `Date` < DATE_SUB(NOW(), INTERVAL ' . ERROR_LOG_HOLDTIME . ' DAY)');
$cnt = f('SELECT COUNT(1) AS a FROM ' . ERROR_LOG_TABLE, 'a', $GLOBALS['DB_WE']);
if($cnt > ERROR_LOG_MAX_ITEM_COUNT){
$GLOBALS['DB_WE']->query('DELETE FROM ' . ERROR_LOG_TABLE . ' WHERE 1 ORDER BY Date LIMIT ' . ($cnt - ERROR_LOG_MAX_ITEM_THRESH));
}
//CHECK FOR FAILED LOGIN ATTEMPTS
$GLOBALS['DB_WE']->query('DELETE FROM ' . FAILED_LOGINS_TABLE . ' WHERE UserTable="tblUser" AND LoginDate < DATE_SUB(NOW(), INTERVAL ' . LOGIN_FAILED_HOLDTIME . ' DAY)');
$count = f('SELECT COUNT(1) AS count FROM ' . FAILED_LOGINS_TABLE . ' WHERE UserTable="tblUser" AND IP="' . $GLOBALS['DB_WE']->escape($_SERVER['REMOTE_ADDR']) . '" AND LoginDate > DATE_SUB(NOW(), INTERVAL ' . intval(LOGIN_FAILED_TIME) . ' MINUTE)', 'count', $GLOBALS['DB_WE']);
if($count >= LOGIN_FAILED_NR){
we_html_tools::htmlTop('webEdition ');
print we_html_element::jsElement(
we_message_reporting::getShowMessageCall(sprintf(g_l('alert', '[3timesLoginError]'), LOGIN_FAILED_NR, LOGIN_FAILED_TIME), we_message_reporting::WE_MESSAGE_ERROR)
);
print '</html>';
exit();
}
/* * ***************************************************************************
* SWITCH MODE
* *************************************************************************** */
//set denied as default
$login = LOGIN_DENIED;
if(isset($GLOBALS['userLoginDenied'])){
$login = LOGIN_DENIED;
} else if(isset($_SESSION['user']['Username']) && isset($_POST['password']) && isset($_POST['username'])){
$login = LOGIN_OK;
if(isset($_REQUEST['mode'])){
setcookie('we_mode', $_REQUEST['mode'], time() + 2592000); // Cookie remembers the last selected mode, it will expire in one Month !!!
}
setcookie('we_popup', (isset($_REQUEST['popup']) ? 1 : 0), time() + 2592000);
} else if(isset($_POST['password']) && isset($_POST['username'])){
$login = LOGIN_CREDENTIALS_INVALID;
} else {
$login = LOGIN_UNKNOWN;
if($ignore_browser){
setcookie('ignore_browser', 'true', time() + 2592000); // Cookie remembers that the incompatible mode has been selected, it will expire in one Month !!!
}
}
function getError($reason, $cookie = false){
$_error = we_html_element::htmlB($reason);
$_error_count = 0;
$tmp = ini_get('session.save_path');
if(!(is_dir($tmp) || (is_link($tmp) && is_dir(readlink($tmp))))){
$_error .= $_error_count++ . ' - ' . sprintf(g_l('start', '[tmp_path]'), ini_get('session.save_path')) . we_html_element::htmlBr();
}
if(!ini_get('session.use_cookies')){
$_error .= $_error_count++ . ' - ' . g_l('start', '[use_cookies]') . we_html_element::htmlBr();
}
if(ini_get('session.cookie_path') != '/'){
$_error .= $_error_count++ . ' - ' . sprintf(g_l('start', '[cookie_path]'), ini_get('session.cookie_path')) . we_html_element::htmlBr();
}
if($cookie && $_error_count == 0){
$_error .=++$_error_count . ' - ' . g_l('start', '[login_session_terminated]') . we_html_element::htmlBr();
}
$_error .= we_html_element::htmlBr() . g_l('start', ($_error_count == 1 ? '[solution_one]' : '[solution_more]'));
$_layout = new we_html_table(array('style' => 'width: 100%; height: 75%;'), 1, 1);
$_layout->setCol(0, 0, array('align' => 'center', 'valign' => 'middle'), we_html_element::htmlCenter(we_html_tools::htmlMessageBox(500, 250, we_html_element::htmlP(array('class' => 'defaultfont'), $_error), g_l('alert', '[phpError]'))));
return $_layout;
}
/* * ***************************************************************************
* CHECK FOR PROBLEMS
* *************************************************************************** */
if(isset($_POST['checkLogin']) && empty($_COOKIE)){
$_layout = getError(g_l('start', '[cookies_disabled]'));
printHeader($login, 400);
print we_html_element::htmlBody(array('style' => 'background-color:#FFFFFF;'), $_layout->getHtml()) . '</html>';
} else if(!$GLOBALS['DB_WE']->isConnected() || $GLOBALS['DB_WE']->Error == 'No database selected'){
$_layout = getError(g_l('start', '[no_db_connection]'));
printHeader($login, 503);
print we_html_element::htmlBody(array('style' => 'background-color:#FFFFFF;'), $_layout->getHtml()) . '</html>';
} else if(isset($_POST['checkLogin']) && $_POST['checkLogin'] != session_id()){
$_layout = getError(sprintf(g_l('start', '[phpini_problems]'), (ini_get('cfg_file_path') ? ' (' . ini_get('cfg_file_path') . ')' : '')) . we_html_element::htmlBr() . we_html_element::htmlBr() .
'Debug-Info:' . we_html_element::htmlBr() .
'submitted session id: ' . filterXss($_POST['checkLogin']) . we_html_element::htmlBr() .
'current session id: ' . session_id() . we_html_element::htmlBr() .
'login-page date: ' . filterXss($_POST['indexDate']) .
we_html_element::htmlBr() . we_html_element::htmlBr()
);
printHeader($login, 408);
print we_html_element::htmlBody(array('style' => 'background-color:#FFFFFF;'), $_layout->getHtml()) . '</html>';
} else if(!$ignore_browser && !we_base_browserDetect::isSupported()){
/* * *******************************************************************
* CHECK BROWSER
* ******************************************************************* */
$supportedBrowserCnt = (we_base_browserDetect::isMAC() ? 3 : (we_base_browserDetect::isUNIX() ? 2 : 4));
$_browser_table = new we_html_table(array('cellspacing' => 0, 'cellpadding' => 0, 'border' => 0, 'width' => '100%'), 12, $supportedBrowserCnt);
$_browser_table->setCol(1, 0, array('align' => 'center', 'class' => 'defaultfont', 'colspan' => $supportedBrowserCnt), we_html_element::htmlB(g_l('start', '[browser_not_supported]')));
$_browser_table->setCol(3, 0, array('align' => 'center', 'class' => 'defaultfont', 'colspan' => $supportedBrowserCnt), g_l('start', '[browser_supported]'));
switch(we_base_browserDetect::inst()->getSystem()){
case we_base_browserDetect::SYS_MAC:
$_browser_table->setCol(5, 0, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_opera.png', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 1, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.apple.com/safari/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_safari.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 2, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_firefox.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(7, 0, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), g_l('start', '[browser_opera]'))));
$_browser_table->setCol(7, 1, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.apple.com/safari/', 'target' => '_blank'), g_l('start', '[browser_safari]'))));
$_browser_table->setCol(7, 2, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), g_l('start', '[browser_firefox]'))));
$_browser_table->setCol(9, 0, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_safari_version]'));
$_browser_table->setCol(9, 1, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_firefox_version]'));
break;
case we_base_browserDetect::SYS_UNIX:
$_browser_table->setCol(5, 0, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_opera.png', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 1, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_firefox.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(7, 0, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), g_l('start', '[browser_opera]'))));
$_browser_table->setCol(7, 1, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), g_l('start', '[browser_firefox]'))));
$_browser_table->setCol(9, 0, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_opera_version]'));
$_browser_table->setCol(9, 1, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_firefox_version]'));
break;
default:
$_browser_table->setCol(5, 0, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.microsoft.com/windows/ie/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_ie.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 1, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_opera.png', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 2, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_firefox.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(5, 3, array('align' => 'center'), we_html_element::htmlA(array('href' => 'http://www.apple.com/safari/', 'target' => '_blank'), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/supported_browser_safari.gif', 'width' => 80, 'height' => 80, 'border' => 0))));
$_browser_table->setCol(7, 0, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.microsoft.com/windows/ie/', 'target' => '_blank'), g_l('start', '[browser_ie]'))));
$_browser_table->setCol(7, 1, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.opera.com/', 'target' => '_blank'), g_l('start', '[browser_opera]'))));
$_browser_table->setCol(7, 2, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.mozilla.org/', 'target' => '_blank'), g_l('start', '[browser_firefox]'))));
$_browser_table->setCol(7, 3, array('align' => 'center', 'class' => 'defaultfont'), we_html_element::htmlB(we_html_element::htmlA(array('href' => 'http://www.apple.com/safari/', 'target' => '_blank'), g_l('start', '[browser_safari]'))));
$_browser_table->setCol(9, 0, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_ie_version]'));
$_browser_table->setCol(9, 1, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_opera_version]'));
$_browser_table->setCol(9, 2, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_firefox_version]'));
$_browser_table->setCol(9, 3, array('align' => 'center', 'valign' => 'top', 'class' => 'defaultfont'), g_l('start', '[browser_safari_version]'));
}
$_browser_table->setCol(0, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 20));
$_browser_table->setCol(2, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 50));
$_browser_table->setCol(4, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 30));
$_browser_table->setCol(6, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 10));
$_browser_table->setCol(8, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 5));
$_browser_table->setCol(10, 0, array('colspan' => $supportedBrowserCnt), we_html_tools::getPixel(1, 50));
$_browser_table->setCol(11, 0, array('align' => 'center', 'class' => 'defaultfont', 'colspan' => $supportedBrowserCnt), we_html_element::htmlA(array('href' => WEBEDITION_DIR . 'index.php?ignore_browser=true'), g_l('start', '[ignore_browser]')));
$_layout = new we_html_table(array('style' => 'width: 100%; height: 75%;'), 1, 1);
$_layout->setCol(0, 0, array('align' => 'center', 'valign' => 'middle'), we_html_element::htmlCenter(we_html_tools::htmlMessageBox(500, 380, $_browser_table->getHtml(), g_l('start', '[cannot_start_we]'))));
printHeader($login, 400);
print we_html_element::htmlBody(array('style' => 'background-color:#FFFFFF;'), $_layout->getHtml()) . '</html>';
} else {
/* * ***************************************************************************
* GENERATE LOGIN
* *************************************************************************** */
$_hidden_values = we_html_element::htmlHidden(array('name' => 'checkLogin', 'value' => session_id())) .
we_html_element::htmlHidden(array('name' => 'indexDate', 'value' => date('d.m.Y, H:i:s')));
if($ignore_browser){
$_hidden_values .= we_html_element::htmlHidden(array('name' => 'ignore_browser', 'value' => 'true'));
}
/* * ***********************************************************************
* BUILD DIALOG
* *********************************************************************** */
$GLOBALS['loginpage'] = ($login == LOGIN_OK) ? false : true;
include(WE_INCLUDES_PATH . 'we_templates/we_info.inc.php');
$dialogtable = '<noscript style="color:#fff;">Please activate Javascript!' . we_html_element::htmlBr() . we_html_element::htmlBr() . '</noscript>
<table cellpadding="0" cellspacing="0" border="0" style="margin-left: auto; margin-right: auto;text-align:left;">
<tr>
<td style="background-color:#386AAB;"></td>
<td rowspan="2">' . $_loginTable . '</td>
<td valign="top" style="background-image:url(' . IMAGE_DIR . 'login/right.jpg);background-repeat:repeat-y;">' . we_html_element::htmlImg(array('src' => IMAGE_DIR . 'login/top_r.jpg')) . '</td>
</tr>
<tr>
<td valign="bottom" style="background-color:#386AAB;"></td>
<td valign="bottom" style="height:296px;background-image:url(' . IMAGE_DIR . 'login/right.jpg);background-repeat:repeat-y;">' . we_html_element::htmlImg(array('src' => IMAGE_DIR . 'login/bottom_r.jpg')) . '</td>
</tr>
<tr>
<td></td>
<td style="background-image:url(' . IMAGE_DIR . 'login/bottom.jpg);background-repeat:repeat-x;">' . we_html_element::htmlImg(array('src' => IMAGE_DIR . 'login/bottom_l.jpg')) . '</td>
<td>' . we_html_element::htmlImg(array('src' => IMAGE_DIR . 'login/bottom_r2.jpg')) . '</td>
</tr>
</table>';
// PHP-Table
$_contenttable = 432;
$_layoutLeft = 14;
$_layoutLeft2 = 3;
$_layoutMiddle = 406;
$_layoutRight1 = 12;
$_layoutRight2 = 10;
$_layoutRight = ($_layoutRight1 + $_layoutRight2);
$_layouttable = new we_html_table(array('border' => 0, 'cellpadding' => 0, 'cellspacing' => 0, 'width' => 440), 4, 5);
$_layouttable->setCol(0, 0, null, we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/top_left2.gif', 'width' => $_layoutLeft2, 'height' => 21)));
$_layouttable->setCol(0, 1, null, we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/top_left.gif', 'width' => $_layoutLeft, 'height' => 21)));
$_layouttable->setCol(0, 2, array('background' => IMAGE_DIR . 'info/top.gif', 'width' => $_layoutMiddle, 'class' => 'small', 'align' => 'right'), ' ');
$_layouttable->setCol(0, 3, array('colspan' => 2, 'width' => $_layoutRight), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/top_right.gif', 'width' => $_layoutRight, 'height' => 21)));
// Here is table to log in
$GLOBALS['loginpage'] = ($login == LOGIN_OK) ? false : true;
include(WE_INCLUDES_PATH . 'we_templates/we_info.inc.php');
$_layouttable->setCol(1, 0, array('background' => IMAGE_DIR . 'info/left2.gif'), we_html_tools::getPixel($_layoutLeft2, 1));
$_layouttable->setCol(1, 1, array('colspan' => 3, 'width' => $_contenttable), $_loginTable);
$_layouttable->setCol(1, 4, array('width' => $_layoutRight2, 'background' => IMAGE_DIR . 'info/right.gif'), we_html_tools::getPixel($_layoutRight2, 1));
$_layouttable->setCol(2, 0, array('width' => $_layoutLeft2), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/bottom_left2.gif', 'width' => $_layoutLeft2, 'height' => 16)));
$_layouttable->setCol(2, 1, null, we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/bottom_left.gif', 'width' => $_layoutLeft, 'height' => 16)));
$_layouttable->setCol(2, 2, array('background' => IMAGE_DIR . 'info/bottom.gif'), we_html_tools::getPixel(1, 16));
$_layouttable->setCol(2, 3, array('colspan' => 2, 'width' => $_layoutRight), we_html_element::htmlImg(array('src' => IMAGE_DIR . 'info/bottom_right.gif', 'width' => $_layoutRight, 'height' => 16)));
$_layouttable->setCol(3, 0, null, we_html_tools::getPixel($_layoutLeft2, 1));
$_layouttable->setCol(3, 1, null, we_html_tools::getPixel($_layoutLeft, 1));
$_layouttable->setCol(3, 2, null, we_html_tools::getPixel($_layoutMiddle, 1));
$_layouttable->setCol(3, 3, null, we_html_tools::getPixel($_layoutRight1, 1));
$_layouttable->setCol(3, 4, null, we_html_tools::getPixel($_layoutRight2, 1));
/* * ***********************************************************************
* GENERATE NEEDED JAVASCRIPTS
* *********************************************************************** */
switch($login){
case LOGIN_OK:
$httpCode = 200;
$_body_javascript = '';
// Here the mode - SEEM or normal is saved in the SESSION!!!
// Perhaps this must move to another place later.
// Later we must check permissions as well!
if(!isset($_REQUEST['mode']) || $_REQUEST['mode'] == '' || $_REQUEST['mode'] == we_base_constants::MODE_NORMAL){
if(permissionhandler::isUserAllowedForAction('work_mode', we_base_constants::MODE_NORMAL)){
$_SESSION['weS']['we_mode'] = we_base_constants::MODE_NORMAL;
} else {
$_body_javascript = we_message_reporting::getShowMessageCall(g_l('SEEM', '[only_seem_mode_allowed]'), we_message_reporting::WE_MESSAGE_ERROR);
$_SESSION['weS']['we_mode'] = we_base_constants::MODE_SEE;
}
} else {
$_SESSION['weS']['we_mode'] = $_REQUEST['mode'];
}
if((WE_LOGIN_WEWINDOW == 2 || WE_LOGIN_WEWINDOW == 0 && (!isset($_REQUEST['popup'])))){
if(empty($_body_javascript)){
$httpCode = 303;
header('Location: ' . WEBEDITION_DIR . 'webEdition.php');
$_body_javascript = 'alert("automatic redirect disabled");';
} else {
$_body_javascript.='top.location="' . WEBEDITION_DIR . 'webEdition.php"';
}
} else {
$_body_javascript .= 'function open_we() {
var aw=' . (isset($_SESSION['prefs']['weWidth']) && $_SESSION['prefs']['weWidth'] > 0 ? $_SESSION['prefs']['weWidth'] : 8000) . ';
var ah=' . (isset($_SESSION['prefs']['weHeight']) && $_SESSION['prefs']['weHeight'] > 0 ? $_SESSION['prefs']['weHeight'] : 6000) . ';
win = new jsWindow(\'' . WEBEDITION_DIR . "webEdition.php?h='+ah+'&w='+aw+'&browser='+((document.all) ? 'ie' : 'nn'), '" . md5(uniqid(__FILE__, true)) . "', -1, -1, aw, ah, true, true, true, true, '" . g_l('alert', "[popupLoginError]") . "', '" . WEBEDITION_DIR . "index.php'); }";
}
break;
case LOGIN_CREDENTIALS_INVALID:
we_log_loginFailed('tblUser', $_POST['username']);
//CHECK FOR FAILED LOGIN ATTEMPTS
$cnt = f('SELECT COUNT(1) AS count FROM ' . FAILED_LOGINS_TABLE . ' WHERE UserTable="tblUser" AND IP="' . $GLOBALS['DB_WE']->escape($_SERVER['REMOTE_ADDR']) . '" AND LoginDate > DATE_SUB(NOW(), INTERVAL ' . intval(LOGIN_FAILED_TIME) . ' MINUTE)', 'count', $GLOBALS['DB_WE']);
$_body_javascript = ($cnt >= LOGIN_FAILED_NR ?
we_message_reporting::getShowMessageCall(sprintf(g_l('alert', "[3timesLoginError]"), LOGIN_FAILED_NR, LOGIN_FAILED_TIME), we_message_reporting::WE_MESSAGE_ERROR) :
we_message_reporting::getShowMessageCall(g_l('alert', "[login_failed]"), we_message_reporting::WE_MESSAGE_ERROR));
break;
case 3:
$_body_javascript = we_message_reporting::getShowMessageCall(g_l('alert', "[login_failed_security]"), we_message_reporting::WE_MESSAGE_ERROR) . "document.location = '" . WEBEDITION_DIR . "index.php" . (($ignore_browser || (isset($_COOKIE["ignore_browser"]) && $_COOKIE["ignore_browser"] == "true")) ? "&ignore_browser=" . (isset($_COOKIE["ignore_browser"]) ? $_COOKIE["ignore_browser"] : ($ignore_browser ? "true" : "false")) : "") . "';";
break;
case LOGIN_DENIED:
$_body_javascript = we_message_reporting::getShowMessageCall(g_l('alert', "[login_denied_for_user]"), we_message_reporting::WE_MESSAGE_ERROR);
break;
default:
$httpCode = 200;
break;
}
$_layout = we_html_element::htmlDiv(array('style' => 'float: left;height: 50%;width: 1px;')) . we_html_element::htmlDiv(array('style' => 'clear:left;position:relative;top:-25%;'), we_html_element::htmlForm(array("action" => WEBEDITION_DIR . 'index.php', 'method' => 'post', 'name' => 'loginForm'), $_hidden_values . $dialogtable));
printHeader($login, (isset($httpCode) ? $httpCode : 401));
print we_html_element::htmlBody(array('style' => 'background-color:#386AAB; height:100%;', "onload" => (($login == LOGIN_OK) ? "open_we();" : "document.loginForm.username.focus();document.loginForm.username.select();")), $_layout . ((isset($_body_javascript)) ? we_html_element::jsElement($_body_javascript) : '')) . '</html>';
}