From b22c0a1df893afe3fccc08c3b25846098612afe2 Mon Sep 17 00:00:00 2001 From: Xkeeper Date: Sat, 8 Aug 2015 22:45:34 -0700 Subject: [PATCH] First (re-)commit --- .gitignore | 7 + .htaccess | 7 + acs.php | 177 ++ activeusers.php | 147 ++ activity.php | 64 + activity2.php | 112 ++ activity3.php | 173 ++ activity3u.php | 206 +++ admin-editforums.php | 386 ++++ admin-editmods.php | 133 ++ admin-slammer.php | 73 + admin-threads.php | 114 ++ admin-threads2.php | 108 ++ admin.php | 122 ++ adnonsense.php | 154 ++ announcement.php | 206 +++ avatar.php | 72 + biggestposters.php | 81 + calendar.php | 109 ++ css/base.css | 29 + css/hydras_blue_thing.css | 18 + del.php | 206 +++ digits.png | Bin 0 -> 273 bytes digits4.png | Bin 0 -> 298 bytes digits8.png | Bin 0 -> 234 bytes digitstiny.png | Bin 0 -> 197 bytes doomcounter.php | 163 ++ editpost.php | 211 +++ editprofile.php | 286 +++ editthread.php | 130 ++ edituser.php | 235 +++ errors/403.html | 11 + errors/404.html | 15 + errors/404.png | Bin 0 -> 3423 bytes errors/500.html | 16 + errors/500.png | Bin 0 -> 5373 bytes ext/ajaxen.php | 7 + ext/hydra.php | 12 + ext/mmdoom.php | 9 + ext/ninesitter.php | 43 + ext/rendertime.php | 81 + ext/rendertime2.php | 179 ++ ext/rendertime3.php | 179 ++ ext/rpgext.php | 6 + ext/rpgstats.php | 46 + ext/xstats.php | 60 + faq.php | 223 +++ favicon-star.ico | Bin 0 -> 894 bytes favicon.gif | 0 favicon.ico | Bin 0 -> 894 bytes favicon.php | 3 + favicon1.ico | Bin 0 -> 894 bytes favicon1x.ico | Bin 0 -> 894 bytes favicon2.ico | Bin 0 -> 894 bytes favicon2x.ico | Bin 0 -> 894 bytes favicon3.ico | Bin 0 -> 894 bytes favicon3x.ico | Bin 0 -> 894 bytes favicon4.ico | Bin 0 -> 894 bytes favicon4x.ico | Bin 0 -> 894 bytes favicon5.ico | Bin 0 -> 894 bytes favicon5x.ico | Bin 0 -> 894 bytes favicon6.ico | Bin 0 -> 894 bytes favicon6x.ico | Bin 0 -> 894 bytes favicon7.ico | Bin 0 -> 894 bytes favicon7x.ico | Bin 0 -> 894 bytes favicon8.ico | Bin 0 -> 894 bytes favicon8x.ico | Bin 0 -> 894 bytes forum.php | 362 ++++ hex.php | 43 + idiotredir.php | 28 + images/.htaccess | 11 + images/1up.png | Bin 0 -> 139 bytes images/4funin1.png | Bin 0 -> 623 bytes images/_.gif | Bin 0 -> 91 bytes images/accentstovensuck.png | Bin 0 -> 637 bytes images/acmelfiabg1b.jpg | Bin 0 -> 16640 bytes images/acmelfiabg2.jpg | Bin 0 -> 3345 bytes images/acmelfiabgxmas1.jpg | Bin 0 -> 3717 bytes images/admincrap.png | Bin 0 -> 12821 bytes images/adventureofvalkyrie.png | Bin 0 -> 869 bytes images/angsa.ttf | Bin 0 -> 95816 bytes images/ann-rotohead.gif | Bin 0 -> 73718 bytes images/apple_kid.ttf | Bin 0 -> 14188 bytes images/approvedl.png | Bin 0 -> 1174 bytes images/atlantisnobanner.png | Bin 0 -> 718 bytes images/atlantisnobanner2.png | Bin 0 -> 2239 bytes images/attitudebarn.png | Bin 0 -> 1098 bytes images/back06.gif | Bin 0 -> 802 bytes images/back07.gif | Bin 0 -> 36 bytes images/back08.gif | Bin 0 -> 87 bytes images/back09.gif | Bin 0 -> 337 bytes images/back10.gif | Bin 0 -> 87 bytes images/badavatar.png | Bin 0 -> 1152 bytes images/banner01.gif | Bin 0 -> 33934 bytes images/banner02.gif | Bin 0 -> 36642 bytes images/banner03.gif | Bin 0 -> 18340 bytes images/banner04.gif | Bin 0 -> 13145 bytes images/banner05.gif | Bin 0 -> 24999 bytes images/banner06.gif | Bin 0 -> 60723 bytes images/banner07.gif | Bin 0 -> 13989 bytes images/banner08.gif | Bin 0 -> 22919 bytes images/banvil.gif | Bin 0 -> 1208 bytes images/bar-green.png | Bin 0 -> 152 bytes images/bar-off.png | Bin 0 -> 155 bytes images/bar-red.png | Bin 0 -> 152 bytes images/blackholetitle.png | Bin 0 -> 404 bytes images/blinker.gif | Bin 0 -> 116 bytes images/bmfbanner1.gif | Bin 0 -> 5690 bytes images/bmfbanneredit.png | Bin 0 -> 4487 bytes images/bmfbanneredit2.png | Bin 0 -> 3092 bytes images/bmfbanneredit3.png | Bin 0 -> 2091 bytes images/bomb/index.html | 39 + images/bomb/thebigone1.gif | Bin 0 -> 2700 bytes images/bomb/thebigone1x.gif | Bin 0 -> 2721 bytes images/bomb/thebigone2.gif | Bin 0 -> 4605 bytes images/bomb/thebigone3.gif | Bin 0 -> 977 bytes images/bomb/thebigone4.gif | Bin 0 -> 998 bytes images/bomb/thebigone5.gif | Bin 0 -> 9046 bytes images/bomb/thebigone5x.gif | Bin 0 -> 1631 bytes images/bombbg.png | Bin 0 -> 172 bytes images/byebyemysql.png | Bin 0 -> 1563 bytes images/byebyemysql2.png | Bin 0 -> 1649 bytes images/cardgames.png | Bin 0 -> 169 bytes images/ccs/a-sakura.png | Bin 0 -> 83060 bytes images/ccs/a-syaoran.png | Bin 0 -> 108979 bytes images/ccs/banner.png | Bin 0 -> 32071 bytes images/ccs/bar-off.gif | Bin 0 -> 825 bytes images/ccs/bar-on.gif | Bin 0 -> 830 bytes images/ccs/barleft.gif | Bin 0 -> 819 bytes images/ccs/barright.gif | Bin 0 -> 819 bytes images/ccs/bg.png | Bin 0 -> 69639 bytes images/ccs/hot.png | Bin 0 -> 148 bytes images/ccs/hotoff.png | Bin 0 -> 149 bytes images/ccs/l-sakura.png | Bin 0 -> 237170 bytes images/ccs/l-syaoran.png | Bin 0 -> 242636 bytes images/ccs/new.png | Bin 0 -> 145 bytes images/ccs/newhot.png | Bin 0 -> 145 bytes images/ccs/newhotoff.png | Bin 0 -> 145 bytes images/ccs/newoff.png | Bin 0 -> 145 bytes images/ccs/newpoll.png | Bin 0 -> 356 bytes images/ccs/newreply.png | Bin 0 -> 398 bytes images/ccs/newthread.png | Bin 0 -> 401 bytes images/ccs/off.png | Bin 0 -> 149 bytes images/ccs/threadclosed.png | Bin 0 -> 357 bytes images/christmas-banner-blackroseII.png | Bin 0 -> 305674 bytes images/christmasbanner-cpubasic.png | Bin 0 -> 70846 bytes images/christmasbanner-lain.png | Bin 0 -> 133103 bytes images/christmasbanner-snt.png | Bin 0 -> 153433 bytes images/christmasbanner.png | Bin 0 -> 113458 bytes images/coin.gif | Bin 0 -> 528 bytes images/coin2.gif | Bin 0 -> 528 bytes images/comport/_.gif | Bin 0 -> 838 bytes images/comport/bg.jpg | Bin 0 -> 12226 bytes images/comport/coin.gif | Bin 0 -> 528 bytes images/comport/forumtitle.gif | Bin 0 -> 13914 bytes images/comport/hexadecimalchart.png | Bin 0 -> 1330 bytes images/comport/hot.gif | Bin 0 -> 131 bytes images/comport/hotnew.gif | Bin 0 -> 136 bytes images/comport/hotoff.gif | Bin 0 -> 132 bytes images/comport/icon_admin.gif | Bin 0 -> 112 bytes images/comport/icon_fullmod.gif | Bin 0 -> 112 bytes images/comport/icon_localmod.gif | Bin 0 -> 112 bytes images/comport/icon_terrorist.gif | Bin 0 -> 131 bytes images/comport/new.gif | Bin 0 -> 135 bytes images/comport/newreply.png | Bin 0 -> 304 bytes images/comport/newthread.png | Bin 0 -> 303 bytes images/comport/off.gif | Bin 0 -> 134 bytes images/comport/poweredbyacmlm.gif | Bin 0 -> 1770 bytes images/comport/ranks/00t.gif | Bin 0 -> 885 bytes images/comport/ranks/01b.gif | Bin 0 -> 904 bytes images/comport/ranks/02d.gif | Bin 0 -> 905 bytes images/comport/ranks/03p.gif | Bin 0 -> 933 bytes images/comport/ranks/04s.gif | Bin 0 -> 879 bytes images/comport/ranks/05s.gif | Bin 0 -> 909 bytes images/comport/ranks/06u.gif | Bin 0 -> 903 bytes images/comport/ranks/07r.gif | Bin 0 -> 898 bytes images/comport/ranks/08b.gif | Bin 0 -> 889 bytes images/comport/ranks/09c.gif | Bin 0 -> 891 bytes images/comport/ranks/10s.gif | Bin 0 -> 897 bytes images/comport/ranks/11o.gif | Bin 0 -> 879 bytes images/comport/ranks/12m.gif | Bin 0 -> 904 bytes images/comport/ranks/13c.gif | Bin 0 -> 904 bytes images/comport/ranks/14a.gif | Bin 0 -> 891 bytes images/comport/ranks/15j.gif | Bin 0 -> 912 bytes images/comport/ranks/16r.gif | Bin 0 -> 897 bytes images/comport/ranks/17b.gif | Bin 0 -> 900 bytes images/comport/ranks/18t.gif | Bin 0 -> 951 bytes images/comport/ranks/19i.gif | Bin 0 -> 916 bytes images/comport/ranks/20w.gif | Bin 0 -> 889 bytes images/comport/ranks/21c.gif | Bin 0 -> 145 bytes images/comport/ranks/22k.gif | Bin 0 -> 916 bytes images/comport/ranks/23s.gif | Bin 0 -> 940 bytes images/comport/ranks/24g.gif | Bin 0 -> 939 bytes images/comport/ranks/25f.gif | Bin 0 -> 906 bytes images/comport/ranks/26b.gif | Bin 0 -> 899 bytes images/comport/ranks/27w.gif | Bin 0 -> 906 bytes images/comport/ranks/28k.gif | Bin 0 -> 137 bytes images/comport/ranks/29d.gif | Bin 0 -> 954 bytes images/comport/ranks/30n.gif | Bin 0 -> 148 bytes images/comport/ranks/31m.gif | Bin 0 -> 926 bytes images/comport/ranks/32g.gif | Bin 0 -> 926 bytes images/comport/ranks/GFX/DONUT1.GIF | Bin 0 -> 934 bytes images/comport/ranks/GFX/WS_FTP.LOG | 2 + images/comport/ranks/GFX/book1.gif | Bin 0 -> 936 bytes images/comport/ranks/GFX/dice1.gif | Bin 0 -> 917 bytes images/comport/ranks/GFX/pspbrwse.jbf | Bin 0 -> 1876 bytes images/comport/ranks/GFX/rings1.gif | Bin 0 -> 916 bytes images/comport/ranks/WS_FTP.LOG | 34 + images/comport/ranks/pspbrwse.jbf | Bin 0 -> 8924 bytes images/comport/ranks/ranklist.txt | 21 + images/comport/ranks/ranktest.htm | 3 + images/comport/reply.gif | Bin 0 -> 1631 bytes images/comport/title.gif | Bin 0 -> 5332 bytes images/comport/topic.gif | Bin 0 -> 1576 bytes images/confetti/confetti_blue.png | Bin 0 -> 96 bytes images/confetti/confetti_green.png | Bin 0 -> 96 bytes images/confetti/confetti_red.png | Bin 0 -> 96 bytes images/confetti/confetti_yellow.png | Bin 0 -> 96 bytes images/css-auth.mid | Bin 0 -> 57112 bytes images/denied.gif | Bin 0 -> 872 bytes images/desolation/desolation-0.jpg | Bin 0 -> 27286 bytes images/desolation/desolation.jpg | Bin 0 -> 100959 bytes images/desolation/specialtitle.jpg | Bin 0 -> 14328 bytes images/desolation/tdbg1.png | Bin 0 -> 112 bytes images/desolation/tdbg2.png | Bin 0 -> 112 bytes images/desolation/tdbg3.png | Bin 0 -> 112 bytes images/desolation/tdbgc.png | Bin 0 -> 112 bytes images/desolation/tdbgh.png | Bin 0 -> 112 bytes images/digits6.png | Bin 0 -> 354 bytes images/digits6s.png | Bin 0 -> 202 bytes images/disgaea-rejected.png | Bin 0 -> 14214 bytes images/dnss/banner.png | Bin 0 -> 28868 bytes images/dnss/darkest.png | Bin 0 -> 59721 bytes images/dot1.gif | Bin 0 -> 111 bytes images/dot2.gif | Bin 0 -> 111 bytes images/dot3.gif | Bin 0 -> 111 bytes images/dot4.gif | Bin 0 -> 111 bytes images/dot5.gif | Bin 0 -> 111 bytes images/downtimemessage2.jpg | Bin 0 -> 11355 bytes images/dude.png | Bin 0 -> 10171 bytes images/dude2.png | Bin 0 -> 8727 bytes images/dude3.png | Bin 0 -> 23449 bytes images/dude4.png | Bin 0 -> 15456 bytes images/dude5.png | Bin 0 -> 18993 bytes images/epicburn.png | Bin 0 -> 25217 bytes images/everybody_loves_dog.jpg | Bin 0 -> 15114 bytes images/f2/bg.png | Bin 0 -> 81607 bytes images/f2/bg1.png | Bin 0 -> 85359 bytes images/f2/bg2.png | Bin 0 -> 85711 bytes images/f2/bg_2.png | Bin 0 -> 72212 bytes images/facepalm.jpg | Bin 0 -> 8999 bytes images/facepalm2.jpg | Bin 0 -> 21307 bytes images/fail.png | Bin 0 -> 6750 bytes images/fixpickle.gif | Bin 0 -> 40814 bytes images/flash1.gif | Bin 0 -> 288 bytes images/flash2.gif | Bin 0 -> 300 bytes images/flash3.gif | Bin 0 -> 300 bytes images/gameoverbra.gif | Bin 0 -> 1090 bytes images/garbg/garbanner.png | Bin 0 -> 55869 bytes images/garbg/garbg.png | Bin 0 -> 112948 bytes images/getlast.png | Bin 0 -> 280 bytes images/getnew.png | Bin 0 -> 161 bytes images/gn/gstarsbg.png | Bin 0 -> 59866 bytes images/grouphug.png | Bin 0 -> 1720 bytes images/gtst4in1.png | Bin 0 -> 1271 bytes images/hate.jpg | Bin 0 -> 78041 bytes images/hexchart.png | Bin 0 -> 1406 bytes images/hot.gif | Bin 0 -> 879 bytes images/hotnew.gif | Bin 0 -> 881 bytes images/hotoff.gif | Bin 0 -> 877 bytes images/hugeavatarssuck.png | Bin 0 -> 17232 bytes images/hugeavatarssuck2.png | Bin 0 -> 15697 bytes images/hugeavatarssuck3.gif | Bin 0 -> 1275 bytes images/hydras_blue_background.png | Bin 0 -> 128 bytes images/icons/icon1.gif | Bin 0 -> 149 bytes images/icons/icon13.gif | Bin 0 -> 123 bytes images/icons/icon14.gif | Bin 0 -> 143 bytes images/icons/icon2.gif | Bin 0 -> 135 bytes images/icons/icon3.gif | Bin 0 -> 156 bytes images/icons/icon4.gif | Bin 0 -> 173 bytes images/icons/icon5.gif | Bin 0 -> 173 bytes images/icons/nsfwicon.gif | Bin 0 -> 571 bytes ...tenicelyundertheadminpanelmoneycounter.jpg | Bin 0 -> 5343 bytes images/ikachan/vikingikachan.png | Bin 0 -> 275 bytes images/ikachan1.png | Bin 0 -> 215 bytes images/ikachan2.png | Bin 0 -> 149 bytes images/ikachanpointer.png | Bin 0 -> 215 bytes images/ikachanpointer2.png | Bin 0 -> 243 bytes images/ikamad.png | Bin 0 -> 152 bytes images/imageshits.png | Bin 0 -> 409 bytes images/inu/7sd.php | 145 ++ images/inu/cifont/0.gif | Bin 0 -> 65 bytes images/inu/cifont/1.gif | Bin 0 -> 64 bytes images/inu/cifont/2.gif | Bin 0 -> 66 bytes images/inu/cifont/3.gif | Bin 0 -> 66 bytes images/inu/cifont/4.gif | Bin 0 -> 65 bytes images/inu/cifont/5.gif | Bin 0 -> 64 bytes images/inu/cifont/6.gif | Bin 0 -> 65 bytes images/inu/cifont/7.gif | Bin 0 -> 64 bytes images/inu/cifont/8.gif | Bin 0 -> 64 bytes images/inu/cifont/9.gif | Bin 0 -> 65 bytes images/inu/cifont/a.gif | Bin 0 -> 65 bytes images/inu/cifont/b.gif | Bin 0 -> 65 bytes images/inu/cifont/c.gif | Bin 0 -> 67 bytes images/inu/cifont/d.gif | Bin 0 -> 64 bytes images/inu/cifont/e.gif | Bin 0 -> 64 bytes images/inu/cifont/f.gif | Bin 0 -> 64 bytes images/inu/cifont/p.gif | Bin 0 -> 65 bytes images/inu/cifont/t.gif | Bin 0 -> 64 bytes images/jmsu.png | Bin 0 -> 8971 bytes images/jul/bar-off.gif | Bin 0 -> 835 bytes images/jul/bar-on.gif | Bin 0 -> 835 bytes images/jul/barleft.gif | Bin 0 -> 816 bytes images/jul/barright.gif | Bin 0 -> 816 bytes images/jul88x31.png | Bin 0 -> 1228 bytes images/jul_sheet0.png | Bin 0 -> 486 bytes images/julmas/flake0.gif | Bin 0 -> 1785 bytes images/julmas/flake1.gif | Bin 0 -> 1785 bytes images/julmas/jullights02.gif | Bin 0 -> 54258 bytes images/julmas/jullightsplug01.gif | Bin 0 -> 4339 bytes images/julmas/snowplosion.gif | Bin 0 -> 157 bytes images/julold/bar-off.gif | Bin 0 -> 1250 bytes images/julold/bar-on.gif | Bin 0 -> 1333 bytes images/julold/barleft.gif | Bin 0 -> 821 bytes images/julold/barright.gif | Bin 0 -> 817 bytes images/julold/header_shade.png | Bin 0 -> 133 bytes images/julpleinair.png | Bin 0 -> 22408 bytes images/julstupid1.png | Bin 0 -> 1728 bytes images/julstupid2.png | Bin 0 -> 2685 bytes images/julstupid3.png | Bin 0 -> 1129 bytes images/julstupid4.png | Bin 0 -> 3301 bytes images/julstupid5.png | Bin 0 -> 1430 bytes images/julstupid6.png | Bin 0 -> 1171 bytes images/julstupid7.png | Bin 0 -> 1032 bytes images/julstupid8.png | Bin 0 -> 13446 bytes images/justusbmf.jpg | Bin 0 -> 15931 bytes images/justusleague2.jpg | Bin 0 -> 5820 bytes images/kafuka/firebg2.jpg | Bin 0 -> 4293 bytes images/kafuka/firebg2b.jpg | Bin 0 -> 3270 bytes images/kafuka/firebg4.jpg | Bin 0 -> 15165 bytes images/kafuka/kafuka.jpg | Bin 0 -> 19542 bytes images/kafuka/newreplykaf.png | Bin 0 -> 556 bytes images/kafuka/newthreadkaf.png | Bin 0 -> 568 bytes images/linkingfail.gif | Bin 0 -> 784 bytes images/marin_l.jpg | Bin 0 -> 39492 bytes images/marin_l.png | Bin 0 -> 34371 bytes images/marin_l2.png | Bin 0 -> 43829 bytes images/mariomovie/newpoll.png | Bin 0 -> 287 bytes images/mariomovie/newreply.png | Bin 0 -> 283 bytes images/mariomovie/newthread.png | Bin 0 -> 385 bytes images/mariomovie/thedata.png | Bin 0 -> 420 bytes images/mariomovie/threadclosed.png | Bin 0 -> 359 bytes images/mariomovie/zeroesbg3.png | Bin 0 -> 1972 bytes images/miniapple.gif | Bin 0 -> 105 bytes images/minibar.png | Bin 0 -> 890 bytes images/moodrings.png | Bin 0 -> 609 bytes images/mosts/0-1.png | Bin 0 -> 280 bytes images/mosts/0-2.png | Bin 0 -> 274 bytes images/mosts/0-3.png | Bin 0 -> 260 bytes images/mosts/1-1.png | Bin 0 -> 295 bytes images/mosts/1-2.png | Bin 0 -> 274 bytes images/mosts/1-3.png | Bin 0 -> 227 bytes images/mosts/2-1.png | Bin 0 -> 263 bytes images/mosts/2-2.png | Bin 0 -> 284 bytes images/mosts/2-3.png | Bin 0 -> 263 bytes images/mosts/3-1.png | Bin 0 -> 257 bytes images/mosts/3-2.png | Bin 0 -> 241 bytes images/mosts/3-3.png | Bin 0 -> 244 bytes images/mosts/4-1.png | Bin 0 -> 268 bytes images/mosts/4-2.png | Bin 0 -> 260 bytes images/mosts/4-3.png | Bin 0 -> 255 bytes images/mosts/5-1.png | Bin 0 -> 268 bytes images/mosts/5-2.png | Bin 0 -> 256 bytes images/mosts/5-3.png | Bin 0 -> 246 bytes images/mosts/6-1.png | Bin 0 -> 282 bytes images/mosts/6-2.png | Bin 0 -> 284 bytes images/mosts/6-3.png | Bin 0 -> 265 bytes images/mosts/7-1.png | Bin 0 -> 283 bytes images/mosts/7-2.png | Bin 0 -> 262 bytes images/mosts/7-3.png | Bin 0 -> 248 bytes images/mosts/8-1.png | Bin 0 -> 287 bytes images/mosts/8-2.png | Bin 0 -> 292 bytes images/mosts/8-3.png | Bin 0 -> 270 bytes images/mosts/hm.png | Bin 0 -> 249 bytes images/mosts/trophies.bin | Bin 0 -> 8192 bytes images/mosts/trophies.dat | Bin 0 -> 32 bytes images/mosts/trophies.pal | Bin 0 -> 768 bytes images/mosts/trophies2.bin | Bin 0 -> 8192 bytes images/mosts/trophies2.dat | Bin 0 -> 32 bytes images/mosts/trophies2.pal | Bin 0 -> 768 bytes images/motorcycles.png | Bin 0 -> 224 bytes images/new.gif | Bin 0 -> 881 bytes images/newpoll.png | Bin 0 -> 201 bytes images/newreply.png | Bin 0 -> 220 bytes images/newthread.png | Bin 0 -> 230 bytes images/nightscheme_closedthreads.png | Bin 0 -> 161 bytes images/nightscheme_hotclosedthreads.png | Bin 0 -> 145 bytes images/nightscheme_hotnewposts.png | Bin 0 -> 164 bytes images/nightscheme_hotthreads.png | Bin 0 -> 161 bytes images/nightscheme_newposts.png | Bin 0 -> 168 bytes images/nightscheme_starsbg.png | Bin 0 -> 2874 bytes images/nopolls.png | Bin 0 -> 331 bytes images/noted.png | Bin 0 -> 10188 bytes images/num1/-.gif | Bin 0 -> 97 bytes images/num1/0.gif | Bin 0 -> 111 bytes images/num1/1.gif | Bin 0 -> 107 bytes images/num1/2.gif | Bin 0 -> 110 bytes images/num1/3.gif | Bin 0 -> 108 bytes images/num1/4.gif | Bin 0 -> 108 bytes images/num1/5.gif | Bin 0 -> 108 bytes images/num1/6.gif | Bin 0 -> 110 bytes images/num1/7.gif | Bin 0 -> 108 bytes images/num1/8.gif | Bin 0 -> 110 bytes images/num1/9.gif | Bin 0 -> 111 bytes images/num1/A.gif | Bin 0 -> 111 bytes images/num1/N.gif | Bin 0 -> 112 bytes images/num1/_.gif | Bin 0 -> 91 bytes images/num1/averageiq.gif | Bin 0 -> 1042 bytes images/num1/bar-off.gif | Bin 0 -> 89 bytes images/num1/bar-off.png | Bin 0 -> 125 bytes images/num1/bar-on.gif | Bin 0 -> 89 bytes images/num1/bar-onred.gif | Bin 0 -> 814 bytes images/num1/bar-onred.png | Bin 0 -> 119 bytes images/num1/bar-onspecial.gif | Bin 0 -> 8557 bytes images/num1/barleft.gif | Bin 0 -> 91 bytes images/num1/barleft.png | Bin 0 -> 139 bytes images/num1/barright.gif | Bin 0 -> 91 bytes images/num1/barright.png | Bin 0 -> 137 bytes images/num1/exp.gif | Bin 0 -> 144 bytes images/num1/fornext.gif | Bin 0 -> 190 bytes images/num1/level.gif | Bin 0 -> 166 bytes images/num1/posts.gif | Bin 0 -> 157 bytes images/num1/slash.gif | Bin 0 -> 105 bytes images/num2/-.gif | Bin 0 -> 96 bytes images/num2/.listing | 22 + images/num2/0.gif | Bin 0 -> 111 bytes images/num2/1.gif | Bin 0 -> 107 bytes images/num2/2.gif | Bin 0 -> 111 bytes images/num2/3.gif | Bin 0 -> 110 bytes images/num2/4.gif | Bin 0 -> 113 bytes images/num2/5.gif | Bin 0 -> 109 bytes images/num2/6.gif | Bin 0 -> 112 bytes images/num2/7.gif | Bin 0 -> 108 bytes images/num2/8.gif | Bin 0 -> 112 bytes images/num2/9.gif | Bin 0 -> 111 bytes images/num2/A.gif | Bin 0 -> 113 bytes images/num2/N.gif | Bin 0 -> 114 bytes images/num2/bar-off.gif | Bin 0 -> 81 bytes images/num2/bar-on.gif | Bin 0 -> 81 bytes images/num2/barleft.gif | Bin 0 -> 92 bytes images/num2/barright.gif | Bin 0 -> 92 bytes images/num2/exp.gif | Bin 0 -> 147 bytes images/num2/fornext.gif | Bin 0 -> 192 bytes images/num2/level.gif | Bin 0 -> 166 bytes images/num2/posts.gif | Bin 0 -> 159 bytes images/num2/slash.gif | Bin 0 -> 102 bytes images/num3/-.gif | Bin 0 -> 99 bytes images/num3/0.gif | Bin 0 -> 105 bytes images/num3/1.gif | Bin 0 -> 104 bytes images/num3/2.gif | Bin 0 -> 105 bytes images/num3/3.gif | Bin 0 -> 105 bytes images/num3/4.gif | Bin 0 -> 104 bytes images/num3/5.gif | Bin 0 -> 105 bytes images/num3/6.gif | Bin 0 -> 105 bytes images/num3/7.gif | Bin 0 -> 105 bytes images/num3/8.gif | Bin 0 -> 105 bytes images/num3/9.gif | Bin 0 -> 105 bytes images/num3/A.gif | Bin 0 -> 104 bytes images/num3/N.gif | Bin 0 -> 104 bytes images/num3/bar-off.gif | Bin 0 -> 81 bytes images/num3/bar-on.gif | Bin 0 -> 81 bytes images/num3/barleft.gif | Bin 0 -> 91 bytes images/num3/barright.gif | Bin 0 -> 91 bytes images/num3/exp.gif | Bin 0 -> 126 bytes images/num3/fornext.gif | Bin 0 -> 165 bytes images/num3/level.gif | Bin 0 -> 150 bytes images/num3/posts.gif | Bin 0 -> 139 bytes images/num3/slash.gif | Bin 0 -> 101 bytes images/ocarina.png | Bin 0 -> 2001 bytes images/off.gif | Bin 0 -> 877 bytes images/offhotnew.gif | Bin 0 -> 881 bytes images/offnew.gif | Bin 0 -> 881 bytes images/old/hot.gif | Bin 0 -> 884 bytes images/old/hotnew.gif | Bin 0 -> 884 bytes images/old/hotoff.gif | Bin 0 -> 890 bytes images/old/new.gif | Bin 0 -> 884 bytes images/old/off.gif | Bin 0 -> 890 bytes images/penaltyarea.gif | Bin 0 -> 6954 bytes images/pescatore.png | Bin 0 -> 2158 bytes images/pinstripe/bluebg.png | Bin 0 -> 44611 bytes images/piticon-ok.png | Bin 0 -> 204 bytes images/piticon-okx.png | Bin 0 -> 187 bytes images/piticon-wait.png | Bin 0 -> 211 bytes images/poniecentral.gif | Bin 0 -> 517930 bytes images/postbar/0.GIF | Bin 0 -> 811 bytes images/postbar/10.GIF | Bin 0 -> 1529 bytes images/postbar/3.GIF | Bin 0 -> 1427 bytes images/postbar/4.GIF | Bin 0 -> 1462 bytes images/postbar/5.GIF | Bin 0 -> 1500 bytes images/postbar/6.GIF | Bin 0 -> 1537 bytes images/postbar/7.GIF | Bin 0 -> 1594 bytes images/postbar/8.GIF | Bin 0 -> 1622 bytes images/postbar/9.GIF | Bin 0 -> 1635 bytes images/poweredbyacmlm.gif | Bin 0 -> 1770 bytes images/pumpkinchan.png | Bin 0 -> 213 bytes images/purple/darkbubblebg.jpg | Bin 0 -> 5954 bytes images/purple/newpollpurple.png | Bin 0 -> 222 bytes images/purple/newreplypurple.png | Bin 0 -> 229 bytes images/purple/newthreadpurple.png | Bin 0 -> 226 bytes images/purple/purplebanner.png | Bin 0 -> 6673 bytes images/purple/threadclosedpurple.png | Bin 0 -> 240 bytes images/ranks/mario/babybowser.gif | Bin 0 -> 6443 bytes images/ranks/mario/babymario.gif | Bin 0 -> 1045 bytes images/ranks/mario/bandit.gif | Bin 0 -> 5592 bytes images/ranks/mario/beetle.gif | Bin 0 -> 449 bytes images/ranks/mario/beezo.gif | Bin 0 -> 520 bytes images/ranks/mario/bigcheepcheep.gif | Bin 0 -> 785 bytes images/ranks/mario/birdogreen.gif | Bin 0 -> 8928 bytes images/ranks/mario/birdopink.gif | Bin 0 -> 5171 bytes images/ranks/mario/birdored.gif | Bin 0 -> 9470 bytes images/ranks/mario/bloober.gif | Bin 0 -> 453 bytes images/ranks/mario/bobomb.gif | Bin 0 -> 513 bytes images/ranks/mario/boo.gif | Bin 0 -> 1666 bytes images/ranks/mario/boo2.gif | Bin 0 -> 448 bytes images/ranks/mario/boomboom.gif | Bin 0 -> 1172 bytes images/ranks/mario/boomerangbrother.gif | Bin 0 -> 2514 bytes images/ranks/mario/bowser.gif | Bin 0 -> 7568 bytes images/ranks/mario/bulletbill.gif | Bin 0 -> 730 bytes images/ranks/mario/busterbeetle.gif | Bin 0 -> 488 bytes images/ranks/mario/cheepcheep.gif | Bin 0 -> 500 bytes images/ranks/mario/chuck.gif | Bin 0 -> 4357 bytes images/ranks/mario/cobrat.gif | Bin 0 -> 619 bytes images/ranks/mario/drybones.gif | Bin 0 -> 543 bytes images/ranks/mario/firebrother.gif | Bin 0 -> 2919 bytes images/ranks/mario/firesnake.gif | Bin 0 -> 2451 bytes images/ranks/mario/flurry.gif | Bin 0 -> 484 bytes images/ranks/mario/fuzzball.gif | Bin 0 -> 402 bytes images/ranks/mario/fuzzy.gif | Bin 0 -> 1162 bytes images/ranks/mario/giantgoomba.gif | Bin 0 -> 685 bytes images/ranks/mario/giantkoopa.gif | Bin 0 -> 766 bytes images/ranks/mario/giantparatroopa.gif | Bin 0 -> 769 bytes images/ranks/mario/giantredkoopa.gif | Bin 0 -> 766 bytes images/ranks/mario/giantredparatroopa.gif | Bin 0 -> 769 bytes images/ranks/mario/goomba.gif | Bin 0 -> 495 bytes images/ranks/mario/hammerbrother.gif | Bin 0 -> 1926 bytes images/ranks/mario/hedgehog.gif | Bin 0 -> 602 bytes images/ranks/mario/iggy.gif | Bin 0 -> 973 bytes images/ranks/mario/kamek.gif | Bin 0 -> 6373 bytes images/ranks/mario/kingyoshi.gif | Bin 0 -> 772 bytes images/ranks/mario/koopa.gif | Bin 0 -> 595 bytes images/ranks/mario/lakitu.gif | Bin 0 -> 600 bytes images/ranks/mario/lanternghost.gif | Bin 0 -> 1274 bytes images/ranks/mario/larry.gif | Bin 0 -> 1016 bytes images/ranks/mario/lavalotus.gif | Bin 0 -> 1886 bytes images/ranks/mario/lemmy.gif | Bin 0 -> 888 bytes images/ranks/mario/ludwig.gif | Bin 0 -> 1123 bytes images/ranks/mario/luigi_fire.gif | Bin 0 -> 878 bytes images/ranks/mario/luigibig.gif | Bin 0 -> 883 bytes images/ranks/mario/luigicape.gif | Bin 0 -> 3302 bytes images/ranks/mario/luigismall.gif | Bin 0 -> 575 bytes images/ranks/mario/luigistar.gif | Bin 0 -> 3097 bytes images/ranks/mario/mariobig.gif | Bin 0 -> 867 bytes images/ranks/mario/mariocape.gif | Bin 0 -> 3164 bytes images/ranks/mario/mariofire.gif | Bin 0 -> 858 bytes images/ranks/mario/mariosmall.gif | Bin 0 -> 561 bytes images/ranks/mario/mariostar.gif | Bin 0 -> 2968 bytes images/ranks/mario/microgoomba.gif | Bin 0 -> 348 bytes images/ranks/mario/mole.gif | Bin 0 -> 451 bytes images/ranks/mario/morton.gif | Bin 0 -> 1048 bytes images/ranks/mario/ninji.gif | Bin 0 -> 471 bytes images/ranks/mario/nipperplant.gif | Bin 0 -> 499 bytes images/ranks/mario/panser.gif | Bin 0 -> 1084 bytes images/ranks/mario/paragoomba.gif | Bin 0 -> 928 bytes images/ranks/mario/paratroopa.gif | Bin 0 -> 967 bytes images/ranks/mario/pokey.gif | Bin 0 -> 1497 bytes images/ranks/mario/porcupo.gif | Bin 0 -> 509 bytes images/ranks/mario/ptooie.gif | Bin 0 -> 1294 bytes images/ranks/mario/ptooie2.gif | Bin 0 -> 2041 bytes images/ranks/mario/redcheepcheep.gif | Bin 0 -> 500 bytes images/ranks/mario/redgoomba.gif | Bin 0 -> 495 bytes images/ranks/mario/redkoopa.gif | Bin 0 -> 595 bytes images/ranks/mario/redparagoomba.gif | Bin 0 -> 928 bytes images/ranks/mario/redparatroopa.gif | Bin 0 -> 967 bytes images/ranks/mario/redsuperkoopa.gif | Bin 0 -> 534 bytes images/ranks/mario/rex.gif | Bin 0 -> 664 bytes images/ranks/mario/roy.gif | Bin 0 -> 1009 bytes images/ranks/mario/shyguy.gif | Bin 0 -> 529 bytes images/ranks/mario/sledgebrother.gif | Bin 0 -> 2641 bytes images/ranks/mario/snifit.gif | Bin 0 -> 505 bytes images/ranks/mario/spike.gif | Bin 0 -> 3091 bytes images/ranks/mario/spiny.gif | Bin 0 -> 501 bytes images/ranks/mario/superkoopa.gif | Bin 0 -> 534 bytes images/ranks/mario/thwomp.gif | Bin 0 -> 2124 bytes images/ranks/mario/triclyde.gif | Bin 0 -> 2350 bytes images/ranks/mario/volcanolotus.gif | Bin 0 -> 2094 bytes images/ranks/mario/wart.gif | Bin 0 -> 6538 bytes images/ranks/mario/wendy.gif | Bin 0 -> 1027 bytes images/ranks/mario/yoshi.gif | Bin 0 -> 2848 bytes images/ranks/mario/yoshiblue.gif | Bin 0 -> 1721 bytes images/ranks/mario/yoshired.gif | Bin 0 -> 12175 bytes images/ranks/mario/yoshiyellow.gif | Bin 0 -> 951 bytes images/ranks/tgm/1.png | Bin 0 -> 279 bytes images/ranks/tgm/2.png | Bin 0 -> 329 bytes images/ranks/tgm/3.png | Bin 0 -> 331 bytes images/ranks/tgm/4.png | Bin 0 -> 301 bytes images/ranks/tgm/5.png | Bin 0 -> 326 bytes images/ranks/tgm/6.png | Bin 0 -> 345 bytes images/ranks/tgm/7.png | Bin 0 -> 308 bytes images/ranks/tgm/8.png | Bin 0 -> 337 bytes images/ranks/tgm/9.png | Bin 0 -> 328 bytes images/ranks/tgm/gm.png | Bin 0 -> 367 bytes images/ranks/tgm/s1.png | Bin 0 -> 353 bytes images/ranks/tgm/s2.png | Bin 0 -> 363 bytes images/ranks/tgm/s3.png | Bin 0 -> 363 bytes images/ranks/tgm/s4.png | Bin 0 -> 360 bytes images/ranks/tgm/s5.png | Bin 0 -> 364 bytes images/ranks/tgm/s6.png | Bin 0 -> 365 bytes images/ranks/tgm/s7.png | Bin 0 -> 356 bytes images/ranks/tgm/s8.png | Bin 0 -> 366 bytes images/ranks/tgm/s9.png | Bin 0 -> 364 bytes images/reject.png | Bin 0 -> 6854 bytes images/rejected.png | Bin 0 -> 6731 bytes images/reportbugs.png | Bin 0 -> 514 bytes images/rereggie.png | Bin 0 -> 7449 bytes images/rpg/font.png | Bin 0 -> 2611 bytes images/rpg/fontgrid.png | Bin 0 -> 3010 bytes images/sankachan.png | Bin 0 -> 189 bytes images/secretbg.jpg | Bin 0 -> 86791 bytes images/smilies/affun.gif | Bin 0 -> 893 bytes images/smilies/annoyed.gif | Bin 0 -> 163 bytes images/smilies/approved.gif | Bin 0 -> 878 bytes images/smilies/argh.gif | Bin 0 -> 185 bytes images/smilies/awesome.png | Bin 0 -> 332 bytes images/smilies/awesomexz.png | Bin 0 -> 7577 bytes images/smilies/baby.gif | Bin 0 -> 151 bytes images/smilies/bigeyes.gif | Bin 0 -> 180 bytes images/smilies/bigeyes2.gif | Bin 0 -> 180 bytes images/smilies/biggrin.gif | Bin 0 -> 163 bytes images/smilies/bigsad.gif | Bin 0 -> 435 bytes images/smilies/blank.gif | Bin 0 -> 171 bytes images/smilies/boatanchor.png | Bin 0 -> 654 bytes images/smilies/cry.gif | Bin 0 -> 167 bytes images/smilies/cute.gif | Bin 0 -> 169 bytes images/smilies/cute2.gif | Bin 0 -> 162 bytes images/smilies/damnyou.gif | Bin 0 -> 364 bytes images/smilies/darkaffun.gif | Bin 0 -> 895 bytes images/smilies/denied.gif | Bin 0 -> 872 bytes images/smilies/dizzy.gif | Bin 0 -> 170 bytes images/smilies/drool.gif | Bin 0 -> 173 bytes images/smilies/durnip.gif | Bin 0 -> 906 bytes images/smilies/durnip2.gif | Bin 0 -> 1826 bytes images/smilies/eek.gif | Bin 0 -> 173 bytes images/smilies/emot-colbert.gif | Bin 0 -> 1033 bytes images/smilies/emot-effort.gif | Bin 0 -> 497 bytes images/smilies/emot-laffotarget.gif | Bin 0 -> 2035 bytes images/smilies/emot-protarget.gif | Bin 0 -> 15114 bytes images/smilies/emot-shepface.gif | Bin 0 -> 1017 bytes images/smilies/eng101.gif | Bin 0 -> 1012 bytes images/smilies/eng101.png | Bin 0 -> 344 bytes images/smilies/evil.gif | Bin 0 -> 176 bytes images/smilies/ewww.gif | Bin 0 -> 171 bytes images/smilies/eyeshift.gif | Bin 0 -> 172 bytes images/smilies/eyeshift2.gif | Bin 0 -> 169 bytes images/smilies/flunked.png | Bin 0 -> 579 bytes images/smilies/frown.gif | Bin 0 -> 167 bytes images/smilies/glare.png | Bin 0 -> 212 bytes images/smilies/glasses.gif | Bin 0 -> 173 bytes images/smilies/gonk.gif | Bin 0 -> 356 bytes images/smilies/heart2.gif | Bin 0 -> 232 bytes images/smilies/icon_cool.gif | Bin 0 -> 172 bytes images/smilies/icon_lol.gif | Bin 0 -> 336 bytes images/smilies/jawdrop.gif | Bin 0 -> 180 bytes images/smilies/laheart.gif | Bin 0 -> 888 bytes images/smilies/lol.gif | Bin 0 -> 163 bytes images/smilies/mad.gif | Bin 0 -> 169 bytes images/smilies/magick.gif | Bin 0 -> 736 bytes images/smilies/meow.gif | Bin 0 -> 932 bytes images/smilies/nyan.001.gif | Bin 0 -> 3425 bytes images/smilies/ohdear.png | Bin 0 -> 231 bytes images/smilies/pacsome.png | Bin 0 -> 354 bytes images/smilies/raddmad.gif | Bin 0 -> 211 bytes images/smilies/raddrock.gif | Bin 0 -> 678 bytes images/smilies/raddsigh2.gif | Bin 0 -> 211 bytes images/smilies/raddstand.gif | Bin 0 -> 210 bytes images/smilies/raddwink.gif | Bin 0 -> 214 bytes images/smilies/raddwow.gif | Bin 0 -> 209 bytes images/smilies/ranbowdash.001.png | Bin 0 -> 2006 bytes images/smilies/rlaugh.gif | Bin 0 -> 730 bytes images/smilies/rofl.gif | Bin 0 -> 888 bytes images/smilies/roflbar.gif | Bin 0 -> 254 bytes images/smilies/roflx.gif | Bin 0 -> 912 bytes images/smilies/shiftleft.gif | Bin 0 -> 172 bytes images/smilies/shiftright.gif | Bin 0 -> 172 bytes images/smilies/sick.gif | Bin 0 -> 924 bytes images/smilies/smb2smileyc.png | Bin 0 -> 156 bytes images/smilies/smile.gif | Bin 0 -> 166 bytes images/smilies/smile2.png | Bin 0 -> 203 bytes images/smilies/smilespin.gif | Bin 0 -> 1577 bytes images/smilies/smilespin2.gif | Bin 0 -> 2278 bytes images/smilies/smugdra.png | Bin 0 -> 4744 bytes images/smilies/specialed.gif | Bin 0 -> 1025 bytes images/smilies/specialed.png | Bin 0 -> 369 bytes images/smilies/spinnaz.gif | Bin 0 -> 212 bytes images/smilies/superd.png | Bin 0 -> 272 bytes images/smilies/terror.gif | Bin 0 -> 131 bytes images/smilies/terrormyk.gif | Bin 0 -> 181 bytes images/smilies/tongue.gif | Bin 0 -> 170 bytes images/smilies/toot.png | Bin 0 -> 485 bytes images/smilies/toot2.gif | Bin 0 -> 17982 bytes images/smilies/turnip.gif | Bin 0 -> 888 bytes images/smilies/v.gif | Bin 0 -> 339 bytes images/smilies/vamp.gif | Bin 0 -> 168 bytes images/smilies/wink.gif | Bin 0 -> 168 bytes images/smilies/wobbly.gif | Bin 0 -> 173 bytes images/smilies/woot.gif | Bin 0 -> 1036 bytes images/smilies/words.gif | Bin 0 -> 3038 bytes images/smilies/yuck.gif | Bin 0 -> 167 bytes images/smilies2/anime.gif | Bin 0 -> 163 bytes images/smilies2/anime2.gif | Bin 0 -> 158 bytes images/smilies2/annoyed.gif | Bin 0 -> 133 bytes images/smilies2/approved.gif | Bin 0 -> 878 bytes images/smilies2/baby.gif | Bin 0 -> 151 bytes images/smilies2/bigeyes.gif | Bin 0 -> 143 bytes images/smilies2/bigeyes2.gif | Bin 0 -> 143 bytes images/smilies2/biggrin.gif | Bin 0 -> 145 bytes images/smilies2/blank.gif | Bin 0 -> 144 bytes images/smilies2/cry.gif | Bin 0 -> 145 bytes images/smilies2/cute.gif | Bin 0 -> 138 bytes images/smilies2/cute2.gif | Bin 0 -> 142 bytes images/smilies2/denied.gif | Bin 0 -> 872 bytes images/smilies2/dizzy.gif | Bin 0 -> 145 bytes images/smilies2/duh.gif | Bin 0 -> 144 bytes images/smilies2/eek.gif | Bin 0 -> 145 bytes images/smilies2/evil.gif | Bin 0 -> 153 bytes images/smilies2/eyeshift.gif | Bin 0 -> 139 bytes images/smilies2/eyeshift2.gif | Bin 0 -> 169 bytes images/smilies2/flush.gif | Bin 0 -> 3654 bytes images/smilies2/frown.gif | Bin 0 -> 144 bytes images/smilies2/glasses.gif | Bin 0 -> 143 bytes images/smilies2/grin.gif | Bin 0 -> 141 bytes images/smilies2/halo.gif | Bin 0 -> 158 bytes images/smilies2/haw.gif | Bin 0 -> 150 bytes images/smilies2/haw2.gif | Bin 0 -> 895 bytes images/smilies2/heart2.gif | Bin 0 -> 232 bytes images/smilies2/jawdrop.gif | Bin 0 -> 146 bytes images/smilies2/krunk.gif | Bin 0 -> 361 bytes images/smilies2/lol.gif | Bin 0 -> 137 bytes images/smilies2/mad.gif | Bin 0 -> 144 bytes images/smilies2/meow.gif | Bin 0 -> 932 bytes images/smilies2/ooh.gif | Bin 0 -> 145 bytes images/smilies2/rofl.gif | Bin 0 -> 888 bytes images/smilies2/roflbar.gif | Bin 0 -> 254 bytes images/smilies2/roflx.gif | Bin 0 -> 912 bytes images/smilies2/rolleyes.gif | Bin 0 -> 144 bytes images/smilies2/shiftleft.gif | Bin 0 -> 142 bytes images/smilies2/shiftright.gif | Bin 0 -> 145 bytes images/smilies2/sick.gif | Bin 0 -> 138 bytes images/smilies2/smile.gif | Bin 0 -> 143 bytes images/smilies2/smilespin.gif | Bin 0 -> 1577 bytes images/smilies2/smilespin2.gif | Bin 0 -> 2278 bytes images/smilies2/terror.gif | Bin 0 -> 131 bytes images/smilies2/tongue.gif | Bin 0 -> 147 bytes images/smilies2/vamp.gif | Bin 0 -> 148 bytes images/smilies2/wink.gif | Bin 0 -> 140 bytes images/smilies2/wobbly.gif | Bin 0 -> 146 bytes images/smilies2/woot.gif | Bin 0 -> 1036 bytes images/smilies2/yuck.gif | Bin 0 -> 139 bytes images/snow/0.gif | Bin 0 -> 836 bytes images/snow/0.png | Bin 0 -> 163 bytes images/snowbg.jpg | Bin 0 -> 10089 bytes images/spikedball.gif | Bin 0 -> 3732 bytes images/spikedball.png | Bin 0 -> 1183 bytes images/squid.png | Bin 0 -> 149 bytes images/stardonor.png | Bin 0 -> 159 bytes images/starsbg-r.png | Bin 0 -> 27537 bytes images/status-classic/hot.gif | Bin 0 -> 131 bytes images/status-classic/hotnew.gif | Bin 0 -> 136 bytes images/status-classic/hotoff.gif | Bin 0 -> 132 bytes images/status-classic/new.gif | Bin 0 -> 135 bytes images/status-classic/off.gif | Bin 0 -> 134 bytes images/stupidmage.png | Bin 0 -> 7567 bytes images/temp/nym-cloud.gif | Bin 0 -> 3276 bytes images/temp/nym-ehz.gif | Bin 0 -> 18000 bytes images/terminal6.gdf | Bin 0 -> 4576 bytes images/terrorism2.png | Bin 0 -> 19919 bytes images/thisthreadfails.png | Bin 0 -> 31879 bytes images/threadclosed.png | Bin 0 -> 267 bytes images/toolbar/alphabg.png | Bin 0 -> 126 bytes images/toolbar/alphabg2.png | Bin 0 -> 126 bytes images/toolbar/bgblack.gif | Bin 0 -> 864 bytes images/toolbar/bgblue.gif | Bin 0 -> 864 bytes images/toolbar/bgcolor.gif | Bin 0 -> 844 bytes images/toolbar/bggreen.gif | Bin 0 -> 864 bytes images/toolbar/bgorange.gif | Bin 0 -> 864 bytes images/toolbar/bgpink.gif | Bin 0 -> 864 bytes images/toolbar/bgpurple.gif | Bin 0 -> 864 bytes images/toolbar/bgred.gif | Bin 0 -> 864 bytes images/toolbar/bgyellow.gif | Bin 0 -> 864 bytes images/toolbar/bold.gif | Bin 0 -> 842 bytes images/toolbar/fblack.gif | Bin 0 -> 852 bytes images/toolbar/fblue.gif | Bin 0 -> 852 bytes images/toolbar/fcolor.gif | Bin 0 -> 844 bytes images/toolbar/fgreen.gif | Bin 0 -> 852 bytes images/toolbar/forange.gif | Bin 0 -> 852 bytes images/toolbar/fpink.gif | Bin 0 -> 852 bytes images/toolbar/fpurple.gif | Bin 0 -> 852 bytes images/toolbar/fred.gif | Bin 0 -> 852 bytes images/toolbar/fyellow.gif | Bin 0 -> 852 bytes images/toolbar/image.gif | Bin 0 -> 867 bytes images/toolbar/invis.gif | Bin 0 -> 43 bytes images/toolbar/italic.gif | Bin 0 -> 837 bytes images/toolbar/link.gif | Bin 0 -> 859 bytes images/toolbar/smiley.gif | Bin 0 -> 871 bytes images/toolbar/strike.gif | Bin 0 -> 835 bytes images/toolbar/underline.gif | Bin 0 -> 839 bytes images/topsecret.jpg | Bin 0 -> 5434 bytes images/touhoubanner.png | Bin 0 -> 12433 bytes images/trolldra.png | Bin 0 -> 7200 bytes images/umad.jpg | Bin 0 -> 22829 bytes images/unthread.png | Bin 0 -> 726 bytes images/update.png | Bin 0 -> 387 bytes images/wafflebg.png | Bin 0 -> 138 bytes images/waffleiron.jpg | Bin 0 -> 3447 bytes images/wafflemysql.png | Bin 0 -> 1173 bytes images/wave/cheepcheep.png | Bin 0 -> 930 bytes images/wave/chest.png | Bin 0 -> 270 bytes images/wave/seaweed.png | Bin 0 -> 186 bytes images/wave/squid.png | Bin 0 -> 149 bytes images/ymar/bar-off.gif | Bin 0 -> 825 bytes images/ymar/bar-on.gif | Bin 0 -> 822 bytes images/ymar/barleft.gif | Bin 0 -> 819 bytes images/ymar/barright.gif | Bin 0 -> 819 bytes images/ymar/beegee.png | Bin 0 -> 7390 bytes images/ymar/headbg-00.png | Bin 0 -> 709 bytes images/ymar/headbg.png | Bin 0 -> 709 bytes images/ymar/hot.png | Bin 0 -> 3624 bytes images/ymar/hotoff.png | Bin 0 -> 149 bytes images/ymar/new.png | Bin 0 -> 145 bytes images/ymar/newhot.png | Bin 0 -> 145 bytes images/ymar/newhotoff.png | Bin 0 -> 145 bytes images/ymar/newoff.png | Bin 0 -> 145 bytes images/ymar/newpoll.png | Bin 0 -> 3768 bytes images/ymar/newreply.png | Bin 0 -> 3806 bytes images/ymar/newthread.png | Bin 0 -> 3806 bytes images/ymar/off.png | Bin 0 -> 149 bytes images/ymar/threadclosed.png | Bin 0 -> 3803 bytes images/ymar/title.jpg | Bin 0 -> 38707 bytes images/zen/header.png | Bin 0 -> 192 bytes images/zen/t1.png | Bin 0 -> 169 bytes images/zen/zentitle.png | Bin 0 -> 121114 bytes index.php | 289 +++ ipsearch.php | 157 ++ irc.php | 95 + js/button.js | 71 + js/hex.js | 5 + js/jquery.hotkeys-0.7.9.min.js | 19 + js/jquery.min.js | 16 + js/latestposts.js | 117 ++ js/layoutpreview.js | 219 +++ js/menu.js | 219 +++ js/password.js | 77 + js/png.js | 20 + js/snow.js | 84 + js/snowflakes.js | 472 +++++ js/toolbar.js | 86 + js/useful.js | 37 + latestposts.php | 93 + lib/.htaccess | 1 + lib/colors.php | 133 ++ lib/datetime.php | 10 + lib/downtime-bmf.php | 86 + lib/downtime.php | 97 + lib/downtime2.php | 91 + lib/function.php | 1574 +++++++++++++++++ lib/layout.php | 590 ++++++ lib/layout_mobile.php | 5 + lib/mysql.php | 206 +++ lib/rpg.php | 69 + lib/threadpost.php | 148 ++ login.php | 97 + memberlist.php | 168 ++ milestones.php | 146 ++ mobile.css | 4 + newreply.php | 352 ++++ newthread.php | 343 ++++ newyear.php | 102 ++ numgfx.php | 33 + numgfx/ccs/0.png | Bin 0 -> 127 bytes numgfx/ccs/1.png | Bin 0 -> 129 bytes numgfx/ccs/2.png | Bin 0 -> 131 bytes numgfx/ccs/3.png | Bin 0 -> 129 bytes numgfx/ccs/4.png | Bin 0 -> 132 bytes numgfx/ccs/5.png | Bin 0 -> 129 bytes numgfx/ccs/6.png | Bin 0 -> 131 bytes numgfx/ccs/7.png | Bin 0 -> 128 bytes numgfx/ccs/8.png | Bin 0 -> 130 bytes numgfx/ccs/9.png | Bin 0 -> 129 bytes numgfx/death/0.png | Bin 0 -> 125 bytes numgfx/death/1.png | Bin 0 -> 128 bytes numgfx/death/2.png | Bin 0 -> 129 bytes numgfx/death/3.png | Bin 0 -> 127 bytes numgfx/death/4.png | Bin 0 -> 130 bytes numgfx/death/5.png | Bin 0 -> 124 bytes numgfx/death/6.png | Bin 0 -> 126 bytes numgfx/death/7.png | Bin 0 -> 127 bytes numgfx/death/8.png | Bin 0 -> 125 bytes numgfx/death/9.png | Bin 0 -> 128 bytes numgfx/jul/0.png | Bin 0 -> 120 bytes numgfx/jul/1.png | Bin 0 -> 121 bytes numgfx/jul/2.png | Bin 0 -> 126 bytes numgfx/jul/3.png | Bin 0 -> 126 bytes numgfx/jul/4.png | Bin 0 -> 122 bytes numgfx/jul/5.png | Bin 0 -> 126 bytes numgfx/jul/6.png | Bin 0 -> 126 bytes numgfx/jul/7.png | Bin 0 -> 126 bytes numgfx/jul/8.png | Bin 0 -> 126 bytes numgfx/jul/9.png | Bin 0 -> 126 bytes numgfx/num2/0.png | Bin 0 -> 153 bytes numgfx/num2/1.png | Bin 0 -> 150 bytes numgfx/num2/2.png | Bin 0 -> 149 bytes numgfx/num2/3.png | Bin 0 -> 150 bytes numgfx/num2/4.png | Bin 0 -> 151 bytes numgfx/num2/5.png | Bin 0 -> 151 bytes numgfx/num2/6.png | Bin 0 -> 154 bytes numgfx/num2/7.png | Bin 0 -> 148 bytes numgfx/num2/8.png | Bin 0 -> 157 bytes numgfx/num2/9.png | Bin 0 -> 155 bytes numgfx/num2/A.png | Bin 0 -> 158 bytes numgfx/num2/Dash.png | Bin 0 -> 119 bytes numgfx/num2/N.png | Bin 0 -> 160 bytes numgfx/num2/Slash.png | Bin 0 -> 144 bytes numgfx/num3/-.png | Bin 0 -> 122 bytes numgfx/num3/0.png | Bin 0 -> 125 bytes numgfx/num3/1.png | Bin 0 -> 127 bytes numgfx/num3/2.png | Bin 0 -> 131 bytes numgfx/num3/3.png | Bin 0 -> 128 bytes numgfx/num3/4.png | Bin 0 -> 126 bytes numgfx/num3/5.png | Bin 0 -> 124 bytes numgfx/num3/6.png | Bin 0 -> 125 bytes numgfx/num3/7.png | Bin 0 -> 128 bytes numgfx/num3/8.png | Bin 0 -> 125 bytes numgfx/num3/9.png | Bin 0 -> 129 bytes numgfx/num3/A.png | Bin 0 -> 132 bytes numgfx/num3/N.png | Bin 0 -> 122 bytes numgfx/num3/bar-off.png | Bin 0 -> 115 bytes numgfx/num3/bar-on.png | Bin 0 -> 107 bytes numgfx/num3/barleft.png | Bin 0 -> 126 bytes numgfx/num3/barright.png | Bin 0 -> 127 bytes numgfx/num3/exp.png | Bin 0 -> 154 bytes numgfx/num3/fornext.png | Bin 0 -> 182 bytes numgfx/num3/level.png | Bin 0 -> 169 bytes numgfx/num3/posts.png | Bin 0 -> 165 bytes numgfx/num3/slash.png | Bin 0 -> 126 bytes numgfx/numbloodlust.png | Bin 0 -> 295 bytes numgfx/numcircuit.png | Bin 0 -> 228 bytes numgfx/numdani.png | Bin 0 -> 265 bytes numgfx/numdeath.png | Bin 0 -> 222 bytes numgfx/numkafuka.png | Bin 0 -> 357 bytes numgfx/nummario.png | Bin 0 -> 284 bytes numgfx/nummegaman.png | Bin 0 -> 366 bytes numgfx/numnes.png | Bin 0 -> 344 bytes numgfx/numnes8bit.png | Bin 0 -> 234 bytes numgfx/numpurple.png | Bin 0 -> 274 bytes numgfx/numxmas.png | Bin 0 -> 332 bytes numgfx/red.gif | Bin 0 -> 3693 bytes numgfx/ymar/0.png | Bin 0 -> 114 bytes numgfx/ymar/1.png | Bin 0 -> 114 bytes numgfx/ymar/2.png | Bin 0 -> 116 bytes numgfx/ymar/3.png | Bin 0 -> 116 bytes numgfx/ymar/4.png | Bin 0 -> 116 bytes numgfx/ymar/5.png | Bin 0 -> 115 bytes numgfx/ymar/6.png | Bin 0 -> 116 bytes numgfx/ymar/7.png | Bin 0 -> 116 bytes numgfx/ymar/8.png | Bin 0 -> 115 bytes numgfx/ymar/9.png | Bin 0 -> 115 bytes numgfxbig.php | 34 + online.php | 165 ++ perfdata.php | 11 + posticons.dat | 30 + postradar.php | 86 + postsbyforum.php | 79 + postsbythread.php | 71 + postsbytime.php | 57 + postsbyuser.php | 83 + ppdgauge.php | 214 +++ private.php | 89 + profile.php | 240 +++ ranks.php | 101 ++ register.php | 164 ++ robots.txt | 4 + schemes/aesucks.php | 26 + schemes/ccs.php | 75 + schemes/ccs.phps | 75 + schemes/comport.php | 45 + schemes/cuppycakes.php | 32 + schemes/dailycycle.php | 83 + schemes/desolation.php | 46 + schemes/dnss.php | 57 + schemes/fragmentation2.php | 82 + schemes/garbg.php | 78 + schemes/greennight.php | 74 + schemes/hydras_blue_thing.php | 29 + schemes/hydras_blue_thing_alt.php | 27 + schemes/hydras_blue_thing_v2.php | 3 + schemes/kafuka.php | 30 + schemes/mariomovie.php | 42 + schemes/night.php | 32 + schemes/null.php | 5 + schemes/pinstripe.php | 95 + schemes/purple.php | 38 + schemes/rednight.php | 28 + schemes/spec-attitude.php | 25 + schemes/spec-blackhole.php | 25 + schemes/spec-subcon.php | 33 + schemes/spec-topsecret.php | 25 + schemes/spec-trolldra.php | 5 + schemes/spec-waffle.php | 26 + schemes/spec-zen.php | 22 + schemes/xmas.php | 37 + schemes/ymar.php | 78 + sendprivate.php | 169 ++ shitbugs.php | 130 ++ shop.php | 169 ++ shoped.php | 325 ++++ shoph.php | 168 ++ showprivate.php | 55 + sigsize.php | 36 + smilies.dat | 73 + smilies.php | 98 + smilies2.dat | 42 + smilies2.php | 110 ++ smilieslol.dat | 58 + stats.php | 130 ++ status.php | 231 +++ templates/aceboard.php | 93 + templates/aesucks.php | 38 + templates/alliance.php | 93 + templates/bloodlust.php | 40 + templates/classic.php | 38 + templates/dailycycle.php | 37 + templates/dani.php | 41 + templates/dig.php | 40 + templates/endofff.php | 40 + templates/favorites.php | 23 + templates/ff9a.php | 40 + templates/horde.php | 93 + templates/kafuka.php | 41 + templates/kirby.php | 38 + templates/mario.php | 40 + templates/megaman.php | 40 + templates/neon.php | 38 + templates/nes.php | 41 + templates/night.php | 38 + templates/oldblue.php | 38 + templates/purple.php | 40 + templates/romhackdomain.php | 38 + templates/tartan.php | 40 + templates/twilight.php | 100 ++ templates/xmas.php | 41 + templates/yoshi.php | 50 + thread.php | 449 +++++ tlayouts/compact.php | 20 + tlayouts/hydra.php | 53 + tlayouts/regular.php | 831 +++++++++ 1064 files changed, 18752 insertions(+) create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 acs.php create mode 100644 activeusers.php create mode 100644 activity.php create mode 100644 activity2.php create mode 100644 activity3.php create mode 100644 activity3u.php create mode 100644 admin-editforums.php create mode 100644 admin-editmods.php create mode 100644 admin-slammer.php create mode 100644 admin-threads.php create mode 100644 admin-threads2.php create mode 100644 admin.php create mode 100644 adnonsense.php create mode 100644 announcement.php create mode 100644 avatar.php create mode 100644 biggestposters.php create mode 100644 calendar.php create mode 100644 css/base.css create mode 100644 css/hydras_blue_thing.css create mode 100644 del.php create mode 100644 digits.png create mode 100644 digits4.png create mode 100644 digits8.png create mode 100644 digitstiny.png create mode 100644 doomcounter.php create mode 100644 editpost.php create mode 100644 editprofile.php create mode 100644 editthread.php create mode 100644 edituser.php create mode 100644 errors/403.html create mode 100644 errors/404.html create mode 100644 errors/404.png create mode 100644 errors/500.html create mode 100644 errors/500.png create mode 100644 ext/ajaxen.php create mode 100644 ext/hydra.php create mode 100644 ext/mmdoom.php create mode 100644 ext/ninesitter.php create mode 100644 ext/rendertime.php create mode 100644 ext/rendertime2.php create mode 100644 ext/rendertime3.php create mode 100644 ext/rpgext.php create mode 100644 ext/rpgstats.php create mode 100644 ext/xstats.php create mode 100644 faq.php create mode 100644 favicon-star.ico create mode 100644 favicon.gif create mode 100644 favicon.ico create mode 100644 favicon.php create mode 100644 favicon1.ico create mode 100644 favicon1x.ico create mode 100644 favicon2.ico create mode 100644 favicon2x.ico create mode 100644 favicon3.ico create mode 100644 favicon3x.ico create mode 100644 favicon4.ico create mode 100644 favicon4x.ico create mode 100644 favicon5.ico create mode 100644 favicon5x.ico create mode 100644 favicon6.ico create mode 100644 favicon6x.ico create mode 100644 favicon7.ico create mode 100644 favicon7x.ico create mode 100644 favicon8.ico create mode 100644 favicon8x.ico create mode 100644 forum.php create mode 100644 hex.php create mode 100644 idiotredir.php create mode 100644 images/.htaccess create mode 100644 images/1up.png create mode 100644 images/4funin1.png create mode 100644 images/_.gif create mode 100644 images/accentstovensuck.png create mode 100644 images/acmelfiabg1b.jpg create mode 100644 images/acmelfiabg2.jpg create mode 100644 images/acmelfiabgxmas1.jpg create mode 100644 images/admincrap.png create mode 100644 images/adventureofvalkyrie.png create mode 100644 images/angsa.ttf create mode 100644 images/ann-rotohead.gif create mode 100644 images/apple_kid.ttf create mode 100644 images/approvedl.png create mode 100644 images/atlantisnobanner.png create mode 100644 images/atlantisnobanner2.png create mode 100644 images/attitudebarn.png create mode 100644 images/back06.gif create mode 100644 images/back07.gif create mode 100644 images/back08.gif create mode 100644 images/back09.gif create mode 100644 images/back10.gif create mode 100644 images/badavatar.png create mode 100644 images/banner01.gif create mode 100644 images/banner02.gif create mode 100644 images/banner03.gif create mode 100644 images/banner04.gif create mode 100644 images/banner05.gif create mode 100644 images/banner06.gif create mode 100644 images/banner07.gif create mode 100644 images/banner08.gif create mode 100644 images/banvil.gif create mode 100644 images/bar-green.png create mode 100644 images/bar-off.png create mode 100644 images/bar-red.png create mode 100644 images/blackholetitle.png create mode 100644 images/blinker.gif create mode 100644 images/bmfbanner1.gif create mode 100644 images/bmfbanneredit.png create mode 100644 images/bmfbanneredit2.png create mode 100644 images/bmfbanneredit3.png create mode 100644 images/bomb/index.html create mode 100644 images/bomb/thebigone1.gif create mode 100644 images/bomb/thebigone1x.gif create mode 100644 images/bomb/thebigone2.gif create mode 100644 images/bomb/thebigone3.gif create mode 100644 images/bomb/thebigone4.gif create mode 100644 images/bomb/thebigone5.gif create mode 100644 images/bomb/thebigone5x.gif create mode 100644 images/bombbg.png create mode 100644 images/byebyemysql.png create mode 100644 images/byebyemysql2.png create mode 100644 images/cardgames.png create mode 100644 images/ccs/a-sakura.png create mode 100644 images/ccs/a-syaoran.png create mode 100644 images/ccs/banner.png create mode 100644 images/ccs/bar-off.gif create mode 100644 images/ccs/bar-on.gif create mode 100644 images/ccs/barleft.gif create mode 100644 images/ccs/barright.gif create mode 100644 images/ccs/bg.png create mode 100644 images/ccs/hot.png create mode 100644 images/ccs/hotoff.png create mode 100644 images/ccs/l-sakura.png create mode 100644 images/ccs/l-syaoran.png create mode 100644 images/ccs/new.png create mode 100644 images/ccs/newhot.png create mode 100644 images/ccs/newhotoff.png create mode 100644 images/ccs/newoff.png create mode 100644 images/ccs/newpoll.png create mode 100644 images/ccs/newreply.png create mode 100644 images/ccs/newthread.png create mode 100644 images/ccs/off.png create mode 100644 images/ccs/threadclosed.png create mode 100644 images/christmas-banner-blackroseII.png create mode 100644 images/christmasbanner-cpubasic.png create mode 100644 images/christmasbanner-lain.png create mode 100644 images/christmasbanner-snt.png create mode 100644 images/christmasbanner.png create mode 100644 images/coin.gif create mode 100644 images/coin2.gif create mode 100644 images/comport/_.gif create mode 100644 images/comport/bg.jpg create mode 100644 images/comport/coin.gif create mode 100644 images/comport/forumtitle.gif create mode 100644 images/comport/hexadecimalchart.png create mode 100644 images/comport/hot.gif create mode 100644 images/comport/hotnew.gif create mode 100644 images/comport/hotoff.gif create mode 100644 images/comport/icon_admin.gif create mode 100644 images/comport/icon_fullmod.gif create mode 100644 images/comport/icon_localmod.gif create mode 100644 images/comport/icon_terrorist.gif create mode 100644 images/comport/new.gif create mode 100644 images/comport/newreply.png create mode 100644 images/comport/newthread.png create mode 100644 images/comport/off.gif create mode 100644 images/comport/poweredbyacmlm.gif create mode 100644 images/comport/ranks/00t.gif create mode 100644 images/comport/ranks/01b.gif create mode 100644 images/comport/ranks/02d.gif create mode 100644 images/comport/ranks/03p.gif create mode 100644 images/comport/ranks/04s.gif create mode 100644 images/comport/ranks/05s.gif create mode 100644 images/comport/ranks/06u.gif create mode 100644 images/comport/ranks/07r.gif create mode 100644 images/comport/ranks/08b.gif create mode 100644 images/comport/ranks/09c.gif create mode 100644 images/comport/ranks/10s.gif create mode 100644 images/comport/ranks/11o.gif create mode 100644 images/comport/ranks/12m.gif create mode 100644 images/comport/ranks/13c.gif create mode 100644 images/comport/ranks/14a.gif create mode 100644 images/comport/ranks/15j.gif create mode 100644 images/comport/ranks/16r.gif create mode 100644 images/comport/ranks/17b.gif create mode 100644 images/comport/ranks/18t.gif create mode 100644 images/comport/ranks/19i.gif create mode 100644 images/comport/ranks/20w.gif create mode 100644 images/comport/ranks/21c.gif create mode 100644 images/comport/ranks/22k.gif create mode 100644 images/comport/ranks/23s.gif create mode 100644 images/comport/ranks/24g.gif create mode 100644 images/comport/ranks/25f.gif create mode 100644 images/comport/ranks/26b.gif create mode 100644 images/comport/ranks/27w.gif create mode 100644 images/comport/ranks/28k.gif create mode 100644 images/comport/ranks/29d.gif create mode 100644 images/comport/ranks/30n.gif create mode 100644 images/comport/ranks/31m.gif create mode 100644 images/comport/ranks/32g.gif create mode 100644 images/comport/ranks/GFX/DONUT1.GIF create mode 100644 images/comport/ranks/GFX/WS_FTP.LOG create mode 100644 images/comport/ranks/GFX/book1.gif create mode 100644 images/comport/ranks/GFX/dice1.gif create mode 100644 images/comport/ranks/GFX/pspbrwse.jbf create mode 100644 images/comport/ranks/GFX/rings1.gif create mode 100644 images/comport/ranks/WS_FTP.LOG create mode 100644 images/comport/ranks/pspbrwse.jbf create mode 100644 images/comport/ranks/ranklist.txt create mode 100644 images/comport/ranks/ranktest.htm create mode 100644 images/comport/reply.gif create mode 100644 images/comport/title.gif create mode 100644 images/comport/topic.gif create mode 100644 images/confetti/confetti_blue.png create mode 100644 images/confetti/confetti_green.png create mode 100644 images/confetti/confetti_red.png create mode 100644 images/confetti/confetti_yellow.png create mode 100644 images/css-auth.mid create mode 100644 images/denied.gif create mode 100644 images/desolation/desolation-0.jpg create mode 100644 images/desolation/desolation.jpg create mode 100644 images/desolation/specialtitle.jpg create mode 100644 images/desolation/tdbg1.png create mode 100644 images/desolation/tdbg2.png create mode 100644 images/desolation/tdbg3.png create mode 100644 images/desolation/tdbgc.png create mode 100644 images/desolation/tdbgh.png create mode 100644 images/digits6.png create mode 100644 images/digits6s.png create mode 100644 images/disgaea-rejected.png create mode 100644 images/dnss/banner.png create mode 100644 images/dnss/darkest.png create mode 100644 images/dot1.gif create mode 100644 images/dot2.gif create mode 100644 images/dot3.gif create mode 100644 images/dot4.gif create mode 100644 images/dot5.gif create mode 100644 images/downtimemessage2.jpg create mode 100644 images/dude.png create mode 100644 images/dude2.png create mode 100644 images/dude3.png create mode 100644 images/dude4.png create mode 100644 images/dude5.png create mode 100644 images/epicburn.png create mode 100644 images/everybody_loves_dog.jpg create mode 100644 images/f2/bg.png create mode 100644 images/f2/bg1.png create mode 100644 images/f2/bg2.png create mode 100644 images/f2/bg_2.png create mode 100644 images/facepalm.jpg create mode 100644 images/facepalm2.jpg create mode 100644 images/fail.png create mode 100644 images/fixpickle.gif create mode 100644 images/flash1.gif create mode 100644 images/flash2.gif create mode 100644 images/flash3.gif create mode 100644 images/gameoverbra.gif create mode 100644 images/garbg/garbanner.png create mode 100644 images/garbg/garbg.png create mode 100644 images/getlast.png create mode 100644 images/getnew.png create mode 100644 images/gn/gstarsbg.png create mode 100644 images/grouphug.png create mode 100644 images/gtst4in1.png create mode 100644 images/hate.jpg create mode 100644 images/hexchart.png create mode 100644 images/hot.gif create mode 100644 images/hotnew.gif create mode 100644 images/hotoff.gif create mode 100644 images/hugeavatarssuck.png create mode 100644 images/hugeavatarssuck2.png create mode 100644 images/hugeavatarssuck3.gif create mode 100644 images/hydras_blue_background.png create mode 100644 images/icons/icon1.gif create mode 100644 images/icons/icon13.gif create mode 100644 images/icons/icon14.gif create mode 100644 images/icons/icon2.gif create mode 100644 images/icons/icon3.gif create mode 100644 images/icons/icon4.gif create mode 100644 images/icons/icon5.gif create mode 100644 images/icons/nsfwicon.gif create mode 100644 images/ihateglennbeckbutistillthinkthisimagefitsquitenicelyundertheadminpanelmoneycounter.jpg create mode 100644 images/ikachan/vikingikachan.png create mode 100644 images/ikachan1.png create mode 100644 images/ikachan2.png create mode 100644 images/ikachanpointer.png create mode 100644 images/ikachanpointer2.png create mode 100644 images/ikamad.png create mode 100644 images/imageshits.png create mode 100644 images/inu/7sd.php create mode 100644 images/inu/cifont/0.gif create mode 100644 images/inu/cifont/1.gif create mode 100644 images/inu/cifont/2.gif create mode 100644 images/inu/cifont/3.gif create mode 100644 images/inu/cifont/4.gif create mode 100644 images/inu/cifont/5.gif create mode 100644 images/inu/cifont/6.gif create mode 100644 images/inu/cifont/7.gif create mode 100644 images/inu/cifont/8.gif create mode 100644 images/inu/cifont/9.gif create mode 100644 images/inu/cifont/a.gif create mode 100644 images/inu/cifont/b.gif create mode 100644 images/inu/cifont/c.gif create mode 100644 images/inu/cifont/d.gif create mode 100644 images/inu/cifont/e.gif create mode 100644 images/inu/cifont/f.gif create mode 100644 images/inu/cifont/p.gif create mode 100644 images/inu/cifont/t.gif create mode 100644 images/jmsu.png create mode 100644 images/jul/bar-off.gif create mode 100644 images/jul/bar-on.gif create mode 100644 images/jul/barleft.gif create mode 100644 images/jul/barright.gif create mode 100644 images/jul88x31.png create mode 100644 images/jul_sheet0.png create mode 100644 images/julmas/flake0.gif create mode 100644 images/julmas/flake1.gif create mode 100644 images/julmas/jullights02.gif create mode 100644 images/julmas/jullightsplug01.gif create mode 100644 images/julmas/snowplosion.gif create mode 100644 images/julold/bar-off.gif create mode 100644 images/julold/bar-on.gif create mode 100644 images/julold/barleft.gif create mode 100644 images/julold/barright.gif create mode 100644 images/julold/header_shade.png create mode 100644 images/julpleinair.png create mode 100644 images/julstupid1.png create mode 100644 images/julstupid2.png create mode 100644 images/julstupid3.png create mode 100644 images/julstupid4.png create mode 100644 images/julstupid5.png create mode 100644 images/julstupid6.png create mode 100644 images/julstupid7.png create mode 100644 images/julstupid8.png create mode 100644 images/justusbmf.jpg create mode 100644 images/justusleague2.jpg create mode 100644 images/kafuka/firebg2.jpg create mode 100644 images/kafuka/firebg2b.jpg create mode 100644 images/kafuka/firebg4.jpg create mode 100644 images/kafuka/kafuka.jpg create mode 100644 images/kafuka/newreplykaf.png create mode 100644 images/kafuka/newthreadkaf.png create mode 100644 images/linkingfail.gif create mode 100644 images/marin_l.jpg create mode 100644 images/marin_l.png create mode 100644 images/marin_l2.png create mode 100644 images/mariomovie/newpoll.png create mode 100644 images/mariomovie/newreply.png create mode 100644 images/mariomovie/newthread.png create mode 100644 images/mariomovie/thedata.png create mode 100644 images/mariomovie/threadclosed.png create mode 100644 images/mariomovie/zeroesbg3.png create mode 100644 images/miniapple.gif create mode 100644 images/minibar.png create mode 100644 images/moodrings.png create mode 100644 images/mosts/0-1.png create mode 100644 images/mosts/0-2.png create mode 100644 images/mosts/0-3.png create mode 100644 images/mosts/1-1.png create mode 100644 images/mosts/1-2.png create mode 100644 images/mosts/1-3.png create mode 100644 images/mosts/2-1.png create mode 100644 images/mosts/2-2.png create mode 100644 images/mosts/2-3.png create mode 100644 images/mosts/3-1.png create mode 100644 images/mosts/3-2.png create mode 100644 images/mosts/3-3.png create mode 100644 images/mosts/4-1.png create mode 100644 images/mosts/4-2.png create mode 100644 images/mosts/4-3.png create mode 100644 images/mosts/5-1.png create mode 100644 images/mosts/5-2.png create mode 100644 images/mosts/5-3.png create mode 100644 images/mosts/6-1.png create mode 100644 images/mosts/6-2.png create mode 100644 images/mosts/6-3.png create mode 100644 images/mosts/7-1.png create mode 100644 images/mosts/7-2.png create mode 100644 images/mosts/7-3.png create mode 100644 images/mosts/8-1.png create mode 100644 images/mosts/8-2.png create mode 100644 images/mosts/8-3.png create mode 100644 images/mosts/hm.png create mode 100644 images/mosts/trophies.bin create mode 100644 images/mosts/trophies.dat create mode 100644 images/mosts/trophies.pal create mode 100644 images/mosts/trophies2.bin create mode 100644 images/mosts/trophies2.dat create mode 100644 images/mosts/trophies2.pal create mode 100644 images/motorcycles.png create mode 100644 images/new.gif create mode 100644 images/newpoll.png create mode 100644 images/newreply.png create mode 100644 images/newthread.png create mode 100644 images/nightscheme_closedthreads.png create mode 100644 images/nightscheme_hotclosedthreads.png create mode 100644 images/nightscheme_hotnewposts.png create mode 100644 images/nightscheme_hotthreads.png create mode 100644 images/nightscheme_newposts.png create mode 100644 images/nightscheme_starsbg.png create mode 100644 images/nopolls.png create mode 100644 images/noted.png create mode 100644 images/num1/-.gif create mode 100644 images/num1/0.gif create mode 100644 images/num1/1.gif create mode 100644 images/num1/2.gif create mode 100644 images/num1/3.gif create mode 100644 images/num1/4.gif create mode 100644 images/num1/5.gif create mode 100644 images/num1/6.gif create mode 100644 images/num1/7.gif create mode 100644 images/num1/8.gif create mode 100644 images/num1/9.gif create mode 100644 images/num1/A.gif create mode 100644 images/num1/N.gif create mode 100644 images/num1/_.gif create mode 100644 images/num1/averageiq.gif create mode 100644 images/num1/bar-off.gif create mode 100644 images/num1/bar-off.png create mode 100644 images/num1/bar-on.gif create mode 100644 images/num1/bar-onred.gif create mode 100644 images/num1/bar-onred.png create mode 100644 images/num1/bar-onspecial.gif create mode 100644 images/num1/barleft.gif create mode 100644 images/num1/barleft.png create mode 100644 images/num1/barright.gif create mode 100644 images/num1/barright.png create mode 100644 images/num1/exp.gif create mode 100644 images/num1/fornext.gif create mode 100644 images/num1/level.gif create mode 100644 images/num1/posts.gif create mode 100644 images/num1/slash.gif create mode 100644 images/num2/-.gif create mode 100644 images/num2/.listing create mode 100644 images/num2/0.gif create mode 100644 images/num2/1.gif create mode 100644 images/num2/2.gif create mode 100644 images/num2/3.gif create mode 100644 images/num2/4.gif create mode 100644 images/num2/5.gif create mode 100644 images/num2/6.gif create mode 100644 images/num2/7.gif create mode 100644 images/num2/8.gif create mode 100644 images/num2/9.gif create mode 100644 images/num2/A.gif create mode 100644 images/num2/N.gif create mode 100644 images/num2/bar-off.gif create mode 100644 images/num2/bar-on.gif create mode 100644 images/num2/barleft.gif create mode 100644 images/num2/barright.gif create mode 100644 images/num2/exp.gif create mode 100644 images/num2/fornext.gif create mode 100644 images/num2/level.gif create mode 100644 images/num2/posts.gif create mode 100644 images/num2/slash.gif create mode 100644 images/num3/-.gif create mode 100644 images/num3/0.gif create mode 100644 images/num3/1.gif create mode 100644 images/num3/2.gif create mode 100644 images/num3/3.gif create mode 100644 images/num3/4.gif create mode 100644 images/num3/5.gif create mode 100644 images/num3/6.gif create mode 100644 images/num3/7.gif create mode 100644 images/num3/8.gif create mode 100644 images/num3/9.gif create mode 100644 images/num3/A.gif create mode 100644 images/num3/N.gif create mode 100644 images/num3/bar-off.gif create mode 100644 images/num3/bar-on.gif create mode 100644 images/num3/barleft.gif create mode 100644 images/num3/barright.gif create mode 100644 images/num3/exp.gif create mode 100644 images/num3/fornext.gif create mode 100644 images/num3/level.gif create mode 100644 images/num3/posts.gif create mode 100644 images/num3/slash.gif create mode 100644 images/ocarina.png create mode 100644 images/off.gif create mode 100644 images/offhotnew.gif create mode 100644 images/offnew.gif create mode 100644 images/old/hot.gif create mode 100644 images/old/hotnew.gif create mode 100644 images/old/hotoff.gif create mode 100644 images/old/new.gif create mode 100644 images/old/off.gif create mode 100644 images/penaltyarea.gif create mode 100644 images/pescatore.png create mode 100644 images/pinstripe/bluebg.png create mode 100644 images/piticon-ok.png create mode 100644 images/piticon-okx.png create mode 100644 images/piticon-wait.png create mode 100644 images/poniecentral.gif create mode 100644 images/postbar/0.GIF create mode 100644 images/postbar/10.GIF create mode 100644 images/postbar/3.GIF create mode 100644 images/postbar/4.GIF create mode 100644 images/postbar/5.GIF create mode 100644 images/postbar/6.GIF create mode 100644 images/postbar/7.GIF create mode 100644 images/postbar/8.GIF create mode 100644 images/postbar/9.GIF create mode 100644 images/poweredbyacmlm.gif create mode 100644 images/pumpkinchan.png create mode 100644 images/purple/darkbubblebg.jpg create mode 100644 images/purple/newpollpurple.png create mode 100644 images/purple/newreplypurple.png create mode 100644 images/purple/newthreadpurple.png create mode 100644 images/purple/purplebanner.png create mode 100644 images/purple/threadclosedpurple.png create mode 100644 images/ranks/mario/babybowser.gif create mode 100644 images/ranks/mario/babymario.gif create mode 100644 images/ranks/mario/bandit.gif create mode 100644 images/ranks/mario/beetle.gif create mode 100644 images/ranks/mario/beezo.gif create mode 100644 images/ranks/mario/bigcheepcheep.gif create mode 100644 images/ranks/mario/birdogreen.gif create mode 100644 images/ranks/mario/birdopink.gif create mode 100644 images/ranks/mario/birdored.gif create mode 100644 images/ranks/mario/bloober.gif create mode 100644 images/ranks/mario/bobomb.gif create mode 100644 images/ranks/mario/boo.gif create mode 100644 images/ranks/mario/boo2.gif create mode 100644 images/ranks/mario/boomboom.gif create mode 100644 images/ranks/mario/boomerangbrother.gif create mode 100644 images/ranks/mario/bowser.gif create mode 100644 images/ranks/mario/bulletbill.gif create mode 100644 images/ranks/mario/busterbeetle.gif create mode 100644 images/ranks/mario/cheepcheep.gif create mode 100644 images/ranks/mario/chuck.gif create mode 100644 images/ranks/mario/cobrat.gif create mode 100644 images/ranks/mario/drybones.gif create mode 100644 images/ranks/mario/firebrother.gif create mode 100644 images/ranks/mario/firesnake.gif create mode 100644 images/ranks/mario/flurry.gif create mode 100644 images/ranks/mario/fuzzball.gif create mode 100644 images/ranks/mario/fuzzy.gif create mode 100644 images/ranks/mario/giantgoomba.gif create mode 100644 images/ranks/mario/giantkoopa.gif create mode 100644 images/ranks/mario/giantparatroopa.gif create mode 100644 images/ranks/mario/giantredkoopa.gif create mode 100644 images/ranks/mario/giantredparatroopa.gif create mode 100644 images/ranks/mario/goomba.gif create mode 100644 images/ranks/mario/hammerbrother.gif create mode 100644 images/ranks/mario/hedgehog.gif create mode 100644 images/ranks/mario/iggy.gif create mode 100644 images/ranks/mario/kamek.gif create mode 100644 images/ranks/mario/kingyoshi.gif create mode 100644 images/ranks/mario/koopa.gif create mode 100644 images/ranks/mario/lakitu.gif create mode 100644 images/ranks/mario/lanternghost.gif create mode 100644 images/ranks/mario/larry.gif create mode 100644 images/ranks/mario/lavalotus.gif create mode 100644 images/ranks/mario/lemmy.gif create mode 100644 images/ranks/mario/ludwig.gif create mode 100644 images/ranks/mario/luigi_fire.gif create mode 100644 images/ranks/mario/luigibig.gif create mode 100644 images/ranks/mario/luigicape.gif create mode 100644 images/ranks/mario/luigismall.gif create mode 100644 images/ranks/mario/luigistar.gif create mode 100644 images/ranks/mario/mariobig.gif create mode 100644 images/ranks/mario/mariocape.gif create mode 100644 images/ranks/mario/mariofire.gif create mode 100644 images/ranks/mario/mariosmall.gif create mode 100644 images/ranks/mario/mariostar.gif create mode 100644 images/ranks/mario/microgoomba.gif create mode 100644 images/ranks/mario/mole.gif create mode 100644 images/ranks/mario/morton.gif create mode 100644 images/ranks/mario/ninji.gif create mode 100644 images/ranks/mario/nipperplant.gif create mode 100644 images/ranks/mario/panser.gif create mode 100644 images/ranks/mario/paragoomba.gif create mode 100644 images/ranks/mario/paratroopa.gif create mode 100644 images/ranks/mario/pokey.gif create mode 100644 images/ranks/mario/porcupo.gif create mode 100644 images/ranks/mario/ptooie.gif create mode 100644 images/ranks/mario/ptooie2.gif create mode 100644 images/ranks/mario/redcheepcheep.gif create mode 100644 images/ranks/mario/redgoomba.gif create mode 100644 images/ranks/mario/redkoopa.gif create mode 100644 images/ranks/mario/redparagoomba.gif create mode 100644 images/ranks/mario/redparatroopa.gif create mode 100644 images/ranks/mario/redsuperkoopa.gif create mode 100644 images/ranks/mario/rex.gif create mode 100644 images/ranks/mario/roy.gif create mode 100644 images/ranks/mario/shyguy.gif create mode 100644 images/ranks/mario/sledgebrother.gif create mode 100644 images/ranks/mario/snifit.gif create mode 100644 images/ranks/mario/spike.gif create mode 100644 images/ranks/mario/spiny.gif create mode 100644 images/ranks/mario/superkoopa.gif create mode 100644 images/ranks/mario/thwomp.gif create mode 100644 images/ranks/mario/triclyde.gif create mode 100644 images/ranks/mario/volcanolotus.gif create mode 100644 images/ranks/mario/wart.gif create mode 100644 images/ranks/mario/wendy.gif create mode 100644 images/ranks/mario/yoshi.gif create mode 100644 images/ranks/mario/yoshiblue.gif create mode 100644 images/ranks/mario/yoshired.gif create mode 100644 images/ranks/mario/yoshiyellow.gif create mode 100644 images/ranks/tgm/1.png create mode 100644 images/ranks/tgm/2.png create mode 100644 images/ranks/tgm/3.png create mode 100644 images/ranks/tgm/4.png create mode 100644 images/ranks/tgm/5.png create mode 100644 images/ranks/tgm/6.png create mode 100644 images/ranks/tgm/7.png create mode 100644 images/ranks/tgm/8.png create mode 100644 images/ranks/tgm/9.png create mode 100644 images/ranks/tgm/gm.png create mode 100644 images/ranks/tgm/s1.png create mode 100644 images/ranks/tgm/s2.png create mode 100644 images/ranks/tgm/s3.png create mode 100644 images/ranks/tgm/s4.png create mode 100644 images/ranks/tgm/s5.png create mode 100644 images/ranks/tgm/s6.png create mode 100644 images/ranks/tgm/s7.png create mode 100644 images/ranks/tgm/s8.png create mode 100644 images/ranks/tgm/s9.png create mode 100644 images/reject.png create mode 100644 images/rejected.png create mode 100644 images/reportbugs.png create mode 100644 images/rereggie.png create mode 100644 images/rpg/font.png create mode 100644 images/rpg/fontgrid.png create mode 100644 images/sankachan.png create mode 100644 images/secretbg.jpg create mode 100644 images/smilies/affun.gif create mode 100644 images/smilies/annoyed.gif create mode 100644 images/smilies/approved.gif create mode 100644 images/smilies/argh.gif create mode 100644 images/smilies/awesome.png create mode 100644 images/smilies/awesomexz.png create mode 100644 images/smilies/baby.gif create mode 100644 images/smilies/bigeyes.gif create mode 100644 images/smilies/bigeyes2.gif create mode 100644 images/smilies/biggrin.gif create mode 100644 images/smilies/bigsad.gif create mode 100644 images/smilies/blank.gif create mode 100644 images/smilies/boatanchor.png create mode 100644 images/smilies/cry.gif create mode 100644 images/smilies/cute.gif create mode 100644 images/smilies/cute2.gif create mode 100644 images/smilies/damnyou.gif create mode 100644 images/smilies/darkaffun.gif create mode 100644 images/smilies/denied.gif create mode 100644 images/smilies/dizzy.gif create mode 100644 images/smilies/drool.gif create mode 100644 images/smilies/durnip.gif create mode 100644 images/smilies/durnip2.gif create mode 100644 images/smilies/eek.gif create mode 100644 images/smilies/emot-colbert.gif create mode 100644 images/smilies/emot-effort.gif create mode 100644 images/smilies/emot-laffotarget.gif create mode 100644 images/smilies/emot-protarget.gif create mode 100644 images/smilies/emot-shepface.gif create mode 100644 images/smilies/eng101.gif create mode 100644 images/smilies/eng101.png create mode 100644 images/smilies/evil.gif create mode 100644 images/smilies/ewww.gif create mode 100644 images/smilies/eyeshift.gif create mode 100644 images/smilies/eyeshift2.gif create mode 100644 images/smilies/flunked.png create mode 100644 images/smilies/frown.gif create mode 100644 images/smilies/glare.png create mode 100644 images/smilies/glasses.gif create mode 100644 images/smilies/gonk.gif create mode 100644 images/smilies/heart2.gif create mode 100644 images/smilies/icon_cool.gif create mode 100644 images/smilies/icon_lol.gif create mode 100644 images/smilies/jawdrop.gif create mode 100644 images/smilies/laheart.gif create mode 100644 images/smilies/lol.gif create mode 100644 images/smilies/mad.gif create mode 100644 images/smilies/magick.gif create mode 100644 images/smilies/meow.gif create mode 100644 images/smilies/nyan.001.gif create mode 100644 images/smilies/ohdear.png create mode 100644 images/smilies/pacsome.png create mode 100644 images/smilies/raddmad.gif create mode 100644 images/smilies/raddrock.gif create mode 100644 images/smilies/raddsigh2.gif create mode 100644 images/smilies/raddstand.gif create mode 100644 images/smilies/raddwink.gif create mode 100644 images/smilies/raddwow.gif create mode 100644 images/smilies/ranbowdash.001.png create mode 100644 images/smilies/rlaugh.gif create mode 100644 images/smilies/rofl.gif create mode 100644 images/smilies/roflbar.gif create mode 100644 images/smilies/roflx.gif create mode 100644 images/smilies/shiftleft.gif create mode 100644 images/smilies/shiftright.gif create mode 100644 images/smilies/sick.gif create mode 100644 images/smilies/smb2smileyc.png create mode 100644 images/smilies/smile.gif create mode 100644 images/smilies/smile2.png create mode 100644 images/smilies/smilespin.gif create mode 100644 images/smilies/smilespin2.gif create mode 100644 images/smilies/smugdra.png create mode 100644 images/smilies/specialed.gif create mode 100644 images/smilies/specialed.png create mode 100644 images/smilies/spinnaz.gif create mode 100644 images/smilies/superd.png create mode 100644 images/smilies/terror.gif create mode 100644 images/smilies/terrormyk.gif create mode 100644 images/smilies/tongue.gif create mode 100644 images/smilies/toot.png create mode 100644 images/smilies/toot2.gif create mode 100644 images/smilies/turnip.gif create mode 100644 images/smilies/v.gif create mode 100644 images/smilies/vamp.gif create mode 100644 images/smilies/wink.gif create mode 100644 images/smilies/wobbly.gif create mode 100644 images/smilies/woot.gif create mode 100644 images/smilies/words.gif create mode 100644 images/smilies/yuck.gif create mode 100644 images/smilies2/anime.gif create mode 100644 images/smilies2/anime2.gif create mode 100644 images/smilies2/annoyed.gif create mode 100644 images/smilies2/approved.gif create mode 100644 images/smilies2/baby.gif create mode 100644 images/smilies2/bigeyes.gif create mode 100644 images/smilies2/bigeyes2.gif create mode 100644 images/smilies2/biggrin.gif create mode 100644 images/smilies2/blank.gif create mode 100644 images/smilies2/cry.gif create mode 100644 images/smilies2/cute.gif create mode 100644 images/smilies2/cute2.gif create mode 100644 images/smilies2/denied.gif create mode 100644 images/smilies2/dizzy.gif create mode 100644 images/smilies2/duh.gif create mode 100644 images/smilies2/eek.gif create mode 100644 images/smilies2/evil.gif create mode 100644 images/smilies2/eyeshift.gif create mode 100644 images/smilies2/eyeshift2.gif create mode 100644 images/smilies2/flush.gif create mode 100644 images/smilies2/frown.gif create mode 100644 images/smilies2/glasses.gif create mode 100644 images/smilies2/grin.gif create mode 100644 images/smilies2/halo.gif create mode 100644 images/smilies2/haw.gif create mode 100644 images/smilies2/haw2.gif create mode 100644 images/smilies2/heart2.gif create mode 100644 images/smilies2/jawdrop.gif create mode 100644 images/smilies2/krunk.gif create mode 100644 images/smilies2/lol.gif create mode 100644 images/smilies2/mad.gif create mode 100644 images/smilies2/meow.gif create mode 100644 images/smilies2/ooh.gif create mode 100644 images/smilies2/rofl.gif create mode 100644 images/smilies2/roflbar.gif create mode 100644 images/smilies2/roflx.gif create mode 100644 images/smilies2/rolleyes.gif create mode 100644 images/smilies2/shiftleft.gif create mode 100644 images/smilies2/shiftright.gif create mode 100644 images/smilies2/sick.gif create mode 100644 images/smilies2/smile.gif create mode 100644 images/smilies2/smilespin.gif create mode 100644 images/smilies2/smilespin2.gif create mode 100644 images/smilies2/terror.gif create mode 100644 images/smilies2/tongue.gif create mode 100644 images/smilies2/vamp.gif create mode 100644 images/smilies2/wink.gif create mode 100644 images/smilies2/wobbly.gif create mode 100644 images/smilies2/woot.gif create mode 100644 images/smilies2/yuck.gif create mode 100644 images/snow/0.gif create mode 100644 images/snow/0.png create mode 100644 images/snowbg.jpg create mode 100644 images/spikedball.gif create mode 100644 images/spikedball.png create mode 100644 images/squid.png create mode 100644 images/stardonor.png create mode 100644 images/starsbg-r.png create mode 100644 images/status-classic/hot.gif create mode 100644 images/status-classic/hotnew.gif create mode 100644 images/status-classic/hotoff.gif create mode 100644 images/status-classic/new.gif create mode 100644 images/status-classic/off.gif create mode 100644 images/stupidmage.png create mode 100644 images/temp/nym-cloud.gif create mode 100644 images/temp/nym-ehz.gif create mode 100644 images/terminal6.gdf create mode 100644 images/terrorism2.png create mode 100644 images/thisthreadfails.png create mode 100644 images/threadclosed.png create mode 100644 images/toolbar/alphabg.png create mode 100644 images/toolbar/alphabg2.png create mode 100644 images/toolbar/bgblack.gif create mode 100644 images/toolbar/bgblue.gif create mode 100644 images/toolbar/bgcolor.gif create mode 100644 images/toolbar/bggreen.gif create mode 100644 images/toolbar/bgorange.gif create mode 100644 images/toolbar/bgpink.gif create mode 100644 images/toolbar/bgpurple.gif create mode 100644 images/toolbar/bgred.gif create mode 100644 images/toolbar/bgyellow.gif create mode 100644 images/toolbar/bold.gif create mode 100644 images/toolbar/fblack.gif create mode 100644 images/toolbar/fblue.gif create mode 100644 images/toolbar/fcolor.gif create mode 100644 images/toolbar/fgreen.gif create mode 100644 images/toolbar/forange.gif create mode 100644 images/toolbar/fpink.gif create mode 100644 images/toolbar/fpurple.gif create mode 100644 images/toolbar/fred.gif create mode 100644 images/toolbar/fyellow.gif create mode 100644 images/toolbar/image.gif create mode 100644 images/toolbar/invis.gif create mode 100644 images/toolbar/italic.gif create mode 100644 images/toolbar/link.gif create mode 100644 images/toolbar/smiley.gif create mode 100644 images/toolbar/strike.gif create mode 100644 images/toolbar/underline.gif create mode 100644 images/topsecret.jpg create mode 100644 images/touhoubanner.png create mode 100644 images/trolldra.png create mode 100644 images/umad.jpg create mode 100644 images/unthread.png create mode 100644 images/update.png create mode 100644 images/wafflebg.png create mode 100644 images/waffleiron.jpg create mode 100644 images/wafflemysql.png create mode 100644 images/wave/cheepcheep.png create mode 100644 images/wave/chest.png create mode 100644 images/wave/seaweed.png create mode 100644 images/wave/squid.png create mode 100644 images/ymar/bar-off.gif create mode 100644 images/ymar/bar-on.gif create mode 100644 images/ymar/barleft.gif create mode 100644 images/ymar/barright.gif create mode 100644 images/ymar/beegee.png create mode 100644 images/ymar/headbg-00.png create mode 100644 images/ymar/headbg.png create mode 100644 images/ymar/hot.png create mode 100644 images/ymar/hotoff.png create mode 100644 images/ymar/new.png create mode 100644 images/ymar/newhot.png create mode 100644 images/ymar/newhotoff.png create mode 100644 images/ymar/newoff.png create mode 100644 images/ymar/newpoll.png create mode 100644 images/ymar/newreply.png create mode 100644 images/ymar/newthread.png create mode 100644 images/ymar/off.png create mode 100644 images/ymar/threadclosed.png create mode 100644 images/ymar/title.jpg create mode 100644 images/zen/header.png create mode 100644 images/zen/t1.png create mode 100644 images/zen/zentitle.png create mode 100644 index.php create mode 100644 ipsearch.php create mode 100644 irc.php create mode 100644 js/button.js create mode 100644 js/hex.js create mode 100644 js/jquery.hotkeys-0.7.9.min.js create mode 100644 js/jquery.min.js create mode 100644 js/latestposts.js create mode 100644 js/layoutpreview.js create mode 100644 js/menu.js create mode 100644 js/password.js create mode 100644 js/png.js create mode 100644 js/snow.js create mode 100644 js/snowflakes.js create mode 100644 js/toolbar.js create mode 100644 js/useful.js create mode 100644 latestposts.php create mode 100644 lib/.htaccess create mode 100644 lib/colors.php create mode 100644 lib/datetime.php create mode 100644 lib/downtime-bmf.php create mode 100644 lib/downtime.php create mode 100644 lib/downtime2.php create mode 100644 lib/function.php create mode 100644 lib/layout.php create mode 100644 lib/layout_mobile.php create mode 100644 lib/mysql.php create mode 100644 lib/rpg.php create mode 100644 lib/threadpost.php create mode 100644 login.php create mode 100644 memberlist.php create mode 100644 milestones.php create mode 100644 mobile.css create mode 100644 newreply.php create mode 100644 newthread.php create mode 100644 newyear.php create mode 100644 numgfx.php create mode 100644 numgfx/ccs/0.png create mode 100644 numgfx/ccs/1.png create mode 100644 numgfx/ccs/2.png create mode 100644 numgfx/ccs/3.png create mode 100644 numgfx/ccs/4.png create mode 100644 numgfx/ccs/5.png create mode 100644 numgfx/ccs/6.png create mode 100644 numgfx/ccs/7.png create mode 100644 numgfx/ccs/8.png create mode 100644 numgfx/ccs/9.png create mode 100644 numgfx/death/0.png create mode 100644 numgfx/death/1.png create mode 100644 numgfx/death/2.png create mode 100644 numgfx/death/3.png create mode 100644 numgfx/death/4.png create mode 100644 numgfx/death/5.png create mode 100644 numgfx/death/6.png create mode 100644 numgfx/death/7.png create mode 100644 numgfx/death/8.png create mode 100644 numgfx/death/9.png create mode 100644 numgfx/jul/0.png create mode 100644 numgfx/jul/1.png create mode 100644 numgfx/jul/2.png create mode 100644 numgfx/jul/3.png create mode 100644 numgfx/jul/4.png create mode 100644 numgfx/jul/5.png create mode 100644 numgfx/jul/6.png create mode 100644 numgfx/jul/7.png create mode 100644 numgfx/jul/8.png create mode 100644 numgfx/jul/9.png create mode 100644 numgfx/num2/0.png create mode 100644 numgfx/num2/1.png create mode 100644 numgfx/num2/2.png create mode 100644 numgfx/num2/3.png create mode 100644 numgfx/num2/4.png create mode 100644 numgfx/num2/5.png create mode 100644 numgfx/num2/6.png create mode 100644 numgfx/num2/7.png create mode 100644 numgfx/num2/8.png create mode 100644 numgfx/num2/9.png create mode 100644 numgfx/num2/A.png create mode 100644 numgfx/num2/Dash.png create mode 100644 numgfx/num2/N.png create mode 100644 numgfx/num2/Slash.png create mode 100644 numgfx/num3/-.png create mode 100644 numgfx/num3/0.png create mode 100644 numgfx/num3/1.png create mode 100644 numgfx/num3/2.png create mode 100644 numgfx/num3/3.png create mode 100644 numgfx/num3/4.png create mode 100644 numgfx/num3/5.png create mode 100644 numgfx/num3/6.png create mode 100644 numgfx/num3/7.png create mode 100644 numgfx/num3/8.png create mode 100644 numgfx/num3/9.png create mode 100644 numgfx/num3/A.png create mode 100644 numgfx/num3/N.png create mode 100644 numgfx/num3/bar-off.png create mode 100644 numgfx/num3/bar-on.png create mode 100644 numgfx/num3/barleft.png create mode 100644 numgfx/num3/barright.png create mode 100644 numgfx/num3/exp.png create mode 100644 numgfx/num3/fornext.png create mode 100644 numgfx/num3/level.png create mode 100644 numgfx/num3/posts.png create mode 100644 numgfx/num3/slash.png create mode 100644 numgfx/numbloodlust.png create mode 100644 numgfx/numcircuit.png create mode 100644 numgfx/numdani.png create mode 100644 numgfx/numdeath.png create mode 100644 numgfx/numkafuka.png create mode 100644 numgfx/nummario.png create mode 100644 numgfx/nummegaman.png create mode 100644 numgfx/numnes.png create mode 100644 numgfx/numnes8bit.png create mode 100644 numgfx/numpurple.png create mode 100644 numgfx/numxmas.png create mode 100644 numgfx/red.gif create mode 100644 numgfx/ymar/0.png create mode 100644 numgfx/ymar/1.png create mode 100644 numgfx/ymar/2.png create mode 100644 numgfx/ymar/3.png create mode 100644 numgfx/ymar/4.png create mode 100644 numgfx/ymar/5.png create mode 100644 numgfx/ymar/6.png create mode 100644 numgfx/ymar/7.png create mode 100644 numgfx/ymar/8.png create mode 100644 numgfx/ymar/9.png create mode 100644 numgfxbig.php create mode 100644 online.php create mode 100644 perfdata.php create mode 100644 posticons.dat create mode 100644 postradar.php create mode 100644 postsbyforum.php create mode 100644 postsbythread.php create mode 100644 postsbytime.php create mode 100644 postsbyuser.php create mode 100644 ppdgauge.php create mode 100644 private.php create mode 100644 profile.php create mode 100644 ranks.php create mode 100644 register.php create mode 100644 robots.txt create mode 100644 schemes/aesucks.php create mode 100644 schemes/ccs.php create mode 100644 schemes/ccs.phps create mode 100644 schemes/comport.php create mode 100644 schemes/cuppycakes.php create mode 100644 schemes/dailycycle.php create mode 100644 schemes/desolation.php create mode 100644 schemes/dnss.php create mode 100644 schemes/fragmentation2.php create mode 100644 schemes/garbg.php create mode 100644 schemes/greennight.php create mode 100644 schemes/hydras_blue_thing.php create mode 100644 schemes/hydras_blue_thing_alt.php create mode 100644 schemes/hydras_blue_thing_v2.php create mode 100644 schemes/kafuka.php create mode 100644 schemes/mariomovie.php create mode 100644 schemes/night.php create mode 100644 schemes/null.php create mode 100644 schemes/pinstripe.php create mode 100644 schemes/purple.php create mode 100644 schemes/rednight.php create mode 100644 schemes/spec-attitude.php create mode 100644 schemes/spec-blackhole.php create mode 100644 schemes/spec-subcon.php create mode 100644 schemes/spec-topsecret.php create mode 100644 schemes/spec-trolldra.php create mode 100644 schemes/spec-waffle.php create mode 100644 schemes/spec-zen.php create mode 100644 schemes/xmas.php create mode 100644 schemes/ymar.php create mode 100644 sendprivate.php create mode 100644 shitbugs.php create mode 100644 shop.php create mode 100644 shoped.php create mode 100644 shoph.php create mode 100644 showprivate.php create mode 100644 sigsize.php create mode 100644 smilies.dat create mode 100644 smilies.php create mode 100644 smilies2.dat create mode 100644 smilies2.php create mode 100644 smilieslol.dat create mode 100644 stats.php create mode 100644 status.php create mode 100644 templates/aceboard.php create mode 100644 templates/aesucks.php create mode 100644 templates/alliance.php create mode 100644 templates/bloodlust.php create mode 100644 templates/classic.php create mode 100644 templates/dailycycle.php create mode 100644 templates/dani.php create mode 100644 templates/dig.php create mode 100644 templates/endofff.php create mode 100644 templates/favorites.php create mode 100644 templates/ff9a.php create mode 100644 templates/horde.php create mode 100644 templates/kafuka.php create mode 100644 templates/kirby.php create mode 100644 templates/mario.php create mode 100644 templates/megaman.php create mode 100644 templates/neon.php create mode 100644 templates/nes.php create mode 100644 templates/night.php create mode 100644 templates/oldblue.php create mode 100644 templates/purple.php create mode 100644 templates/romhackdomain.php create mode 100644 templates/tartan.php create mode 100644 templates/twilight.php create mode 100644 templates/xmas.php create mode 100644 templates/yoshi.php create mode 100644 thread.php create mode 100644 tlayouts/compact.php create mode 100644 tlayouts/hydra.php create mode 100644 tlayouts/regular.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ee8f2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.rem/ +.old/ +board/ +xkeeper/ + +lib/config.php +lib/firewall.php \ No newline at end of file diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..123ceea --- /dev/null +++ b/.htaccess @@ -0,0 +1,7 @@ + +ErrorDocument 403 /errors/403.html +ErrorDocument 404 /errors/404.html +ErrorDocument 500 /errors/500.html + +Order Allow,Deny +Allow from all diff --git a/acs.php b/acs.php new file mode 100644 index 0000000..fa20b7c --- /dev/null +++ b/acs.php @@ -0,0 +1,177 @@ +query("SELECT u.id,u.name,u.aka,u.sex,u.powerlevel,COUNT(*) AS cnt FROM users AS u,posts AS p WHERE p.user=u.id AND p.date>=$dd AND p.date<$dd2 AND u.powerlevel >= 0 GROUP BY u.id ORDER BY cnt DESC"); + $i=0; + + if (!$u) { + $u = 0; + $n = $loguser['name']; + } + elseif ($u==2) + $n = $userid; + + if(!$view || $view <= 0 || $view > 2) $view=0; + + $ch1[$v] = 'checked'; + $ch2[$u] = 'checked'; + $ch3[$view] = 'checked'; + + $tposts = $sql->resultq("SELECT COUNT(*) AS cnt FROM posts WHERE posts.date>$dd AND posts.date<$dd2",0,'cnt'); + $rcount = ($tposts >= 400 ? 10 : 5); + $spoints = ($tposts >= 400 ? 11 : 8); + $desc="
$smallfont"; + print " + $header +
+ $tblstart + $tccellh colspan=2>Currently viewing ".date('m-d-y',$dd)." + $tccell1>Day:$desc Select the day to view rankings from. (mm-dd-yy format) + $tccell2l>$radio=v value=0 $ch1[0]> Today   $radio=v value=1 $ch1[1]> Other: $inpt=m VALUE=\"$m\" SIZE=2 MAXLENGTH=2>-$inpt=d VALUE=\"$d\" SIZE=2 MAXLENGTH=2>-$inpt=y VALUE=\"$y\" SIZE=2 MAXLENGTH=2> + $tccell1>User:$desc This user will be highlighted. + $tccell2l>$radio=u value=1 $ch2[1]> None   $radio=u value=0 $ch2[0]> You   $radio=u value=2 $ch2[2]> Other: $inpt=userid VALUE=\"$userid\" SIZE=25 MAXLENGTH=25> + $tccell1>View format: + $tccell2l>$radio=view value=0 $ch3[0]> Full rankings   $radio=view value=1 $ch3[1]> Rankers   $radio=view value=2 $ch3[2]> JCS form + $tccell1>  + $tccell2l> + $tblend + + $tblstart + "; + $max=1; + if($view<2){ + print " + $tccellh width=30># + $tccellh width=60%>Name + $tccellh width=50>Posts + $tccellh width=*>Total: $tposts + "; + while($user=$sql->fetch($users)){ + if($user['cnt']>$max) $max=$user['cnt']; + $i++; + if($rp!=$user['cnt']) $r=$i; + $rp=$user['cnt']; + + // Don't rank with 1 post + if ($user['cnt'] <= 1 && $rcount >= $r) + $rcount = $r-1; + + if($rr<=$rcount && $r>$rcount && $view==0) print "$tccellc colspan=4>"; + $rr=$r; + $b = $slashb = ''; + $td=$tccell1; + + if($r>$rcount) $td=$tccell2; + if(!strcasecmp($user['name'], $n)){ + $td=$tccellc; + $b=''; + $slashb=''; + } + + $tdl=str_replace(' center','',$td); + if($view==0 or ($view==1 and ($r<=$rcount or !strcasecmp($user['name'], $n)))) { + print " + + $td>$b$r$slashb + $tdl>". (!$_GET['dur'] ? $user['name'] : "DU". str_repeat("R", mt_rand(1,25))) ." + $td>$b$user[cnt]$slashb + $tdl> + "; + } + } + } else { + // Ranked yesterday: +// $usersy=mysql_query("SELECT users.id,users.name,users.sex,users.powerlevel,COUNT(posts.id) AS cnt FROM users,posts WHERE posts.user=users.id AND posts.date>".($dd-86400)." AND posts.date<$dd GROUP BY users.id ORDER BY cnt DESC"); +// $i=0; +// while($user=mysql_fetch_array($usersy) and $r <= $rcount ) { +// $i++; +// if($rp!=$user['cnt']) $r=$i; +// $rp=$user['cnt']; +// if($r<=5) $ranky[$user['id']]=$r; +// } + + $i=0; + $rp=0; + $r=0; + while($user = $sql->fetch($users) and $r <= $rcount){ + $i++; + // Don't rank with 1 post + if ($user['cnt'] <= 1 && $rcount >= $r) { + $rcount = $r-1; + } + if($rp!=$user['cnt']){ + $r=$i; + if($tend) $tie=''; + if($tie) $tend=1; + }else{ + $tie='T'; + $tend=0; + } + $posts[$user['id']]=$user['cnt']; + + // Ranked yesterday: +// $ry=$ranky[$user['id']]; +// if(!$ry) $ry='NR'; + + $rp=$user['cnt']; + //$myfakename = (($user['aka'] && $user['aka'] != $user['name']) ? "$user[aka] ($user[name])" : $user['name']); + //$myrealname = (($user['aka']) ? $user['aka'] : $user['name']); + $myfakename = $myrealname = $user['name']; + $dailyposts .= $tie . $ndailyposts; + $dailypoints .= $tie . $ndailypoints; + $ndailyposts = "$r) ". $myfakename ." - ". $user['cnt'] ."
"; + $ndailypoints = "$r) ". $myrealname ." - ". ($spoints - $r) ."
"; + +// $ndailyposts = "$tie$r) ". $user['name'] ." - ". $user['cnt'] ." - ". ($spoints - $r) ."
"; +// $ndailyposts = "$tie$r) ". $user['name'] ." - ". $user['cnt'] ." - ". ($spoints - $r) ."
"; + + } + if($r <= $rcount) { + if($tend) $tie=''; + // $dailyposts.=$tie.$ndailyposts; + // $dailypoints.=$tie.$ndailypoints; + } + + // More ranked yesterday stuff +// $lose=$user[cnt]; +// @mysql_data_seek($usersy,0); +// $i=0; +// $rp=0; +// $r=0; +// while($user=mysql_fetch_array($usersy) and $r<=$rcount){ +// $i++; +// if($rp!=$user[cnt]) $r=$i; +// $rp=$user[cnt]; +// if($posts[$user[id]]<=$lose && $r<=$rcount) $offcharts.=($offcharts?', ':'OFF THE CHARTS: ')."$user[name] ($r)"; +// } + + print " + $tccell1l> + ". strtoupper(date('F j',$dd)) ."
". + "---------

