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 @@ + 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 @@ +"; +// echo "Nick:". $_SESSION["Nick"]. "
"; + + foreach( $_SESSION as $k => $v) + echo "$k = $v
\n"; + + if( strlen($Page["CVS"]) == 0 ) + echo "

CVS ERROR, on page '". $Page["Name"]. "'

"; + else + echo "CVS: ". $Page["Name"]. " => '". $Page["CVS"]. "'
"; + +} + +?> diff --git a/includes/avatar/avatar1.gif b/includes/avatar/avatar1.gif new file mode 100755 index 00000000..1404f299 Binary files /dev/null and b/includes/avatar/avatar1.gif differ diff --git a/includes/avatar/avatar10.gif b/includes/avatar/avatar10.gif new file mode 100755 index 00000000..6ef61330 Binary files /dev/null and b/includes/avatar/avatar10.gif differ diff --git a/includes/avatar/avatar100.gif b/includes/avatar/avatar100.gif new file mode 100755 index 00000000..1e00f0d3 Binary files /dev/null and b/includes/avatar/avatar100.gif differ diff --git a/includes/avatar/avatar101.gif b/includes/avatar/avatar101.gif new file mode 100755 index 00000000..15a41959 Binary files /dev/null and b/includes/avatar/avatar101.gif differ diff --git a/includes/avatar/avatar102.gif b/includes/avatar/avatar102.gif new file mode 100755 index 00000000..325d9173 Binary files /dev/null and b/includes/avatar/avatar102.gif differ diff --git a/includes/avatar/avatar103.gif b/includes/avatar/avatar103.gif new file mode 100755 index 00000000..c842fcdf Binary files /dev/null and b/includes/avatar/avatar103.gif differ diff --git a/includes/avatar/avatar104.gif b/includes/avatar/avatar104.gif new file mode 100755 index 00000000..83483253 Binary files /dev/null and b/includes/avatar/avatar104.gif differ diff --git a/includes/avatar/avatar105.gif b/includes/avatar/avatar105.gif new file mode 100755 index 00000000..1cdc0d10 Binary files /dev/null and b/includes/avatar/avatar105.gif differ diff --git a/includes/avatar/avatar106.gif b/includes/avatar/avatar106.gif new file mode 100755 index 00000000..be773e15 Binary files /dev/null and b/includes/avatar/avatar106.gif differ diff --git a/includes/avatar/avatar107.gif b/includes/avatar/avatar107.gif new file mode 100755 index 00000000..b111f9c8 Binary files /dev/null and b/includes/avatar/avatar107.gif differ diff --git a/includes/avatar/avatar108.gif b/includes/avatar/avatar108.gif new file mode 100755 index 00000000..12a21a94 Binary files /dev/null and b/includes/avatar/avatar108.gif differ diff --git a/includes/avatar/avatar109.gif b/includes/avatar/avatar109.gif new file mode 100755 index 00000000..32534f83 Binary files /dev/null and b/includes/avatar/avatar109.gif differ diff --git a/includes/avatar/avatar11.gif b/includes/avatar/avatar11.gif new file mode 100755 index 00000000..199b085d Binary files /dev/null and b/includes/avatar/avatar11.gif differ diff --git a/includes/avatar/avatar110.gif b/includes/avatar/avatar110.gif new file mode 100755 index 00000000..e2c70f54 Binary files /dev/null and b/includes/avatar/avatar110.gif differ diff --git a/includes/avatar/avatar111.gif b/includes/avatar/avatar111.gif new file mode 100755 index 00000000..f197ea67 Binary files /dev/null and b/includes/avatar/avatar111.gif differ diff --git a/includes/avatar/avatar112.gif b/includes/avatar/avatar112.gif new file mode 100755 index 00000000..ff4ec284 Binary files /dev/null and b/includes/avatar/avatar112.gif differ diff --git a/includes/avatar/avatar113.gif b/includes/avatar/avatar113.gif new file mode 100755 index 00000000..1dbd37aa Binary files /dev/null and b/includes/avatar/avatar113.gif differ diff --git a/includes/avatar/avatar114.gif b/includes/avatar/avatar114.gif new file mode 100755 index 00000000..6b4b107e Binary files /dev/null and b/includes/avatar/avatar114.gif differ diff --git a/includes/avatar/avatar115.gif b/includes/avatar/avatar115.gif new file mode 100755 index 00000000..2af52d2b Binary files /dev/null and b/includes/avatar/avatar115.gif differ diff --git a/includes/avatar/avatar116.gif b/includes/avatar/avatar116.gif new file mode 100755 index 00000000..7db21919 Binary files /dev/null and b/includes/avatar/avatar116.gif differ diff --git a/includes/avatar/avatar117.gif b/includes/avatar/avatar117.gif new file mode 100755 index 00000000..5cb57d35 Binary files /dev/null and b/includes/avatar/avatar117.gif differ diff --git a/includes/avatar/avatar118.gif b/includes/avatar/avatar118.gif new file mode 100755 index 00000000..fb1e43b5 Binary files /dev/null and b/includes/avatar/avatar118.gif differ diff --git a/includes/avatar/avatar119.gif b/includes/avatar/avatar119.gif new file mode 100755 index 00000000..6a78fee5 Binary files /dev/null and b/includes/avatar/avatar119.gif differ diff --git a/includes/avatar/avatar12.gif b/includes/avatar/avatar12.gif new file mode 100755 index 00000000..c6ee6937 Binary files /dev/null and b/includes/avatar/avatar12.gif differ diff --git a/includes/avatar/avatar120.gif b/includes/avatar/avatar120.gif new file mode 100755 index 00000000..278c5b14 Binary files /dev/null and b/includes/avatar/avatar120.gif differ diff --git a/includes/avatar/avatar121.gif b/includes/avatar/avatar121.gif new file mode 100755 index 00000000..77bb5793 Binary files /dev/null and b/includes/avatar/avatar121.gif differ diff --git a/includes/avatar/avatar122.gif b/includes/avatar/avatar122.gif new file mode 100755 index 00000000..67c03bfd Binary files /dev/null and b/includes/avatar/avatar122.gif differ diff --git a/includes/avatar/avatar123.gif b/includes/avatar/avatar123.gif new file mode 100755 index 00000000..351c7ee0 Binary files /dev/null and b/includes/avatar/avatar123.gif differ diff --git a/includes/avatar/avatar124.gif b/includes/avatar/avatar124.gif new file mode 100755 index 00000000..13a090bc Binary files /dev/null and b/includes/avatar/avatar124.gif differ diff --git a/includes/avatar/avatar125.gif b/includes/avatar/avatar125.gif new file mode 100755 index 00000000..e4338b9f Binary files /dev/null and b/includes/avatar/avatar125.gif differ diff --git a/includes/avatar/avatar126.gif b/includes/avatar/avatar126.gif new file mode 100755 index 00000000..80759725 Binary files /dev/null and b/includes/avatar/avatar126.gif differ diff --git a/includes/avatar/avatar127.gif b/includes/avatar/avatar127.gif new file mode 100755 index 00000000..e3c7e056 Binary files /dev/null and b/includes/avatar/avatar127.gif differ diff --git a/includes/avatar/avatar128.gif b/includes/avatar/avatar128.gif new file mode 100755 index 00000000..fb00ebd9 Binary files /dev/null and b/includes/avatar/avatar128.gif differ diff --git a/includes/avatar/avatar129.gif b/includes/avatar/avatar129.gif new file mode 100755 index 00000000..40651db7 Binary files /dev/null and b/includes/avatar/avatar129.gif differ diff --git a/includes/avatar/avatar13.gif b/includes/avatar/avatar13.gif new file mode 100755 index 00000000..8328c337 Binary files /dev/null and b/includes/avatar/avatar13.gif differ diff --git a/includes/avatar/avatar130.gif b/includes/avatar/avatar130.gif new file mode 100755 index 00000000..45faa378 Binary files /dev/null and b/includes/avatar/avatar130.gif differ diff --git a/includes/avatar/avatar131.gif b/includes/avatar/avatar131.gif new file mode 100755 index 00000000..92cff06c Binary files /dev/null and b/includes/avatar/avatar131.gif differ diff --git a/includes/avatar/avatar132.gif b/includes/avatar/avatar132.gif new file mode 100755 index 00000000..8835d905 Binary files /dev/null and b/includes/avatar/avatar132.gif differ diff --git a/includes/avatar/avatar133.gif b/includes/avatar/avatar133.gif new file mode 100755 index 00000000..15abbcbe Binary files /dev/null and b/includes/avatar/avatar133.gif differ diff --git a/includes/avatar/avatar134.gif b/includes/avatar/avatar134.gif new file mode 100755 index 00000000..f559359f Binary files /dev/null and b/includes/avatar/avatar134.gif differ diff --git a/includes/avatar/avatar135.gif b/includes/avatar/avatar135.gif new file mode 100755 index 00000000..d9a07c47 Binary files /dev/null and b/includes/avatar/avatar135.gif differ diff --git a/includes/avatar/avatar136.gif b/includes/avatar/avatar136.gif new file mode 100755 index 00000000..e7f9f76c Binary files /dev/null and b/includes/avatar/avatar136.gif differ diff --git a/includes/avatar/avatar137.gif b/includes/avatar/avatar137.gif new file mode 100755 index 00000000..b62b374b Binary files /dev/null and b/includes/avatar/avatar137.gif differ diff --git a/includes/avatar/avatar138.gif b/includes/avatar/avatar138.gif new file mode 100755 index 00000000..49c44308 Binary files /dev/null and b/includes/avatar/avatar138.gif differ diff --git a/includes/avatar/avatar139.gif b/includes/avatar/avatar139.gif new file mode 100755 index 00000000..4281e84a Binary files /dev/null and b/includes/avatar/avatar139.gif differ diff --git a/includes/avatar/avatar14.gif b/includes/avatar/avatar14.gif new file mode 100755 index 00000000..1edaa2ca Binary files /dev/null and b/includes/avatar/avatar14.gif differ diff --git a/includes/avatar/avatar140.gif b/includes/avatar/avatar140.gif new file mode 100755 index 00000000..b058941a Binary files /dev/null and b/includes/avatar/avatar140.gif differ diff --git a/includes/avatar/avatar141.gif b/includes/avatar/avatar141.gif new file mode 100755 index 00000000..33def8f5 Binary files /dev/null and b/includes/avatar/avatar141.gif differ diff --git a/includes/avatar/avatar142.gif b/includes/avatar/avatar142.gif new file mode 100755 index 00000000..416e7c26 Binary files /dev/null and b/includes/avatar/avatar142.gif differ diff --git a/includes/avatar/avatar143.gif b/includes/avatar/avatar143.gif new file mode 100755 index 00000000..18ee70d9 Binary files /dev/null and b/includes/avatar/avatar143.gif differ diff --git a/includes/avatar/avatar144.gif b/includes/avatar/avatar144.gif new file mode 100755 index 00000000..e322ac57 Binary files /dev/null and b/includes/avatar/avatar144.gif differ diff --git a/includes/avatar/avatar145.gif b/includes/avatar/avatar145.gif new file mode 100755 index 00000000..5f047a5f Binary files /dev/null and b/includes/avatar/avatar145.gif differ diff --git a/includes/avatar/avatar146.gif b/includes/avatar/avatar146.gif new file mode 100755 index 00000000..3d2fe843 Binary files /dev/null and b/includes/avatar/avatar146.gif differ diff --git a/includes/avatar/avatar147.gif b/includes/avatar/avatar147.gif new file mode 100755 index 00000000..d1d54f74 Binary files /dev/null and b/includes/avatar/avatar147.gif differ diff --git a/includes/avatar/avatar148.gif b/includes/avatar/avatar148.gif new file mode 100755 index 00000000..0e715ed8 Binary files /dev/null and b/includes/avatar/avatar148.gif differ diff --git a/includes/avatar/avatar149.gif b/includes/avatar/avatar149.gif new file mode 100755 index 00000000..9cbe72c6 Binary files /dev/null and b/includes/avatar/avatar149.gif differ diff --git a/includes/avatar/avatar15.gif b/includes/avatar/avatar15.gif new file mode 100755 index 00000000..d197e82a Binary files /dev/null and b/includes/avatar/avatar15.gif differ diff --git a/includes/avatar/avatar150.gif b/includes/avatar/avatar150.gif new file mode 100755 index 00000000..b790d296 Binary files /dev/null and b/includes/avatar/avatar150.gif differ diff --git a/includes/avatar/avatar151.gif b/includes/avatar/avatar151.gif new file mode 100755 index 00000000..afc3b333 Binary files /dev/null and b/includes/avatar/avatar151.gif differ diff --git a/includes/avatar/avatar152.gif b/includes/avatar/avatar152.gif new file mode 100755 index 00000000..e30287d6 Binary files /dev/null and b/includes/avatar/avatar152.gif differ diff --git a/includes/avatar/avatar153.gif b/includes/avatar/avatar153.gif new file mode 100755 index 00000000..82bb1775 Binary files /dev/null and b/includes/avatar/avatar153.gif differ diff --git a/includes/avatar/avatar154.gif b/includes/avatar/avatar154.gif new file mode 100755 index 00000000..872008da Binary files /dev/null and b/includes/avatar/avatar154.gif differ diff --git a/includes/avatar/avatar155.gif b/includes/avatar/avatar155.gif new file mode 100755 index 00000000..51931858 Binary files /dev/null and b/includes/avatar/avatar155.gif differ diff --git a/includes/avatar/avatar156.gif b/includes/avatar/avatar156.gif new file mode 100755 index 00000000..8b3781ff Binary files /dev/null and b/includes/avatar/avatar156.gif differ diff --git a/includes/avatar/avatar157.gif b/includes/avatar/avatar157.gif new file mode 100755 index 00000000..7c8667cf Binary files /dev/null and b/includes/avatar/avatar157.gif differ diff --git a/includes/avatar/avatar158.gif b/includes/avatar/avatar158.gif new file mode 100755 index 00000000..ce3472cd Binary files /dev/null and b/includes/avatar/avatar158.gif differ diff --git a/includes/avatar/avatar159.gif b/includes/avatar/avatar159.gif new file mode 100755 index 00000000..c54f2b29 Binary files /dev/null and b/includes/avatar/avatar159.gif differ diff --git a/includes/avatar/avatar16.gif b/includes/avatar/avatar16.gif new file mode 100755 index 00000000..d76a15cd Binary files /dev/null and b/includes/avatar/avatar16.gif differ diff --git a/includes/avatar/avatar160.gif b/includes/avatar/avatar160.gif new file mode 100755 index 00000000..deb3507c Binary files /dev/null and b/includes/avatar/avatar160.gif differ diff --git a/includes/avatar/avatar161.gif b/includes/avatar/avatar161.gif new file mode 100755 index 00000000..f425b1f2 Binary files /dev/null and b/includes/avatar/avatar161.gif differ diff --git a/includes/avatar/avatar162.gif b/includes/avatar/avatar162.gif new file mode 100755 index 00000000..5625fe09 Binary files /dev/null and b/includes/avatar/avatar162.gif differ diff --git a/includes/avatar/avatar163.gif b/includes/avatar/avatar163.gif new file mode 100755 index 00000000..8146a09d Binary files /dev/null and b/includes/avatar/avatar163.gif differ diff --git a/includes/avatar/avatar164.gif b/includes/avatar/avatar164.gif new file mode 100755 index 00000000..4690f9cb Binary files /dev/null and b/includes/avatar/avatar164.gif differ diff --git a/includes/avatar/avatar165.gif b/includes/avatar/avatar165.gif new file mode 100755 index 00000000..efe72a35 Binary files /dev/null and b/includes/avatar/avatar165.gif differ diff --git a/includes/avatar/avatar166.gif b/includes/avatar/avatar166.gif new file mode 100755 index 00000000..a1720be3 Binary files /dev/null and b/includes/avatar/avatar166.gif differ diff --git a/includes/avatar/avatar167.gif b/includes/avatar/avatar167.gif new file mode 100755 index 00000000..04d31691 Binary files /dev/null and b/includes/avatar/avatar167.gif differ diff --git a/includes/avatar/avatar168.gif b/includes/avatar/avatar168.gif new file mode 100755 index 00000000..4d804c2a Binary files /dev/null and b/includes/avatar/avatar168.gif differ diff --git a/includes/avatar/avatar169.gif b/includes/avatar/avatar169.gif new file mode 100755 index 00000000..afe58a3f Binary files /dev/null and b/includes/avatar/avatar169.gif differ diff --git a/includes/avatar/avatar17.gif b/includes/avatar/avatar17.gif new file mode 100755 index 00000000..994836b7 Binary files /dev/null and b/includes/avatar/avatar17.gif differ diff --git a/includes/avatar/avatar170.gif b/includes/avatar/avatar170.gif new file mode 100755 index 00000000..dae4c36a Binary files /dev/null and b/includes/avatar/avatar170.gif differ diff --git a/includes/avatar/avatar171.gif b/includes/avatar/avatar171.gif new file mode 100755 index 00000000..774aa9c2 Binary files /dev/null and b/includes/avatar/avatar171.gif differ diff --git a/includes/avatar/avatar172.gif b/includes/avatar/avatar172.gif new file mode 100755 index 00000000..e6f7bc6c Binary files /dev/null and b/includes/avatar/avatar172.gif differ diff --git a/includes/avatar/avatar173.gif b/includes/avatar/avatar173.gif new file mode 100755 index 00000000..3222ac99 Binary files /dev/null and b/includes/avatar/avatar173.gif differ diff --git a/includes/avatar/avatar174.gif b/includes/avatar/avatar174.gif new file mode 100755 index 00000000..a64201ca Binary files /dev/null and b/includes/avatar/avatar174.gif differ diff --git a/includes/avatar/avatar175.gif b/includes/avatar/avatar175.gif new file mode 100755 index 00000000..c172a6eb Binary files /dev/null and b/includes/avatar/avatar175.gif differ diff --git a/includes/avatar/avatar176.gif b/includes/avatar/avatar176.gif new file mode 100755 index 00000000..bda3bae5 Binary files /dev/null and b/includes/avatar/avatar176.gif differ diff --git a/includes/avatar/avatar177.gif b/includes/avatar/avatar177.gif new file mode 100755 index 00000000..d2951985 Binary files /dev/null and b/includes/avatar/avatar177.gif differ diff --git a/includes/avatar/avatar178.gif b/includes/avatar/avatar178.gif new file mode 100755 index 00000000..400ae2eb Binary files /dev/null and b/includes/avatar/avatar178.gif differ diff --git a/includes/avatar/avatar179.gif b/includes/avatar/avatar179.gif new file mode 100755 index 00000000..cfb7a1cf Binary files /dev/null and b/includes/avatar/avatar179.gif differ diff --git a/includes/avatar/avatar18.gif b/includes/avatar/avatar18.gif new file mode 100755 index 00000000..4c1d9b57 Binary files /dev/null and b/includes/avatar/avatar18.gif differ diff --git a/includes/avatar/avatar180.gif b/includes/avatar/avatar180.gif new file mode 100755 index 00000000..5be98c79 Binary files /dev/null and b/includes/avatar/avatar180.gif differ diff --git a/includes/avatar/avatar181.gif b/includes/avatar/avatar181.gif new file mode 100755 index 00000000..44918224 Binary files /dev/null and b/includes/avatar/avatar181.gif differ diff --git a/includes/avatar/avatar182.gif b/includes/avatar/avatar182.gif new file mode 100755 index 00000000..914c3efc Binary files /dev/null and b/includes/avatar/avatar182.gif differ diff --git a/includes/avatar/avatar183.gif b/includes/avatar/avatar183.gif new file mode 100755 index 00000000..27d55f8f Binary files /dev/null and b/includes/avatar/avatar183.gif differ diff --git a/includes/avatar/avatar184.gif b/includes/avatar/avatar184.gif new file mode 100755 index 00000000..2ce57015 Binary files /dev/null and b/includes/avatar/avatar184.gif differ diff --git a/includes/avatar/avatar185.gif b/includes/avatar/avatar185.gif new file mode 100755 index 00000000..8eb60378 Binary files /dev/null and b/includes/avatar/avatar185.gif differ diff --git a/includes/avatar/avatar186.gif b/includes/avatar/avatar186.gif new file mode 100755 index 00000000..d30bc664 Binary files /dev/null and b/includes/avatar/avatar186.gif differ diff --git a/includes/avatar/avatar187.gif b/includes/avatar/avatar187.gif new file mode 100755 index 00000000..34bcc7d2 Binary files /dev/null and b/includes/avatar/avatar187.gif differ diff --git a/includes/avatar/avatar188.gif b/includes/avatar/avatar188.gif new file mode 100755 index 00000000..3056d45a Binary files /dev/null and b/includes/avatar/avatar188.gif differ diff --git a/includes/avatar/avatar189.gif b/includes/avatar/avatar189.gif new file mode 100755 index 00000000..9fb4cd83 Binary files /dev/null and b/includes/avatar/avatar189.gif differ diff --git a/includes/avatar/avatar19.gif b/includes/avatar/avatar19.gif new file mode 100755 index 00000000..40d42724 Binary files /dev/null and b/includes/avatar/avatar19.gif differ diff --git a/includes/avatar/avatar190.gif b/includes/avatar/avatar190.gif new file mode 100755 index 00000000..f8c38853 Binary files /dev/null and b/includes/avatar/avatar190.gif differ diff --git a/includes/avatar/avatar191.gif b/includes/avatar/avatar191.gif new file mode 100755 index 00000000..e6af0d88 Binary files /dev/null and b/includes/avatar/avatar191.gif differ diff --git a/includes/avatar/avatar192.gif b/includes/avatar/avatar192.gif new file mode 100755 index 00000000..123ed736 Binary files /dev/null and b/includes/avatar/avatar192.gif differ diff --git a/includes/avatar/avatar193.gif b/includes/avatar/avatar193.gif new file mode 100755 index 00000000..f82524d9 Binary files /dev/null and b/includes/avatar/avatar193.gif differ diff --git a/includes/avatar/avatar194.gif b/includes/avatar/avatar194.gif new file mode 100755 index 00000000..ae1d743b Binary files /dev/null and b/includes/avatar/avatar194.gif differ diff --git a/includes/avatar/avatar195.gif b/includes/avatar/avatar195.gif new file mode 100755 index 00000000..e22c9ba0 Binary files /dev/null and b/includes/avatar/avatar195.gif differ diff --git a/includes/avatar/avatar196.gif b/includes/avatar/avatar196.gif new file mode 100755 index 00000000..87e6293d Binary files /dev/null and b/includes/avatar/avatar196.gif differ diff --git a/includes/avatar/avatar197.gif b/includes/avatar/avatar197.gif new file mode 100755 index 00000000..88764c73 Binary files /dev/null and b/includes/avatar/avatar197.gif differ diff --git a/includes/avatar/avatar198.gif b/includes/avatar/avatar198.gif new file mode 100755 index 00000000..58a64280 Binary files /dev/null and b/includes/avatar/avatar198.gif differ diff --git a/includes/avatar/avatar199.gif b/includes/avatar/avatar199.gif new file mode 100755 index 00000000..e3861e3e Binary files /dev/null and b/includes/avatar/avatar199.gif differ diff --git a/includes/avatar/avatar2.gif b/includes/avatar/avatar2.gif new file mode 100755 index 00000000..6c1e79a7 Binary files /dev/null and b/includes/avatar/avatar2.gif differ diff --git a/includes/avatar/avatar20.gif b/includes/avatar/avatar20.gif new file mode 100755 index 00000000..7480ddd1 Binary files /dev/null and b/includes/avatar/avatar20.gif differ diff --git a/includes/avatar/avatar200.gif b/includes/avatar/avatar200.gif new file mode 100755 index 00000000..bcee18dd Binary files /dev/null and b/includes/avatar/avatar200.gif differ diff --git a/includes/avatar/avatar201.gif b/includes/avatar/avatar201.gif new file mode 100755 index 00000000..7ff54bd0 Binary files /dev/null and b/includes/avatar/avatar201.gif differ diff --git a/includes/avatar/avatar202.gif b/includes/avatar/avatar202.gif new file mode 100755 index 00000000..9b9ad5aa Binary files /dev/null and b/includes/avatar/avatar202.gif differ diff --git a/includes/avatar/avatar203.gif b/includes/avatar/avatar203.gif new file mode 100755 index 00000000..777e6ab9 Binary files /dev/null and b/includes/avatar/avatar203.gif differ diff --git a/includes/avatar/avatar204.gif b/includes/avatar/avatar204.gif new file mode 100755 index 00000000..6e16ed30 Binary files /dev/null and b/includes/avatar/avatar204.gif differ diff --git a/includes/avatar/avatar205.gif b/includes/avatar/avatar205.gif new file mode 100755 index 00000000..f780d7d8 Binary files /dev/null and b/includes/avatar/avatar205.gif differ diff --git a/includes/avatar/avatar206.gif b/includes/avatar/avatar206.gif new file mode 100755 index 00000000..6a5b3ad7 Binary files /dev/null and b/includes/avatar/avatar206.gif differ diff --git a/includes/avatar/avatar207.gif b/includes/avatar/avatar207.gif new file mode 100755 index 00000000..d956d1f9 Binary files /dev/null and b/includes/avatar/avatar207.gif differ diff --git a/includes/avatar/avatar208.gif b/includes/avatar/avatar208.gif new file mode 100755 index 00000000..571e059f Binary files /dev/null and b/includes/avatar/avatar208.gif differ diff --git a/includes/avatar/avatar209.gif b/includes/avatar/avatar209.gif new file mode 100755 index 00000000..d2976d85 Binary files /dev/null and b/includes/avatar/avatar209.gif differ diff --git a/includes/avatar/avatar21.gif b/includes/avatar/avatar21.gif new file mode 100755 index 00000000..45b1b8a3 Binary files /dev/null and b/includes/avatar/avatar21.gif differ diff --git a/includes/avatar/avatar210.gif b/includes/avatar/avatar210.gif new file mode 100755 index 00000000..2bd579b9 Binary files /dev/null and b/includes/avatar/avatar210.gif differ diff --git a/includes/avatar/avatar211.gif b/includes/avatar/avatar211.gif new file mode 100755 index 00000000..6e95b7d5 Binary files /dev/null and b/includes/avatar/avatar211.gif differ diff --git a/includes/avatar/avatar212.gif b/includes/avatar/avatar212.gif new file mode 100755 index 00000000..39e012b7 Binary files /dev/null and b/includes/avatar/avatar212.gif differ diff --git a/includes/avatar/avatar213.gif b/includes/avatar/avatar213.gif new file mode 100755 index 00000000..659fbb65 Binary files /dev/null and b/includes/avatar/avatar213.gif differ diff --git a/includes/avatar/avatar214.gif b/includes/avatar/avatar214.gif new file mode 100755 index 00000000..822d3530 Binary files /dev/null and b/includes/avatar/avatar214.gif differ diff --git a/includes/avatar/avatar215.gif b/includes/avatar/avatar215.gif new file mode 100755 index 00000000..e0909042 Binary files /dev/null and b/includes/avatar/avatar215.gif differ diff --git a/includes/avatar/avatar216.gif b/includes/avatar/avatar216.gif new file mode 100755 index 00000000..7ba52487 Binary files /dev/null and b/includes/avatar/avatar216.gif differ diff --git a/includes/avatar/avatar217.gif b/includes/avatar/avatar217.gif new file mode 100755 index 00000000..1d69bb45 Binary files /dev/null and b/includes/avatar/avatar217.gif differ diff --git a/includes/avatar/avatar218.gif b/includes/avatar/avatar218.gif new file mode 100755 index 00000000..508bff13 Binary files /dev/null and b/includes/avatar/avatar218.gif differ diff --git a/includes/avatar/avatar219.gif b/includes/avatar/avatar219.gif new file mode 100755 index 00000000..6c695dd8 Binary files /dev/null and b/includes/avatar/avatar219.gif differ diff --git a/includes/avatar/avatar22.gif b/includes/avatar/avatar22.gif new file mode 100755 index 00000000..7f7d9a26 Binary files /dev/null and b/includes/avatar/avatar22.gif differ diff --git a/includes/avatar/avatar220.gif b/includes/avatar/avatar220.gif new file mode 100755 index 00000000..76604ced Binary files /dev/null and b/includes/avatar/avatar220.gif differ diff --git a/includes/avatar/avatar221.gif b/includes/avatar/avatar221.gif new file mode 100755 index 00000000..2d5ed7db Binary files /dev/null and b/includes/avatar/avatar221.gif differ diff --git a/includes/avatar/avatar222.gif b/includes/avatar/avatar222.gif new file mode 100755 index 00000000..607887e5 Binary files /dev/null and b/includes/avatar/avatar222.gif differ diff --git a/includes/avatar/avatar223.gif b/includes/avatar/avatar223.gif new file mode 100755 index 00000000..5c7f782f Binary files /dev/null and b/includes/avatar/avatar223.gif differ diff --git a/includes/avatar/avatar224.gif b/includes/avatar/avatar224.gif new file mode 100755 index 00000000..46e7f845 Binary files /dev/null and b/includes/avatar/avatar224.gif differ diff --git a/includes/avatar/avatar225.gif b/includes/avatar/avatar225.gif new file mode 100755 index 00000000..7eb3bfcd Binary files /dev/null and b/includes/avatar/avatar225.gif differ diff --git a/includes/avatar/avatar226.gif b/includes/avatar/avatar226.gif new file mode 100755 index 00000000..a030d2f9 Binary files /dev/null and b/includes/avatar/avatar226.gif differ diff --git a/includes/avatar/avatar227.gif b/includes/avatar/avatar227.gif new file mode 100755 index 00000000..fe631b92 Binary files /dev/null and b/includes/avatar/avatar227.gif differ diff --git a/includes/avatar/avatar228.gif b/includes/avatar/avatar228.gif new file mode 100755 index 00000000..459ed140 Binary files /dev/null and b/includes/avatar/avatar228.gif differ diff --git a/includes/avatar/avatar229.gif b/includes/avatar/avatar229.gif new file mode 100755 index 00000000..35546746 Binary files /dev/null and b/includes/avatar/avatar229.gif differ diff --git a/includes/avatar/avatar23.gif b/includes/avatar/avatar23.gif new file mode 100755 index 00000000..55f84741 Binary files /dev/null and b/includes/avatar/avatar23.gif differ diff --git a/includes/avatar/avatar230.gif b/includes/avatar/avatar230.gif new file mode 100755 index 00000000..22ffccb0 Binary files /dev/null and b/includes/avatar/avatar230.gif differ diff --git a/includes/avatar/avatar231.gif b/includes/avatar/avatar231.gif new file mode 100755 index 00000000..52a82830 Binary files /dev/null and b/includes/avatar/avatar231.gif differ diff --git a/includes/avatar/avatar232.gif b/includes/avatar/avatar232.gif new file mode 100755 index 00000000..a442015b Binary files /dev/null and b/includes/avatar/avatar232.gif differ diff --git a/includes/avatar/avatar233.gif b/includes/avatar/avatar233.gif new file mode 100755 index 00000000..ad676d9c Binary files /dev/null and b/includes/avatar/avatar233.gif differ diff --git a/includes/avatar/avatar234.gif b/includes/avatar/avatar234.gif new file mode 100755 index 00000000..bf9200c2 Binary files /dev/null and b/includes/avatar/avatar234.gif differ diff --git a/includes/avatar/avatar235.gif b/includes/avatar/avatar235.gif new file mode 100755 index 00000000..80aee34d Binary files /dev/null and b/includes/avatar/avatar235.gif differ diff --git a/includes/avatar/avatar236.gif b/includes/avatar/avatar236.gif new file mode 100755 index 00000000..036c71e1 Binary files /dev/null and b/includes/avatar/avatar236.gif differ diff --git a/includes/avatar/avatar237.gif b/includes/avatar/avatar237.gif new file mode 100755 index 00000000..bf78ace7 Binary files /dev/null and b/includes/avatar/avatar237.gif differ diff --git a/includes/avatar/avatar238.gif b/includes/avatar/avatar238.gif new file mode 100755 index 00000000..276187e1 Binary files /dev/null and b/includes/avatar/avatar238.gif differ diff --git a/includes/avatar/avatar239.gif b/includes/avatar/avatar239.gif new file mode 100755 index 00000000..818b54a3 Binary files /dev/null and b/includes/avatar/avatar239.gif differ diff --git a/includes/avatar/avatar24.gif b/includes/avatar/avatar24.gif new file mode 100755 index 00000000..99226b50 Binary files /dev/null and b/includes/avatar/avatar24.gif differ diff --git a/includes/avatar/avatar240.gif b/includes/avatar/avatar240.gif new file mode 100755 index 00000000..ccfa1346 Binary files /dev/null and b/includes/avatar/avatar240.gif differ diff --git a/includes/avatar/avatar241.gif b/includes/avatar/avatar241.gif new file mode 100755 index 00000000..b2afaa82 Binary files /dev/null and b/includes/avatar/avatar241.gif differ diff --git a/includes/avatar/avatar242.gif b/includes/avatar/avatar242.gif new file mode 100755 index 00000000..dfdb3baa Binary files /dev/null and b/includes/avatar/avatar242.gif differ diff --git a/includes/avatar/avatar243.gif b/includes/avatar/avatar243.gif new file mode 100755 index 00000000..14b7e935 Binary files /dev/null and b/includes/avatar/avatar243.gif differ diff --git a/includes/avatar/avatar244.gif b/includes/avatar/avatar244.gif new file mode 100755 index 00000000..bfc10515 Binary files /dev/null and b/includes/avatar/avatar244.gif differ diff --git a/includes/avatar/avatar245.gif b/includes/avatar/avatar245.gif new file mode 100755 index 00000000..79dd0453 Binary files /dev/null and b/includes/avatar/avatar245.gif differ diff --git a/includes/avatar/avatar246.gif b/includes/avatar/avatar246.gif new file mode 100755 index 00000000..26878722 Binary files /dev/null and b/includes/avatar/avatar246.gif differ diff --git a/includes/avatar/avatar247.gif b/includes/avatar/avatar247.gif new file mode 100755 index 00000000..0b041108 Binary files /dev/null and b/includes/avatar/avatar247.gif differ diff --git a/includes/avatar/avatar248.gif b/includes/avatar/avatar248.gif new file mode 100755 index 00000000..7aa13465 Binary files /dev/null and b/includes/avatar/avatar248.gif differ diff --git a/includes/avatar/avatar249.gif b/includes/avatar/avatar249.gif new file mode 100755 index 00000000..c5cdf5d8 Binary files /dev/null and b/includes/avatar/avatar249.gif differ diff --git a/includes/avatar/avatar25.gif b/includes/avatar/avatar25.gif new file mode 100755 index 00000000..d5e29f52 Binary files /dev/null and b/includes/avatar/avatar25.gif differ diff --git a/includes/avatar/avatar250.gif b/includes/avatar/avatar250.gif new file mode 100755 index 00000000..61c2b962 Binary files /dev/null and b/includes/avatar/avatar250.gif differ diff --git a/includes/avatar/avatar251.gif b/includes/avatar/avatar251.gif new file mode 100755 index 00000000..01c2a370 Binary files /dev/null and b/includes/avatar/avatar251.gif differ diff --git a/includes/avatar/avatar252.gif b/includes/avatar/avatar252.gif new file mode 100755 index 00000000..6656fe75 Binary files /dev/null and b/includes/avatar/avatar252.gif differ diff --git a/includes/avatar/avatar253.gif b/includes/avatar/avatar253.gif new file mode 100755 index 00000000..4aaa9318 Binary files /dev/null and b/includes/avatar/avatar253.gif differ diff --git a/includes/avatar/avatar254.gif b/includes/avatar/avatar254.gif new file mode 100755 index 00000000..4439c722 Binary files /dev/null and b/includes/avatar/avatar254.gif differ diff --git a/includes/avatar/avatar255.gif b/includes/avatar/avatar255.gif new file mode 100755 index 00000000..3a5fd768 Binary files /dev/null and b/includes/avatar/avatar255.gif differ diff --git a/includes/avatar/avatar256.gif b/includes/avatar/avatar256.gif new file mode 100755 index 00000000..200dc450 Binary files /dev/null and b/includes/avatar/avatar256.gif differ diff --git a/includes/avatar/avatar257.gif b/includes/avatar/avatar257.gif new file mode 100755 index 00000000..9d9c823c Binary files /dev/null and b/includes/avatar/avatar257.gif differ diff --git a/includes/avatar/avatar258.gif b/includes/avatar/avatar258.gif new file mode 100755 index 00000000..044edc01 Binary files /dev/null and b/includes/avatar/avatar258.gif differ diff --git a/includes/avatar/avatar259.gif b/includes/avatar/avatar259.gif new file mode 100755 index 00000000..83334fb9 Binary files /dev/null and b/includes/avatar/avatar259.gif differ diff --git a/includes/avatar/avatar26.gif b/includes/avatar/avatar26.gif new file mode 100755 index 00000000..40d42724 Binary files /dev/null and b/includes/avatar/avatar26.gif differ diff --git a/includes/avatar/avatar260.gif b/includes/avatar/avatar260.gif new file mode 100755 index 00000000..8ec72dbe Binary files /dev/null and b/includes/avatar/avatar260.gif differ diff --git a/includes/avatar/avatar261.gif b/includes/avatar/avatar261.gif new file mode 100755 index 00000000..90505322 Binary files /dev/null and b/includes/avatar/avatar261.gif differ diff --git a/includes/avatar/avatar262.gif b/includes/avatar/avatar262.gif new file mode 100755 index 00000000..4656c222 Binary files /dev/null and b/includes/avatar/avatar262.gif differ diff --git a/includes/avatar/avatar263.gif b/includes/avatar/avatar263.gif new file mode 100755 index 00000000..6954e902 Binary files /dev/null and b/includes/avatar/avatar263.gif differ diff --git a/includes/avatar/avatar264.gif b/includes/avatar/avatar264.gif new file mode 100755 index 00000000..4e46f7b9 Binary files /dev/null and b/includes/avatar/avatar264.gif differ diff --git a/includes/avatar/avatar265.gif b/includes/avatar/avatar265.gif new file mode 100755 index 00000000..df18535c Binary files /dev/null and b/includes/avatar/avatar265.gif differ diff --git a/includes/avatar/avatar266.gif b/includes/avatar/avatar266.gif new file mode 100755 index 00000000..838305a7 Binary files /dev/null and b/includes/avatar/avatar266.gif differ diff --git a/includes/avatar/avatar267.gif b/includes/avatar/avatar267.gif new file mode 100755 index 00000000..8ac405e4 Binary files /dev/null and b/includes/avatar/avatar267.gif differ diff --git a/includes/avatar/avatar268.gif b/includes/avatar/avatar268.gif new file mode 100755 index 00000000..fe61c645 Binary files /dev/null and b/includes/avatar/avatar268.gif differ diff --git a/includes/avatar/avatar269.gif b/includes/avatar/avatar269.gif new file mode 100755 index 00000000..c71da25a Binary files /dev/null and b/includes/avatar/avatar269.gif differ diff --git a/includes/avatar/avatar27.gif b/includes/avatar/avatar27.gif new file mode 100755 index 00000000..43cf2125 Binary files /dev/null and b/includes/avatar/avatar27.gif differ diff --git a/includes/avatar/avatar270.gif b/includes/avatar/avatar270.gif new file mode 100755 index 00000000..9c11d479 Binary files /dev/null and b/includes/avatar/avatar270.gif differ diff --git a/includes/avatar/avatar271.gif b/includes/avatar/avatar271.gif new file mode 100755 index 00000000..ac95c950 Binary files /dev/null and b/includes/avatar/avatar271.gif differ diff --git a/includes/avatar/avatar272.gif b/includes/avatar/avatar272.gif new file mode 100755 index 00000000..4d451488 Binary files /dev/null and b/includes/avatar/avatar272.gif differ diff --git a/includes/avatar/avatar273.gif b/includes/avatar/avatar273.gif new file mode 100755 index 00000000..e26b9106 Binary files /dev/null and b/includes/avatar/avatar273.gif differ diff --git a/includes/avatar/avatar274.gif b/includes/avatar/avatar274.gif new file mode 100755 index 00000000..a941aa4c Binary files /dev/null and b/includes/avatar/avatar274.gif differ diff --git a/includes/avatar/avatar275.gif b/includes/avatar/avatar275.gif new file mode 100755 index 00000000..f324f6c0 Binary files /dev/null and b/includes/avatar/avatar275.gif differ diff --git a/includes/avatar/avatar276.gif b/includes/avatar/avatar276.gif new file mode 100755 index 00000000..6b0d8fee Binary files /dev/null and b/includes/avatar/avatar276.gif differ diff --git a/includes/avatar/avatar277.gif b/includes/avatar/avatar277.gif new file mode 100755 index 00000000..6fddc745 Binary files /dev/null and b/includes/avatar/avatar277.gif differ diff --git a/includes/avatar/avatar278.gif b/includes/avatar/avatar278.gif new file mode 100755 index 00000000..59e3b51d Binary files /dev/null and b/includes/avatar/avatar278.gif differ diff --git a/includes/avatar/avatar279.gif b/includes/avatar/avatar279.gif new file mode 100755 index 00000000..c8c0bb84 Binary files /dev/null and b/includes/avatar/avatar279.gif differ diff --git a/includes/avatar/avatar28.gif b/includes/avatar/avatar28.gif new file mode 100755 index 00000000..9251bdb6 Binary files /dev/null and b/includes/avatar/avatar28.gif differ diff --git a/includes/avatar/avatar280.gif b/includes/avatar/avatar280.gif new file mode 100755 index 00000000..954920d5 Binary files /dev/null and b/includes/avatar/avatar280.gif differ diff --git a/includes/avatar/avatar281.gif b/includes/avatar/avatar281.gif new file mode 100755 index 00000000..68ebd8cc Binary files /dev/null and b/includes/avatar/avatar281.gif differ diff --git a/includes/avatar/avatar282.gif b/includes/avatar/avatar282.gif new file mode 100755 index 00000000..ec06f9f5 Binary files /dev/null and b/includes/avatar/avatar282.gif differ diff --git a/includes/avatar/avatar283.gif b/includes/avatar/avatar283.gif new file mode 100755 index 00000000..2d0fad8a Binary files /dev/null and b/includes/avatar/avatar283.gif differ diff --git a/includes/avatar/avatar284.gif b/includes/avatar/avatar284.gif new file mode 100755 index 00000000..9cc79890 Binary files /dev/null and b/includes/avatar/avatar284.gif differ diff --git a/includes/avatar/avatar285.gif b/includes/avatar/avatar285.gif new file mode 100755 index 00000000..baf2c0b0 Binary files /dev/null and b/includes/avatar/avatar285.gif differ diff --git a/includes/avatar/avatar286.gif b/includes/avatar/avatar286.gif new file mode 100755 index 00000000..d74af8d4 Binary files /dev/null and b/includes/avatar/avatar286.gif differ diff --git a/includes/avatar/avatar287.gif b/includes/avatar/avatar287.gif new file mode 100755 index 00000000..0e4169ef Binary files /dev/null and b/includes/avatar/avatar287.gif differ diff --git a/includes/avatar/avatar288.gif b/includes/avatar/avatar288.gif new file mode 100755 index 00000000..41c2e9b4 Binary files /dev/null and b/includes/avatar/avatar288.gif differ diff --git a/includes/avatar/avatar289.gif b/includes/avatar/avatar289.gif new file mode 100755 index 00000000..c68b431a Binary files /dev/null and b/includes/avatar/avatar289.gif differ diff --git a/includes/avatar/avatar29.gif b/includes/avatar/avatar29.gif new file mode 100755 index 00000000..10063690 Binary files /dev/null and b/includes/avatar/avatar29.gif differ diff --git a/includes/avatar/avatar290.gif b/includes/avatar/avatar290.gif new file mode 100755 index 00000000..f2ca018b Binary files /dev/null and b/includes/avatar/avatar290.gif differ diff --git a/includes/avatar/avatar291.gif b/includes/avatar/avatar291.gif new file mode 100755 index 00000000..b9b0bbc3 Binary files /dev/null and b/includes/avatar/avatar291.gif differ diff --git a/includes/avatar/avatar292.gif b/includes/avatar/avatar292.gif new file mode 100755 index 00000000..6eecd4d1 Binary files /dev/null and b/includes/avatar/avatar292.gif differ diff --git a/includes/avatar/avatar293.gif b/includes/avatar/avatar293.gif new file mode 100755 index 00000000..a1834818 Binary files /dev/null and b/includes/avatar/avatar293.gif differ diff --git a/includes/avatar/avatar294.gif b/includes/avatar/avatar294.gif new file mode 100755 index 00000000..6ef5611a Binary files /dev/null and b/includes/avatar/avatar294.gif differ diff --git a/includes/avatar/avatar295.gif b/includes/avatar/avatar295.gif new file mode 100755 index 00000000..4c9fa7c6 Binary files /dev/null and b/includes/avatar/avatar295.gif differ diff --git a/includes/avatar/avatar296.gif b/includes/avatar/avatar296.gif new file mode 100755 index 00000000..b6ab2095 Binary files /dev/null and b/includes/avatar/avatar296.gif differ diff --git a/includes/avatar/avatar297.gif b/includes/avatar/avatar297.gif new file mode 100755 index 00000000..38d1d659 Binary files /dev/null and b/includes/avatar/avatar297.gif differ diff --git a/includes/avatar/avatar298.gif b/includes/avatar/avatar298.gif new file mode 100755 index 00000000..f1ee804c Binary files /dev/null and b/includes/avatar/avatar298.gif differ diff --git a/includes/avatar/avatar299.gif b/includes/avatar/avatar299.gif new file mode 100755 index 00000000..0d0b77b6 Binary files /dev/null and b/includes/avatar/avatar299.gif differ diff --git a/includes/avatar/avatar3.gif b/includes/avatar/avatar3.gif new file mode 100755 index 00000000..d8cd4306 Binary files /dev/null and b/includes/avatar/avatar3.gif differ diff --git a/includes/avatar/avatar30.gif b/includes/avatar/avatar30.gif new file mode 100755 index 00000000..b339d48d Binary files /dev/null and b/includes/avatar/avatar30.gif differ diff --git a/includes/avatar/avatar300.gif b/includes/avatar/avatar300.gif new file mode 100755 index 00000000..2582b3a4 Binary files /dev/null and b/includes/avatar/avatar300.gif differ diff --git a/includes/avatar/avatar301.gif b/includes/avatar/avatar301.gif new file mode 100755 index 00000000..2350bc8f Binary files /dev/null and b/includes/avatar/avatar301.gif differ diff --git a/includes/avatar/avatar302.gif b/includes/avatar/avatar302.gif new file mode 100755 index 00000000..2e05d242 Binary files /dev/null and b/includes/avatar/avatar302.gif differ diff --git a/includes/avatar/avatar303.gif b/includes/avatar/avatar303.gif new file mode 100755 index 00000000..776cec3b Binary files /dev/null and b/includes/avatar/avatar303.gif differ diff --git a/includes/avatar/avatar304.gif b/includes/avatar/avatar304.gif new file mode 100755 index 00000000..219a1184 Binary files /dev/null and b/includes/avatar/avatar304.gif differ diff --git a/includes/avatar/avatar305.gif b/includes/avatar/avatar305.gif new file mode 100755 index 00000000..27071b78 Binary files /dev/null and b/includes/avatar/avatar305.gif differ diff --git a/includes/avatar/avatar306.gif b/includes/avatar/avatar306.gif new file mode 100755 index 00000000..6ab781bf Binary files /dev/null and b/includes/avatar/avatar306.gif differ diff --git a/includes/avatar/avatar307.gif b/includes/avatar/avatar307.gif new file mode 100755 index 00000000..d40998b8 Binary files /dev/null and b/includes/avatar/avatar307.gif differ diff --git a/includes/avatar/avatar308.gif b/includes/avatar/avatar308.gif new file mode 100755 index 00000000..aafbe741 Binary files /dev/null and b/includes/avatar/avatar308.gif differ diff --git a/includes/avatar/avatar309.gif b/includes/avatar/avatar309.gif new file mode 100755 index 00000000..fe701cbf Binary files /dev/null and b/includes/avatar/avatar309.gif differ diff --git a/includes/avatar/avatar31.gif b/includes/avatar/avatar31.gif new file mode 100755 index 00000000..d5a9caf6 Binary files /dev/null and b/includes/avatar/avatar31.gif differ diff --git a/includes/avatar/avatar310.gif b/includes/avatar/avatar310.gif new file mode 100755 index 00000000..e6072552 Binary files /dev/null and b/includes/avatar/avatar310.gif differ diff --git a/includes/avatar/avatar311.gif b/includes/avatar/avatar311.gif new file mode 100755 index 00000000..9b77a2a3 Binary files /dev/null and b/includes/avatar/avatar311.gif differ diff --git a/includes/avatar/avatar312.gif b/includes/avatar/avatar312.gif new file mode 100755 index 00000000..89acef5f Binary files /dev/null and b/includes/avatar/avatar312.gif differ diff --git a/includes/avatar/avatar313.gif b/includes/avatar/avatar313.gif new file mode 100755 index 00000000..fee5e41b Binary files /dev/null and b/includes/avatar/avatar313.gif differ diff --git a/includes/avatar/avatar314.gif b/includes/avatar/avatar314.gif new file mode 100755 index 00000000..e706e088 Binary files /dev/null and b/includes/avatar/avatar314.gif differ diff --git a/includes/avatar/avatar315.gif b/includes/avatar/avatar315.gif new file mode 100755 index 00000000..fb3ee057 Binary files /dev/null and b/includes/avatar/avatar315.gif differ diff --git a/includes/avatar/avatar316.gif b/includes/avatar/avatar316.gif new file mode 100755 index 00000000..662fe276 Binary files /dev/null and b/includes/avatar/avatar316.gif differ diff --git a/includes/avatar/avatar317.gif b/includes/avatar/avatar317.gif new file mode 100755 index 00000000..0a858151 Binary files /dev/null and b/includes/avatar/avatar317.gif differ diff --git a/includes/avatar/avatar318.gif b/includes/avatar/avatar318.gif new file mode 100755 index 00000000..4ca84803 Binary files /dev/null and b/includes/avatar/avatar318.gif differ diff --git a/includes/avatar/avatar319.gif b/includes/avatar/avatar319.gif new file mode 100755 index 00000000..503cae0a Binary files /dev/null and b/includes/avatar/avatar319.gif differ diff --git a/includes/avatar/avatar32.gif b/includes/avatar/avatar32.gif new file mode 100755 index 00000000..5f3b5d43 Binary files /dev/null and b/includes/avatar/avatar32.gif differ diff --git a/includes/avatar/avatar320.gif b/includes/avatar/avatar320.gif new file mode 100755 index 00000000..0cd51805 Binary files /dev/null and b/includes/avatar/avatar320.gif differ diff --git a/includes/avatar/avatar321.gif b/includes/avatar/avatar321.gif new file mode 100755 index 00000000..eefbbda9 Binary files /dev/null and b/includes/avatar/avatar321.gif differ diff --git a/includes/avatar/avatar322.gif b/includes/avatar/avatar322.gif new file mode 100755 index 00000000..0243065b Binary files /dev/null and b/includes/avatar/avatar322.gif differ diff --git a/includes/avatar/avatar323.gif b/includes/avatar/avatar323.gif new file mode 100755 index 00000000..b1e08c05 Binary files /dev/null and b/includes/avatar/avatar323.gif differ diff --git a/includes/avatar/avatar324.gif b/includes/avatar/avatar324.gif new file mode 100755 index 00000000..a2168e48 Binary files /dev/null and b/includes/avatar/avatar324.gif differ diff --git a/includes/avatar/avatar325.gif b/includes/avatar/avatar325.gif new file mode 100755 index 00000000..dac85af5 Binary files /dev/null and b/includes/avatar/avatar325.gif differ diff --git a/includes/avatar/avatar326.gif b/includes/avatar/avatar326.gif new file mode 100755 index 00000000..afe5442f Binary files /dev/null and b/includes/avatar/avatar326.gif differ diff --git a/includes/avatar/avatar327.gif b/includes/avatar/avatar327.gif new file mode 100755 index 00000000..7db04c45 Binary files /dev/null and b/includes/avatar/avatar327.gif differ diff --git a/includes/avatar/avatar328.gif b/includes/avatar/avatar328.gif new file mode 100755 index 00000000..4d1d8a4a Binary files /dev/null and b/includes/avatar/avatar328.gif differ diff --git a/includes/avatar/avatar329.gif b/includes/avatar/avatar329.gif new file mode 100755 index 00000000..ede4d487 Binary files /dev/null and b/includes/avatar/avatar329.gif differ diff --git a/includes/avatar/avatar33.gif b/includes/avatar/avatar33.gif new file mode 100755 index 00000000..03ca160e Binary files /dev/null and b/includes/avatar/avatar33.gif differ diff --git a/includes/avatar/avatar330.gif b/includes/avatar/avatar330.gif new file mode 100755 index 00000000..e4a0a821 Binary files /dev/null and b/includes/avatar/avatar330.gif differ diff --git a/includes/avatar/avatar331.gif b/includes/avatar/avatar331.gif new file mode 100755 index 00000000..6a047501 Binary files /dev/null and b/includes/avatar/avatar331.gif differ diff --git a/includes/avatar/avatar332.gif b/includes/avatar/avatar332.gif new file mode 100755 index 00000000..6bde912c Binary files /dev/null and b/includes/avatar/avatar332.gif differ diff --git a/includes/avatar/avatar333.gif b/includes/avatar/avatar333.gif new file mode 100755 index 00000000..1bb07ba9 Binary files /dev/null and b/includes/avatar/avatar333.gif differ diff --git a/includes/avatar/avatar334.gif b/includes/avatar/avatar334.gif new file mode 100755 index 00000000..c4ec9f85 Binary files /dev/null and b/includes/avatar/avatar334.gif differ diff --git a/includes/avatar/avatar335.gif b/includes/avatar/avatar335.gif new file mode 100755 index 00000000..3ce39e43 Binary files /dev/null and b/includes/avatar/avatar335.gif differ diff --git a/includes/avatar/avatar336.gif b/includes/avatar/avatar336.gif new file mode 100755 index 00000000..e9876066 Binary files /dev/null and b/includes/avatar/avatar336.gif differ diff --git a/includes/avatar/avatar337.gif b/includes/avatar/avatar337.gif new file mode 100755 index 00000000..f4e15213 Binary files /dev/null and b/includes/avatar/avatar337.gif differ diff --git a/includes/avatar/avatar338.gif b/includes/avatar/avatar338.gif new file mode 100755 index 00000000..0b70f568 Binary files /dev/null and b/includes/avatar/avatar338.gif differ diff --git a/includes/avatar/avatar339.gif b/includes/avatar/avatar339.gif new file mode 100755 index 00000000..08afad48 Binary files /dev/null and b/includes/avatar/avatar339.gif differ diff --git a/includes/avatar/avatar34.gif b/includes/avatar/avatar34.gif new file mode 100755 index 00000000..49c49577 Binary files /dev/null and b/includes/avatar/avatar34.gif differ diff --git a/includes/avatar/avatar340.gif b/includes/avatar/avatar340.gif new file mode 100755 index 00000000..640984a3 Binary files /dev/null and b/includes/avatar/avatar340.gif differ diff --git a/includes/avatar/avatar341.gif b/includes/avatar/avatar341.gif new file mode 100755 index 00000000..a4556966 Binary files /dev/null and b/includes/avatar/avatar341.gif differ diff --git a/includes/avatar/avatar342.gif b/includes/avatar/avatar342.gif new file mode 100755 index 00000000..8022e7a2 Binary files /dev/null and b/includes/avatar/avatar342.gif differ diff --git a/includes/avatar/avatar343.gif b/includes/avatar/avatar343.gif new file mode 100755 index 00000000..71a99e9a Binary files /dev/null and b/includes/avatar/avatar343.gif differ diff --git a/includes/avatar/avatar344.gif b/includes/avatar/avatar344.gif new file mode 100755 index 00000000..fcdc99e8 Binary files /dev/null and b/includes/avatar/avatar344.gif differ diff --git a/includes/avatar/avatar345.gif b/includes/avatar/avatar345.gif new file mode 100755 index 00000000..57a63f4b Binary files /dev/null and b/includes/avatar/avatar345.gif differ diff --git a/includes/avatar/avatar346.gif b/includes/avatar/avatar346.gif new file mode 100755 index 00000000..f41dcd30 Binary files /dev/null and b/includes/avatar/avatar346.gif differ diff --git a/includes/avatar/avatar347.gif b/includes/avatar/avatar347.gif new file mode 100755 index 00000000..8d8a54cb Binary files /dev/null and b/includes/avatar/avatar347.gif differ diff --git a/includes/avatar/avatar348.gif b/includes/avatar/avatar348.gif new file mode 100755 index 00000000..7c54eb39 Binary files /dev/null and b/includes/avatar/avatar348.gif differ diff --git a/includes/avatar/avatar349.gif b/includes/avatar/avatar349.gif new file mode 100755 index 00000000..64de8b9e Binary files /dev/null and b/includes/avatar/avatar349.gif differ diff --git a/includes/avatar/avatar35.gif b/includes/avatar/avatar35.gif new file mode 100755 index 00000000..29eec4ac Binary files /dev/null and b/includes/avatar/avatar35.gif differ diff --git a/includes/avatar/avatar350.gif b/includes/avatar/avatar350.gif new file mode 100755 index 00000000..c57f1061 Binary files /dev/null and b/includes/avatar/avatar350.gif differ diff --git a/includes/avatar/avatar351.gif b/includes/avatar/avatar351.gif new file mode 100755 index 00000000..8ccb8185 Binary files /dev/null and b/includes/avatar/avatar351.gif differ diff --git a/includes/avatar/avatar352.gif b/includes/avatar/avatar352.gif new file mode 100755 index 00000000..8737e658 Binary files /dev/null and b/includes/avatar/avatar352.gif differ diff --git a/includes/avatar/avatar353.gif b/includes/avatar/avatar353.gif new file mode 100755 index 00000000..b6da0623 Binary files /dev/null and b/includes/avatar/avatar353.gif differ diff --git a/includes/avatar/avatar354.gif b/includes/avatar/avatar354.gif new file mode 100755 index 00000000..7565e6f9 Binary files /dev/null and b/includes/avatar/avatar354.gif differ diff --git a/includes/avatar/avatar355.gif b/includes/avatar/avatar355.gif new file mode 100755 index 00000000..3b08b30f Binary files /dev/null and b/includes/avatar/avatar355.gif differ diff --git a/includes/avatar/avatar356.gif b/includes/avatar/avatar356.gif new file mode 100755 index 00000000..7d0dc95b Binary files /dev/null and b/includes/avatar/avatar356.gif differ diff --git a/includes/avatar/avatar357.gif b/includes/avatar/avatar357.gif new file mode 100755 index 00000000..ed1157a0 Binary files /dev/null and b/includes/avatar/avatar357.gif differ diff --git a/includes/avatar/avatar358.gif b/includes/avatar/avatar358.gif new file mode 100755 index 00000000..2dc844a5 Binary files /dev/null and b/includes/avatar/avatar358.gif differ diff --git a/includes/avatar/avatar359.gif b/includes/avatar/avatar359.gif new file mode 100755 index 00000000..8ac3f7fd Binary files /dev/null and b/includes/avatar/avatar359.gif differ diff --git a/includes/avatar/avatar36.gif b/includes/avatar/avatar36.gif new file mode 100755 index 00000000..cab160e5 Binary files /dev/null and b/includes/avatar/avatar36.gif differ diff --git a/includes/avatar/avatar360.gif b/includes/avatar/avatar360.gif new file mode 100755 index 00000000..b01fb184 Binary files /dev/null and b/includes/avatar/avatar360.gif differ diff --git a/includes/avatar/avatar361.gif b/includes/avatar/avatar361.gif new file mode 100755 index 00000000..c4573da7 Binary files /dev/null and b/includes/avatar/avatar361.gif differ diff --git a/includes/avatar/avatar362.gif b/includes/avatar/avatar362.gif new file mode 100755 index 00000000..189c9276 Binary files /dev/null and b/includes/avatar/avatar362.gif differ diff --git a/includes/avatar/avatar363.gif b/includes/avatar/avatar363.gif new file mode 100755 index 00000000..8ff0b39c Binary files /dev/null and b/includes/avatar/avatar363.gif differ diff --git a/includes/avatar/avatar364.gif b/includes/avatar/avatar364.gif new file mode 100755 index 00000000..8f22d79f Binary files /dev/null and b/includes/avatar/avatar364.gif differ diff --git a/includes/avatar/avatar365.gif b/includes/avatar/avatar365.gif new file mode 100755 index 00000000..950aea2a Binary files /dev/null and b/includes/avatar/avatar365.gif differ diff --git a/includes/avatar/avatar366.gif b/includes/avatar/avatar366.gif new file mode 100755 index 00000000..b1dc12d2 Binary files /dev/null and b/includes/avatar/avatar366.gif differ diff --git a/includes/avatar/avatar367.gif b/includes/avatar/avatar367.gif new file mode 100755 index 00000000..0de8fe4b Binary files /dev/null and b/includes/avatar/avatar367.gif differ diff --git a/includes/avatar/avatar368.gif b/includes/avatar/avatar368.gif new file mode 100755 index 00000000..b3f7e0f6 Binary files /dev/null and b/includes/avatar/avatar368.gif differ diff --git a/includes/avatar/avatar369.gif b/includes/avatar/avatar369.gif new file mode 100755 index 00000000..0efb8393 Binary files /dev/null and b/includes/avatar/avatar369.gif differ diff --git a/includes/avatar/avatar37.gif b/includes/avatar/avatar37.gif new file mode 100755 index 00000000..32b73e09 Binary files /dev/null and b/includes/avatar/avatar37.gif differ diff --git a/includes/avatar/avatar370.gif b/includes/avatar/avatar370.gif new file mode 100755 index 00000000..d5dbc5df Binary files /dev/null and b/includes/avatar/avatar370.gif differ diff --git a/includes/avatar/avatar371.gif b/includes/avatar/avatar371.gif new file mode 100755 index 00000000..868546f7 Binary files /dev/null and b/includes/avatar/avatar371.gif differ diff --git a/includes/avatar/avatar372.gif b/includes/avatar/avatar372.gif new file mode 100755 index 00000000..6458885d Binary files /dev/null and b/includes/avatar/avatar372.gif differ diff --git a/includes/avatar/avatar373.gif b/includes/avatar/avatar373.gif new file mode 100755 index 00000000..b1e04070 Binary files /dev/null and b/includes/avatar/avatar373.gif differ diff --git a/includes/avatar/avatar374.gif b/includes/avatar/avatar374.gif new file mode 100755 index 00000000..e29653ba Binary files /dev/null and b/includes/avatar/avatar374.gif differ diff --git a/includes/avatar/avatar375.gif b/includes/avatar/avatar375.gif new file mode 100755 index 00000000..e5aefc87 Binary files /dev/null and b/includes/avatar/avatar375.gif differ diff --git a/includes/avatar/avatar376.gif b/includes/avatar/avatar376.gif new file mode 100755 index 00000000..b5785477 Binary files /dev/null and b/includes/avatar/avatar376.gif differ diff --git a/includes/avatar/avatar377.gif b/includes/avatar/avatar377.gif new file mode 100755 index 00000000..67fd7cf4 Binary files /dev/null and b/includes/avatar/avatar377.gif differ diff --git a/includes/avatar/avatar378.gif b/includes/avatar/avatar378.gif new file mode 100755 index 00000000..c3924d9c Binary files /dev/null and b/includes/avatar/avatar378.gif differ diff --git a/includes/avatar/avatar379.gif b/includes/avatar/avatar379.gif new file mode 100755 index 00000000..def8a49d Binary files /dev/null and b/includes/avatar/avatar379.gif differ diff --git a/includes/avatar/avatar38.gif b/includes/avatar/avatar38.gif new file mode 100755 index 00000000..109ce01a Binary files /dev/null and b/includes/avatar/avatar38.gif differ diff --git a/includes/avatar/avatar380.gif b/includes/avatar/avatar380.gif new file mode 100755 index 00000000..d02ed852 Binary files /dev/null and b/includes/avatar/avatar380.gif differ diff --git a/includes/avatar/avatar381.gif b/includes/avatar/avatar381.gif new file mode 100755 index 00000000..762871c2 Binary files /dev/null and b/includes/avatar/avatar381.gif differ diff --git a/includes/avatar/avatar382.gif b/includes/avatar/avatar382.gif new file mode 100755 index 00000000..201872f9 Binary files /dev/null and b/includes/avatar/avatar382.gif differ diff --git a/includes/avatar/avatar383.gif b/includes/avatar/avatar383.gif new file mode 100755 index 00000000..a71bbad9 Binary files /dev/null and b/includes/avatar/avatar383.gif differ diff --git a/includes/avatar/avatar384.gif b/includes/avatar/avatar384.gif new file mode 100755 index 00000000..6a9e2a45 Binary files /dev/null and b/includes/avatar/avatar384.gif differ diff --git a/includes/avatar/avatar385.gif b/includes/avatar/avatar385.gif new file mode 100755 index 00000000..8b51fdef Binary files /dev/null and b/includes/avatar/avatar385.gif differ diff --git a/includes/avatar/avatar386.gif b/includes/avatar/avatar386.gif new file mode 100755 index 00000000..e1d42707 Binary files /dev/null and b/includes/avatar/avatar386.gif differ diff --git a/includes/avatar/avatar387.gif b/includes/avatar/avatar387.gif new file mode 100755 index 00000000..186869c5 Binary files /dev/null and b/includes/avatar/avatar387.gif differ diff --git a/includes/avatar/avatar388.gif b/includes/avatar/avatar388.gif new file mode 100755 index 00000000..369f01bb Binary files /dev/null and b/includes/avatar/avatar388.gif differ diff --git a/includes/avatar/avatar389.gif b/includes/avatar/avatar389.gif new file mode 100755 index 00000000..d0cb95e4 Binary files /dev/null and b/includes/avatar/avatar389.gif differ diff --git a/includes/avatar/avatar39.gif b/includes/avatar/avatar39.gif new file mode 100755 index 00000000..307632c4 Binary files /dev/null and b/includes/avatar/avatar39.gif differ diff --git a/includes/avatar/avatar390.gif b/includes/avatar/avatar390.gif new file mode 100755 index 00000000..901e2a4e Binary files /dev/null and b/includes/avatar/avatar390.gif differ diff --git a/includes/avatar/avatar391.gif b/includes/avatar/avatar391.gif new file mode 100755 index 00000000..65f58627 Binary files /dev/null and b/includes/avatar/avatar391.gif differ diff --git a/includes/avatar/avatar392.gif b/includes/avatar/avatar392.gif new file mode 100755 index 00000000..ff98710d Binary files /dev/null and b/includes/avatar/avatar392.gif differ diff --git a/includes/avatar/avatar393.gif b/includes/avatar/avatar393.gif new file mode 100755 index 00000000..693be70b Binary files /dev/null and b/includes/avatar/avatar393.gif differ diff --git a/includes/avatar/avatar394.gif b/includes/avatar/avatar394.gif new file mode 100755 index 00000000..baf43448 Binary files /dev/null and b/includes/avatar/avatar394.gif differ diff --git a/includes/avatar/avatar395.gif b/includes/avatar/avatar395.gif new file mode 100755 index 00000000..bff14e63 Binary files /dev/null and b/includes/avatar/avatar395.gif differ diff --git a/includes/avatar/avatar396.gif b/includes/avatar/avatar396.gif new file mode 100755 index 00000000..882469c0 Binary files /dev/null and b/includes/avatar/avatar396.gif differ diff --git a/includes/avatar/avatar397.gif b/includes/avatar/avatar397.gif new file mode 100755 index 00000000..de246f0d Binary files /dev/null and b/includes/avatar/avatar397.gif differ diff --git a/includes/avatar/avatar398.gif b/includes/avatar/avatar398.gif new file mode 100755 index 00000000..07bae656 Binary files /dev/null and b/includes/avatar/avatar398.gif differ diff --git a/includes/avatar/avatar399.gif b/includes/avatar/avatar399.gif new file mode 100755 index 00000000..c3b92047 Binary files /dev/null and b/includes/avatar/avatar399.gif differ diff --git a/includes/avatar/avatar4.gif b/includes/avatar/avatar4.gif new file mode 100755 index 00000000..e525aa86 Binary files /dev/null and b/includes/avatar/avatar4.gif differ diff --git a/includes/avatar/avatar40.gif b/includes/avatar/avatar40.gif new file mode 100755 index 00000000..34e32133 Binary files /dev/null and b/includes/avatar/avatar40.gif differ diff --git a/includes/avatar/avatar400.gif b/includes/avatar/avatar400.gif new file mode 100755 index 00000000..fe77d5a7 Binary files /dev/null and b/includes/avatar/avatar400.gif differ diff --git a/includes/avatar/avatar401.gif b/includes/avatar/avatar401.gif new file mode 100755 index 00000000..a4d84be4 Binary files /dev/null and b/includes/avatar/avatar401.gif differ diff --git a/includes/avatar/avatar402.gif b/includes/avatar/avatar402.gif new file mode 100755 index 00000000..f8b7834f Binary files /dev/null and b/includes/avatar/avatar402.gif differ diff --git a/includes/avatar/avatar403.gif b/includes/avatar/avatar403.gif new file mode 100755 index 00000000..7f5f4bcb Binary files /dev/null and b/includes/avatar/avatar403.gif differ diff --git a/includes/avatar/avatar404.gif b/includes/avatar/avatar404.gif new file mode 100755 index 00000000..00ac94bc Binary files /dev/null and b/includes/avatar/avatar404.gif differ diff --git a/includes/avatar/avatar405.gif b/includes/avatar/avatar405.gif new file mode 100755 index 00000000..c8b2506c Binary files /dev/null and b/includes/avatar/avatar405.gif differ diff --git a/includes/avatar/avatar406.gif b/includes/avatar/avatar406.gif new file mode 100755 index 00000000..831ccfc6 Binary files /dev/null and b/includes/avatar/avatar406.gif differ diff --git a/includes/avatar/avatar407.gif b/includes/avatar/avatar407.gif new file mode 100755 index 00000000..9b989638 Binary files /dev/null and b/includes/avatar/avatar407.gif differ diff --git a/includes/avatar/avatar408.gif b/includes/avatar/avatar408.gif new file mode 100755 index 00000000..5699f755 Binary files /dev/null and b/includes/avatar/avatar408.gif differ diff --git a/includes/avatar/avatar409.gif b/includes/avatar/avatar409.gif new file mode 100755 index 00000000..4300f609 Binary files /dev/null and b/includes/avatar/avatar409.gif differ diff --git a/includes/avatar/avatar41.gif b/includes/avatar/avatar41.gif new file mode 100755 index 00000000..f6f631ba Binary files /dev/null and b/includes/avatar/avatar41.gif differ diff --git a/includes/avatar/avatar410.gif b/includes/avatar/avatar410.gif new file mode 100755 index 00000000..a2ddb3e0 Binary files /dev/null and b/includes/avatar/avatar410.gif differ diff --git a/includes/avatar/avatar411.gif b/includes/avatar/avatar411.gif new file mode 100755 index 00000000..8658510f Binary files /dev/null and b/includes/avatar/avatar411.gif differ diff --git a/includes/avatar/avatar412.gif b/includes/avatar/avatar412.gif new file mode 100755 index 00000000..1a4bae4b Binary files /dev/null and b/includes/avatar/avatar412.gif differ diff --git a/includes/avatar/avatar413.gif b/includes/avatar/avatar413.gif new file mode 100755 index 00000000..14eb3a92 Binary files /dev/null and b/includes/avatar/avatar413.gif differ diff --git a/includes/avatar/avatar414.gif b/includes/avatar/avatar414.gif new file mode 100755 index 00000000..5f23cc79 Binary files /dev/null and b/includes/avatar/avatar414.gif differ diff --git a/includes/avatar/avatar415.gif b/includes/avatar/avatar415.gif new file mode 100755 index 00000000..c7312a64 Binary files /dev/null and b/includes/avatar/avatar415.gif differ diff --git a/includes/avatar/avatar416.gif b/includes/avatar/avatar416.gif new file mode 100755 index 00000000..fee5e41b Binary files /dev/null and b/includes/avatar/avatar416.gif differ diff --git a/includes/avatar/avatar417.gif b/includes/avatar/avatar417.gif new file mode 100755 index 00000000..d3b3dbbe Binary files /dev/null and b/includes/avatar/avatar417.gif differ diff --git a/includes/avatar/avatar418.gif b/includes/avatar/avatar418.gif new file mode 100755 index 00000000..3f648c4f Binary files /dev/null and b/includes/avatar/avatar418.gif differ diff --git a/includes/avatar/avatar419.gif b/includes/avatar/avatar419.gif new file mode 100755 index 00000000..87587fe5 Binary files /dev/null and b/includes/avatar/avatar419.gif differ diff --git a/includes/avatar/avatar42.gif b/includes/avatar/avatar42.gif new file mode 100755 index 00000000..5828d2af Binary files /dev/null and b/includes/avatar/avatar42.gif differ diff --git a/includes/avatar/avatar420.gif b/includes/avatar/avatar420.gif new file mode 100755 index 00000000..2aca0620 Binary files /dev/null and b/includes/avatar/avatar420.gif differ diff --git a/includes/avatar/avatar421.gif b/includes/avatar/avatar421.gif new file mode 100755 index 00000000..152f5252 Binary files /dev/null and b/includes/avatar/avatar421.gif differ diff --git a/includes/avatar/avatar422.gif b/includes/avatar/avatar422.gif new file mode 100755 index 00000000..228f17d5 Binary files /dev/null and b/includes/avatar/avatar422.gif differ diff --git a/includes/avatar/avatar423.gif b/includes/avatar/avatar423.gif new file mode 100755 index 00000000..5f25f9c4 Binary files /dev/null and b/includes/avatar/avatar423.gif differ diff --git a/includes/avatar/avatar424.gif b/includes/avatar/avatar424.gif new file mode 100755 index 00000000..d8e9b029 Binary files /dev/null and b/includes/avatar/avatar424.gif differ diff --git a/includes/avatar/avatar425.gif b/includes/avatar/avatar425.gif new file mode 100755 index 00000000..ec35e12b Binary files /dev/null and b/includes/avatar/avatar425.gif differ diff --git a/includes/avatar/avatar426.gif b/includes/avatar/avatar426.gif new file mode 100755 index 00000000..9e13452d Binary files /dev/null and b/includes/avatar/avatar426.gif differ diff --git a/includes/avatar/avatar427.gif b/includes/avatar/avatar427.gif new file mode 100755 index 00000000..aca392ec Binary files /dev/null and b/includes/avatar/avatar427.gif differ diff --git a/includes/avatar/avatar428.gif b/includes/avatar/avatar428.gif new file mode 100755 index 00000000..2663bb30 Binary files /dev/null and b/includes/avatar/avatar428.gif differ diff --git a/includes/avatar/avatar429.gif b/includes/avatar/avatar429.gif new file mode 100755 index 00000000..f6ae8487 Binary files /dev/null and b/includes/avatar/avatar429.gif differ diff --git a/includes/avatar/avatar43.gif b/includes/avatar/avatar43.gif new file mode 100755 index 00000000..4ba29bd2 Binary files /dev/null and b/includes/avatar/avatar43.gif differ diff --git a/includes/avatar/avatar430.gif b/includes/avatar/avatar430.gif new file mode 100755 index 00000000..f64e8229 Binary files /dev/null and b/includes/avatar/avatar430.gif differ diff --git a/includes/avatar/avatar431.gif b/includes/avatar/avatar431.gif new file mode 100755 index 00000000..28791161 Binary files /dev/null and b/includes/avatar/avatar431.gif differ diff --git a/includes/avatar/avatar432.gif b/includes/avatar/avatar432.gif new file mode 100755 index 00000000..7edc6132 Binary files /dev/null and b/includes/avatar/avatar432.gif differ diff --git a/includes/avatar/avatar433.gif b/includes/avatar/avatar433.gif new file mode 100755 index 00000000..b300940b Binary files /dev/null and b/includes/avatar/avatar433.gif differ diff --git a/includes/avatar/avatar434.gif b/includes/avatar/avatar434.gif new file mode 100755 index 00000000..020863e3 Binary files /dev/null and b/includes/avatar/avatar434.gif differ diff --git a/includes/avatar/avatar435.gif b/includes/avatar/avatar435.gif new file mode 100755 index 00000000..98122e5b Binary files /dev/null and b/includes/avatar/avatar435.gif differ diff --git a/includes/avatar/avatar436.gif b/includes/avatar/avatar436.gif new file mode 100755 index 00000000..7698c886 Binary files /dev/null and b/includes/avatar/avatar436.gif differ diff --git a/includes/avatar/avatar437.gif b/includes/avatar/avatar437.gif new file mode 100755 index 00000000..262ace97 Binary files /dev/null and b/includes/avatar/avatar437.gif differ diff --git a/includes/avatar/avatar438.gif b/includes/avatar/avatar438.gif new file mode 100755 index 00000000..84033e11 Binary files /dev/null and b/includes/avatar/avatar438.gif differ diff --git a/includes/avatar/avatar439.gif b/includes/avatar/avatar439.gif new file mode 100755 index 00000000..04fb6876 Binary files /dev/null and b/includes/avatar/avatar439.gif differ diff --git a/includes/avatar/avatar44.gif b/includes/avatar/avatar44.gif new file mode 100755 index 00000000..9db2cd9f Binary files /dev/null and b/includes/avatar/avatar44.gif differ diff --git a/includes/avatar/avatar440.gif b/includes/avatar/avatar440.gif new file mode 100755 index 00000000..b414dfcb Binary files /dev/null and b/includes/avatar/avatar440.gif differ diff --git a/includes/avatar/avatar441.gif b/includes/avatar/avatar441.gif new file mode 100755 index 00000000..db79f0c8 Binary files /dev/null and b/includes/avatar/avatar441.gif differ diff --git a/includes/avatar/avatar442.gif b/includes/avatar/avatar442.gif new file mode 100755 index 00000000..341395ac Binary files /dev/null and b/includes/avatar/avatar442.gif differ diff --git a/includes/avatar/avatar443.gif b/includes/avatar/avatar443.gif new file mode 100755 index 00000000..063034ac Binary files /dev/null and b/includes/avatar/avatar443.gif differ diff --git a/includes/avatar/avatar444.gif b/includes/avatar/avatar444.gif new file mode 100755 index 00000000..c4f6aa92 Binary files /dev/null and b/includes/avatar/avatar444.gif differ diff --git a/includes/avatar/avatar445.gif b/includes/avatar/avatar445.gif new file mode 100755 index 00000000..5c26ccb3 Binary files /dev/null and b/includes/avatar/avatar445.gif differ diff --git a/includes/avatar/avatar446.gif b/includes/avatar/avatar446.gif new file mode 100755 index 00000000..0e14a043 Binary files /dev/null and b/includes/avatar/avatar446.gif differ diff --git a/includes/avatar/avatar447.gif b/includes/avatar/avatar447.gif new file mode 100755 index 00000000..8622aafb Binary files /dev/null and b/includes/avatar/avatar447.gif differ diff --git a/includes/avatar/avatar448.gif b/includes/avatar/avatar448.gif new file mode 100755 index 00000000..3e35bfe4 Binary files /dev/null and b/includes/avatar/avatar448.gif differ diff --git a/includes/avatar/avatar449.gif b/includes/avatar/avatar449.gif new file mode 100755 index 00000000..d53551f8 Binary files /dev/null and b/includes/avatar/avatar449.gif differ diff --git a/includes/avatar/avatar45.gif b/includes/avatar/avatar45.gif new file mode 100755 index 00000000..c216f489 Binary files /dev/null and b/includes/avatar/avatar45.gif differ diff --git a/includes/avatar/avatar450.gif b/includes/avatar/avatar450.gif new file mode 100755 index 00000000..6e0ab918 Binary files /dev/null and b/includes/avatar/avatar450.gif differ diff --git a/includes/avatar/avatar451.gif b/includes/avatar/avatar451.gif new file mode 100755 index 00000000..7d0d79bd Binary files /dev/null and b/includes/avatar/avatar451.gif differ diff --git a/includes/avatar/avatar452.gif b/includes/avatar/avatar452.gif new file mode 100755 index 00000000..c64e07fc Binary files /dev/null and b/includes/avatar/avatar452.gif differ diff --git a/includes/avatar/avatar453.gif b/includes/avatar/avatar453.gif new file mode 100755 index 00000000..22f597a4 Binary files /dev/null and b/includes/avatar/avatar453.gif differ diff --git a/includes/avatar/avatar454.gif b/includes/avatar/avatar454.gif new file mode 100755 index 00000000..81fd63c4 Binary files /dev/null and b/includes/avatar/avatar454.gif differ diff --git a/includes/avatar/avatar455.gif b/includes/avatar/avatar455.gif new file mode 100755 index 00000000..8e6e39ee Binary files /dev/null and b/includes/avatar/avatar455.gif differ diff --git a/includes/avatar/avatar456.gif b/includes/avatar/avatar456.gif new file mode 100755 index 00000000..6fba116c Binary files /dev/null and b/includes/avatar/avatar456.gif differ diff --git a/includes/avatar/avatar457.gif b/includes/avatar/avatar457.gif new file mode 100755 index 00000000..1a685aa9 Binary files /dev/null and b/includes/avatar/avatar457.gif differ diff --git a/includes/avatar/avatar458.gif b/includes/avatar/avatar458.gif new file mode 100755 index 00000000..20f5e33a Binary files /dev/null and b/includes/avatar/avatar458.gif differ diff --git a/includes/avatar/avatar459.gif b/includes/avatar/avatar459.gif new file mode 100755 index 00000000..049cfc17 Binary files /dev/null and b/includes/avatar/avatar459.gif differ diff --git a/includes/avatar/avatar46.gif b/includes/avatar/avatar46.gif new file mode 100755 index 00000000..112346ca Binary files /dev/null and b/includes/avatar/avatar46.gif differ diff --git a/includes/avatar/avatar460.gif b/includes/avatar/avatar460.gif new file mode 100755 index 00000000..155e84b5 Binary files /dev/null and b/includes/avatar/avatar460.gif differ diff --git a/includes/avatar/avatar461.gif b/includes/avatar/avatar461.gif new file mode 100755 index 00000000..28057664 Binary files /dev/null and b/includes/avatar/avatar461.gif differ diff --git a/includes/avatar/avatar462.gif b/includes/avatar/avatar462.gif new file mode 100755 index 00000000..acd3d942 Binary files /dev/null and b/includes/avatar/avatar462.gif differ diff --git a/includes/avatar/avatar463.gif b/includes/avatar/avatar463.gif new file mode 100755 index 00000000..caf0b9c5 Binary files /dev/null and b/includes/avatar/avatar463.gif differ diff --git a/includes/avatar/avatar464.gif b/includes/avatar/avatar464.gif new file mode 100755 index 00000000..30a066f3 Binary files /dev/null and b/includes/avatar/avatar464.gif differ diff --git a/includes/avatar/avatar465.gif b/includes/avatar/avatar465.gif new file mode 100755 index 00000000..768c4003 Binary files /dev/null and b/includes/avatar/avatar465.gif differ diff --git a/includes/avatar/avatar466.gif b/includes/avatar/avatar466.gif new file mode 100755 index 00000000..ddf8c54c Binary files /dev/null and b/includes/avatar/avatar466.gif differ diff --git a/includes/avatar/avatar467.gif b/includes/avatar/avatar467.gif new file mode 100755 index 00000000..c293c4c8 Binary files /dev/null and b/includes/avatar/avatar467.gif differ diff --git a/includes/avatar/avatar468.gif b/includes/avatar/avatar468.gif new file mode 100755 index 00000000..ec0c778f Binary files /dev/null and b/includes/avatar/avatar468.gif differ diff --git a/includes/avatar/avatar469.gif b/includes/avatar/avatar469.gif new file mode 100755 index 00000000..12a62367 Binary files /dev/null and b/includes/avatar/avatar469.gif differ diff --git a/includes/avatar/avatar47.gif b/includes/avatar/avatar47.gif new file mode 100755 index 00000000..f9edc8c9 Binary files /dev/null and b/includes/avatar/avatar47.gif differ diff --git a/includes/avatar/avatar470.gif b/includes/avatar/avatar470.gif new file mode 100755 index 00000000..a6feb187 Binary files /dev/null and b/includes/avatar/avatar470.gif differ diff --git a/includes/avatar/avatar471.gif b/includes/avatar/avatar471.gif new file mode 100755 index 00000000..3ce796c4 Binary files /dev/null and b/includes/avatar/avatar471.gif differ diff --git a/includes/avatar/avatar472.gif b/includes/avatar/avatar472.gif new file mode 100755 index 00000000..467432c9 Binary files /dev/null and b/includes/avatar/avatar472.gif differ diff --git a/includes/avatar/avatar473.gif b/includes/avatar/avatar473.gif new file mode 100755 index 00000000..47bf9a19 Binary files /dev/null and b/includes/avatar/avatar473.gif differ diff --git a/includes/avatar/avatar474.gif b/includes/avatar/avatar474.gif new file mode 100755 index 00000000..7518dc8d Binary files /dev/null and b/includes/avatar/avatar474.gif differ diff --git a/includes/avatar/avatar475.gif b/includes/avatar/avatar475.gif new file mode 100755 index 00000000..1cd12980 Binary files /dev/null and b/includes/avatar/avatar475.gif differ diff --git a/includes/avatar/avatar476.gif b/includes/avatar/avatar476.gif new file mode 100755 index 00000000..b300940b Binary files /dev/null and b/includes/avatar/avatar476.gif differ diff --git a/includes/avatar/avatar477.gif b/includes/avatar/avatar477.gif new file mode 100755 index 00000000..d2ea55a0 Binary files /dev/null and b/includes/avatar/avatar477.gif differ diff --git a/includes/avatar/avatar478.gif b/includes/avatar/avatar478.gif new file mode 100755 index 00000000..924b2282 Binary files /dev/null and b/includes/avatar/avatar478.gif differ diff --git a/includes/avatar/avatar479.gif b/includes/avatar/avatar479.gif new file mode 100755 index 00000000..1b4756ee Binary files /dev/null and b/includes/avatar/avatar479.gif differ diff --git a/includes/avatar/avatar48.gif b/includes/avatar/avatar48.gif new file mode 100755 index 00000000..c34d4a50 Binary files /dev/null and b/includes/avatar/avatar48.gif differ diff --git a/includes/avatar/avatar480.gif b/includes/avatar/avatar480.gif new file mode 100755 index 00000000..5fa9878f Binary files /dev/null and b/includes/avatar/avatar480.gif differ diff --git a/includes/avatar/avatar481.gif b/includes/avatar/avatar481.gif new file mode 100755 index 00000000..f48cf52f Binary files /dev/null and b/includes/avatar/avatar481.gif differ diff --git a/includes/avatar/avatar482.gif b/includes/avatar/avatar482.gif new file mode 100755 index 00000000..754fa21c Binary files /dev/null and b/includes/avatar/avatar482.gif differ diff --git a/includes/avatar/avatar483.gif b/includes/avatar/avatar483.gif new file mode 100755 index 00000000..d72a4c09 Binary files /dev/null and b/includes/avatar/avatar483.gif differ diff --git a/includes/avatar/avatar484.gif b/includes/avatar/avatar484.gif new file mode 100755 index 00000000..7429a913 Binary files /dev/null and b/includes/avatar/avatar484.gif differ diff --git a/includes/avatar/avatar485.gif b/includes/avatar/avatar485.gif new file mode 100755 index 00000000..aab93132 Binary files /dev/null and b/includes/avatar/avatar485.gif differ diff --git a/includes/avatar/avatar486.gif b/includes/avatar/avatar486.gif new file mode 100755 index 00000000..99278401 Binary files /dev/null and b/includes/avatar/avatar486.gif differ diff --git a/includes/avatar/avatar487.gif b/includes/avatar/avatar487.gif new file mode 100755 index 00000000..2e41a5e9 Binary files /dev/null and b/includes/avatar/avatar487.gif differ diff --git a/includes/avatar/avatar488.gif b/includes/avatar/avatar488.gif new file mode 100755 index 00000000..3444526d Binary files /dev/null and b/includes/avatar/avatar488.gif differ diff --git a/includes/avatar/avatar489.gif b/includes/avatar/avatar489.gif new file mode 100755 index 00000000..6f63b13d Binary files /dev/null and b/includes/avatar/avatar489.gif differ diff --git a/includes/avatar/avatar49.gif b/includes/avatar/avatar49.gif new file mode 100755 index 00000000..2c637ed0 Binary files /dev/null and b/includes/avatar/avatar49.gif differ diff --git a/includes/avatar/avatar490.gif b/includes/avatar/avatar490.gif new file mode 100755 index 00000000..80a07e2b Binary files /dev/null and b/includes/avatar/avatar490.gif differ diff --git a/includes/avatar/avatar491.gif b/includes/avatar/avatar491.gif new file mode 100755 index 00000000..65bb584e Binary files /dev/null and b/includes/avatar/avatar491.gif differ diff --git a/includes/avatar/avatar492.gif b/includes/avatar/avatar492.gif new file mode 100755 index 00000000..c8ce0d9d Binary files /dev/null and b/includes/avatar/avatar492.gif differ diff --git a/includes/avatar/avatar493.gif b/includes/avatar/avatar493.gif new file mode 100755 index 00000000..4ed86532 Binary files /dev/null and b/includes/avatar/avatar493.gif differ diff --git a/includes/avatar/avatar494.gif b/includes/avatar/avatar494.gif new file mode 100755 index 00000000..47d5e2e2 Binary files /dev/null and b/includes/avatar/avatar494.gif differ diff --git a/includes/avatar/avatar495.gif b/includes/avatar/avatar495.gif new file mode 100755 index 00000000..9b7bdd44 Binary files /dev/null and b/includes/avatar/avatar495.gif differ diff --git a/includes/avatar/avatar496.gif b/includes/avatar/avatar496.gif new file mode 100755 index 00000000..2a4429e8 Binary files /dev/null and b/includes/avatar/avatar496.gif differ diff --git a/includes/avatar/avatar497.gif b/includes/avatar/avatar497.gif new file mode 100755 index 00000000..aebb9cad Binary files /dev/null and b/includes/avatar/avatar497.gif differ diff --git a/includes/avatar/avatar498.gif b/includes/avatar/avatar498.gif new file mode 100755 index 00000000..2dab371f Binary files /dev/null and b/includes/avatar/avatar498.gif differ diff --git a/includes/avatar/avatar499.gif b/includes/avatar/avatar499.gif new file mode 100755 index 00000000..c23e44fd Binary files /dev/null and b/includes/avatar/avatar499.gif differ diff --git a/includes/avatar/avatar5.gif b/includes/avatar/avatar5.gif new file mode 100755 index 00000000..c0134ee8 Binary files /dev/null and b/includes/avatar/avatar5.gif differ diff --git a/includes/avatar/avatar50.gif b/includes/avatar/avatar50.gif new file mode 100755 index 00000000..101883c4 Binary files /dev/null and b/includes/avatar/avatar50.gif differ diff --git a/includes/avatar/avatar51.gif b/includes/avatar/avatar51.gif new file mode 100755 index 00000000..310d6f66 Binary files /dev/null and b/includes/avatar/avatar51.gif differ diff --git a/includes/avatar/avatar52.gif b/includes/avatar/avatar52.gif new file mode 100755 index 00000000..01ce7062 Binary files /dev/null and b/includes/avatar/avatar52.gif differ diff --git a/includes/avatar/avatar53.gif b/includes/avatar/avatar53.gif new file mode 100755 index 00000000..7ba2db43 Binary files /dev/null and b/includes/avatar/avatar53.gif differ diff --git a/includes/avatar/avatar54.gif b/includes/avatar/avatar54.gif new file mode 100755 index 00000000..2f4ef2a0 Binary files /dev/null and b/includes/avatar/avatar54.gif differ diff --git a/includes/avatar/avatar55.gif b/includes/avatar/avatar55.gif new file mode 100755 index 00000000..7e9cd013 Binary files /dev/null and b/includes/avatar/avatar55.gif differ diff --git a/includes/avatar/avatar56.gif b/includes/avatar/avatar56.gif new file mode 100755 index 00000000..e9d115b5 Binary files /dev/null and b/includes/avatar/avatar56.gif differ diff --git a/includes/avatar/avatar57.gif b/includes/avatar/avatar57.gif new file mode 100755 index 00000000..a4d85078 Binary files /dev/null and b/includes/avatar/avatar57.gif differ diff --git a/includes/avatar/avatar58.gif b/includes/avatar/avatar58.gif new file mode 100755 index 00000000..597b70bd Binary files /dev/null and b/includes/avatar/avatar58.gif differ diff --git a/includes/avatar/avatar59.gif b/includes/avatar/avatar59.gif new file mode 100755 index 00000000..9032b75b Binary files /dev/null and b/includes/avatar/avatar59.gif differ diff --git a/includes/avatar/avatar6.gif b/includes/avatar/avatar6.gif new file mode 100755 index 00000000..6c0416b1 Binary files /dev/null and b/includes/avatar/avatar6.gif differ diff --git a/includes/avatar/avatar60.gif b/includes/avatar/avatar60.gif new file mode 100755 index 00000000..33744c36 Binary files /dev/null and b/includes/avatar/avatar60.gif differ diff --git a/includes/avatar/avatar61.gif b/includes/avatar/avatar61.gif new file mode 100755 index 00000000..a88f6971 Binary files /dev/null and b/includes/avatar/avatar61.gif differ diff --git a/includes/avatar/avatar62.gif b/includes/avatar/avatar62.gif new file mode 100755 index 00000000..4f8d1bee Binary files /dev/null and b/includes/avatar/avatar62.gif differ diff --git a/includes/avatar/avatar63.gif b/includes/avatar/avatar63.gif new file mode 100755 index 00000000..d55fe2bd Binary files /dev/null and b/includes/avatar/avatar63.gif differ diff --git a/includes/avatar/avatar64.gif b/includes/avatar/avatar64.gif new file mode 100755 index 00000000..b7cf7a83 Binary files /dev/null and b/includes/avatar/avatar64.gif differ diff --git a/includes/avatar/avatar65.gif b/includes/avatar/avatar65.gif new file mode 100755 index 00000000..e7d2ad6b Binary files /dev/null and b/includes/avatar/avatar65.gif differ diff --git a/includes/avatar/avatar66.gif b/includes/avatar/avatar66.gif new file mode 100755 index 00000000..0ce01bfc Binary files /dev/null and b/includes/avatar/avatar66.gif differ diff --git a/includes/avatar/avatar67.gif b/includes/avatar/avatar67.gif new file mode 100755 index 00000000..a99192c7 Binary files /dev/null and b/includes/avatar/avatar67.gif differ diff --git a/includes/avatar/avatar68.gif b/includes/avatar/avatar68.gif new file mode 100755 index 00000000..d41c748c Binary files /dev/null and b/includes/avatar/avatar68.gif differ diff --git a/includes/avatar/avatar69.gif b/includes/avatar/avatar69.gif new file mode 100755 index 00000000..d8e3a099 Binary files /dev/null and b/includes/avatar/avatar69.gif differ diff --git a/includes/avatar/avatar7.gif b/includes/avatar/avatar7.gif new file mode 100755 index 00000000..32e2aab7 Binary files /dev/null and b/includes/avatar/avatar7.gif differ diff --git a/includes/avatar/avatar70.gif b/includes/avatar/avatar70.gif new file mode 100755 index 00000000..c38e5813 Binary files /dev/null and b/includes/avatar/avatar70.gif differ diff --git a/includes/avatar/avatar71.gif b/includes/avatar/avatar71.gif new file mode 100755 index 00000000..bc81138d Binary files /dev/null and b/includes/avatar/avatar71.gif differ diff --git a/includes/avatar/avatar72.gif b/includes/avatar/avatar72.gif new file mode 100755 index 00000000..7105469a Binary files /dev/null and b/includes/avatar/avatar72.gif differ diff --git a/includes/avatar/avatar73.gif b/includes/avatar/avatar73.gif new file mode 100755 index 00000000..c5cf7b5f Binary files /dev/null and b/includes/avatar/avatar73.gif differ diff --git a/includes/avatar/avatar74.gif b/includes/avatar/avatar74.gif new file mode 100755 index 00000000..3c6b4e38 Binary files /dev/null and b/includes/avatar/avatar74.gif differ diff --git a/includes/avatar/avatar75.gif b/includes/avatar/avatar75.gif new file mode 100755 index 00000000..c193589f Binary files /dev/null and b/includes/avatar/avatar75.gif differ diff --git a/includes/avatar/avatar76.gif b/includes/avatar/avatar76.gif new file mode 100755 index 00000000..7926bb97 Binary files /dev/null and b/includes/avatar/avatar76.gif differ diff --git a/includes/avatar/avatar77.gif b/includes/avatar/avatar77.gif new file mode 100755 index 00000000..72991ce6 Binary files /dev/null and b/includes/avatar/avatar77.gif differ diff --git a/includes/avatar/avatar78.gif b/includes/avatar/avatar78.gif new file mode 100755 index 00000000..2972aa4f Binary files /dev/null and b/includes/avatar/avatar78.gif differ diff --git a/includes/avatar/avatar79.gif b/includes/avatar/avatar79.gif new file mode 100755 index 00000000..d20e13af Binary files /dev/null and b/includes/avatar/avatar79.gif differ diff --git a/includes/avatar/avatar8.gif b/includes/avatar/avatar8.gif new file mode 100755 index 00000000..b3e710cb Binary files /dev/null and b/includes/avatar/avatar8.gif differ diff --git a/includes/avatar/avatar80.gif b/includes/avatar/avatar80.gif new file mode 100755 index 00000000..4c6afccc Binary files /dev/null and b/includes/avatar/avatar80.gif differ diff --git a/includes/avatar/avatar81.gif b/includes/avatar/avatar81.gif new file mode 100755 index 00000000..2513d085 Binary files /dev/null and b/includes/avatar/avatar81.gif differ diff --git a/includes/avatar/avatar82.gif b/includes/avatar/avatar82.gif new file mode 100755 index 00000000..ba761468 Binary files /dev/null and b/includes/avatar/avatar82.gif differ diff --git a/includes/avatar/avatar83.gif b/includes/avatar/avatar83.gif new file mode 100755 index 00000000..085cab2b Binary files /dev/null and b/includes/avatar/avatar83.gif differ diff --git a/includes/avatar/avatar84.gif b/includes/avatar/avatar84.gif new file mode 100755 index 00000000..07ee7424 Binary files /dev/null and b/includes/avatar/avatar84.gif differ diff --git a/includes/avatar/avatar85.gif b/includes/avatar/avatar85.gif new file mode 100755 index 00000000..cd510ece Binary files /dev/null and b/includes/avatar/avatar85.gif differ diff --git a/includes/avatar/avatar86.gif b/includes/avatar/avatar86.gif new file mode 100755 index 00000000..0c791d78 Binary files /dev/null and b/includes/avatar/avatar86.gif differ diff --git a/includes/avatar/avatar87.gif b/includes/avatar/avatar87.gif new file mode 100755 index 00000000..dac9b589 Binary files /dev/null and b/includes/avatar/avatar87.gif differ diff --git a/includes/avatar/avatar88.gif b/includes/avatar/avatar88.gif new file mode 100755 index 00000000..e27c3b3b Binary files /dev/null and b/includes/avatar/avatar88.gif differ diff --git a/includes/avatar/avatar89.gif b/includes/avatar/avatar89.gif new file mode 100755 index 00000000..c07019c0 Binary files /dev/null and b/includes/avatar/avatar89.gif differ diff --git a/includes/avatar/avatar9.gif b/includes/avatar/avatar9.gif new file mode 100755 index 00000000..448c6ecc Binary files /dev/null and b/includes/avatar/avatar9.gif differ diff --git a/includes/avatar/avatar90.gif b/includes/avatar/avatar90.gif new file mode 100755 index 00000000..f71a5957 Binary files /dev/null and b/includes/avatar/avatar90.gif differ diff --git a/includes/avatar/avatar91.gif b/includes/avatar/avatar91.gif new file mode 100755 index 00000000..9b12113f Binary files /dev/null and b/includes/avatar/avatar91.gif differ diff --git a/includes/avatar/avatar92.gif b/includes/avatar/avatar92.gif new file mode 100755 index 00000000..c3c22c89 Binary files /dev/null and b/includes/avatar/avatar92.gif differ diff --git a/includes/avatar/avatar93.gif b/includes/avatar/avatar93.gif new file mode 100755 index 00000000..1c33f2af Binary files /dev/null and b/includes/avatar/avatar93.gif differ diff --git a/includes/avatar/avatar94.gif b/includes/avatar/avatar94.gif new file mode 100755 index 00000000..a91b90a2 Binary files /dev/null and b/includes/avatar/avatar94.gif differ diff --git a/includes/avatar/avatar95.gif b/includes/avatar/avatar95.gif new file mode 100755 index 00000000..dc7fe45f Binary files /dev/null and b/includes/avatar/avatar95.gif differ diff --git a/includes/avatar/avatar96.gif b/includes/avatar/avatar96.gif new file mode 100755 index 00000000..f9aec5bf Binary files /dev/null and b/includes/avatar/avatar96.gif differ diff --git a/includes/avatar/avatar97.gif b/includes/avatar/avatar97.gif new file mode 100755 index 00000000..018fd0dc Binary files /dev/null and b/includes/avatar/avatar97.gif differ diff --git a/includes/avatar/avatar98.gif b/includes/avatar/avatar98.gif new file mode 100755 index 00000000..e963d44f Binary files /dev/null and b/includes/avatar/avatar98.gif differ diff --git a/includes/avatar/avatar99.gif b/includes/avatar/avatar99.gif new file mode 100755 index 00000000..3270bd87 Binary files /dev/null and b/includes/avatar/avatar99.gif 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 @@ + 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 @@ + 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 @@ + 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; + + color: #000000 +} + +.contenttopic { + font-weight: bold; + font-size: small; + color: #ffffff; + background-color: #ff1111 +} + + + +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 @@ + $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 "
\n".$message."
"; + } + +} + + 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 Binary files /dev/null and b/includes/flag/de.gif differ diff --git a/includes/flag/en.gif b/includes/flag/en.gif new file mode 100755 index 00000000..34936ee3 Binary files /dev/null and b/includes/flag/en.gif 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 @@ + + + + + + + + + +
+

