summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/ShowUserPicture.php58
-rwxr-xr-xincludes/UserCVS.php39
-rwxr-xr-xincludes/avatar/avatar1.gifbin0 -> 933 bytes
-rwxr-xr-xincludes/avatar/avatar10.gifbin0 -> 1262 bytes
-rwxr-xr-xincludes/avatar/avatar100.gifbin0 -> 1086 bytes
-rwxr-xr-xincludes/avatar/avatar101.gifbin0 -> 581 bytes
-rwxr-xr-xincludes/avatar/avatar102.gifbin0 -> 286 bytes
-rwxr-xr-xincludes/avatar/avatar103.gifbin0 -> 266 bytes
-rwxr-xr-xincludes/avatar/avatar104.gifbin0 -> 293 bytes
-rwxr-xr-xincludes/avatar/avatar105.gifbin0 -> 685 bytes
-rwxr-xr-xincludes/avatar/avatar106.gifbin0 -> 276 bytes
-rwxr-xr-xincludes/avatar/avatar107.gifbin0 -> 1041 bytes
-rwxr-xr-xincludes/avatar/avatar108.gifbin0 -> 1038 bytes
-rwxr-xr-xincludes/avatar/avatar109.gifbin0 -> 1048 bytes
-rwxr-xr-xincludes/avatar/avatar11.gifbin0 -> 980 bytes
-rwxr-xr-xincludes/avatar/avatar110.gifbin0 -> 322 bytes
-rwxr-xr-xincludes/avatar/avatar111.gifbin0 -> 731 bytes
-rwxr-xr-xincludes/avatar/avatar112.gifbin0 -> 1171 bytes
-rwxr-xr-xincludes/avatar/avatar113.gifbin0 -> 1042 bytes
-rwxr-xr-xincludes/avatar/avatar114.gifbin0 -> 1175 bytes
-rwxr-xr-xincludes/avatar/avatar115.gifbin0 -> 883 bytes
-rwxr-xr-xincludes/avatar/avatar116.gifbin0 -> 364 bytes
-rwxr-xr-xincludes/avatar/avatar117.gifbin0 -> 662 bytes
-rwxr-xr-xincludes/avatar/avatar118.gifbin0 -> 223 bytes
-rwxr-xr-xincludes/avatar/avatar119.gifbin0 -> 1021 bytes
-rwxr-xr-xincludes/avatar/avatar12.gifbin0 -> 956 bytes
-rwxr-xr-xincludes/avatar/avatar120.gifbin0 -> 173 bytes
-rwxr-xr-xincludes/avatar/avatar121.gifbin0 -> 159 bytes
-rwxr-xr-xincludes/avatar/avatar122.gifbin0 -> 1141 bytes
-rwxr-xr-xincludes/avatar/avatar123.gifbin0 -> 1796 bytes
-rwxr-xr-xincludes/avatar/avatar124.gifbin0 -> 710 bytes
-rwxr-xr-xincludes/avatar/avatar125.gifbin0 -> 945 bytes
-rwxr-xr-xincludes/avatar/avatar126.gifbin0 -> 318 bytes
-rwxr-xr-xincludes/avatar/avatar127.gifbin0 -> 717 bytes
-rwxr-xr-xincludes/avatar/avatar128.gifbin0 -> 1191 bytes
-rwxr-xr-xincludes/avatar/avatar129.gifbin0 -> 1088 bytes
-rwxr-xr-xincludes/avatar/avatar13.gifbin0 -> 961 bytes
-rwxr-xr-xincludes/avatar/avatar130.gifbin0 -> 1194 bytes
-rwxr-xr-xincludes/avatar/avatar131.gifbin0 -> 471 bytes
-rwxr-xr-xincludes/avatar/avatar132.gifbin0 -> 3851 bytes
-rwxr-xr-xincludes/avatar/avatar133.gifbin0 -> 3161 bytes
-rwxr-xr-xincludes/avatar/avatar134.gifbin0 -> 235 bytes
-rwxr-xr-xincludes/avatar/avatar135.gifbin0 -> 1127 bytes
-rwxr-xr-xincludes/avatar/avatar136.gifbin0 -> 2646 bytes
-rwxr-xr-xincludes/avatar/avatar137.gifbin0 -> 1117 bytes
-rwxr-xr-xincludes/avatar/avatar138.gifbin0 -> 5740 bytes
-rwxr-xr-xincludes/avatar/avatar139.gifbin0 -> 4677 bytes
-rwxr-xr-xincludes/avatar/avatar14.gifbin0 -> 1382 bytes
-rwxr-xr-xincludes/avatar/avatar140.gifbin0 -> 214 bytes
-rwxr-xr-xincludes/avatar/avatar141.gifbin0 -> 1167 bytes
-rwxr-xr-xincludes/avatar/avatar142.gifbin0 -> 228 bytes
-rwxr-xr-xincludes/avatar/avatar143.gifbin0 -> 2222 bytes
-rwxr-xr-xincludes/avatar/avatar144.gifbin0 -> 1021 bytes
-rwxr-xr-xincludes/avatar/avatar145.gifbin0 -> 223 bytes
-rwxr-xr-xincludes/avatar/avatar146.gifbin0 -> 176 bytes
-rwxr-xr-xincludes/avatar/avatar147.gifbin0 -> 1201 bytes
-rwxr-xr-xincludes/avatar/avatar148.gifbin0 -> 572 bytes
-rwxr-xr-xincludes/avatar/avatar149.gifbin0 -> 1069 bytes
-rwxr-xr-xincludes/avatar/avatar15.gifbin0 -> 163 bytes
-rwxr-xr-xincludes/avatar/avatar150.gifbin0 -> 2649 bytes
-rwxr-xr-xincludes/avatar/avatar151.gifbin0 -> 236 bytes
-rwxr-xr-xincludes/avatar/avatar152.gifbin0 -> 232 bytes
-rwxr-xr-xincludes/avatar/avatar153.gifbin0 -> 240 bytes
-rwxr-xr-xincludes/avatar/avatar154.gifbin0 -> 233 bytes
-rwxr-xr-xincludes/avatar/avatar155.gifbin0 -> 448 bytes
-rwxr-xr-xincludes/avatar/avatar156.gifbin0 -> 1118 bytes
-rwxr-xr-xincludes/avatar/avatar157.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/avatar/avatar158.gifbin0 -> 1175 bytes
-rwxr-xr-xincludes/avatar/avatar159.gifbin0 -> 4506 bytes
-rwxr-xr-xincludes/avatar/avatar16.gifbin0 -> 158 bytes
-rwxr-xr-xincludes/avatar/avatar160.gifbin0 -> 5826 bytes
-rwxr-xr-xincludes/avatar/avatar161.gifbin0 -> 161 bytes
-rwxr-xr-xincludes/avatar/avatar162.gifbin0 -> 204 bytes
-rwxr-xr-xincludes/avatar/avatar163.gifbin0 -> 1088 bytes
-rwxr-xr-xincludes/avatar/avatar164.gifbin0 -> 653 bytes
-rwxr-xr-xincludes/avatar/avatar165.gifbin0 -> 2039 bytes
-rwxr-xr-xincludes/avatar/avatar166.gifbin0 -> 324 bytes
-rwxr-xr-xincludes/avatar/avatar167.gifbin0 -> 1037 bytes
-rwxr-xr-xincludes/avatar/avatar168.gifbin0 -> 1176 bytes
-rwxr-xr-xincludes/avatar/avatar169.gifbin0 -> 154 bytes
-rwxr-xr-xincludes/avatar/avatar17.gifbin0 -> 2265 bytes
-rwxr-xr-xincludes/avatar/avatar170.gifbin0 -> 173 bytes
-rwxr-xr-xincludes/avatar/avatar171.gifbin0 -> 757 bytes
-rwxr-xr-xincludes/avatar/avatar172.gifbin0 -> 206 bytes
-rwxr-xr-xincludes/avatar/avatar173.gifbin0 -> 1197 bytes
-rwxr-xr-xincludes/avatar/avatar174.gifbin0 -> 240 bytes
-rwxr-xr-xincludes/avatar/avatar175.gifbin0 -> 659 bytes
-rwxr-xr-xincludes/avatar/avatar176.gifbin0 -> 1186 bytes
-rwxr-xr-xincludes/avatar/avatar177.gifbin0 -> 3786 bytes
-rwxr-xr-xincludes/avatar/avatar178.gifbin0 -> 184 bytes
-rwxr-xr-xincludes/avatar/avatar179.gifbin0 -> 167 bytes
-rwxr-xr-xincludes/avatar/avatar18.gifbin0 -> 487 bytes
-rwxr-xr-xincludes/avatar/avatar180.gifbin0 -> 359 bytes
-rwxr-xr-xincludes/avatar/avatar181.gifbin0 -> 1144 bytes
-rwxr-xr-xincludes/avatar/avatar182.gifbin0 -> 169 bytes
-rwxr-xr-xincludes/avatar/avatar183.gifbin0 -> 981 bytes
-rwxr-xr-xincludes/avatar/avatar184.gifbin0 -> 868 bytes
-rwxr-xr-xincludes/avatar/avatar185.gifbin0 -> 1210 bytes
-rwxr-xr-xincludes/avatar/avatar186.gifbin0 -> 243 bytes
-rwxr-xr-xincludes/avatar/avatar187.gifbin0 -> 236 bytes
-rwxr-xr-xincludes/avatar/avatar188.gifbin0 -> 178 bytes
-rwxr-xr-xincludes/avatar/avatar189.gifbin0 -> 268 bytes
-rwxr-xr-xincludes/avatar/avatar19.gifbin0 -> 343 bytes
-rwxr-xr-xincludes/avatar/avatar190.gifbin0 -> 234 bytes
-rwxr-xr-xincludes/avatar/avatar191.gifbin0 -> 1043 bytes
-rwxr-xr-xincludes/avatar/avatar192.gifbin0 -> 329 bytes
-rwxr-xr-xincludes/avatar/avatar193.gifbin0 -> 3363 bytes
-rwxr-xr-xincludes/avatar/avatar194.gifbin0 -> 730 bytes
-rwxr-xr-xincludes/avatar/avatar195.gifbin0 -> 322 bytes
-rwxr-xr-xincludes/avatar/avatar196.gifbin0 -> 92 bytes
-rwxr-xr-xincludes/avatar/avatar197.gifbin0 -> 3451 bytes
-rwxr-xr-xincludes/avatar/avatar198.gifbin0 -> 9243 bytes
-rwxr-xr-xincludes/avatar/avatar199.gifbin0 -> 696 bytes
-rwxr-xr-xincludes/avatar/avatar2.gifbin0 -> 972 bytes
-rwxr-xr-xincludes/avatar/avatar20.gifbin0 -> 1743 bytes
-rwxr-xr-xincludes/avatar/avatar200.gifbin0 -> 667 bytes
-rwxr-xr-xincludes/avatar/avatar201.gifbin0 -> 5471 bytes
-rwxr-xr-xincludes/avatar/avatar202.gifbin0 -> 843 bytes
-rwxr-xr-xincludes/avatar/avatar203.gifbin0 -> 1077 bytes
-rwxr-xr-xincludes/avatar/avatar204.gifbin0 -> 1160 bytes
-rwxr-xr-xincludes/avatar/avatar205.gifbin0 -> 216 bytes
-rwxr-xr-xincludes/avatar/avatar206.gifbin0 -> 1150 bytes
-rwxr-xr-xincludes/avatar/avatar207.gifbin0 -> 172 bytes
-rwxr-xr-xincludes/avatar/avatar208.gifbin0 -> 238 bytes
-rwxr-xr-xincludes/avatar/avatar209.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/avatar/avatar21.gifbin0 -> 983 bytes
-rwxr-xr-xincludes/avatar/avatar210.gifbin0 -> 1034 bytes
-rwxr-xr-xincludes/avatar/avatar211.gifbin0 -> 1131 bytes
-rwxr-xr-xincludes/avatar/avatar212.gifbin0 -> 971 bytes
-rwxr-xr-xincludes/avatar/avatar213.gifbin0 -> 453 bytes
-rwxr-xr-xincludes/avatar/avatar214.gifbin0 -> 578 bytes
-rwxr-xr-xincludes/avatar/avatar215.gifbin0 -> 703 bytes
-rwxr-xr-xincludes/avatar/avatar216.gifbin0 -> 1356 bytes
-rwxr-xr-xincludes/avatar/avatar217.gifbin0 -> 940 bytes
-rwxr-xr-xincludes/avatar/avatar218.gifbin0 -> 1140 bytes
-rwxr-xr-xincludes/avatar/avatar219.gifbin0 -> 238 bytes
-rwxr-xr-xincludes/avatar/avatar22.gifbin0 -> 1026 bytes
-rwxr-xr-xincludes/avatar/avatar220.gifbin0 -> 203 bytes
-rwxr-xr-xincludes/avatar/avatar221.gifbin0 -> 172 bytes
-rwxr-xr-xincludes/avatar/avatar222.gifbin0 -> 710 bytes
-rwxr-xr-xincludes/avatar/avatar223.gifbin0 -> 206 bytes
-rwxr-xr-xincludes/avatar/avatar224.gifbin0 -> 1323 bytes
-rwxr-xr-xincludes/avatar/avatar225.gifbin0 -> 3157 bytes
-rwxr-xr-xincludes/avatar/avatar226.gifbin0 -> 1617 bytes
-rwxr-xr-xincludes/avatar/avatar227.gifbin0 -> 249 bytes
-rwxr-xr-xincludes/avatar/avatar228.gifbin0 -> 1641 bytes
-rwxr-xr-xincludes/avatar/avatar229.gifbin0 -> 976 bytes
-rwxr-xr-xincludes/avatar/avatar23.gifbin0 -> 471 bytes
-rwxr-xr-xincludes/avatar/avatar230.gifbin0 -> 1277 bytes
-rwxr-xr-xincludes/avatar/avatar231.gifbin0 -> 606 bytes
-rwxr-xr-xincludes/avatar/avatar232.gifbin0 -> 1079 bytes
-rwxr-xr-xincludes/avatar/avatar233.gifbin0 -> 716 bytes
-rwxr-xr-xincludes/avatar/avatar234.gifbin0 -> 1026 bytes
-rwxr-xr-xincludes/avatar/avatar235.gifbin0 -> 11643 bytes
-rwxr-xr-xincludes/avatar/avatar236.gifbin0 -> 358 bytes
-rwxr-xr-xincludes/avatar/avatar237.gifbin0 -> 998 bytes
-rwxr-xr-xincludes/avatar/avatar238.gifbin0 -> 1864 bytes
-rwxr-xr-xincludes/avatar/avatar239.gifbin0 -> 2872 bytes
-rwxr-xr-xincludes/avatar/avatar24.gifbin0 -> 226 bytes
-rwxr-xr-xincludes/avatar/avatar240.gifbin0 -> 145 bytes
-rwxr-xr-xincludes/avatar/avatar241.gifbin0 -> 6296 bytes
-rwxr-xr-xincludes/avatar/avatar242.gifbin0 -> 234 bytes
-rwxr-xr-xincludes/avatar/avatar243.gifbin0 -> 1209 bytes
-rwxr-xr-xincludes/avatar/avatar244.gifbin0 -> 714 bytes
-rwxr-xr-xincludes/avatar/avatar245.gifbin0 -> 1039 bytes
-rwxr-xr-xincludes/avatar/avatar246.gifbin0 -> 594 bytes
-rwxr-xr-xincludes/avatar/avatar247.gifbin0 -> 8114 bytes
-rwxr-xr-xincludes/avatar/avatar248.gifbin0 -> 142 bytes
-rwxr-xr-xincludes/avatar/avatar249.gifbin0 -> 1134 bytes
-rwxr-xr-xincludes/avatar/avatar25.gifbin0 -> 1784 bytes
-rwxr-xr-xincludes/avatar/avatar250.gifbin0 -> 324 bytes
-rwxr-xr-xincludes/avatar/avatar251.gifbin0 -> 1167 bytes
-rwxr-xr-xincludes/avatar/avatar252.gifbin0 -> 1110 bytes
-rwxr-xr-xincludes/avatar/avatar253.gifbin0 -> 2015 bytes
-rwxr-xr-xincludes/avatar/avatar254.gifbin0 -> 213 bytes
-rwxr-xr-xincludes/avatar/avatar255.gifbin0 -> 1019 bytes
-rwxr-xr-xincludes/avatar/avatar256.gifbin0 -> 3272 bytes
-rwxr-xr-xincludes/avatar/avatar257.gifbin0 -> 225 bytes
-rwxr-xr-xincludes/avatar/avatar258.gifbin0 -> 708 bytes
-rwxr-xr-xincludes/avatar/avatar259.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/avatar/avatar26.gifbin0 -> 343 bytes
-rwxr-xr-xincludes/avatar/avatar260.gifbin0 -> 990 bytes
-rwxr-xr-xincludes/avatar/avatar261.gifbin0 -> 1428 bytes
-rwxr-xr-xincludes/avatar/avatar262.gifbin0 -> 380 bytes
-rwxr-xr-xincludes/avatar/avatar263.gifbin0 -> 159 bytes
-rwxr-xr-xincludes/avatar/avatar264.gifbin0 -> 429 bytes
-rwxr-xr-xincludes/avatar/avatar265.gifbin0 -> 233 bytes
-rwxr-xr-xincludes/avatar/avatar266.gifbin0 -> 1341 bytes
-rwxr-xr-xincludes/avatar/avatar267.gifbin0 -> 3274 bytes
-rwxr-xr-xincludes/avatar/avatar268.gifbin0 -> 1126 bytes
-rwxr-xr-xincludes/avatar/avatar269.gifbin0 -> 1234 bytes
-rwxr-xr-xincludes/avatar/avatar27.gifbin0 -> 1264 bytes
-rwxr-xr-xincludes/avatar/avatar270.gifbin0 -> 945 bytes
-rwxr-xr-xincludes/avatar/avatar271.gifbin0 -> 4106 bytes
-rwxr-xr-xincludes/avatar/avatar272.gifbin0 -> 620 bytes
-rwxr-xr-xincludes/avatar/avatar273.gifbin0 -> 827 bytes
-rwxr-xr-xincludes/avatar/avatar274.gifbin0 -> 1776 bytes
-rwxr-xr-xincludes/avatar/avatar275.gifbin0 -> 717 bytes
-rwxr-xr-xincludes/avatar/avatar276.gifbin0 -> 277 bytes
-rwxr-xr-xincludes/avatar/avatar277.gifbin0 -> 1112 bytes
-rwxr-xr-xincludes/avatar/avatar278.gifbin0 -> 1803 bytes
-rwxr-xr-xincludes/avatar/avatar279.gifbin0 -> 170 bytes
-rwxr-xr-xincludes/avatar/avatar28.gifbin0 -> 199 bytes
-rwxr-xr-xincludes/avatar/avatar280.gifbin0 -> 3722 bytes
-rwxr-xr-xincludes/avatar/avatar281.gifbin0 -> 382 bytes
-rwxr-xr-xincludes/avatar/avatar282.gifbin0 -> 1180 bytes
-rwxr-xr-xincludes/avatar/avatar283.gifbin0 -> 385 bytes
-rwxr-xr-xincludes/avatar/avatar284.gifbin0 -> 270 bytes
-rwxr-xr-xincludes/avatar/avatar285.gifbin0 -> 1037 bytes
-rwxr-xr-xincludes/avatar/avatar286.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/avatar/avatar287.gifbin0 -> 235 bytes
-rwxr-xr-xincludes/avatar/avatar288.gifbin0 -> 929 bytes
-rwxr-xr-xincludes/avatar/avatar289.gifbin0 -> 246 bytes
-rwxr-xr-xincludes/avatar/avatar29.gifbin0 -> 379 bytes
-rwxr-xr-xincludes/avatar/avatar290.gifbin0 -> 1140 bytes
-rwxr-xr-xincludes/avatar/avatar291.gifbin0 -> 155 bytes
-rwxr-xr-xincludes/avatar/avatar292.gifbin0 -> 2889 bytes
-rwxr-xr-xincludes/avatar/avatar293.gifbin0 -> 428 bytes
-rwxr-xr-xincludes/avatar/avatar294.gifbin0 -> 269 bytes
-rwxr-xr-xincludes/avatar/avatar295.gifbin0 -> 482 bytes
-rwxr-xr-xincludes/avatar/avatar296.gifbin0 -> 1088 bytes
-rwxr-xr-xincludes/avatar/avatar297.gifbin0 -> 1441 bytes
-rwxr-xr-xincludes/avatar/avatar298.gifbin0 -> 437 bytes
-rwxr-xr-xincludes/avatar/avatar299.gifbin0 -> 1064 bytes
-rwxr-xr-xincludes/avatar/avatar3.gifbin0 -> 929 bytes
-rwxr-xr-xincludes/avatar/avatar30.gifbin0 -> 199 bytes
-rwxr-xr-xincludes/avatar/avatar300.gifbin0 -> 698 bytes
-rwxr-xr-xincludes/avatar/avatar301.gifbin0 -> 584 bytes
-rwxr-xr-xincludes/avatar/avatar302.gifbin0 -> 1101 bytes
-rwxr-xr-xincludes/avatar/avatar303.gifbin0 -> 1044 bytes
-rwxr-xr-xincludes/avatar/avatar304.gifbin0 -> 252 bytes
-rwxr-xr-xincludes/avatar/avatar305.gifbin0 -> 710 bytes
-rwxr-xr-xincludes/avatar/avatar306.gifbin0 -> 139 bytes
-rwxr-xr-xincludes/avatar/avatar307.gifbin0 -> 1101 bytes
-rwxr-xr-xincludes/avatar/avatar308.gifbin0 -> 501 bytes
-rwxr-xr-xincludes/avatar/avatar309.gifbin0 -> 353 bytes
-rwxr-xr-xincludes/avatar/avatar31.gifbin0 -> 128 bytes
-rwxr-xr-xincludes/avatar/avatar310.gifbin0 -> 1065 bytes
-rwxr-xr-xincludes/avatar/avatar311.gifbin0 -> 359 bytes
-rwxr-xr-xincludes/avatar/avatar312.gifbin0 -> 1149 bytes
-rwxr-xr-xincludes/avatar/avatar313.gifbin0 -> 658 bytes
-rwxr-xr-xincludes/avatar/avatar314.gifbin0 -> 815 bytes
-rwxr-xr-xincludes/avatar/avatar315.gifbin0 -> 138 bytes
-rwxr-xr-xincludes/avatar/avatar316.gifbin0 -> 333 bytes
-rwxr-xr-xincludes/avatar/avatar317.gifbin0 -> 876 bytes
-rwxr-xr-xincludes/avatar/avatar318.gifbin0 -> 2280 bytes
-rwxr-xr-xincludes/avatar/avatar319.gifbin0 -> 1253 bytes
-rwxr-xr-xincludes/avatar/avatar32.gifbin0 -> 889 bytes
-rwxr-xr-xincludes/avatar/avatar320.gifbin0 -> 612 bytes
-rwxr-xr-xincludes/avatar/avatar321.gifbin0 -> 243 bytes
-rwxr-xr-xincludes/avatar/avatar322.gifbin0 -> 1293 bytes
-rwxr-xr-xincludes/avatar/avatar323.gifbin0 -> 173 bytes
-rwxr-xr-xincludes/avatar/avatar324.gifbin0 -> 345 bytes
-rwxr-xr-xincludes/avatar/avatar325.gifbin0 -> 1037 bytes
-rwxr-xr-xincludes/avatar/avatar326.gifbin0 -> 3007 bytes
-rwxr-xr-xincludes/avatar/avatar327.gifbin0 -> 533 bytes
-rwxr-xr-xincludes/avatar/avatar328.gifbin0 -> 522 bytes
-rwxr-xr-xincludes/avatar/avatar329.gifbin0 -> 607 bytes
-rwxr-xr-xincludes/avatar/avatar33.gifbin0 -> 272 bytes
-rwxr-xr-xincludes/avatar/avatar330.gifbin0 -> 764 bytes
-rwxr-xr-xincludes/avatar/avatar331.gifbin0 -> 234 bytes
-rwxr-xr-xincludes/avatar/avatar332.gifbin0 -> 716 bytes
-rwxr-xr-xincludes/avatar/avatar333.gifbin0 -> 698 bytes
-rwxr-xr-xincludes/avatar/avatar334.gifbin0 -> 554 bytes
-rwxr-xr-xincludes/avatar/avatar335.gifbin0 -> 270 bytes
-rwxr-xr-xincludes/avatar/avatar336.gifbin0 -> 2294 bytes
-rwxr-xr-xincludes/avatar/avatar337.gifbin0 -> 4848 bytes
-rwxr-xr-xincludes/avatar/avatar338.gifbin0 -> 240 bytes
-rwxr-xr-xincludes/avatar/avatar339.gifbin0 -> 1179 bytes
-rwxr-xr-xincludes/avatar/avatar34.gifbin0 -> 260 bytes
-rwxr-xr-xincludes/avatar/avatar340.gifbin0 -> 6785 bytes
-rwxr-xr-xincludes/avatar/avatar341.gifbin0 -> 725 bytes
-rwxr-xr-xincludes/avatar/avatar342.gifbin0 -> 1151 bytes
-rwxr-xr-xincludes/avatar/avatar343.gifbin0 -> 5856 bytes
-rwxr-xr-xincludes/avatar/avatar344.gifbin0 -> 3784 bytes
-rwxr-xr-xincludes/avatar/avatar345.gifbin0 -> 3885 bytes
-rwxr-xr-xincludes/avatar/avatar346.gifbin0 -> 4973 bytes
-rwxr-xr-xincludes/avatar/avatar347.gifbin0 -> 3070 bytes
-rwxr-xr-xincludes/avatar/avatar348.gifbin0 -> 180 bytes
-rwxr-xr-xincludes/avatar/avatar349.gifbin0 -> 2096 bytes
-rwxr-xr-xincludes/avatar/avatar35.gifbin0 -> 862 bytes
-rwxr-xr-xincludes/avatar/avatar350.gifbin0 -> 603 bytes
-rwxr-xr-xincludes/avatar/avatar351.gifbin0 -> 149 bytes
-rwxr-xr-xincludes/avatar/avatar352.gifbin0 -> 919 bytes
-rwxr-xr-xincludes/avatar/avatar353.gifbin0 -> 705 bytes
-rwxr-xr-xincludes/avatar/avatar354.gifbin0 -> 1146 bytes
-rwxr-xr-xincludes/avatar/avatar355.gifbin0 -> 231 bytes
-rwxr-xr-xincludes/avatar/avatar356.gifbin0 -> 2056 bytes
-rwxr-xr-xincludes/avatar/avatar357.gifbin0 -> 2700 bytes
-rwxr-xr-xincludes/avatar/avatar358.gifbin0 -> 2994 bytes
-rwxr-xr-xincludes/avatar/avatar359.gifbin0 -> 868 bytes
-rwxr-xr-xincludes/avatar/avatar36.gifbin0 -> 282 bytes
-rwxr-xr-xincludes/avatar/avatar360.gifbin0 -> 326 bytes
-rwxr-xr-xincludes/avatar/avatar361.gifbin0 -> 3039 bytes
-rwxr-xr-xincludes/avatar/avatar362.gifbin0 -> 704 bytes
-rwxr-xr-xincludes/avatar/avatar363.gifbin0 -> 1107 bytes
-rwxr-xr-xincludes/avatar/avatar364.gifbin0 -> 638 bytes
-rwxr-xr-xincludes/avatar/avatar365.gifbin0 -> 8258 bytes
-rwxr-xr-xincludes/avatar/avatar366.gifbin0 -> 6962 bytes
-rwxr-xr-xincludes/avatar/avatar367.gifbin0 -> 2791 bytes
-rwxr-xr-xincludes/avatar/avatar368.gifbin0 -> 169 bytes
-rwxr-xr-xincludes/avatar/avatar369.gifbin0 -> 1085 bytes
-rwxr-xr-xincludes/avatar/avatar37.gifbin0 -> 791 bytes
-rwxr-xr-xincludes/avatar/avatar370.gifbin0 -> 871 bytes
-rwxr-xr-xincludes/avatar/avatar371.gifbin0 -> 1063 bytes
-rwxr-xr-xincludes/avatar/avatar372.gifbin0 -> 1034 bytes
-rwxr-xr-xincludes/avatar/avatar373.gifbin0 -> 1069 bytes
-rwxr-xr-xincludes/avatar/avatar374.gifbin0 -> 238 bytes
-rwxr-xr-xincludes/avatar/avatar375.gifbin0 -> 1174 bytes
-rwxr-xr-xincludes/avatar/avatar376.gifbin0 -> 844 bytes
-rwxr-xr-xincludes/avatar/avatar377.gifbin0 -> 234 bytes
-rwxr-xr-xincludes/avatar/avatar378.gifbin0 -> 892 bytes
-rwxr-xr-xincludes/avatar/avatar379.gifbin0 -> 705 bytes
-rwxr-xr-xincludes/avatar/avatar38.gifbin0 -> 304 bytes
-rwxr-xr-xincludes/avatar/avatar380.gifbin0 -> 624 bytes
-rwxr-xr-xincludes/avatar/avatar381.gifbin0 -> 1886 bytes
-rwxr-xr-xincludes/avatar/avatar382.gifbin0 -> 4532 bytes
-rwxr-xr-xincludes/avatar/avatar383.gifbin0 -> 1532 bytes
-rwxr-xr-xincludes/avatar/avatar384.gifbin0 -> 715 bytes
-rwxr-xr-xincludes/avatar/avatar385.gifbin0 -> 331 bytes
-rwxr-xr-xincludes/avatar/avatar386.gifbin0 -> 1177 bytes
-rwxr-xr-xincludes/avatar/avatar387.gifbin0 -> 331 bytes
-rwxr-xr-xincludes/avatar/avatar388.gifbin0 -> 1062 bytes
-rwxr-xr-xincludes/avatar/avatar389.gifbin0 -> 722 bytes
-rwxr-xr-xincludes/avatar/avatar39.gifbin0 -> 1600 bytes
-rwxr-xr-xincludes/avatar/avatar390.gifbin0 -> 2156 bytes
-rwxr-xr-xincludes/avatar/avatar391.gifbin0 -> 607 bytes
-rwxr-xr-xincludes/avatar/avatar392.gifbin0 -> 4713 bytes
-rwxr-xr-xincludes/avatar/avatar393.gifbin0 -> 1219 bytes
-rwxr-xr-xincludes/avatar/avatar394.gifbin0 -> 1249 bytes
-rwxr-xr-xincludes/avatar/avatar395.gifbin0 -> 1244 bytes
-rwxr-xr-xincludes/avatar/avatar396.gifbin0 -> 1596 bytes
-rwxr-xr-xincludes/avatar/avatar397.gifbin0 -> 612 bytes
-rwxr-xr-xincludes/avatar/avatar398.gifbin0 -> 1161 bytes
-rwxr-xr-xincludes/avatar/avatar399.gifbin0 -> 1034 bytes
-rwxr-xr-xincludes/avatar/avatar4.gifbin0 -> 1175 bytes
-rwxr-xr-xincludes/avatar/avatar40.gifbin0 -> 266 bytes
-rwxr-xr-xincludes/avatar/avatar400.gifbin0 -> 1210 bytes
-rwxr-xr-xincludes/avatar/avatar401.gifbin0 -> 1212 bytes
-rwxr-xr-xincludes/avatar/avatar402.gifbin0 -> 1038 bytes
-rwxr-xr-xincludes/avatar/avatar403.gifbin0 -> 324 bytes
-rwxr-xr-xincludes/avatar/avatar404.gifbin0 -> 710 bytes
-rwxr-xr-xincludes/avatar/avatar405.gifbin0 -> 231 bytes
-rwxr-xr-xincludes/avatar/avatar406.gifbin0 -> 152 bytes
-rwxr-xr-xincludes/avatar/avatar407.gifbin0 -> 1063 bytes
-rwxr-xr-xincludes/avatar/avatar408.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/avatar/avatar409.gifbin0 -> 453 bytes
-rwxr-xr-xincludes/avatar/avatar41.gifbin0 -> 293 bytes
-rwxr-xr-xincludes/avatar/avatar410.gifbin0 -> 1757 bytes
-rwxr-xr-xincludes/avatar/avatar411.gifbin0 -> 332 bytes
-rwxr-xr-xincludes/avatar/avatar412.gifbin0 -> 708 bytes
-rwxr-xr-xincludes/avatar/avatar413.gifbin0 -> 155 bytes
-rwxr-xr-xincludes/avatar/avatar414.gifbin0 -> 1034 bytes
-rwxr-xr-xincludes/avatar/avatar415.gifbin0 -> 245 bytes
-rwxr-xr-xincludes/avatar/avatar416.gifbin0 -> 658 bytes
-rwxr-xr-xincludes/avatar/avatar417.gifbin0 -> 461 bytes
-rwxr-xr-xincludes/avatar/avatar418.gifbin0 -> 326 bytes
-rwxr-xr-xincludes/avatar/avatar419.gifbin0 -> 4157 bytes
-rwxr-xr-xincludes/avatar/avatar42.gifbin0 -> 884 bytes
-rwxr-xr-xincludes/avatar/avatar420.gifbin0 -> 2721 bytes
-rwxr-xr-xincludes/avatar/avatar421.gifbin0 -> 242 bytes
-rwxr-xr-xincludes/avatar/avatar422.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/avatar/avatar423.gifbin0 -> 731 bytes
-rwxr-xr-xincludes/avatar/avatar424.gifbin0 -> 4477 bytes
-rwxr-xr-xincludes/avatar/avatar425.gifbin0 -> 749 bytes
-rwxr-xr-xincludes/avatar/avatar426.gifbin0 -> 173 bytes
-rwxr-xr-xincludes/avatar/avatar427.gifbin0 -> 1105 bytes
-rwxr-xr-xincludes/avatar/avatar428.gifbin0 -> 164 bytes
-rwxr-xr-xincludes/avatar/avatar429.gifbin0 -> 1094 bytes
-rwxr-xr-xincludes/avatar/avatar43.gifbin0 -> 276 bytes
-rwxr-xr-xincludes/avatar/avatar430.gifbin0 -> 1132 bytes
-rwxr-xr-xincludes/avatar/avatar431.gifbin0 -> 169 bytes
-rwxr-xr-xincludes/avatar/avatar432.gifbin0 -> 990 bytes
-rwxr-xr-xincludes/avatar/avatar433.gifbin0 -> 8013 bytes
-rwxr-xr-xincludes/avatar/avatar434.gifbin0 -> 3752 bytes
-rwxr-xr-xincludes/avatar/avatar435.gifbin0 -> 207 bytes
-rwxr-xr-xincludes/avatar/avatar436.gifbin0 -> 4539 bytes
-rwxr-xr-xincludes/avatar/avatar437.gifbin0 -> 890 bytes
-rwxr-xr-xincludes/avatar/avatar438.gifbin0 -> 200 bytes
-rwxr-xr-xincludes/avatar/avatar439.gifbin0 -> 1137 bytes
-rwxr-xr-xincludes/avatar/avatar44.gifbin0 -> 268 bytes
-rwxr-xr-xincludes/avatar/avatar440.gifbin0 -> 1135 bytes
-rwxr-xr-xincludes/avatar/avatar441.gifbin0 -> 884 bytes
-rwxr-xr-xincludes/avatar/avatar442.gifbin0 -> 1071 bytes
-rwxr-xr-xincludes/avatar/avatar443.gifbin0 -> 203 bytes
-rwxr-xr-xincludes/avatar/avatar444.gifbin0 -> 2175 bytes
-rwxr-xr-xincludes/avatar/avatar445.gifbin0 -> 178 bytes
-rwxr-xr-xincludes/avatar/avatar446.gifbin0 -> 710 bytes
-rwxr-xr-xincludes/avatar/avatar447.gifbin0 -> 9881 bytes
-rwxr-xr-xincludes/avatar/avatar448.gifbin0 -> 425 bytes
-rwxr-xr-xincludes/avatar/avatar449.gifbin0 -> 735 bytes
-rwxr-xr-xincludes/avatar/avatar45.gifbin0 -> 193 bytes
-rwxr-xr-xincludes/avatar/avatar450.gifbin0 -> 1180 bytes
-rwxr-xr-xincludes/avatar/avatar451.gifbin0 -> 1112 bytes
-rwxr-xr-xincludes/avatar/avatar452.gifbin0 -> 327 bytes
-rwxr-xr-xincludes/avatar/avatar453.gifbin0 -> 333 bytes
-rwxr-xr-xincludes/avatar/avatar454.gifbin0 -> 1211 bytes
-rwxr-xr-xincludes/avatar/avatar455.gifbin0 -> 563 bytes
-rwxr-xr-xincludes/avatar/avatar456.gifbin0 -> 890 bytes
-rwxr-xr-xincludes/avatar/avatar457.gifbin0 -> 1216 bytes
-rwxr-xr-xincludes/avatar/avatar458.gifbin0 -> 200 bytes
-rwxr-xr-xincludes/avatar/avatar459.gifbin0 -> 897 bytes
-rwxr-xr-xincludes/avatar/avatar46.gifbin0 -> 265 bytes
-rwxr-xr-xincludes/avatar/avatar460.gifbin0 -> 723 bytes
-rwxr-xr-xincludes/avatar/avatar461.gifbin0 -> 6948 bytes
-rwxr-xr-xincludes/avatar/avatar462.gifbin0 -> 412 bytes
-rwxr-xr-xincludes/avatar/avatar463.gifbin0 -> 412 bytes
-rwxr-xr-xincludes/avatar/avatar464.gifbin0 -> 380 bytes
-rwxr-xr-xincludes/avatar/avatar465.gifbin0 -> 172 bytes
-rwxr-xr-xincludes/avatar/avatar466.gifbin0 -> 869 bytes
-rwxr-xr-xincludes/avatar/avatar467.gifbin0 -> 946 bytes
-rwxr-xr-xincludes/avatar/avatar468.gifbin0 -> 9275 bytes
-rwxr-xr-xincludes/avatar/avatar469.gifbin0 -> 4058 bytes
-rwxr-xr-xincludes/avatar/avatar47.gifbin0 -> 974 bytes
-rwxr-xr-xincludes/avatar/avatar470.gifbin0 -> 421 bytes
-rwxr-xr-xincludes/avatar/avatar471.gifbin0 -> 1171 bytes
-rwxr-xr-xincludes/avatar/avatar472.gifbin0 -> 325 bytes
-rwxr-xr-xincludes/avatar/avatar473.gifbin0 -> 668 bytes
-rwxr-xr-xincludes/avatar/avatar474.gifbin0 -> 709 bytes
-rwxr-xr-xincludes/avatar/avatar475.gifbin0 -> 154 bytes
-rwxr-xr-xincludes/avatar/avatar476.gifbin0 -> 8013 bytes
-rwxr-xr-xincludes/avatar/avatar477.gifbin0 -> 1189 bytes
-rwxr-xr-xincludes/avatar/avatar478.gifbin0 -> 672 bytes
-rwxr-xr-xincludes/avatar/avatar479.gifbin0 -> 1681 bytes
-rwxr-xr-xincludes/avatar/avatar48.gifbin0 -> 275 bytes
-rwxr-xr-xincludes/avatar/avatar480.gifbin0 -> 2693 bytes
-rwxr-xr-xincludes/avatar/avatar481.gifbin0 -> 1554 bytes
-rwxr-xr-xincludes/avatar/avatar482.gifbin0 -> 1410 bytes
-rwxr-xr-xincludes/avatar/avatar483.gifbin0 -> 1306 bytes
-rwxr-xr-xincludes/avatar/avatar484.gifbin0 -> 870 bytes
-rwxr-xr-xincludes/avatar/avatar485.gifbin0 -> 350 bytes
-rwxr-xr-xincludes/avatar/avatar486.gifbin0 -> 160 bytes
-rwxr-xr-xincludes/avatar/avatar487.gifbin0 -> 945 bytes
-rwxr-xr-xincludes/avatar/avatar488.gifbin0 -> 317 bytes
-rwxr-xr-xincludes/avatar/avatar489.gifbin0 -> 514 bytes
-rwxr-xr-xincludes/avatar/avatar49.gifbin0 -> 1960 bytes
-rwxr-xr-xincludes/avatar/avatar490.gifbin0 -> 4350 bytes
-rwxr-xr-xincludes/avatar/avatar491.gifbin0 -> 7431 bytes
-rwxr-xr-xincludes/avatar/avatar492.gifbin0 -> 1289 bytes
-rwxr-xr-xincludes/avatar/avatar493.gifbin0 -> 1399 bytes
-rwxr-xr-xincludes/avatar/avatar494.gifbin0 -> 560 bytes
-rwxr-xr-xincludes/avatar/avatar495.gifbin0 -> 1200 bytes
-rwxr-xr-xincludes/avatar/avatar496.gifbin0 -> 1016 bytes
-rwxr-xr-xincludes/avatar/avatar497.gifbin0 -> 4775 bytes
-rwxr-xr-xincludes/avatar/avatar498.gifbin0 -> 696 bytes
-rwxr-xr-xincludes/avatar/avatar499.gifbin0 -> 3945 bytes
-rwxr-xr-xincludes/avatar/avatar5.gifbin0 -> 945 bytes
-rwxr-xr-xincludes/avatar/avatar50.gifbin0 -> 496 bytes
-rwxr-xr-xincludes/avatar/avatar51.gifbin0 -> 262 bytes
-rwxr-xr-xincludes/avatar/avatar52.gifbin0 -> 272 bytes
-rwxr-xr-xincludes/avatar/avatar53.gifbin0 -> 433 bytes
-rwxr-xr-xincludes/avatar/avatar54.gifbin0 -> 300 bytes
-rwxr-xr-xincludes/avatar/avatar55.gifbin0 -> 1731 bytes
-rwxr-xr-xincludes/avatar/avatar56.gifbin0 -> 283 bytes
-rwxr-xr-xincludes/avatar/avatar57.gifbin0 -> 287 bytes
-rwxr-xr-xincludes/avatar/avatar58.gifbin0 -> 626 bytes
-rwxr-xr-xincludes/avatar/avatar59.gifbin0 -> 155 bytes
-rwxr-xr-xincludes/avatar/avatar6.gifbin0 -> 994 bytes
-rwxr-xr-xincludes/avatar/avatar60.gifbin0 -> 200 bytes
-rwxr-xr-xincludes/avatar/avatar61.gifbin0 -> 1083 bytes
-rwxr-xr-xincludes/avatar/avatar62.gifbin0 -> 217 bytes
-rwxr-xr-xincludes/avatar/avatar63.gifbin0 -> 260 bytes
-rwxr-xr-xincludes/avatar/avatar64.gifbin0 -> 407 bytes
-rwxr-xr-xincludes/avatar/avatar65.gifbin0 -> 343 bytes
-rwxr-xr-xincludes/avatar/avatar66.gifbin0 -> 452 bytes
-rwxr-xr-xincludes/avatar/avatar67.gifbin0 -> 674 bytes
-rwxr-xr-xincludes/avatar/avatar68.gifbin0 -> 1431 bytes
-rwxr-xr-xincludes/avatar/avatar69.gifbin0 -> 796 bytes
-rwxr-xr-xincludes/avatar/avatar7.gifbin0 -> 1432 bytes
-rwxr-xr-xincludes/avatar/avatar70.gifbin0 -> 159 bytes
-rwxr-xr-xincludes/avatar/avatar71.gifbin0 -> 289 bytes
-rwxr-xr-xincludes/avatar/avatar72.gifbin0 -> 256 bytes
-rwxr-xr-xincludes/avatar/avatar73.gifbin0 -> 274 bytes
-rwxr-xr-xincludes/avatar/avatar74.gifbin0 -> 197 bytes
-rwxr-xr-xincludes/avatar/avatar75.gifbin0 -> 5696 bytes
-rwxr-xr-xincludes/avatar/avatar76.gifbin0 -> 186 bytes
-rwxr-xr-xincludes/avatar/avatar77.gifbin0 -> 236 bytes
-rwxr-xr-xincludes/avatar/avatar78.gifbin0 -> 1888 bytes
-rwxr-xr-xincludes/avatar/avatar79.gifbin0 -> 1880 bytes
-rwxr-xr-xincludes/avatar/avatar8.gifbin0 -> 937 bytes
-rwxr-xr-xincludes/avatar/avatar80.gifbin0 -> 1136 bytes
-rwxr-xr-xincludes/avatar/avatar81.gifbin0 -> 185 bytes
-rwxr-xr-xincludes/avatar/avatar82.gifbin0 -> 911 bytes
-rwxr-xr-xincludes/avatar/avatar83.gifbin0 -> 183 bytes
-rwxr-xr-xincludes/avatar/avatar84.gifbin0 -> 2027 bytes
-rwxr-xr-xincludes/avatar/avatar85.gifbin0 -> 240 bytes
-rwxr-xr-xincludes/avatar/avatar86.gifbin0 -> 281 bytes
-rwxr-xr-xincludes/avatar/avatar87.gifbin0 -> 1729 bytes
-rwxr-xr-xincludes/avatar/avatar88.gifbin0 -> 458 bytes
-rwxr-xr-xincludes/avatar/avatar89.gifbin0 -> 959 bytes
-rwxr-xr-xincludes/avatar/avatar9.gifbin0 -> 939 bytes
-rwxr-xr-xincludes/avatar/avatar90.gifbin0 -> 2369 bytes
-rwxr-xr-xincludes/avatar/avatar91.gifbin0 -> 453 bytes
-rwxr-xr-xincludes/avatar/avatar92.gifbin0 -> 5416 bytes
-rwxr-xr-xincludes/avatar/avatar93.gifbin0 -> 296 bytes
-rwxr-xr-xincludes/avatar/avatar94.gifbin0 -> 2171 bytes
-rwxr-xr-xincludes/avatar/avatar95.gifbin0 -> 2810 bytes
-rwxr-xr-xincludes/avatar/avatar96.gifbin0 -> 304 bytes
-rwxr-xr-xincludes/avatar/avatar97.gifbin0 -> 1288 bytes
-rwxr-xr-xincludes/avatar/avatar98.gifbin0 -> 623 bytes
-rwxr-xr-xincludes/avatar/avatar99.gifbin0 -> 703 bytes
-rw-r--r--includes/config_MessegeServer.php8
-rw-r--r--includes/config_modem.php11
-rwxr-xr-xincludes/crypt.php18
-rwxr-xr-xincludes/css/grossbild.js62
-rwxr-xr-xincludes/css/style.css.old53
-rwxr-xr-xincludes/css/style.css.old269
-rwxr-xr-xincludes/css/style1.css79
-rwxr-xr-xincludes/css/style2.css117
-rwxr-xr-xincludes/css/style3.css105
-rwxr-xr-xincludes/css/style4.css70
-rwxr-xr-xincludes/css/style5.css79
-rwxr-xr-xincludes/css/style6.css68
-rwxr-xr-xincludes/css/style7.css70
-rwxr-xr-xincludes/css/style8.css70
-rwxr-xr-xincludes/css/style9.css84
-rwxr-xr-xincludes/error_handler.php129
-rwxr-xr-xincludes/flag/de.gifbin0 -> 321 bytes
-rwxr-xr-xincludes/flag/en.gifbin0 -> 2430 bytes
-rwxr-xr-xincludes/footer.php67
-rw-r--r--includes/funktion_SendMessenges.php18
-rwxr-xr-xincludes/funktion_activeUser.php61
-rw-r--r--includes/funktion_counter.php24
-rwxr-xr-xincludes/funktion_cron.php143
-rw-r--r--includes/funktion_db.php149
-rwxr-xr-xincludes/funktion_db_list.php34
-rwxr-xr-xincludes/funktion_faq.php12
-rw-r--r--includes/funktion_flag.php12
-rwxr-xr-xincludes/funktion_jabber.php1853
-rwxr-xr-xincludes/funktion_lang.php35
-rwxr-xr-xincludes/funktion_menu.php44
-rwxr-xr-xincludes/funktion_modem.php35
-rwxr-xr-xincludes/funktion_schichtplan.php379
-rwxr-xr-xincludes/funktion_schichtplan_Tage.php87
-rwxr-xr-xincludes/funktion_schichtplan_aray.php38
-rwxr-xr-xincludes/funktion_schichtplan_beamer.php182
-rwxr-xr-xincludes/funktion_user.php119
-rwxr-xr-xincludes/funktion_xml.php160
-rwxr-xr-xincludes/funktion_xml_room.php69
-rwxr-xr-xincludes/funktion_xml_schudle.php246
-rwxr-xr-xincludes/funktionen.php26
-rwxr-xr-xincludes/header.php177
-rwxr-xr-xincludes/himmel.pngbin0 -> 10338 bytes
-rwxr-xr-xincludes/himmel_w.pngbin0 -> 4691 bytes
-rwxr-xr-xincludes/login_eingabefeld.php21
-rwxr-xr-xincludes/menu.php63
-rwxr-xr-xincludes/secure.php41
-rwxr-xr-xincludes/smiles/aerger2.gifbin0 -> 561 bytes
-rwxr-xr-xincludes/smiles/alien.gifbin0 -> 933 bytes
-rwxr-xr-xincludes/smiles/blush.gifbin0 -> 954 bytes
-rwxr-xr-xincludes/smiles/boggle.gifbin0 -> 951 bytes
-rwxr-xr-xincludes/smiles/bounce.gifbin0 -> 2757 bytes
-rwxr-xr-xincludes/smiles/bun.gifbin0 -> 956 bytes
-rwxr-xr-xincludes/smiles/candycane.gifbin0 -> 904 bytes
-rwxr-xr-xincludes/smiles/cheesy.gifbin0 -> 933 bytes
-rwxr-xr-xincludes/smiles/dead.gifbin0 -> 961 bytes
-rwxr-xr-xincludes/smiles/depressed.gifbin0 -> 977 bytes
-rwxr-xr-xincludes/smiles/ginger.gifbin0 -> 980 bytes
-rwxr-xr-xincludes/smiles/hirsch1.gifbin0 -> 1262 bytes
-rwxr-xr-xincludes/smiles/huh.gifbin0 -> 939 bytes
-rwxr-xr-xincludes/smiles/icon_arrow.gifbin0 -> 170 bytes
-rwxr-xr-xincludes/smiles/icon_biggrin.gifbin0 -> 172 bytes
-rwxr-xr-xincludes/smiles/icon_confused.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/smiles/icon_cool.gifbin0 -> 172 bytes
-rwxr-xr-xincludes/smiles/icon_cry.gifbin0 -> 498 bytes
-rwxr-xr-xincludes/smiles/icon_eek.gifbin0 -> 170 bytes
-rwxr-xr-xincludes/smiles/icon_evil.gifbin0 -> 236 bytes
-rwxr-xr-xincludes/smiles/icon_exclaim.gifbin0 -> 236 bytes
-rwxr-xr-xincludes/smiles/icon_frown.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/smiles/icon_idea.gifbin0 -> 176 bytes
-rwxr-xr-xincludes/smiles/icon_lol.gifbin0 -> 336 bytes
-rwxr-xr-xincludes/smiles/icon_mad.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/smiles/icon_mrgreen.gifbin0 -> 349 bytes
-rwxr-xr-xincludes/smiles/icon_neutral.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/smiles/icon_question.gifbin0 -> 248 bytes
-rwxr-xr-xincludes/smiles/icon_razz.gifbin0 -> 176 bytes
-rwxr-xr-xincludes/smiles/icon_redface.gifbin0 -> 650 bytes
-rwxr-xr-xincludes/smiles/icon_rolleyes.gifbin0 -> 485 bytes
-rwxr-xr-xincludes/smiles/icon_sad.gifbin0 -> 171 bytes
-rwxr-xr-xincludes/smiles/icon_smile.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/smiles/icon_surprised.gifbin0 -> 174 bytes
-rwxr-xr-xincludes/smiles/icon_twisted.gifbin0 -> 238 bytes
-rwxr-xr-xincludes/smiles/icon_wind.gifbin0 -> 170 bytes
-rwxr-xr-xincludes/smiles/koenig1.gifbin0 -> 937 bytes
-rwxr-xr-xincludes/smiles/laser1.gifbin0 -> 1432 bytes
-rwxr-xr-xincludes/smiles/love1.gifbin0 -> 1009 bytes
-rwxr-xr-xincludes/smiles/moo.gifbin0 -> 1175 bytes
-rwxr-xr-xincludes/smiles/nuts.gifbin0 -> 531 bytes
-rwxr-xr-xincludes/smiles/robin.gifbin0 -> 971 bytes
-rwxr-xr-xincludes/smiles/sheep.gifbin0 -> 915 bytes
-rwxr-xr-xincludes/smiles/sick.gifbin0 -> 940 bytes
-rwxr-xr-xincludes/smiles/sleep.gifbin0 -> 1005 bytes
-rwxr-xr-xincludes/smiles/soppy.gifbin0 -> 994 bytes
-rwxr-xr-xincludes/smiles/stress.gifbin0 -> 1258 bytes
-rwxr-xr-xincludes/smiles/sweet.gifbin0 -> 972 bytes
-rwxr-xr-xincludes/smiles/tired.gifbin0 -> 929 bytes
-rwxr-xr-xincludes/smiles/urgh.gifbin0 -> 980 bytes
-rwxr-xr-xincludes/smiles/winken1.gifbin0 -> 3249 bytes
-rwxr-xr-xincludes/smiles/worm.gifbin0 -> 945 bytes
-rwxr-xr-xincludes/smiles/worry.gifbin0 -> 951 bytes
600 files changed, 5284 insertions, 0 deletions
diff --git a/includes/ShowUserPicture.php b/includes/ShowUserPicture.php
new file mode 100644
index 00000000..8e058127
--- /dev/null
+++ b/includes/ShowUserPicture.php
@@ -0,0 +1,58 @@
+<?PHP
+
+include ("./inc/config.php");
+include ("./inc/error_handler.php");
+include ("./inc/config_db.php");
+if( !isset($_SESSION)) session_start();
+include ("./inc/secure.php");
+
+
+// Parameter check
+if( !isset($_GET["UID"]) )
+ $_GET["UID"]= "-1";
+
+$SQL= "SELECT * FROM `UserPicture` WHERE `UID`='". $_GET["UID"]. "'";
+$res = mysql_query( $SQL, $con);
+
+if( mysql_num_rows($res) == 1)
+{
+ //genügend rechte
+ if( !isset($_SESSION['UID']) || $_SESSION['UID'] == -1)
+ {
+ header( "HTTP/1.0 403 Forbidden");
+ die( "403 Forbidden");
+ }
+
+ // ist das bild sichtbar?
+ if( (mysql_result($res, 0, "show")=="N") AND
+ ($_SESSION['UID']!=$_GET["UID"]) AND
+ ($_SESSION['CVS'][ "admin/UserPicture.php" ] == "N"))
+ {
+ $SQL= "SELECT * FROM `UserPicture` WHERE `UID`='-1'";
+ $res = mysql_query( $SQL, $con);
+ if( mysql_num_rows($res) != 1)
+ {
+ header( 'HTTP/1.0 404 Not Found');
+ die( "404 Not Found");
+ }
+ }
+
+ /// bild aus db auslesen
+ $bild = mysql_result($res, 0, "Bild");
+
+ // ausgabe bild
+ header( "Accept-Ranges: bytes");
+ header( "Content-Length: ". strlen($bild));
+ header( "Content-type: ". mysql_result($res, 0, "ContentType"));
+ header( "Cache-control: public");
+ header( "Cache-request-directive: min-fresh = 120");
+ header( "Cache-request-directive: max-age = 360");
+ echo $bild;
+}
+else
+{
+ header( 'HTTP/1.0 404 Not Found');
+ die( "404 Not Found");
+}
+
+?>
diff --git a/includes/UserCVS.php b/includes/UserCVS.php
new file mode 100755
index 00000000..f6bc30ed
--- /dev/null
+++ b/includes/UserCVS.php
@@ -0,0 +1,39 @@
+<?php
+
+if( !isset($_SESSION['UID']))
+ $_SESSION['UID'] = -1;
+
+// CVS import Data
+$SQL = "SELECT * FROM `UserCVS` WHERE UID=".$_SESSION['UID'];
+$Erg_CVS = mysql_query($SQL, $con);
+$_SESSION['CVS'] = mysql_fetch_array($Erg_CVS);
+
+//pagename ermitteln
+$Page["Name"] = substr( $_SERVER['PHP_SELF'], strlen($ENGEL_ROOT) );
+
+
+//recht für diese seite auslesen
+if( isset( $_SESSION['CVS'][ $Page["Name"] ]))
+ $Page["CVS"] = $_SESSION['CVS'][ $Page["Name"] ];
+else
+{
+ echo "SYSTEM ERROR: now right for ". $Page["Name"]. "exist";
+ die;
+}
+
+if( $DEBUG )
+{
+// echo "UserID:". $_SESSION["UID"]. "<br>";
+// echo "Nick:". $_SESSION["Nick"]. "<br>";
+
+ foreach( $_SESSION as $k => $v)
+ echo "$k = $v<br>\n";
+
+ if( strlen($Page["CVS"]) == 0 )
+ echo "<h1><u> CVS ERROR, on page '". $Page["Name"]. "'</u></h1>";
+ else
+ echo "CVS: ". $Page["Name"]. " => '". $Page["CVS"]. "'<br>";
+
+}
+
+?>
diff --git a/includes/avatar/avatar1.gif b/includes/avatar/avatar1.gif
new file mode 100755
index 00000000..1404f299
--- /dev/null
+++ b/includes/avatar/avatar1.gif
Binary files differ
diff --git a/includes/avatar/avatar10.gif b/includes/avatar/avatar10.gif
new file mode 100755
index 00000000..6ef61330
--- /dev/null
+++ b/includes/avatar/avatar10.gif
Binary files differ
diff --git a/includes/avatar/avatar100.gif b/includes/avatar/avatar100.gif
new file mode 100755
index 00000000..1e00f0d3
--- /dev/null
+++ b/includes/avatar/avatar100.gif
Binary files differ
diff --git a/includes/avatar/avatar101.gif b/includes/avatar/avatar101.gif
new file mode 100755
index 00000000..15a41959
--- /dev/null
+++ b/includes/avatar/avatar101.gif
Binary files differ
diff --git a/includes/avatar/avatar102.gif b/includes/avatar/avatar102.gif
new file mode 100755
index 00000000..325d9173
--- /dev/null
+++ b/includes/avatar/avatar102.gif
Binary files differ
diff --git a/includes/avatar/avatar103.gif b/includes/avatar/avatar103.gif
new file mode 100755
index 00000000..c842fcdf
--- /dev/null
+++ b/includes/avatar/avatar103.gif
Binary files differ
diff --git a/includes/avatar/avatar104.gif b/includes/avatar/avatar104.gif
new file mode 100755
index 00000000..83483253
--- /dev/null
+++ b/includes/avatar/avatar104.gif
Binary files differ
diff --git a/includes/avatar/avatar105.gif b/includes/avatar/avatar105.gif
new file mode 100755
index 00000000..1cdc0d10
--- /dev/null
+++ b/includes/avatar/avatar105.gif
Binary files differ
diff --git a/includes/avatar/avatar106.gif b/includes/avatar/avatar106.gif
new file mode 100755
index 00000000..be773e15
--- /dev/null
+++ b/includes/avatar/avatar106.gif
Binary files differ
diff --git a/includes/avatar/avatar107.gif b/includes/avatar/avatar107.gif
new file mode 100755
index 00000000..b111f9c8
--- /dev/null
+++ b/includes/avatar/avatar107.gif
Binary files differ
diff --git a/includes/avatar/avatar108.gif b/includes/avatar/avatar108.gif
new file mode 100755
index 00000000..12a21a94
--- /dev/null
+++ b/includes/avatar/avatar108.gif
Binary files differ
diff --git a/includes/avatar/avatar109.gif b/includes/avatar/avatar109.gif
new file mode 100755
index 00000000..32534f83
--- /dev/null
+++ b/includes/avatar/avatar109.gif
Binary files differ
diff --git a/includes/avatar/avatar11.gif b/includes/avatar/avatar11.gif
new file mode 100755
index 00000000..199b085d
--- /dev/null
+++ b/includes/avatar/avatar11.gif
Binary files differ
diff --git a/includes/avatar/avatar110.gif b/includes/avatar/avatar110.gif
new file mode 100755
index 00000000..e2c70f54
--- /dev/null
+++ b/includes/avatar/avatar110.gif
Binary files differ
diff --git a/includes/avatar/avatar111.gif b/includes/avatar/avatar111.gif
new file mode 100755
index 00000000..f197ea67
--- /dev/null
+++ b/includes/avatar/avatar111.gif
Binary files differ
diff --git a/includes/avatar/avatar112.gif b/includes/avatar/avatar112.gif
new file mode 100755
index 00000000..ff4ec284
--- /dev/null
+++ b/includes/avatar/avatar112.gif
Binary files differ
diff --git a/includes/avatar/avatar113.gif b/includes/avatar/avatar113.gif
new file mode 100755
index 00000000..1dbd37aa
--- /dev/null
+++ b/includes/avatar/avatar113.gif
Binary files differ
diff --git a/includes/avatar/avatar114.gif b/includes/avatar/avatar114.gif
new file mode 100755
index 00000000..6b4b107e
--- /dev/null
+++ b/includes/avatar/avatar114.gif
Binary files differ
diff --git a/includes/avatar/avatar115.gif b/includes/avatar/avatar115.gif
new file mode 100755
index 00000000..2af52d2b
--- /dev/null
+++ b/includes/avatar/avatar115.gif
Binary files differ
diff --git a/includes/avatar/avatar116.gif b/includes/avatar/avatar116.gif
new file mode 100755
index 00000000..7db21919
--- /dev/null
+++ b/includes/avatar/avatar116.gif
Binary files differ
diff --git a/includes/avatar/avatar117.gif b/includes/avatar/avatar117.gif
new file mode 100755
index 00000000..5cb57d35
--- /dev/null
+++ b/includes/avatar/avatar117.gif
Binary files differ
diff --git a/includes/avatar/avatar118.gif b/includes/avatar/avatar118.gif
new file mode 100755
index 00000000..fb1e43b5
--- /dev/null
+++ b/includes/avatar/avatar118.gif
Binary files differ
diff --git a/includes/avatar/avatar119.gif b/includes/avatar/avatar119.gif
new file mode 100755
index 00000000..6a78fee5
--- /dev/null
+++ b/includes/avatar/avatar119.gif
Binary files differ
diff --git a/includes/avatar/avatar12.gif b/includes/avatar/avatar12.gif
new file mode 100755
index 00000000..c6ee6937
--- /dev/null
+++ b/includes/avatar/avatar12.gif
Binary files differ
diff --git a/includes/avatar/avatar120.gif b/includes/avatar/avatar120.gif
new file mode 100755
index 00000000..278c5b14
--- /dev/null
+++ b/includes/avatar/avatar120.gif
Binary files differ
diff --git a/includes/avatar/avatar121.gif b/includes/avatar/avatar121.gif
new file mode 100755
index 00000000..77bb5793
--- /dev/null
+++ b/includes/avatar/avatar121.gif
Binary files differ
diff --git a/includes/avatar/avatar122.gif b/includes/avatar/avatar122.gif
new file mode 100755
index 00000000..67c03bfd
--- /dev/null
+++ b/includes/avatar/avatar122.gif
Binary files differ
diff --git a/includes/avatar/avatar123.gif b/includes/avatar/avatar123.gif
new file mode 100755
index 00000000..351c7ee0
--- /dev/null
+++ b/includes/avatar/avatar123.gif
Binary files differ
diff --git a/includes/avatar/avatar124.gif b/includes/avatar/avatar124.gif
new file mode 100755
index 00000000..13a090bc
--- /dev/null
+++ b/includes/avatar/avatar124.gif
Binary files differ
diff --git a/includes/avatar/avatar125.gif b/includes/avatar/avatar125.gif
new file mode 100755
index 00000000..e4338b9f
--- /dev/null
+++ b/includes/avatar/avatar125.gif
Binary files differ
diff --git a/includes/avatar/avatar126.gif b/includes/avatar/avatar126.gif
new file mode 100755
index 00000000..80759725
--- /dev/null
+++ b/includes/avatar/avatar126.gif
Binary files differ
diff --git a/includes/avatar/avatar127.gif b/includes/avatar/avatar127.gif
new file mode 100755
index 00000000..e3c7e056
--- /dev/null
+++ b/includes/avatar/avatar127.gif
Binary files differ
diff --git a/includes/avatar/avatar128.gif b/includes/avatar/avatar128.gif
new file mode 100755
index 00000000..fb00ebd9
--- /dev/null
+++ b/includes/avatar/avatar128.gif
Binary files differ
diff --git a/includes/avatar/avatar129.gif b/includes/avatar/avatar129.gif
new file mode 100755
index 00000000..40651db7
--- /dev/null
+++ b/includes/avatar/avatar129.gif
Binary files differ
diff --git a/includes/avatar/avatar13.gif b/includes/avatar/avatar13.gif
new file mode 100755
index 00000000..8328c337
--- /dev/null
+++ b/includes/avatar/avatar13.gif
Binary files differ
diff --git a/includes/avatar/avatar130.gif b/includes/avatar/avatar130.gif
new file mode 100755
index 00000000..45faa378
--- /dev/null
+++ b/includes/avatar/avatar130.gif
Binary files differ
diff --git a/includes/avatar/avatar131.gif b/includes/avatar/avatar131.gif
new file mode 100755
index 00000000..92cff06c
--- /dev/null
+++ b/includes/avatar/avatar131.gif
Binary files differ
diff --git a/includes/avatar/avatar132.gif b/includes/avatar/avatar132.gif
new file mode 100755
index 00000000..8835d905
--- /dev/null
+++ b/includes/avatar/avatar132.gif
Binary files differ
diff --git a/includes/avatar/avatar133.gif b/includes/avatar/avatar133.gif
new file mode 100755
index 00000000..15abbcbe
--- /dev/null
+++ b/includes/avatar/avatar133.gif
Binary files differ
diff --git a/includes/avatar/avatar134.gif b/includes/avatar/avatar134.gif
new file mode 100755
index 00000000..f559359f
--- /dev/null
+++ b/includes/avatar/avatar134.gif
Binary files differ
diff --git a/includes/avatar/avatar135.gif b/includes/avatar/avatar135.gif
new file mode 100755
index 00000000..d9a07c47
--- /dev/null
+++ b/includes/avatar/avatar135.gif
Binary files differ
diff --git a/includes/avatar/avatar136.gif b/includes/avatar/avatar136.gif
new file mode 100755
index 00000000..e7f9f76c
--- /dev/null
+++ b/includes/avatar/avatar136.gif
Binary files differ
diff --git a/includes/avatar/avatar137.gif b/includes/avatar/avatar137.gif
new file mode 100755
index 00000000..b62b374b
--- /dev/null
+++ b/includes/avatar/avatar137.gif
Binary files differ
diff --git a/includes/avatar/avatar138.gif b/includes/avatar/avatar138.gif
new file mode 100755
index 00000000..49c44308
--- /dev/null
+++ b/includes/avatar/avatar138.gif
Binary files differ
diff --git a/includes/avatar/avatar139.gif b/includes/avatar/avatar139.gif
new file mode 100755
index 00000000..4281e84a
--- /dev/null
+++ b/includes/avatar/avatar139.gif
Binary files differ
diff --git a/includes/avatar/avatar14.gif b/includes/avatar/avatar14.gif
new file mode 100755
index 00000000..1edaa2ca
--- /dev/null
+++ b/includes/avatar/avatar14.gif
Binary files differ
diff --git a/includes/avatar/avatar140.gif b/includes/avatar/avatar140.gif
new file mode 100755
index 00000000..b058941a
--- /dev/null
+++ b/includes/avatar/avatar140.gif
Binary files differ
diff --git a/includes/avatar/avatar141.gif b/includes/avatar/avatar141.gif
new file mode 100755
index 00000000..33def8f5
--- /dev/null
+++ b/includes/avatar/avatar141.gif
Binary files differ
diff --git a/includes/avatar/avatar142.gif b/includes/avatar/avatar142.gif
new file mode 100755
index 00000000..416e7c26
--- /dev/null
+++ b/includes/avatar/avatar142.gif
Binary files differ
diff --git a/includes/avatar/avatar143.gif b/includes/avatar/avatar143.gif
new file mode 100755
index 00000000..18ee70d9
--- /dev/null
+++ b/includes/avatar/avatar143.gif
Binary files differ
diff --git a/includes/avatar/avatar144.gif b/includes/avatar/avatar144.gif
new file mode 100755
index 00000000..e322ac57
--- /dev/null
+++ b/includes/avatar/avatar144.gif
Binary files differ
diff --git a/includes/avatar/avatar145.gif b/includes/avatar/avatar145.gif
new file mode 100755
index 00000000..5f047a5f
--- /dev/null
+++ b/includes/avatar/avatar145.gif
Binary files differ
diff --git a/includes/avatar/avatar146.gif b/includes/avatar/avatar146.gif
new file mode 100755
index 00000000..3d2fe843
--- /dev/null
+++ b/includes/avatar/avatar146.gif
Binary files differ
diff --git a/includes/avatar/avatar147.gif b/includes/avatar/avatar147.gif
new file mode 100755
index 00000000..d1d54f74
--- /dev/null
+++ b/includes/avatar/avatar147.gif
Binary files differ
diff --git a/includes/avatar/avatar148.gif b/includes/avatar/avatar148.gif
new file mode 100755
index 00000000..0e715ed8
--- /dev/null
+++ b/includes/avatar/avatar148.gif
Binary files differ
diff --git a/includes/avatar/avatar149.gif b/includes/avatar/avatar149.gif
new file mode 100755
index 00000000..9cbe72c6
--- /dev/null
+++ b/includes/avatar/avatar149.gif
Binary files differ
diff --git a/includes/avatar/avatar15.gif b/includes/avatar/avatar15.gif
new file mode 100755
index 00000000..d197e82a
--- /dev/null
+++ b/includes/avatar/avatar15.gif
Binary files differ
diff --git a/includes/avatar/avatar150.gif b/includes/avatar/avatar150.gif
new file mode 100755
index 00000000..b790d296
--- /dev/null
+++ b/includes/avatar/avatar150.gif
Binary files differ
diff --git a/includes/avatar/avatar151.gif b/includes/avatar/avatar151.gif
new file mode 100755
index 00000000..afc3b333
--- /dev/null
+++ b/includes/avatar/avatar151.gif
Binary files differ
diff --git a/includes/avatar/avatar152.gif b/includes/avatar/avatar152.gif
new file mode 100755
index 00000000..e30287d6
--- /dev/null
+++ b/includes/avatar/avatar152.gif
Binary files differ
diff --git a/includes/avatar/avatar153.gif b/includes/avatar/avatar153.gif
new file mode 100755
index 00000000..82bb1775
--- /dev/null
+++ b/includes/avatar/avatar153.gif
Binary files differ
diff --git a/includes/avatar/avatar154.gif b/includes/avatar/avatar154.gif
new file mode 100755
index 00000000..872008da
--- /dev/null
+++ b/includes/avatar/avatar154.gif
Binary files differ
diff --git a/includes/avatar/avatar155.gif b/includes/avatar/avatar155.gif
new file mode 100755
index 00000000..51931858
--- /dev/null
+++ b/includes/avatar/avatar155.gif
Binary files differ
diff --git a/includes/avatar/avatar156.gif b/includes/avatar/avatar156.gif
new file mode 100755
index 00000000..8b3781ff
--- /dev/null
+++ b/includes/avatar/avatar156.gif
Binary files differ
diff --git a/includes/avatar/avatar157.gif b/includes/avatar/avatar157.gif
new file mode 100755
index 00000000..7c8667cf
--- /dev/null
+++ b/includes/avatar/avatar157.gif
Binary files differ
diff --git a/includes/avatar/avatar158.gif b/includes/avatar/avatar158.gif
new file mode 100755
index 00000000..ce3472cd
--- /dev/null
+++ b/includes/avatar/avatar158.gif
Binary files differ
diff --git a/includes/avatar/avatar159.gif b/includes/avatar/avatar159.gif
new file mode 100755
index 00000000..c54f2b29
--- /dev/null
+++ b/includes/avatar/avatar159.gif
Binary files differ
diff --git a/includes/avatar/avatar16.gif b/includes/avatar/avatar16.gif
new file mode 100755
index 00000000..d76a15cd
--- /dev/null
+++ b/includes/avatar/avatar16.gif
Binary files differ
diff --git a/includes/avatar/avatar160.gif b/includes/avatar/avatar160.gif
new file mode 100755
index 00000000..deb3507c
--- /dev/null
+++ b/includes/avatar/avatar160.gif
Binary files differ
diff --git a/includes/avatar/avatar161.gif b/includes/avatar/avatar161.gif
new file mode 100755
index 00000000..f425b1f2
--- /dev/null
+++ b/includes/avatar/avatar161.gif
Binary files differ
diff --git a/includes/avatar/avatar162.gif b/includes/avatar/avatar162.gif
new file mode 100755
index 00000000..5625fe09
--- /dev/null
+++ b/includes/avatar/avatar162.gif
Binary files differ
diff --git a/includes/avatar/avatar163.gif b/includes/avatar/avatar163.gif
new file mode 100755
index 00000000..8146a09d
--- /dev/null
+++ b/includes/avatar/avatar163.gif
Binary files differ
diff --git a/includes/avatar/avatar164.gif b/includes/avatar/avatar164.gif
new file mode 100755
index 00000000..4690f9cb
--- /dev/null
+++ b/includes/avatar/avatar164.gif
Binary files differ
diff --git a/includes/avatar/avatar165.gif b/includes/avatar/avatar165.gif
new file mode 100755
index 00000000..efe72a35
--- /dev/null
+++ b/includes/avatar/avatar165.gif
Binary files differ
diff --git a/includes/avatar/avatar166.gif b/includes/avatar/avatar166.gif
new file mode 100755
index 00000000..a1720be3
--- /dev/null
+++ b/includes/avatar/avatar166.gif
Binary files differ
diff --git a/includes/avatar/avatar167.gif b/includes/avatar/avatar167.gif
new file mode 100755
index 00000000..04d31691
--- /dev/null
+++ b/includes/avatar/avatar167.gif
Binary files differ
diff --git a/includes/avatar/avatar168.gif b/includes/avatar/avatar168.gif
new file mode 100755
index 00000000..4d804c2a
--- /dev/null
+++ b/includes/avatar/avatar168.gif
Binary files differ
diff --git a/includes/avatar/avatar169.gif b/includes/avatar/avatar169.gif
new file mode 100755
index 00000000..afe58a3f
--- /dev/null
+++ b/includes/avatar/avatar169.gif
Binary files differ
diff --git a/includes/avatar/avatar17.gif b/includes/avatar/avatar17.gif
new file mode 100755
index 00000000..994836b7
--- /dev/null
+++ b/includes/avatar/avatar17.gif
Binary files differ
diff --git a/includes/avatar/avatar170.gif b/includes/avatar/avatar170.gif
new file mode 100755
index 00000000..dae4c36a
--- /dev/null
+++ b/includes/avatar/avatar170.gif
Binary files differ
diff --git a/includes/avatar/avatar171.gif b/includes/avatar/avatar171.gif
new file mode 100755
index 00000000..774aa9c2
--- /dev/null
+++ b/includes/avatar/avatar171.gif
Binary files differ
diff --git a/includes/avatar/avatar172.gif b/includes/avatar/avatar172.gif
new file mode 100755
index 00000000..e6f7bc6c
--- /dev/null
+++ b/includes/avatar/avatar172.gif
Binary files differ
diff --git a/includes/avatar/avatar173.gif b/includes/avatar/avatar173.gif
new file mode 100755
index 00000000..3222ac99
--- /dev/null
+++ b/includes/avatar/avatar173.gif
Binary files differ
diff --git a/includes/avatar/avatar174.gif b/includes/avatar/avatar174.gif
new file mode 100755
index 00000000..a64201ca
--- /dev/null
+++ b/includes/avatar/avatar174.gif
Binary files differ
diff --git a/includes/avatar/avatar175.gif b/includes/avatar/avatar175.gif
new file mode 100755
index 00000000..c172a6eb
--- /dev/null
+++ b/includes/avatar/avatar175.gif
Binary files differ
diff --git a/includes/avatar/avatar176.gif b/includes/avatar/avatar176.gif
new file mode 100755
index 00000000..bda3bae5
--- /dev/null
+++ b/includes/avatar/avatar176.gif
Binary files differ
diff --git a/includes/avatar/avatar177.gif b/includes/avatar/avatar177.gif
new file mode 100755
index 00000000..d2951985
--- /dev/null
+++ b/includes/avatar/avatar177.gif
Binary files differ
diff --git a/includes/avatar/avatar178.gif b/includes/avatar/avatar178.gif
new file mode 100755
index 00000000..400ae2eb
--- /dev/null
+++ b/includes/avatar/avatar178.gif
Binary files differ
diff --git a/includes/avatar/avatar179.gif b/includes/avatar/avatar179.gif
new file mode 100755
index 00000000..cfb7a1cf
--- /dev/null
+++ b/includes/avatar/avatar179.gif
Binary files differ
diff --git a/includes/avatar/avatar18.gif b/includes/avatar/avatar18.gif
new file mode 100755
index 00000000..4c1d9b57
--- /dev/null
+++ b/includes/avatar/avatar18.gif
Binary files differ
diff --git a/includes/avatar/avatar180.gif b/includes/avatar/avatar180.gif
new file mode 100755
index 00000000..5be98c79
--- /dev/null
+++ b/includes/avatar/avatar180.gif
Binary files differ
diff --git a/includes/avatar/avatar181.gif b/includes/avatar/avatar181.gif
new file mode 100755
index 00000000..44918224
--- /dev/null
+++ b/includes/avatar/avatar181.gif
Binary files differ
diff --git a/includes/avatar/avatar182.gif b/includes/avatar/avatar182.gif
new file mode 100755
index 00000000..914c3efc
--- /dev/null
+++ b/includes/avatar/avatar182.gif
Binary files differ
diff --git a/includes/avatar/avatar183.gif b/includes/avatar/avatar183.gif
new file mode 100755
index 00000000..27d55f8f
--- /dev/null
+++ b/includes/avatar/avatar183.gif
Binary files differ
diff --git a/includes/avatar/avatar184.gif b/includes/avatar/avatar184.gif
new file mode 100755
index 00000000..2ce57015
--- /dev/null
+++ b/includes/avatar/avatar184.gif
Binary files differ
diff --git a/includes/avatar/avatar185.gif b/includes/avatar/avatar185.gif
new file mode 100755
index 00000000..8eb60378
--- /dev/null
+++ b/includes/avatar/avatar185.gif
Binary files differ
diff --git a/includes/avatar/avatar186.gif b/includes/avatar/avatar186.gif
new file mode 100755
index 00000000..d30bc664
--- /dev/null
+++ b/includes/avatar/avatar186.gif
Binary files differ
diff --git a/includes/avatar/avatar187.gif b/includes/avatar/avatar187.gif
new file mode 100755
index 00000000..34bcc7d2
--- /dev/null
+++ b/includes/avatar/avatar187.gif
Binary files differ
diff --git a/includes/avatar/avatar188.gif b/includes/avatar/avatar188.gif
new file mode 100755
index 00000000..3056d45a
--- /dev/null
+++ b/includes/avatar/avatar188.gif
Binary files differ
diff --git a/includes/avatar/avatar189.gif b/includes/avatar/avatar189.gif
new file mode 100755
index 00000000..9fb4cd83
--- /dev/null
+++ b/includes/avatar/avatar189.gif
Binary files differ
diff --git a/includes/avatar/avatar19.gif b/includes/avatar/avatar19.gif
new file mode 100755
index 00000000..40d42724
--- /dev/null
+++ b/includes/avatar/avatar19.gif
Binary files differ
diff --git a/includes/avatar/avatar190.gif b/includes/avatar/avatar190.gif
new file mode 100755
index 00000000..f8c38853
--- /dev/null
+++ b/includes/avatar/avatar190.gif
Binary files differ
diff --git a/includes/avatar/avatar191.gif b/includes/avatar/avatar191.gif
new file mode 100755
index 00000000..e6af0d88
--- /dev/null
+++ b/includes/avatar/avatar191.gif
Binary files differ
diff --git a/includes/avatar/avatar192.gif b/includes/avatar/avatar192.gif
new file mode 100755
index 00000000..123ed736
--- /dev/null
+++ b/includes/avatar/avatar192.gif
Binary files differ
diff --git a/includes/avatar/avatar193.gif b/includes/avatar/avatar193.gif
new file mode 100755
index 00000000..f82524d9
--- /dev/null
+++ b/includes/avatar/avatar193.gif
Binary files differ
diff --git a/includes/avatar/avatar194.gif b/includes/avatar/avatar194.gif
new file mode 100755
index 00000000..ae1d743b
--- /dev/null
+++ b/includes/avatar/avatar194.gif
Binary files differ
diff --git a/includes/avatar/avatar195.gif b/includes/avatar/avatar195.gif
new file mode 100755
index 00000000..e22c9ba0
--- /dev/null
+++ b/includes/avatar/avatar195.gif
Binary files differ
diff --git a/includes/avatar/avatar196.gif b/includes/avatar/avatar196.gif
new file mode 100755
index 00000000..87e6293d
--- /dev/null
+++ b/includes/avatar/avatar196.gif
Binary files differ
diff --git a/includes/avatar/avatar197.gif b/includes/avatar/avatar197.gif
new file mode 100755
index 00000000..88764c73
--- /dev/null
+++ b/includes/avatar/avatar197.gif
Binary files differ
diff --git a/includes/avatar/avatar198.gif b/includes/avatar/avatar198.gif
new file mode 100755
index 00000000..58a64280
--- /dev/null
+++ b/includes/avatar/avatar198.gif
Binary files differ
diff --git a/includes/avatar/avatar199.gif b/includes/avatar/avatar199.gif
new file mode 100755
index 00000000..e3861e3e
--- /dev/null
+++ b/includes/avatar/avatar199.gif
Binary files differ
diff --git a/includes/avatar/avatar2.gif b/includes/avatar/avatar2.gif
new file mode 100755
index 00000000..6c1e79a7
--- /dev/null
+++ b/includes/avatar/avatar2.gif
Binary files differ
diff --git a/includes/avatar/avatar20.gif b/includes/avatar/avatar20.gif
new file mode 100755
index 00000000..7480ddd1
--- /dev/null
+++ b/includes/avatar/avatar20.gif
Binary files differ
diff --git a/includes/avatar/avatar200.gif b/includes/avatar/avatar200.gif
new file mode 100755
index 00000000..bcee18dd
--- /dev/null
+++ b/includes/avatar/avatar200.gif
Binary files differ
diff --git a/includes/avatar/avatar201.gif b/includes/avatar/avatar201.gif
new file mode 100755
index 00000000..7ff54bd0
--- /dev/null
+++ b/includes/avatar/avatar201.gif
Binary files differ
diff --git a/includes/avatar/avatar202.gif b/includes/avatar/avatar202.gif
new file mode 100755
index 00000000..9b9ad5aa
--- /dev/null
+++ b/includes/avatar/avatar202.gif
Binary files differ
diff --git a/includes/avatar/avatar203.gif b/includes/avatar/avatar203.gif
new file mode 100755
index 00000000..777e6ab9
--- /dev/null
+++ b/includes/avatar/avatar203.gif
Binary files differ
diff --git a/includes/avatar/avatar204.gif b/includes/avatar/avatar204.gif
new file mode 100755
index 00000000..6e16ed30
--- /dev/null
+++ b/includes/avatar/avatar204.gif
Binary files differ
diff --git a/includes/avatar/avatar205.gif b/includes/avatar/avatar205.gif
new file mode 100755
index 00000000..f780d7d8
--- /dev/null
+++ b/includes/avatar/avatar205.gif
Binary files differ
diff --git a/includes/avatar/avatar206.gif b/includes/avatar/avatar206.gif
new file mode 100755
index 00000000..6a5b3ad7
--- /dev/null
+++ b/includes/avatar/avatar206.gif
Binary files differ
diff --git a/includes/avatar/avatar207.gif b/includes/avatar/avatar207.gif
new file mode 100755
index 00000000..d956d1f9
--- /dev/null
+++ b/includes/avatar/avatar207.gif
Binary files differ
diff --git a/includes/avatar/avatar208.gif b/includes/avatar/avatar208.gif
new file mode 100755
index 00000000..571e059f
--- /dev/null
+++ b/includes/avatar/avatar208.gif
Binary files differ
diff --git a/includes/avatar/avatar209.gif b/includes/avatar/avatar209.gif
new file mode 100755
index 00000000..d2976d85
--- /dev/null
+++ b/includes/avatar/avatar209.gif
Binary files differ
diff --git a/includes/avatar/avatar21.gif b/includes/avatar/avatar21.gif
new file mode 100755
index 00000000..45b1b8a3
--- /dev/null
+++ b/includes/avatar/avatar21.gif
Binary files differ
diff --git a/includes/avatar/avatar210.gif b/includes/avatar/avatar210.gif
new file mode 100755
index 00000000..2bd579b9
--- /dev/null
+++ b/includes/avatar/avatar210.gif
Binary files differ
diff --git a/includes/avatar/avatar211.gif b/includes/avatar/avatar211.gif
new file mode 100755
index 00000000..6e95b7d5
--- /dev/null
+++ b/includes/avatar/avatar211.gif
Binary files differ
diff --git a/includes/avatar/avatar212.gif b/includes/avatar/avatar212.gif
new file mode 100755
index 00000000..39e012b7
--- /dev/null
+++ b/includes/avatar/avatar212.gif
Binary files differ
diff --git a/includes/avatar/avatar213.gif b/includes/avatar/avatar213.gif
new file mode 100755
index 00000000..659fbb65
--- /dev/null
+++ b/includes/avatar/avatar213.gif
Binary files differ
diff --git a/includes/avatar/avatar214.gif b/includes/avatar/avatar214.gif
new file mode 100755
index 00000000..822d3530
--- /dev/null
+++ b/includes/avatar/avatar214.gif
Binary files differ
diff --git a/includes/avatar/avatar215.gif b/includes/avatar/avatar215.gif
new file mode 100755
index 00000000..e0909042
--- /dev/null
+++ b/includes/avatar/avatar215.gif
Binary files differ
diff --git a/includes/avatar/avatar216.gif b/includes/avatar/avatar216.gif
new file mode 100755
index 00000000..7ba52487
--- /dev/null
+++ b/includes/avatar/avatar216.gif
Binary files differ
diff --git a/includes/avatar/avatar217.gif b/includes/avatar/avatar217.gif
new file mode 100755
index 00000000..1d69bb45
--- /dev/null
+++ b/includes/avatar/avatar217.gif
Binary files differ
diff --git a/includes/avatar/avatar218.gif b/includes/avatar/avatar218.gif
new file mode 100755
index 00000000..508bff13
--- /dev/null
+++ b/includes/avatar/avatar218.gif
Binary files differ
diff --git a/includes/avatar/avatar219.gif b/includes/avatar/avatar219.gif
new file mode 100755
index 00000000..6c695dd8
--- /dev/null
+++ b/includes/avatar/avatar219.gif
Binary files differ
diff --git a/includes/avatar/avatar22.gif b/includes/avatar/avatar22.gif
new file mode 100755
index 00000000..7f7d9a26
--- /dev/null
+++ b/includes/avatar/avatar22.gif
Binary files differ
diff --git a/includes/avatar/avatar220.gif b/includes/avatar/avatar220.gif
new file mode 100755
index 00000000..76604ced
--- /dev/null
+++ b/includes/avatar/avatar220.gif
Binary files differ
diff --git a/includes/avatar/avatar221.gif b/includes/avatar/avatar221.gif
new file mode 100755
index 00000000..2d5ed7db
--- /dev/null
+++ b/includes/avatar/avatar221.gif
Binary files differ
diff --git a/includes/avatar/avatar222.gif b/includes/avatar/avatar222.gif
new file mode 100755
index 00000000..607887e5
--- /dev/null
+++ b/includes/avatar/avatar222.gif
Binary files differ
diff --git a/includes/avatar/avatar223.gif b/includes/avatar/avatar223.gif
new file mode 100755
index 00000000..5c7f782f
--- /dev/null
+++ b/includes/avatar/avatar223.gif
Binary files differ
diff --git a/includes/avatar/avatar224.gif b/includes/avatar/avatar224.gif
new file mode 100755
index 00000000..46e7f845
--- /dev/null
+++ b/includes/avatar/avatar224.gif
Binary files differ
diff --git a/includes/avatar/avatar225.gif b/includes/avatar/avatar225.gif
new file mode 100755
index 00000000..7eb3bfcd
--- /dev/null
+++ b/includes/avatar/avatar225.gif
Binary files differ
diff --git a/includes/avatar/avatar226.gif b/includes/avatar/avatar226.gif
new file mode 100755
index 00000000..a030d2f9
--- /dev/null
+++ b/includes/avatar/avatar226.gif
Binary files differ
diff --git a/includes/avatar/avatar227.gif b/includes/avatar/avatar227.gif
new file mode 100755
index 00000000..fe631b92
--- /dev/null
+++ b/includes/avatar/avatar227.gif
Binary files differ
diff --git a/includes/avatar/avatar228.gif b/includes/avatar/avatar228.gif
new file mode 100755
index 00000000..459ed140
--- /dev/null
+++ b/includes/avatar/avatar228.gif
Binary files differ
diff --git a/includes/avatar/avatar229.gif b/includes/avatar/avatar229.gif
new file mode 100755
index 00000000..35546746
--- /dev/null
+++ b/includes/avatar/avatar229.gif
Binary files differ
diff --git a/includes/avatar/avatar23.gif b/includes/avatar/avatar23.gif
new file mode 100755
index 00000000..55f84741
--- /dev/null
+++ b/includes/avatar/avatar23.gif
Binary files differ
diff --git a/includes/avatar/avatar230.gif b/includes/avatar/avatar230.gif
new file mode 100755
index 00000000..22ffccb0
--- /dev/null
+++ b/includes/avatar/avatar230.gif
Binary files differ
diff --git a/includes/avatar/avatar231.gif b/includes/avatar/avatar231.gif
new file mode 100755
index 00000000..52a82830
--- /dev/null
+++ b/includes/avatar/avatar231.gif
Binary files differ
diff --git a/includes/avatar/avatar232.gif b/includes/avatar/avatar232.gif
new file mode 100755
index 00000000..a442015b
--- /dev/null
+++ b/includes/avatar/avatar232.gif
Binary files differ
diff --git a/includes/avatar/avatar233.gif b/includes/avatar/avatar233.gif
new file mode 100755
index 00000000..ad676d9c
--- /dev/null
+++ b/includes/avatar/avatar233.gif
Binary files differ
diff --git a/includes/avatar/avatar234.gif b/includes/avatar/avatar234.gif
new file mode 100755
index 00000000..bf9200c2
--- /dev/null
+++ b/includes/avatar/avatar234.gif
Binary files differ
diff --git a/includes/avatar/avatar235.gif b/includes/avatar/avatar235.gif
new file mode 100755
index 00000000..80aee34d
--- /dev/null
+++ b/includes/avatar/avatar235.gif
Binary files differ
diff --git a/includes/avatar/avatar236.gif b/includes/avatar/avatar236.gif
new file mode 100755
index 00000000..036c71e1
--- /dev/null
+++ b/includes/avatar/avatar236.gif
Binary files differ
diff --git a/includes/avatar/avatar237.gif b/includes/avatar/avatar237.gif
new file mode 100755
index 00000000..bf78ace7
--- /dev/null
+++ b/includes/avatar/avatar237.gif
Binary files differ
diff --git a/includes/avatar/avatar238.gif b/includes/avatar/avatar238.gif
new file mode 100755
index 00000000..276187e1
--- /dev/null
+++ b/includes/avatar/avatar238.gif
Binary files differ
diff --git a/includes/avatar/avatar239.gif b/includes/avatar/avatar239.gif
new file mode 100755
index 00000000..818b54a3
--- /dev/null
+++ b/includes/avatar/avatar239.gif
Binary files differ
diff --git a/includes/avatar/avatar24.gif b/includes/avatar/avatar24.gif
new file mode 100755
index 00000000..99226b50
--- /dev/null
+++ b/includes/avatar/avatar24.gif
Binary files differ
diff --git a/includes/avatar/avatar240.gif b/includes/avatar/avatar240.gif
new file mode 100755
index 00000000..ccfa1346
--- /dev/null
+++ b/includes/avatar/avatar240.gif
Binary files differ
diff --git a/includes/avatar/avatar241.gif b/includes/avatar/avatar241.gif
new file mode 100755
index 00000000..b2afaa82
--- /dev/null
+++ b/includes/avatar/avatar241.gif
Binary files differ
diff --git a/includes/avatar/avatar242.gif b/includes/avatar/avatar242.gif
new file mode 100755
index 00000000..dfdb3baa
--- /dev/null
+++ b/includes/avatar/avatar242.gif
Binary files differ
diff --git a/includes/avatar/avatar243.gif b/includes/avatar/avatar243.gif
new file mode 100755
index 00000000..14b7e935
--- /dev/null
+++ b/includes/avatar/avatar243.gif
Binary files differ
diff --git a/includes/avatar/avatar244.gif b/includes/avatar/avatar244.gif
new file mode 100755
index 00000000..bfc10515
--- /dev/null
+++ b/includes/avatar/avatar244.gif
Binary files differ
diff --git a/includes/avatar/avatar245.gif b/includes/avatar/avatar245.gif
new file mode 100755
index 00000000..79dd0453
--- /dev/null
+++ b/includes/avatar/avatar245.gif
Binary files differ
diff --git a/includes/avatar/avatar246.gif b/includes/avatar/avatar246.gif
new file mode 100755
index 00000000..26878722
--- /dev/null
+++ b/includes/avatar/avatar246.gif
Binary files differ
diff --git a/includes/avatar/avatar247.gif b/includes/avatar/avatar247.gif
new file mode 100755
index 00000000..0b041108
--- /dev/null
+++ b/includes/avatar/avatar247.gif
Binary files differ
diff --git a/includes/avatar/avatar248.gif b/includes/avatar/avatar248.gif
new file mode 100755
index 00000000..7aa13465
--- /dev/null
+++ b/includes/avatar/avatar248.gif
Binary files differ
diff --git a/includes/avatar/avatar249.gif b/includes/avatar/avatar249.gif
new file mode 100755
index 00000000..c5cdf5d8
--- /dev/null
+++ b/includes/avatar/avatar249.gif
Binary files differ
diff --git a/includes/avatar/avatar25.gif b/includes/avatar/avatar25.gif
new file mode 100755
index 00000000..d5e29f52
--- /dev/null
+++ b/includes/avatar/avatar25.gif
Binary files differ
diff --git a/includes/avatar/avatar250.gif b/includes/avatar/avatar250.gif
new file mode 100755
index 00000000..61c2b962
--- /dev/null
+++ b/includes/avatar/avatar250.gif
Binary files differ
diff --git a/includes/avatar/avatar251.gif b/includes/avatar/avatar251.gif
new file mode 100755
index 00000000..01c2a370
--- /dev/null
+++ b/includes/avatar/avatar251.gif
Binary files differ
diff --git a/includes/avatar/avatar252.gif b/includes/avatar/avatar252.gif
new file mode 100755
index 00000000..6656fe75
--- /dev/null
+++ b/includes/avatar/avatar252.gif
Binary files differ
diff --git a/includes/avatar/avatar253.gif b/includes/avatar/avatar253.gif
new file mode 100755
index 00000000..4aaa9318
--- /dev/null
+++ b/includes/avatar/avatar253.gif
Binary files differ
diff --git a/includes/avatar/avatar254.gif b/includes/avatar/avatar254.gif
new file mode 100755
index 00000000..4439c722
--- /dev/null
+++ b/includes/avatar/avatar254.gif
Binary files differ
diff --git a/includes/avatar/avatar255.gif b/includes/avatar/avatar255.gif
new file mode 100755
index 00000000..3a5fd768
--- /dev/null
+++ b/includes/avatar/avatar255.gif
Binary files differ
diff --git a/includes/avatar/avatar256.gif b/includes/avatar/avatar256.gif
new file mode 100755
index 00000000..200dc450
--- /dev/null
+++ b/includes/avatar/avatar256.gif
Binary files differ
diff --git a/includes/avatar/avatar257.gif b/includes/avatar/avatar257.gif
new file mode 100755
index 00000000..9d9c823c
--- /dev/null
+++ b/includes/avatar/avatar257.gif
Binary files differ
diff --git a/includes/avatar/avatar258.gif b/includes/avatar/avatar258.gif
new file mode 100755
index 00000000..044edc01
--- /dev/null
+++ b/includes/avatar/avatar258.gif
Binary files differ
diff --git a/includes/avatar/avatar259.gif b/includes/avatar/avatar259.gif
new file mode 100755
index 00000000..83334fb9
--- /dev/null
+++ b/includes/avatar/avatar259.gif
Binary files differ
diff --git a/includes/avatar/avatar26.gif b/includes/avatar/avatar26.gif
new file mode 100755
index 00000000..40d42724
--- /dev/null
+++ b/includes/avatar/avatar26.gif
Binary files differ
diff --git a/includes/avatar/avatar260.gif b/includes/avatar/avatar260.gif
new file mode 100755
index 00000000..8ec72dbe
--- /dev/null
+++ b/includes/avatar/avatar260.gif
Binary files differ
diff --git a/includes/avatar/avatar261.gif b/includes/avatar/avatar261.gif
new file mode 100755
index 00000000..90505322
--- /dev/null
+++ b/includes/avatar/avatar261.gif
Binary files differ
diff --git a/includes/avatar/avatar262.gif b/includes/avatar/avatar262.gif
new file mode 100755
index 00000000..4656c222
--- /dev/null
+++ b/includes/avatar/avatar262.gif
Binary files differ
diff --git a/includes/avatar/avatar263.gif b/includes/avatar/avatar263.gif
new file mode 100755
index 00000000..6954e902
--- /dev/null
+++ b/includes/avatar/avatar263.gif
Binary files differ
diff --git a/includes/avatar/avatar264.gif b/includes/avatar/avatar264.gif
new file mode 100755
index 00000000..4e46f7b9
--- /dev/null
+++ b/includes/avatar/avatar264.gif
Binary files differ
diff --git a/includes/avatar/avatar265.gif b/includes/avatar/avatar265.gif
new file mode 100755
index 00000000..df18535c
--- /dev/null
+++ b/includes/avatar/avatar265.gif
Binary files differ
diff --git a/includes/avatar/avatar266.gif b/includes/avatar/avatar266.gif
new file mode 100755
index 00000000..838305a7
--- /dev/null
+++ b/includes/avatar/avatar266.gif
Binary files differ
diff --git a/includes/avatar/avatar267.gif b/includes/avatar/avatar267.gif
new file mode 100755
index 00000000..8ac405e4
--- /dev/null
+++ b/includes/avatar/avatar267.gif
Binary files differ
diff --git a/includes/avatar/avatar268.gif b/includes/avatar/avatar268.gif
new file mode 100755
index 00000000..fe61c645
--- /dev/null
+++ b/includes/avatar/avatar268.gif
Binary files differ
diff --git a/includes/avatar/avatar269.gif b/includes/avatar/avatar269.gif
new file mode 100755
index 00000000..c71da25a
--- /dev/null
+++ b/includes/avatar/avatar269.gif
Binary files differ
diff --git a/includes/avatar/avatar27.gif b/includes/avatar/avatar27.gif
new file mode 100755
index 00000000..43cf2125
--- /dev/null
+++ b/includes/avatar/avatar27.gif
Binary files differ
diff --git a/includes/avatar/avatar270.gif b/includes/avatar/avatar270.gif
new file mode 100755
index 00000000..9c11d479
--- /dev/null
+++ b/includes/avatar/avatar270.gif
Binary files differ
diff --git a/includes/avatar/avatar271.gif b/includes/avatar/avatar271.gif
new file mode 100755
index 00000000..ac95c950
--- /dev/null
+++ b/includes/avatar/avatar271.gif
Binary files differ
diff --git a/includes/avatar/avatar272.gif b/includes/avatar/avatar272.gif
new file mode 100755
index 00000000..4d451488
--- /dev/null
+++ b/includes/avatar/avatar272.gif
Binary files differ
diff --git a/includes/avatar/avatar273.gif b/includes/avatar/avatar273.gif
new file mode 100755
index 00000000..e26b9106
--- /dev/null
+++ b/includes/avatar/avatar273.gif
Binary files differ
diff --git a/includes/avatar/avatar274.gif b/includes/avatar/avatar274.gif
new file mode 100755
index 00000000..a941aa4c
--- /dev/null
+++ b/includes/avatar/avatar274.gif
Binary files differ
diff --git a/includes/avatar/avatar275.gif b/includes/avatar/avatar275.gif
new file mode 100755
index 00000000..f324f6c0
--- /dev/null
+++ b/includes/avatar/avatar275.gif
Binary files differ
diff --git a/includes/avatar/avatar276.gif b/includes/avatar/avatar276.gif
new file mode 100755
index 00000000..6b0d8fee
--- /dev/null
+++ b/includes/avatar/avatar276.gif
Binary files differ
diff --git a/includes/avatar/avatar277.gif b/includes/avatar/avatar277.gif
new file mode 100755
index 00000000..6fddc745
--- /dev/null
+++ b/includes/avatar/avatar277.gif
Binary files differ
diff --git a/includes/avatar/avatar278.gif b/includes/avatar/avatar278.gif
new file mode 100755
index 00000000..59e3b51d
--- /dev/null
+++ b/includes/avatar/avatar278.gif
Binary files differ
diff --git a/includes/avatar/avatar279.gif b/includes/avatar/avatar279.gif
new file mode 100755
index 00000000..c8c0bb84
--- /dev/null
+++ b/includes/avatar/avatar279.gif
Binary files differ
diff --git a/includes/avatar/avatar28.gif b/includes/avatar/avatar28.gif
new file mode 100755
index 00000000..9251bdb6
--- /dev/null
+++ b/includes/avatar/avatar28.gif
Binary files differ
diff --git a/includes/avatar/avatar280.gif b/includes/avatar/avatar280.gif
new file mode 100755
index 00000000..954920d5
--- /dev/null
+++ b/includes/avatar/avatar280.gif
Binary files differ
diff --git a/includes/avatar/avatar281.gif b/includes/avatar/avatar281.gif
new file mode 100755
index 00000000..68ebd8cc
--- /dev/null
+++ b/includes/avatar/avatar281.gif
Binary files differ
diff --git a/includes/avatar/avatar282.gif b/includes/avatar/avatar282.gif
new file mode 100755
index 00000000..ec06f9f5
--- /dev/null
+++ b/includes/avatar/avatar282.gif
Binary files differ
diff --git a/includes/avatar/avatar283.gif b/includes/avatar/avatar283.gif
new file mode 100755
index 00000000..2d0fad8a
--- /dev/null
+++ b/includes/avatar/avatar283.gif
Binary files differ
diff --git a/includes/avatar/avatar284.gif b/includes/avatar/avatar284.gif
new file mode 100755
index 00000000..9cc79890
--- /dev/null
+++ b/includes/avatar/avatar284.gif
Binary files differ
diff --git a/includes/avatar/avatar285.gif b/includes/avatar/avatar285.gif
new file mode 100755
index 00000000..baf2c0b0
--- /dev/null
+++ b/includes/avatar/avatar285.gif
Binary files differ
diff --git a/includes/avatar/avatar286.gif b/includes/avatar/avatar286.gif
new file mode 100755
index 00000000..d74af8d4
--- /dev/null
+++ b/includes/avatar/avatar286.gif
Binary files differ
diff --git a/includes/avatar/avatar287.gif b/includes/avatar/avatar287.gif
new file mode 100755
index 00000000..0e4169ef
--- /dev/null
+++ b/includes/avatar/avatar287.gif
Binary files differ
diff --git a/includes/avatar/avatar288.gif b/includes/avatar/avatar288.gif
new file mode 100755
index 00000000..41c2e9b4
--- /dev/null
+++ b/includes/avatar/avatar288.gif
Binary files differ
diff --git a/includes/avatar/avatar289.gif b/includes/avatar/avatar289.gif
new file mode 100755
index 00000000..c68b431a
--- /dev/null
+++ b/includes/avatar/avatar289.gif
Binary files differ
diff --git a/includes/avatar/avatar29.gif b/includes/avatar/avatar29.gif
new file mode 100755
index 00000000..10063690
--- /dev/null
+++ b/includes/avatar/avatar29.gif
Binary files differ
diff --git a/includes/avatar/avatar290.gif b/includes/avatar/avatar290.gif
new file mode 100755
index 00000000..f2ca018b
--- /dev/null
+++ b/includes/avatar/avatar290.gif
Binary files differ
diff --git a/includes/avatar/avatar291.gif b/includes/avatar/avatar291.gif
new file mode 100755
index 00000000..b9b0bbc3
--- /dev/null
+++ b/includes/avatar/avatar291.gif
Binary files differ
diff --git a/includes/avatar/avatar292.gif b/includes/avatar/avatar292.gif
new file mode 100755
index 00000000..6eecd4d1
--- /dev/null
+++ b/includes/avatar/avatar292.gif
Binary files differ
diff --git a/includes/avatar/avatar293.gif b/includes/avatar/avatar293.gif
new file mode 100755
index 00000000..a1834818
--- /dev/null
+++ b/includes/avatar/avatar293.gif
Binary files differ
diff --git a/includes/avatar/avatar294.gif b/includes/avatar/avatar294.gif
new file mode 100755
index 00000000..6ef5611a
--- /dev/null
+++ b/includes/avatar/avatar294.gif
Binary files differ
diff --git a/includes/avatar/avatar295.gif b/includes/avatar/avatar295.gif
new file mode 100755
index 00000000..4c9fa7c6
--- /dev/null
+++ b/includes/avatar/avatar295.gif
Binary files differ
diff --git a/includes/avatar/avatar296.gif b/includes/avatar/avatar296.gif
new file mode 100755
index 00000000..b6ab2095
--- /dev/null
+++ b/includes/avatar/avatar296.gif
Binary files differ
diff --git a/includes/avatar/avatar297.gif b/includes/avatar/avatar297.gif
new file mode 100755
index 00000000..38d1d659
--- /dev/null
+++ b/includes/avatar/avatar297.gif
Binary files differ
diff --git a/includes/avatar/avatar298.gif b/includes/avatar/avatar298.gif
new file mode 100755
index 00000000..f1ee804c
--- /dev/null
+++ b/includes/avatar/avatar298.gif
Binary files differ
diff --git a/includes/avatar/avatar299.gif b/includes/avatar/avatar299.gif
new file mode 100755
index 00000000..0d0b77b6
--- /dev/null
+++ b/includes/avatar/avatar299.gif
Binary files differ
diff --git a/includes/avatar/avatar3.gif b/includes/avatar/avatar3.gif
new file mode 100755
index 00000000..d8cd4306
--- /dev/null
+++ b/includes/avatar/avatar3.gif
Binary files differ
diff --git a/includes/avatar/avatar30.gif b/includes/avatar/avatar30.gif
new file mode 100755
index 00000000..b339d48d
--- /dev/null
+++ b/includes/avatar/avatar30.gif
Binary files differ
diff --git a/includes/avatar/avatar300.gif b/includes/avatar/avatar300.gif
new file mode 100755
index 00000000..2582b3a4
--- /dev/null
+++ b/includes/avatar/avatar300.gif
Binary files differ
diff --git a/includes/avatar/avatar301.gif b/includes/avatar/avatar301.gif
new file mode 100755
index 00000000..2350bc8f
--- /dev/null
+++ b/includes/avatar/avatar301.gif
Binary files differ
diff --git a/includes/avatar/avatar302.gif b/includes/avatar/avatar302.gif
new file mode 100755
index 00000000..2e05d242
--- /dev/null
+++ b/includes/avatar/avatar302.gif
Binary files differ
diff --git a/includes/avatar/avatar303.gif b/includes/avatar/avatar303.gif
new file mode 100755
index 00000000..776cec3b
--- /dev/null
+++ b/includes/avatar/avatar303.gif
Binary files differ
diff --git a/includes/avatar/avatar304.gif b/includes/avatar/avatar304.gif
new file mode 100755
index 00000000..219a1184
--- /dev/null
+++ b/includes/avatar/avatar304.gif
Binary files differ
diff --git a/includes/avatar/avatar305.gif b/includes/avatar/avatar305.gif
new file mode 100755
index 00000000..27071b78
--- /dev/null
+++ b/includes/avatar/avatar305.gif
Binary files differ
diff --git a/includes/avatar/avatar306.gif b/includes/avatar/avatar306.gif
new file mode 100755
index 00000000..6ab781bf
--- /dev/null
+++ b/includes/avatar/avatar306.gif
Binary files differ
diff --git a/includes/avatar/avatar307.gif b/includes/avatar/avatar307.gif
new file mode 100755
index 00000000..d40998b8
--- /dev/null
+++ b/includes/avatar/avatar307.gif
Binary files differ
diff --git a/includes/avatar/avatar308.gif b/includes/avatar/avatar308.gif
new file mode 100755
index 00000000..aafbe741
--- /dev/null
+++ b/includes/avatar/avatar308.gif
Binary files differ
diff --git a/includes/avatar/avatar309.gif b/includes/avatar/avatar309.gif
new file mode 100755
index 00000000..fe701cbf
--- /dev/null
+++ b/includes/avatar/avatar309.gif
Binary files differ
diff --git a/includes/avatar/avatar31.gif b/includes/avatar/avatar31.gif
new file mode 100755
index 00000000..d5a9caf6
--- /dev/null
+++ b/includes/avatar/avatar31.gif
Binary files differ
diff --git a/includes/avatar/avatar310.gif b/includes/avatar/avatar310.gif
new file mode 100755
index 00000000..e6072552
--- /dev/null
+++ b/includes/avatar/avatar310.gif
Binary files differ
diff --git a/includes/avatar/avatar311.gif b/includes/avatar/avatar311.gif
new file mode 100755
index 00000000..9b77a2a3
--- /dev/null
+++ b/includes/avatar/avatar311.gif
Binary files differ
diff --git a/includes/avatar/avatar312.gif b/includes/avatar/avatar312.gif
new file mode 100755
index 00000000..89acef5f
--- /dev/null
+++ b/includes/avatar/avatar312.gif
Binary files differ
diff --git a/includes/avatar/avatar313.gif b/includes/avatar/avatar313.gif
new file mode 100755
index 00000000..fee5e41b
--- /dev/null
+++ b/includes/avatar/avatar313.gif
Binary files differ
diff --git a/includes/avatar/avatar314.gif b/includes/avatar/avatar314.gif
new file mode 100755
index 00000000..e706e088
--- /dev/null
+++ b/includes/avatar/avatar314.gif
Binary files differ
diff --git a/includes/avatar/avatar315.gif b/includes/avatar/avatar315.gif
new file mode 100755
index 00000000..fb3ee057
--- /dev/null
+++ b/includes/avatar/avatar315.gif
Binary files differ
diff --git a/includes/avatar/avatar316.gif b/includes/avatar/avatar316.gif
new file mode 100755
index 00000000..662fe276
--- /dev/null
+++ b/includes/avatar/avatar316.gif
Binary files differ
diff --git a/includes/avatar/avatar317.gif b/includes/avatar/avatar317.gif
new file mode 100755
index 00000000..0a858151
--- /dev/null
+++ b/includes/avatar/avatar317.gif
Binary files differ
diff --git a/includes/avatar/avatar318.gif b/includes/avatar/avatar318.gif
new file mode 100755
index 00000000..4ca84803
--- /dev/null
+++ b/includes/avatar/avatar318.gif
Binary files differ
diff --git a/includes/avatar/avatar319.gif b/includes/avatar/avatar319.gif
new file mode 100755
index 00000000..503cae0a
--- /dev/null
+++ b/includes/avatar/avatar319.gif
Binary files differ
diff --git a/includes/avatar/avatar32.gif b/includes/avatar/avatar32.gif
new file mode 100755
index 00000000..5f3b5d43
--- /dev/null
+++ b/includes/avatar/avatar32.gif
Binary files differ
diff --git a/includes/avatar/avatar320.gif b/includes/avatar/avatar320.gif
new file mode 100755
index 00000000..0cd51805
--- /dev/null
+++ b/includes/avatar/avatar320.gif
Binary files differ
diff --git a/includes/avatar/avatar321.gif b/includes/avatar/avatar321.gif
new file mode 100755
index 00000000..eefbbda9
--- /dev/null
+++ b/includes/avatar/avatar321.gif
Binary files differ
diff --git a/includes/avatar/avatar322.gif b/includes/avatar/avatar322.gif
new file mode 100755
index 00000000..0243065b
--- /dev/null
+++ b/includes/avatar/avatar322.gif
Binary files differ
diff --git a/includes/avatar/avatar323.gif b/includes/avatar/avatar323.gif
new file mode 100755
index 00000000..b1e08c05
--- /dev/null
+++ b/includes/avatar/avatar323.gif
Binary files differ
diff --git a/includes/avatar/avatar324.gif b/includes/avatar/avatar324.gif
new file mode 100755
index 00000000..a2168e48
--- /dev/null
+++ b/includes/avatar/avatar324.gif
Binary files differ
diff --git a/includes/avatar/avatar325.gif b/includes/avatar/avatar325.gif
new file mode 100755
index 00000000..dac85af5
--- /dev/null
+++ b/includes/avatar/avatar325.gif
Binary files differ
diff --git a/includes/avatar/avatar326.gif b/includes/avatar/avatar326.gif
new file mode 100755
index 00000000..afe5442f
--- /dev/null
+++ b/includes/avatar/avatar326.gif
Binary files differ
diff --git a/includes/avatar/avatar327.gif b/includes/avatar/avatar327.gif
new file mode 100755
index 00000000..7db04c45
--- /dev/null
+++ b/includes/avatar/avatar327.gif
Binary files differ
diff --git a/includes/avatar/avatar328.gif b/includes/avatar/avatar328.gif
new file mode 100755
index 00000000..4d1d8a4a
--- /dev/null
+++ b/includes/avatar/avatar328.gif
Binary files differ
diff --git a/includes/avatar/avatar329.gif b/includes/avatar/avatar329.gif
new file mode 100755
index 00000000..ede4d487
--- /dev/null
+++ b/includes/avatar/avatar329.gif
Binary files differ
diff --git a/includes/avatar/avatar33.gif b/includes/avatar/avatar33.gif
new file mode 100755
index 00000000..03ca160e
--- /dev/null
+++ b/includes/avatar/avatar33.gif
Binary files differ
diff --git a/includes/avatar/avatar330.gif b/includes/avatar/avatar330.gif
new file mode 100755
index 00000000..e4a0a821
--- /dev/null
+++ b/includes/avatar/avatar330.gif
Binary files differ
diff --git a/includes/avatar/avatar331.gif b/includes/avatar/avatar331.gif
new file mode 100755
index 00000000..6a047501
--- /dev/null
+++ b/includes/avatar/avatar331.gif
Binary files differ
diff --git a/includes/avatar/avatar332.gif b/includes/avatar/avatar332.gif
new file mode 100755
index 00000000..6bde912c
--- /dev/null
+++ b/includes/avatar/avatar332.gif
Binary files differ
diff --git a/includes/avatar/avatar333.gif b/includes/avatar/avatar333.gif
new file mode 100755
index 00000000..1bb07ba9
--- /dev/null
+++ b/includes/avatar/avatar333.gif
Binary files differ
diff --git a/includes/avatar/avatar334.gif b/includes/avatar/avatar334.gif
new file mode 100755
index 00000000..c4ec9f85
--- /dev/null
+++ b/includes/avatar/avatar334.gif
Binary files differ
diff --git a/includes/avatar/avatar335.gif b/includes/avatar/avatar335.gif
new file mode 100755
index 00000000..3ce39e43
--- /dev/null
+++ b/includes/avatar/avatar335.gif
Binary files differ
diff --git a/includes/avatar/avatar336.gif b/includes/avatar/avatar336.gif
new file mode 100755
index 00000000..e9876066
--- /dev/null
+++ b/includes/avatar/avatar336.gif
Binary files differ
diff --git a/includes/avatar/avatar337.gif b/includes/avatar/avatar337.gif
new file mode 100755
index 00000000..f4e15213
--- /dev/null
+++ b/includes/avatar/avatar337.gif
Binary files differ
diff --git a/includes/avatar/avatar338.gif b/includes/avatar/avatar338.gif
new file mode 100755
index 00000000..0b70f568
--- /dev/null
+++ b/includes/avatar/avatar338.gif
Binary files differ
diff --git a/includes/avatar/avatar339.gif b/includes/avatar/avatar339.gif
new file mode 100755
index 00000000..08afad48
--- /dev/null
+++ b/includes/avatar/avatar339.gif
Binary files differ
diff --git a/includes/avatar/avatar34.gif b/includes/avatar/avatar34.gif
new file mode 100755
index 00000000..49c49577
--- /dev/null
+++ b/includes/avatar/avatar34.gif
Binary files differ
diff --git a/includes/avatar/avatar340.gif b/includes/avatar/avatar340.gif
new file mode 100755
index 00000000..640984a3
--- /dev/null
+++ b/includes/avatar/avatar340.gif
Binary files differ
diff --git a/includes/avatar/avatar341.gif b/includes/avatar/avatar341.gif
new file mode 100755
index 00000000..a4556966
--- /dev/null
+++ b/includes/avatar/avatar341.gif
Binary files differ
diff --git a/includes/avatar/avatar342.gif b/includes/avatar/avatar342.gif
new file mode 100755
index 00000000..8022e7a2
--- /dev/null
+++ b/includes/avatar/avatar342.gif
Binary files differ
diff --git a/includes/avatar/avatar343.gif b/includes/avatar/avatar343.gif
new file mode 100755
index 00000000..71a99e9a
--- /dev/null
+++ b/includes/avatar/avatar343.gif
Binary files differ
diff --git a/includes/avatar/avatar344.gif b/includes/avatar/avatar344.gif
new file mode 100755
index 00000000..fcdc99e8
--- /dev/null
+++ b/includes/avatar/avatar344.gif
Binary files differ
diff --git a/includes/avatar/avatar345.gif b/includes/avatar/avatar345.gif
new file mode 100755
index 00000000..57a63f4b
--- /dev/null
+++ b/includes/avatar/avatar345.gif
Binary files differ
diff --git a/includes/avatar/avatar346.gif b/includes/avatar/avatar346.gif
new file mode 100755
index 00000000..f41dcd30
--- /dev/null
+++ b/includes/avatar/avatar346.gif
Binary files differ
diff --git a/includes/avatar/avatar347.gif b/includes/avatar/avatar347.gif
new file mode 100755
index 00000000..8d8a54cb
--- /dev/null
+++ b/includes/avatar/avatar347.gif
Binary files differ
diff --git a/includes/avatar/avatar348.gif b/includes/avatar/avatar348.gif
new file mode 100755
index 00000000..7c54eb39
--- /dev/null
+++ b/includes/avatar/avatar348.gif
Binary files differ
diff --git a/includes/avatar/avatar349.gif b/includes/avatar/avatar349.gif
new file mode 100755
index 00000000..64de8b9e
--- /dev/null
+++ b/includes/avatar/avatar349.gif
Binary files differ
diff --git a/includes/avatar/avatar35.gif b/includes/avatar/avatar35.gif
new file mode 100755
index 00000000..29eec4ac
--- /dev/null
+++ b/includes/avatar/avatar35.gif
Binary files differ
diff --git a/includes/avatar/avatar350.gif b/includes/avatar/avatar350.gif
new file mode 100755
index 00000000..c57f1061
--- /dev/null
+++ b/includes/avatar/avatar350.gif
Binary files differ
diff --git a/includes/avatar/avatar351.gif b/includes/avatar/avatar351.gif
new file mode 100755
index 00000000..8ccb8185
--- /dev/null
+++ b/includes/avatar/avatar351.gif
Binary files differ
diff --git a/includes/avatar/avatar352.gif b/includes/avatar/avatar352.gif
new file mode 100755
index 00000000..8737e658
--- /dev/null
+++ b/includes/avatar/avatar352.gif
Binary files differ
diff --git a/includes/avatar/avatar353.gif b/includes/avatar/avatar353.gif
new file mode 100755
index 00000000..b6da0623
--- /dev/null
+++ b/includes/avatar/avatar353.gif
Binary files differ
diff --git a/includes/avatar/avatar354.gif b/includes/avatar/avatar354.gif
new file mode 100755
index 00000000..7565e6f9
--- /dev/null
+++ b/includes/avatar/avatar354.gif
Binary files differ
diff --git a/includes/avatar/avatar355.gif b/includes/avatar/avatar355.gif
new file mode 100755
index 00000000..3b08b30f
--- /dev/null
+++ b/includes/avatar/avatar355.gif
Binary files differ
diff --git a/includes/avatar/avatar356.gif b/includes/avatar/avatar356.gif
new file mode 100755
index 00000000..7d0dc95b
--- /dev/null
+++ b/includes/avatar/avatar356.gif
Binary files differ
diff --git a/includes/avatar/avatar357.gif b/includes/avatar/avatar357.gif
new file mode 100755
index 00000000..ed1157a0
--- /dev/null
+++ b/includes/avatar/avatar357.gif
Binary files differ
diff --git a/includes/avatar/avatar358.gif b/includes/avatar/avatar358.gif
new file mode 100755
index 00000000..2dc844a5
--- /dev/null
+++ b/includes/avatar/avatar358.gif
Binary files differ
diff --git a/includes/avatar/avatar359.gif b/includes/avatar/avatar359.gif
new file mode 100755
index 00000000..8ac3f7fd
--- /dev/null
+++ b/includes/avatar/avatar359.gif
Binary files differ
diff --git a/includes/avatar/avatar36.gif b/includes/avatar/avatar36.gif
new file mode 100755
index 00000000..cab160e5
--- /dev/null
+++ b/includes/avatar/avatar36.gif
Binary files differ
diff --git a/includes/avatar/avatar360.gif b/includes/avatar/avatar360.gif
new file mode 100755
index 00000000..b01fb184
--- /dev/null
+++ b/includes/avatar/avatar360.gif
Binary files differ
diff --git a/includes/avatar/avatar361.gif b/includes/avatar/avatar361.gif
new file mode 100755
index 00000000..c4573da7
--- /dev/null
+++ b/includes/avatar/avatar361.gif
Binary files differ
diff --git a/includes/avatar/avatar362.gif b/includes/avatar/avatar362.gif
new file mode 100755
index 00000000..189c9276
--- /dev/null
+++ b/includes/avatar/avatar362.gif
Binary files differ
diff --git a/includes/avatar/avatar363.gif b/includes/avatar/avatar363.gif
new file mode 100755
index 00000000..8ff0b39c
--- /dev/null
+++ b/includes/avatar/avatar363.gif
Binary files differ
diff --git a/includes/avatar/avatar364.gif b/includes/avatar/avatar364.gif
new file mode 100755
index 00000000..8f22d79f
--- /dev/null
+++ b/includes/avatar/avatar364.gif
Binary files differ
diff --git a/includes/avatar/avatar365.gif b/includes/avatar/avatar365.gif
new file mode 100755
index 00000000..950aea2a
--- /dev/null
+++ b/includes/avatar/avatar365.gif
Binary files differ
diff --git a/includes/avatar/avatar366.gif b/includes/avatar/avatar366.gif
new file mode 100755
index 00000000..b1dc12d2
--- /dev/null
+++ b/includes/avatar/avatar366.gif
Binary files differ
diff --git a/includes/avatar/avatar367.gif b/includes/avatar/avatar367.gif
new file mode 100755
index 00000000..0de8fe4b
--- /dev/null
+++ b/includes/avatar/avatar367.gif
Binary files differ
diff --git a/includes/avatar/avatar368.gif b/includes/avatar/avatar368.gif
new file mode 100755
index 00000000..b3f7e0f6
--- /dev/null
+++ b/includes/avatar/avatar368.gif
Binary files differ
diff --git a/includes/avatar/avatar369.gif b/includes/avatar/avatar369.gif
new file mode 100755
index 00000000..0efb8393
--- /dev/null
+++ b/includes/avatar/avatar369.gif
Binary files differ
diff --git a/includes/avatar/avatar37.gif b/includes/avatar/avatar37.gif
new file mode 100755
index 00000000..32b73e09
--- /dev/null
+++ b/includes/avatar/avatar37.gif
Binary files differ
diff --git a/includes/avatar/avatar370.gif b/includes/avatar/avatar370.gif
new file mode 100755
index 00000000..d5dbc5df
--- /dev/null
+++ b/includes/avatar/avatar370.gif
Binary files differ
diff --git a/includes/avatar/avatar371.gif b/includes/avatar/avatar371.gif
new file mode 100755
index 00000000..868546f7
--- /dev/null
+++ b/includes/avatar/avatar371.gif
Binary files differ
diff --git a/includes/avatar/avatar372.gif b/includes/avatar/avatar372.gif
new file mode 100755
index 00000000..6458885d
--- /dev/null
+++ b/includes/avatar/avatar372.gif
Binary files differ
diff --git a/includes/avatar/avatar373.gif b/includes/avatar/avatar373.gif
new file mode 100755
index 00000000..b1e04070
--- /dev/null
+++ b/includes/avatar/avatar373.gif
Binary files differ
diff --git a/includes/avatar/avatar374.gif b/includes/avatar/avatar374.gif
new file mode 100755
index 00000000..e29653ba
--- /dev/null
+++ b/includes/avatar/avatar374.gif
Binary files differ
diff --git a/includes/avatar/avatar375.gif b/includes/avatar/avatar375.gif
new file mode 100755
index 00000000..e5aefc87
--- /dev/null
+++ b/includes/avatar/avatar375.gif
Binary files differ
diff --git a/includes/avatar/avatar376.gif b/includes/avatar/avatar376.gif
new file mode 100755
index 00000000..b5785477
--- /dev/null
+++ b/includes/avatar/avatar376.gif
Binary files differ
diff --git a/includes/avatar/avatar377.gif b/includes/avatar/avatar377.gif
new file mode 100755
index 00000000..67fd7cf4
--- /dev/null
+++ b/includes/avatar/avatar377.gif
Binary files differ
diff --git a/includes/avatar/avatar378.gif b/includes/avatar/avatar378.gif
new file mode 100755
index 00000000..c3924d9c
--- /dev/null
+++ b/includes/avatar/avatar378.gif
Binary files differ
diff --git a/includes/avatar/avatar379.gif b/includes/avatar/avatar379.gif
new file mode 100755
index 00000000..def8a49d
--- /dev/null
+++ b/includes/avatar/avatar379.gif
Binary files differ
diff --git a/includes/avatar/avatar38.gif b/includes/avatar/avatar38.gif
new file mode 100755
index 00000000..109ce01a
--- /dev/null
+++ b/includes/avatar/avatar38.gif
Binary files differ
diff --git a/includes/avatar/avatar380.gif b/includes/avatar/avatar380.gif
new file mode 100755
index 00000000..d02ed852
--- /dev/null
+++ b/includes/avatar/avatar380.gif
Binary files differ
diff --git a/includes/avatar/avatar381.gif b/includes/avatar/avatar381.gif
new file mode 100755
index 00000000..762871c2
--- /dev/null
+++ b/includes/avatar/avatar381.gif
Binary files differ
diff --git a/includes/avatar/avatar382.gif b/includes/avatar/avatar382.gif
new file mode 100755
index 00000000..201872f9
--- /dev/null
+++ b/includes/avatar/avatar382.gif
Binary files differ
diff --git a/includes/avatar/avatar383.gif b/includes/avatar/avatar383.gif
new file mode 100755
index 00000000..a71bbad9
--- /dev/null
+++ b/includes/avatar/avatar383.gif
Binary files differ
diff --git a/includes/avatar/avatar384.gif b/includes/avatar/avatar384.gif
new file mode 100755
index 00000000..6a9e2a45
--- /dev/null
+++ b/includes/avatar/avatar384.gif
Binary files differ
diff --git a/includes/avatar/avatar385.gif b/includes/avatar/avatar385.gif
new file mode 100755
index 00000000..8b51fdef
--- /dev/null
+++ b/includes/avatar/avatar385.gif
Binary files differ
diff --git a/includes/avatar/avatar386.gif b/includes/avatar/avatar386.gif
new file mode 100755
index 00000000..e1d42707
--- /dev/null
+++ b/includes/avatar/avatar386.gif
Binary files differ
diff --git a/includes/avatar/avatar387.gif b/includes/avatar/avatar387.gif
new file mode 100755
index 00000000..186869c5
--- /dev/null
+++ b/includes/avatar/avatar387.gif
Binary files differ
diff --git a/includes/avatar/avatar388.gif b/includes/avatar/avatar388.gif
new file mode 100755
index 00000000..369f01bb
--- /dev/null
+++ b/includes/avatar/avatar388.gif
Binary files differ
diff --git a/includes/avatar/avatar389.gif b/includes/avatar/avatar389.gif
new file mode 100755
index 00000000..d0cb95e4
--- /dev/null
+++ b/includes/avatar/avatar389.gif
Binary files differ
diff --git a/includes/avatar/avatar39.gif b/includes/avatar/avatar39.gif
new file mode 100755
index 00000000..307632c4
--- /dev/null
+++ b/includes/avatar/avatar39.gif
Binary files differ
diff --git a/includes/avatar/avatar390.gif b/includes/avatar/avatar390.gif
new file mode 100755
index 00000000..901e2a4e
--- /dev/null
+++ b/includes/avatar/avatar390.gif
Binary files differ
diff --git a/includes/avatar/avatar391.gif b/includes/avatar/avatar391.gif
new file mode 100755
index 00000000..65f58627
--- /dev/null
+++ b/includes/avatar/avatar391.gif
Binary files differ
diff --git a/includes/avatar/avatar392.gif b/includes/avatar/avatar392.gif
new file mode 100755
index 00000000..ff98710d
--- /dev/null
+++ b/includes/avatar/avatar392.gif
Binary files differ
diff --git a/includes/avatar/avatar393.gif b/includes/avatar/avatar393.gif
new file mode 100755
index 00000000..693be70b
--- /dev/null
+++ b/includes/avatar/avatar393.gif
Binary files differ
diff --git a/includes/avatar/avatar394.gif b/includes/avatar/avatar394.gif
new file mode 100755
index 00000000..baf43448
--- /dev/null
+++ b/includes/avatar/avatar394.gif
Binary files differ
diff --git a/includes/avatar/avatar395.gif b/includes/avatar/avatar395.gif
new file mode 100755
index 00000000..bff14e63
--- /dev/null
+++ b/includes/avatar/avatar395.gif
Binary files differ
diff --git a/includes/avatar/avatar396.gif b/includes/avatar/avatar396.gif
new file mode 100755
index 00000000..882469c0
--- /dev/null
+++ b/includes/avatar/avatar396.gif
Binary files differ
diff --git a/includes/avatar/avatar397.gif b/includes/avatar/avatar397.gif
new file mode 100755
index 00000000..de246f0d
--- /dev/null
+++ b/includes/avatar/avatar397.gif
Binary files differ
diff --git a/includes/avatar/avatar398.gif b/includes/avatar/avatar398.gif
new file mode 100755
index 00000000..07bae656
--- /dev/null
+++ b/includes/avatar/avatar398.gif
Binary files differ
diff --git a/includes/avatar/avatar399.gif b/includes/avatar/avatar399.gif
new file mode 100755
index 00000000..c3b92047
--- /dev/null
+++ b/includes/avatar/avatar399.gif
Binary files differ
diff --git a/includes/avatar/avatar4.gif b/includes/avatar/avatar4.gif
new file mode 100755
index 00000000..e525aa86
--- /dev/null
+++ b/includes/avatar/avatar4.gif
Binary files differ
diff --git a/includes/avatar/avatar40.gif b/includes/avatar/avatar40.gif
new file mode 100755
index 00000000..34e32133
--- /dev/null
+++ b/includes/avatar/avatar40.gif
Binary files differ
diff --git a/includes/avatar/avatar400.gif b/includes/avatar/avatar400.gif
new file mode 100755
index 00000000..fe77d5a7
--- /dev/null
+++ b/includes/avatar/avatar400.gif
Binary files differ
diff --git a/includes/avatar/avatar401.gif b/includes/avatar/avatar401.gif
new file mode 100755
index 00000000..a4d84be4
--- /dev/null
+++ b/includes/avatar/avatar401.gif
Binary files differ
diff --git a/includes/avatar/avatar402.gif b/includes/avatar/avatar402.gif
new file mode 100755
index 00000000..f8b7834f
--- /dev/null
+++ b/includes/avatar/avatar402.gif
Binary files differ
diff --git a/includes/avatar/avatar403.gif b/includes/avatar/avatar403.gif
new file mode 100755
index 00000000..7f5f4bcb
--- /dev/null
+++ b/includes/avatar/avatar403.gif
Binary files differ
diff --git a/includes/avatar/avatar404.gif b/includes/avatar/avatar404.gif
new file mode 100755
index 00000000..00ac94bc
--- /dev/null
+++ b/includes/avatar/avatar404.gif
Binary files differ
diff --git a/includes/avatar/avatar405.gif b/includes/avatar/avatar405.gif
new file mode 100755
index 00000000..c8b2506c
--- /dev/null
+++ b/includes/avatar/avatar405.gif
Binary files differ
diff --git a/includes/avatar/avatar406.gif b/includes/avatar/avatar406.gif
new file mode 100755
index 00000000..831ccfc6
--- /dev/null
+++ b/includes/avatar/avatar406.gif
Binary files differ
diff --git a/includes/avatar/avatar407.gif b/includes/avatar/avatar407.gif
new file mode 100755
index 00000000..9b989638
--- /dev/null
+++ b/includes/avatar/avatar407.gif
Binary files differ
diff --git a/includes/avatar/avatar408.gif b/includes/avatar/avatar408.gif
new file mode 100755
index 00000000..5699f755
--- /dev/null
+++ b/includes/avatar/avatar408.gif
Binary files differ
diff --git a/includes/avatar/avatar409.gif b/includes/avatar/avatar409.gif
new file mode 100755
index 00000000..4300f609
--- /dev/null
+++ b/includes/avatar/avatar409.gif
Binary files differ
diff --git a/includes/avatar/avatar41.gif b/includes/avatar/avatar41.gif
new file mode 100755
index 00000000..f6f631ba
--- /dev/null
+++ b/includes/avatar/avatar41.gif
Binary files differ
diff --git a/includes/avatar/avatar410.gif b/includes/avatar/avatar410.gif
new file mode 100755
index 00000000..a2ddb3e0
--- /dev/null
+++ b/includes/avatar/avatar410.gif
Binary files differ
diff --git a/includes/avatar/avatar411.gif b/includes/avatar/avatar411.gif
new file mode 100755
index 00000000..8658510f
--- /dev/null
+++ b/includes/avatar/avatar411.gif
Binary files differ
diff --git a/includes/avatar/avatar412.gif b/includes/avatar/avatar412.gif
new file mode 100755
index 00000000..1a4bae4b
--- /dev/null
+++ b/includes/avatar/avatar412.gif
Binary files differ
diff --git a/includes/avatar/avatar413.gif b/includes/avatar/avatar413.gif
new file mode 100755
index 00000000..14eb3a92
--- /dev/null
+++ b/includes/avatar/avatar413.gif
Binary files differ
diff --git a/includes/avatar/avatar414.gif b/includes/avatar/avatar414.gif
new file mode 100755
index 00000000..5f23cc79
--- /dev/null
+++ b/includes/avatar/avatar414.gif
Binary files differ
diff --git a/includes/avatar/avatar415.gif b/includes/avatar/avatar415.gif
new file mode 100755
index 00000000..c7312a64
--- /dev/null
+++ b/includes/avatar/avatar415.gif
Binary files differ
diff --git a/includes/avatar/avatar416.gif b/includes/avatar/avatar416.gif
new file mode 100755
index 00000000..fee5e41b
--- /dev/null
+++ b/includes/avatar/avatar416.gif
Binary files differ
diff --git a/includes/avatar/avatar417.gif b/includes/avatar/avatar417.gif
new file mode 100755
index 00000000..d3b3dbbe
--- /dev/null
+++ b/includes/avatar/avatar417.gif
Binary files differ
diff --git a/includes/avatar/avatar418.gif b/includes/avatar/avatar418.gif
new file mode 100755
index 00000000..3f648c4f
--- /dev/null
+++ b/includes/avatar/avatar418.gif
Binary files differ
diff --git a/includes/avatar/avatar419.gif b/includes/avatar/avatar419.gif
new file mode 100755
index 00000000..87587fe5
--- /dev/null
+++ b/includes/avatar/avatar419.gif
Binary files differ
diff --git a/includes/avatar/avatar42.gif b/includes/avatar/avatar42.gif
new file mode 100755
index 00000000..5828d2af
--- /dev/null
+++ b/includes/avatar/avatar42.gif
Binary files differ
diff --git a/includes/avatar/avatar420.gif b/includes/avatar/avatar420.gif
new file mode 100755
index 00000000..2aca0620
--- /dev/null
+++ b/includes/avatar/avatar420.gif
Binary files differ
diff --git a/includes/avatar/avatar421.gif b/includes/avatar/avatar421.gif
new file mode 100755
index 00000000..152f5252
--- /dev/null
+++ b/includes/avatar/avatar421.gif
Binary files differ
diff --git a/includes/avatar/avatar422.gif b/includes/avatar/avatar422.gif
new file mode 100755
index 00000000..228f17d5
--- /dev/null
+++ b/includes/avatar/avatar422.gif
Binary files differ
diff --git a/includes/avatar/avatar423.gif b/includes/avatar/avatar423.gif
new file mode 100755
index 00000000..5f25f9c4
--- /dev/null
+++ b/includes/avatar/avatar423.gif
Binary files differ
diff --git a/includes/avatar/avatar424.gif b/includes/avatar/avatar424.gif
new file mode 100755
index 00000000..d8e9b029
--- /dev/null
+++ b/includes/avatar/avatar424.gif
Binary files differ
diff --git a/includes/avatar/avatar425.gif b/includes/avatar/avatar425.gif
new file mode 100755
index 00000000..ec35e12b
--- /dev/null
+++ b/includes/avatar/avatar425.gif
Binary files differ
diff --git a/includes/avatar/avatar426.gif b/includes/avatar/avatar426.gif
new file mode 100755
index 00000000..9e13452d
--- /dev/null
+++ b/includes/avatar/avatar426.gif
Binary files differ
diff --git a/includes/avatar/avatar427.gif b/includes/avatar/avatar427.gif
new file mode 100755
index 00000000..aca392ec
--- /dev/null
+++ b/includes/avatar/avatar427.gif
Binary files differ
diff --git a/includes/avatar/avatar428.gif b/includes/avatar/avatar428.gif
new file mode 100755
index 00000000..2663bb30
--- /dev/null
+++ b/includes/avatar/avatar428.gif
Binary files differ
diff --git a/includes/avatar/avatar429.gif b/includes/avatar/avatar429.gif
new file mode 100755
index 00000000..f6ae8487
--- /dev/null
+++ b/includes/avatar/avatar429.gif
Binary files differ
diff --git a/includes/avatar/avatar43.gif b/includes/avatar/avatar43.gif
new file mode 100755
index 00000000..4ba29bd2
--- /dev/null
+++ b/includes/avatar/avatar43.gif
Binary files differ
diff --git a/includes/avatar/avatar430.gif b/includes/avatar/avatar430.gif
new file mode 100755
index 00000000..f64e8229
--- /dev/null
+++ b/includes/avatar/avatar430.gif
Binary files differ
diff --git a/includes/avatar/avatar431.gif b/includes/avatar/avatar431.gif
new file mode 100755
index 00000000..28791161
--- /dev/null
+++ b/includes/avatar/avatar431.gif
Binary files differ
diff --git a/includes/avatar/avatar432.gif b/includes/avatar/avatar432.gif
new file mode 100755
index 00000000..7edc6132
--- /dev/null
+++ b/includes/avatar/avatar432.gif
Binary files differ
diff --git a/includes/avatar/avatar433.gif b/includes/avatar/avatar433.gif
new file mode 100755
index 00000000..b300940b
--- /dev/null
+++ b/includes/avatar/avatar433.gif
Binary files differ
diff --git a/includes/avatar/avatar434.gif b/includes/avatar/avatar434.gif
new file mode 100755
index 00000000..020863e3
--- /dev/null
+++ b/includes/avatar/avatar434.gif
Binary files differ
diff --git a/includes/avatar/avatar435.gif b/includes/avatar/avatar435.gif
new file mode 100755
index 00000000..98122e5b
--- /dev/null
+++ b/includes/avatar/avatar435.gif
Binary files differ
diff --git a/includes/avatar/avatar436.gif b/includes/avatar/avatar436.gif
new file mode 100755
index 00000000..7698c886
--- /dev/null
+++ b/includes/avatar/avatar436.gif
Binary files differ
diff --git a/includes/avatar/avatar437.gif b/includes/avatar/avatar437.gif
new file mode 100755
index 00000000..262ace97
--- /dev/null
+++ b/includes/avatar/avatar437.gif
Binary files differ
diff --git a/includes/avatar/avatar438.gif b/includes/avatar/avatar438.gif
new file mode 100755
index 00000000..84033e11
--- /dev/null
+++ b/includes/avatar/avatar438.gif
Binary files differ
diff --git a/includes/avatar/avatar439.gif b/includes/avatar/avatar439.gif
new file mode 100755
index 00000000..04fb6876
--- /dev/null
+++ b/includes/avatar/avatar439.gif
Binary files differ
diff --git a/includes/avatar/avatar44.gif b/includes/avatar/avatar44.gif
new file mode 100755
index 00000000..9db2cd9f
--- /dev/null
+++ b/includes/avatar/avatar44.gif
Binary files differ
diff --git a/includes/avatar/avatar440.gif b/includes/avatar/avatar440.gif
new file mode 100755
index 00000000..b414dfcb
--- /dev/null
+++ b/includes/avatar/avatar440.gif
Binary files differ
diff --git a/includes/avatar/avatar441.gif b/includes/avatar/avatar441.gif
new file mode 100755
index 00000000..db79f0c8
--- /dev/null
+++ b/includes/avatar/avatar441.gif
Binary files differ
diff --git a/includes/avatar/avatar442.gif b/includes/avatar/avatar442.gif
new file mode 100755
index 00000000..341395ac
--- /dev/null
+++ b/includes/avatar/avatar442.gif
Binary files differ
diff --git a/includes/avatar/avatar443.gif b/includes/avatar/avatar443.gif
new file mode 100755
index 00000000..063034ac
--- /dev/null
+++ b/includes/avatar/avatar443.gif
Binary files differ
diff --git a/includes/avatar/avatar444.gif b/includes/avatar/avatar444.gif
new file mode 100755
index 00000000..c4f6aa92
--- /dev/null
+++ b/includes/avatar/avatar444.gif
Binary files differ
diff --git a/includes/avatar/avatar445.gif b/includes/avatar/avatar445.gif
new file mode 100755
index 00000000..5c26ccb3
--- /dev/null
+++ b/includes/avatar/avatar445.gif
Binary files differ
diff --git a/includes/avatar/avatar446.gif b/includes/avatar/avatar446.gif
new file mode 100755
index 00000000..0e14a043
--- /dev/null
+++ b/includes/avatar/avatar446.gif
Binary files differ
diff --git a/includes/avatar/avatar447.gif b/includes/avatar/avatar447.gif
new file mode 100755
index 00000000..8622aafb
--- /dev/null
+++ b/includes/avatar/avatar447.gif
Binary files differ
diff --git a/includes/avatar/avatar448.gif b/includes/avatar/avatar448.gif
new file mode 100755
index 00000000..3e35bfe4
--- /dev/null
+++ b/includes/avatar/avatar448.gif
Binary files differ
diff --git a/includes/avatar/avatar449.gif b/includes/avatar/avatar449.gif
new file mode 100755
index 00000000..d53551f8
--- /dev/null
+++ b/includes/avatar/avatar449.gif
Binary files differ
diff --git a/includes/avatar/avatar45.gif b/includes/avatar/avatar45.gif
new file mode 100755
index 00000000..c216f489
--- /dev/null
+++ b/includes/avatar/avatar45.gif
Binary files differ
diff --git a/includes/avatar/avatar450.gif b/includes/avatar/avatar450.gif
new file mode 100755
index 00000000..6e0ab918
--- /dev/null
+++ b/includes/avatar/avatar450.gif
Binary files differ
diff --git a/includes/avatar/avatar451.gif b/includes/avatar/avatar451.gif
new file mode 100755
index 00000000..7d0d79bd
--- /dev/null
+++ b/includes/avatar/avatar451.gif
Binary files differ
diff --git a/includes/avatar/avatar452.gif b/includes/avatar/avatar452.gif
new file mode 100755
index 00000000..c64e07fc
--- /dev/null
+++ b/includes/avatar/avatar452.gif
Binary files differ
diff --git a/includes/avatar/avatar453.gif b/includes/avatar/avatar453.gif
new file mode 100755
index 00000000..22f597a4
--- /dev/null
+++ b/includes/avatar/avatar453.gif
Binary files differ
diff --git a/includes/avatar/avatar454.gif b/includes/avatar/avatar454.gif
new file mode 100755
index 00000000..81fd63c4
--- /dev/null
+++ b/includes/avatar/avatar454.gif
Binary files differ
diff --git a/includes/avatar/avatar455.gif b/includes/avatar/avatar455.gif
new file mode 100755
index 00000000..8e6e39ee
--- /dev/null
+++ b/includes/avatar/avatar455.gif
Binary files differ
diff --git a/includes/avatar/avatar456.gif b/includes/avatar/avatar456.gif
new file mode 100755
index 00000000..6fba116c
--- /dev/null
+++ b/includes/avatar/avatar456.gif
Binary files differ
diff --git a/includes/avatar/avatar457.gif b/includes/avatar/avatar457.gif
new file mode 100755
index 00000000..1a685aa9
--- /dev/null
+++ b/includes/avatar/avatar457.gif
Binary files differ
diff --git a/includes/avatar/avatar458.gif b/includes/avatar/avatar458.gif
new file mode 100755
index 00000000..20f5e33a
--- /dev/null
+++ b/includes/avatar/avatar458.gif
Binary files differ
diff --git a/includes/avatar/avatar459.gif b/includes/avatar/avatar459.gif
new file mode 100755
index 00000000..049cfc17
--- /dev/null
+++ b/includes/avatar/avatar459.gif
Binary files differ
diff --git a/includes/avatar/avatar46.gif b/includes/avatar/avatar46.gif
new file mode 100755
index 00000000..112346ca
--- /dev/null
+++ b/includes/avatar/avatar46.gif
Binary files differ
diff --git a/includes/avatar/avatar460.gif b/includes/avatar/avatar460.gif
new file mode 100755
index 00000000..155e84b5
--- /dev/null
+++ b/includes/avatar/avatar460.gif
Binary files differ
diff --git a/includes/avatar/avatar461.gif b/includes/avatar/avatar461.gif
new file mode 100755
index 00000000..28057664
--- /dev/null
+++ b/includes/avatar/avatar461.gif
Binary files differ
diff --git a/includes/avatar/avatar462.gif b/includes/avatar/avatar462.gif
new file mode 100755
index 00000000..acd3d942
--- /dev/null
+++ b/includes/avatar/avatar462.gif
Binary files differ
diff --git a/includes/avatar/avatar463.gif b/includes/avatar/avatar463.gif
new file mode 100755
index 00000000..caf0b9c5
--- /dev/null
+++ b/includes/avatar/avatar463.gif
Binary files differ
diff --git a/includes/avatar/avatar464.gif b/includes/avatar/avatar464.gif
new file mode 100755
index 00000000..30a066f3
--- /dev/null
+++ b/includes/avatar/avatar464.gif
Binary files differ
diff --git a/includes/avatar/avatar465.gif b/includes/avatar/avatar465.gif
new file mode 100755
index 00000000..768c4003
--- /dev/null
+++ b/includes/avatar/avatar465.gif
Binary files differ
diff --git a/includes/avatar/avatar466.gif b/includes/avatar/avatar466.gif
new file mode 100755
index 00000000..ddf8c54c
--- /dev/null
+++ b/includes/avatar/avatar466.gif
Binary files differ
diff --git a/includes/avatar/avatar467.gif b/includes/avatar/avatar467.gif
new file mode 100755
index 00000000..c293c4c8
--- /dev/null
+++ b/includes/avatar/avatar467.gif
Binary files differ
diff --git a/includes/avatar/avatar468.gif b/includes/avatar/avatar468.gif
new file mode 100755
index 00000000..ec0c778f
--- /dev/null
+++ b/includes/avatar/avatar468.gif
Binary files differ
diff --git a/includes/avatar/avatar469.gif b/includes/avatar/avatar469.gif
new file mode 100755
index 00000000..12a62367
--- /dev/null
+++ b/includes/avatar/avatar469.gif
Binary files differ
diff --git a/includes/avatar/avatar47.gif b/includes/avatar/avatar47.gif
new file mode 100755
index 00000000..f9edc8c9
--- /dev/null
+++ b/includes/avatar/avatar47.gif
Binary files differ
diff --git a/includes/avatar/avatar470.gif b/includes/avatar/avatar470.gif
new file mode 100755
index 00000000..a6feb187
--- /dev/null
+++ b/includes/avatar/avatar470.gif
Binary files differ
diff --git a/includes/avatar/avatar471.gif b/includes/avatar/avatar471.gif
new file mode 100755
index 00000000..3ce796c4
--- /dev/null
+++ b/includes/avatar/avatar471.gif
Binary files differ
diff --git a/includes/avatar/avatar472.gif b/includes/avatar/avatar472.gif
new file mode 100755
index 00000000..467432c9
--- /dev/null
+++ b/includes/avatar/avatar472.gif
Binary files differ
diff --git a/includes/avatar/avatar473.gif b/includes/avatar/avatar473.gif
new file mode 100755
index 00000000..47bf9a19
--- /dev/null
+++ b/includes/avatar/avatar473.gif
Binary files differ
diff --git a/includes/avatar/avatar474.gif b/includes/avatar/avatar474.gif
new file mode 100755
index 00000000..7518dc8d
--- /dev/null
+++ b/includes/avatar/avatar474.gif
Binary files differ
diff --git a/includes/avatar/avatar475.gif b/includes/avatar/avatar475.gif
new file mode 100755
index 00000000..1cd12980
--- /dev/null
+++ b/includes/avatar/avatar475.gif
Binary files differ
diff --git a/includes/avatar/avatar476.gif b/includes/avatar/avatar476.gif
new file mode 100755
index 00000000..b300940b
--- /dev/null
+++ b/includes/avatar/avatar476.gif
Binary files differ
diff --git a/includes/avatar/avatar477.gif b/includes/avatar/avatar477.gif
new file mode 100755
index 00000000..d2ea55a0
--- /dev/null
+++ b/includes/avatar/avatar477.gif
Binary files differ
diff --git a/includes/avatar/avatar478.gif b/includes/avatar/avatar478.gif
new file mode 100755
index 00000000..924b2282
--- /dev/null
+++ b/includes/avatar/avatar478.gif
Binary files differ
diff --git a/includes/avatar/avatar479.gif b/includes/avatar/avatar479.gif
new file mode 100755
index 00000000..1b4756ee
--- /dev/null
+++ b/includes/avatar/avatar479.gif
Binary files differ
diff --git a/includes/avatar/avatar48.gif b/includes/avatar/avatar48.gif
new file mode 100755
index 00000000..c34d4a50
--- /dev/null
+++ b/includes/avatar/avatar48.gif
Binary files differ
diff --git a/includes/avatar/avatar480.gif b/includes/avatar/avatar480.gif
new file mode 100755
index 00000000..5fa9878f
--- /dev/null
+++ b/includes/avatar/avatar480.gif
Binary files differ
diff --git a/includes/avatar/avatar481.gif b/includes/avatar/avatar481.gif
new file mode 100755
index 00000000..f48cf52f
--- /dev/null
+++ b/includes/avatar/avatar481.gif
Binary files differ
diff --git a/includes/avatar/avatar482.gif b/includes/avatar/avatar482.gif
new file mode 100755
index 00000000..754fa21c
--- /dev/null
+++ b/includes/avatar/avatar482.gif
Binary files differ
diff --git a/includes/avatar/avatar483.gif b/includes/avatar/avatar483.gif
new file mode 100755
index 00000000..d72a4c09
--- /dev/null
+++ b/includes/avatar/avatar483.gif
Binary files differ
diff --git a/includes/avatar/avatar484.gif b/includes/avatar/avatar484.gif
new file mode 100755
index 00000000..7429a913
--- /dev/null
+++ b/includes/avatar/avatar484.gif
Binary files differ
diff --git a/includes/avatar/avatar485.gif b/includes/avatar/avatar485.gif
new file mode 100755
index 00000000..aab93132
--- /dev/null
+++ b/includes/avatar/avatar485.gif
Binary files differ
diff --git a/includes/avatar/avatar486.gif b/includes/avatar/avatar486.gif
new file mode 100755
index 00000000..99278401
--- /dev/null
+++ b/includes/avatar/avatar486.gif
Binary files differ
diff --git a/includes/avatar/avatar487.gif b/includes/avatar/avatar487.gif
new file mode 100755
index 00000000..2e41a5e9
--- /dev/null
+++ b/includes/avatar/avatar487.gif
Binary files differ
diff --git a/includes/avatar/avatar488.gif b/includes/avatar/avatar488.gif
new file mode 100755
index 00000000..3444526d
--- /dev/null
+++ b/includes/avatar/avatar488.gif
Binary files differ
diff --git a/includes/avatar/avatar489.gif b/includes/avatar/avatar489.gif
new file mode 100755
index 00000000..6f63b13d
--- /dev/null
+++ b/includes/avatar/avatar489.gif
Binary files differ
diff --git a/includes/avatar/avatar49.gif b/includes/avatar/avatar49.gif
new file mode 100755
index 00000000..2c637ed0
--- /dev/null
+++ b/includes/avatar/avatar49.gif
Binary files differ
diff --git a/includes/avatar/avatar490.gif b/includes/avatar/avatar490.gif
new file mode 100755
index 00000000..80a07e2b
--- /dev/null
+++ b/includes/avatar/avatar490.gif
Binary files differ
diff --git a/includes/avatar/avatar491.gif b/includes/avatar/avatar491.gif
new file mode 100755
index 00000000..65bb584e
--- /dev/null
+++ b/includes/avatar/avatar491.gif
Binary files differ
diff --git a/includes/avatar/avatar492.gif b/includes/avatar/avatar492.gif
new file mode 100755
index 00000000..c8ce0d9d
--- /dev/null
+++ b/includes/avatar/avatar492.gif
Binary files differ
diff --git a/includes/avatar/avatar493.gif b/includes/avatar/avatar493.gif
new file mode 100755
index 00000000..4ed86532
--- /dev/null
+++ b/includes/avatar/avatar493.gif
Binary files differ
diff --git a/includes/avatar/avatar494.gif b/includes/avatar/avatar494.gif
new file mode 100755
index 00000000..47d5e2e2
--- /dev/null
+++ b/includes/avatar/avatar494.gif
Binary files differ
diff --git a/includes/avatar/avatar495.gif b/includes/avatar/avatar495.gif
new file mode 100755
index 00000000..9b7bdd44
--- /dev/null
+++ b/includes/avatar/avatar495.gif
Binary files differ
diff --git a/includes/avatar/avatar496.gif b/includes/avatar/avatar496.gif
new file mode 100755
index 00000000..2a4429e8
--- /dev/null
+++ b/includes/avatar/avatar496.gif
Binary files differ
diff --git a/includes/avatar/avatar497.gif b/includes/avatar/avatar497.gif
new file mode 100755
index 00000000..aebb9cad
--- /dev/null
+++ b/includes/avatar/avatar497.gif
Binary files differ
diff --git a/includes/avatar/avatar498.gif b/includes/avatar/avatar498.gif
new file mode 100755
index 00000000..2dab371f
--- /dev/null
+++ b/includes/avatar/avatar498.gif
Binary files differ
diff --git a/includes/avatar/avatar499.gif b/includes/avatar/avatar499.gif
new file mode 100755
index 00000000..c23e44fd
--- /dev/null
+++ b/includes/avatar/avatar499.gif
Binary files differ
diff --git a/includes/avatar/avatar5.gif b/includes/avatar/avatar5.gif
new file mode 100755
index 00000000..c0134ee8
--- /dev/null
+++ b/includes/avatar/avatar5.gif
Binary files differ
diff --git a/includes/avatar/avatar50.gif b/includes/avatar/avatar50.gif
new file mode 100755
index 00000000..101883c4
--- /dev/null
+++ b/includes/avatar/avatar50.gif
Binary files differ
diff --git a/includes/avatar/avatar51.gif b/includes/avatar/avatar51.gif
new file mode 100755
index 00000000..310d6f66
--- /dev/null
+++ b/includes/avatar/avatar51.gif
Binary files differ
diff --git a/includes/avatar/avatar52.gif b/includes/avatar/avatar52.gif
new file mode 100755
index 00000000..01ce7062
--- /dev/null
+++ b/includes/avatar/avatar52.gif
Binary files differ
diff --git a/includes/avatar/avatar53.gif b/includes/avatar/avatar53.gif
new file mode 100755
index 00000000..7ba2db43
--- /dev/null
+++ b/includes/avatar/avatar53.gif
Binary files differ
diff --git a/includes/avatar/avatar54.gif b/includes/avatar/avatar54.gif
new file mode 100755
index 00000000..2f4ef2a0
--- /dev/null
+++ b/includes/avatar/avatar54.gif
Binary files differ
diff --git a/includes/avatar/avatar55.gif b/includes/avatar/avatar55.gif
new file mode 100755
index 00000000..7e9cd013
--- /dev/null
+++ b/includes/avatar/avatar55.gif
Binary files differ
diff --git a/includes/avatar/avatar56.gif b/includes/avatar/avatar56.gif
new file mode 100755
index 00000000..e9d115b5
--- /dev/null
+++ b/includes/avatar/avatar56.gif
Binary files differ
diff --git a/includes/avatar/avatar57.gif b/includes/avatar/avatar57.gif
new file mode 100755
index 00000000..a4d85078
--- /dev/null
+++ b/includes/avatar/avatar57.gif
Binary files differ
diff --git a/includes/avatar/avatar58.gif b/includes/avatar/avatar58.gif
new file mode 100755
index 00000000..597b70bd
--- /dev/null
+++ b/includes/avatar/avatar58.gif
Binary files differ
diff --git a/includes/avatar/avatar59.gif b/includes/avatar/avatar59.gif
new file mode 100755
index 00000000..9032b75b
--- /dev/null
+++ b/includes/avatar/avatar59.gif
Binary files differ
diff --git a/includes/avatar/avatar6.gif b/includes/avatar/avatar6.gif
new file mode 100755
index 00000000..6c0416b1
--- /dev/null
+++ b/includes/avatar/avatar6.gif
Binary files differ
diff --git a/includes/avatar/avatar60.gif b/includes/avatar/avatar60.gif
new file mode 100755
index 00000000..33744c36
--- /dev/null
+++ b/includes/avatar/avatar60.gif
Binary files differ
diff --git a/includes/avatar/avatar61.gif b/includes/avatar/avatar61.gif
new file mode 100755
index 00000000..a88f6971
--- /dev/null
+++ b/includes/avatar/avatar61.gif
Binary files differ
diff --git a/includes/avatar/avatar62.gif b/includes/avatar/avatar62.gif
new file mode 100755
index 00000000..4f8d1bee
--- /dev/null
+++ b/includes/avatar/avatar62.gif
Binary files differ
diff --git a/includes/avatar/avatar63.gif b/includes/avatar/avatar63.gif
new file mode 100755
index 00000000..d55fe2bd
--- /dev/null
+++ b/includes/avatar/avatar63.gif
Binary files differ
diff --git a/includes/avatar/avatar64.gif b/includes/avatar/avatar64.gif
new file mode 100755
index 00000000..b7cf7a83
--- /dev/null
+++ b/includes/avatar/avatar64.gif
Binary files differ
diff --git a/includes/avatar/avatar65.gif b/includes/avatar/avatar65.gif
new file mode 100755
index 00000000..e7d2ad6b
--- /dev/null
+++ b/includes/avatar/avatar65.gif
Binary files differ
diff --git a/includes/avatar/avatar66.gif b/includes/avatar/avatar66.gif
new file mode 100755
index 00000000..0ce01bfc
--- /dev/null
+++ b/includes/avatar/avatar66.gif
Binary files differ
diff --git a/includes/avatar/avatar67.gif b/includes/avatar/avatar67.gif
new file mode 100755
index 00000000..a99192c7
--- /dev/null
+++ b/includes/avatar/avatar67.gif
Binary files differ
diff --git a/includes/avatar/avatar68.gif b/includes/avatar/avatar68.gif
new file mode 100755
index 00000000..d41c748c
--- /dev/null
+++ b/includes/avatar/avatar68.gif
Binary files differ
diff --git a/includes/avatar/avatar69.gif b/includes/avatar/avatar69.gif
new file mode 100755
index 00000000..d8e3a099
--- /dev/null
+++ b/includes/avatar/avatar69.gif
Binary files differ
diff --git a/includes/avatar/avatar7.gif b/includes/avatar/avatar7.gif
new file mode 100755
index 00000000..32e2aab7
--- /dev/null
+++ b/includes/avatar/avatar7.gif
Binary files differ
diff --git a/includes/avatar/avatar70.gif b/includes/avatar/avatar70.gif
new file mode 100755
index 00000000..c38e5813
--- /dev/null
+++ b/includes/avatar/avatar70.gif
Binary files differ
diff --git a/includes/avatar/avatar71.gif b/includes/avatar/avatar71.gif
new file mode 100755
index 00000000..bc81138d
--- /dev/null
+++ b/includes/avatar/avatar71.gif
Binary files differ
diff --git a/includes/avatar/avatar72.gif b/includes/avatar/avatar72.gif
new file mode 100755
index 00000000..7105469a
--- /dev/null
+++ b/includes/avatar/avatar72.gif
Binary files differ
diff --git a/includes/avatar/avatar73.gif b/includes/avatar/avatar73.gif
new file mode 100755
index 00000000..c5cf7b5f
--- /dev/null
+++ b/includes/avatar/avatar73.gif
Binary files differ
diff --git a/includes/avatar/avatar74.gif b/includes/avatar/avatar74.gif
new file mode 100755
index 00000000..3c6b4e38
--- /dev/null
+++ b/includes/avatar/avatar74.gif
Binary files differ
diff --git a/includes/avatar/avatar75.gif b/includes/avatar/avatar75.gif
new file mode 100755
index 00000000..c193589f
--- /dev/null
+++ b/includes/avatar/avatar75.gif
Binary files differ
diff --git a/includes/avatar/avatar76.gif b/includes/avatar/avatar76.gif
new file mode 100755
index 00000000..7926bb97
--- /dev/null
+++ b/includes/avatar/avatar76.gif
Binary files differ
diff --git a/includes/avatar/avatar77.gif b/includes/avatar/avatar77.gif
new file mode 100755
index 00000000..72991ce6
--- /dev/null
+++ b/includes/avatar/avatar77.gif
Binary files differ
diff --git a/includes/avatar/avatar78.gif b/includes/avatar/avatar78.gif
new file mode 100755
index 00000000..2972aa4f
--- /dev/null
+++ b/includes/avatar/avatar78.gif
Binary files differ
diff --git a/includes/avatar/avatar79.gif b/includes/avatar/avatar79.gif
new file mode 100755
index 00000000..d20e13af
--- /dev/null
+++ b/includes/avatar/avatar79.gif
Binary files differ
diff --git a/includes/avatar/avatar8.gif b/includes/avatar/avatar8.gif
new file mode 100755
index 00000000..b3e710cb
--- /dev/null
+++ b/includes/avatar/avatar8.gif
Binary files differ
diff --git a/includes/avatar/avatar80.gif b/includes/avatar/avatar80.gif
new file mode 100755
index 00000000..4c6afccc
--- /dev/null
+++ b/includes/avatar/avatar80.gif
Binary files differ
diff --git a/includes/avatar/avatar81.gif b/includes/avatar/avatar81.gif
new file mode 100755
index 00000000..2513d085
--- /dev/null
+++ b/includes/avatar/avatar81.gif
Binary files differ
diff --git a/includes/avatar/avatar82.gif b/includes/avatar/avatar82.gif
new file mode 100755
index 00000000..ba761468
--- /dev/null
+++ b/includes/avatar/avatar82.gif
Binary files differ
diff --git a/includes/avatar/avatar83.gif b/includes/avatar/avatar83.gif
new file mode 100755
index 00000000..085cab2b
--- /dev/null
+++ b/includes/avatar/avatar83.gif
Binary files differ
diff --git a/includes/avatar/avatar84.gif b/includes/avatar/avatar84.gif
new file mode 100755
index 00000000..07ee7424
--- /dev/null
+++ b/includes/avatar/avatar84.gif
Binary files differ
diff --git a/includes/avatar/avatar85.gif b/includes/avatar/avatar85.gif
new file mode 100755
index 00000000..cd510ece
--- /dev/null
+++ b/includes/avatar/avatar85.gif
Binary files differ
diff --git a/includes/avatar/avatar86.gif b/includes/avatar/avatar86.gif
new file mode 100755
index 00000000..0c791d78
--- /dev/null
+++ b/includes/avatar/avatar86.gif
Binary files differ
diff --git a/includes/avatar/avatar87.gif b/includes/avatar/avatar87.gif
new file mode 100755
index 00000000..dac9b589
--- /dev/null
+++ b/includes/avatar/avatar87.gif
Binary files differ
diff --git a/includes/avatar/avatar88.gif b/includes/avatar/avatar88.gif
new file mode 100755
index 00000000..e27c3b3b
--- /dev/null
+++ b/includes/avatar/avatar88.gif
Binary files differ
diff --git a/includes/avatar/avatar89.gif b/includes/avatar/avatar89.gif
new file mode 100755
index 00000000..c07019c0
--- /dev/null
+++ b/includes/avatar/avatar89.gif
Binary files differ
diff --git a/includes/avatar/avatar9.gif b/includes/avatar/avatar9.gif
new file mode 100755
index 00000000..448c6ecc
--- /dev/null
+++ b/includes/avatar/avatar9.gif
Binary files differ
diff --git a/includes/avatar/avatar90.gif b/includes/avatar/avatar90.gif
new file mode 100755
index 00000000..f71a5957
--- /dev/null
+++ b/includes/avatar/avatar90.gif
Binary files differ
diff --git a/includes/avatar/avatar91.gif b/includes/avatar/avatar91.gif
new file mode 100755
index 00000000..9b12113f
--- /dev/null
+++ b/includes/avatar/avatar91.gif
Binary files differ
diff --git a/includes/avatar/avatar92.gif b/includes/avatar/avatar92.gif
new file mode 100755
index 00000000..c3c22c89
--- /dev/null
+++ b/includes/avatar/avatar92.gif
Binary files differ
diff --git a/includes/avatar/avatar93.gif b/includes/avatar/avatar93.gif
new file mode 100755
index 00000000..1c33f2af
--- /dev/null
+++ b/includes/avatar/avatar93.gif
Binary files differ
diff --git a/includes/avatar/avatar94.gif b/includes/avatar/avatar94.gif
new file mode 100755
index 00000000..a91b90a2
--- /dev/null
+++ b/includes/avatar/avatar94.gif
Binary files differ
diff --git a/includes/avatar/avatar95.gif b/includes/avatar/avatar95.gif
new file mode 100755
index 00000000..dc7fe45f
--- /dev/null
+++ b/includes/avatar/avatar95.gif
Binary files differ
diff --git a/includes/avatar/avatar96.gif b/includes/avatar/avatar96.gif
new file mode 100755
index 00000000..f9aec5bf
--- /dev/null
+++ b/includes/avatar/avatar96.gif
Binary files differ
diff --git a/includes/avatar/avatar97.gif b/includes/avatar/avatar97.gif
new file mode 100755
index 00000000..018fd0dc
--- /dev/null
+++ b/includes/avatar/avatar97.gif
Binary files differ
diff --git a/includes/avatar/avatar98.gif b/includes/avatar/avatar98.gif
new file mode 100755
index 00000000..e963d44f
--- /dev/null
+++ b/includes/avatar/avatar98.gif
Binary files differ
diff --git a/includes/avatar/avatar99.gif b/includes/avatar/avatar99.gif
new file mode 100755
index 00000000..3270bd87
--- /dev/null
+++ b/includes/avatar/avatar99.gif
Binary files differ
diff --git a/includes/config_MessegeServer.php b/includes/config_MessegeServer.php
new file mode 100644
index 00000000..3454ae0c
--- /dev/null
+++ b/includes/config_MessegeServer.php
@@ -0,0 +1,8 @@
+<?
+// Set the ip and port we will listen on
+define( SERVER_ADDRESS, "127.0.0.1" );
+define( SERVER_PORT, 9000 );
+
+define( DEBUG, TRUE);
+
+?>
diff --git a/includes/config_modem.php b/includes/config_modem.php
new file mode 100644
index 00000000..0625936d
--- /dev/null
+++ b/includes/config_modem.php
@@ -0,0 +1,11 @@
+<?PHP
+
+//ist ein modem angeschlossen
+$ModemEnable = false;
+
+// COM port
+$ModemDev="/dev/ttyS0";
+
+// vorwahl, bei tnovis telefonanlage für das programmieren von weckrufen
+$WackupNumber="**3";
+?>
diff --git a/includes/crypt.php b/includes/crypt.php
new file mode 100755
index 00000000..38867064
--- /dev/null
+++ b/includes/crypt.php
@@ -0,0 +1,18 @@
+<?php
+
+
+function PassCrypt($passwort) {
+include "./inc/config.php";
+
+switch ($crypt_system) {
+ case "crypt":
+ return "{crypt}".crypt($passwort, "77");
+ case "md5":
+ return md5($passwort);
+ }
+
+}
+
+
+
+?>
diff --git a/includes/css/grossbild.js b/includes/css/grossbild.js
new file mode 100755
index 00000000..618ecc1f
--- /dev/null
+++ b/includes/css/grossbild.js
@@ -0,0 +1,62 @@
+ function isClass(object, className) {
+ return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
+ }
+
+ var grossbild_an = 0
+
+ function grossbild_over(e) {
+ if(grossbild_an) return
+ grossbild_an = 1
+ if(!e) e = window.event;
+ body = document.getElementsByTagName("body")[0]
+ i = document.createElement("img")
+ i.src = e.target.src;
+ i.style.position = "absolute"
+ /*a = ""
+ for(b in e) a += b + " "
+ alert(a)*/
+ i.style.top = e.clientY + window.scrollY
+ i.style.left = e.clientX + window.scrollX
+ i.id = "mouseoverphoto"
+ i.onmouseover = grossbild_over
+ i.onmouseout = grossbild_out
+ //i.onmousemove = grossbild_move
+ body.appendChild(i);
+ }
+
+ function grossbild_out(e) {
+ if(!grossbild_an) return
+ grossbild_an = 0
+ if(!e) e = window.event;
+ body = document.getElementsByTagName("body")[0]
+ i = document.getElementById("mouseoverphoto")
+ body.removeChild(i)
+ }
+
+ function grossbild_move(e) {
+ if(!e) e = window.event;
+ i = document.getElementById("mouseoverphoto")
+ i.style.top = e.clientY + window.scrollY
+ i.style.left = e.clientX + window.scrollX
+}
+
+ function grossbild_register(objekt) {
+ objekt.onmouseover = grossbild_over
+ objekt.onmouseout = grossbild_out
+ objekt.onmousemove = grossbild_move
+ }
+
+ function grossbild_registrieren() {
+ if(grossbild_altonload)
+ grossbild_altonload()
+
+ objekte = document.getElementsByTagName("img");
+ for(var i = 0; i < objekte.length; i++) {
+ if(isClass(objekte[i], "photo")) {
+ grossbild_register(objekte[i])
+ }
+ }
+ }
+
+ var grossbild_altonload = window.onload
+ window.onload = grossbild_registrieren
diff --git a/includes/css/style.css.old b/includes/css/style.css.old
new file mode 100755
index 00000000..254fb1b7
--- /dev/null
+++ b/includes/css/style.css.old
@@ -0,0 +1,53 @@
+H1 {
+ font-family : Helvetica,Arial,Verdana;
+ font-size : 25pt;
+}
+H4 {
+ font-family : Arial,Verdana;
+}
+A {
+ font-family : Arial;
+ font-size : small;
+ text-decoration : none;
+ color : #0000a0;
+}
+A:Visited {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : none;
+}
+ A:Active {
+ text-decoration : none;
+ font-family : Arial;
+ font-size : small;
+}
+A:Hover {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : underline;
+ font-weight : bold;
+}
+B {
+ font-weight : bold;
+ font-family : Arial;
+ font-size : small;
+}
+
+TD {
+ font-size : small;
+ font-family : Arial;
+ padding-left : 1cm;
+}
+
+BODY {
+ font-size : small;
+ font-family : Arial;
+ background-color : #f3b115;
+ color : navy;
+}
+a.title {
+ color:#ffa000;
+}
+
diff --git a/includes/css/style.css.old2 b/includes/css/style.css.old2
new file mode 100755
index 00000000..9f7c0c90
--- /dev/null
+++ b/includes/css/style.css.old2
@@ -0,0 +1,69 @@
+H1 {
+ font-family : Helvetica,Arial,Verdana;
+ font-size : 25pt;
+}
+
+H4 {
+ font-family : Arial,Verdana;
+}
+
+A {
+ font-family : Arial;
+ font-size : small;
+ text-decoration : none;
+ color : #778899;
+}
+
+A:Visited {
+ font-family : Arial;
+ font-size : small;
+ color : #778899;
+ text-decoration : none;
+}
+
+A:Active {
+ text-decoration : none;
+ font-family : Arial;
+ font-size : small;
+}
+
+A:Hover {
+ font-family : Arial;
+ font-size : small;
+ color : #778899;
+ text-decoration : underline;
+ font-weight : bold;
+}
+
+B {
+ font-weight : bold;
+ font-family : Arial;
+ font-size : small;
+}
+
+TD {
+ font-size : small;
+ font-family : Arial;
+}
+
+BODY {
+ font-size : small;
+ font-family : Arial;
+ background-color : #f3b115;
+ color : navy;
+}
+
+
+a.title {
+color:#ffa000;
+}
+
+
+p.question {
+ font-weight: bold;
+}
+
+p.answer {
+ margin-left: 30px;
+ margin-right: 30px;
+}
diff --git a/includes/css/style1.css b/includes/css/style1.css
new file mode 100755
index 00000000..4a597f35
--- /dev/null
+++ b/includes/css/style1.css
@@ -0,0 +1,79 @@
+
+body {
+ font-family: Arial;
+ background-color: #3e9fef;
+ color: #000000;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #304930
+}
+
+td {
+ font-size: small
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #bdd9ef;
+ color: #000000
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #fe961e;
+ background-color: #157cc1
+}
+
+.border {
+ background-color: #050509
+}
+
+.menu {
+ background-color: #bdd9ef;
+ color: #000022;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #3e9fef
+}
+
+.linkbox {
+ background-color: #ffffff
+}
+
+.linkboxtitle {
+ font-weight: bold;
+ background-color: #000000;
+ color: #bdd9ef
+}
+
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style2.css b/includes/css/style2.css
new file mode 100755
index 00000000..e8510809
--- /dev/null
+++ b/includes/css/style2.css
@@ -0,0 +1,117 @@
+body {
+ font-size : small;
+ font-family : Arial;
+ background-color : #f3b115;
+ color : navy;
+}
+a {
+ font-family : Arial;
+ font-size : small;
+ text-decoration : none;
+ color : #0000a0;
+}
+
+td {
+ font-size : small;
+}
+
+A:Visited {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : none;
+}
+
+A:Active {
+ text-decoration : none;
+ font-family : Arial;
+ font-size : small;
+}
+
+A:Hover {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : underline;
+ font-weight : bold;
+}
+
+li {
+ font-size: small
+}
+
+
+H4 {
+ font-family : Arial,Verdana;
+}
+
+
+B {
+ font-weight : bold;
+ font-family : Arial;
+ font-size : small;
+}
+
+.content {
+ background-color: #aa8822;
+<!-- #ffeba2 -->
+ color: #000000
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #ffffff;
+ background-color: #ff1111
+}
+<!-- #157cc1 -->
+
+
+a.title {
+ color:#ffa000;
+}
+.border {
+ background-color: #050509
+ }
+
+.menu {
+ background-color: #bdd9ef;
+ color: #000022;
+ font-size: small
+}
+
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #3e9fef
+}
+
+.linkbox {
+ background-color: #ffffff
+}
+
+.linkboxtitle {
+ font-weight: bold;
+ background-color: #000000;
+ color: #bdd9ef
+}
+
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+
+.comment {
+ font-size : 6pt;
+}
+
diff --git a/includes/css/style3.css b/includes/css/style3.css
new file mode 100755
index 00000000..ca45d73c
--- /dev/null
+++ b/includes/css/style3.css
@@ -0,0 +1,105 @@
+body {
+ font-size : small;
+ font-family : Arial;
+ background-color : #f3b115;
+ color : navy;
+}
+a {
+ font-family : Arial;
+ font-size : small;
+ text-decoration : none;
+ color : #0000a0;
+}
+
+td {
+ font-size : small;
+}
+
+A:Visited {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : none;
+}
+
+A:Active {
+ text-decoration : none;
+ font-family : Arial;
+ font-size : small;
+}
+
+A:Hover {
+ font-family : Arial;
+ font-size : small;
+ color : #0000a0;
+ text-decoration : underline;
+ font-weight : bold;
+}
+
+li {
+ font-size: small
+}
+
+
+H4 {
+ font-family : Arial,Verdana;
+}
+
+
+B {
+ font-weight : bold;
+ font-family : Arial;
+ font-size : small;
+}
+
+.content {
+ background-color: #ffeba2;
+ color: #000000
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #ffa000;
+ background-color: navy
+}
+
+
+
+a.title {
+ color:#ffa000;
+}
+.border {
+ background-color: #050509
+ }
+
+.menu {
+ background-color: #ffeba2;
+ color: navy;
+ font-size: small
+}
+
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+}
+
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+
+.comment {
+ font-size : 6pt;
+}
+
diff --git a/includes/css/style4.css b/includes/css/style4.css
new file mode 100755
index 00000000..b818c9c9
--- /dev/null
+++ b/includes/css/style4.css
@@ -0,0 +1,70 @@
+
+body {
+ font-family: Arial;
+ background-color: #00009f;
+ color: #e0a09f;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #e0ffff
+}
+
+td {
+ font-size: small;
+ color: #e0a09f
+
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #90009f;
+ color: #e0a09f
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #e0e09f;
+ background-color: #740057
+}
+
+.border {
+ background-color: #0000FF
+}
+
+.menu {
+ background-color: #5f0043;
+ color: #e0ff9f;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #e0ff9f
+}
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style5.css b/includes/css/style5.css
new file mode 100755
index 00000000..4a8f7bcc
--- /dev/null
+++ b/includes/css/style5.css
@@ -0,0 +1,79 @@
+
+body {
+ font-family: Verdana,Helvetica,Arial;
+ background-color: #e1d6d6;
+ color: #8a0000;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #583a3a
+}
+
+td {
+ font-size: small
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #e7e2e2;
+ color: #8a0000
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #ffeded;
+ background-color: #8a0000
+}
+
+.border {
+ background-color: #8a0000
+}
+
+.menu {
+ background-color: #e7e2e2;
+ color: #8a0000;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #8a0000
+}
+
+.linkbox {
+ background-color: #e7e2e2
+}
+
+.linkboxtitle {
+ font-weight: bold;
+ background-color: #e7e2e2;
+ color: #8a0000
+}
+
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style6.css b/includes/css/style6.css
new file mode 100755
index 00000000..72e1024d
--- /dev/null
+++ b/includes/css/style6.css
@@ -0,0 +1,68 @@
+
+body {
+ font-family: Arial, Helvetica, sans-serif;
+ background-color: #121327;
+ color: #FFFFFF;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #ff9900
+}
+
+td {
+ font-size: small
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #636e77;
+ color: #FFFFFF
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #FF9900;
+ background-color: #333e47
+}
+
+.border {
+ background-color: #000000
+}
+
+.menu {
+ background-color: #1f203f;
+ color: #fff3bf;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #fff3bf
+}
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #FF0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style7.css b/includes/css/style7.css
new file mode 100755
index 00000000..297f1d0c
--- /dev/null
+++ b/includes/css/style7.css
@@ -0,0 +1,70 @@
+
+body {
+ font-family: Arial;
+ background-color: #353d87;
+ color: #FFFFFF;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #832fb8
+}
+
+td {
+ font-size: small;
+ color: #353d87
+
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #fff3bf;
+ color: #353d87
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #fff3bf;
+ background-color: #353daa
+}
+
+.border {
+ background-color: #0000FF
+}
+
+.menu {
+ background-color: #c5bfff;
+ color: #973cff;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #973cff
+}
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style8.css b/includes/css/style8.css
new file mode 100755
index 00000000..91d3b325
--- /dev/null
+++ b/includes/css/style8.css
@@ -0,0 +1,70 @@
+
+body {
+ font-family: Arial;
+ background-color: #a4ffff;
+ color: #f7ff00;
+ font-size: small
+}
+
+a {
+ text-decoration: none;
+ color: #a45f9f
+}
+
+td {
+ font-size: small;
+ color: #f7ff00
+
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #bd9bff;
+ color: #f7ff00
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #f7ff00;
+ background-color: #ffb2ff
+}
+
+.border {
+ background-color: #0000FF
+}
+
+.menu {
+ background-color: #ffb2ff;
+ color: #f7ff00;
+ font-size: small
+}
+h4.menu {
+ font-weight: bold;
+ font-size: small;
+ color: #f7ff00
+}
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/css/style9.css b/includes/css/style9.css
new file mode 100755
index 00000000..4310ca8c
--- /dev/null
+++ b/includes/css/style9.css
@@ -0,0 +1,84 @@
+
+body {
+ background-color: #ffffff;
+
+ color: black;
+
+ line-height: 150%;
+ font-family: Trebuchet MS, Lucida Grande, Arial, sans-serif;
+
+ margin-bottom: 20px;
+}
+
+a {
+ text-decoration: none;
+ color: #304930
+}
+
+td {
+ font-size: small
+}
+
+a:active, a:hover {
+ font-weight: bold
+}
+
+li {
+ font-size: small
+}
+
+.content {
+ background-color: #ffffff;
+ color: #000000
+}
+
+.contenttopic {
+ font-weight: bold;
+ font-size: small;
+ color: #000000;
+ background-color: #A4C93C
+}
+
+.border {
+ background-color: #A4C93C
+}
+
+.menu {
+ background-color: #ffffff;
+ color: #000000;
+ font-size: small
+}
+h4.menu {
+ background-color: #A4C93C;
+ font-weight: bold;
+ font-size: small;
+ color: #000000
+}
+
+.linkbox {
+ background-color: #ffffff
+}
+
+.linkboxtitle {
+ font-weight: bold;
+ background-color: #000000;
+ color: #ffffff
+}
+
+.question {
+ font-weight: bold;
+ font-size: 9pt
+}
+
+.engeltreffen {
+ font-weight: bold;
+ font-size: 9pt;
+ color: #ff0000;
+}
+
+.answer {
+ font-size: 9pt;
+}
+.comment {
+ font-size : 6pt;
+}
diff --git a/includes/error_handler.php b/includes/error_handler.php
new file mode 100755
index 00000000..b0a41581
--- /dev/null
+++ b/includes/error_handler.php
@@ -0,0 +1,129 @@
+<?php
+
+ require_once("./inc/funktion_jabber.php");
+
+ // global array for collected error_messages
+ $error_messages = array();
+
+ // general error handler collecting all messages in an array
+ function Error_Handler($error_number, $error_string, $error_file, $error_line, $error_context)
+ {
+ global $error_messages, $con;
+
+ //SQL error genauer analysiert
+ $Temp = "";
+ foreach ($error_context as $k => $v )
+ if( (strpos( "0$k", "sql") > 0) || (strpos( "0$k", "SQL") > 0))
+ $Temp .= "Error Context: $k = $v\n";
+
+ if( (strpos( "0$error_string", "MySQL") > 0) )
+ $Temp .= "Error MySQL: ". mysql_error($con). "\n";
+
+ //übergeben des arrays
+ array_push( $error_messages, "Error Number: $error_number\n".
+ "Error String: $error_string\n".
+ "Error File: $error_file\n".
+ "Error Line: $error_line\n".
+ (strlen($Temp)? "$Temp": "")
+ );
+ }
+
+ // register error handler
+ set_error_handler("Error_Handler");
+
+ ini_set( "error_reporting", E_ALL);
+ if( $DEBUG)
+ {
+ ini_set( "display_errors", "On");
+ ini_set( "display_startup_errors", "On");
+ ini_set( "html_errors", "On");
+ }
+
+ // send errors
+ function send_errors()
+ {
+ global $error_messages;
+
+ if (!$error_messages) return;
+
+ $url = $_SERVER['PHP_SELF'];
+
+ $message = "";
+ foreach($error_messages as $value)
+ $message .= $value."\n";
+ $message .= "\n";
+
+ if( isset( $_POST))
+ {
+ foreach ($_POST as $k => $v )
+ $message .= "_POST: $k = ". ( $k!="password"? $v : "???..."). "\n";
+ $message .= "\n";
+ }
+
+ if( isset( $_GET))
+ {
+ foreach ($_GET as $k => $v )
+ $message .= "_GET: $k = $v\n";
+ $message .= "\n";
+ }
+
+ $message .= "\n\n";
+
+ if( isset( $_SESSION))
+ {
+ foreach ($_SESSION as $k => $v )
+ $message .= "_SESSION: $k = $v\n";
+ $message .= "\n";
+ }
+
+ if( isset( $_SESSION['CVS']))
+ {
+ foreach ($_SESSION['CVS'] as $k => $v )
+ if( strlen($k)>3 )
+ $message .= "_SESSION['CVS']: $k = $v\n";
+ $message .= "\n";
+ }
+
+ foreach ($_SERVER as $k => $v )
+ if( strpos( "0$k", "SERVER_")==0)
+ $message .= "_SERVER: $k = $v\n";
+
+ send_message($message);
+
+ // display error messages on screen too for developers
+ if ($_SESSION['CVS']['admin/debug.php']=='Y')
+ {
+ echo "<pre id='error'>\n".$message."</pre>";
+ }
+
+}
+
+ register_shutdown_function("send_errors");
+
+ // send jabber message and email
+ function send_message(&$message)
+ {
+ chdir(dirname(__FILE__));
+ require_once('../inc/config_jabber.php');
+
+ if (isset($jabber_recipient) && count($jabber_recipient)) {
+ $jabber = new Jabber($server, $port, $username, $password, $resource);
+ if ($jabber->Connect() && $jabber->SendAuth()) {
+ foreach($jabber_recipient as $value)
+ {
+ $jabber->SendMessage($value, "normal", NULL, array("body" => $message, "subject" => "Error in Pentabarf"), NULL);
+ }
+ $jabber->Disconnect();
+ } else {
+ array_push($message, "Couldn't connect to Jabber Server.");
+ }
+ }
+
+ if (isset($mail_recipient) && count($mail_recipient)) {
+ foreach($mail_recipient as $to) {
+ mail($to, isset($mail_subject) ? $mail_subject : "Pentabarf Error", $message);
+ }
+ }
+ }
+
+?>
diff --git a/includes/flag/de.gif b/includes/flag/de.gif
new file mode 100755
index 00000000..15739e2e
--- /dev/null
+++ b/includes/flag/de.gif
Binary files differ
diff --git a/includes/flag/en.gif b/includes/flag/en.gif
new file mode 100755
index 00000000..34936ee3
--- /dev/null
+++ b/includes/flag/en.gif
Binary files differ
diff --git a/includes/footer.php b/includes/footer.php
new file mode 100755
index 00000000..70613d29
--- /dev/null
+++ b/includes/footer.php
@@ -0,0 +1,67 @@
+<?PHP
+
+if( $Page["ShowTabel"]=="Y" )
+{
+//############################### ShowTable Start ##############################
+
+?>
+
+
+
+<!-- anfang des footers //-->
+
+
+
+
+ <br>
+ <p align="center">
+ <?PHP If (IsSet($_SESSION['oldurl']))
+ echo "<a href=\"". $_SESSION["oldurl"]. "\">".Get_Text("back")."</a>&nbsp;";
+ ?>
+ <a href="#top"><?PHP echo Get_Text("top"); ?></a>
+ </p>
+ </td>
+ </tr>
+</table>
+ </td>
+
+
+
+
+<!-- anfang des menue parts //-->
+<?PHP
+if( $_SESSION['Menu'] =="R") include("./inc/menu.php");
+?>
+ </td>
+
+
+
+<!-- ende des menue parts //-->
+
+
+
+ </tr>
+ <tr>
+ <td colspan="2">
+ <h5 align="center"> &#169; copyleft - <a href="mailto:erzengel@lists.ccc.de">Kontakt</a>
+ <?PHP
+ include( "./inc/funktion_counter.php");
+ include( "./inc/funktion_flag.php");
+ ?></h5>
+ </td>
+ </tr>
+</table>
+
+<!-- </div> -->
+<?php mysql_close($con); ?>
+</div>
+
+
+<?PHP
+//############################### ShowTable Start ##############################
+} /* if (ShowTabel....*/
+?>
+
+
+</BODY>
+</HTML>
diff --git a/includes/funktion_SendMessenges.php b/includes/funktion_SendMessenges.php
new file mode 100644
index 00000000..c6676c6c
--- /dev/null
+++ b/includes/funktion_SendMessenges.php
@@ -0,0 +1,18 @@
+<?php
+
+
+function SendData($Data)
+{
+ include("./inc/config_MessegeServer.php");
+ // Create a UDP socket
+ $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
+ //send packed
+ socket_sendto($sock, $Data, 9999, 0x4, SERVER_ADDRESS, SERVER_PORT);
+}
+
+function SendMessageJabber($Adresse, $Nachricht)
+{
+ SendData( "#message $Adresse $Nachricht");
+}
+
+?>
diff --git a/includes/funktion_activeUser.php b/includes/funktion_activeUser.php
new file mode 100755
index 00000000..946af304
--- /dev/null
+++ b/includes/funktion_activeUser.php
@@ -0,0 +1,61 @@
+<?PHP
+
+// Functionen gibt es nicht auf ellen rechern
+if( !function_exists("bcdiv"))
+{
+ function bcdiv( $param1, $param2)
+ {
+ return floor( $param1 / $param2);
+ }
+}
+
+if( !function_exists("bcmod"))
+{
+ function bcmod( $param1, $param2)
+ {
+ return $param1 - ( $param2 * bcdiv( $param1, $param2));
+ }
+}
+
+
+echo "<h4 class=\"menu\">Engel online</h4>";
+
+$SQL = "SELECT UID, Nick, lastLogIn ".
+ "FROM User ".
+ "WHERE (`lastLogIn` > '". gmdate("YmdHis", time()-(60*60)). "' AND NOT (UID=". $_SESSION['UID']. ")) ".
+ "ORDER BY lastLogIn DESC;";
+
+$Erg = mysql_query( $SQL, $con);
+
+
+$Tist = (gmdate("d", time()) * 60 * 60 * 24) + // Tag
+ (gmdate("H", time()) * 60 * 60) + // Stunde
+ (gmdate("i", time()) * 60) + // Minute
+ (gmdate("s", time()) ); // Sekunde
+
+for( $i=0; $i<mysql_num_rows($Erg); $i++)
+{
+ echo "\t\t\t<li>";
+ if( $_SESSION['UID']>0 )
+ echo DisplayAvatar( mysql_result( $Erg, $i, "UID"));
+ // Schow Admin Page
+ if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" )
+ echo " <a href=\"./../admin/user.php?enterUID=". mysql_result( $Erg, $i, "UID"). "&Type=Normal\">".
+ mysql_result( $Erg, $i, "Nick"). "</a>";
+ else
+ echo mysql_result( $Erg, $i, "Nick");
+
+ $Tlog = (substr( mysql_result( $Erg, $i, "lastLogIn"), 8, 2) * 60 * 60 * 24) + // Tag
+ (substr( mysql_result( $Erg, $i, "lastLogIn"), 11, 2) * 60 * 60) + // Stunde
+ (substr( mysql_result( $Erg, $i, "lastLogIn"), 14, 2) * 60) + // Minute
+ (substr( mysql_result( $Erg, $i, "lastLogIn"), 17, 2) ); // Sekunde
+
+ $Tlog = $Tist-$Tlog;
+ echo " ". bcdiv( $Tlog, 60). ":";
+ if( strlen(bcmod( $Tlog, 60))==1)
+ echo "0";
+ echo bcmod( $Tlog, 60);
+ echo "</li>\n";
+}
+
+?>
diff --git a/includes/funktion_counter.php b/includes/funktion_counter.php
new file mode 100644
index 00000000..70b104d4
--- /dev/null
+++ b/includes/funktion_counter.php
@@ -0,0 +1,24 @@
+<?PHP
+
+$SQL = "SELECT `Anz` FROM `Counter` WHERE `URL`=\"". $Page["Name"]. "\"";
+$Erg = mysql_query($SQL, $con);
+
+echo mysql_error($con);
+
+if(mysql_num_rows($Erg)==0)
+{
+// echo "Counter: 1";
+ $SQL = "INSERT INTO `Counter` ( `URL` , `Anz` ) ".
+ "VALUES ('". $Page["Name"]. "', '1');";
+ $Erg = mysql_query($SQL, $con);
+}
+elseif(mysql_num_rows($Erg)==1)
+{
+// echo "Counter: ". (mysql_result($Erg, 0, 0)+1);
+ $SQL = "UPDATE `Counter` SET `Anz` = '". (mysql_result($Erg, 0, 0) +1). "' ".
+ "WHERE `URL` = '". $Page["Name"]. "' LIMIT 1 ;";
+ $Erg = mysql_query($SQL, $con);
+}
+
+
+?>
diff --git a/includes/funktion_cron.php b/includes/funktion_cron.php
new file mode 100755
index 00000000..7f47e346
--- /dev/null
+++ b/includes/funktion_cron.php
@@ -0,0 +1,143 @@
+<?PHP
+
+function UID2DECT($UID)
+{
+ global $con;
+ $SQL = "SELECT DECT FROM `User` WHERE UID='$UID'";
+ $Erg = mysql_query($SQL, $con);
+ if( mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+}
+function RID2Room($RID)
+{
+ global $con;
+ $SQL = "SELECT Name FROM `Room` WHERE RID='$RID'";
+ $Erg = mysql_query($SQL, $con);
+ if( mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+}
+
+function TID2Engeltype($TID)
+{
+ global $con;
+ $SQL = "SELECT Name FROM `EngelType` WHERE TID='$TID'";
+ $Erg = mysql_query($SQL, $con);
+ if( mysql_num_rows( $Erg) == 1)
+ return mysql_result($Erg, 0);
+ else
+ return "";
+}
+
+
+function DialNumberIAX( $DECTnumber, $Time, $RID, $TID)
+{
+ global $IAXenable, $IAXcontent, $IAXserver, $AnrufDelay, $DebugDECT;
+
+ //Parameter verarbeiten
+ $TimeH = substr( $Time, 11, 2);
+ $TimeM = substr( $Time, 14, 2);
+ $TimeM = substr( $Time, 14, 2) + $AnrufDelay;
+ if( $TimeM < 0 )
+ {
+ $TimeM += 60;
+ $TimeH -= 1;
+ }
+ if( $TimeH < 0 )
+ $TimeH += 24;
+
+ if( strlen( $TimeH) == 1)
+ $TimeH = "0".$TimeH;
+
+ if( $IAXenable)
+ { $Message="die-nee shisht beh-kinned , in where-neegin me-nooten . . . your shift beginns in a few minutes";
+ if (isset($SetHttpIAX))
+ {
+ $post_data = array();
+ $post_data['code'] = "89o8eu9cg4";
+ $post_data['callerid'] = "1023";
+ $post_data['nr'] = "$DECTnumber";
+ //$post_data['message'] = "Deine schicht beginnt in ein paar minuten . . . your shift beginns in a few minutes ";
+ $post_data['message'] = "die-nee shisht beh-kinned , in where-neegin me-nooten . . . your shift beginns in a few minutes ";
+ $url = "https://23c3.eventphone.de/~bef/call.php";
+
+ $o="";
+ foreach ($post_data as $k=>$v)
+ {
+ $o.= "$k=".urlencode(utf8_encode($v))."&";
+ }
+ $post_data=substr($o,0,-1);
+
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_POST, 1);
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
+ $result = curl_exec($ch);
+ echo curl_error($ch);
+ curl_close($ch);
+ }
+ else
+ {
+ // IAX file Schareiebn
+ $CallFile = "/tmp/call_". date("Ymd_His"). "_$DECTnumber";
+
+ if($DebugDECT) echo "IAX create file for dialing Number $DECTnumber\n";
+ $file = fopen( $CallFile, 'w' );
+ if( $file != FALSE)
+ {
+ fputs( $file, "Channel: SIP/$DECTnumber@$IAXserver\n"); //Ziel nummer
+ fputs( $file, "Callerid: Engelserver\n");
+ // fputs( $file, "Callerid: $IAXcontent\n");
+ // fputs( $file, "Context: $DECTnumber@$IAXserver\n");
+ fputs( $file, "Extension: s\n");
+ fputs( $file, "MaxRetries: 1\n");
+ fputs( $file, "RetryTime: 10\n");
+ fputs( $file, "SetVar: msg=$Message\n");
+// fputs( $file, "SetVar: TimeH=$TimeH\n");
+// fputs( $file, "SetVar: TimeM=$TimeM\n");
+// fputs( $file, "SetVar: DECTnumber=$DECTnumber\n");
+// fputs( $file, "SetVar: Room=". RID2Room( $RID). "\n");
+// fputs( $file, "SetVar: Engeltype=". TID2Engeltype( $TID). "\n");
+ fclose($file);
+ system( "chmod 777 $CallFile");
+ system( "mv $CallFile /var/spool/asterisk/outgoing");
+ }
+ else
+ echo "error: $CallFile not created";
+ }
+ }
+ else
+ if($DebugDECT) echo "IAX is disable\n";
+}
+
+function DialNumberModem( $DECTnumber, $Time)
+{
+ global $AnrufDelay;
+
+ //Parameter verarbeiten
+ $TimeH = substr( $Time, 11, 2);
+ $TimeM = substr( $Time, 14, 2);
+ $TimeM = substr( $Time, 14, 2) + $AnrufDelay;
+ if( $TimeM < 0 )
+ {
+ $TimeM += 60;
+ $TimeH -= 1;
+ }
+ if( $TimeH < 0 )
+ $TimeH += 24;
+
+ if( strlen( $TimeH) == 1)
+ $TimeH = "0".$TimeH;
+
+ SetWackeup( $DECTnumber, $TimeH, $TimeM);
+}
+
+return 0;
+
+?>
+
diff --git a/includes/funktion_db.php b/includes/funktion_db.php
new file mode 100644
index 00000000..cbfb198f
--- /dev/null
+++ b/includes/funktion_db.php
@@ -0,0 +1,149 @@
+<?PHP
+
+if( !function_exists("db_query"))
+{
+ function Ausgabe_Daten($SQL)
+ {
+ global $con;
+ $Erg = mysql_query($SQL, $con);
+
+ echo mysql_error($con);
+
+ $Zeilen = mysql_num_rows($Erg);
+ $Anzahl_Felder = mysql_num_fields($Erg);
+
+ $Diff = "<table border=1>";
+ $Diff .= "<tr>";
+ for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
+ $Diff .= "<th>". mysql_field_name($Erg, $m). "</th>";
+ $Diff .= "</tr>";
+
+ for ($n = 0 ; $n < $Zeilen ; $n++)
+ {
+ $Diff .= "<tr>";
+ for ($m = 0 ; $m < $Anzahl_Felder ; $m++)
+ $Diff .= "<td>".mysql_result($Erg, $n, $m). "</td>";
+ $Diff .= "</tr>";
+ }
+ $Diff .= "</table>";
+ return $Diff;
+ }
+
+ function db_querry_getDatenAssocArray($SQL)
+ {
+ global $con;
+
+ $Erg = mysql_query($SQL, $con);
+ echo mysql_error($con);
+
+ $Daten = array();
+ for( $i=0; $i<mysql_num_rows($Erg); $i++)
+ $Daten[$i] = mysql_fetch_assoc($Erg);
+
+ return $Daten;
+ }
+
+ function db_querry_diffDaten($Daten1, $Daten2)
+ {
+ $Gefunden=False;
+
+ $Diff = "\n<table border=1>\n";
+ $Diff .= "<tr>\n\t<th>Feldname</th>\n\t<th>old Value</th>\n\t<th>new Value</th>\n";
+ $Diff .= "</tr>\n";
+ foreach($Daten1 as $DataKey => $Data1)
+ {
+ if( isset( $Daten2[$DataKey]))
+ {
+ $Data2 = $Daten2[$DataKey];
+ foreach($Data1 as $key => $value)
+ if( $value != $Data2[$key])
+ {
+ $Gefunden=TRUE;
+ $Diff .= "<tr>\n\t<td>$key</td>\n\t<td>$value</td>\n\t<td>".$Data2[$key]."</rd>\n</tr>";
+ }
+ }
+ else
+ foreach($Data1 as $key => $value)
+ {
+ $Gefunden=TRUE;
+ $Diff .= "<tr>\n\t<td>$key</td>\n\t<td>$value</td>\n\t<td></rd>\n</tr>";
+ }
+ }
+ $Diff .= "</table>\n";
+
+ if( $Gefunden)
+ return $Diff;
+ else
+ return "\nno changes Fount\n";
+ }
+
+ function db_query( $SQL, $comment)
+ {
+ global $con, $Page;
+ $Diff = "";
+
+ //commed anlyse udn daten sicherung
+ if( strpos( "#$SQL", "UPDATE") > 0)
+ {
+ //Tabellen name ermitteln
+ $Table_Start = strpos( $SQL, "`");
+ $Table_End = strpos( $SQL, "`", $Table_Start+1);
+ $Table = substr( $SQL, $Table_Start, ($Table_End-$Table_Start+1));
+
+ //SecureTest
+ if( $Table_Start == 0 || $Table_End == 0) die("<h1>funktion_db ERROR SQL: '$SQL' nicht OK</h1>");
+
+ //WHERE ermitteln
+ $Where_Start = strpos( $SQL, "WHERE");
+ $Where = substr( $SQL, $Where_Start);
+ if( $Where_Start == 0) $Where = ";";
+
+ if( strlen( $Where) < 2)
+ {
+ $Diff = "can't show, too mutch data (no filter was set)";
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ else
+ {
+ $Daten1 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $querry_erg = mysql_query($SQL, $con);
+ $Daten2 = db_querry_getDatenAssocArray( "SELECT * FROM $Table $Where");
+ $Diff = db_querry_diffDaten($Daten1, $Daten2);
+ }
+ }
+ elseif( strpos( "#$SQL", "DELETE") > 0)
+ {
+ $TableWhere = substr( $SQL, 6);
+ $Diff .= Ausgabe_Daten( "SELECT * $TableWhere");
+
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ elseif( strpos( "#$SQL", "INSERT") > 0)
+ {
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+ else
+ {
+ //execute command
+ $querry_erg = mysql_query($SQL, $con);
+ }
+
+ $SQLCommand = "SQL:<br>". htmlentities( $SQL, ENT_QUOTES);
+ if( strlen($Diff) > 0)
+ $SQLCommand .= "<br><br>Diff:<br>$Diff";
+
+ $Commend = htmlentities( ($Page["Name"]. ": ". $comment), ENT_QUOTES);
+ //LOG commands in DB
+ $SQL_SEC = "INSERT INTO `ChangeLog` ( `UID` , `SQLCommad` , `Commend` ) ".
+ " VALUES ( '". $_SESSION['UID']. "', ".
+ "'". mysql_escape_string( $SQLCommand). "', ".
+ "'". mysql_escape_string( $Commend). "' );";
+ $erg = mysql_query($SQL_SEC, $con);
+ echo mysql_error($con);
+ return $querry_erg;
+ }//function db_query(
+}
+
+?>
diff --git a/includes/funktion_db_list.php b/includes/funktion_db_list.php
new file mode 100755
index 00000000..fbf1c821
--- /dev/null
+++ b/includes/funktion_db_list.php
@@ -0,0 +1,34 @@
+<?PHP
+
+function funktion_db_list($Table_Name) {
+
+ global $con;
+
+$SQL = "SELECT * FROM `".$Table_Name."`";
+$Erg = mysql_query($SQL, $con);
+
+// anzahl zeilen
+$Zeilen = mysql_num_rows($Erg);
+
+$Anzahl_Felder = mysql_num_fields($Erg);
+
+echo "<table border=1>";
+
+echo "<tr>";
+for ($m = 0 ; $m < $Anzahl_Felder ; $m++) {
+ echo "<th>". mysql_field_name($Erg, $m). "</th>";
+ }
+echo "</tr>";
+
+for ($n = 0 ; $n < $Zeilen ; $n++) {
+ echo "<tr>";
+ for ($m = 0 ; $m < $Anzahl_Felder ; $m++) {
+ echo "<td>".mysql_result($Erg, $n, $m). "</td>";
+ }
+ echo "</tr>";
+}
+
+echo "</table>";
+}
+
+?>
diff --git a/includes/funktion_faq.php b/includes/funktion_faq.php
new file mode 100755
index 00000000..7b6b526c
--- /dev/null
+++ b/includes/funktion_faq.php
@@ -0,0 +1,12 @@
+<?PHP
+
+function noAnswer() {
+ global $con;
+
+ $SQL = "SELECT UID FROM Questions WHERE (Answer=\"\")";
+ $Res=mysql_query($SQL, $con);
+
+ return mysql_num_rows($Res);
+}
+
+?>
diff --git a/includes/funktion_flag.php b/includes/funktion_flag.php
new file mode 100644
index 00000000..2c3ecc13
--- /dev/null
+++ b/includes/funktion_flag.php
@@ -0,0 +1,12 @@
+<?PHP
+echo "<br>";
+
+if( strpos( $_SERVER["REQUEST_URI"], "?") >0)
+ $URL = $_SERVER["REQUEST_URI"]. "&SetLanguage=";
+else
+ $URL = $_SERVER["REQUEST_URI"]. "?SetLanguage=";
+
+echo "<a href=\"". $URL. "DE\"><img src=\"./inc/flag/de.gif\" alt=\"DE\"></a> ";
+echo "<a href=\"". $URL. "EN\"><img src=\"./inc/flag/en.gif\" alt=\"En\"></a> ";
+
+?>
diff --git a/includes/funktion_jabber.php b/includes/funktion_jabber.php
new file mode 100755
index 00000000..9c699d70
--- /dev/null
+++ b/includes/funktion_jabber.php
@@ -0,0 +1,1853 @@
+<?php
+
+/***************************************************************************
+
+ Class.Jabber.PHP v0.4.2
+ (c) 2004 Nathan "Fritzy" Fritz
+ http://cjphp.netflint.net *** fritzy@netflint.net
+
+ This is a bugfix version, specifically for those who can't get
+ 0.4 to work on Jabberd2 servers.
+
+ last modified: 24.03.2004 13:01:53
+
+ ***************************************************************************/
+
+/***************************************************************************
+ *
+
+ *
+ ***************************************************************************/
+
+/*
+ Jabber::Connect()
+ Jabber::Disconnect()
+ Jabber::SendAuth()
+ Jabber::AccountRegistration($reg_email {string}, $reg_name {string})
+
+ Jabber::Listen()
+ Jabber::SendPacket($xml {string})
+
+ Jabber::RosterUpdate()
+ Jabber::RosterAddUser($jid {string}, $id {string}, $name {string})
+ Jabber::RosterRemoveUser($jid {string}, $id {string})
+ Jabber::RosterExistsJID($jid {string})
+
+ Jabber::Subscribe($jid {string})
+ Jabber::Unsubscribe($jid {string})
+
+ Jabber::CallHandler($message {array})
+ Jabber::CruiseControl([$seconds {number}])
+
+ Jabber::SubscriptionApproveRequest($to {string})
+ Jabber::SubscriptionDenyRequest($to {string})
+
+ Jabber::GetFirstFromQueue()
+ Jabber::GetFromQueueById($packet_type {string}, $id {string})
+
+ Jabber::SendMessage($to {string}, $id {number}, $type {string}, $content {array}[, $payload {array}])
+ Jabber::SendIq($to {string}, $type {string}, $id {string}, $xmlns {string}[, $payload {string}])
+ Jabber::SendPresence($type {string}[, $to {string}[, $status {string}[, $show {string}[, $priority {number}]]]])
+
+ Jabber::SendError($to {string}, $id {string}, $error_number {number}[, $error_message {string}])
+
+ Jabber::TransportRegistrationDetails($transport {string})
+ Jabber::TransportRegistration($transport {string}, $details {array})
+
+ Jabber::GetvCard($jid {string}[, $id {string}]) -- EXPERIMENTAL --
+
+ Jabber::GetInfoFromMessageFrom($packet {array})
+ Jabber::GetInfoFromMessageType($packet {array})
+ Jabber::GetInfoFromMessageId($packet {array})
+ Jabber::GetInfoFromMessageThread($packet {array})
+ Jabber::GetInfoFromMessageSubject($packet {array})
+ Jabber::GetInfoFromMessageBody($packet {array})
+ Jabber::GetInfoFromMessageError($packet {array})
+
+ Jabber::GetInfoFromIqFrom($packet {array})
+ Jabber::GetInfoFromIqType($packet {array})
+ Jabber::GetInfoFromIqId($packet {array})
+ Jabber::GetInfoFromIqKey($packet {array})
+ Jabber::GetInfoFromIqError($packet {array})
+
+ Jabber::GetInfoFromPresenceFrom($packet {array})
+ Jabber::GetInfoFromPresenceType($packet {array})
+ Jabber::GetInfoFromPresenceStatus($packet {array})
+ Jabber::GetInfoFromPresenceShow($packet {array})
+ Jabber::GetInfoFromPresencePriority($packet {array})
+
+ Jabber::AddToLog($string {string})
+ Jabber::PrintLog()
+
+ MakeXML::AddPacketDetails($string {string}[, $value {string/number}])
+ MakeXML::BuildPacket([$array {array}])
+*/
+
+
+
+class Jabber
+{
+ function Jabber($server, $port, $username, $password, $resource)
+ {
+
+ $this->server = $server;
+ $this->port = $port;
+
+ $this->username = $username;
+ $this->password = $password;
+ $this->resource = $resource;
+
+ $this->enable_logging = FALSE;
+ $this->log_array = array();
+ $this->log_filename = '';
+ $this->log_filehandler = FALSE;
+
+ $this->packet_queue = array();
+ $this->subscription_queue = array();
+
+ $this->iq_sleep_timer = 1;
+ $this->delay_disconnect = 1;
+
+ $this->returned_keep_alive = TRUE;
+ $this->txnid = 0;
+
+ $this->iq_version_name = "Class.Jabber.PHP -- http://cjphp.netflint.net -- by Nathan 'Fritzy' Fritz, fritz@netflint.net";
+ $this->iq_version_version = "0.4";
+ $this->iq_version_os = $_SERVER['SERVER_SOFTWARE'];
+
+ $this->connection_class = "CJP_StandardConnector";
+
+ $this->error_codes = array(400 => "Bad Request",
+ 401 => "Unauthorized",
+ 402 => "Payment Required",
+ 403 => "Forbidden",
+ 404 => "Not Found",
+ 405 => "Not Allowed",
+ 406 => "Not Acceptable",
+ 407 => "Registration Required",
+ 408 => "Request Timeout",
+ 409 => "Conflict",
+ 500 => "Internal Server Error",
+ 501 => "Not Implemented",
+ 502 => "Remove Server Error",
+ 503 => "Service Unavailable",
+ 504 => "Remove Server Timeout",
+ 510 => "Disconnected");
+ }
+
+
+
+ function Connect()
+ {
+ $this->_create_logfile();
+
+ $this->CONNECTOR = new $this->connection_class;
+
+ if ($this->CONNECTOR->OpenSocket($this->server, $this->port))
+ {
+ $this->SendPacket("<?xml version='1.0' encoding='UTF-8' ?" . ">\n");
+ $this->SendPacket("<stream:stream to='{$this->server}' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>\n");
+
+ sleep(2);
+
+ if ($this->_check_connected())
+ {
+ $this->connected = TRUE; // Nathan Fritz
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: Connect() #1");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: Connect() #2");
+ return FALSE;
+ }
+ }
+
+
+
+ function Disconnect()
+ {
+ if (is_int($this->delay_disconnect))
+ {
+ sleep($this->delay_disconnect);
+ }
+
+ $this->SendPacket("</stream:stream>");
+ $this->CONNECTOR->CloseSocket();
+
+ $this->_close_logfile();
+ $this->PrintLog();
+ }
+
+
+
+ function SendAuth()
+ {
+ $this->auth_id = "auth_" . md5(time() . $_SERVER['REMOTE_ADDR']);
+
+ $this->resource = ($this->resource != NULL) ? $this->resource : ("Class.Jabber.PHP " . md5($this->auth_id));
+ $this->jid = "{$this->username}@{$this->server}/{$this->resource}";
+
+ // request available authentication methods
+ $payload = "<username>{$this->username}</username>";
+ $packet = $this->SendIq(NULL, 'get', $this->auth_id, "jabber:iq:auth", $payload);
+
+ // was a result returned?
+ if ($this->GetInfoFromIqType($packet) == 'result' && $this->GetInfoFromIqId($packet) == $this->auth_id)
+ {
+ // yes, now check for auth method availability in descending order (best to worst)
+
+ if (!function_exists('mhash'))
+ {
+ $this->AddToLog("ATTENTION: SendAuth() - mhash() is not available; screw 0k and digest method, we need to go with plaintext auth");
+ }
+
+ // auth_0k
+ if (function_exists('mhash') && isset($packet['iq']['#']['query'][0]['#']['sequence'][0]["#"]) && isset($packet['iq']['#']['query'][0]['#']['token'][0]["#"]))
+ {
+ return $this->_sendauth_0k($packet['iq']['#']['query'][0]['#']['token'][0]["#"], $packet['iq']['#']['query'][0]['#']['sequence'][0]["#"]);
+ }
+ // digest
+ elseif (function_exists('mhash') && isset($packet['iq']['#']['query'][0]['#']['digest']))
+ {
+ return $this->_sendauth_digest();
+ }
+ // plain text
+ elseif ($packet['iq']['#']['query'][0]['#']['password'])
+ {
+ return $this->_sendauth_plaintext();
+ }
+ // dude, you're fucked
+ {
+ $this->AddToLog("ERROR: SendAuth() #2 - No auth method available!");
+ return FALSE;
+ }
+ }
+ else
+ {
+ // no result returned
+ $this->AddToLog("ERROR: SendAuth() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function AccountRegistration($reg_email = NULL, $reg_name = NULL)
+ {
+ $packet = $this->SendIq($this->server, 'get', 'reg_01', 'jabber:iq:register');
+
+ if ($packet)
+ {
+ $key = $this->GetInfoFromIqKey($packet); // just in case a key was passed back from the server
+ unset($packet);
+
+ $payload = "<username>{$this->username}</username>
+ <password>{$this->password}</password>
+ <email>$reg_email</email>
+ <name>$reg_name</name>\n";
+
+ $payload .= ($key) ? "<key>$key</key>\n" : '';
+
+ $packet = $this->SendIq($this->server, 'set', "reg_01", "jabber:iq:register", $payload);
+
+ if ($this->GetInfoFromIqType($packet) == 'result')
+ {
+ if (isset($packet['iq']['#']['query'][0]['#']['registered'][0]['#']))
+ {
+ $return_code = 1;
+ }
+ else
+ {
+ $return_code = 2;
+ }
+
+ if ($this->resource)
+ {
+ $this->jid = "{$this->username}@{$this->server}/{$this->resource}";
+ }
+ else
+ {
+ $this->jid = "{$this->username}@{$this->server}";
+ }
+
+ }
+ elseif ($this->GetInfoFromIqType($packet) == 'error' && isset($packet['iq']['#']['error'][0]['#']))
+ {
+ // "conflict" error, i.e. already registered
+ if ($packet['iq']['#']['error'][0]['@']['code'] == '409')
+ {
+ $return_code = 1;
+ }
+ else
+ {
+ $return_code = "Error " . $packet['iq']['#']['error'][0]['@']['code'] . ": " . $packet['iq']['#']['error'][0]['#'];
+ }
+ }
+
+ return $return_code;
+
+ }
+ else
+ {
+ return 3;
+ }
+ }
+
+
+
+ function SendPacket($xml)
+ {
+ $xml = trim($xml);
+
+ if ($this->CONNECTOR->WriteToSocket($xml))
+ {
+ $this->AddToLog("SEND: $xml");
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog('ERROR: SendPacket() #1');
+ return FALSE;
+ }
+ }
+
+
+
+ function Listen()
+ {
+ $incoming = "";
+
+ while ($line = $this->CONNECTOR->ReadFromSocket(4096))
+ {
+ $incoming .= $line;
+ }
+
+ $incoming = trim($incoming);
+
+ if ($incoming != "")
+ {
+ $this->AddToLog("RECV: $incoming");
+ }
+
+ if ($incoming != "")
+ {
+ $temp = $this->_split_incoming($incoming);
+
+ for ($a = 0; $a < count($temp); $a++)
+ {
+ $this->packet_queue[] = $this->xmlize($temp[$a]);
+ }
+ }
+
+ return TRUE;
+ }
+
+
+
+ function StripJID($jid = NULL)
+ {
+ preg_match("/(.*)\/(.*)/Ui", $jid, $temp);
+ return ($temp[1] != "") ? $temp[1] : $jid;
+ }
+
+
+
+ function SendMessage($to, $type = "normal", $id = NULL, $content = NULL, $payload = NULL)
+ {
+ if ($to && is_array($content))
+ {
+ if (!$id)
+ {
+ $id = $type . "_" . time();
+ }
+
+ $content = $this->_array_htmlspecialchars($content);
+
+ $xml = "<message to='$to' type='$type' id='$id'>\n";
+
+ if (isset($content['subject']))
+ {
+ $xml .= "<subject>" . $content['subject'] . "</subject>\n";
+ }
+
+ if (isset($content['thread']))
+ {
+ $xml .= "<thread>" . $content['thread'] . "</thread>\n";
+ }
+
+ $xml .= "<body>" . $content['body'] . "</body>\n";
+ $xml .= $payload;
+ $xml .= "</message>\n";
+
+
+ if ($this->SendPacket($xml))
+ {
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: SendMessage() #1");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: SendMessage() #2");
+ return FALSE;
+ }
+ }
+
+
+
+ function SendPresence($type = NULL, $to = NULL, $status = NULL, $show = NULL, $priority = NULL)
+ {
+ $xml = "<presence";
+ $xml .= ($to) ? " to='$to'" : '';
+ $xml .= ($type) ? " type='$type'" : '';
+ $xml .= ($status || $show || $priority) ? ">\n" : " />\n";
+
+ $xml .= ($status) ? " <status>$status</status>\n" : '';
+ $xml .= ($show) ? " <show>$show</show>\n" : '';
+ $xml .= ($priority) ? " <priority>$priority</priority>\n" : '';
+
+ $xml .= ($status || $show || $priority) ? "</presence>\n" : '';
+
+ if ($this->SendPacket($xml))
+ {
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: SendPresence() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function SendError($to, $id = NULL, $error_number, $error_message = NULL)
+ {
+ $xml = "<iq type='error' to='$to'";
+ $xml .= ($id) ? " id='$id'" : '';
+ $xml .= ">\n";
+ $xml .= " <error code='$error_number'>";
+ $xml .= ($error_message) ? $error_message : $this->error_codes[$error_number];
+ $xml .= "</error>\n";
+ $xml .= "</iq>";
+
+ $this->SendPacket($xml);
+ }
+
+
+
+ function RosterUpdate()
+ {
+ $roster_request_id = "roster_" . time();
+
+ $incoming_array = $this->SendIq(NULL, 'get', $roster_request_id, "jabber:iq:roster");
+
+ if (is_array($incoming_array))
+ {
+ if ($incoming_array['iq']['@']['type'] == 'result'
+ && $incoming_array['iq']['@']['id'] == $roster_request_id
+ && $incoming_array['iq']['#']['query']['0']['@']['xmlns'] == "jabber:iq:roster")
+ {
+ $number_of_contacts = count($incoming_array['iq']['#']['query'][0]['#']['item']);
+ $this->roster = array();
+
+ for ($a = 0; $a < $number_of_contacts; $a++)
+ {
+ $this->roster[$a] = array( "jid" => strtolower($incoming_array['iq']['#']['query'][0]['#']['item'][$a]['@']['jid']),
+ "name" => $incoming_array['iq']['#']['query'][0]['#']['item'][$a]['@']['name'],
+ "subscription" => $incoming_array['iq']['#']['query'][0]['#']['item'][$a]['@']['subscription'],
+ "group" => $incoming_array['iq']['#']['query'][0]['#']['item'][$a]['#']['group'][0]['#']
+ );
+ }
+
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterUpdate() #1");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterUpdate() #2");
+ return FALSE;
+ }
+ }
+
+
+
+ function RosterAddUser($jid = NULL, $id = NULL, $name = NULL)
+ {
+ $id = ($id) ? $id : "adduser_" . time();
+
+ if ($jid)
+ {
+ $payload = " <item jid='$jid'";
+ $payload .= ($name) ? " name='" . htmlspecialchars($name) . "'" : '';
+ $payload .= "/>\n";
+
+ $packet = $this->SendIq(NULL, 'set', $id, "jabber:iq:roster", $payload);
+
+ if ($this->GetInfoFromIqType($packet) == 'result')
+ {
+ $this->RosterUpdate();
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterAddUser() #2");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterAddUser() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function RosterRemoveUser($jid = NULL, $id = NULL)
+ {
+ $id = ($id) ? $id : 'deluser_' . time();
+
+ if ($jid && $id)
+ {
+ $packet = $this->SendIq(NULL, 'set', $id, "jabber:iq:roster", "<item jid='$jid' subscription='remove'/>");
+
+ if ($this->GetInfoFromIqType($packet) == 'result')
+ {
+ $this->RosterUpdate();
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterRemoveUser() #2");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterRemoveUser() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function RosterExistsJID($jid = NULL)
+ {
+ if ($jid)
+ {
+ if ($this->roster)
+ {
+ for ($a = 0; $a < count($this->roster); $a++)
+ {
+ if ($this->roster[$a]['jid'] == strtolower($jid))
+ {
+ return $a;
+ }
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterExistsJID() #2");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: RosterExistsJID() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function GetFirstFromQueue()
+ {
+ return array_shift($this->packet_queue);
+ }
+
+
+
+ function GetFromQueueById($packet_type, $id)
+ {
+ $found_message = FALSE;
+
+ foreach ($this->packet_queue as $key => $value)
+ {
+ if ($value[$packet_type]['@']['id'] == $id)
+ {
+ $found_message = $value;
+ unset($this->packet_queue[$key]);
+
+ break;
+ }
+ }
+
+ return (is_array($found_message)) ? $found_message : FALSE;
+ }
+
+
+
+ function CallHandler($packet = NULL)
+ {
+ $packet_type = $this->_get_packet_type($packet);
+
+ if ($packet_type == "message")
+ {
+ $type = $packet['message']['@']['type'];
+ $type = ($type != "") ? $type : "normal";
+ $funcmeth = "Handler_message_$type";
+ }
+ elseif ($packet_type == "iq")
+ {
+ $namespace = $packet['iq']['#']['query'][0]['@']['xmlns'];
+ $namespace = str_replace(":", "_", $namespace);
+ $funcmeth = "Handler_iq_$namespace";
+ }
+ elseif ($packet_type == "presence")
+ {
+ $type = $packet['presence']['@']['type'];
+ $type = ($type != "") ? $type : "available";
+ $funcmeth = "Handler_presence_$type";
+ }
+
+
+ if ($funcmeth != '')
+ {
+ if (function_exists($funcmeth))
+ {
+ call_user_func($funcmeth, $packet);
+ }
+ elseif (method_exists($this, $funcmeth))
+ {
+ call_user_func(array(&$this, $funcmeth), $packet);
+ }
+ else
+ {
+ $this->Handler_NOT_IMPLEMENTED($packet);
+ $this->AddToLog("ERROR: CallHandler() #1 - neither method nor function $funcmeth() available");
+ }
+ }
+ }
+
+
+
+ function CruiseControl($seconds = -1)
+ {
+ $count = 0;
+
+ while ($count != $seconds)
+ {
+ $this->Listen();
+
+ do {
+ $packet = $this->GetFirstFromQueue();
+
+ if ($packet) {
+ $this->CallHandler($packet);
+ }
+
+ } while (count($this->packet_queue) > 1);
+
+ $count += 0.25;
+ usleep(250000);
+
+ if ($this->last_ping_time + 180 < time())
+ {
+ // Modified by Nathan Fritz
+ if ($this->returned_keep_alive == FALSE)
+ {
+ $this->connected = FALSE;
+ $this->AddToLog('EVENT: Disconnected');
+ }
+ if ($this->returned_keep_alive == TRUE)
+ {
+ $this->connected = TRUE;
+ }
+
+ $this->returned_keep_alive = FALSE;
+ $this->keep_alive_id = 'keep_alive_' . time();
+ //$this->SendPacket("<iq id='{$this->keep_alive_id}'/>", 'CruiseControl');
+ $this->SendPacket("<iq type='get' from='" . $this->username . "@" . $this->server . "/" . $this->resource . "' to='" . $this->server . "' id='" . $this->keep_alive_id . "'><query xmlns='jabber:iq:time' /></iq>");
+ // **
+
+ $this->last_ping_time = time();
+ }
+ }
+
+ return TRUE;
+ }
+
+
+
+ function SubscriptionAcceptRequest($to = NULL)
+ {
+ return ($to) ? $this->SendPresence("subscribed", $to) : FALSE;
+ }
+
+
+
+ function SubscriptionDenyRequest($to = NULL)
+ {
+ return ($to) ? $this->SendPresence("unsubscribed", $to) : FALSE;
+ }
+
+
+
+ function Subscribe($to = NULL)
+ {
+ return ($to) ? $this->SendPresence("subscribe", $to) : FALSE;
+ }
+
+
+
+ function Unsubscribe($to = NULL)
+ {
+ return ($to) ? $this->SendPresence("unsubscribe", $to) : FALSE;
+ }
+
+
+
+ function SendIq($to = NULL, $type = 'get', $id = NULL, $xmlns = NULL, $payload = NULL, $from = NULL)
+ {
+ if (!preg_match("/^(get|set|result|error)$/", $type))
+ {
+ unset($type);
+
+ $this->AddToLog("ERROR: SendIq() #2 - type must be 'get', 'set', 'result' or 'error'");
+ return FALSE;
+ }
+ elseif ($id && $xmlns)
+ {
+ $xml = "<iq type='$type' id='$id'";
+ $xml .= ($to) ? " to='" . htmlspecialchars($to) . "'" : '';
+ $xml .= ($from) ? " from='$from'" : '';
+ $xml .= ">
+ <query xmlns='$xmlns'>
+ $payload
+ </query>
+ </iq>";
+
+ $this->SendPacket($xml);
+ sleep($this->iq_sleep_timer);
+ $this->Listen();
+
+ return (preg_match("/^(get|set)$/", $type)) ? $this->GetFromQueueById("iq", $id) : TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: SendIq() #1 - to, id and xmlns are mandatory");
+ return FALSE;
+ }
+ }
+
+
+
+ // get the transport registration fields
+ // method written by Steve Blinch, http://www.blitzaffe.com
+ function TransportRegistrationDetails($transport)
+ {
+ $this->txnid++;
+ $packet = $this->SendIq($transport, 'get', "reg_{$this->txnid}", "jabber:iq:register", NULL, $this->jid);
+
+ if ($packet)
+ {
+ $res = array();
+
+ foreach ($packet['iq']['#']['query'][0]['#'] as $element => $data)
+ {
+ if ($element != 'instructions' && $element != 'key')
+ {
+ $res[] = $element;
+ }
+ }
+
+ return $res;
+ }
+ else
+ {
+ return 3;
+ }
+ }
+
+
+
+ // register with the transport
+ // method written by Steve Blinch, http://www.blitzaffe.com
+ function TransportRegistration($transport, $details)
+ {
+ $this->txnid++;
+ $packet = $this->SendIq($transport, 'get', "reg_{$this->txnid}", "jabber:iq:register", NULL, $this->jid);
+
+ if ($packet)
+ {
+ $key = $this->GetInfoFromIqKey($packet); // just in case a key was passed back from the server
+ unset($packet);
+
+ $payload = ($key) ? "<key>$key</key>\n" : '';
+ foreach ($details as $element => $value)
+ {
+ $payload .= "<$element>$value</$element>\n";
+ }
+
+ $packet = $this->SendIq($transport, 'set', "reg_{$this->txnid}", "jabber:iq:register", $payload);
+
+ if ($this->GetInfoFromIqType($packet) == 'result')
+ {
+ if (isset($packet['iq']['#']['query'][0]['#']['registered'][0]['#']))
+ {
+ $return_code = 1;
+ }
+ else
+ {
+ $return_code = 2;
+ }
+ }
+ elseif ($this->GetInfoFromIqType($packet) == 'error')
+ {
+ if (isset($packet['iq']['#']['error'][0]['#']))
+ {
+ $return_code = "Error " . $packet['iq']['#']['error'][0]['@']['code'] . ": " . $packet['iq']['#']['error'][0]['#'];
+ $this->AddToLog('ERROR: TransportRegistration()');
+ }
+ }
+
+ return $return_code;
+ }
+ else
+ {
+ return 3;
+ }
+ }
+
+
+
+ function GetvCard($jid = NULL, $id = NULL)
+ {
+ if (!$id)
+ {
+ $id = "vCard_" . md5(time() . $_SERVER['REMOTE_ADDR']);
+ }
+
+ if ($jid)
+ {
+ $xml = "<iq type='get' to='$jid' id='$id'>
+ <vCard xmlns='vcard-temp'/>
+ </iq>";
+
+ $this->SendPacket($xml);
+ sleep($this->iq_sleep_timer);
+ $this->Listen();
+
+ return $this->GetFromQueueById("iq", $id);
+ }
+ else
+ {
+ $this->AddToLog("ERROR: GetvCard() #1 - to and id are mandatory");
+ return FALSE;
+ }
+ }
+
+
+
+ function PrintLog()
+ {
+ if ($this->enable_logging)
+ {
+ if ($this->log_filehandler)
+ {
+ echo "<h2>Logging enabled, logged events have been written to the file {$this->log_filename}.</h2>\n";
+ }
+ else
+ {
+ echo "<h2>Logging enabled, logged events below:</h2>\n";
+ echo "<pre>\n";
+ echo (count($this->log_array) > 0) ? implode("\n\n\n", $this->log_array) : "No logged events.";
+ echo "</pre>\n";
+ }
+ }
+ }
+
+
+
+ // ======================================================================
+ // private methods
+ // ======================================================================
+
+
+
+ function _sendauth_0k($zerok_token, $zerok_sequence)
+ {
+ // initial hash of password
+ $zerok_hash = mhash(MHASH_SHA1, $this->password);
+ $zerok_hash = bin2hex($zerok_hash);
+
+ // sequence 0: hash of hashed-password and token
+ $zerok_hash = mhash(MHASH_SHA1, $zerok_hash . $zerok_token);
+ $zerok_hash = bin2hex($zerok_hash);
+
+ // repeat as often as needed
+ for ($a = 0; $a < $zerok_sequence; $a++)
+ {
+ $zerok_hash = mhash(MHASH_SHA1, $zerok_hash);
+ $zerok_hash = bin2hex($zerok_hash);
+ }
+
+ $payload = "<username>{$this->username}</username>
+ <hash>$zerok_hash</hash>
+ <resource>{$this->resource}</resource>";
+
+ $packet = $this->SendIq(NULL, 'set', $this->auth_id, "jabber:iq:auth", $payload);
+
+ // was a result returned?
+ if ($this->GetInfoFromIqType($packet) == 'result' && $this->GetInfoFromIqId($packet) == $this->auth_id)
+ {
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: _sendauth_0k() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function _sendauth_digest()
+ {
+ $payload = "<username>{$this->username}</username>
+ <resource>{$this->resource}</resource>
+ <digest>" . bin2hex(mhash(MHASH_SHA1, $this->stream_id . $this->password)) . "</digest>";
+
+ $packet = $this->SendIq(NULL, 'set', $this->auth_id, "jabber:iq:auth", $payload);
+
+ // was a result returned?
+ if ($this->GetInfoFromIqType($packet) == 'result' && $this->GetInfoFromIqId($packet) == $this->auth_id)
+ {
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: _sendauth_digest() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function _sendauth_plaintext()
+ {
+ $payload = "<username>{$this->username}</username>
+ <password>{$this->password}</password>
+ <resource>{$this->resource}</resource>";
+
+ $packet = $this->SendIq(NULL, 'set', $this->auth_id, "jabber:iq:auth", $payload);
+
+ // was a result returned?
+ if ($this->GetInfoFromIqType($packet) == 'result' && $this->GetInfoFromIqId($packet) == $this->auth_id)
+ {
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: _sendauth_plaintext() #1");
+ return FALSE;
+ }
+ }
+
+
+
+ function _listen_incoming()
+ {
+ $incoming = "";
+
+ while ($line = $this->CONNECTOR->ReadFromSocket(4096))
+ {
+ $incoming .= $line;
+ }
+
+ $incoming = trim($incoming);
+
+ if ($incoming != "")
+ {
+ $this->AddToLog("RECV: $incoming");
+ }
+
+ return $this->xmlize($incoming);
+ }
+
+
+
+ function _check_connected()
+ {
+ $incoming_array = $this->_listen_incoming();
+
+ if (is_array($incoming_array))
+ {
+ if ($incoming_array["stream:stream"]['@']['from'] == $this->server
+ && $incoming_array["stream:stream"]['@']['xmlns'] == "jabber:client"
+ && $incoming_array["stream:stream"]['@']["xmlns:stream"] == "http://etherx.jabber.org/streams")
+ {
+ $this->stream_id = $incoming_array["stream:stream"]['@']['id'];
+
+ return TRUE;
+ }
+ else
+ {
+ $this->AddToLog("ERROR: _check_connected() #1");
+ return FALSE;
+ }
+ }
+ else
+ {
+ $this->AddToLog("ERROR: _check_connected() #2");
+ return FALSE;
+ }
+ }
+
+
+
+ function _get_packet_type($packet = NULL)
+ {
+ if (is_array($packet))
+ {
+ reset($packet);
+ $packet_type = key($packet);
+ }
+
+ return ($packet_type) ? $packet_type : FALSE;
+ }
+
+
+
+ function _split_incoming($incoming)
+ {
+ $temp = preg_split("/<(message|iq|presence|stream)/", $incoming, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $array = array();
+
+ for ($a = 1; $a < count($temp); $a = $a + 2)
+ {
+ $array[] = "<" . $temp[$a] . $temp[($a + 1)];
+ }
+
+ return $array;
+ }
+
+
+
+ function _create_logfile()
+ {
+ if ($this->log_filename != '' && $this->enable_logging)
+ {
+ $this->log_filehandler = fopen($this->log_filename, 'w');
+ }
+ }
+
+
+
+ function AddToLog($string)
+ {
+ if ($this->enable_logging)
+ {
+ if ($this->log_filehandler)
+ {
+ #fwrite($this->log_filehandler, $string . "\n\n");
+ print "$string \n\n";
+ }
+ else
+ {
+ $this->log_array[] = htmlspecialchars($string);
+ }
+ }
+ }
+
+
+
+ function _close_logfile()
+ {
+ if ($this->log_filehandler)
+ {
+ fclose($this->log_filehandler);
+ }
+ }
+
+
+
+ // _array_htmlspecialchars()
+ // applies htmlspecialchars() to all values in an array
+
+ function _array_htmlspecialchars($array)
+ {
+ if (is_array($array))
+ {
+ foreach ($array as $k => $v)
+ {
+ if (is_array($v))
+ {
+ $v = $this->_array_htmlspecialchars($v);
+ }
+ else
+ {
+ $v = htmlspecialchars($v);
+ }
+ }
+ }
+
+ return $array;
+ }
+
+
+
+ // ======================================================================
+ // <message/> parsers
+ // ======================================================================
+
+
+
+ function GetInfoFromMessageFrom($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['@']['from'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageType($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['@']['type'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageId($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['@']['id'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageThread($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['#']['thread'][0]['#'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageSubject($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['#']['subject'][0]['#'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageBody($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['#']['body'][0]['#'] : FALSE;
+ }
+
+ function GetInfoFromMessageXMLNS($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['message']['#']['x'] : FALSE;
+ }
+
+
+
+ function GetInfoFromMessageError($packet = NULL)
+ {
+ $error = preg_replace("/^\/$/", "", ($packet['message']['#']['error'][0]['@']['code'] . "/" . $packet['message']['#']['error'][0]['#']));
+ return (is_array($packet)) ? $error : FALSE;
+ }
+
+
+
+ // ======================================================================
+ // <iq/> parsers
+ // ======================================================================
+
+
+
+ function GetInfoFromIqFrom($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['iq']['@']['from'] : FALSE;
+ }
+
+
+
+ function GetInfoFromIqType($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['iq']['@']['type'] : FALSE;
+ }
+
+
+
+ function GetInfoFromIqId($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['iq']['@']['id'] : FALSE;
+ }
+
+
+
+ function GetInfoFromIqKey($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['iq']['#']['query'][0]['#']['key'][0]['#'] : FALSE;
+ }
+
+
+
+ function GetInfoFromIqError($packet = NULL)
+ {
+ $error = preg_replace("/^\/$/", "", ($packet['iq']['#']['error'][0]['@']['code'] . "/" . $packet['iq']['#']['error'][0]['#']));
+ return (is_array($packet)) ? $error : FALSE;
+ }
+
+
+
+ // ======================================================================
+ // <presence/> parsers
+ // ======================================================================
+
+
+
+ function GetInfoFromPresenceFrom($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['presence']['@']['from'] : FALSE;
+ }
+
+
+
+ function GetInfoFromPresenceType($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['presence']['@']['type'] : FALSE;
+ }
+
+
+
+ function GetInfoFromPresenceStatus($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['presence']['#']['status'][0]['#'] : FALSE;
+ }
+
+
+
+ function GetInfoFromPresenceShow($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['presence']['#']['show'][0]['#'] : FALSE;
+ }
+
+
+
+ function GetInfoFromPresencePriority($packet = NULL)
+ {
+ return (is_array($packet)) ? $packet['presence']['#']['priority'][0]['#'] : FALSE;
+ }
+
+
+
+ // ======================================================================
+ // <message/> handlers
+ // ======================================================================
+
+
+
+ function Handler_message_normal($packet)
+ {
+ $from = $packet['message']['@']['from'];
+ $this->AddToLog("EVENT: Message (type normal) from $from");
+ }
+
+
+
+ function Handler_message_chat($packet)
+ {
+ $from = $packet['message']['@']['from'];
+ $this->AddToLog("EVENT: Message (type chat) from $from");
+ }
+
+
+
+ function Handler_message_groupchat($packet)
+ {
+ $from = $packet['message']['@']['from'];
+ $this->AddToLog("EVENT: Message (type groupchat) from $from");
+ }
+
+
+
+ function Handler_message_headline($packet)
+ {
+ $from = $packet['message']['@']['from'];
+ $this->AddToLog("EVENT: Message (type headline) from $from");
+ }
+
+
+
+ function Handler_message_error($packet)
+ {
+ $from = $packet['message']['@']['from'];
+ $this->AddToLog("EVENT: Message (type error) from $from");
+ }
+
+
+
+ // ======================================================================
+ // <iq/> handlers
+ // ======================================================================
+
+
+
+ // application version updates
+ function Handler_iq_jabber_iq_autoupdate($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:autoupdate from $from");
+ }
+
+
+
+ // interactive server component properties
+ function Handler_iq_jabber_iq_agent($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:agent from $from");
+ }
+
+
+
+ // method to query interactive server components
+ function Handler_iq_jabber_iq_agents($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:agents from $from");
+ }
+
+
+
+ // simple client authentication
+ function Handler_iq_jabber_iq_auth($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:auth from $from");
+ }
+
+
+
+ // out of band data
+ function Handler_iq_jabber_iq_oob($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:oob from $from");
+ }
+
+
+
+ // method to store private data on the server
+ function Handler_iq_jabber_iq_private($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:private from $from");
+ }
+
+
+
+ // method for interactive registration
+ function Handler_iq_jabber_iq_register($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:register from $from");
+ }
+
+
+
+ // client roster management
+ function Handler_iq_jabber_iq_roster($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:roster from $from");
+ }
+
+
+
+ // method for searching a user database
+ function Handler_iq_jabber_iq_search($packet)
+ {
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: jabber:iq:search from $from");
+ }
+
+
+
+ // method for requesting the current time
+ function Handler_iq_jabber_iq_time($packet)
+ {
+ if ($this->keep_alive_id == $this->GetInfoFromIqId($packet))
+ {
+ $this->returned_keep_alive = TRUE;
+ $this->connected = TRUE;
+ $this->AddToLog('EVENT: Keep-Alive returned, connection alive.');
+ }
+ $type = $this->GetInfoFromIqType($packet);
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+ $id = ($id != "") ? $id : "time_" . time();
+
+ if ($type == 'get')
+ {
+ $payload = "<utc>" . gmdate("Ydm\TH:i:s") . "</utc>
+ <tz>" . date("T") . "</tz>
+ <display>" . date("Y/d/m h:i:s A") . "</display>";
+
+ $this->SendIq($from, 'result', $id, "jabber:iq:time", $payload);
+ }
+
+ $this->AddToLog("EVENT: jabber:iq:time (type $type) from $from");
+ }
+
+
+
+ // method for requesting version
+ function Handler_iq_jabber_iq_version($packet)
+ {
+ $type = $this->GetInfoFromIqType($packet);
+ $from = $this->GetInfoFromIqFrom($packet);
+ $id = $this->GetInfoFromIqId($packet);
+ $id = ($id != "") ? $id : "version_" . time();
+
+ if ($type == 'get')
+ {
+ $payload = "<name>{$this->iq_version_name}</name>
+ <os>{$this->iq_version_os}</os>
+ <version>{$this->iq_version_version}</version>";
+
+ #$this->SendIq($from, 'result', $id, "jabber:iq:version", $payload);
+ }
+
+ $this->AddToLog("EVENT: jabber:iq:version (type $type) from $from -- DISABLED");
+ }
+
+
+
+ // keepalive method, added by Nathan Fritz
+ /*
+ function Handler_jabber_iq_time($packet)
+ {
+ if ($this->keep_alive_id == $this->GetInfoFromIqId($packet))
+ {
+ $this->returned_keep_alive = TRUE;
+ $this->connected = TRUE;
+ $this->AddToLog('EVENT: Keep-Alive returned, connection alive.');
+ }
+ }
+ */
+
+
+ // ======================================================================
+ // <presence/> handlers
+ // ======================================================================
+
+
+
+ function Handler_presence_available($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+
+ $show_status = $this->GetInfoFromPresenceStatus($packet) . " / " . $this->GetInfoFromPresenceShow($packet);
+ $show_status = ($show_status != " / ") ? " ($addendum)" : '';
+
+ $this->AddToLog("EVENT: Presence (type: available) - $from is available $show_status");
+ }
+
+
+
+ function Handler_presence_unavailable($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+
+ $show_status = $this->GetInfoFromPresenceStatus($packet) . " / " . $this->GetInfoFromPresenceShow($packet);
+ $show_status = ($show_status != " / ") ? " ($addendum)" : '';
+
+ $this->AddToLog("EVENT: Presence (type: unavailable) - $from is unavailable $show_status");
+ }
+
+
+
+ function Handler_presence_subscribe($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+ $this->SubscriptionAcceptRequest($from);
+ $this->RosterUpdate();
+
+ $this->log_array[] = "<b>Presence:</b> (type: subscribe) - Subscription request from $from, was added to \$this->subscription_queue, roster updated";
+ }
+
+
+
+ function Handler_presence_subscribed($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+ $this->RosterUpdate();
+
+ $this->AddToLog("EVENT: Presence (type: subscribed) - Subscription allowed by $from, roster updated");
+ }
+
+
+
+ function Handler_presence_unsubscribe($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+ $this->SendPresence("unsubscribed", $from);
+ $this->RosterUpdate();
+
+ $this->AddToLog("EVENT: Presence (type: unsubscribe) - Request to unsubscribe from $from, was automatically approved, roster updated");
+ }
+
+
+
+ function Handler_presence_unsubscribed($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+ $this->RosterUpdate();
+
+ $this->AddToLog("EVENT: Presence (type: unsubscribed) - Unsubscribed from $from's presence");
+ }
+
+
+
+ // Added By Nathan Fritz
+ function Handler_presence_error($packet)
+ {
+ $from = $this->GetInfoFromPresenceFrom($packet);
+ $this->AddToLog("EVENT: Presence (type: error) - Error in $from's presence");
+ }
+
+
+
+ // ======================================================================
+ // Generic handlers
+ // ======================================================================
+
+
+
+ // Generic handler for unsupported requests
+ function Handler_NOT_IMPLEMENTED($packet)
+ {
+ $packet_type = $this->_get_packet_type($packet);
+ $from = call_user_func(array(&$this, "GetInfoFrom" . ucfirst($packet_type) . "From"), $packet);
+ $id = call_user_func(array(&$this, "GetInfoFrom" . ucfirst($packet_type) . "Id"), $packet);
+
+ $this->SendError($from, $id, 501);
+ $this->AddToLog("EVENT: Unrecognized <$packet_type/> from $from");
+ }
+
+
+
+ // ======================================================================
+ // Third party code
+ // m@d pr0ps to the coders ;)
+ // ======================================================================
+
+
+
+ // xmlize()
+ // (c) Hans Anderson / http://www.hansanderson.com/php/xml/
+
+ function xmlize($data)
+ {
+ $vals = $index = $array = array();
+ $parser = xml_parser_create('utf-8');
+ xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
+ xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
+ xml_parse_into_struct($parser, $data, $vals, $index);
+ xml_parser_free($parser);
+
+ $i = 0;
+
+ $tagname = $vals[$i]['tag'];
+ $array[$tagname]['@'] = $vals[$i]['attributes'];
+ $array[$tagname]['#'] = $this->_xml_depth($vals, $i);
+
+ return $array;
+ }
+
+
+
+ // _xml_depth()
+ // (c) Hans Anderson / http://www.hansanderson.com/php/xml/
+
+ function _xml_depth($vals, &$i)
+ {
+ $children = array();
+
+ if (isset($vals[$i]['value']))
+ {
+ array_push($children, trim($vals[$i]['value']));
+ }
+
+ while (++$i < count($vals))
+ {
+ switch ($vals[$i]['type'])
+ {
+ case 'cdata':
+ array_push($children, trim($vals[$i]['value']));
+ break;
+
+ case 'complete':
+ $tagname = $vals[$i]['tag'];
+ $size = isset($children[$tagname]) ? sizeof($children[$tagname]) : 0;
+ $children[$tagname][$size]['#'] = isset($vals[$i]['value']) ? trim($vals[$i]['value']) : "";
+ if (isset($vals[$i]['attributes']))
+ {
+ $children[$tagname][$size]['@'] = $vals[$i]['attributes'];
+ }
+ break;
+
+ case 'open':
+ $tagname = $vals[$i]['tag'];
+ $size = isset($children[$tagname]) ? sizeof($children[$tagname]) : 0;
+ if ($vals[$i]['attributes'])
+ {
+ $children[$tagname][$size]['@'] = $vals[$i]['attributes'];
+ $children[$tagname][$size]['#'] = $this->_xml_depth($vals, $i);
+ }
+ else
+ {
+ $children[$tagname][$size]['#'] = $this->_xml_depth($vals, $i);
+ }
+ break;
+
+ case 'close':
+ return $children;
+ break;
+ }
+ }
+
+ return $children;
+ }
+
+
+
+ // TraverseXMLize()
+ // (c) acebone@f2s.com, a HUGE help!
+
+ function TraverseXMLize($array, $arrName = "array", $level = 0)
+ {
+ if ($level == 0)
+ {
+ echo "<pre>";
+ }
+
+ while (list($key, $val) = @each($array))
+ {
+ if (is_array($val))
+ {
+ $this->TraverseXMLize($val, $arrName . "[" . $key . "]", $level + 1);
+ }
+ else
+ {
+ echo '$' . $arrName . '[' . $key . '] = "' . $val . "\"\n";
+ }
+ }
+
+ if ($level == 0)
+ {
+ echo "</pre>";
+ }
+ }
+}
+
+
+
+class MakeXML extends Jabber
+{
+
+ function MakeXML()
+ {
+ $nodes = array();
+ }
+
+
+
+ function AddPacketDetails($string, $value = NULL)
+ {
+ if (preg_match("/\(([0-9]*)\)$/i", $string))
+ {
+ $string .= "/[\"#\"]";
+ }
+
+ $temp = @explode("/", $string);
+
+ for ($a = 0; $a < count($temp); $a++)
+ {
+ $temp[$a] = preg_replace("/^[@]{1}([a-z0-9_]*)$/i", "[\"@\"][\"\\1\"]", $temp[$a]);
+ $temp[$a] = preg_replace("/^([a-z0-9_]*)\(([0-9]*)\)$/i", "[\"\\1\"][\\2]", $temp[$a]);
+ $temp[$a] = preg_replace("/^([a-z0-9_]*)$/i", "[\"\\1\"]", $temp[$a]);
+ }
+
+ $node = implode("", $temp);
+
+ // Yeahyeahyeah, I know it's ugly... get over it. ;)
+ echo "\$this->nodes$node = \"" . htmlspecialchars($value) . "\";<br/>";
+ eval("\$this->nodes$node = \"" . htmlspecialchars($value) . "\";");
+ }
+
+
+
+ function BuildPacket($array = NULL)
+ {
+
+ if (!$array)
+ {
+ $array = $this->nodes;
+ }
+
+ if (is_array($array))
+ {
+ array_multisort($array, SORT_ASC, SORT_STRING);
+
+ foreach ($array as $key => $value)
+ {
+ if (is_array($value) && $key == "@")
+ {
+ foreach ($value as $subkey => $subvalue)
+ {
+ $subvalue = htmlspecialchars($subvalue);
+ $text .= " $subkey='$subvalue'";
+ }
+
+ $text .= ">\n";
+
+ }
+ elseif ($key == "#")
+ {
+ $text .= htmlspecialchars($value);
+ }
+ elseif (is_array($value))
+ {
+ for ($a = 0; $a < count($value); $a++)
+ {
+ $text .= "<$key";
+
+ if (!$this->_preg_grep_keys("/^@/", $value[$a]))
+ {
+ $text .= ">";
+ }
+
+ $text .= $this->BuildPacket($value[$a]);
+
+ $text .= "</$key>\n";
+ }
+ }
+ else
+ {
+ $value = htmlspecialchars($value);
+ $text .= "<$key>$value</$key>\n";
+ }
+ }
+
+ return $text;
+ }
+ }
+
+
+
+ function _preg_grep_keys($pattern, $array)
+ {
+ while (list($key, $val) = each($array))
+ {
+ if (preg_match($pattern, $key))
+ {
+ $newarray[$key] = $val;
+ }
+ }
+ return (is_array($newarray)) ? $newarray : FALSE;
+ }
+}
+
+
+
+class CJP_StandardConnector
+{
+ function OpenSocket($server, $port)
+ {
+ if ($this->active_socket = fsockopen($server, $port))
+ {
+ socket_set_blocking($this->active_socket, 0);
+ socket_set_timeout($this->active_socket, 31536000);
+
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+ }
+
+
+
+ function CloseSocket()
+ {
+ return fclose($this->active_socket);
+ }
+
+
+
+ function WriteToSocket($data)
+ {
+ return fwrite($this->active_socket, $data);
+ }
+
+
+
+ function ReadFromSocket($chunksize)
+ {
+ set_magic_quotes_runtime(0);
+ $buffer = fread($this->active_socket, $chunksize);
+ set_magic_quotes_runtime(get_magic_quotes_gpc());
+
+ return $buffer;
+ }
+}
+
+
+
+?>
diff --git a/includes/funktion_lang.php b/includes/funktion_lang.php
new file mode 100755
index 00000000..d5d3e144
--- /dev/null
+++ b/includes/funktion_lang.php
@@ -0,0 +1,35 @@
+<?PHP
+
+
+function Get_Text ($TextID, $NoError=FALSE)
+{
+ GLOBAL $con, $error_messages, $DEBUG;
+
+ if( !isset($_SESSION['Sprache']))
+ $_SESSION['Sprache'] = "EN";
+ if( $_SESSION['Sprache']=="")
+ $_SESSION['Sprache']="EN";
+ if( isset($_GET["SetLanguage"]))
+ $_SESSION['Sprache']= $_GET["SetLanguage"];
+
+ $SQL = "SELECT * FROM `Sprache` WHERE TextID=\"$TextID\" AND Sprache ='".$_SESSION['Sprache']."'";
+ @$Erg = mysql_query($SQL, $con);
+
+ if( mysql_num_rows( $Erg) == 1)
+ return (@mysql_result($Erg, 0, "Text"));
+ elseif( $NoError && !$DEBUG)
+ return "";
+ else
+ {
+ array_push($error_messages, "Get_Text, '$TextID' found ". mysql_num_rows( $Erg). "x in Sprache Database Table for Language (".$_SESSION['Sprache'].")\n");
+ return "Error Data, '$TextID' found ". mysql_num_rows( $Erg). "x";
+ }
+
+}
+
+function Print_Text ($TextID, $NoError=FALSE)
+{
+ echo Get_Text ($TextID, $NoError);
+}
+
+?>
diff --git a/includes/funktion_menu.php b/includes/funktion_menu.php
new file mode 100755
index 00000000..e728e339
--- /dev/null
+++ b/includes/funktion_menu.php
@@ -0,0 +1,44 @@
+<?PHP
+
+function ShowMenu( $MenuName)
+{
+ global $MenueTableStart, $MenueTableEnd, $_SESSION, $DEBUG, $url, $ENGEL_ROOT;
+ $Gefunden=FALSE;
+
+ //Überschift
+ $Text = "<h4 class=\"menu\">". Get_Text("$MenuName/"). "</h4>";
+
+ //einträge
+ foreach( $_SESSION['CVS'] as $Key => $Entry )
+ if( strpos( $Key, ".php") > 0)
+ if( (strpos( "00$Key", "0$MenuName") > 0) ||
+ ((strlen($MenuName)==0) && (strpos( "0$Key", "/") == 0) ) )
+ {
+ $TempName = Get_Text($Key, TRUE);
+ if(( TRUE||$DEBUG) && (strlen($TempName)==0) )
+ $TempName = "not found: \"$Key\"";
+
+ if( $Entry == "Y")
+ {
+ //zum absichtlkichen ausblenden von einträgen
+ if( strlen($TempName)>1)
+ {
+ //sonderfälle:
+ if( $Key=="admin/faq.php")
+ $TempName .= " (". noAnswer(). ")";
+ //ausgabe
+ $Text .= "\t\t\t<li><a href=\"". $url. substr( $ENGEL_ROOT, 1). $Key. "\">$TempName</a></li>\n";
+ $Gefunden = TRUE;
+ }
+ }
+ elseif( $DEBUG )
+ {
+ $Gefunden = TRUE;
+ $Text .= "\t\t\t<li>$TempName ($Key)</li>\n";
+ }
+ }
+ if( $Gefunden)
+ echo $MenueTableStart.$Text.$MenueTableEnd;
+}//function ShowMenue
+
+?>
diff --git a/includes/funktion_modem.php b/includes/funktion_modem.php
new file mode 100755
index 00000000..6cbbb49b
--- /dev/null
+++ b/includes/funktion_modem.php
@@ -0,0 +1,35 @@
+<?PHP
+include "./inc/config_modem.php";
+
+function DialNumber( $Number )
+{
+ global $Dev, $ModemEnable;
+
+ if( $ModemEnable)
+ {
+ echo "Dial number: '<u>$Number</u>' was called<br>\n";
+ $fp = fopen( $ModemDev, "w");
+ sleep(1);
+ fwrite( $fp, "+++");
+ sleep(1);
+ fwrite( $fp, "ATZ\n");
+ sleep(1);
+ fwrite( $fp, "ATX1\n");
+ sleep(1);
+ fwrite( $fp, "ATD $Number \n");
+ sleep(8);
+ fclose($fp);
+ sleep(1);
+ }
+ else
+ echo "Modem is Disable, number: '<u>$Number</u>' was not called<br>\n";
+}
+
+
+function SetWackeup( $Number, $TimeH, $TimeM)
+{
+ global $WackupNumber;
+ DialNumber( "$WackupNumber$TimeH$TimeM$Number");
+}
+
+?>
diff --git a/includes/funktion_schichtplan.php b/includes/funktion_schichtplan.php
new file mode 100755
index 00000000..b8babed9
--- /dev/null
+++ b/includes/funktion_schichtplan.php
@@ -0,0 +1,379 @@
+<?php
+
+
+/*#######################################################
+# gibt die engelschischten aus #
+#######################################################*/
+function ausgabe_Feld_Inhalt( $SID, $Man )
+{
+// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
+// die eingetragenden und und offenden Schichteintäge zurück
+ global $EngelType, $EngelTypeID, $TID2Name, $con, $DEBUG, $gmdateOffset;
+
+ $Spalten = "";
+
+ if( !isset($_GET["Icon"]))
+ $_GET["Icon"]=1;
+
+ ///////////////////////////////////////////////////////////////////
+ // Schow Admin Page
+ ///////////////////////////////////////////////////////////////////
+ if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" )
+ {
+ $Spalten.= "<a href=\"./../admin/schichtplan.php?action=change&SID=$SID\">edit</a><br>\n\t\t";
+ }
+
+
+ ///////////////////////////////////////////////////////////////////
+ // Ausgabe des Schischtnamens
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');";
+ $Erg = mysql_query($SQL, $con);
+ if( mysql_result($Erg, 0, 0) != "")
+ $Spalten.="<a href=\"". mysql_result($Erg, 0, 0). "\" target=\"_black\"><u>$Man:</u></a><br>";
+ else
+ $Spalten.="<u>".$Man.":</u><br>";
+
+
+ ///////////////////////////////////////////////////////////////////
+ // SQL abfrage für die benötigten schichten
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
+ $Erg = mysql_query($SQL, $con);
+
+ $Anzahl = mysql_num_rows($Erg);
+ $Feld=0;
+ $Temp_TID_old=-1;
+ for( $i = 0; $i < $Anzahl; $i++ )
+ {
+ if( isset($Temp[$Feld]["TID"]))
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ if( isset($Temp[$Feld]["UID"]))
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+
+ $Temp_TID = mysql_result($Erg, $i, "TID");
+
+ // wenn sich der Type ändert wird zumnästen feld geweckselt
+ if( $Temp_TID_old != $Temp_TID )
+ $Feld++;
+
+ $Temp[$Feld]["TID"] = $Temp_TID;
+ $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
+
+ // sonderfall ersten durchlauf
+ if( $i == 0 )
+ {
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+ }
+
+ // ist es eine zu vergeben schicht?
+ if( $Temp[$Feld]["UID"] == 0 )
+ {
+ if( isset($Temp[$Feld]["free"]))
+ $Temp[$Feld]["free"]++;
+ else
+ $Temp[$Feld]["free"]=1;
+ }
+ else
+ $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
+ } // FOR
+
+
+ ///////////////////////////////////////////////////////////////////
+ // Aus gabe der Schicht
+ ///////////////////////////////////////////////////////////////////
+ if( isset($Temp))
+ if( count($Temp) )
+ foreach( $Temp as $TempEntry => $TempValue )
+ {
+ if( !isset($TempValue["free"]))
+ $TempValue["free"] = 0;
+
+ // ausgabe EngelType
+ $Spalten.= $EngelTypeID[ $TempValue["TID"] ]. " ";
+
+ // ausgabe Eingetragener Engel
+ if( isset($TempValue["Engel"]))
+ if( count($TempValue["Engel"]) > 0 )
+ {
+ if( count($TempValue["Engel"]) == 1 )
+ $Spalten.= Get_Text("inc_schicht_ist"). ":<br>\n\t\t";
+ else
+ $Spalten.= Get_Text("inc_schicht_sind"). ":<br>\n\t\t";
+
+ foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
+ {
+ if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" )
+ $Spalten.= " <a href=\"./../admin/user.php?enterUID=$TempEngelID&Type=Normal\">";
+
+ if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" )
+ {
+ if( UIDgekommen( $TempEngelID ) == "1")
+ $Spalten.= "&nbsp;&nbsp;<span style=\"color: blue;\">".
+ UID2Nick( $TempEngelID ).
+ ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): "").
+ "</span><br>\n\t\t";
+ else
+ $Spalten.= "&nbsp;&nbsp;<span style=\"color: red;\">".
+ UID2Nick( $TempEngelID ).
+ ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): "").
+ "</span><br>\n\t\t";
+ }
+ else
+ $Spalten.= "&nbsp;&nbsp;". UID2Nick( $TempEngelID ).
+ ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): "").
+ "<br>\n\t\t";
+ if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" )
+ $Spalten.= " </a>";
+ }
+ $Spalten = substr( $Spalten, 0, strlen($Spalten)-7 );
+ }
+
+ // ausgabe benötigter Engel
+ ////////////////////////////
+ //in vergangenheit
+ $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '".
+ gmdate("Y-m-d H:i:s", time()+ $gmdateOffset). "')";
+ $Ergtime = mysql_query($SQLtime, $con);
+ if( mysql_num_rows( $Ergtime) > 0)
+ {
+ //wenn keien rechte definiert sind
+ if( !isset($_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ]))
+ $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] = "Y";
+
+ if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y")
+ if( $TempValue["free"] > 0 )
+ {
+ $Spalten.= "<br>\n\t\t&nbsp;&nbsp;<a href=\"./schichtplan_add.php?SID=$SID&TID=".
+ $TempValue["TID"]."\">";
+ $Spalten.= $TempValue["free"];
+ if( $TempValue["free"] != 1 )
+ $Spalten.= Get_Text("inc_schicht_weitere").
+ " ".Get_Text("inc_schicht_Engel").
+ Get_Text("inc_schicht_wird");
+ else
+ $Spalten.= Get_Text("inc_schicht_weiterer").
+ " ".Get_Text("inc_schicht_Engel").
+ Get_Text("inc_schicht_werden");
+ $Spalten.= Get_Text("inc_schicht_noch_gesucht");
+ $Spalten.= "</a>";
+ }
+ }
+ else
+ {
+ if( isset($TempValue["free"]))
+ if( $TempValue["free"] > 0 )
+ $Spalten.= "<br>\n\t\t&nbsp;&nbsp;<h3><a>Fehlen noch: ".
+ $TempValue["free"]. "</a></h3>";
+ }
+ $Spalten.= "<br>\n\t\t";
+
+ } // FOREACH
+ return $Spalten;
+} // function Ausgabe_Feld_Inhalt
+
+
+
+/*#######################################################
+# gibt die engelschischten Druckergerecht aus #
+#######################################################*/
+function Ausgabe_Feld_Inhalt_Druck($RID, $Man )
+{
+// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
+// die eingetragenden und und offenden Schichteintäge zurück
+
+
+} // function Ausgabe_Feld_Inhalt
+
+
+
+
+/*#######################################################
+# Ausgabe der Raum Spalten #
+#######################################################*/
+function CreateRoomShifts( $raum )
+{
+ global $Spalten, $ausdatum, $con, $DEBUG, $GlobalZeileProStunde, $error_messages;
+
+ /////////////////////////////////////////////////////////////
+ // beginnt die erste schicht vor dem heutigen tag und geht darüber hinaus
+ /////////////////////////////////////////////////////////////
+ $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ".
+ "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND ".
+ "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;";
+ $ErgSonder = mysql_query($SQLSonder, $con);
+ if( (mysql_num_rows( $ErgSonder) > 1) )
+ {
+ if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" )
+ {
+ echo "<h1>". Get_Text("pub_schichtplan_colision"). "</h1> ";
+ echo "<a href=\"./../admin/schichtplan.php?action=change&SID=". mysql_result($ErgSonder, 0, "SID"). "\">".
+ mysql_result($ErgSonder, 0, "DateS").
+ " '". mysql_result($ErgSonder, 0, "Man")."' (RID $raum) (00-24)".
+ "</a><br>\n\t\t";
+ }
+ }
+ elseif( (mysql_num_rows( $ErgSonder) == 1) )
+ {
+ $Spalten[0].= "\t\t<td valign=\"top\" rowspan=\"". (24 * $GlobalZeileProStunde). "\">\n".
+ "\t\t\t<h3>&uarr;&uarr;&uarr;</h3>".
+ Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"),
+ mysql_result($ErgSonder, 0, "Man") ).
+ "\t\t\t<h3>&darr;&darr;&darr;</h3>".
+ "\n\t\t</td>\n";
+ return;
+ }
+
+ $ZeitZeiger = 0;
+
+ /////////////////////////////////////////////////////////////
+ // beginnt die erste schicht vor dem heutigen tag?
+ /////////////////////////////////////////////////////////////
+ $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ".
+ "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND ".
+ "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;";
+ $ErgSonder = mysql_query($SQLSonder, $con);
+ if( (mysql_num_rows( $ErgSonder) > 1) )
+ {
+ if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" )
+ {
+ echo "<h1>". Get_Text("pub_schichtplan_colision"). "</h1> ";
+ echo "<a href=\"./../admin/schichtplan.php?action=change&SID=". mysql_result($ErgSonder, 0, "SID"). "\">".
+ mysql_result($ErgSonder, 0, "DateS").
+ " '". mysql_result($ErgSonder, 0, "Man")."' (RID $raum) (00-xx)".
+ "</a><br>\n\t\t";
+ }
+ }
+ elseif( (mysql_num_rows( $ErgSonder) == 1) )
+ {
+ $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+
+ (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60);
+ $Spalten[0].= "\t\t<td valign=\"top\" rowspan=\"". ($ZeitZeiger * $GlobalZeileProStunde). "\">\n".
+ "\t\t\t<h3>&uarr;&uarr;&uarr;</h3>".
+ Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"),
+ mysql_result($ErgSonder, 0, "Man") ).
+ "\n\t\t</td>\n";
+ }
+
+ /////////////////////////////////////////////////////////////
+ // gibt die schichten für den tag aus
+ /////////////////////////////////////////////////////////////
+ $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ".
+ "WHERE ((`RID` = '$raum') and ".
+ "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and ".
+ "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;";
+ $Erg = mysql_query($SQL, $con);
+ for( $i = 0; $i < mysql_num_rows($Erg); ++$i )
+ {
+ $ZeitPos = substr( mysql_result($Erg, $i, "DateS"), 11, 2 )+
+ (substr( mysql_result($Erg, $i, "DateS"), 14, 2 ) / 60);
+ $len = mysql_result($Erg, $i, "Len");
+
+ if( $len <= 0)
+ array_push( $error_messages, "Error in shift denition SID=". mysql_result($Erg, $i, "SID"). " Len=$len");
+
+ if( $ZeitZeiger < $ZeitPos )
+ {
+ $Spalten[$ZeitZeiger * $GlobalZeileProStunde].=
+ "\t\t<td valign=\"top\" rowspan=\"". ( ($ZeitPos - $ZeitZeiger ) * $GlobalZeileProStunde ). "\">&nbsp;</td>\n";
+
+ $ZeitZeiger += $ZeitPos - $ZeitZeiger;
+ }
+ if($ZeitZeiger == $ZeitPos )
+ {
+ //sonderfall wenn die schicht über dei 24 stunden hinaus geht
+ // (eintrag abkürzen, pfeiel ausgeben)
+ $Spalten[$ZeitZeiger * $GlobalZeileProStunde].=
+ "\t\t<td valign=\"top\" rowspan=\"".
+ ( ( ($len+$ZeitZeiger)? $len : 24-$len+$ZeitZeiger) * $GlobalZeileProStunde).
+ "\">\n".
+ "\t\t\t".
+ Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"),
+ mysql_result($Erg, $i, "Man") ).
+ (( ($ZeitZeiger+$len) > 24)? "\t\t\t<h3>&darr;&darr;&darr;</h3>" : "").
+ "\n\t\t</td>\n";
+ $ZeitZeiger += $len;
+ }
+ else
+ {
+ echo Get_Text("pub_schichtplan_colision"). " ".
+ mysql_result($Erg, $i, "DateS").
+ " '". mysql_result($Erg, $i, "Man"). "' ".
+ " (". mysql_result($Erg, $i, "SID"). " R$raum) (xx-xx)<br><br>";
+ }
+ }
+ if( $ZeitZeiger < 24 )
+ $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].=
+ "\t\t<td valign=\"top\" rowspan=\"".
+ ((24 - $ZeitZeiger) * $GlobalZeileProStunde ).
+ "\">&nbsp;</td>\n";
+} // function CreateRoomShifts
+
+
+/*#######################################################
+# Ausgabe der freien schichten #
+#######################################################*/
+function showEmptyShifts( )
+{
+ global $con, $DEBUG, $RoomID, $gmdateOffset;
+
+ echo "<table border=\"1\">\n";
+ echo "<tr>\n";
+ echo "\t<th>". Get_Text("inc_schicht_date"). "</th>\n";
+ echo "\t<th>". Get_Text("inc_schicht_time"). "</th>\n";
+ echo "\t<th>". Get_Text("inc_schicht_room"). "</th>\n";
+ echo "\t<th>". Get_Text("inc_schicht_commend"). "</th>\n";
+ echo "</tr>\n";
+
+ $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ".
+ "WHERE (`Shifts`.`DateS`>='". gmdate("Y-m-d H:i:s", time()+$gmdateOffset). "') ".
+ "ORDER BY `DateS`, `RID`;";
+ $Erg = mysql_query($sql, $con);
+
+ $angezeigt = 0;
+ for ($i=0; ($i<mysql_num_rows($Erg)) && ($angezeigt< 15); $i++)
+ if( isset($RoomID[mysql_result( $Erg, $i, "RID")]))
+ if( $RoomID[mysql_result( $Erg, $i, "RID")]!="" )
+ {
+ $Sql2 = "SELECT `UID` FROM `ShiftEntry` ".
+ "WHERE `SID`=". mysql_result( $Erg, $i, "SID"). " AND ".
+ "`UID`='0';";
+ $Erg2 = mysql_query($Sql2, $con);
+
+ if( mysql_num_rows($Erg2)>0)
+ {
+ $angezeigt++;
+ echo "<tr>\n";
+ echo "\t<td>". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "</td>\n";
+ echo "\t<td>". substr(mysql_result( $Erg, $i, "DateS"), 11). "</td>\n";
+ echo "\t<td>". $RoomID[mysql_result( $Erg, $i, "RID")]. "</td>\n";
+ echo "\t<td>".
+ ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")).
+ "</td>\n";
+ echo "</tr>\n";
+ }
+ }
+
+ echo "</table>\n";
+
+} //function showEmptyShifts
+
+
+/*#######################################################
+# Gibt die anzahl der Schichten im Raum zurück #
+#######################################################*/
+function SummRoomShifts( $raum )
+{
+ global $ausdatum, $con, $DEBUG, $GlobalZeileProStunde;
+
+ $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ".
+ "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND ".
+ "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;";
+
+ $ErgSonder = mysql_query($SQLSonder, $con);
+
+ return mysql_num_rows($ErgSonder);
+}
+
+?>
diff --git a/includes/funktion_schichtplan_Tage.php b/includes/funktion_schichtplan_Tage.php
new file mode 100755
index 00000000..5ac92e7e
--- /dev/null
+++ b/includes/funktion_schichtplan_Tage.php
@@ -0,0 +1,87 @@
+<?PHP
+
+if( !function_exists("DatumUm1TagErhoehen"))
+{
+ function DatumUm1TagErhoehen( $Datum)
+ {
+ $Jahr = substr( $Datum, 0, 4);
+ $Monat = substr( $Datum, 5, 2);
+ $Tag = substr( $Datum, 8, 2);
+
+ $Tag++;
+
+ switch( $Monat)
+ {
+ case 1: $Mmax=31; break;
+ case 2: $Mmax=28; break;
+ case 3: $Mmax=31; break;
+ case 4: $Mmax=30; break;
+ case 5: $Mmax=31; break;
+ case 6: $Mmax=30; break;
+ case 7: $Mmax=31; break;
+ case 8: $Mmax=31; break;
+ case 9: $Mmax=30; break;
+ case 10: $Mmax=31; break;
+ case 11: $Mmax=30; break;
+ case 12: $Mmax=31; break;
+ }
+
+ if( $Tag > $Mmax)
+ {
+ $Tag = 1;
+ $Monat++;
+ }
+
+ if( $Monat > 12 )
+ {
+ $Monat = 1;
+ $Jahr++;
+ }
+
+ $Tag = strlen( $Tag ) == 1 ? "0".$Tag : $Tag;
+ $Monat = strlen( $Monat ) == 1 ? "0".$Monat : $Monat;
+
+ return ("$Jahr-$Monat-$Tag");
+ } //function DatumUm1Tagerhoehen(
+}
+
+//suchen den ersten eintrags
+$SQL = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1";
+$Erg = mysql_query($SQL, $con);
+
+$Pos=0;
+
+if( mysql_num_rows($Erg)>0)
+{
+ do
+ {
+ //Startdatum einlesen und link ausgeben
+ $DateS = substr(mysql_result($Erg, 0 , 0), 0,10);
+ $VeranstaltungsTage[$Pos++] = $DateS;
+
+ //auslesen den endes und eventuelle weitere tage ausgeben
+ $SQL2 = "SELECT MAX(`DateE`) FROM `Shifts` ".
+ "WHERE ( (`DateS` like '$DateS%') AND NOT (`DateE` like '%00:00:00'))";
+ $Erg2 = mysql_query($SQL2, $con);
+ $DateE = substr(mysql_result($Erg2, 0 , 0), 0,10);
+
+ if( strlen($DateE) == 0)
+ $DateE = $DateS;
+ else
+ while( $DateS != $DateE)
+ {
+ $DateS = DatumUm1TagErhoehen( $DateS);
+ $VeranstaltungsTage[$Pos++] = $DateS;
+ }
+
+ //suchen den nästen eintrag
+ $SQL = "SELECT `DateS` FROM `Shifts` ".
+ "WHERE (`DateS` > '$DateE 23:59:59' ) ".
+ "ORDER BY `DateS` ".
+ "LIMIT 1";
+ $Erg = mysql_query($SQL, $con);
+ } while( mysql_fetch_row($Erg) > 0);
+}
+$VeranstaltungsTageMax = $Pos-1;
+
+?>
diff --git a/includes/funktion_schichtplan_aray.php b/includes/funktion_schichtplan_aray.php
new file mode 100755
index 00000000..02ea8dfd
--- /dev/null
+++ b/includes/funktion_schichtplan_aray.php
@@ -0,0 +1,38 @@
+<?php
+
+/*#######################################################
+# Aufbau von Standart Feldern #
+#######################################################*/
+
+// erstellt ein Array der Reume
+ $sql = "SELECT `RID`, `Name` FROM `Room` ".
+ "WHERE `Show`='Y'".
+ "ORDER BY `Number`, `Name`;";
+
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
+
+ $RoomID[ mysql_result($Erg, $i, "RID") ] = mysql_result($Erg, $i, "Name");
+ }
+
+// erstellt ein Aray der Engeltypen
+ $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
+ $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+
+ $EngelTypeID[ mysql_result($Erg, $i, "TID") ] =
+ mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+ $TID2Name[ mysql_result($Erg, $i, "TID") ] = mysql_result($Erg, $i, "Name");
+ }
+
+include ("./inc/funktion_schichtplan_Tage.php");
+?>
diff --git a/includes/funktion_schichtplan_beamer.php b/includes/funktion_schichtplan_beamer.php
new file mode 100755
index 00000000..280b2cb9
--- /dev/null
+++ b/includes/funktion_schichtplan_beamer.php
@@ -0,0 +1,182 @@
+<?php
+
+/*#######################################################
+# Aufbau von Standart Feldern #
+#######################################################*/
+
+// erstellt ein Array der Reume
+ $sql = "SELECT `RID`, `Name` FROM `Room` ".
+ "WHERE `Show`='Y'".
+ "ORDER BY `Number`, `Name`;";
+
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $Room[$i]["RID"] = mysql_result($Erg, $i, "RID");
+ $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
+
+ $RoomID[ mysql_result($Erg, $i, "RID") ] = mysql_result($Erg, $i, "Name");
+ }
+
+// erstellt ein Aray der Engeltypen
+ $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
+ $Erg = mysql_query($sql, $con);
+ $rowcount = mysql_num_rows($Erg);
+ for ($i=0; $i<$rowcount; $i++)
+ {
+ $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID");
+ $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+
+ $EngelTypeID[ mysql_result($Erg, $i, "TID") ] =
+ mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
+ }
+
+
+/*#######################################################
+# gibt die engelschischten aus #
+#######################################################*/
+function ausgabe_Feld_Inhalt( $SID, $Man )
+{
+// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung,
+// die eingetragenden und und offenden Schichteintäge zurück
+ global $EngelType, $EngelTypeID, $con;
+ //form Config
+ global $DEBUG;
+
+ $Out.= "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n";
+
+ $Out.= "\t\t\t<colgroup span=\"2\" align=\"left\" valign=\"center\">\n".
+ "\t\t\t\t<col width=\"45%\">\n".
+ "\t\t\t\t<col width=\"*\">\n".
+ "\t\t\t\t</colgroup>\n";
+
+ ///////////////////////////////////////////////////////////////////
+ // SQL abfrage für die benötigten schichten
+ ///////////////////////////////////////////////////////////////////
+ $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
+ $Erg = mysql_query($SQL, $con);
+
+ $Anzahl = mysql_num_rows($Erg);
+ $Feld=0;
+ for( $i = 0; $i < $Anzahl; $i++ )
+ {
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+
+ $Temp_TID = mysql_result($Erg, $i, "TID");
+
+ // wenn sich der Type ändert wird zumnästen feld geweckselt
+ if( $Temp_TID_old != $Temp_TID )
+ $Feld++;
+
+ $Temp[$Feld]["TID"] = $Temp_TID;
+ $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
+
+ // sonderfall ersten durchlauf
+ if( $i == 0 )
+ {
+ $Temp_TID_old = $Temp[$Feld]["TID"];
+ $Temp_UID_old = $Temp[$Feld]["UID"];
+ }
+
+ // ist es eine zu vergeben schicht?
+ if( $Temp[$Feld]["UID"] == 0 )
+ $Temp[$Feld]["free"]++;
+ else
+ $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
+ } // FOR
+
+
+ ///////////////////////////////////////////////////////////////////
+ // Aus gabe der Schicht
+ ///////////////////////////////////////////////////////////////////
+ if( count($Temp) )
+ foreach( $Temp as $TempEntry => $TempValue )
+ {
+ $Out.= "\t\t\t<tr>\n";
+
+ // ausgabe EngelType
+ $Out.= "\t\t\t\t<td>". $EngelTypeID[ $TempValue["TID"] ];
+
+ // ausgabe Eingetragener Engel
+ if( count($TempValue["Engel"]) > 0 )
+ {
+ if( count($TempValue["Engel"]) == 1 )
+ $Out.= " ". trim(Get_Text("inc_schicht_ist")). ":";
+ else
+ $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":";
+ $Out.= "</td>\n";
+ $Out.= "\t\t\t\t<td>";
+
+ foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
+ $Out.= UID2Nick( $TempEngelID ). ", ";
+// $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", ";
+ $Out = substr( $Out, 0, strlen($Out)-2 );
+ }
+ else
+ {
+ $Out.= ":</td>\n";
+ $Out.= "\t\t\t\t<td>\n";
+ }
+
+
+ // ausgabe benötigter Engel
+ ////////////////////////////
+ //mit sonder status
+ $SQLerlaubnis = "SELECT Name FROM `EngelType` WHERE TID = '". $TempValue["TID"]. "'";
+ $Ergerlaubnis = mysql_query( $SQLerlaubnis, $con);
+ if( mysql_num_rows( $Ergerlaubnis))
+ if( $_SESSION['CVS'][mysql_result( $Ergerlaubnis, 0, "Name")] == "Y" ||
+ $_SESSION['CVS'][mysql_result( $Ergerlaubnis, 0, "Name")] == "")
+ {
+ if ( $TempValue["free"] > 0)
+ $Out.= ", ". $TempValue["free"]. "x free ";
+ }
+ $Out.= "</td>\n";
+ $Out.= "\t\t\t</tr>\n";
+
+ } // FOREACH
+
+ $Out.= "\t\t\t</table>\n\t";
+
+ return $Out;
+} // function Ausgabe_Feld_Inhalt
+
+
+
+/*#######################################################
+# gibt die engelschischten für einen Ruam aus #
+#######################################################*/
+function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege )
+{
+ global $con;
+
+ $SQL = "SELECT `SID`, `Len`, `Man` FROM `Shifts` ".
+ "WHERE ( (`RID` = '$RID') AND ".
+ "((`DateE` like '". gmdate("Y-m-d H", $Time+3600). "%') OR ".
+ " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;";
+
+ $ErgRoom = mysql_query($SQL, $con);
+ $Out= "\t<td>";
+ if( mysql_num_rows( $ErgRoom)>0 )
+ for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ )
+ {
+ $AnzahlEintraege++;
+ $Out.= ausgabe_Feld_Inhalt( mysql_result( $ErgRoom, $i-1, "SID"),
+ mysql_result( $ErgRoom, $i-1, "Man"));
+ if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) )
+ $Out.= "<br>";
+// $Out.= "<hr width=\"95%\" align=\"center\">\n\t\t\t\t";
+
+ }
+ else
+ $Out.= "&nbsp;";
+
+ $Out.= "</td>\n";
+
+ return $Out;
+}
+
+?>
diff --git a/includes/funktion_user.php b/includes/funktion_user.php
new file mode 100755
index 00000000..c99e54fe
--- /dev/null
+++ b/includes/funktion_user.php
@@ -0,0 +1,119 @@
+<?php
+
+function UID2Nick($UID)
+{
+ global $con;
+
+ $SQL = "SELECT Nick FROM `User` WHERE UID='$UID'";
+ $Erg = mysql_query($SQL, $con);
+
+ //echo $UID."#";
+ if( mysql_num_rows($Erg))
+ return mysql_result($Erg, 0);
+ else
+ {
+ if( $UID == -1)
+ return "logout User";
+ else
+ return "UserID $UID not found";
+ }
+}
+
+
+function TID2Type($TID)
+{
+ global $con;
+
+ $SQL = "SELECT Name FROM `EngelType` WHERE TID='$TID'";
+ $Erg = mysql_query($SQL, $con);
+
+ return mysql_result($Erg, 0);
+}
+
+
+function ReplaceSmilies($eckig) {
+
+ $neueckig = $eckig;
+ $neueckig = str_replace(";o))","<img src=\"./inc/smiles/icon_redface.gif\">",$neueckig);
+ $neueckig = str_replace(":-))","<img src=\"./inc/smiles/icon_redface.gif\">",$neueckig);
+ $neueckig = str_replace(";o)","<img src=\"./inc/smiles/icon_wind.gif\">",$neueckig);
+ $neueckig = str_replace(":)","<img src=\"./inc/smiles/icon_smile.gif\">",$neueckig);
+ $neueckig = str_replace(":-)","<img src=\"./inc/smiles/icon_smile.gif\">",$neueckig);
+ $neueckig = str_replace(":(","<img src=\"./inc/smiles/icon_sad.gif\">",$neueckig);
+ $neueckig = str_replace(":-(","<img src=\"./inc/smiles/icon_sad.gif\">",$neueckig);
+ $neueckig = str_replace(":o(","<img src=\"./inc/smiles/icon_sad.gif\">",$neueckig);
+ $neueckig = str_replace(":o)","<img src=\"./inc/smiles/icon_lol.gif\">",$neueckig);
+ $neueckig = str_replace(";o(","<img src=\"./inc/smiles/icon_cry.gif\">",$neueckig);
+ $neueckig = str_replace(";(","<img src=\"./inc/smiles/icon_cry.gif\">",$neueckig);
+ $neueckig = str_replace(";-(","<img src=\"./inc/smiles/icon_cry.gif\">",$neueckig);
+ $neueckig = str_replace("8)","<img src=\"./inc/smiles/icon_rolleyes.gif\">",$neueckig);
+ $neueckig = str_replace("8o)","<img src=\"./inc/smiles/icon_rolleyes.gif\">",$neueckig);
+ $neueckig = str_replace(":P","<img src=\"./inc/smiles/icon_evil.gif\">",$neueckig);
+ $neueckig = str_replace(":-P","<img src=\"./inc/smiles/icon_evil.gif\">",$neueckig);
+ $neueckig = str_replace(":oP","<img src=\"./inc/smiles/icon_evil.gif\">",$neueckig);
+ $neueckig = str_replace(";P","<img src=\"./inc/smiles/icon_mad.gif\">",$neueckig);
+ $neueckig = str_replace(";oP","<img src=\"./inc/smiles/icon_mad.gif\">",$neueckig);
+ $neueckig = str_replace("?)","<img src=\"./inc/smiles/icon_question.gif\">",$neueckig);
+ return $neueckig;
+}
+
+
+function GetPicturShow($UID)
+{
+ global $con;
+
+ $SQL= "SELECT `show` FROM `UserPicture` WHERE `UID`='$UID'";
+ $res = mysql_query( $SQL, $con);
+ if( mysql_num_rows($res) == 1)
+ return mysql_result( $res, 0, 0);
+ else
+ return "";
+}
+
+
+/* Parameter:
+ <UserID>
+ [<Höhe des Bildes (wenn die höhe kleiner 1 ist wird die höhe nicht begrenzt)>] */
+function displayPictur($UID, $height="30")
+{
+ if( $height > 0)
+ return( "<img src=\"./inc/ShowUserPicture.php?UID=$UID\" height=\"$height\" alt=\"picture of USER$UID\" class=\"photo\">");
+ else
+ return( "<img src=\"./inc/ShowUserPicture.php?UID=$UID\" alt=\"picture of USER$UID\">");
+}
+
+
+/* Parameter:
+ <UserID>
+ [<Höhe des Bildes (wenn die höhe kleiner 1 ist wird die höhe nicht begrenzt)>] */
+function displayavatar( $UID, $height="30")
+{
+ global $con;
+
+ if( GetPicturShow($UID) == 'Y')
+ return "&nbsp;". displayPictur( $UID, $height);
+
+ // show avator
+ $asql = "select * from User where UID = $UID";
+ $aerg = mysql_query ($asql, $con);
+ if( mysql_num_rows($aerg) )
+ if( mysql_result($aerg, 0, "Avatar") > 0)
+ return ("&nbsp;<img src=\"./inc/avatar/avatar". mysql_result($aerg, 0, "Avatar"). ".gif\">");
+
+}
+
+function UIDgekommen($UID)
+{
+ global $con;
+
+ $SQL = "SELECT `Gekommen` FROM `User` WHERE UID='$UID'";
+ $Erg = mysql_query($SQL, $con);
+
+ //echo $UID."#";
+ if( mysql_num_rows($Erg))
+ return mysql_result($Erg, 0);
+ else
+ return "0";
+}
+
+?>
diff --git a/includes/funktion_xml.php b/includes/funktion_xml.php
new file mode 100755
index 00000000..12dbc254
--- /dev/null
+++ b/includes/funktion_xml.php
@@ -0,0 +1,160 @@
+<?PHP
+
+
+class element
+{
+ var $name = '';
+ var $attributes = array();
+ var $data = '';
+ var $depth = 0;
+ var $sub = array();
+}
+
+$XMLDEBUG = 0;
+$depth = 0;
+$XMLmain = new element;
+$XMLpos = array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+//$XMLpos = array( 0, 0, 0, 0, 0, 0);
+
+function convertValues( $Data)
+{
+ global $XMLDEBUG;
+ if( $XMLDEBUG)
+ {
+ $Data = htmlspecialchars($Data);
+ $Data = mysql_escape_string($Data);
+ $Data = htmlentities($Data);
+ }
+ $Data = utf8_decode($Data);
+ return $Data;
+}
+
+
+function dataXMLmain( $Data, &$Objekt, $Tiefe )
+{
+ global $XMLmain, $XMLpos, $depth, $XMLDEBUG;
+
+ if( $XMLDEBUG)
+ echo "?$Tiefe$depth";
+ if( ($depth-1)==$Tiefe)
+ {
+// $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= convertValues($Data);
+ $Objekt->sub[ $XMLpos[$Tiefe] ]->data .= htmlentities( convertValues($Data), ENT_QUOTES);
+
+ if( $XMLDEBUG)
+ echo "???". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. "|$Data|$Tiefe???<br>";
+ }
+ else
+ dataXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1);
+}
+
+function startXMLmain( $Data, &$Objekt, $Tiefe )
+{
+ global $XMLpos, $depth, $XMLDEBUG;
+
+ if( $XMLDEBUG)
+ if($Tiefe==1)
+ { print_r(array_values ($XMLpos)); echo "--".$Data->name;
+ echo " #$Tiefe/$depth#";
+ }
+
+ if( $depth==$Tiefe)
+ {
+ $Objekt->sub[ $XMLpos[$Tiefe] ] = $Data;
+ if( $XMLDEBUG)
+ echo "|". $XMLpos[$Tiefe]."|". $Objekt->sub[ $XMLpos[$Tiefe] ]->name. " ". $Data->name." save|". "#-#<br>";
+ }
+ else
+ startXMLmain( $Data, $Objekt->sub[ $XMLpos[$Tiefe] ], $Tiefe+1);
+}
+
+function start_element_handler($parser, $name, $attribs)
+{
+ global $depth, $XMLmain, $XMLpos;
+
+ $Data = new element;
+ $Data->name = $name;
+ while(list($key, $value) = each($attribs))
+ $Data->attributes[$key] = convertValues($value);
+ $Data->depth = $depth;
+ $XMLpos[$depth]++;
+
+ if( $depth==0)
+ $XMLmain= $Data;
+ else
+ startXMLmain( $Data, $XMLmain, 1);
+
+ $depth++;
+}
+
+function end_element_handler($parser, $name)
+{
+ global $depth, $XMLpos;
+ $XMLpos[$depth]=0;
+ $depth--;
+}
+
+function character_data_handler($parser, $data)
+{
+ global $XMLmain;
+ if( strlen(trim($data)) )
+ dataXMLmain( $data, $XMLmain, 1);
+}
+
+/*#######################################################################################*/
+function readXMLfile( $file )
+{
+ global $XMLDEBUG;
+
+ //$xml_parser = xml_parser_create_ns();
+ $xml_parser = xml_parser_create("UTF-8");
+ xml_set_element_handler($xml_parser, "start_element_handler", "end_element_handler");
+ xml_set_character_data_handler($xml_parser, "character_data_handler");
+
+ if (file_exists($file))
+ {
+ if (!($fp = fopen($file, "r")))
+ {
+ echo(" <h1>could not open XML file \"$file\"</h1>");
+ return -1;
+ }
+ }
+ else
+ {
+ echo(" <h1>XML file \"$file\" not exist</h1>");
+ return -1;
+ }
+
+ if( $XMLDEBUG) echo "<pre>";
+ while ($data = fread($fp, 4096))
+ {
+ if (!xml_parse($xml_parser, $data, feof($fp)))
+ {
+ die(sprintf("XML error: %s at line %d",
+ xml_error_string(xml_get_error_code($xml_parser)),
+ xml_get_current_line_number($xml_parser)));
+ }
+ }
+ if( $XMLDEBUG) echo "</pre>";
+ xml_parser_free($xml_parser);
+ return 0;
+}
+
+/*#######################################################################################*/
+function getXMLsubPease( $Sourse, $Name )
+{
+ while(list($key, $value) = each($Sourse->sub))
+ if( $value->name == $Name)
+ return $value;
+
+ echo "<h1>Fehler: getXMLsubPease( $Sourse, $Name ) not found</h1>";
+// die;
+}
+
+/*#######################################################################################*/
+function getXMLsubData( $Sourse, $Name )
+{
+ $XML = getXMLsubPease( $Sourse, $Name);
+ return $XML->data;
+}
+?>
diff --git a/includes/funktion_xml_room.php b/includes/funktion_xml_room.php
new file mode 100755
index 00000000..a8f626d1
--- /dev/null
+++ b/includes/funktion_xml_room.php
@@ -0,0 +1,69 @@
+<?PHP
+
+
+/*##############################################################################################
+ R o o m
+ ##############################################################################################*/
+echo "\n\n<br>\n<h1>Rooms:</h1>\n";
+
+function saveRoomData()
+{
+ global $con;
+ if( isset($_GET["NameXML"]))
+ {
+ $SQL= "INSERT INTO `Room` ( `Name`, `FromPentabarf` ) ".
+ "VALUES ('". mysql_escape_string($_GET["NameXML"]). "', 'Y');";
+ $Erg = mysql_query($SQL, $con);
+ if( $Erg )
+ echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war erfogreich<br>";
+ else
+ echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war <u>nicht</u> erfogreich.(".
+ mysql_error($con). ")<br>[$SQL]<br>";
+ }
+ else
+ echo "Fehler in den Parametern!<br>";
+} /*function saveRoomData*/
+
+if( isset($_GET["RoomUpdate"]))
+ saveRoomData();
+
+//INIT Status counter
+$DS_KO = 0;
+
+//Ausgabe
+echo "<table border=\"0\">\n";
+echo "<tr><th>Name</th><th>state</th></tr>\n";
+if( $EnableSchudle)
+foreach($XMLmain->sub as $EventKey => $Event)
+{
+ if( $Event->name == "VEVENT")
+ {
+ $NameXML = getXMLsubData( $Event, "LOCATION");
+ if( !isset( $RoomName[$NameXML]))
+ {
+ $RoomName[$NameXML] = "";
+
+ if( isset($_GET["UpdateALL"]))
+ {
+ $_GET["NameXML"] = $NameXML;
+ saveRoomData();
+ CreateRoomArrays();
+ }
+ else
+ {
+ echo "<form action=\"dbUpdateFromXLS.php\">\n";
+ echo "\t<tr>\n";
+ echo "\t<td><input name=\"NameXML\" type=\"text\" value=\"$NameXML\" readonly></td>\n";
+ echo "\t<td><input type=\"submit\" name=\"RoomUpdate\" value=\"update\"></td>\n";
+ $DS_KO++;
+ echo "\t</tr>\n";
+ echo "</form>\n";
+ echo "<br>";
+ }
+ }
+ }
+}
+echo "<tr><td colspan=\"6\">status: $DS_KO nicht vorhanden.</td></tr>\n";
+echo "</table>\n";
+
+?>
diff --git a/includes/funktion_xml_schudle.php b/includes/funktion_xml_schudle.php
new file mode 100755
index 00000000..7e40f260
--- /dev/null
+++ b/includes/funktion_xml_schudle.php
@@ -0,0 +1,246 @@
+<?PHP
+
+/*##############################################################################################
+ S c h e d u l e
+ ##############################################################################################*/
+echo "\n\n<h1>Schudle:</h1>\n";
+
+
+function SaveSchedule()
+{
+ global $RoomID, $RoomName;
+ global $con;
+
+ if( isset($_GET["PSIDXML"]) &&
+ isset($_GET["DateXML"]) &&
+ isset($_GET["RIDXML"]) &&
+ isset($_GET["LenXML"]) &&
+ isset($_GET["ManXML"]) &&
+ isset($_GET["URLXML"]) )
+ {
+ //erzeuge von `DateE`
+ $TimeStart = substr( $_GET["DateXML"], 11, 2) + (substr($_GET["DateXML"], 14, 2)/60);
+ $TimeEnd = ($_GET["LenXML"] + $TimeStart) * 60;
+ $TimeM = $TimeEnd % 60;
+ $TimeH = ($TimeEnd - $TimeM)/60;
+ if( $TimeH>=24 )
+ {
+ $TimeH -= 24;
+ $DateEnd = substr($_GET["DateXML"], 0, 8).
+ (substr($_GET["DateXML"], 8, 2)+1). " ";
+ }
+ else
+ $DateEnd = substr($_GET["DateXML"], 0, 11);
+ $DateEnd .= "$TimeH:$TimeM:00";
+
+ //Namen ermitteln
+ $_GET["RIDXML"] = $RoomName[$_GET["RIDXML"]];
+
+ //Update OR insert ?
+ $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
+ $Erg1 = mysql_query($SQL1, $con);
+
+ if( mysql_num_rows($Erg1)==0)
+ $SQL= "INSERT INTO `Shifts` (`PSID`, `DateS`, `DateE`, `Len`, `RID`, `Man`, `URL`) ".
+ "VALUES ('". $_GET["PSIDXML"]. "', ".
+ "'". $_GET["DateXML"]. "', ".
+ "'". $DateEnd. "', ".
+ "'". $_GET["LenXML"]. "', ".
+ "'". $_GET["RIDXML"]. "', ".
+ "'". mysql_escape_string($_GET["ManXML"]). "', ".
+ "'". $_GET["URLXML"]. "'".
+ ");";
+ else
+ $SQL= "UPDATE `Shifts` SET ".
+ "`DateS` = '". $_GET["DateXML"]. "', ".
+ "`DateE` = '". $DateEnd. "', ".
+ "`Len` = '". $_GET["LenXML"]. "', ".
+ "`RID` = '". $_GET["RIDXML"]. "', ".
+ "`Man` = '". mysql_escape_string($_GET["ManXML"]). "', ".
+ "`URL`= '". $_GET["URLXML"]. "' ".
+ "WHERE `PSID` = '". $_GET["PSIDXML"]. "' LIMIT 1;";
+ $Erg = mysql_query($SQL, $con);
+ if( $Erg )
+ {
+ echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "', war erfogreich<br>\n";
+ if( mysql_num_rows($Erg1)==0)
+ {
+ echo "-->Create Shifts:<br>\n";
+
+ //SID auslesen
+ $SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
+ $Erg1 = mysql_query($SQL1, $con);
+
+ // erstellt ein Array der Reume
+ $sql2 = "SELECT * FROM `Room` ".
+ "WHERE `RID`='".$_GET["RIDXML"]. "' ".
+ "ORDER BY `Number`, `Name`;";
+ $Erg2 = mysql_query( $sql2, $con);
+ for( $j=0; $j<mysql_num_fields( $Erg2); $j++)
+ if( substr( mysql_field_name($Erg2, $j), 0, 12)=="DEFAULT_EID_" &&
+ mysql_result($Erg2, 0, $j) > 0 )
+ {
+ echo "---->Create engeltype: ". substr( mysql_field_name($Erg2, $j), 12).
+ " ". mysql_result($Erg2, 0, $j). "x<br>\n";
+ for( $i=0; $i < mysql_result($Erg2, 0, $j); $i++ )
+ {
+ $SQL3 = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (".
+ "'". mysql_result($Erg1, 0, 0). "', ".
+ "'". substr( mysql_field_name($Erg2, $j), 12). "');";
+
+ $Erg3 = mysql_query($SQL3, $con);
+ if ($Erg3 == 1)
+ echo "------>pass<br>\n";
+ else
+ echo "------>fail <u>".
+ mysql_error($con).
+ "</u>($SQL3)<br>\n";
+ }
+
+ }
+ echo "<br>\n";
+ }
+ }
+ else
+ echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "', war <u>nicht</u> erfogreich.(".
+ mysql_error($con). ")<br>[$SQL]<br>\n";
+ }
+ else
+ echo "Fehler in den Parametern!<br>";
+} /*SaveSchedule*/
+
+if( isset($_GET["ScheduleUpdate"]))
+ SaveSchedule();
+
+//INIT Status counter
+$DS_OK = 0;
+$DS_KO = 0;
+$Where = "";
+
+//ausgabe
+echo "<table border=\"0\">\n";
+echo "<tr><th>PSID</th><th>Date</th>".
+ "<th>Room</th><th>Len</th><th>Name</th><th>state</th></tr>\n";
+echo "<tr align=\"center\"><td>XML - DB</td><td>XML - DB</td>".
+ "<td>XML - DB</td><td>XML - DB</td><td>XML - DB</td><td></td></tr>\n";
+
+if( $EnableSchudle)
+foreach($XMLmain->sub as $EventKey => $Event)
+{
+ if( $Event->name == "VEVENT")
+ {
+ echo "<form action=\"dbUpdateFromXLS.php\">\n";
+ echo "\t<tr>\n";
+
+ $PSIDXML = getXMLsubData( $Event, "UID");
+ $DateXML =
+ substr( getXMLsubData( $Event, "DTSTART"), 0, 4). "-".
+ substr( getXMLsubData( $Event, "DTSTART"), 4, 2). "-".
+ substr( getXMLsubData( $Event, "DTSTART"), 6, 2). " ".
+ substr( getXMLsubData( $Event, "DTSTART"), 9, 2). ":".
+ substr( getXMLsubData( $Event, "DTSTART"), 11,2). ":00";
+ $LenXML = substr( getXMLsubData( $Event, "DURATION"), 0, 2) + ( substr( getXMLsubData( $Event, "DURATION"), 3, 2)/60);
+ $RIDXML = getXMLsubData( $Event, "LOCATION");
+ $ManXML = getXMLsubData( $Event, "SUMMARY");
+ $URLXML = getXMLsubData( $Event, "URL");
+
+ if( isset($_GET["UpdateALL"]))
+ {
+ $_GET["PSIDXML"] = $PSIDXML;
+ $_GET["DateXML"] = $DateXML;
+ $_GET["LenXML"] = $LenXML;
+ $_GET["RIDXML"] = $RIDXML;
+ $_GET["ManXML"] = $ManXML;
+ $_GET["URLXML"] = $URLXML;
+ SaveSchedule();
+ }
+
+ $SQL = "SELECT * FROM `Shifts` WHERE `PSID`='$PSIDXML'";
+ $Erg = mysql_query($SQL, $con);
+ if(mysql_num_rows($Erg)>0)
+ {
+ $SIDDB = mysql_result($Erg, 0, "SID");
+ $PSIDDB = mysql_result($Erg, 0, "PSID");
+ $TimeDB = mysql_result($Erg, 0, "DateS");
+ $LenDB = mysql_result($Erg, 0, "Len");
+ if( isset($RoomID[mysql_result($Erg, 0, "RID")]))
+ $RIDDB = $RoomID[mysql_result($Erg, 0, "RID")];
+ else
+ $RIDDB = "RID". mysql_result($Erg, 0, "RID");
+
+ $ManDB = mysql_result($Erg, 0, "Man");
+ $URLDB = mysql_result($Erg, 0, "URL");
+ }
+ else
+ $SIDDB = $PSIDDB = $TimeDB = $LenDB = $RIDDB = $ManDB = $URLDB = "";
+
+ echo "\t<td><input name=\"PSIDXML\" type=\"text\" value=\"$PSIDXML\" size=\"2\" eadonly></td>\n";
+ echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"$DateXML\" size=\"17\" readonly>\n\t\t".
+ "<input name=\"DateDB\" type=\"text\" value=\"$TimeDB\" size=\"17\" readonly></td>\n";
+ echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"$RIDXML\" size=\"15\" readonly>\n\t\t".
+ "<input name=\"RIDDB\" type=\"text\" value=\"$RIDDB\" size=\"15\" readonly></td>\n";
+ echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"$LenXML\" size=\"1\"readonly>\n\t\t".
+ "<input name=\"LenDB\" type=\"text\" value=\"$LenDB\" size=\"1\"readonly></td>\n";
+ echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"$ManXML\" size=\"40\"readonly>\n\t\t".
+ "<input name=\"ManDB\" type=\"text\" value=\"$ManDB\" size=\"40\"readonly></td>\n";
+ echo "\t<td><input name=\"URLXML\" type=\"hidden\" value=\"$URLXML\"></td>\n";
+ echo "\t<td><input name=\"URLDB\" type=\"hidden\" value=\"$URLDB\"></td>\n";
+ if( !( $PSIDXML==$PSIDDB &&
+ $DateXML==$TimeDB &&
+ $RIDXML==$RIDDB &&
+ $LenXML==$LenDB &&
+ $ManXML==$ManDB &&
+ $URLXML==$URLDB) )
+ {
+ echo "\t<td><input type=\"submit\" name=\"ScheduleUpdate\" value=\"update\"></td>\n";
+ $DS_KO++;
+ }
+ else
+ {
+ echo "\t<td><a href=\"./schichtplan.php?action=change&SID=$SIDDB\">edit</a></td>\n";
+ $DS_OK++;
+ }
+ echo "\t</tr>\n";
+ echo "</form>\n";
+ $Where.= " OR `PSID`='$PSIDXML'";
+ }
+}
+echo "<tr><td colspan=\"6\">status: $DS_KO/$DS_OK nicht Aktuel.</td></tr>\n";
+
+
+//Anzeige von nicht im XML File vorkommende entraege
+if( $Where =="")
+ $SQL2 = "SELECT * FROM `Shifts` WHERE NOT `PSID`='';";
+else
+ $SQL2 = "SELECT * FROM `Shifts` WHERE NOT (".substr( $Where, 4). ") AND NOT PSID = '';";
+
+$Erg2 = mysql_query($SQL2, $con);
+echo mysql_error($con);
+if(mysql_num_rows($Erg2)>0 && $EnableSchudleDB )
+ for( $i=0; $i<mysql_num_rows( $Erg2); $i++)
+ {
+ echo "\t<tr>\n";
+ $SID = mysql_result($Erg2, $i, "SID");
+ $Time = mysql_result($Erg2, $i, "DateS");
+ $Len = mysql_result($Erg2, $i, "Len");
+ if( isset($RoomID[ mysql_result($Erg2, $i, "RID")]))
+ $RID = $RoomID[ mysql_result($Erg2, $i, "RID")];
+ else
+ $RID = "RID.". mysql_result($Erg2, $i, "RID");
+ $Man = mysql_result($Erg2, $i, "Man");
+ echo "\t<td><input name=\"SIDXML\" type=\"text\" value=\"$SID\" size=\"2\" eadonly></td>\n";
+ echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"\" size=\"17\" readonly>\n\t\t".
+ "<input name=\"DateDB\" type=\"text\" value=\"$Time\" size=\"17\" readonly></td>\n";
+ echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"\" size=\"15\" readonly>\n\t\t".
+ "<input name=\"RIDDB\" type=\"text\" value=\"$RID\" size=\"15\" readonly></td>\n";
+ echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"\" size=\"1\"readonly>\n\t\t".
+ "<input name=\"LenDB\" type=\"text\" value=\"$Len\" size=\"1\"readonly></td>\n";
+ echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"\" size=\"40\"readonly>\n\t\t".
+ "<input name=\"ManDB\" type=\"text\" value=\"$Man\" size=\"40\"readonly></td>\n";
+ echo "\t<td><a href=\"./schichtplan.php?action=change&SID=$SID\">edit</a></td>\n";
+ echo "\t<tr>\n";
+ }
+echo "</table>";
+
+
+?>
diff --git a/includes/funktionen.php b/includes/funktionen.php
new file mode 100755
index 00000000..d841e6ec
--- /dev/null
+++ b/includes/funktionen.php
@@ -0,0 +1,26 @@
+<?php
+
+/* Schichtverplanung im Adminbereich */
+function Dsubstr($DateString,$re) {
+ if ($re==1)
+ return substr($DateString, 0, 2);
+ elseif ($re==2)
+ return substr($DateString, 3, 2);
+ else
+ return substr($DateString, 6, 4);
+}
+
+/* Schichtverplanung im Engelbereich */
+
+function engeldate($edate,$m) {
+ if ($m==t)
+ return substr($edate, 8, 2);
+ elseif ($m==m)
+ return substr($edate, 5, 2);
+ elseif ($m==u)
+ return substr($edate, 11, 5);
+ else
+ return substr($edate, 0, 4);
+}
+
+?>
diff --git a/includes/header.php b/includes/header.php
new file mode 100755
index 00000000..0e435ab0
--- /dev/null
+++ b/includes/header.php
@@ -0,0 +1,177 @@
+<?PHP
+ini_set( "session.gc_maxlifetime", "65535");
+
+include ("./inc/config.php");
+include ("./inc/error_handler.php");
+include ("./inc/config_db.php");
+include ("./inc/funktion_lang.php");
+include ("./inc/funktion_faq.php"); //für noAnswer() im menu
+include ("./inc/funktion_menu.php");
+include ("./inc/funktion_user.php");
+
+if( !isset($_SESSION))
+ session_start();
+include ("./inc/secure.php");
+
+if( !isset($_SESSION['IP']))
+ $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
+
+if (IsSet($_SESSION['UID']) and ($_SESSION['IP'] <> $_SERVER['REMOTE_ADDR']))
+{
+ session_destroy ();
+ header("Location: $url". substr($ENGEL_ROOT,1) );
+}
+
+include ("./inc/UserCVS.php");
+
+
+//UPdate LASTlogin
+if( isset($_SESSION['UID']))
+{
+ $SQLlastLogIn = "UPDATE `User` SET ".
+ "`lastLogIn` = '". gmdate("Y-m-j H:i:s", time()). "'".
+ " WHERE `UID` = '". $_SESSION['UID']. "' LIMIT 1;";
+ mysql_query ($SQLlastLogIn, $con);
+}
+
+
+echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
+?>
+<HTML>
+<HEAD>
+<?PHP
+
+// SVN versions auswertung
+exec("svnversion", $VersionArray);
+if( strlen($VersionArray[0]))
+ $Version = "(r ". $VersionArray[0]. ")";
+
+echo "<TITLE>--- $title $Version ---</TITLE>";
+?>
+<meta name="keywords" content="Engel, Himmelsverwaltung">
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<meta http-equiv="expires" content="0">
+<meta name="robots" content="index">
+<meta name="revisit-after" content="1 days">
+<meta http-equiv="content-language" content="de">
+<script type="text/javascript" src="./inc/css/grossbild.js"></script>
+<link rel=stylesheet type="text/css" href="./inc/css/style<?PHP
+ if (!IsSet($_SESSION['color']))
+ echo "1";
+ else
+ echo $_SESSION['color'];
+ ?>.css">
+<?PHP
+if (isset($reload)) {
+ if ($reload=="") $reload=3330;
+ echo "\n<meta http-equiv=\"refresh\" content=\"".$reload.
+ "; URL=./?reload=".$reload."\">\n";
+ }
+
+if (isset($Page["AutoReload"])) {
+ echo "\n<meta http-equiv=\"refresh\" content=\"". $Page["AutoReload"].
+ "; URL=". substr($url, 0, strlen($url)-1). $ENGEL_ROOT. $Page["Name"]."\">\n";
+ }
+?>
+</HEAD>
+<BODY>
+<?PHP
+
+if( isset($SystemDisableMessage))
+ if( strlen($SystemDisableMessage)>0)
+ {
+ echo $SystemDisableMessage;
+ echo "\n\n<BODY>\n</HTML>";
+ die();
+ }
+
+
+if( !isset($Page["ShowTabel"]) ) $Page["ShowTabel"]="Y";
+if( $Page["ShowTabel"]=="Y" )
+{
+//############################### ShowTable Start ##############################
+
+?>
+ <div align="center">
+ <a name="#top"><img src="./inc/himmel<?PHP if( isset($_SESSION['color']))
+ if ($_SESSION['color']==6) echo "_w"; ?>.png" alt="Unser Himmel"></a>
+ <p>
+<?PHP
+//ausgabe new message
+if( isset($_SESSION['CVS']["nonpublic/messages.php"]))
+ if( $_SESSION['CVS']["nonpublic/messages.php"] == "Y")
+ {
+ $SQL = "SELECT `Datum` FROM `Messages` WHERE `RUID`=". $_SESSION["UID"]. " AND `isRead`='N'";
+ $erg = mysql_query($SQL, $con);
+ if( mysql_num_rows( $erg ) > 0 )
+ echo "<br><a href=\"". $url. substr($ENGEL_ROOT, 1).
+ "nonpublic/messages.php\">". Get_Text("pub_messages_new1").
+ " ". mysql_num_rows( $erg ). " ".
+ Get_Text("pub_messages_new2"). "</a><br><br>";
+ }
+?>
+<table width="95%" align="center" border="0" cellpadding="7" cellspacing="0">
+ <tr>
+<?PHP
+//ausgaeb Menu
+if( !isset($_SESSION['Menu'])) $_SESSION['Menu'] = "L";
+if( $_SESSION['Menu'] =="L") include("./inc/menu.php");
+?>
+
+ <td valign="top" align="center">
+<table border="0" width="100%" align="center" class="border" cellpadding="5" cellspacing="1">
+ <tr class="contenttopic">
+ <td>
+<?PHP
+ echo "\t<a name=\"#$header\" class=\"contenttopic\">";
+ if( strlen( $header) == 0 )
+ echo "\n\t<b>". Get_Text($Page["Name"]). "</b></a>\n";
+ else
+ echo "\n\t<b>$header</b></a>\n";
+
+?>
+ </td>
+ </tr>
+ <tr class="content">
+ <td>
+<br>
+<?php
+echo "\n\n\n";
+
+if (IsSet($_SESSION['UID'])) {
+ if( isset($_SESSION['oldurl']))
+ $BACKUP_SESSION_OLDURL = $_SESSION['oldurl'];
+ if( isset($_SESSION['newurl']))
+ $_SESSION['oldurl'] = $_SESSION['newurl'];
+ $_SESSION['newurl'] = $_SERVER["REQUEST_URI"];
+}
+
+
+//############################### ShowTable Start ##############################
+} /* if (ShowTabel....*/
+
+
+function SetHeaderGo2Back ()
+{
+ global $BACKUP_SESSION_OLDURL;
+ $_SESSION['oldurl'] = $BACKUP_SESSION_OLDURL;
+}
+
+
+if ( $Page["CVS"] != "Y" )
+{
+ echo "Du besitzt kein Rechte für diesen Bereich.<br>\n";
+ If (IsSet($_SESSION['oldurl']))
+ echo "<a href=\"". $_SESSION["oldurl"]. "\">".Get_Text("back")."</a> geht's zur&uuml;ck...\n";
+ else
+ echo "<a href=\"". $url. substr($ENGEL_ROOT, 0, -1 )."\">".Get_Text("back")."</a> geht's zur&uuml;ck...\n";
+ exit ();
+}
+?>
+
+
+<!-- ende des header parts //-->
+
+
+
diff --git a/includes/himmel.png b/includes/himmel.png
new file mode 100755
index 00000000..6a2b5000
--- /dev/null
+++ b/includes/himmel.png
Binary files differ
diff --git a/includes/himmel_w.png b/includes/himmel_w.png
new file mode 100755
index 00000000..2dd648ab
--- /dev/null
+++ b/includes/himmel_w.png
Binary files differ
diff --git a/includes/login_eingabefeld.php b/includes/login_eingabefeld.php
new file mode 100755
index 00000000..afb0c90e
--- /dev/null
+++ b/includes/login_eingabefeld.php
@@ -0,0 +1,21 @@
+
+
+<form action="<?PHP
+include ("./inc/config.php");
+echo substr($url, 0, strlen($url)-1). $ENGEL_ROOT
+?>nonpublic/index.php" method="post">
+<table>
+<tr>
+ <td align="right"><?PHP echo Get_Text("index_lang_nick");?></td>
+ <td><input type="text" name="user" size="23"></td>
+</tr>
+<tr>
+ <td align="right"><?PHP echo Get_Text("index_lang_pass");?></td>
+ <td><input type="password" name="password" size="23"></td>
+</tr>
+</table>
+<br>
+<input type="submit" value="<?PHP echo Get_Text("index_lang_send");?>">
+</form>
+
+
diff --git a/includes/menu.php b/includes/menu.php
new file mode 100755
index 00000000..ea65383a
--- /dev/null
+++ b/includes/menu.php
@@ -0,0 +1,63 @@
+
+<!-- anfang des menue parts //-->
+ <td width="160" valign="top">
+<?PHP
+$MenueTableStart="
+<table align=\"center\" class=\"border\" cellpadding=\"3\" cellspacing=\"1\">
+ <tr>
+ <td width=\"160\" class=\"menu\">
+";
+$MenueTableEnd="
+ <br>
+ </td>
+ </tr>
+</table><br>
+";
+
+ShowMenu("");
+ShowMenu("nonpublic");
+ShowMenu("admin");
+
+if( !isset($submenus))
+ $submenus = 0;
+
+if ($submenus >= 1 ) {
+ $inc_name=$_SERVER['PHP_SELF'];
+ $filenamepos=strrpos($inc_name, '/');
+ $filenamepos+=1;
+ $filename = substr ($inc_name, $filenamepos );
+ $filepost = substr ($filename, 0, -4);
+ $filepre = substr ($filename, -4 );
+ $verzeichnis = substr ($inc_name, 0 , $filenamepos);
+
+ for ($index_nummer=1; $index_nummer <= $submenus; $index_nummer++) {
+?>
+<table align="center" class="border" cellpadding="3" cellspacing="1">
+ <tr>
+ <td width="160" class="menu">
+ <?php include ("./".$filepost.".".$index_nummer.$filepre); ?>
+ </td>
+ </tr>
+</table>
+
+<br>
+<?PHP
+ }
+}
+
+if( isset($_SESSION['UID']))
+{
+?>
+<table align="center" class="border" cellpadding="3" cellspacing="1">
+ <tr>
+ <td width="160" class="menu">
+ <?php include("./inc/funktion_activeUser.php"); ?>
+ </td>
+ </tr>
+</table>
+<?PHP
+}
+?>
+ </td>
+
+<!-- ende des menue parts //-->
diff --git a/includes/secure.php b/includes/secure.php
new file mode 100755
index 00000000..d6b5c512
--- /dev/null
+++ b/includes/secure.php
@@ -0,0 +1,41 @@
+<?php
+//soll dein funktion entahlten die alle übergebenen parameter überprüft
+//'`'"
+
+if( $DEBUG)
+ echo "secure.php START<br>\n";
+
+foreach ($_GET as $k => $v)
+{
+// $v = htmlspecialchars($v, ENT_QUOTES);
+// $v = mysql_escape_string($v);
+ $v = htmlentities($v, ENT_QUOTES);
+ if (preg_match('/([\'"`\'])/', $v, $match))
+ {
+ print "sorry get has illegal char '$match[1]'";
+ exit;
+ }
+ $_GET[$k] = $v;
+
+ if( $DEBUG)
+ echo "GET $k=\"$v\"<br>";
+}
+
+foreach ($_POST as $k => $v)
+{
+// $v = htmlspecialchars($v, ENT_QUOTES);
+// $v = mysql_escape_string($v);
+ $v = htmlentities($v, ENT_QUOTES);
+ if (preg_match('/([\'"`\'])/', $v, $match)) {
+ print "sorry post has illegal char '$match[1]'";
+ exit;
+ }
+ $_POST[$k] = $v;
+
+ if( $DEBUG)
+ echo "POST $k=\"$v\"<br>";
+}
+if( $DEBUG)
+ echo "secure.php END<br>\n";
+
+?>
diff --git a/includes/smiles/aerger2.gif b/includes/smiles/aerger2.gif
new file mode 100755
index 00000000..accb9774
--- /dev/null
+++ b/includes/smiles/aerger2.gif
Binary files differ
diff --git a/includes/smiles/alien.gif b/includes/smiles/alien.gif
new file mode 100755
index 00000000..1404f299
--- /dev/null
+++ b/includes/smiles/alien.gif
Binary files differ
diff --git a/includes/smiles/blush.gif b/includes/smiles/blush.gif
new file mode 100755
index 00000000..28ce436b
--- /dev/null
+++ b/includes/smiles/blush.gif
Binary files differ
diff --git a/includes/smiles/boggle.gif b/includes/smiles/boggle.gif
new file mode 100755
index 00000000..472a3c3c
--- /dev/null
+++ b/includes/smiles/boggle.gif
Binary files differ
diff --git a/includes/smiles/bounce.gif b/includes/smiles/bounce.gif
new file mode 100755
index 00000000..942318f3
--- /dev/null
+++ b/includes/smiles/bounce.gif
Binary files differ
diff --git a/includes/smiles/bun.gif b/includes/smiles/bun.gif
new file mode 100755
index 00000000..c6ee6937
--- /dev/null
+++ b/includes/smiles/bun.gif
Binary files differ
diff --git a/includes/smiles/candycane.gif b/includes/smiles/candycane.gif
new file mode 100755
index 00000000..4469a5c5
--- /dev/null
+++ b/includes/smiles/candycane.gif
Binary files differ
diff --git a/includes/smiles/cheesy.gif b/includes/smiles/cheesy.gif
new file mode 100755
index 00000000..52d35b27
--- /dev/null
+++ b/includes/smiles/cheesy.gif
Binary files differ
diff --git a/includes/smiles/dead.gif b/includes/smiles/dead.gif
new file mode 100755
index 00000000..8328c337
--- /dev/null
+++ b/includes/smiles/dead.gif
Binary files differ
diff --git a/includes/smiles/depressed.gif b/includes/smiles/depressed.gif
new file mode 100755
index 00000000..17c24c42
--- /dev/null
+++ b/includes/smiles/depressed.gif
Binary files differ
diff --git a/includes/smiles/ginger.gif b/includes/smiles/ginger.gif
new file mode 100755
index 00000000..199b085d
--- /dev/null
+++ b/includes/smiles/ginger.gif
Binary files differ
diff --git a/includes/smiles/hirsch1.gif b/includes/smiles/hirsch1.gif
new file mode 100755
index 00000000..6ef61330
--- /dev/null
+++ b/includes/smiles/hirsch1.gif
Binary files differ
diff --git a/includes/smiles/huh.gif b/includes/smiles/huh.gif
new file mode 100755
index 00000000..448c6ecc
--- /dev/null
+++ b/includes/smiles/huh.gif
Binary files differ
diff --git a/includes/smiles/icon_arrow.gif b/includes/smiles/icon_arrow.gif
new file mode 100755
index 00000000..2880055c
--- /dev/null
+++ b/includes/smiles/icon_arrow.gif
Binary files differ
diff --git a/includes/smiles/icon_biggrin.gif b/includes/smiles/icon_biggrin.gif
new file mode 100755
index 00000000..d3527723
--- /dev/null
+++ b/includes/smiles/icon_biggrin.gif
Binary files differ
diff --git a/includes/smiles/icon_confused.gif b/includes/smiles/icon_confused.gif
new file mode 100755
index 00000000..0c49e069
--- /dev/null
+++ b/includes/smiles/icon_confused.gif
Binary files differ
diff --git a/includes/smiles/icon_cool.gif b/includes/smiles/icon_cool.gif
new file mode 100755
index 00000000..cead0306
--- /dev/null
+++ b/includes/smiles/icon_cool.gif
Binary files differ
diff --git a/includes/smiles/icon_cry.gif b/includes/smiles/icon_cry.gif
new file mode 100755
index 00000000..7d54b1f9
--- /dev/null
+++ b/includes/smiles/icon_cry.gif
Binary files differ
diff --git a/includes/smiles/icon_eek.gif b/includes/smiles/icon_eek.gif
new file mode 100755
index 00000000..5d397810
--- /dev/null
+++ b/includes/smiles/icon_eek.gif
Binary files differ
diff --git a/includes/smiles/icon_evil.gif b/includes/smiles/icon_evil.gif
new file mode 100755
index 00000000..ab1aa8e1
--- /dev/null
+++ b/includes/smiles/icon_evil.gif
Binary files differ
diff --git a/includes/smiles/icon_exclaim.gif b/includes/smiles/icon_exclaim.gif
new file mode 100755
index 00000000..6e50e2ee
--- /dev/null
+++ b/includes/smiles/icon_exclaim.gif
Binary files differ
diff --git a/includes/smiles/icon_frown.gif b/includes/smiles/icon_frown.gif
new file mode 100755
index 00000000..d2ac78c0
--- /dev/null
+++ b/includes/smiles/icon_frown.gif
Binary files differ
diff --git a/includes/smiles/icon_idea.gif b/includes/smiles/icon_idea.gif
new file mode 100755
index 00000000..a40ae0d7
--- /dev/null
+++ b/includes/smiles/icon_idea.gif
Binary files differ
diff --git a/includes/smiles/icon_lol.gif b/includes/smiles/icon_lol.gif
new file mode 100755
index 00000000..374ba150
--- /dev/null
+++ b/includes/smiles/icon_lol.gif
Binary files differ
diff --git a/includes/smiles/icon_mad.gif b/includes/smiles/icon_mad.gif
new file mode 100755
index 00000000..1f6c3c2f
--- /dev/null
+++ b/includes/smiles/icon_mad.gif
Binary files differ
diff --git a/includes/smiles/icon_mrgreen.gif b/includes/smiles/icon_mrgreen.gif
new file mode 100755
index 00000000..b54cd0f9
--- /dev/null
+++ b/includes/smiles/icon_mrgreen.gif
Binary files differ
diff --git a/includes/smiles/icon_neutral.gif b/includes/smiles/icon_neutral.gif
new file mode 100755
index 00000000..4f311567
--- /dev/null
+++ b/includes/smiles/icon_neutral.gif
Binary files differ
diff --git a/includes/smiles/icon_question.gif b/includes/smiles/icon_question.gif
new file mode 100755
index 00000000..9d072265
--- /dev/null
+++ b/includes/smiles/icon_question.gif
Binary files differ
diff --git a/includes/smiles/icon_razz.gif b/includes/smiles/icon_razz.gif
new file mode 100755
index 00000000..29da2a2f
--- /dev/null
+++ b/includes/smiles/icon_razz.gif
Binary files differ
diff --git a/includes/smiles/icon_redface.gif b/includes/smiles/icon_redface.gif
new file mode 100755
index 00000000..ad762832
--- /dev/null
+++ b/includes/smiles/icon_redface.gif
Binary files differ
diff --git a/includes/smiles/icon_rolleyes.gif b/includes/smiles/icon_rolleyes.gif
new file mode 100755
index 00000000..d7f5f2f4
--- /dev/null
+++ b/includes/smiles/icon_rolleyes.gif
Binary files differ
diff --git a/includes/smiles/icon_sad.gif b/includes/smiles/icon_sad.gif
new file mode 100755
index 00000000..d2ac78c0
--- /dev/null
+++ b/includes/smiles/icon_sad.gif
Binary files differ
diff --git a/includes/smiles/icon_smile.gif b/includes/smiles/icon_smile.gif
new file mode 100755
index 00000000..7b1f6d30
--- /dev/null
+++ b/includes/smiles/icon_smile.gif
Binary files differ
diff --git a/includes/smiles/icon_surprised.gif b/includes/smiles/icon_surprised.gif
new file mode 100755
index 00000000..cb214243
--- /dev/null
+++ b/includes/smiles/icon_surprised.gif
Binary files differ
diff --git a/includes/smiles/icon_twisted.gif b/includes/smiles/icon_twisted.gif
new file mode 100755
index 00000000..502fe247
--- /dev/null
+++ b/includes/smiles/icon_twisted.gif
Binary files differ
diff --git a/includes/smiles/icon_wind.gif b/includes/smiles/icon_wind.gif
new file mode 100755
index 00000000..d1482880
--- /dev/null
+++ b/includes/smiles/icon_wind.gif
Binary files differ
diff --git a/includes/smiles/koenig1.gif b/includes/smiles/koenig1.gif
new file mode 100755
index 00000000..b3e710cb
--- /dev/null
+++ b/includes/smiles/koenig1.gif
Binary files differ
diff --git a/includes/smiles/laser1.gif b/includes/smiles/laser1.gif
new file mode 100755
index 00000000..32e2aab7
--- /dev/null
+++ b/includes/smiles/laser1.gif
Binary files differ
diff --git a/includes/smiles/love1.gif b/includes/smiles/love1.gif
new file mode 100755
index 00000000..88dd553a
--- /dev/null
+++ b/includes/smiles/love1.gif
Binary files differ
diff --git a/includes/smiles/moo.gif b/includes/smiles/moo.gif
new file mode 100755
index 00000000..e525aa86
--- /dev/null
+++ b/includes/smiles/moo.gif
Binary files differ
diff --git a/includes/smiles/nuts.gif b/includes/smiles/nuts.gif
new file mode 100755
index 00000000..12d4c5d1
--- /dev/null
+++ b/includes/smiles/nuts.gif
Binary files differ
diff --git a/includes/smiles/robin.gif b/includes/smiles/robin.gif
new file mode 100755
index 00000000..ee0f0500
--- /dev/null
+++ b/includes/smiles/robin.gif
Binary files differ
diff --git a/includes/smiles/sheep.gif b/includes/smiles/sheep.gif
new file mode 100755
index 00000000..d1691491
--- /dev/null
+++ b/includes/smiles/sheep.gif
Binary files differ
diff --git a/includes/smiles/sick.gif b/includes/smiles/sick.gif
new file mode 100755
index 00000000..488d0e8e
--- /dev/null
+++ b/includes/smiles/sick.gif
Binary files differ
diff --git a/includes/smiles/sleep.gif b/includes/smiles/sleep.gif
new file mode 100755
index 00000000..7e1a0c51
--- /dev/null
+++ b/includes/smiles/sleep.gif
Binary files differ
diff --git a/includes/smiles/soppy.gif b/includes/smiles/soppy.gif
new file mode 100755
index 00000000..6c0416b1
--- /dev/null
+++ b/includes/smiles/soppy.gif
Binary files differ
diff --git a/includes/smiles/stress.gif b/includes/smiles/stress.gif
new file mode 100755
index 00000000..133913d7
--- /dev/null
+++ b/includes/smiles/stress.gif
Binary files differ
diff --git a/includes/smiles/sweet.gif b/includes/smiles/sweet.gif
new file mode 100755
index 00000000..6c1e79a7
--- /dev/null
+++ b/includes/smiles/sweet.gif
Binary files differ
diff --git a/includes/smiles/tired.gif b/includes/smiles/tired.gif
new file mode 100755
index 00000000..d8cd4306
--- /dev/null
+++ b/includes/smiles/tired.gif
Binary files differ
diff --git a/includes/smiles/urgh.gif b/includes/smiles/urgh.gif
new file mode 100755
index 00000000..16a9bc1d
--- /dev/null
+++ b/includes/smiles/urgh.gif
Binary files differ
diff --git a/includes/smiles/winken1.gif b/includes/smiles/winken1.gif
new file mode 100755
index 00000000..98f1821b
--- /dev/null
+++ b/includes/smiles/winken1.gif
Binary files differ
diff --git a/includes/smiles/worm.gif b/includes/smiles/worm.gif
new file mode 100755
index 00000000..c0134ee8
--- /dev/null
+++ b/includes/smiles/worm.gif
Binary files differ
diff --git a/includes/smiles/worry.gif b/includes/smiles/worry.gif
new file mode 100755
index 00000000..c598b575
--- /dev/null
+++ b/includes/smiles/worry.gif
Binary files differ