". + "TOTAL NUMBER OF POSTS: $tposts

". + "$dailyposts

". + "DAILY POINTS
". + "--------------------
". + "$dailypoints"; + } + print $tblend.$footer; + printtimedif($startingtime); diff --git a/activeusers.php b/activeusers.php new file mode 100644 index 0000000..78bce9f --- /dev/null +++ b/activeusers.php @@ -0,0 +1,147 @@ +posts made"; + $linklist[1] = "new threads"; + if ($log) { + $linklist[2] = "PMs sent by you"; + $linklist[3] = "PMs sent to you"; + } + + if ($type == 'thread') { + $posters = $sql-> query("$query, threads WHERE threads.user=users.id" + .($time ? " AND threads.firstpostdate> '". (ctime() - $time) ."'" : '') + .$endp); + $desc = "Most active thread posters"; + $column = "Threads"; + $column2 = "threads"; + $stat = "most thread creators"; + $linklist[1] = "new threads"; + + } elseif ($type == 'pm') { + $posters = $sql-> query("$query, pmsgs WHERE pmsgs.userto=$loguserid" + .($time ? " AND pmsgs.date> '". (ctime() - $time) ."'" : '') + ." AND pmsgs.userfrom=users.id$endp"); + $desc = "PMs recieved from"; + $column = "PMs"; + $column2 = "PMs"; + $stat = "most message senders"; + $linklist[3] = "PMs sent to you"; + + } elseif ($type == 'pms') { + $posters = $sql-> query("$query, pmsgs WHERE pmsgs.userfrom=$loguserid" + .($time ? " AND pmsgs.date> '". (ctime() - $time) ."'" : '') + ." AND pmsgs.userto=users.id$endp"); + $desc = "PMs sent to"; + $column = "PMs"; + $column2 = "PMs"; + $stat = "who you've sent the most messages to"; + $linklist[2] = "PMs sent by you"; + + } else { + $posters = $sql-> query("$query, posts WHERE posts.user=users.id" + .($tid ? " AND thread='$tid'" : '') + .($time ? " AND posts.date> '". (ctime() - $time) ."'" : '') + .$endp); + $desc = "Most active posters"; + $column = "Posts"; + $column2 = "posts"; + $stat = "most active posters"; + $linklist[0] = "posts made"; + $type = ''; + } + + $link='$smallfont + Show $stat in the: +
$link=3600>last hour
- $link=86400>last day - $link=604800>last week - $link=2592000>last 30 days - $link=0>from the beginning + $smallfont + Most active users by:
+ ".implode(" - ", $linklist)." + $tblend + "; + + if ($time) + $timespan = " during the last ". timeunits2($time); + else + $timespan = ""; + +/* + if ($loguser["powerlevel"] >= 1) { + // Xk will hate me for using subqueries. + // No, I'll just hate you for adding this period + // It's like a sore. + // Also, uh, interesting I guess. The more you know. + $pcounts = $sql -> query(" + SELECT + (SELECT sum(u.posts) FROM users AS u WHERE u.powerlevel >= 1) AS posts_staff, + (SELECT sum(u.posts) FROM users AS u WHERE u.powerlevel = 0) AS posts_users, + (SELECT sum(u.posts) FROM users AS u WHERE u.powerlevel = -1) AS posts_banned"); + + $pcounts = $sql->fetch($pcounts); + print " + $tblstart + $tccellh colspan=2>Staff vs. Normal User Posts + $tccell1>$pcounts[posts_staff]$tccell1>$pcounts[posts_users] + $tccell2 colspan=2>The ratio for staff posts to normal user posts is ".round($pcounts["posts_staff"]/$pcounts["posts_users"],3).". + $tccell2 colspan=2>Not included were the ".abs($pcounts[posts_banned])." posts shat out by a collective of morons. Depressing. + $tblend +
+ "; + } +*/ + + print " + $tblstart + $tccellc colspan=6>$desc$timespan + + $tccellh width=30># + $tccellh colspan=2>Username + $tccellh width=200>Registered on + $tccellh width=130 colspan=2>$column + "; + + $total = 0; + for($i = 1; $user = $sql->fetch($posters); $i++) { + if($i == 1) $max = $user['cnt']; + if ($user['cnt'] != $oldcnt) $rank = $i; + $oldcnt = $user['cnt']; + $ulink = getuserlink($user); + print " + + $tccell1>$rank + $tccell1 width=16>". ($user['minipic'] ? "" : " ") ." + $tccell2l>{$ulink} + $tccell1>".date($dateformat, $user['regdate'] + $tzoff) ." + $tccell2 width=30>". $user['cnt'] ." + $tccell2 width=100>". number_format($user['cnt'] / $max * 100, 1) ."%
+ "; + + $total += $user['cnt']; + } + + print " + + $tccellc colspan=6>". ($i - 1) ." users, $total $column2 + + "; + + print $tblend.$footer; + printtimedif($startingtime); diff --git a/activity.php b/activity.php new file mode 100644 index 0000000..f42f862 --- /dev/null +++ b/activity.php @@ -0,0 +1,64 @@ +resultq("SELECT regdate FROM users WHERE id='$u'") or die(); + + $vd=date('m-d-y', $user['regdate']); + $dd=mktime(0,0,0,substr($vd,0,2),substr($vd,3,2),substr($vd,6,2)); + + $days = floor((ctime()-$dd)/86400); + $pq = $sql->getresultsbykey( + "SELECT FROM_UNIXTIME(date, '%Y-%m-%d') day, count(*) c ". + "FROM posts WHERE user={$u} GROUP BY day ORDER BY day", + 'day', 'c'); + for($i=0; $i < $days; ++$i) { + $dk = date('Y-m-d',$dd+$i*86400); + if (!array_key_exists($dk, $pq)) continue; + $p[$i] = $pq[$dk]; + } + +/* + if($_GET['debugsql']) { + require 'lib/layout.php'; + print $header.$footer; + printtimedif(time()); + die(1); + } +*/ + + $m=max($p); + $img=ImageCreate($days,$m); + + $c['bg'] = ImageColorAllocate($img, 0, 0, 0); + $c['bg1'] = ImageColorAllocate($img, 0, 0, 80); // Month colors + $c['bg2'] = ImageColorAllocate($img, 0, 0,130); // + $c['bg3'] = ImageColorAllocate($img, 80, 80,250); // (New year) + $c['mk1'] = ImageColorAllocate($img,110,110,160); // Horizontal Rulers + $c['mk2'] = ImageColorAllocate($img, 70, 70,130); // + $c['bar'] = ImageColorAllocate($img,240,190, 40); // Post count bar + $c['pt1'] = ImageColorAllocate($img,250,250,250); // Average + $c['pt2'] = ImageColorAllocate($img,240,230,220); // Average (over top of post bar) + + for($i=0;$i<$days; ++$i){ + $num=date('m',$dd+$i*86400)%2+1; + if(date('m-d',$dd+$i*86400)=='01-01') $num=3; + ImageLine($img,$i,$m,$i,0,$c["bg$num"]); + } + for($i=50, $ct=1; $i<=$m; $i+=50, ++$ct) + ImageLine($img,0,$m-$i,$days,$m-$i,(($ct&1) ? $c['mk2'] : $c['mk1'])); + + $pt=0; + for($i=0;$i<$days;$i++) { + if (isset($p[$i])) { + ImageLine($img,$i,$m,$i,$m-$p[$i],$c['bar']); + $pt += $p[$i]; + } + $avg = $pt/($i+1); + ImageSetPixel($img,$i,$m-$avg,(($p[$i] >= $avg) ? $c['pt2'] : $c['pt1'])); + } + + Header('Content-type:image/png'); + ImagePNG($img); + ImageDestroy($img); \ No newline at end of file diff --git a/activity2.php b/activity2.php new file mode 100644 index 0000000..ec9b3ae --- /dev/null +++ b/activity2.php @@ -0,0 +1,112 @@ + resultq("SELECT MIN(`regdate`) FROM users WHERE regdate > 0") or die(); + $max = ceil(($sql -> resultq("SELECT MAX(`posts`) FROM users") + 1) / 50) * 50; + + $vd = date('m-d-y', $user['regdate']); + $dd = mktime(0,0,0,substr($vd,0,2),substr($vd,3,2),substr($vd,6,2)); + + $days = floor((ctime()-$dd)/86400); + $scalex = 2; + $scaley = 20; + $m = $max / $scaley; + + $img = ImageCreateTrueColor($days * $scalex,$m); + $c['bg'] = ImageColorAllocate($img, 0, 0, 0); + $c['bg1'] = ImageColorAllocate($img, 0, 0, 60); + $c['bg2'] = ImageColorAllocate($img, 0, 0, 80); + $c['bg3'] = ImageColorAllocate($img, 40, 40,100); + $c['mk1'] = ImageColorAllocate($img, 60, 60,130); + $c['mk2'] = ImageColorAllocate($img, 80, 80,150); + $c['bar'] = ImageColorAllocate($img,250,190, 40); + $c['pt'] = ImageColorAllocate($img,250,250,250); + + for($i=0;$i<$days;$i++){ + $num=date('m',$dd+$i*86400)%2+1; + if(date('m-d',$dd+$i*86400)=='01-01') $num=3; + ImageFilledRectangle($img,$i * $scalex,$m,($i + 1) * $scalex - 2,0,$c["bg$num"]); + } + + for($i=0;$i<=($m / 50);$i++){ + ImageLine($img,0,$m-$i*100+50,($days + 1) * $scalex - 1, $m-$i*100+50, $c['mk1']); + ImageLine($img,0,$m-$i*100, ($days + 1) * $scalex - 1, $m-$i*100, $c['mk2']); + imagestring($img, 3, 3, $m-$i*100+1, ($i * 100) * $scaley, $c['bg']); + imagestring($img, 3, 3, $m-$i*100+51, ($i * 100 - 50) * $scaley, $c['bg']); + imagestring($img, 3, 2, $m-$i*100, ($i * 100) * $scaley, $c['mk2']); + imagestring($img, 3, 2, $m-$i*100+50, ($i * 100 - 50) * $scaley, $c['mk1']); + } + + $users = array(); + $userq = $sql -> query("SELECT id, name FROM `users` ORDER BY `posts` DESC LIMIT 0, 10"); + while ($u = $sql -> fetch($userq)) + $users[$u['id']] = array('name' => $u['name'], 'color' => imagecolorallocate($img, rand(100,255), rand(100,255), rand(100,255))); + + $z = count($users); + $namespace = 12; + + imagerectangle( $img, 61, 11, 174, 15 + $z * $namespace, $c['bg']); + imagefilledrectangle($img, 60, 10, 173, 14 + $z * $namespace, $c['bg2']); + imagerectangle( $img, 60, 10, 173, 14 + $z * $namespace, $c['mk2']); + + $z = 0; + + $data = getdata(array_keys($users)); + foreach($users as $uid => $userx) { + drawdata($data[$uid], $userx['color']); + imageline($img, 66, $z * $namespace + 19, 76, $z * $namespace + 19, $c['bg']); + imageline($img, 65, $z * $namespace + 18, 75, $z * $namespace + 18, $userx['color']); + imagestring($img, 2, 80 + 1, $z * $namespace + 12, $userx['name'], $c['bg']); + imagestring($img, 2, 80, $z * $namespace + 11, $userx['name'], $userx['color']); + $z++; + } + +/* if($_GET['debugsql']) { + require 'lib/layout.php'; + print $header.$footer; + printtimedif(time()); + die(1); + } */ + + Header('Content-type:image/png'); + ImagePNG($img); + ImageDestroy($img); + +function drawdata($p, $color) { + global $days, $scalex, $m, $img; + $oldy = $m; + for ($i=0;$i<$days;$i++){ + $y = $m-$p[$i]; + $x = $i * $scalex; + if (!$p[$i]) { + $y = $oldy; + } + imageline($img, $x, $oldy, $x + $scalex - 1, $y, $color); + $oldy = $y; + } +} + +function getdata($users) { + global $sql, $dd, $scaley, $days; + + $q = $sql->query( + "SELECT user, FROM_UNIXTIME(date, '%Y-%m-%d') day, count(*) c ". + "FROM posts WHERE user IN (".implode(',',$users).") GROUP BY user, day ORDER BY user, day", + 'day'); + + $tmp = array(); + $y = array(); + + while ($r = $sql->fetch($q, MYSQL_ASSOC)) + $tmp[$r['user']][$r['day']] = $r; + + for($i=0; $i < $days; ++$i) { + $dk = date('Y-m-d',$dd+$i*86400); + foreach ($tmp as $uid => $qdata) { + if (!array_key_exists($dk, $qdata)) continue; + + $y[$uid] += $qdata[$dk]['c']; + $resp[$uid][$i] = $y[$uid] / $scaley; + } + } + return $resp; +} diff --git a/activity3.php b/activity3.php new file mode 100644 index 0000000..43dd5b2 --- /dev/null +++ b/activity3.php @@ -0,0 +1,173 @@ + resultq("SELECT MIN(`regdate`) FROM users"); + + $max = ceil(($sql -> resultq("SELECT COUNT(*) FROM `posts`") + 1) / 5000) * 5000; + $alen = ($_GET['len'] ? $_GET['len'] : 30); + + $alen = min(max(7, $alen), 90); +// $max = 5500; + + $vd=date('m-d-y', $user['regdate']); + $dd=mktime(0,0,0,substr($vd,0,2),substr($vd,3,2),substr($vd,6,2)); + $dd2=mktime(0,0,0,substr($vd,0,2),substr($vd,3,2)+1,substr($vd,6,2)); + + + $days=ceil((ctime()-$dd)/86400); + $scalex = 1; + $scaley = 200; + $m = $max / $scaley; + $xs = $days * $scalex; + + $img=ImageCreateTrueColor($xs,$m); + + $c[bg]= ImageColorAllocate($img, 0, 0, 0); + $c[bg1]=ImageColorAllocate($img, 0, 0, 60); + $c[bg2]=ImageColorAllocate($img, 0, 0, 80); + $c[bg3]=ImageColorAllocate($img, 40, 40,100); + $c[bg4]=ImageColorAllocate($img,100, 40, 40); + $c[mk1]=ImageColorAllocate($img, 60, 60,130); + $c[mk2]=ImageColorAllocate($img, 80, 80,150); + $c[bar]=ImageColorAllocate($img,250,190, 40); + $c[pt] =ImageColorAllocate($img,250,250,250); + for($i=0;$i<$days;$i++){ + $num=date('m',$dd+$i*86400)%2+1; + if(date('m-d',$dd+$i*86400)=='01-01') $num=3; +# if(date('m-d-y',$dd+$i*86400)=='08-05-09') $num=4; +# if(date('m-d-y',$dd+($i-$alen)*86400)=='08-05-09') $num=4; + ImageFilledRectangle($img,$i * $scalex,$m,($i + 1) * $scalex - 2,0,$c["bg$num"]); + + } + for($i=0;$i<=($m / 50);$i++){ + ImageLine($img,0,$m-$i*100+50,($days + 1) * $scalex - 1,$m-$i*100+50,$c[mk1]); + ImageLine($img,0,$m-$i*100,($days + 1) * $scalex - 1,$m-$i*100,$c[mk2]); + imagestring($img, 3, 3, $m-$i*100+1, ($i * 100) * $scaley, $c[bg]); + imagestring($img, 3, 3, $m-$i*100+51, ($i * 100 - 50) * $scaley, $c[bg]); + imagestring($img, 3, 2, $m-$i*100, ($i * 100) * $scaley, $c[mk2]); + imagestring($img, 3, 2, $m-$i*100+50, ($i * 100 - 50) * $scaley, $c[mk1]); + + imagestring($img, 3, $xs - 71, $m-$i*100+1, sprintf("%10d", ($i * 100) * $scaley), $c[bg]); + imagestring($img, 3, $xs - 71, $m-$i*100+51, sprintf("%10d", ($i * 100 - 50) * $scaley), $c[bg]); + imagestring($img, 3, $xs - 72, $m-$i*100, sprintf("%10d", ($i * 100) * $scaley), $c[mk2]); + imagestring($img, 3, $xs - 72, $m-$i*100+50, sprintf("%10d", ($i * 100 - 50) * $scaley), $c[mk1]); + } + + + $users = array( + 1 => array('name' => "Total posts ", 'color' => imagecolorallocate($img, 255, 255, 255)), + -1 => array('name' => "$alen-day average x 200", 'color' => 0xFF8888), +/* 50 => array('name' => "Hyperhacker ", 'color' => imagecolorallocate($img, 50, 255, 50)), + 61 => array('name' => "E. Prime ", 'color' => imagecolorallocate($img, 200, 200, 0)), + 18 => array('name' => "Hiryuu ", 'color' => imagecolorallocate($img, 255, 50, 50)), + 17 => array('name' => "NightKev ", 'color' => imagecolorallocate($img, 200, 0, 200)), +/ 5 => array('name' => "Hydrapheetz ", 'color' => imagecolorallocate($img, 50, 50, 255)), + 3 => array('name' => "cpubasic13 ", 'color' => imagecolorallocate($img, 0, 200, 255)), + 52 => array('name' => "Shadic ", 'color' => imagecolorallocate($img, 100, 50, 200)), + 57 => array('name' => "Kles ", 'color' => imagecolorallocate($img, 50, 200, 100)), + 12 => array('name' => "Dorito ", 'color' => imagecolorallocate($img, 200, 100, 50)), + + 36 => array('name' => "Erika ", 'color' => imagecolorallocate($img, 220, 100, 170)), + 100 => array('name' => "Kas ", 'color' => imagecolorallocate($img, 220, 170, 100)), + 117 => array('name' => "Rydain ", 'color' => imagecolorallocate($img, 220, 220, 79)), + 118 => array('name' => "Aiya ", 'color' => imagecolorallocate($img, 170, 150, 255)), + 175 => array('name' => "Tina ", 'color' => imagecolorallocate($img, 255, 100, 255)), + 387 => array('name' => "Acmlm ", 'color' => imagecolorallocate($img, 233, 190, 153)), + 49 => array('name' => "Dr. Sophie ", 'color' => imagecolorallocate($img, 193, 210, 233)), +*/ +// 2 => array('name' => "Drag ", 'color' => imagecolorallocate($img, 255, 0, 0)), + +); +/* + $users = array(); + $userq = $sql -> query("SELECT id, name FROM `users` ORDER BY `posts` DESC LIMIT 0, 10"); + while ($u = $sql -> fetch($userq)) { + $users[$u['id']] = array('name' => $u['name'], 'color' => imagecolorallocate($img, rand(100,255), rand(100,255), rand(100,255))); + } +*/ + + $z = count($users); + $namespace = 12; + + imagerectangle( $img, 61, 11, 174 + 6 * 5, 15 + $z * $namespace, $c[bg]); + imagefilledrectangle($img, 60, 10, 173 + 6 * 5, 14 + $z * $namespace, $c[bg2]); + imagerectangle( $img, 60, 10, 173 + 6 * 5, 14 + $z * $namespace, $c[mk2]); + + $z = 0; + + foreach($users as $uid => $userx) { + if ($uid > 0) { + $data = getdata($uid); + drawdata($data, $userx['color']); + } + imageline($img, 66, $z * $namespace + 19, 76, $z * $namespace + 19, $c[bg]); + imageline($img, 65, $z * $namespace + 18, 75, $z * $namespace + 18, $userx['color']); + imagestring($img, 2, 80 + 1, $z * $namespace + 12, $userx['name'], $c[bg]); + imagestring($img, 2, 80, $z * $namespace + 11, $userx['name'], $userx['color']); + $z++; + } + + foreach($xdata as $k => $v) { + $xdata2[$k - 13697] = ($v / 1); + } + + if (false) { + print "
days = $days \n\n\n";
+		print_r($data);
+		print "\n\n------------------------\n\n";
+		print_r($xdata2);
+		die();
+	}
+	drawdata($xdata2, $users[-1]['color']);
+ 
+ Header('Content-type:image/png');
+ ImagePNG($img);
+ ImageDestroy($img);
+
+
+ function drawdata($p, $color) {
+	 global $days, $scalex, $m, $img;
+	 $oldy	= $m;
+	 for($i=0;$i<$days;$i++){
+		$y		= $m-$p[$i];
+		$x		= $i * $scalex;
+		if (!$p[$i]) {
+			$y	 = $oldy;
+		}
+		imageline($img, $x, $oldy, $x + $scalex - 1, $y, $color);
+		$oldy	= $y;
+
+	 }
+ }
+
+  function getdata($u) {
+	 global $sql, $dd, $dd2, $scaley, $days, $xdata, $alen;
+	 $nn	= $sql -> query("SELECT FROM_UNIXTIME(date,'%Y%m%d') ymd, floor(date/86400) d, count(*) c FROM posts  GROUP BY ymd ORDER BY ymd");
+
+	 while ($n = $sql -> fetch($nn)) {
+	   $p[$n['d']]=$n['c'];
+	   
+	   for ($temp = $n['d']; $temp > $n['d'] - $alen; $temp--) {
+		$xdata[$n['d']]	+= $p[$temp];
+	   }
+	   $xdata[$n['d']]	/= $alen;
+	 
+	 }
+
+	$dat	= $sql -> query(
+		"SELECT count( * ) AS cnt, floor( to_days( now( ) ) ) - floor( to_days( from_unixtime( date ) ) ) AS d "
+		."FROM posts "
+//		."WHERE user =$u "
+		."GROUP BY d ORDER BY d DESC");
+	while ($z = $sql -> fetch($dat)) {
+	   $da = $days - $z['d'];
+	   $y	+= $z['cnt'];
+	   $p[$da] = $y / $scaley;
+
+	 }
+	return $p;
+  }
+
+
+?>
\ No newline at end of file
diff --git a/activity3u.php b/activity3u.php
new file mode 100644
index 0000000..05e97ae
--- /dev/null
+++ b/activity3u.php
@@ -0,0 +1,206 @@
+ resultq("SELECT MIN(`regdate`) FROM users");
+
+// $val				= $sql -> resultq("SELECT COUNT(DISTINCT `user`) FROM `posts` GROUP BY FLOOR(`date` / 86400)");
+ $val				= 99;
+ $max				= ceil(($val + 1) / 50) * 50;
+ $alen				= ($_GET['len'] ? $_GET['len'] : 30);
+
+ $alen				= min(max(7, $alen), 90);
+// $max				= 5500;
+
+ $vd=date('m-d-y', $user['regdate']);
+ $dd=mktime(0,0,0,substr($vd,0,2),substr($vd,3,2),substr($vd,6,2));
+ $dd2=mktime(0,0,0,substr($vd,0,2),substr($vd,3,2)+1,substr($vd,6,2));
+
+
+ $days=ceil((ctime()-$dd)/86400);
+ $scalex	= 2;
+ $scaley	= .2;
+ $m			= $max / $scaley;
+ $xs		= $days * $scalex;
+ $xsize		= $days * $scalex;
+
+ $img=ImageCreateTrueColor($xs,$m);
+
+ $c[bg]= ImageColorAllocate($img,  0,  0,  0);
+ $c[bg1]=ImageColorAllocate($img,  0,  0, 60);
+ $c[bg2]=ImageColorAllocate($img,  0,  0, 80);
+ $c[bg3]=ImageColorAllocate($img, 40, 40,100);
+ $c[bg4]=ImageColorAllocate($img,100, 40, 40);
+ $c[mk1]=ImageColorAllocate($img, 60, 60,130);
+ $c[mk2]=ImageColorAllocate($img, 80, 80,150);
+ $c[bar]=ImageColorAllocate($img,250,190, 40);
+ $c[pt] =ImageColorAllocate($img,250,250,250);
+ for($i=0;$i<$days;$i++){
+   $num=date('m',$dd+$i*86400)%2+1;
+   if(date('m-d',$dd+$i*86400)=='01-01') $num=3;
+   ImageFilledRectangle($img,$i * $scalex,$m,($i + 1) * $scalex - 2,0,$c["bg$num"]);
+
+ }
+ for($i=0;$i<=($m / 50);$i++){
+   ImageLine($img,0,$m-$i*100+50,($days + 1) * $scalex - 1,$m-$i*100+50,$c[mk1]);
+   ImageLine($img,0,$m-$i*100,($days + 1) * $scalex - 1,$m-$i*100,$c[mk2]);
+   imagestring($img, 3, 3, $m-$i*100+1, ($i * 100) * $scaley, $c[bg]);
+   imagestring($img, 3, 3, $m-$i*100+51, ($i * 100 - 50) * $scaley, $c[bg]);
+   imagestring($img, 3, 2, $m-$i*100, ($i * 100) * $scaley, $c[mk2]);
+   imagestring($img, 3, 2, $m-$i*100+50, ($i * 100 - 50) * $scaley, $c[mk1]);
+
+   imagestring($img, 3, $xs - 71, $m-$i*100+1, sprintf("%10d", ($i * 100) * $scaley), $c[bg]);
+   imagestring($img, 3, $xs - 71, $m-$i*100+51, sprintf("%10d", ($i * 100 - 50) * $scaley), $c[bg]);
+   imagestring($img, 3, $xs - 72, $m-$i*100, sprintf("%10d", ($i * 100) * $scaley), $c[mk2]);
+   imagestring($img, 3, $xs - 72, $m-$i*100+50, sprintf("%10d", ($i * 100 - 50) * $scaley), $c[mk1]);
+ }
+
+
+	$users	= array(
+		  1 => array('name' => "Users active per day", 'color' =>  imagecolorallocate($img, 255, 255, 255)),
+		 -1 => array('name' => "$alen-day average", 'color' =>  0xFF8888),
+/*		 50 => array('name' => "Hyperhacker    ", 'color' =>  imagecolorallocate($img,  50, 255,  50)),
+		 61 => array('name' => "E. Prime       ", 'color' =>  imagecolorallocate($img, 200, 200,   0)),
+		 18 => array('name' => "Hiryuu         ", 'color' =>  imagecolorallocate($img, 255,  50,  50)),
+		 17 => array('name' => "NightKev       ", 'color' =>  imagecolorallocate($img, 200,   0, 200)),
+/		  5 => array('name' => "Hydrapheetz    ", 'color' =>  imagecolorallocate($img,  50,  50, 255)),
+		  3 => array('name' => "cpubasic13     ", 'color' =>  imagecolorallocate($img,   0, 200, 255)),
+		 52 => array('name' => "Shadic         ", 'color' =>  imagecolorallocate($img, 100,  50, 200)),
+		 57 => array('name' => "Kles           ", 'color' =>  imagecolorallocate($img,  50, 200, 100)),
+		 12 => array('name' => "Dorito         ", 'color' =>  imagecolorallocate($img, 200, 100,  50)),
+
+		 36 => array('name' => "Erika          ", 'color' =>  imagecolorallocate($img, 220, 100, 170)),
+		100 => array('name' => "Kas            ", 'color' =>  imagecolorallocate($img, 220, 170, 100)),
+		117 => array('name' => "Rydain         ", 'color' =>  imagecolorallocate($img, 220, 220,  79)),
+		118 => array('name' => "Aiya           ", 'color' =>  imagecolorallocate($img, 170, 150, 255)),
+		175 => array('name' => "Tina           ", 'color' =>  imagecolorallocate($img, 255, 100, 255)),
+		387 => array('name' => "Acmlm          ", 'color' =>  imagecolorallocate($img, 233, 190, 153)),
+		 49 => array('name' => "Dr. Sophie     ", 'color' =>  imagecolorallocate($img, 193, 210, 233)),
+*/
+//		  2 => array('name' => "Drag           ", 'color' =>  imagecolorallocate($img, 255,   0,   0)),
+
+);
+/*
+	$users	= array();
+	$userq	= $sql -> query("SELECT id, name FROM `users` ORDER BY `posts` DESC LIMIT 0, 10");
+	while ($u = $sql -> fetch($userq)) {
+		$users[$u['id']]	= array('name' => $u['name'], 'color' => imagecolorallocate($img, rand(100,255), rand(100,255), rand(100,255)));
+	}
+*/
+
+	$z	= count($users);
+	$namespace	= 12;
+
+	imagerectangle(      $img, 61, 11, 174 + 6 * 5, 15 + $z * $namespace, $c[bg]);
+	imagefilledrectangle($img, 60, 10, 173 + 6 * 5, 14 + $z * $namespace, $c[bg2]);
+	imagerectangle(      $img, 60, 10, 173 + 6 * 5, 14 + $z * $namespace, $c[mk2]);
+
+	$z	= 0;
+
+	foreach($users as $uid => $userx) {
+		if ($uid > 0) {
+			$data	= getdata($uid);
+			drawdata($data, $userx['color']);
+		}
+		imageline($img, 66, $z * $namespace + 19, 76, $z * $namespace + 19, $c[bg]);
+		imageline($img, 65, $z * $namespace + 18, 75, $z * $namespace + 18, $userx['color']);
+		imagestring($img, 2, 80 + 1, $z * $namespace + 12, $userx['name'], $c[bg]);
+		imagestring($img, 2, 80, $z * $namespace + 11, $userx['name'], $userx['color']);
+		$z++;
+	}
+
+	foreach($xdata as $k => $v) {
+		$xdata2[$k - 13697]	= ($v * 5);
+	}
+
+	if (0) {
+		print "
days = $days \n\n\n";
+		print_r($data);
+		print "\n\n------------------------\n\n";
+		print_r($xdata2);
+		die();
+	}
+	drawdata($xdata2, $users[-1]['color'], true, $users[-1]['color'] + 0x40000000);
+ 
+	Header('Content-type:image/png');
+	ImagePNG($img);
+	ImageDestroy($img);
+
+
+ function drawdata($p, $color, $derp = false, $color2 = false) {
+	 global $days, $scalex, $m, $img, $xs;
+	 $oldy	= $m;
+	 if ($derp) {
+		$points[]	= 0;
+		$points[]	= $m - 1;
+	 }
+	 for($i=0;$i<$days;$i++){
+		$y		= $m-$p[$i];
+		$x		= $i * $scalex;
+		if (!$p[$i]) {
+			$y	 = $oldy;
+		}
+		
+		if (!$derp) {
+			imageline($img, $x, $oldy, $x + $scalex - 1, $y, $color);
+			$oldy	= $y;
+		} elseif ($y != $m) {
+			$points[]	= $x;
+			$points[]	= $y;
+		}
+
+	 }
+	 if ($derp) {
+//		$points[]	= $xs;
+//		$points[]	= 499;
+//		$points[]	= 2769;
+//		$points[]	= 499;
+		$points[]	= $xs;
+		$points[]	= $y;
+		$points[]	= $xs;
+		$points[]	= $m - 1;
+		 imagefilledpolygon($img, $points, count($points) / 2, $color2);
+		 imagepolygon      ($img, $points, count($points) / 2, $color);
+	 }
+ }
+
+//SELECT COUNT(DISTINCT `user`) FROM `posts` GROUP BY FLOOR(`date` / 86400)
+
+  function getdata($u) {
+	 global $sql, $dd, $dd2, $scaley, $days, $xdata, $alen;
+	 $nn	= $sql -> query("SELECT FROM_UNIXTIME(date,'%Y%m%d') ymd, floor(date/86400) d,  count( DISTINCT `user`) c FROM posts GROUP BY ymd ORDER BY ymd");
+
+	 while ($n = $sql -> fetch($nn)) {
+	   $p[$n['d']]=$n['c'];
+	   
+	   for ($temp = $n['d']; $temp > $n['d'] - $alen; $temp--) {
+		$xdata[$n['d']]	+= $p[$temp];
+	   }
+	   $xdata[$n['d']]	/= $alen;
+	 
+	 }
+
+/*
+	$dat	= $sql -> query(
+		"SELECT count( * ) AS cnt, floor( to_days( now( ) ) ) - floor( to_days( from_unixtime( date ) ) ) AS d "
+		."FROM posts "
+//		."WHERE user =$u "
+		."GROUP BY d ORDER BY d DESC");
+*/
+	$dat	= $sql -> query(
+		"SELECT count( DISTINCT `user` ) AS cnt, floor( to_days( now( ) ) ) - floor( to_days( from_unixtime( date ) ) ) AS d "
+		."FROM posts "
+		."GROUP BY d ORDER BY d DESC");
+
+	while ($z = $sql -> fetch($dat)) {
+	   $da = $days - $z['d'];
+	   $y	+= $z['cnt'];
+	   $y	= $z['cnt'];
+	   $p[$da] = $y / $scaley;
+
+	 }
+	return $p;
+  }
+
+
+?>
\ No newline at end of file
diff --git a/admin-editforums.php b/admin-editforums.php
new file mode 100644
index 0000000..bf465eb
--- /dev/null
+++ b/admin-editforums.php
@@ -0,0 +1,386 @@
+query("INSERT INTO `forums` SET $values, `lastpostid` = '0'");
+		if (mysql_error()) die(mysql_error());
+		$id	= mysql_insert_id();
+		trigger_error("Created new forum \"$forumtitle\" with ID $id", E_USER_NOTICE);
+	} else {
+		$sql->query("UPDATE `forums` SET $values WHERE `id` = '". $_GET['id'] ."'");
+		if (mysql_error()) die(mysql_error());
+		$id	= $_GET['id'];
+		trigger_error("Edited forum ID $id", E_USER_NOTICE);
+	}
+
+	if ($_POST['edit'])
+		header("Location: ?id=". $id . $prevtext);
+	else
+		header("Location: ?".substr($prevtext, 1));
+
+	die();
+}
+elseif ($_POST['delete']) {
+	if (!$isadmin)
+		die("You aren't an admin!");
+
+	$id      = intval($_GET['delete']);
+	$mergeid = intval($_POST['mergeid']);
+
+	if (!isset($_GET['delete']) || $id < 0)
+		die("No forum selected to delete.");
+	if (!isset($_POST['mergeid']) || $mergeid < 0)
+		die("No forum selected to merge to.");
+
+	$counts = $sql->fetchq("SELECT `numthreads`, `numposts` FROM `forums` WHERE `id`='$id'");
+	$sql->query("UPDATE `threads` SET `forum`='$mergeid' WHERE `forum`='$id'") or die(mysql_error());
+	$sql->query("UPDATE `announcements` SET `forum`='$mergeid' WHERE `forum`='$id'") or die(mysql_error());
+	$sql->query("DELETE FROM `forummods` WHERE `forum`='$id'") or die(mysql_error());
+	$sql->query("DELETE FROM `forums` WHERE `id`='$id'") or die(mysql_error());
+
+	$lastthread = $sql->fetchq("SELECT * FROM `threads` WHERE `forum`='$mergeid' ORDER BY `lastpostdate` DESC LIMIT 1");
+	$sql->query("UPDATE `forums` SET
+		`numthreads`=`numthreads`+'{$counts['numthreads']}',
+		`numposts`=`numposts`+'{$counts['numposts']}',
+		`lastpostdate`='{$lastthread['lastpostdate']}',
+		`lastpostuser`='{$lastthread['lastposter']}',
+		`lastpostid`='{$lastthread['id']}'
+	WHERE `id`='$mergeid'") or die(mysql_error());
+
+	if (isset($_GET['preview']))
+		$prevtext = "preview=" . $_GET['preview'];
+
+	trigger_error("DELETED forum ID $id; merged into forum ID $mergeid", E_USER_NOTICE);
+
+	header("Location: ?$prevtext");
+	die();
+}
+
+$windowtitle = "Editing Forum List";
+require_once('lib/layout.php');
+
+print "$header
"; + +admincheck(); +print adminlinkbar('admin-editforums.php'); + +foreach($pwlnames as $pwl=>$pwlname) { + if ($pwl < 0) continue; + $powers[] = $pwlname; +} +$powers[] = '[no access]'; + +$pollstyles = array(-2 => 'Disallowed', + -1 => 'Normal', + 0 => 'Force Regular', + 1 => 'Force Influence'); + + +if (isset($_GET['delete'])) { + $forum = intval($_GET['delete']); + + $forums[-1] = "Choose a forum to merge into..."; + $forumquery = $sql->query("SELECT id,title FROM forums ORDER BY catid,forder"); + while ($f = $sql->fetch($forumquery, MYSQL_ASSOC)) + $forums[$f['id']] = $f['title']; + + if (array_key_exists($forum, $forums)) { + $fname = $forums[$forum]; + unset($forums[$forum]); + if (isset($_GET['preview'])) + $prevtext = "&preview=" . $_GET['preview']; + + echo " +
+ $tblstart + + $tccellh>Deleting $fname + + $tccellc>You are about to delete forum ID $forum.

+ All announcements and threads will be moved to the forum below.
+ ". dropdownList($forums, -1, "mergeid") . " + + $tccellc> or Cancel + +

"; + } +} +else if (isset($_GET['id'])) { + $catquery = $sql->query("SELECT id,name FROM categories ORDER BY id"); + while ($catres = $sql->fetch($catquery)) + $categories[$catres['id']] = $catres['name']; + + $forum = $sql->fetchq("SELECT * FROM `forums` WHERE `id` = '". $_GET['id'] . "'", MYSQL_ASSOC); + if (!$forum) + $_GET['id'] = -1; + + if ($forum && !array_key_exists($forum['catid'], $categories)) + $categories[$forum['catid']] = "Unknown category #" . $forum['catid']; + + if (isset($_GET['preview'])) + $prevtext = "&preview=" . $_GET['preview']; + + echo " +
+ $tblstart + + $tccellh colspan=6>Editing ". ($forum ? htmlspecialchars($forum['title']) : "a new forum") . " + + + + $tccellh>Forum Name + $tccell1l colspan=4> + $tccell1l width=10%> + + + + $tccellh rowspan=4>Description + $tccell1l rowspan=4 colspan=3>$txta=description ROWS=4 style=\"width: 100%; resize:none;\">". htmlspecialchars($forum['description']) ." + $tccellh colspan=2>Minimum power needed... + + + + $tccellh>...to view the forum + $tccell1l>". dropdownList($powers, $forum['minpower'], "minpower") . " + + + + $tccellh>...to post a thread + $tccell1l>". dropdownList($powers, $forum['minpowerthread'], "minpowerthread") . " + + + + $tccellh>...to reply + $tccell1l>". dropdownList($powers, $forum['minpowerreply'], "minpowerreply") . " + + + + $tccellh width='10%'>Number of Threads + $tccell1l width='24%'> + $tccellh width='10%'>Forum order + $tccell1l width='23%'> + $tccellh width='10%'>Poll Style + $tccell1l width='23%'>". dropdownList($pollstyles, $forum['pollstyle'], "pollstyle") . " + + + + $tccellh >Number of Posts + $tccell1l> + $tccellh >Special Scheme + $tccell1l> + $tccellh >Category + $tccell1l>". dropdownList($categories, $forum['catid'], "catid") . " + + + + $tccellc colspan=6>  + + +

"; +} + + $forumlist=" + + $tccellh width=90px>Actions + $tccellh>Forum + $tccellh width=80>Threads + $tccellh width=80>Posts + $tccellh width=15%>Last post + + "; + + if (isset($_GET['preview'])) { + $forumquery = $sql->query("SELECT f.*,u.id AS uid,name,sex,powerlevel FROM forums f LEFT JOIN users u ON f.lastpostuser=u.id WHERE (!minpower OR minpower<=$_GET[preview]) AND f.hidden = '0' ORDER BY catid,forder"); + $catquery = $sql->query("SELECT id,name FROM categories WHERE (!minpower OR minpower<=$_GET[preview]) ORDER BY id"); + $prevtext = "&preview=" . $_GET['preview']; + } + else { + $forumquery = $sql->query("SELECT f.*,u.id AS uid,name,sex,powerlevel FROM forums f LEFT JOIN users u ON f.lastpostuser=u.id ORDER BY catid,forder"); + $catquery = $sql->query("SELECT id,name FROM categories ORDER BY id"); + } + + $modquery = $sql->query("SELECT u.id,name,sex,powerlevel,forum FROM users u INNER JOIN forummods m ON u.id=m.user ORDER BY name"); + + $categories = array(); + $forums = array(); + $mods = array(); + + while ($res = $sql->fetch($catquery)) + $categories[] = $res; + while ($res = $sql->fetch($forumquery)) + $forums[] = $res; + while ($res = $sql->fetch($modquery)) + $mods[] = $res; + + $forumlist .= "< Create a new forum >"; + + foreach ($categories as $category) { + $forumlist.="$category[name]"; + + foreach ($forums as $forumplace => $forum) { + if ($forum['catid'] != $category['id']) + continue; + + $m = 0; + $modlist = ""; + foreach ($mods as $modplace => $mod) { + if ($mod['forum'] != $forum['id']) + continue; + + $namecolor=getnamecolor($mod['sex'],$mod['powerlevel']); + $modlist.=($m++?', ':'')."$mod[name]"; + unset($mods[$modplace]); + } + + if ($m) + $modlist="$smallfont(moderated by: $modlist)"; + + $namecolor = getnamecolor($forum['sex'],$forum['powerlevel']); + if($forum['numposts']){ + $forumlastpost="". date($dateformat,$forum['lastpostdate']+$tzoff); + $by="$smallfont
by $forum[name]". ($forum['lastpostid'] ? " ". $statusicons['getlast'] ."" : "") ."
"; + } else { + $forumlastpost=getblankdate(); + $by=''; + } + + if($forum['lastpostdate']>$category['lastpostdate']){ + $category['lastpostdate']=$forum['lastpostdate']; + $category['l']=$forumlastpost.$by; + } + + if ($forum['hidden']) + $hidden = " (hidden)"; + else + $hidden = ""; + + if ($_GET['id'] == $forum['id']) { + $tc1 = $tccellh; + $tc2 = $tccellh; + $tc2l = $tccellhl; + } + else { + $tc1 = $tccell1; + $tc2 = $tccell2; + $tc2l = $tccell2l; + } + + $forumlist.=" + + $tc1>Edit / Delete + $tc2l>$forum[title]$hidden
+ $smallfont$forum[description]
$modlist + $tc1>$forum[numthreads] + $tc1>$forum[numposts] + $tc2>$forumlastpost$by$forumlastuser + + "; + + unset($forums[$forumplace]); + } + } + +// Leftover forums +if (!isset($_GET['preview']) && count($forums)) { + $forumlist.="These forums are not associated with a valid category ID"; + + foreach ($forums as $forum) { + $m = 0; + foreach ($mods as $modplace => $mod) { + if ($mod['forum'] != $forum['id']) + continue; + + $namecolor=getnamecolor($mod['sex'],$mod['powerlevel']); + $modlist.=($m++?', ':'')."$mod[name]"; + unset($mods[$modplace]); + } + + if ($m) + $modlist="$smallfont(moderated by: $modlist)"; + + $namecolor = getnamecolor($forum['sex'],$forum['powerlevel']); + if($forum['numposts']){ + $forumlastpost="". date($dateformat,$forum['lastpostdate']+$tzoff); + $by="$smallfont
by $forum[name]". ($forum['lastpostid'] ? " ". $statusicons['getlast'] ."" : "") ."
"; + } else { + $forumlastpost=getblankdate(); + $by=''; + } + + if($forum['lastpostdate']>$category['lastpostdate']){ + $category['lastpostdate']=$forum['lastpostdate']; + $category['l']=$forumlastpost.$by; + } + + if ($forum['hidden']) + $hidden = " (hidden)"; + else + $hidden = ""; + + $forumlist.=" + + $tccell1>Edit / Delete + $tccell2l>$forum[title]$hidden
+ $smallfont$forum[description]
$modlist + $tccell1>$forum[numthreads] + $tccell1>$forum[numposts] + $tccell2>$forumlastpost$by$forumlastuser + + "; + } +} + +print "
Preview forums with powerlevel: ".previewbox()."
\n"; +print "$tblstart$forumlist$tblend$footer"; +printtimedif($startingtime); + +function dropdownList($links, $sel, $n) { + global $tccell1, $tccellc; + $r = ""; +} + +function previewbox(){ + if (isset($_GET['id'])) { + $idtxt = "id=" . $_GET['id'] . "&"; + $idtxt2 = "?id=" . $_GET['id']; + } + + return "
"; +} +?> diff --git a/admin-editmods.php b/admin-editmods.php new file mode 100644 index 0000000..30a1076 --- /dev/null +++ b/admin-editmods.php @@ -0,0 +1,133 @@ +"; + +admincheck(); +print adminlinkbar('admin-editmods.php'); + +$donotprint = false; +if ($action) { +// print "DEBUG: Asked to ".$action." a moderator of forum: ".${$action."modforum"}." and user: ".${$action."moduser"}; + $donotprint = true; + switch($action) { + case "remove": + $removemod = explode("|", $removemod); + $removemoduser = $removemod[1]; + $removemodforum = $removemod[0]; + + $sql->query("DELETE FROM forummods WHERE user='$removemoduser' AND forum='$removemodforum'"); + if(($err=mysql_error()) != "") + print "$tblstart$tccell1> ERROR: $err."; + else { + $sql->query("INSERT INTO actionlog (atime, adesc, aip) VALUES (".ctime().", \"User ".$loguserid." removed mod $removemoduser from forum $removemodforum\", \"$userip\")"); + print "$tblstart$tccell1> You successfully deleted user $removemoduser from forum $removemodforum.
".redirect("admin-editmods.php",'go back to Edit Mods',0); + } + break; + case "add": + $sql->query("INSERT INTO forummods VALUES('$addmodforum', '$addmoduser')"); + if(($err=mysql_error()) != "") + print "$tblstart$tccell1> ERROR: $err."; + else { + $sql->query("INSERT INTO actionlog (atime, adesc, aip) VALUES (".ctime().", \"User ".$loguserid." added mod $addmoduser to forum $addmodforum\", \"$userip\")"); + print "$tblstart$tccell1> You successfully added user $addmoduser to forum $addmodforum.
".redirect("admin-editmods.php",'go back to Edit Mods',0); + } + break; + default: + print "No, doofus."; + } +} + +if (!$donotprint) { + $forums=$sql->query("SELECT id,title,description,catid FROM forums ORDER BY catid"); + $fa=""; + $forumselect="\r\n"; + $forumselectforrem = "\r\n"; + while($forum=$sql->fetch($forums)) { + $m=0; + $modlist=""; + $forumselect.=""; + $mods=$sql->query("SELECT user FROM forummods WHERE forum=$forum[id]"); + if($mods) { + while($mod=$sql->fetch($mods)) { + $usermod=$sql->fetchq("SELECT aka,sex,powerlevel,name,id from users where id=$mod[user]"); + if($m) $modlist.=", "; + $modlist .= getuserlink($usermod); + $forumselectforrem.="\r\n"; + $m++; + } + } + if ($m) + $fa.=" + + $forum[id] + $forum[title] + $modlist + + "; + } + + $userlist = "\r\n"; + $users1=$sql->query("SELECT `id`, `name` FROM `users` WHERE `powerlevel` > '0' ORDER BY `name`"); + while($user=$sql->fetch($users1)) + $userlist.="\r\n"; + +print " + +$tblstart +ID +Forum Name +Moderators$fa$tblend + +
$inph=\"action\" value=\"add\">
$tblstart". +/* + $tccellh>$smallfont Delete a mod. + $tccellh>$smallfont Add Moderator. + + + + $tccell1> User ID: +$tccell1> User ID: + + + $tccell1> Forum ID: +$tccell1> Forum ID: + + + $tccell1> +$tccell1> */ +"$tccellh colspan=\"2\">Add Moderator: +$tccell1 width=15%>Forum:$tccell2l width=85%> +$tccell1 width=15%>User:$tccell2l width=85%> $smallfont(note: this only shows Member+ and above) +$tccell1 width=15%> $tccell2l width=85%>$inps=\"addmodsubmit\" value=\"Add Moderator\">$tblend" +. + +/* + $tccellh>$smallfont Delete a mod. + $tccellh>$smallfont Add Moderator. + + + + $tccell1> User ID: +$tccell1> User ID: + + + $tccell1> Forum ID: +$tccell1> Forum ID: + + + $tccell1> +$tccell1> */ +($forumselectforrem!=""?"
$inph=\"action\" value=\"remove\">$tblstart"."$tccellh colspan=\"2\">Remove Moderator: +$tccell1 width=15%>Forum and Moderator:$tccell2l width=85%> +$tccell1 width=15%> $tccell2l width=85%>$inps=\"removemodsubmit\" value=\"Remove Moderator\">$tblend
":""); + +} + +print $footer; +printtimedif($startingtime); + +?> diff --git a/admin-slammer.php b/admin-slammer.php new file mode 100644 index 0000000..99447e1 --- /dev/null +++ b/admin-slammer.php @@ -0,0 +1,73 @@ +"; +echo "
"; + +admincheck(); +//print adminlinkbar('admin-slammer.php'); + +$target_id = $sql->resultq('SELECT id FROM users ORDER BY id DESC LIMIT 1'); +$uinfo = $sql->fetchq("SELECT name, lastip FROM users WHERE id = '{$target_id}'"); + +if ($_POST['knockout'] && $_POST['knockout'] != $target_id) +{ + echo "Whoops! Someone else took that user to the slammer before you did.\n"; + echo "\n
".redirect("admin-slammer.php", 'the slammer (for another go)', 2); + die(); +} +else if ($_POST['knockout']) +{ + echo "SLAM JAM:\n"; + + $sql->query("DELETE FROM threads WHERE user = '{$target_id}' LIMIT 50"); + echo "Deleted threads.\n"; + + $sql->query("DELETE FROM posts_text WHERE pid IN (SELECT id FROM posts WHERE user = '{$target_id}') LIMIT 50"); + $sql->query("DELETE FROM posts WHERE user = '{$target_id}' LIMIT 50"); + echo "Deleted posts.\n"; + + $sql->query("DELETE FROM users WHERE id = '{$target_id}' LIMIT 1"); + $sql->query("DELETE FROM users_rpg WHERE uid = '{$target_id}' LIMIT 1"); + echo "Deleted user data.\n"; + + $new_maxid = intval($sql->resultq("SELECT id FROM users ORDER BY id DESC LIMIT 1")); + $sql->query("ALTER TABLE users AUTO_INCREMENT = {$new_maxid}"); + echo "Max ID set to {$new_maxid}.\n"; + + @$sql->query("INSERT INTO `ipbans` SET `ip` = '". $uinfo['lastip'] ."', `date` = '". ctime() ."', `reason` = 'Thanks for playing!'"); + echo "Delivered IP ban to {$uinfo['lastip']}.\n"; + + xk_ircsend("1|". xk(8) . $uinfo['name'] . xk(7). " (IP " . xk(8) . $uinfo['lastip'] . xk(7) .") is the latest victim of the new EZ BAN button(tm)."); + + echo "\n".redirect("admin-slammer.php", 'the slammer (for another go)', 2); + die(); +} +else +{ + $threads = $sql->getarraybykey("SELECT id, forum, title FROM threads WHERE user = '{$target_id}'", 'id'); + $posts = $sql->getarraybykey("SELECT id, thread FROM posts WHERE user = '{$target_id}'", 'id'); + + $ct_threads = count($threads); + $ct_posts = count($posts); + + echo "Up on the chopping block today is \"{$uinfo['name']}\".\n\n"; + echo "Their last known IP address is \"{$uinfo['lastip']}\".\n\n"; + + echo "They have made {$ct_threads} thread(s):\n"; + foreach ($threads as $th) + echo "{$th['id']}: {$th['title']} (in forum {$th['forum']})\n"; + + echo "\nThey have made {$ct_posts} post(s):\n"; + foreach ($posts as $po) + echo "{$po['id']}: in thread {$po['thread']}\n"; + + ?> + + Press the button? +
+ "; + + if (!$isadmin) { + + print " + $tblstart + $tccell1>This feature is restricted. + $tblend + + $footer + "; + printtimedif($startingtime); + die(); + } + + + print adminlinkbar("admin-threads.php"); + + if (!$_POST['run']) { + print "
+ $tblstart + $tccellh>Thread Repair System + $tccell1>  +
This page is intended to repair threads with broken reply counts. Please don't flood it with requests. +
This problem causes \"phantom pages\" (e.g., too few or too many pages displayed). +
  +
$inps=\"run\" value=\"Start\"> +
  + + $tblend +
+ "; + } else { + + print " + $tblstart + $tccellh>Thread Repair System + $tccell1>Now running. + + $tblend +
+ $tblstart + + $tccellh>id# + $tccellh>Name + $tccellh>Reports + $tccellh>Real + $tccellh>Err + $tccellh>Status + + "; + + $q = "SELECT `posts`.`thread`, (COUNT(`posts`.`id`)) AS 'real', ((COUNT(`posts`.`id`) - 1) - `threads`.`replies`) AS 'offset', `threads`.`replies`, `threads`.`title` AS `threadname` FROM `posts` LEFT JOIN `threads` ON `posts`.`thread` = `threads`.`id` GROUP BY `thread` ORDER BY `offset` DESC"; + $sql = mysql_query($q) or die(mysql_error()); + + $count = ""; + while ($data = mysql_fetch_array($sql, MYSQL_ASSOC)) { + + $status = ""; + + if ($data['offset'] != 0) { + + if ($data['offset'] >= 10000000) { + $data['offset'] = ($data['real'] - 1) - $data['replies']; +// $status = "First post missing or otherwise broken"; +// $data['offset'] = " "; + } + + if (!$status) { + $status = mysql_query("UPDATE `threads` SET `replies` = '". ($data['real'] - 1) ."' WHERE `id` = '". $data['thread'] ."'") or "Error: ". mysql_error(); + if ($status == 1) $status = "Updated"; +// $status = "Not updated"; + $count++; + } + + print " + + $tccell1>". $data['thread'] ." + $tccell2l>". $data['threadname'] ." + $tccell1r>". $data['replies'] ." + $tccell1r>". $data['real'] ." + $tccell2r>". $data['offset'] ." + $tccell1l>$status + "; + + } else { + break; + } + } + + if ($count) { + print "$tccellc colspan=6>$count thread". ($count != 1 ? "s" : "") ." updated."; + } else { + + print " $tccell1 colspan=6>  +
No problems found. +
  + "; + } + } + + + print "$tblend + $footer + "; + printtimedif($startingtime); +?> diff --git a/admin-threads2.php b/admin-threads2.php new file mode 100644 index 0000000..8b9a2f6 --- /dev/null +++ b/admin-threads2.php @@ -0,0 +1,108 @@ +"; + + if (!$isadmin) { + + print " + $tblstart + $tccell1>This feature is restricted. + $tblend + + $footer + "; + printtimedif($startingtime); + die(); + } + + print adminlinkbar("admin-threads2.php"); + + if (!$_POST['run']) { + print "
+ $tblstart + $tccellh>Thread Repair System II + $tccell1>  +
This page is intended to repair threads with broken 'last reply' times/users. +
This problem causes bumped threads that shouldn't be, especially with badly deleted posts. +
  +
$inps=\"run\" value=\"Start\"> +
  + + $tblend +
+ "; + } else { + + print " + $tblstart + $tccellh>Thread Repair System II + $tccell1>Now running. + + $tblend +
+ $tblstart + + $tccellh>id# + $tccellh>Name + $tccellh>Reported Date + $tccellh>Real Date + $tccellh>Difference + $tccellh>Status + + "; + + + + $q = "SELECT `threads`.`id`, `threads`.`title` , `threads`.`lastpostdate` , `posts`.`date` as realdate, (`posts`.`date` - `threads`.`lastpostdate`) AS `diff` FROM `threads` LEFT JOIN (SELECT MAX(`date`) as `date`, `thread` FROM `posts` GROUP BY `thread`) as `posts` ON `posts`.`thread` = `threads`.`id` ORDER BY `diff` DESC"; + $sql = mysql_query($q) or die(mysql_error()); + + $count = ""; + while ($data = mysql_fetch_array($sql, MYSQL_ASSOC)) { + + $status = ""; + + if ($data['lastpostdate'] != $data['realdate']) { + + if ($data['lastpostdate'] == "0" && $data['realdate'] == NULL) { + $status = "Broken thread"; + } else { + + $userd = mysql_fetch_array(mysql_query("SELECT `date`, `user` FROM `posts` WHERE `thread` = '". $data['id'] ."' ORDER BY `date` DESC LIMIT 1"), MYSQL_ASSOC); + $status = mysql_query("UPDATE `threads` SET `lastposter` = '". $userd['user'] ."', `lastpostdate` = '". $userd['date'] ."' WHERE `id` = '". $data['id'] ."'") or "Error: ". mysql_error(); + if ($status == 1) $status = "Updated"; + $count++; + } + } + + if ($status) { + + print " + + $tccell1>". $data['id'] ." + $tccell2l>". $data['title'] ." + $tccell1>". ($data['lastpostdate'] ? date($dateformat, $data['lastpostdate'] + $tzoff) : "-") ." + $tccell1>". ($data['realdate'] ? date($dateformat, $data['realdate'] + $tzoff) : "-") ." + $tccell1>". timeunits2($data['lastpostdate'] - $data['realdate']) ." + $tccell2l>$status + "; + } + } + + if ($count) { + print "$tccellc colspan=6>$count thread". ($count != 1 ? "s" : "") ." updated."; + } else { + print "$tccellc colspan=6>Nothing to repair."; + } + } + + + print "$tblend + $footer + "; + printtimedif($startingtime); +?> diff --git a/admin.php b/admin.php new file mode 100644 index 0000000..e57f020 --- /dev/null +++ b/admin.php @@ -0,0 +1,122 @@ +"; + + if (!$isadmin) { + + print " + $tblstart + $tccell1>Uh oh, you are not the admin go away. + $tblend + + $footer + "; + printtimedif($startingtime); + die(); + } + + + $misc = $sql -> fetchq("SELECT * FROM `misc`"); + + print adminlinkbar("admin.php") ." + $tblstart + $tccellh>Panel de Admin
+ $tccell1>  +
Under construction for +
". timeunits2(time() - mktime(19, 20, 21, 9, 27, 2007)) ." +
...and counting! +
  + + $tblend + +
+ +
+ $tblstart + $tccellh colspan=2>Setting up the Soft Dip + $tccellc colspan=2>Board settings + + $tccell1 width='200'>". $statusicons['hot'] ." threshold + $tccell2l> $inpt='hotcount' value='". $misc['hotcount'] ."' class='right'> replies + $inph='hotcount_' value='". $misc['hotcount'] ."'> + + + $tccell1 width='200'>Disable forum? + $tccell2l> $inpc='disable' value='1'> Disable + + + + $tccellc colspan=2>Records + + $tccell1 width='200'>View count + $tccell2l> $inpt='views' value='". $misc['views'] ."' class='right'> views + $inph='views' value='". $misc['views'] ."'> + + + + $tccell1 width='200'>Max posts/day + $tccell2l> $inpt='maxpostsday' value='". $misc['maxpostsday'] ."' class='right'> posts, at $inpt='maxpostsdaydate' value='". $misc['maxpostsdaydate'] ."' class='right'> + $inph='maxpostsday' value='". $misc['maxpostsday'] ."'>$inph='maxpostsdaydate' value='". $misc['maxpostsdaydate'] ."'> + + + $tccell1 width='200'>Max posts/hour + $tccell2l> $inpt='maxpostshour' value='". $misc['maxpostshour'] ."' class='right'> posts, at $inpt='maxpostshourdate' value='". $misc['maxpostshourdate'] ."' class='right'> + $inph='maxpostshour' value='". $misc['maxpostshour'] ."'>$inph='maxpostshourdate' value='". $misc['maxpostshourdate'] ."'> + + + $tccell1 width='200'>Most users online + $tccell2l> $inpt='maxusers' value='". $misc['maxusers'] ."' class='right'> users, at $inpt='maxusersdate' value='". $misc['maxusersdate'] ."' class='right'> +
$inpc='maxusersreset' value='1'> Reset user list + $inph='maxusers' value='". $misc['maxusers'] ."'>$inph='maxusersdate' value='". $misc['maxusersdate'] ."'> + + + + $tccellc colspan=2>
Monetary settings + + $tccell1 width='200'>Donations + $tccell2l> $inpt='donations' value='". sprintf("%01.2f", $misc['donations']) ."' class='right'>$ + $inph='donations' value='". sprintf("%01.2f", $misc['donations']) ."'> + + + $tccell1 width='200'>$$$ Ads $$$ + $tccell2l> $inpt='ads' value='". sprintf("%01.2f", $misc['ads']) ."' class='right'>$ + $inph='ads' value='". sprintf("%01.2f", $misc['ads']) ."'> + + + + $tccellc colspan=2>  + + $tccell1 width='200'>  + $tccell2l> $inps='submit' value='Submit changes'> +
(Only saves the money settings though.) just kidding, it doesn't work. + + + + $tblend +
+ + "; + + + + print "$footer"; + printtimedif($startingtime); + + + // returns several field names with hours/date/time all set up and that jazz etc blah blah blah + function timetofields($fname, $time) { + + + + return; + } + + + + + +?> diff --git a/adnonsense.php b/adnonsense.php new file mode 100644 index 0000000..b1e69a7 --- /dev/null +++ b/adnonsense.php @@ -0,0 +1,154 @@ + fetchq("SELECT `donations`, `ads`, `valkyrie` FROM `misc`"); + $bonusr = 0; + $bonusg = 0; + $bonusb = 0; + + if ($_GET['m'] == "d") { + $money = $data['donations']; + $text = "Donations"; + $textc = imagecolorallocatealpha($img, 80, 200, 80, 40); + if ($money >= 120) { + $money -= 120; + $bonusr = -.5; + $bonusg = .1; + $bonusb = -.5; + $bonusm = 120; + } + } elseif ($_GET['m'] == "t") { + $money = $data['donations'] + $data['ads']; + $text = "Total"; + $textc = imagecolorallocatealpha($img, 140, 140, 255, 40); + if ($money >= 120) { + $money = min(120, $data['donations']) + $data['ads'] - 120; // Extra donations don't count towards extra funding +// $money = $data['donations'] + $data['adsense'] - 120; +// $text = "Extra!"; + $bonusr = -.5; + $bonusg = -.5; + $bonusb = .3; + } + + } elseif ($_GET['m'] == "v") { + $money = $data['valkyrie']; + $text = "VPS fund"; + $textc = imagecolorallocatealpha($img, 140, 140, 255, 40); + if ($money >= 120) { + $money -= 120; + $bonusr = -.5; + $bonusg = -.5; + $bonusb = .3; + } + } else { + $money = $data['ads']; + $text = "Ad rev."; + $textc = imagecolorallocatealpha($img, 255, 80, 80, 40); + if ($money >= 120) { + $money -= 120; + $bonusr = .3; + $bonusg = -.3; + $bonusb = -.3; + $bonusm = 120; + } + } + + + for ($i = 0; $i < 600; $i++) { + $c = floor($i / 600 * 100) + 27; + if ($i % 50 == 0) $c = floor($c * 0.8); + if ($i >= 597) $c = floor($c * (1.3 + ($i == 599 ? 0.4 : 0.0))); + if ($i <= 2) $c = floor($c * (1.3 + ($i == 0 ? 0.4 : 0.0))); + + fillbar($img, $i, $c * (1 + $bonusr ), $c * (1 + $bonusg ), $c * (1 + $bonusb )); + } + + $max = min(600, ($money / 120) * 600); + + for ($i = 0; $i < $max; $i++) { + if ($_GET['m'] == "d") { // Donations use a different color scheme + $r = 20 + floor($i / 600 * 100); + $g = 80 + floor($i / 600 * 170); + $b = 25 + floor($i / 600 * 110); + } elseif ($_GET['m'] == "t" || $_GET['m'] == "v") { + $b = 100 + floor($i / 600 * 150); + $g = 20 + floor($i / 600 * 60); + $r = 25 + floor($i / 600 * 80); + } else { + $r = 100 + floor($i / 600 * 150); + $g = 20 + floor($i / 600 * 60); + $b = 25 + floor($i / 600 * 80); + } + if ($i % 50 == 0 && $i <= $max - 3) { + $r = floor($r * 0.8); + $g = floor($g * 0.8); + $b = floor($b * 0.8); + } elseif ($i >= $max - 3) { + $r = floor($r * (1.3 + ($i == $max - 1 ? 0.4 : 0.0))); + $g = floor($g * (1.3 + ($i == $max - 1 ? 0.4 : 0.0))); + $b = floor($b * (1.3 + ($i == $max - 1 ? 0.4 : 0.0))); + } elseif ($i <= 2) { + $r = floor($r * (1.3 + ($i == 0 ? 0.4 : 0.0))); + $g = floor($g * (1.3 + ($i == 0 ? 0.4 : 0.0))); + $b = floor($b * (1.3 + ($i == 0 ? 0.4 : 0.0))); + } + + + fillbar($img, $i, $r, $g, $b); +/* imageline($img, $i + 1, 20, $i + 20, 1, 0x010101 * $c); + imagesetpixel($img, $i + 20, 1, 0x010101 * min(255, floor($c * 1.7))); + imagesetpixel($img, $i + 19, 2, 0x010101 * min(255, floor($c * 1.3))); + imagesetpixel($img, $i + 2, 19, 0x010101 * min(255, floor($c * 1.3))); + imagesetpixel($img, $i + 1, 20, 0x010101 * min(255, floor($c * 1.7))); +*/ } + + $s = sprintf("\$%01.2f", $money + $bonusm); + if ($max > 50) { + $s = str_pad($s, 7, " ", STR_PAD_LEFT); + $x = $max - 41; + } else { + $x = $max + 12; + } + imagestring($img, $font, $x + 1, 13, $s, 0x000000); + imagestring($img, $font, $x, 12, $s, 0xffffff); + + imagealphablending($img, true); + + imagestring($img, $font, 21, 3, $text, $textc); + + + header("Content-type: image/png;"); + imagepng($img); + imagedestroy($img); + + + function fillbar($img, $i, $r, $g, $b) { + $r = min(255, $r); + $g = min(255, $g); + $b = min(255, $b); + imageline($img, $i + 1, 20, $i + 20, 1, imagecolorallocate($img, $r, $g, $b)); + imagesetpixel($img, $i + 20, 1, imagecolorallocate($img, min(255, floor($r * 1.7)), min(255, floor($g * 1.7)), min(255, floor($b * 1.7)))); + imagesetpixel($img, $i + 19, 2, imagecolorallocate($img, min(255, floor($r * 1.3)), min(255, floor($g * 1.3)), min(255, floor($b * 1.3)))); + imagesetpixel($img, $i + 2, 19, imagecolorallocate($img, min(255, floor($r * 1.3)), min(255, floor($g * 1.3)), min(255, floor($b * 1.3)))); + imagesetpixel($img, $i + 1, 20, imagecolorallocate($img, min(255, floor($r * 1.7)), min(255, floor($g * 1.7)), min(255, floor($b * 1.7)))); + return; + } \ No newline at end of file diff --git a/announcement.php b/announcement.php new file mode 100644 index 0000000..6e08422 --- /dev/null +++ b/announcement.php @@ -0,0 +1,206 @@ +0)); + if($_GET[action]=='edit' or $_POST[action]=='editannc'){ + $annc=mysql_fetch_array(mysql_query("SELECT * FROM announcements WHERE id=$id")); + if($annc[forum]>0 && $ismod) $canpost=true; + } + $smilies=readsmilies(); + if(!$action){ + loadtlayout(); + $ppp=($log?$loguser[postsperpage]:20); + $min=$ppp*$page; + if ($loguser['id'] && $f == 0) { + mysql_query("UPDATE `users` SET `lastannouncement` = (SELECT MAX(`id`) FROM `announcements` WHERE `forum` = 0) WHERE `id` = '". $loguser['id'] ."'"); + } + $anncs=mysql_query("SELECT a.*,u.*,a.title atitle,u.id uid FROM announcements a,users u WHERE forum=$f AND a.user=u.id ORDER BY a.id DESC LIMIT $min,$ppp"); + $annctotal=@mysql_result(mysql_query("SELECT count(*) FROM announcements WHERE forum=$f"),0,0); + $pagelinks=$smallfont.'Pages:'; + for($i=0;$i<($annctotal/$ppp);$i++){ + if($i==$page) $pagelinks.=' '.($i+1); + else $pagelinks.=" ".($i+1).''; + } + $annclist="$tccellh width=150>User$tccellh colspan=2>Announcement"; + while($annc=mysql_fetch_array($anncs)){ + if($annccount) $annclist.=''; + $annccount++; + $bg=$bg%2+1; + $edit=' '; + if($isadmin or ($ismod && $f)){ + $edit="Edit | Delete"; + if($isadmin) $ip=" | IP: $annc[3]"; + } + if($loguser[viewsig]==2){ + $annc[headtext]=$annc[postheader]; + $annc[signtext]=$annc[signature]; + } + $annc[text]="
$annc[atitle]

$annc[text]"; + $annclist.=threadpost($annc,$bg); + } + } + if($canpost){ + if($_GET[action]=='delete'){ + mysql_query("DELETE FROM announcements WHERE id=$id"); + $annclist.=" + $tccell1>Announcement deleted. +
".redirect("announcement.php?f=$f",'return to the announcements',0); + } + if($_GET[action]=='new'){ + $annclist=" +
+ $tccellh width=150> $tccellh>  + $tccell1>Announcement title:$tccell2l>$inpt=subject SIZE=70 MAXLENGTH=100> + $tccell1>Announcement: $tccell2l>$txta=message ROWS=20 COLS=$numcols> + $tccell1>  $tccell2l>$inph=action VALUE=postannc>$inph=f VALUE=$f> + $inps=submit VALUE=\"Post announcement\"> + $inps=preview VALUE=\"Preview announcement\">
+ "; + } + if($_GET[action]=='edit'){ + if(!$annc[headid]) $head=$annc[headtext]; + else $head=mysql_result(mysql_query("SELECT text FROM postlayouts WHERE id=$annc[headid]"),0,0); + if(!$annc[signid]) $sign=$annc[signtext]; + else $sign=mysql_result(mysql_query("SELECT text FROM postlayouts WHERE id=$annc[signid]"),0,0); + sbr(1,$annc[text]); + sbr(1,$head); + sbr(1,$sign); + $annclist=" +
+ $tccellh width=150> $tccellh>  + $tccell1>Announcement title:$tccell2l>$inpt=subject VALUE=\"$annc[title]\" SIZE=70 MAXLENGTH=100> + $tccell1>Header: $tccell2l>$txta=head ROWS=8 COLS=$numcols>$head + $tccell1>Announcement: $tccell2l>$txta=message ROWS=12 COLS=$numcols>$annc[text] + $tccell1>Signature: $tccell2l>$txta=sign ROWS=8 COLS=$numcols>$sign + $tccell1>  $tccell2l> + $inph=action VALUE=editannc> + $inph=f VALUE=$annc[forum]> + $inph=id VALUE=$id> + $inph=edited VALUE=\"$annc[edited]\"> + $inps=submit VALUE=\"Edit announcement\"> + $inps=preview VALUE=\"Preview announcement\">
+ "; + } + if($_POST[action]=='postannc'){ + $userid = $loguserid; + $user = $loguser; + if($userid!=-1){ + $sign=$user[signature]; + $head=$user[postheader]; + if($user[postbg]) $head="
$head"; + $numposts=$user[posts]; + $numdays=(ctime()-$user[regdate])/86400; + $message=doreplace($message,$numposts,$numdays,$user['name']); + $rsign=doreplace($sign,$numposts,$numdays,$user['name']); + $rhead=doreplace($head,$numposts,$numdays,$user['name']); + squot(0,$subject); + $currenttime=ctime(); + if($submit){ + if(!$f) $f=0; + $headid=getpostlayoutid($head); + $signid=getpostlayoutid($sign); + mysql_query("INSERT INTO `announcements` (`user`, `date`, `ip`, `title`, `forum`, `text`, `headid`, `signid`, `tagval`) VALUES ('$userid', '$currenttime', '$userip', '$subject', '$f', '$message', '$headid', '$signid', '$tagval')"); + $annclist=" + $tccell1>Thank you, $user[name], for posting your announcement.
+ ".redirect("announcement.php?f=$f","the announcements",0).""; + }else{ + loadtlayout(); + $ppost=$user; + $ppost[uid]=$userid; + $ppost[date]=$currenttime; + $ppost[headtext]=$rhead; + $ppost[signtext]=$rsign; + $ppost[text]="
". stripslashes($subject) ."

". stripslashes($message); + if($isadmin) $ip=$userip; + $annclist=" + + $tccellh>Announcement preview + $tblend$tblstart + ".threadpost($ppost,1)." + $tblend
$tblstart +
+ $tccellh width=150> $tccellh>  + $tccell1>Announcement title:$tccell2l>$inpt=subject SIZE=70 MAXLENGTH=100 VALUE=\"". stripslashes($subject) ."\"> + $tccell1>Announcement: $tccell2l>$txta=message ROWS=10 COLS=$numcols>". stripslashes($message) ." + $tccell1> $tccell2l> + $inps=submit VALUE=\"Submit announcement\"> + $inps=preview VALUE=\"Preview announcement\"> + $inph=action VALUE=postannc> + $inph=f VALUE=$f> + + "; + } + }else + $annclist=" + $tccell1>Couldn't enter the announcement. You haven't entered the right username or password. + ".redirect('announcement.php','return to the announcements',0); + } + if($_POST[action]=='editannc'){ + print $tblstart; + $numposts=$loguser[posts]; + $numdays=(ctime()-$loguser[regdate])/86400; + $message=doreplace($message,$numposts,$numdays,$loguser[name]); + + $namecolor = getnamecolor($loguser['sex'], $loguser['powerlevel']); + $edited ="$loguser[name]"; + + if($submit){ + $headid=@mysql_result(mysql_query("SELECT id FROM postlayouts WHERE text='$head' LIMIT 1"),0,'id'); + $signid=@mysql_result(mysql_query("SELECT id FROM postlayouts WHERE text='$sign' LIMIT 1"),0,'id'); + if($headid) $head=''; else $headid=0; + if($signid) $sign=''; else $signid=0; + mysql_query("UPDATE announcements SET title='$subject', text='$message', headtext='$head', signtext='$sign', edited='$edited', editdate='".ctime()."',headid=$headid,signid=$signid WHERE id=$id"); + $annclist=" + $tccell1>Thank you, ".$loguser[name].", for editing the announcement.
+ ".redirect("announcement.php?f=$f","go to the announcements",0); + }else{ + loadtlayout(); + $annc=mysql_fetch_array(mysql_query("SELECT * FROM announcements WHERE id=$id")); + $ppost=mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id=$annc[user]")); + $subject = stripslashes($subject); + $message = stripslashes($message); + $head = stripslashes($head); + $sign = stripslashes($sign); + $ppost['uid']=$annc[user]; + $ppost['date']=$annc[date]; + $ppost['tagval']=$annc[tagval]; + $ppost['headtext']=$head; + $ppost['signtext']=$sign; + $ppost['text']="
$subject

$message"; + + $ppost['edited'] = $edited; + $ppost['editdate'] = ctime(); + + if($isadmin) $ip=$annc['ip']; + $annclist=" + + $tccellh>Announcement preview + $tblend$tblstart + ".threadpost($ppost,1)." + $tblend
$tblstart +
+ $tccellh width=150> $tccellh>  + $tccell1>Announcement title:$tccell2l>$inpt=subject VALUE=\"$subject\" SIZE=70 MAXLENGTH=100> + $tccell1>Header: $tccell2l>$txta=head ROWS=4 COLS=$numcols>$head + $tccell1>Announcement: $tccell2l>$txta=message ROWS=6 COLS=$numcols>$message + $tccell1>Signature: $tccell2l>$txta=sign ROWS=4 COLS=$numcols>$sign + $tccell1> $tccell2l> + $inps=submit VALUE=\"Edit announcement\"> + $inps=preview VALUE=\"Preview announcement\"> + $inph=action VALUE=editannc> + $inph=id VALUE=$id> + $inph=f VALUE=$f> + + "; + } + } + $postnew="Post new announcement"; + } + print "$header +
$fonttag$boardname - Announcements$smallfont$postnew
+ $pagelinks$tblstart$annclist$tblend$pagelinks$footer + "; + printtimedif($startingtime); +?> \ No newline at end of file diff --git a/avatar.php b/avatar.php new file mode 100644 index 0000000..47a66c3 --- /dev/null +++ b/avatar.php @@ -0,0 +1,72 @@ + "neutral", "angry", "tired/upset", "playful", "doom", "delight", "guru", "hope", "puzzled", "whatever", "hyperactive", "sadness", "bleh", "embarrassed", "amused", "afraid"); + +$me = false; +$form = 'Preview mood avatar for user...
+
"; + +if ($me) { + $script = ' + + '; + + $ret = "$tccellh colspan=2>$me[name]: ".htmlspecialchars($me['moodurl']).""; + $ret .= "$tccell1l width=200px>Mood avatar list:
"; + + foreach($a as $num => $name) { + $jsclick = "onclick='avatarpreview($me[id],$num)'"; + $selected = (($num == 1) ? ' checked' : ''); + $ret .= " +
\r\n"; + } + + $startimg = htmlspecialchars(str_replace('$', '1', $me['moodurl'])); + + $ret .= "$tccell2 width=400px>"; + +} +else { + $script = ''; + $ret = ''; +} + print " +Mood Avatar Preview +$body +$css +$script +
+ $tccellh colspan=2>$form + $ret + $tblend +
+ $tblstart +
+"; +?> \ No newline at end of file diff --git a/biggestposters.php b/biggestposters.php new file mode 100644 index 0000000..6f56358 --- /dev/null +++ b/biggestposters.php @@ -0,0 +1,81 @@ +resultq("SELECT bigpostersupdate FROM misc") <= ctime()-(3600 * 8)) { + $sql->query("TRUNCATE biggestposters"); + $sql->query("INSERT INTO biggestposters " + ."(id, posts, waste) " + ."SELECT u.id, u.posts, SUM(LENGTH(pt.`text`)) " + ."FROM `posts` p " + ."LEFT JOIN `users` u ON p.user = u.id " + ."LEFT JOIN `posts_text` pt on p.id = pt.pid " + ."WHERE (u.posts >= 5 OR u.posts < 0) GROUP BY p.user"); + $sql->query("UPDATE biggestposters SET average = waste / posts"); + $sql->query("UPDATE misc SET bigpostersupdate = ".ctime()); + } + $posters = $sql->query("SELECT bp.*, u.name, u.regdate, u.minipic, u.sex, u.powerlevel FROM biggestposters bp LEFT JOIN users u ON bp.id=u.id ORDER BY $sort DESC"); + + print " + $header + +
+ + $tblstart + $tccellc colspan=7>Biggest posters, $headertext + + $tccellh width=30># + $tccellh colspan=2>Username + $tccellh width=200>Registered on + $tccellh width=130>Posts + $tccellh width=130>Size + $tccellh width=130>Average + "; + + for($i=1; $user = $sql -> fetch($posters); $i++) { + + if($i == 1) $max = $user['waste']; + if ($user['waste'] != $oldcnt) $rank = $i; + $oldcnt = $user['waste']; + $namecolor=getnamecolor($user['sex'],$user['powerlevel']); + + $col = ""; + if ($user['average'] >= 500) $col = "#88ff88"; + if ($user['average'] >= 750) $col = "#8888ff"; + if ($user['average'] <= 200) $col = "#ffff80"; + if ($user['average'] <= 100) $col = "#ff8080"; + if ($user['average'] <= 0) $col = "#888888"; + + $avgc = number_format(abs($user['average']), 1); + if ($col) $avgc = "$avgc"; + + + + print " + + $tccell1>$rank + $tccell1 width=16>". ($user['minipic'] ? "" : " ") ." + $tccell2l>". $user['name'] ." + $tccell1>".date($dateformat, $user['regdate'] + $tzoff) ." + $tccell1r>". $user['posts'] ." + $tccell1r>". number_format($user['waste']) ." + $tccell2r>". $avgc ." + "; + } + + print " + $tblend + + $smallfont(Note: this doesn't take into account quotes, joke posts, or other things. It isn't a very good judge of actual post content, just post size.) +
(This table is cached and updated every few hours.) + + $footer"; + printtimedif($startingtime); +?> \ No newline at end of file diff --git a/calendar.php b/calendar.php new file mode 100644 index 0000000..210b7a4 --- /dev/null +++ b/calendar.php @@ -0,0 +1,109 @@ +'January','February','March','April','May','June','July','August','September','October','November','December'); + + $date = getdate(time()); + $year = $date['year']; + $month = $date['mon']; + + if (!$y && !$m && !$d) + $day = $date['mday']; + else { + if ($y) $year = intval($y); + if ($m) $month = intval($m); + if ($d) $day = intval($d); + } + + $eventdata = null; + if ($event) + $eventdata = $sql->fetchq("SELECT id,d,m,y,user,title,text FROM events WHERE id=$event"); + + if ($eventdata) { + $month = $eventdata['m']; + $day = $eventdata['d']; + $year = $eventdata['y']; + } + + $windowtitle = "{$boardname} -- Calendar for {$mn[$month]} {$year}"; + require 'lib/layout.php'; + + $date = getdate(mktime(0,0,0,$month,1,$year)); + $i = 1 - $date['wday']; + + $date = getdate(mktime(0,0,0,$month+1,0,$year)); + $max = $date['mday']; + + $users = $sql->query('SELECT id,name,birthday,sex,powerlevel,aka FROM users WHERE birthday ORDER BY birthday ASC, name ASC'); + while ($user = $sql->fetch($users)) { + $date = @getdate($user['birthday']); + if ($date['mon'] != $month) continue; + + $age = $year-$date['year']; + $userlink = getuserlink($user); + $bdaytext[$date['mday']].="
- {$userlink} turns {$age}"; + } + + $events = $sql->query("SELECT id,d,title FROM events WHERE m=$month AND y=$year ORDER BY id"); + while($event1 = $sql->fetch($events)) + $eventtext[$event1['d']] .= "
- $event1[title]"; + + print "$header$fonttag$boardname - Calendar + $tblstart"; + + if ($eventdata) { + $user = $sql->resultq("SELECT name FROM users WHERE id=$eventdata[user]"); + print " + {$tccellh} colspan=7>$mn[$month] $day, $year: $eventdata[title] - {$user} + {$tccell1} colspan=7>$eventdata[text] + "; + } + + print "$tccellh colspan=7>$mn[$month] $year + + $tccellh width=14.3%>S + $tccellh width=14.3%>M + $tccellh width=14.3%>T + $tccellh width=14.3%>W + $tccellh width=14.3%>T + $tccellh width=14.3%>F + $tccellh width=14.2%>S + \r\n"; + + + $attribs = " width=14.3% valign=top height=80>"; + for(; $i<=$max; $i+=7) { + print "\r\n"; + for($dn=0;$dn<=6;$dn++){ + $dd=$i+$dn; + $daytext="$dd"; + + $tccell = $tccell1l; + if ($dd==$day && $day!=0) $tccell = $tccellcl; + elseif ($dn==0 || $dn==6) $tccell = $tccell2l; + + if ($dd<1 || $dd>$max) + print "$tccell$attribs\r\n"; + else + print "$tccell$attribs$daytext
$bdaytext[$dd]$eventtext[$dd]\r\n"; + } + print "\r\n"; + } + + for($i=1;$i<=12;$i++){ + if($i==$month) $monthlinks.=" $i"; + else $monthlinks.=" $i"; + } + for($i=$year-2;$i<=$year+2;$i++){ + if($i==$year) $yearlinks.=" $i"; + else $yearlinks.=" $i"; + } + + print " + $tccell2 colspan=7>$smallfont
Month:$monthlinks | Year:$yearlinks + + $tblend + $footer"; + + printtimedif($startingtime); +?> \ No newline at end of file diff --git a/css/base.css b/css/base.css new file mode 100644 index 0000000..2237852 --- /dev/null +++ b/css/base.css @@ -0,0 +1,29 @@ +textarea,input,select { + border: 1px solid #000; + background: #000; + color: #EEE; + font: 10pt monospace; +} +input[type=radio] { + border: none; +} +input[type=submit] { + border: #000 solid 2px; + font: 10pt 'verdana', sans-serif; +} +body, table, thead, tbody, span, td, tr, th, a, img, br { padding: 0; margin: 0; border: 0; font-size: 100%; } +center { text-align: center; } +.tdbgh, .tbl, .tdbgc, .tdbg1, .tdbg2 { line-height: 1; padding: 1px;} +table { border-spacing: 0; border-collapse: collapse; } +a:link,a:visited,a:active,a:hover { text-decoration:none; font-weight: bold; } +table { padding: 0.5em; } +span.lastpost { font-size: 90%; padding: 0; margin: 0; } +div.lastpost { font-size: 90%; text-align: right !important; } + +.table { width: 100%; empty-cells: show;} +.sparkline { display: none; } +.center, center { text-align: center; } +.right { text-align: right; } + +code { overflow: auto; width: 100%; white-space: pre; display: block; } +code br { display: none; } diff --git a/css/hydras_blue_thing.css b/css/hydras_blue_thing.css new file mode 100644 index 0000000..cafd2da --- /dev/null +++ b/css/hydras_blue_thing.css @@ -0,0 +1,18 @@ +body { background: #013 !important; color: #DDD; margin: 1em; } + +a { color: #BEBAFE; } +a:visited { color: #9990c0; } +a:active { color: #CFBEFF; } +a:hover { color: #CECAFE; } + +.tdbg1 { background: #05375F; } /* tablebg1 */ +.tdbg2 { background: #15426D; } /* tablebg2 */ +.tdbgc { background: #0F265F; } +.tdbgh { + background: #0048B7 url("/images/julold/header_shade.png") repeat-x bottom center; color: #FFF; border: 1px solid black; text-shadow: 2px 2px 4px #000; font: 13px 'verdana', sans-serif; +} +td.tbl { border-right: 1px solid #000; border-bottom: 1px solid #000; } +.table { border-top: #000 1px solid; border-left: #000 1px solid; } +.font { font: 13px 'verdana', sans-serif; } +.fonts { font: 10px 'verdana', sans-serif; } +.fontt { font: 10px 'tahoma', serif; } \ No newline at end of file diff --git a/del.php b/del.php new file mode 100644 index 0000000..b0b5db4 --- /dev/null +++ b/del.php @@ -0,0 +1,206 @@ + $junk) { + + $query = "SELECT id,name,posts,sex,powerlevel FROM users WHERE id=$id"; + $user2 = mysql_query($query); + + while ($user=mysql_fetch_array($user2)) { + $id = $user['id']; + + $name=$user[name]; + $namecolor=getnamecolor($user[sex],$user[powerlevel]); + mysql_query("INSERT INTO `delusers` ( SELECT * FROM `users` WHERE `id` = '$id' )"); + $line="