+ ".Get_Text("back")." "; + ?> + +

+ + + + + + + + + + + + + + + + + + + + + +
© copyleft - Kontakt +
+ + + + + + + + + + + + + + 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 @@ + 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 @@ +Engel online"; + +$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"; + if( $_SESSION['UID']>0 ) + echo DisplayAvatar( mysql_result( $Erg, $i, "UID")); + // Schow Admin Page + if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" ) + echo " ". + mysql_result( $Erg, $i, "Nick"). ""; + 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 "\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 @@ + 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 @@ +$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 @@ +"; + $Diff .= ""; + for ($m = 0 ; $m < $Anzahl_Felder ; $m++) + $Diff .= "". mysql_field_name($Erg, $m). ""; + $Diff .= ""; + + for ($n = 0 ; $n < $Zeilen ; $n++) + { + $Diff .= ""; + for ($m = 0 ; $m < $Anzahl_Felder ; $m++) + $Diff .= "".mysql_result($Erg, $n, $m). ""; + $Diff .= ""; + } + $Diff .= ""; + return $Diff; + } + + function db_querry_getDatenAssocArray($SQL) + { + global $con; + + $Erg = mysql_query($SQL, $con); + echo mysql_error($con); + + $Daten = array(); + for( $i=0; $i $Data1) + { + if( isset( $Daten2[$DataKey])) + { + $Data2 = $Daten2[$DataKey]; + foreach($Data1 as $key => $value) + if( $value != $Data2[$key]) + { + $Gefunden=TRUE; + $Diff .= "\n\t$key\n\t$value\n\t".$Data2[$key]."\n"; + } + } + else + foreach($Data1 as $key => $value) + { + $Gefunden=TRUE; + $Diff .= "\n\t$key\n\t$value\n\t\n"; + } + } + $Diff .= "\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("