===================
[Posted by ". addslashes($name) ."]
"; + $ups=mysql_query("SELECT id FROM posts WHERE user=$id"); + while($up=mysql_fetch_array($ups)) mysql_query("UPDATE posts_text SET signtext=CONCAT_WS('','$line',signtext) WHERE pid=$up[id]") or print mysql_error(); + mysql_query("UPDATE threads SET user=89 WHERE user=$id"); + mysql_query("UPDATE threads SET lastposter=89 WHERE lastposter=$id"); + mysql_query("UPDATE pmsgs SET userfrom=89 WHERE userfrom=$id"); + mysql_query("UPDATE pmsgs SET userto=89 WHERE userto=$id"); + mysql_query("UPDATE posts SET user=89,headid=0,signid=0 WHERE user=$id"); + mysql_query("UPDATE `users` SET `posts` = -1 * (SELECT COUNT(*) FROM `posts` WHERE `user` = '89') WHERE `id` = '89'"); + mysql_query("DELETE FROM userratings WHERE userrated=$id OR userfrom=$id"); + mysql_query("DELETE FROM pollvotes WHERE user=$id"); + mysql_query("DELETE FROM users WHERE id=$id"); + mysql_query("DELETE FROM users_rpg WHERE uid=$id"); + + $delusertext .= "\r\n$tccell1 width=120>$id$tccell2l>$user[name]"; + $delusercnt ++; + } + } + + $deltext = "$tblstart + $delusercnt user(s) deleted.$delusertext + $tblend
"; + + + } + + + if (!$_POST['sortpowerlevel']) $_POST['sortpowerlevel'] = "ab"; + if (!$_POST['sortord']) $_POST['sortord'] = 0; + $powerselect[$_POST['sortpowerlevel']] = 'selected'; + $sortsel[$_POST['sorttype']] = 'selected'; + $ordsel[$_POST['sortord']] = 'checked'; + + print " + $header
+ +$deltext + +
+ $tblstart + $tccellh colspan=2>Sort Options + $tccell1 width=300>User Search: + $tccell2l>$inpt=searchname size=30 maxlength=15 value='". $_POST['searchname'] ."'> + $tccell1 width=300>IP Search: + $tccell2l>$inpt=searchip size=30 maxlength=15 value='". $_POST['searchip'] ."'> + $tccell1 width=300>Show users with less than: + $tccell2l>$inpt=maxposts size=15 maxlength=9 value='". $_POST['maxposts'] ."'> posts + $tccell1>Powerlevel: + $tccell2l> + $tccell1 width=300>Sort by: + $tccell2l> + , + $radio=sortord value='0' $ordsel[0]> Descending   + $radio=sortord value='1' $ordsel[1]> Ascending + + $tccell1> $tccell2l> + $tblend +
+ "; + + +// print_r($_POST); + $sqlquery = ""; + + if ($_POST['maxposts']) + $sqlquery = "`posts` <= '". $_POST['maxposts'] ."'"; + + if ($_POST['searchip']) { + if ($sqlquery) $sqlquery .= " AND "; + $sqlquery .= "`lastip` LIKE '". $_POST['searchip'] ."%'"; + } + + if ($_POST['searchname']) { + if ($sqlquery) $sqlquery .= " AND "; + $sqlquery .= "`name` LIKE '%". $_POST['searchname'] ."%'"; + } + + if ($_POST['sortpowerlevel'] != "aa") { + if ($sqlquery) $sqlquery .= " AND "; + + if ($_POST['sortpowerlevel'] == "ab") + $sqlquery .= "`powerlevel` < '0'"; + else + $sqlquery .= "`powerlevel` = '". str_replace("s", "", $_POST['sortpowerlevel']) ."'"; + } + + switch ($_POST['sorttype']) { + case 0: + $sortfield = "lastactivity"; + break; + case 1: + $sortfield = "regdate"; + break; + case 2: + $sortfield = "posts"; + break; + case 3: + $sortfield = "powerlevel"; + break; + case 4: + $sortfield = "lastip"; + break; + default: + $sortfield = "lastactivity"; + break; + } + + if ($_POST['sortord'] == 0) $sortorder = "DESC"; + else $sortorder = "ASC"; + if ($sqlquery) $sqlquery = "WHERE ". $sqlquery; + $sqlquery .= " ORDER BY `$sortfield` $sortorder"; + + +/* if(!$p) $p=0; + if ($ip) $q = "lastip = '$ip'"; + else $q = "posts=$p"; +*/ + $users = mysql_query("SELECT * FROM `users` $sqlquery"); + $usercount = mysql_num_rows($users); + print " +
+ $tblstart + $usercount user(s) found. + + $tccellh>  + $tccellh>Name + $tccellh>Posts + $tccellh>Regdate + $tccellh>Last post + $tccellh width=200>Last activity + $tccellh>Last URL + $tccellh>IP + "; + while($user=mysql_fetch_array($users)){ + $namecolor=getnamecolor($user[sex],$user[powerlevel]); + $lastpost='-'; + if($user['lastposttime']) $lastpost = date($dateshort, $user['lastposttime'] - $tzoff); + else $lastpost = '-'; + if($user['lastactivity'] != $user['regdate']) $lastactivity = date($dateformat, $user['lastactivity'] - $tzoff); + else $lastactivity = '-'; + if($user['regdate']) $regdate = date($dateshort, $user['regdate'] - $tzoff); + else $regdate = '-'; + + $textid = str_pad($user['id'], 4, "x", STR_PAD_LEFT); + $textid = str_replace("x", "0", $textid); + $textid = str_replace("", "", $textid); + + print " + + $tccell1> + $tccell2l>$textid - $user[name] + $tccell1 width=0>$user[posts] + $tccell1 width=120>$regdate + $tccell1 width=120>$lastpost + $tccell1 width=120>$lastactivity + $tccell2l>$user[lasturl]  + $tccell2>$user[lastip] + "; + } + + echo " $tccell1l colspan=8>$inps=submit value=Submit>"; + print $tblend ."". $footer; + printtimedif($startingtime); +?> \ No newline at end of file diff --git a/digits.png b/digits.png new file mode 100644 index 0000000000000000000000000000000000000000..b0aec43d8d45ab4ae373723fc2e888266a381a6c GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^O+akH#0(^TY);eyDb4_&5LX6)P-3-?lx}W_I6pqmXB2NZdAo z@)~1}ju$Hx)lxfO=BfXExGJxj^YXc^9WT?=e+#e5KUC%~uquy_zfD{~%<%@(XXQqn z&})$ex&5~VR$Q6Xkf?Oe`q5Tyrv>XdU&W*}I@G+V^IPC~`_GdaEz^qvdIxh}m2${k zyJ2Q7`+thN;kL6pzNts#;WEs|_S4K; W!^_?ZGg+E~eB$Zq=d#Wzp$PyOb7qhL literal 0 HcmV?d00001 diff --git a/digits8.png b/digits8.png new file mode 100644 index 0000000000000000000000000000000000000000..326a30588a3bbfe32c87920227e3f613ef9289d2 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^!9dK;#0(@k56>(DQak}ZA+GlJ_CV(U|Nk2r8n#WH zbPdR1ED7=pW^j0RBMr#u@pN$vsfd&9Hsn5JAkgZ6ap~r}M|J;-s?S*JE!g8MHka$C zwqDZ$=V=~0WZwQgS(R3`=Y1`|ihpm3a7tx{$F%1~3>qR~_uBOL@7=ucgZf=J7NyG` z_QI>V-F{4MySz83oX6$*i;E)DOdc!?3hBJI(S7maOSUKe-#V-7En;%((xSZT!t`|6 fHzozq(ueqe-?ZJPo-S<&bQgoCtDnm{r-UW|aaUSB literal 0 HcmV?d00001 diff --git a/digitstiny.png b/digitstiny.png new file mode 100644 index 0000000000000000000000000000000000000000..616eca5109edf25c28e24dde4cb64636d66e9a14 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^=0MEG#0(^*CcnE2q&Ne7LR=Xb8i36I|NnEJR#gD9 z7)yfuf*Bm1-ADs+vOHZJLn`8UPcGzZHV|=pIDe;=K&(;wGtG57`5i8G{<`)>lfyA| zV^>;;F3ZMy%a=S;QI}`=_{V;k*i12n%g1kCjZWTt-(5v3+*k46l$P4;>KW5NJPdhu t#d*b?uac*(e(}CwGQ+&WZ0<8jbD#H$0>X2v76NT$@O1TaS?83{1OV6vNag?l literal 0 HcmV?d00001 diff --git a/doomcounter.php b/doomcounter.php new file mode 100644 index 0000000..f060f39 --- /dev/null +++ b/doomcounter.php @@ -0,0 +1,163 @@ +fetchq("SELECT * FROM posts,posts_text WHERE id='$id 'AND id=pid"); + if (!$post) { + require_once 'lib/layout.php'; + errorpage("Post ID #{$id} doesn't exist.",'return to the board','index.php'); + } + + $threadid = $post['thread']; + $thread = $sql->fetchq("SELECT forum,closed,title FROM threads WHERE id=$threadid"); + $options = explode("|", $post['options']); + + $thread['title'] = str_replace('<','<',$thread['title']); + $thread['title'] = str_replace('>','>',$thread['title']); + + $smilies = readsmilies(); + + $forum = $sql->fetchq("SELECT * FROM forums WHERE id=$thread[forum]"); + $specialscheme = $forum['specialscheme']; + $windowtitle = "$boardname -- $forum[title]: $thread[title] -- Editing Post"; + + require_once 'lib/layout.php'; + print $header; + + if (@mysql_num_rows($sql->query("SELECT user FROM forummods WHERE forum=$forum[id] and user=$loguserid"))) + $ismod = 1; + + print "$fonttag$boardname - ". ($forum['minpower'] <= $loguser['powerlevel'] ? "".$forum['title']." - $thread[title] - Edit post" : "Restricted thread") ." + $tblstart +
"; + + if(!$action && $log && ($ismod || ($loguserid==$post['user'] && $loguser['powerlevel'] > -1 && !$thread['closed'])) && (!$forum['minpower'] or $power>=$forum['minpower'])) { + $message=$post['text']; + if(!$post['headid']) $head=$post['headtext']; + else $head=$sql->resultq("SELECT text FROM postlayouts WHERE id=$post[headid]",0,0); + if(!$post['signid']) $sign=$post['signtext']; + else $sign=$sql->resultq("SELECT text FROM postlayouts WHERE id=$post[signid]",0,0); + + sbr(1,$message); + sbr(1,$head); + sbr(1,$sign); + + $chks = array(); + if ($options[0]) $chks[0] = "checked"; + if ($options[1]) $chks[1] = "checked"; + + $user=$sql->fetchq("SELECT name FROM users WHERE id=$post[user]"); + + print " + $tccellh width=150> $tccellh colspan=2>  + $tccell1>Header: $tccell2l width=800px valign=top>$txta=head ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($head) ." + $tccell2l width=* rowspan=3>".moodlist($post['moodid'])." + $tccell1>Post: $tccell2l width=800px valign=top>$txta=message ROWS=12 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($message) ." + $tccell1>Signature: $tccell2l width=800px valign=top>$txta=sign ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($sign) ." + $tccell1> $tccell2l colspan=2> + $inph=action VALUE=editpost> + $inph=id VALUE=$id> + $inps=submit VALUE=\"Edit post\"> + $inps=preview VALUE=\"Preview post\"> + $tccell1>Options:$tccell2l colspan=2> + $inpc=\"nosmilies\" id=\"nosmilies\" value=\"1\" $chks[0]> - + $inpc=\"nohtml\" id=\"nohtml\" value=\"1\" $chks[1]> + + $tblend$fonttag$boardname - ".$forum[title]." - $thread[title] + "; + } + elseif (!$action) { + print " + $tccell1>You are not allowed to edit this post.
+ ".redirect("thread.php?id=$threadid","the thread",0); + } + + if($_POST['action']=='editpost') { + $poptions = intval($nosmilies) . "|" . intval($nohtml); + + print $tblstart; + if(($ismod or ($loguserid==$post[user] && $loguser['powerlevel'] >= 0)) and (!$forum['minpower'] or $power>=$forum['minpower']) && !$thread['closed']) { + $user = $sql->fetchq("SELECT posts,regdate FROM users WHERE id=$loguserid"); + $numposts=$user['posts']; + $numdays=(ctime()-$user['regdate'])/86400; + $message=doreplace($message,$numposts,$numdays,$loguser['name']); + + $edited = str_replace('\'', '\\\'', getuserlink($loguser)); + + if($submit) { + if ($loguserid == 1162) { + xk_ircsend("1|The jceggbert5 dipshit tried to edit another post: ". $id); + } + elseif (($message == "COCKS" || $head == "COCKS" || $sign == "COCKS") || ($message == $head && $head == $sign)) { + mysql_query("INSERT INTO `ipbans` SET `reason` = 'Idiot hack attempt', `ip` = '". $_SERVER['REMOTE_ADDR'] ."', `date` = '". ctime() ."'"); + die("NO BONUS"); + } + else { + $headid=@$sql->resultq("SELECT `id` FROM `postlayouts` WHERE `text` = '$head' LIMIT 1",0,0); + $signid=@$sql->resultq("SELECT `id` FROM `postlayouts` WHERE `text` = '$sign' LIMIT 1",0,0); + if($headid) $head=''; else $headid=0; + if($signid) $sign=''; else $signid=0; + $sql->query("UPDATE `posts_text` SET `options` = '$poptions', `headtext` = '$head', `text` = '$message', `signtext` = '$sign', `edited` = '$edited', `editdate` = '".ctime()."' WHERE `pid` = '$id'"); + $sql->query("UPDATE `posts` SET `headid` = '$headid', `signid` = '$signid', `moodid` = '". $_POST['moodid'] ."' WHERE `id` = '$id'"); + } + + //$ppp=($log?$loguser['postsperpage']:20); + //$page=floor($sql->query("SELECT COUNT(*) FROM `posts` WHERE `thread` = '$threadid' AND `id` < '$id'",0,0)/$ppp); + + print " + $tccell1>Post edited successfully.
+ ".redirect("thread.php?pid=$id#$id",'return to the thread',0).''; + } + else { + loadtlayout(); + $ppost=$sql->fetchq("SELECT * FROM users WHERE id=$post[user]"); + $head = stripslashes($head); + $sign = stripslashes($sign); + $message = stripslashes($message); + $ppost['uid']=$post['user']; + $ppost['num']=$post['num']; + $ppost['date']=$post['date']; + $ppost['tagval']=$post['tagval']; + $ppost['headtext']=$head; + $ppost['signtext']=$sign; + $ppost['text']=$message; + $ppost['options']=$poptions; + + // Edited notice + $ppost['edited'] = $edited; + $ppost['editdate'] = ctime(); + + $chks = array(); + if ($nosmilies) $chks[0] = "checked"; + if ($nohtml) $chks[1] = "checked"; + + if($isadmin) $ip=$post['ip']; + print " + + $tccellh>Post preview + $tblend$tblstart + ".threadpost($ppost,1)." + $tblend
$tblstart + $tccellh width=150> $tccellh colspan=2>  + $tccell1>Header: $tccell2l width=800px valign=top>$txta=head ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($head) ." + $tccell2l width=* rowspan=3>".moodlist($moodid)." + $tccell1>Post: $tccell2l width=800px valign=top>$txta=message ROWS=12 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($message) ." + $tccell1>Signature: $tccell2l width=800px valign=top>$txta=sign ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px; resize:vertical;\">". htmlspecialchars($sign) ." + $tccell1> $tccell2l colspan=2> + $inph=action VALUE=editpost> + $inph=id VALUE=$id> + $inps=submit VALUE=\"Edit post\"> + $inps=preview VALUE=\"Preview post\"> + $tccell1>Options:$tccell2l colspan=2> + $inpc=\"nosmilies\" id=\"nosmilies\" value=\"1\" $chks[0]> - + $inpc=\"nohtml\" id=\"nohtml\" value=\"1\" $chks[1]> + + $tblend$fonttag$boardname - ".$forum[title]." - $thread[title] + "; + } + } + else print " + $tccell1>You are not allowed to edit this post.
+ ".redirect("thread.php?id=$threadid","the thread",0); + print $tblend; + } + + elseif ($action=='noob') { + die(); + /*if ($loguser['powerlevel'] >= 1) { + mysql_query("UPDATE `posts` SET `noob` = '1' - `noob` WHERE `id` = '$id'"); + print " + $tblstart$tccell1>Post n00bed!
+ ".redirect("thread.php?pid=$id&r=1#$id",'the post',0).''; + }*/ + } + + elseif ($action=='delete'){ + if (!$_POST['reallydelete']) + $txt = "Are you sure you want to DELETE this post?

$inps=reallydelete value='Delete post'>$inph=action value='delete'>$inph=id value='$id'>
- Cancel"; + else { + if ($loguserid == 1162) { // not like it matters since he's banned anyway <:3 + xk_ircsend("1|The jceggbert5 dipshit tried to delete another post: ". $id); + $txt="Thank you, $loguser[name], for deleting the post.
".redirect("thread.php?id=$threadid","the thread",0); + } + elseif ($ismod || ($loguserid == $post['user'] && $loguser['powerlevel'] >= 0)) { + $sql->query("DELETE FROM posts WHERE id='$id'"); + $sql->query("DELETE FROM posts_text WHERE pid='$id'"); + $p = $sql->fetchq("SELECT id,user,date FROM posts WHERE thread=$threadid ORDER BY date DESC"); + $sql->query("UPDATE threads SET replies=replies-1, lastposter=$p[user], lastpostdate=$p[date] WHERE id=$threadid"); + $sql->query("UPDATE forums SET numposts=numposts-1 WHERE id=$forum[id]"); + $txt="Thank you, $loguser[name], for deleting the post.
".redirect("thread.php?id=$threadid","return to the thread",0); + } + else + $txt="Couldn't delete the post. You are not allowed to delete this post.
".redirect("thread.php?id=$threadid","the thread",0); + } + print "$tblstart$tccell1>$txt$tblend"; + } + + print $footer; + printtimedif($startingtime); +?> \ No newline at end of file diff --git a/editprofile.php b/editprofile.php new file mode 100644 index 0000000..5dc5bbd --- /dev/null +++ b/editprofile.php @@ -0,0 +1,286 @@ +
'); + if($banned) errorpage('Sorry, but banned users aren\'t allowed to edit their profile.'); + if($loguser['profile_locked'] == 1) { + errorpage("You are not allowed to edit your profile."); + } + if($loguser['posts']>=500 or ($loguser[posts]>=250 && (ctime()-$loguser[regdate])>=100*86400)) $postreq=1; + if($loguser['titleoption']==0 || $banned) $titleopt=0; + if($loguser['titleoption']==1 && ($postreq or $power>0 or $loguser[title])) $titleopt=1; + if($loguser['titleoption']==2) $titleopt=1; + if(!$action){ + $birthday=getdate($loguser['birthday']); + if($loguser['birthday']){ + $month=$birthday['mon']; + $day=$birthday['mday']; + $year=$birthday['year']; + } + + if ($loguser['sex'] == 255) + $loguser['sex'] = $loguser['oldsex']; + + $descbr="$smallfont
 "; + $checked1[$loguser['sex']]='checked=1'; + $checked2[$loguser['viewsig']]='checked=1'; +// $checked3[$loguser['posttool']]='checked=1'; + $checked4[$loguser['useranks']]='checked=1'; + $checked5[$loguser['pagestyle']]='checked=1'; + $checked6[$loguser['pollstyle']]='checked=1'; + $sexlist=" + $radio=sex value=0 $checked1[0]> Male    + $radio=sex value=1 $checked1[1]> Female    + $radio=sex value=2 $checked1[2]> N/A"; + if ($loguser['sex'] > 2) + $sexlist .= "$radio=sex value=$loguser[sex] checked style=\"display:none;\">"; + + $vsig=" + $radio=viewsig value=0 $checked2[0]> Disabled    + $radio=viewsig value=1 $checked2[1]> Enabled    + $radio=viewsig value=2 $checked2[2]> Auto-updating"; +// $vtool=" +// $radio=posttool value=0 $checked3[0]> Disabled    +// $radio=posttool value=1 $checked3[1]> Enabled"; + $pagestyle=" + $radio=pagestyle value=0 $checked5[0]> Inline    + $radio=pagestyle value=1 $checked5[1]> Seperate line"; + $pollstyle=" + $radio=pollstyle value=0 $checked6[0]> Normal    + $radio=pollstyle value=1 $checked6[1]> Influence"; + if($titleopt){ + // this went after this block, which makes it COMPLETELY USELESS + squot(0,$loguser[title]); + $titleoption=" + $tccell1>Custom title:$descbr This title will be shown below your rank. + $tccell2l>$inpt=title VALUE=\"$loguser[title]\" SIZE=60 MAXLENGTH=255> + "; + } + $loguser['minipic'] = htmlspecialchars($loguser['minipic'], ENT_QUOTES); + $loguser['picture'] = htmlspecialchars($loguser['picture'], ENT_QUOTES); + $loguser['moodurl'] = htmlspecialchars($loguser['moodurl'], ENT_QUOTES); + squot(0,$loguser['realname']); +// squot(0,$loguser['aka']); + squot(0,$loguser['location']); +// squot(1,$loguser['aim']); +// squot(1,$loguser['imood']); + squot(0,$loguser['email']); +// squot(1,$loguser['homepageurl']); + squot(0,$loguser['homepagename']); + sbr(1,$loguser['postheader']); + sbr(1,$loguser['signature']); + sbr(1,$loguser['bio']); + + $schemes=$sql->query('SELECT s.id as id, s.name, COUNT(u.scheme) as used FROM schemes s LEFT JOIN users u ON (u.scheme = s.id) WHERE ord > 0 GROUP BY u.scheme ORDER BY s.ord'); + while($sch=$sql->fetch($schemes)){ + $sel=($sch['id']==$loguser['scheme']?' selected':''); + $schlist.="