funktion_db ERROR SQL: '$SQL' nicht OK

"); + + //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:
". htmlentities( $SQL, ENT_QUOTES); + if( strlen($Diff) > 0) + $SQLCommand .= "

Diff:
$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 @@ +"; + +echo ""; +for ($m = 0 ; $m < $Anzahl_Felder ; $m++) { + echo "". mysql_field_name($Erg, $m). ""; + } +echo ""; + +for ($n = 0 ; $n < $Zeilen ; $n++) { + echo ""; + for ($m = 0 ; $m < $Anzahl_Felder ; $m++) { + echo "".mysql_result($Erg, $n, $m). ""; + } + echo ""; +} + +echo ""; +} + +?> 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 @@ + 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 @@ +"; + +if( strpos( $_SERVER["REQUEST_URI"], "?") >0) + $URL = $_SERVER["REQUEST_URI"]. "&SetLanguage="; +else + $URL = $_SERVER["REQUEST_URI"]. "?SetLanguage="; + +echo "\"DE\" "; +echo "\"En\" "; + +?> 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 @@ +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("\n"); + $this->SendPacket("\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(""); + $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 = "{$this->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 = "{$this->username} + {$this->password} + $reg_email + $reg_name\n"; + + $payload .= ($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 = "\n"; + + if (isset($content['subject'])) + { + $xml .= "" . $content['subject'] . "\n"; + } + + if (isset($content['thread'])) + { + $xml .= "" . $content['thread'] . "\n"; + } + + $xml .= "" . $content['body'] . "\n"; + $xml .= $payload; + $xml .= "\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 = "\n" : " />\n"; + + $xml .= ($status) ? " $status\n" : ''; + $xml .= ($show) ? " $show\n" : ''; + $xml .= ($priority) ? " $priority\n" : ''; + + $xml .= ($status || $show || $priority) ? "\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 = "error_codes[$error_number]; + $xml .= "\n"; + $xml .= ""; + + $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 = " 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", ""); + + 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("", 'CruiseControl'); + $this->SendPacket(""); + // ** + + $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 = "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\n" : ''; + foreach ($details as $element => $value) + { + $payload .= "<$element>$value\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 = " + + "; + + $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 "

Logging enabled, logged events have been written to the file {$this->log_filename}.

\n"; + } + else + { + echo "

Logging enabled, logged events below:

\n"; + echo "
\n";
+        echo (count($this->log_array) > 0) ? implode("\n\n\n", $this->log_array) : "No logged events.";
+        echo "
\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 = "{$this->username} + $zerok_hash + {$this->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 = "{$this->username} + {$this->resource} + " . bin2hex(mhash(MHASH_SHA1, $this->stream_id . $this->password)) . ""; + + $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 = "{$this->username} + {$this->password} + {$this->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; + } + + + + // ====================================================================== + // 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; + } + + + + // ====================================================================== + // 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; + } + + + + // ====================================================================== + // 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; + } + + + + // ====================================================================== + // 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"); + } + + + + // ====================================================================== + // 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 = "" . gmdate("Ydm\TH:i:s") . " + " . date("T") . " + " . date("Y/d/m h:i:s A") . ""; + + $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 = "{$this->iq_version_name} + {$this->iq_version_os} + {$this->iq_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.'); + } + } + */ + + + // ====================================================================== + // 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[] = "Presence: (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 "
";
+    }
+
+    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 "
"; + } + } +} + + + +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) . "\";
"; + 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 .= "\n"; + } + } + else + { + $value = htmlspecialchars($value); + $text .= "<$key>$value\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 @@ + 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 @@ +". Get_Text("$MenuName/"). ""; + + //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
  • $TempName
  • \n"; + $Gefunden = TRUE; + } + } + elseif( $DEBUG ) + { + $Gefunden = TRUE; + $Text .= "\t\t\t
  • $TempName ($Key)
  • \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 @@ +$Number' was called
    \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: '$Number' was not called
    \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 @@ +edit
    \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.="$Man:
    "; + else + $Spalten.="".$Man.":
    "; + + + /////////////////////////////////////////////////////////////////// + // 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"). ":
    \n\t\t"; + else + $Spalten.= Get_Text("inc_schicht_sind"). ":
    \n\t\t"; + + foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) + { + if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" ) + $Spalten.= " "; + + if( $_SESSION['CVS'][ "admin/schichtplan.php" ] == "Y" ) + { + if( UIDgekommen( $TempEngelID ) == "1") + $Spalten.= "  ". + UID2Nick( $TempEngelID ). + ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): ""). + "
    \n\t\t"; + else + $Spalten.= "  ". + UID2Nick( $TempEngelID ). + ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): ""). + "
    \n\t\t"; + } + else + $Spalten.= "  ". UID2Nick( $TempEngelID ). + ($_GET["Icon"]==1? DisplayAvatar( $TempEngelID ): ""). + "
    \n\t\t"; + if( $_SESSION['CVS'][ "admin/user.php" ] == "Y" ) + $Spalten.= "
    "; + } + $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.= "
    \n\t\t  "; + $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.= ""; + } + } + else + { + if( isset($TempValue["free"])) + if( $TempValue["free"] > 0 ) + $Spalten.= "
    \n\t\t  

    Fehlen noch: ". + $TempValue["free"]. "

    "; + } + $Spalten.= "
    \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 "

    ". Get_Text("pub_schichtplan_colision"). "

    "; + echo "". + mysql_result($ErgSonder, 0, "DateS"). + " '". mysql_result($ErgSonder, 0, "Man")."' (RID $raum) (00-24)". + "
    \n\t\t"; + } + } + elseif( (mysql_num_rows( $ErgSonder) == 1) ) + { + $Spalten[0].= "\t\t\n". + "\t\t\t

    ↑↑↑

    ". + Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), + mysql_result($ErgSonder, 0, "Man") ). + "\t\t\t

    ↓↓↓

    ". + "\n\t\t\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 "

    ". Get_Text("pub_schichtplan_colision"). "

    "; + echo "". + mysql_result($ErgSonder, 0, "DateS"). + " '". mysql_result($ErgSonder, 0, "Man")."' (RID $raum) (00-xx)". + "
    \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\n". + "\t\t\t

    ↑↑↑

    ". + Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), + mysql_result($ErgSonder, 0, "Man") ). + "\n\t\t\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 \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\n". + "\t\t\t". + Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"), + mysql_result($Erg, $i, "Man") ). + (( ($ZeitZeiger+$len) > 24)? "\t\t\t

    ↓↓↓

    " : ""). + "\n\t\t\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)

    "; + } + } + if( $ZeitZeiger < 24 ) + $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].= + "\t\t \n"; +} // function CreateRoomShifts + + +/*####################################################### +# Ausgabe der freien schichten # +#######################################################*/ +function showEmptyShifts( ) +{ + global $con, $DEBUG, $RoomID, $gmdateOffset; + + echo "\n"; + echo "\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\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; ($i0) + { + $angezeigt++; + echo "\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\n"; + } + } + + echo "
    ". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "
    ". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "". substr(mysql_result( $Erg, $i, "DateS"), 11). "". $RoomID[mysql_result( $Erg, $i, "RID")]. "". + ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")). + "
    \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 @@ + $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 @@ + 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 @@ +\n"; + + $Out.= "\t\t\t\n". + "\t\t\t\t\n". + "\t\t\t\t\n". + "\t\t\t\t\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\n"; + + // ausgabe EngelType + $Out.= "\t\t\t\t". $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.= "\n"; + $Out.= "\t\t\t\t"; + + foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) + $Out.= UID2Nick( $TempEngelID ). ", "; +// $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", "; + $Out = substr( $Out, 0, strlen($Out)-2 ); + } + else + { + $Out.= ":\n"; + $Out.= "\t\t\t\t\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.= "\n"; + $Out.= "\t\t\t\n"; + + } // FOREACH + + $Out.= "\t\t\t\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"; + 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.= "
    "; +// $Out.= "
    \n\t\t\t\t"; + + } + else + $Out.= " "; + + $Out.= "\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 @@ +",$neueckig); + $neueckig = str_replace(":-))","",$neueckig); + $neueckig = str_replace(";o)","",$neueckig); + $neueckig = str_replace(":)","",$neueckig); + $neueckig = str_replace(":-)","",$neueckig); + $neueckig = str_replace(":(","",$neueckig); + $neueckig = str_replace(":-(","",$neueckig); + $neueckig = str_replace(":o(","",$neueckig); + $neueckig = str_replace(":o)","",$neueckig); + $neueckig = str_replace(";o(","",$neueckig); + $neueckig = str_replace(";(","",$neueckig); + $neueckig = str_replace(";-(","",$neueckig); + $neueckig = str_replace("8)","",$neueckig); + $neueckig = str_replace("8o)","",$neueckig); + $neueckig = str_replace(":P","",$neueckig); + $neueckig = str_replace(":-P","",$neueckig); + $neueckig = str_replace(":oP","",$neueckig); + $neueckig = str_replace(";P","",$neueckig); + $neueckig = str_replace(";oP","",$neueckig); + $neueckig = str_replace("?)","",$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: + + [] */ +function displayPictur($UID, $height="30") +{ + if( $height > 0) + return( "\"picture"); + else + return( "\"picture"); +} + + +/* Parameter: + + [] */ +function displayavatar( $UID, $height="30") +{ + global $con; + + if( GetPicturShow($UID) == 'Y') + return " ". 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 (" "); + +} + +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 @@ +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???
    "; + } + 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|". "#-#
    "; + } + 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("

    could not open XML file \"$file\"

    "); + return -1; + } + } + else + { + echo("

    XML file \"$file\" not exist

    "); + return -1; + } + + if( $XMLDEBUG) echo "
    ";
    +	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 "
    "; + 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 "

    Fehler: getXMLsubPease( $Sourse, $Name ) not found

    "; +// 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 @@ +\n

    Rooms:

    \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
    "; + else + echo "Aenderung, an Raum ". $_GET["NameXML"]. ", war nicht erfogreich.(". + mysql_error($con). ")
    [$SQL]
    "; + } + else + echo "Fehler in den Parametern!
    "; +} /*function saveRoomData*/ + +if( isset($_GET["RoomUpdate"])) + saveRoomData(); + +//INIT Status counter +$DS_KO = 0; + +//Ausgabe +echo "\n"; +echo "\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 "\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + $DS_KO++; + echo "\t\n"; + echo "\n"; + echo "
    "; + } + } + } +} +echo "\n"; +echo "
    Namestate
    status: $DS_KO nicht vorhanden.
    \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 @@ +Schudle:\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
    \n"; + if( mysql_num_rows($Erg1)==0) + { + echo "-->Create Shifts:
    \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 0 ) + { + echo "---->Create engeltype: ". substr( mysql_field_name($Erg2, $j), 12). + " ". mysql_result($Erg2, 0, $j). "x
    \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
    \n"; + else + echo "------>fail ". + mysql_error($con). + "($SQL3)
    \n"; + } + + } + echo "
    \n"; + } + } + else + echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "', war nicht erfogreich.(". + mysql_error($con). ")
    [$SQL]
    \n"; + } + else + echo "Fehler in den Parametern!
    "; +} /*SaveSchedule*/ + +if( isset($_GET["ScheduleUpdate"])) + SaveSchedule(); + +//INIT Status counter +$DS_OK = 0; +$DS_KO = 0; +$Where = ""; + +//ausgabe +echo "\n"; +echo "". + "\n"; +echo "". + "\n"; + +if( $EnableSchudle) +foreach($XMLmain->sub as $EventKey => $Event) +{ + if( $Event->name == "VEVENT") + { + echo "\n"; + echo "\t\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\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + if( !( $PSIDXML==$PSIDDB && + $DateXML==$TimeDB && + $RIDXML==$RIDDB && + $LenXML==$LenDB && + $ManXML==$ManDB && + $URLXML==$URLDB) ) + { + echo "\t\n"; + $DS_KO++; + } + else + { + echo "\t\n"; + $DS_OK++; + } + echo "\t\n"; + echo "\n"; + $Where.= " OR `PSID`='$PSIDXML'"; + } +} +echo "\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\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\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + } +echo "
    PSIDDateRoomLenNamestate
    XML - DBXML - DBXML - DBXML - DBXML - DB
    \n\t\t". + "\n\t\t". + "\n\t\t". + "\n\t\t". + "edit
    status: $DS_KO/$DS_OK nicht Aktuel.
    \n\t\t". + "\n\t\t". + "\n\t\t". + "\n\t\t". + "edit
    "; + + +?> 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 @@ + 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 @@ + $_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 "\n"; +?> + + +--- $title $Version ---"; +?> + + + + + + + + +.css"> +\n"; + } + +if (isset($Page["AutoReload"])) { + echo "\n\n"; + } +?> + + +0) + { + echo $SystemDisableMessage; + echo "\n\n\n"; + die(); + } + + +if( !isset($Page["ShowTabel"]) ) $Page["ShowTabel"]="Y"; +if( $Page["ShowTabel"]=="Y" ) +{ +//############################### ShowTable Start ############################## + +?> +
    + .png" alt="Unser Himmel"> +

    + 0 ) + echo "
    ". Get_Text("pub_messages_new1"). + " ". mysql_num_rows( $erg ). " ". + Get_Text("pub_messages_new2"). "

    "; + } +?> + + + + + + + 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 @@ +\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\"
    "; +} + +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\"
    "; +} +if( $DEBUG) + echo "secure.php END
    \n"; + +?> diff --git a/includes/smiles/aerger2.gif b/includes/smiles/aerger2.gif new file mode 100755 index 00000000..accb9774 Binary files /dev/null and b/includes/smiles/aerger2.gif differ diff --git a/includes/smiles/alien.gif b/includes/smiles/alien.gif new file mode 100755 index 00000000..1404f299 Binary files /dev/null and b/includes/smiles/alien.gif differ diff --git a/includes/smiles/blush.gif b/includes/smiles/blush.gif new file mode 100755 index 00000000..28ce436b Binary files /dev/null and b/includes/smiles/blush.gif differ diff --git a/includes/smiles/boggle.gif b/includes/smiles/boggle.gif new file mode 100755 index 00000000..472a3c3c Binary files /dev/null and b/includes/smiles/boggle.gif differ diff --git a/includes/smiles/bounce.gif b/includes/smiles/bounce.gif new file mode 100755 index 00000000..942318f3 Binary files /dev/null and b/includes/smiles/bounce.gif differ diff --git a/includes/smiles/bun.gif b/includes/smiles/bun.gif new file mode 100755 index 00000000..c6ee6937 Binary files /dev/null and b/includes/smiles/bun.gif differ diff --git a/includes/smiles/candycane.gif b/includes/smiles/candycane.gif new file mode 100755 index 00000000..4469a5c5 Binary files /dev/null and b/includes/smiles/candycane.gif differ diff --git a/includes/smiles/cheesy.gif b/includes/smiles/cheesy.gif new file mode 100755 index 00000000..52d35b27 Binary files /dev/null and b/includes/smiles/cheesy.gif differ diff --git a/includes/smiles/dead.gif b/includes/smiles/dead.gif new file mode 100755 index 00000000..8328c337 Binary files /dev/null and b/includes/smiles/dead.gif differ diff --git a/includes/smiles/depressed.gif b/includes/smiles/depressed.gif new file mode 100755 index 00000000..17c24c42 Binary files /dev/null and b/includes/smiles/depressed.gif differ diff --git a/includes/smiles/ginger.gif b/includes/smiles/ginger.gif new file mode 100755 index 00000000..199b085d Binary files /dev/null and b/includes/smiles/ginger.gif differ diff --git a/includes/smiles/hirsch1.gif b/includes/smiles/hirsch1.gif new file mode 100755 index 00000000..6ef61330 Binary files /dev/null and b/includes/smiles/hirsch1.gif differ diff --git a/includes/smiles/huh.gif b/includes/smiles/huh.gif new file mode 100755 index 00000000..448c6ecc Binary files /dev/null and b/includes/smiles/huh.gif differ diff --git a/includes/smiles/icon_arrow.gif b/includes/smiles/icon_arrow.gif new file mode 100755 index 00000000..2880055c Binary files /dev/null and b/includes/smiles/icon_arrow.gif differ diff --git a/includes/smiles/icon_biggrin.gif b/includes/smiles/icon_biggrin.gif new file mode 100755 index 00000000..d3527723 Binary files /dev/null and b/includes/smiles/icon_biggrin.gif differ diff --git a/includes/smiles/icon_confused.gif b/includes/smiles/icon_confused.gif new file mode 100755 index 00000000..0c49e069 Binary files /dev/null and b/includes/smiles/icon_confused.gif differ diff --git a/includes/smiles/icon_cool.gif b/includes/smiles/icon_cool.gif new file mode 100755 index 00000000..cead0306 Binary files /dev/null and b/includes/smiles/icon_cool.gif differ diff --git a/includes/smiles/icon_cry.gif b/includes/smiles/icon_cry.gif new file mode 100755 index 00000000..7d54b1f9 Binary files /dev/null and b/includes/smiles/icon_cry.gif differ diff --git a/includes/smiles/icon_eek.gif b/includes/smiles/icon_eek.gif new file mode 100755 index 00000000..5d397810 Binary files /dev/null and b/includes/smiles/icon_eek.gif differ diff --git a/includes/smiles/icon_evil.gif b/includes/smiles/icon_evil.gif new file mode 100755 index 00000000..ab1aa8e1 Binary files /dev/null and b/includes/smiles/icon_evil.gif differ diff --git a/includes/smiles/icon_exclaim.gif b/includes/smiles/icon_exclaim.gif new file mode 100755 index 00000000..6e50e2ee Binary files /dev/null and b/includes/smiles/icon_exclaim.gif differ diff --git a/includes/smiles/icon_frown.gif b/includes/smiles/icon_frown.gif new file mode 100755 index 00000000..d2ac78c0 Binary files /dev/null and b/includes/smiles/icon_frown.gif differ diff --git a/includes/smiles/icon_idea.gif b/includes/smiles/icon_idea.gif new file mode 100755 index 00000000..a40ae0d7 Binary files /dev/null and b/includes/smiles/icon_idea.gif differ diff --git a/includes/smiles/icon_lol.gif b/includes/smiles/icon_lol.gif new file mode 100755 index 00000000..374ba150 Binary files /dev/null and b/includes/smiles/icon_lol.gif differ diff --git a/includes/smiles/icon_mad.gif b/includes/smiles/icon_mad.gif new file mode 100755 index 00000000..1f6c3c2f Binary files /dev/null and b/includes/smiles/icon_mad.gif differ diff --git a/includes/smiles/icon_mrgreen.gif b/includes/smiles/icon_mrgreen.gif new file mode 100755 index 00000000..b54cd0f9 Binary files /dev/null and b/includes/smiles/icon_mrgreen.gif differ diff --git a/includes/smiles/icon_neutral.gif b/includes/smiles/icon_neutral.gif new file mode 100755 index 00000000..4f311567 Binary files /dev/null and b/includes/smiles/icon_neutral.gif differ diff --git a/includes/smiles/icon_question.gif b/includes/smiles/icon_question.gif new file mode 100755 index 00000000..9d072265 Binary files /dev/null and b/includes/smiles/icon_question.gif differ diff --git a/includes/smiles/icon_razz.gif b/includes/smiles/icon_razz.gif new file mode 100755 index 00000000..29da2a2f Binary files /dev/null and b/includes/smiles/icon_razz.gif differ diff --git a/includes/smiles/icon_redface.gif b/includes/smiles/icon_redface.gif new file mode 100755 index 00000000..ad762832 Binary files /dev/null and b/includes/smiles/icon_redface.gif differ diff --git a/includes/smiles/icon_rolleyes.gif b/includes/smiles/icon_rolleyes.gif new file mode 100755 index 00000000..d7f5f2f4 Binary files /dev/null and b/includes/smiles/icon_rolleyes.gif differ diff --git a/includes/smiles/icon_sad.gif b/includes/smiles/icon_sad.gif new file mode 100755 index 00000000..d2ac78c0 Binary files /dev/null and b/includes/smiles/icon_sad.gif differ diff --git a/includes/smiles/icon_smile.gif b/includes/smiles/icon_smile.gif new file mode 100755 index 00000000..7b1f6d30 Binary files /dev/null and b/includes/smiles/icon_smile.gif differ diff --git a/includes/smiles/icon_surprised.gif b/includes/smiles/icon_surprised.gif new file mode 100755 index 00000000..cb214243 Binary files /dev/null and b/includes/smiles/icon_surprised.gif differ diff --git a/includes/smiles/icon_twisted.gif b/includes/smiles/icon_twisted.gif new file mode 100755 index 00000000..502fe247 Binary files /dev/null and b/includes/smiles/icon_twisted.gif differ diff --git a/includes/smiles/icon_wind.gif b/includes/smiles/icon_wind.gif new file mode 100755 index 00000000..d1482880 Binary files /dev/null and b/includes/smiles/icon_wind.gif differ diff --git a/includes/smiles/koenig1.gif b/includes/smiles/koenig1.gif new file mode 100755 index 00000000..b3e710cb Binary files /dev/null and b/includes/smiles/koenig1.gif differ diff --git a/includes/smiles/laser1.gif b/includes/smiles/laser1.gif new file mode 100755 index 00000000..32e2aab7 Binary files /dev/null and b/includes/smiles/laser1.gif differ diff --git a/includes/smiles/love1.gif b/includes/smiles/love1.gif new file mode 100755 index 00000000..88dd553a Binary files /dev/null and b/includes/smiles/love1.gif differ diff --git a/includes/smiles/moo.gif b/includes/smiles/moo.gif new file mode 100755 index 00000000..e525aa86 Binary files /dev/null and b/includes/smiles/moo.gif differ diff --git a/includes/smiles/nuts.gif b/includes/smiles/nuts.gif new file mode 100755 index 00000000..12d4c5d1 Binary files /dev/null and b/includes/smiles/nuts.gif differ diff --git a/includes/smiles/robin.gif b/includes/smiles/robin.gif new file mode 100755 index 00000000..ee0f0500 Binary files /dev/null and b/includes/smiles/robin.gif differ diff --git a/includes/smiles/sheep.gif b/includes/smiles/sheep.gif new file mode 100755 index 00000000..d1691491 Binary files /dev/null and b/includes/smiles/sheep.gif differ diff --git a/includes/smiles/sick.gif b/includes/smiles/sick.gif new file mode 100755 index 00000000..488d0e8e Binary files /dev/null and b/includes/smiles/sick.gif differ diff --git a/includes/smiles/sleep.gif b/includes/smiles/sleep.gif new file mode 100755 index 00000000..7e1a0c51 Binary files /dev/null and b/includes/smiles/sleep.gif differ diff --git a/includes/smiles/soppy.gif b/includes/smiles/soppy.gif new file mode 100755 index 00000000..6c0416b1 Binary files /dev/null and b/includes/smiles/soppy.gif differ diff --git a/includes/smiles/stress.gif b/includes/smiles/stress.gif new file mode 100755 index 00000000..133913d7 Binary files /dev/null and b/includes/smiles/stress.gif differ diff --git a/includes/smiles/sweet.gif b/includes/smiles/sweet.gif new file mode 100755 index 00000000..6c1e79a7 Binary files /dev/null and b/includes/smiles/sweet.gif differ diff --git a/includes/smiles/tired.gif b/includes/smiles/tired.gif new file mode 100755 index 00000000..d8cd4306 Binary files /dev/null and b/includes/smiles/tired.gif differ diff --git a/includes/smiles/urgh.gif b/includes/smiles/urgh.gif new file mode 100755 index 00000000..16a9bc1d Binary files /dev/null and b/includes/smiles/urgh.gif differ diff --git a/includes/smiles/winken1.gif b/includes/smiles/winken1.gif new file mode 100755 index 00000000..98f1821b Binary files /dev/null and b/includes/smiles/winken1.gif differ diff --git a/includes/smiles/worm.gif b/includes/smiles/worm.gif new file mode 100755 index 00000000..c0134ee8 Binary files /dev/null and b/includes/smiles/worm.gif differ diff --git a/includes/smiles/worry.gif b/includes/smiles/worry.gif new file mode 100755 index 00000000..c598b575 Binary files /dev/null and b/includes/smiles/worry.gif differ
    + + + + + + + + +
    +"; + if( strlen( $header) == 0 ) + echo "\n\t". Get_Text($Page["Name"]). "\n"; + else + echo "\n\t$header\n"; + +?> +
    +
    +\n"; + If (IsSet($_SESSION['oldurl'])) + echo "".Get_Text("back")." geht's zurück...\n"; + else + echo "".Get_Text("back")." geht's zurück...\n"; + exit (); +} +?> + + + + + + diff --git a/includes/himmel.png b/includes/himmel.png new file mode 100755 index 00000000..6a2b5000 Binary files /dev/null and b/includes/himmel.png differ diff --git a/includes/himmel_w.png b/includes/himmel_w.png new file mode 100755 index 00000000..2dd648ab Binary files /dev/null and b/includes/himmel_w.png 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 @@ + + +
    nonpublic/index.php" method="post"> + + + + + + + + + +
    +
    +"> +
    + + 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 @@ + + +
    + +
    +"; +$MenueTableEnd=" +
    +

    +"; + +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++) { +?> + + + + +
    + +
    + + + + + +
    + +