First (real) commit... I hope.
56
.gitignore
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
# Jul-specific redirect + errors
|
||||
board/
|
||||
errors/
|
||||
|
||||
# Random crap we don't need
|
||||
images/*.*
|
||||
images/*/
|
||||
|
||||
# External 'plugins' (if you could get away with that name)
|
||||
ext/
|
||||
irc/
|
||||
|
||||
# Themeing
|
||||
numgfx/
|
||||
|
||||
|
||||
# Trade secrets
|
||||
lib/config.php
|
||||
lib/firewall.php
|
||||
|
||||
|
||||
irc.php
|
||||
|
||||
# Thread "unread count" and reply buttons
|
||||
!numgfx/jul/
|
||||
!images/new*.png
|
||||
!images/threadclosed.png
|
||||
|
||||
# Thread state indicators
|
||||
!images/hot.gif
|
||||
!images/new.gif
|
||||
!images/off.gif
|
||||
!images/hotoff.gif
|
||||
!images/hotnew.gif
|
||||
!images/offnew.gif
|
||||
!images/offhotnew.gif
|
||||
|
||||
# Default scheme stuff
|
||||
!images/jul/
|
||||
|
||||
# New reply toolbar (not that it works)
|
||||
!images/toolbar/
|
||||
|
||||
|
||||
# Thread icons
|
||||
!images/coin*
|
||||
!images/icons
|
||||
|
||||
|
||||
# Smilies
|
||||
!images/smilies/
|
||||
|
||||
|
||||
# Misc
|
||||
!images/rpg/
|
||||
|
41
.htaccess
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
ErrorDocument 403 /errors/403.html
|
||||
ErrorDocument 404 /errors/404.html
|
||||
ErrorDocument 500 /errors/500.html
|
||||
|
||||
Order Allow,Deny
|
||||
Allow from all
|
||||
|
||||
## Uncommenting these causes some weird lag problem
|
||||
## As does adding any other Deny lines
|
||||
#
|
||||
#Deny from 82.32.71.191 # Arbe
|
||||
#Deny from 99.233.36.5 # Various #nobodysworld morons
|
||||
##Deny from 97.92.177.104 # |
|
||||
#Deny from 68.35.135.91 # |
|
||||
#Deny from 68.10.71.220 # Legion, etc
|
||||
#Deny from 208.53.157.23 # +---------------------------
|
||||
#
|
||||
#Deny from 98.130.2.16 # Another hacker wannabe
|
||||
##Deny from 75.161.101.58
|
||||
#
|
||||
#Deny from 193.200.150.23 # Anonymouse
|
||||
#Deny from 85.17.174.196 # moron
|
||||
#Deny from 74.63.84.68 # |
|
||||
#Deny from 209.17.190.78 # |
|
||||
#Deny from 72.36.147.170 # |
|
||||
#Deny from 66.90.104.89 # |
|
||||
#Deny from 67.159.44.103 # |
|
||||
#Deny from 87.229.73.174 # |
|
||||
#Deny from 91.111.40.97 # |
|
||||
#
|
||||
#Deny from 86.137.143.9 # Arbe
|
||||
#Deny from 200.26.114.131 # |
|
||||
#Deny from 77.98.129.123 # |
|
||||
#Deny from 216.246.0.146 # |
|
||||
#Deny from 196.32.195.125 # |
|
||||
#Deny from 67.220.202.107 # |
|
||||
#Deny from 82.32.64.54 # |
|
||||
#Deny from 67.228.159.181 # |
|
||||
##Deny from
|
||||
#
|
146
acs.php
Normal file
@ -0,0 +1,146 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
$vd=date('m-d-y', ctime());
|
||||
if (!$m && !$d && !$y) {
|
||||
$m = date("m", ctime() - 86400);
|
||||
$d = date("d", ctime() - 86400);
|
||||
$y = date("y", ctime() - 86400);
|
||||
}
|
||||
if(!$v){
|
||||
$v=0;
|
||||
$dd = mktime(0,0,0,substr($vd,0,2),substr($vd,3,2),substr($vd,6,2));// + (3*3600);
|
||||
$dd2 = mktime(0,0,0,substr($vd,0,2),substr($vd,3,2)+1,substr($vd,6,2));// + (3*3600);
|
||||
}else{
|
||||
$dd = mktime(0,0,0,$m,$d,$y);// + (3*3600);
|
||||
$dd2 = mktime(0,0,0,$m,$d+1,$y);// + (3*3600);
|
||||
}
|
||||
|
||||
|
||||
$users = mysql_query("SELECT u.id,u.name,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=1;
|
||||
if($u==1) $n = $loguser[name];
|
||||
if($u==2) $n = $user;
|
||||
if(!$view || $view <= 0 || $view > 2) $view=0;
|
||||
$ch1[$v] = 'checked';
|
||||
$ch2[$u] = 'checked';
|
||||
$ch3[$view] = 'checked';
|
||||
$tposts = mysql_result(mysql_query("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="</b><br>$smallfont";
|
||||
print "
|
||||
$header
|
||||
<br><form action=acs.php>
|
||||
$tblstart
|
||||
$tccellh colspan=2>Currently viewing ".date('m-d-y',$dd)."<tr>
|
||||
$tccell1><b>Day:$desc Select the day to view rankings from. (mm-dd-yy format)</td>
|
||||
$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><tr>
|
||||
$tccell1><b>User:$desc This user will be highlighted.</td>
|
||||
$tccell2l>$radio=u value=0 $ch2[0]> None $radio=u value=1 $ch2[1]> You $radio=u value=2 $ch2[2]> Other: $inpt=user VALUE=\"$user\" SIZE=25 MAXLENGTH=25><tr>
|
||||
$tccell1><b>View format:</b></td>
|
||||
$tccell2l>$radio=view value=0 $ch3[0]> Full rankings $radio=view value=1 $ch3[1]> Rankers $radio=view value=2 $ch3[2]> JCS form<tr>
|
||||
$tccell1> </td>
|
||||
$tccell2l><input type=submit value=Submit>
|
||||
$tblend
|
||||
</form>
|
||||
$tblstart
|
||||
";
|
||||
$max=1;
|
||||
if($view<2){
|
||||
print "
|
||||
$tccellh width=30>#</td>
|
||||
$tccellh>Name</td>
|
||||
$tccellh width=50>Posts
|
||||
$tccellh>Total: $tposts
|
||||
";
|
||||
while($user=mysql_fetch_array($users)){
|
||||
if($user[cnt]>$max) $max=$user[cnt];
|
||||
$i++;
|
||||
if($rp!=$user[cnt]) $r=$i;
|
||||
$rp=$user[cnt];
|
||||
if($rr<=$rcount && $r>$rcount && $view==0) print "<tr>$tccellc colspan=4><img src='images/_.gif' height='4' width='1'></td>";
|
||||
$rr=$r;
|
||||
$b='';
|
||||
$td=$tccell1;
|
||||
|
||||
if($r>$rcount) $td=$tccell2;
|
||||
if($user[name]==$n){
|
||||
$td=$tccellc;
|
||||
$b='<b>';
|
||||
}
|
||||
|
||||
$tdl=str_replace(' center','',$td);
|
||||
if($view==0 or ($view==1 and ($r<=$rcount or $n==$user[name]))) {
|
||||
print "
|
||||
<tr>
|
||||
$td>$b$r</b></td>
|
||||
$tdl><a href=profile.php?id=$user[id]><font ".getnamecolor($user[sex],$user[powerlevel]).">". (!$_GET['dur'] ? $user[name] : "DU". str_repeat("R", mt_rand(1,25))) ."</font></a></td>
|
||||
$td>$b$user[cnt]</b></td>
|
||||
$tdl><img src=images/$numdir"."bar-on.gif width=".($user[cnt]*100/$max)."% height=8>
|
||||
";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$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=mysql_fetch_array($users) and $r <= $rcount){
|
||||
$i++;
|
||||
if($rp!=$user[cnt]){
|
||||
$r=$i;
|
||||
if($tend) $tie='';
|
||||
if($tie) $tend=1;
|
||||
}else{
|
||||
$tie='T';
|
||||
$tend=0;
|
||||
}
|
||||
$posts[$user[id]]=$user[cnt];
|
||||
$ry=$ranky[$user[id]];
|
||||
if(!$ry) $ry='NR';
|
||||
$rp=$user[cnt];
|
||||
$dailyposts .= $tie . $ndailyposts;
|
||||
$dailypoints .= $tie . $ndailypoints;
|
||||
// $ndailyposts = "$tie$r) ". $user['name'] ." - ". $user['cnt'] ." - ". ($spoints - $r) ."<br>";
|
||||
// $ndailyposts = "$tie$r) ". $user['name'] ." - ". $user['cnt'] ." - ". ($spoints - $r) ."<br>";
|
||||
$ndailyposts = "$r) ". $user['name'] ." - ". $user['cnt'] ."<br>";
|
||||
$ndailypoints = "$r) ". $user['name'] ." - ". ($spoints - $r) ."<br>";
|
||||
}
|
||||
if($r<=$rcount){
|
||||
if($tend) $tie='';
|
||||
// $dailyposts.=$tie.$ndailyposts;
|
||||
// $dailypoints.=$tie.$ndailypoints;
|
||||
}
|
||||
$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)) ."<br>".
|
||||
"---------<br><br>".
|
||||
"TOTAL NUMBER OF POSTS: $tposts<br><br>".
|
||||
"$dailyposts<br><br>".
|
||||
"DAILY POINTS<br>".
|
||||
"--------------------<br>".
|
||||
"$dailypoints";
|
||||
}
|
||||
print $tblend.$footer;
|
||||
printtimedif($startingtime);
|
116
activeusers.php
Normal file
@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
$windowtitle = "Active users";
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
# for hacker-testing
|
||||
// $tid = "9 GROUP BY users.id un/**/ion select 1,2,3,pass/**/word,5,6,7,86 from users--";
|
||||
|
||||
$posttime = intval($_GET['posttime']);
|
||||
|
||||
if($posttime < 1) $posttime=86400;
|
||||
|
||||
$query='SELECT users.id, regdate, name, minipic, sex, powerlevel, COUNT(*) AS cnt FROM users';
|
||||
$endp=' GROUP BY users.id ORDER BY cnt DESC';
|
||||
|
||||
if ($type == 'thread') {
|
||||
$posters = $sql-> query("$query, threads WHERE threads.user=users.id$endp");
|
||||
$desc = "Most active thread posters";
|
||||
$column = "Threads";
|
||||
$column2 = "threads";
|
||||
|
||||
} elseif ($type == 'pm') {
|
||||
$posters = $sql-> query("$query, pmsgs WHERE pmsgs.userto=$loguserid AND pmsgs.userfrom=users.id$endp");
|
||||
$desc = "PMs recieved from";
|
||||
$column = "PMs";
|
||||
$column2 = "PMs";
|
||||
|
||||
} elseif ($type == 'pms') {
|
||||
$posters = $sql-> query("$query, pmsgs WHERE pmsgs.userfrom=$loguserid AND pmsgs.userto=users.id$endp");
|
||||
$desc = "PMs sent to";
|
||||
$column = "PMs";
|
||||
$column2 = "PMs";
|
||||
|
||||
} else {
|
||||
$posters = $sql-> query("$query, posts WHERE posts.user=users.id". ($tid ? " AND thread='$tid'" : '') ." AND posts.date> '". (ctime() - $posttime) ."'". $endp);
|
||||
$desc = "Most active users during the last ". timeunits2($posttime);
|
||||
$column = "Posts";
|
||||
$column2 = "posts";
|
||||
}
|
||||
|
||||
$link='<a href=?posttime';
|
||||
print "
|
||||
$header
|
||||
$tblstart
|
||||
<td align=left width=50%>$smallfont
|
||||
Show most active posters in the:
|
||||
<br>$link=3600>last hour</a> - $link=86400>last day</a> - $link=604800>last week</a> - $link=2592000>last 30 days</a>
|
||||
</td><td width=50% align=right>$smallfont
|
||||
Most active users by:<br>
|
||||
<a href=\"?type=thread\">new threads</a> - <a href=\"?type=pms\">PMs sent by you</a> - <a href=\"?type=pm\">PMs sent to you</a></td></tr>
|
||||
$tblend
|
||||
";
|
||||
|
||||
|
||||
if ($loguser["powerlevel"] >= 1 && false) {
|
||||
// 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
|
||||
<tr>$tccellh colspan=2>Staff vs. Normal User Posts</tr>
|
||||
<tr>$tccell1>$pcounts[posts_staff]</td>$tccell1>$pcounts[posts_users]</td></tr>
|
||||
<tr>$tccell2 colspan=2>The ratio for staff posts to normal user posts is ".round($pcounts["posts_staff"]/$pcounts["posts_users"],3).".</td></tr>
|
||||
<tr>$tccell2 colspan=2>Not included were the ".abs($pcounts[posts_banned])." posts shat out by a collective of morons. Depressing.</td></tr>
|
||||
$tblend
|
||||
<br>
|
||||
";
|
||||
}
|
||||
print "
|
||||
$tblstart
|
||||
<tr>$tccellc colspan=6><b>$desc</b></td></tr>
|
||||
<tr>
|
||||
$tccellh width=30>#</td>
|
||||
$tccellh colspan=2>Username</td>
|
||||
$tccellh width=200>Registered on</td>
|
||||
$tccellh width=130 colspan=2>$column</td>
|
||||
";
|
||||
|
||||
$totla = 0;
|
||||
for($i=1; $user = $sql -> fetch($posters); $i++) {
|
||||
|
||||
if($i == 1) $max = $user['cnt'];
|
||||
if ($user['cnt'] != $oldcnt) $rank = $i;
|
||||
$oldcnt = $user['cnt'];
|
||||
$namecolor=getnamecolor($user['sex'],$user['powerlevel']);
|
||||
print "
|
||||
<tr>
|
||||
$tccell1>$rank</td>
|
||||
$tccell1 width=16>". ($user['minipic'] ? "<img src=\"". htmlspecialchars($user['minipic']) ."\" width=16 height=16>" : " ") ."</td>
|
||||
$tccell2l><a href=\"profile.php?id=". $user['id'] ."\"><font $namecolor>". $user['name'] ."</font></a></td>
|
||||
$tccell1>".date($dateformat, $user['regdate'] + $tzoff) ."</td>
|
||||
$tccell2 width=30><b>". $user['cnt'] ."</b></td>
|
||||
$tccell2 width=100>". number_format($user['cnt'] / $max * 100, 1) ."%<br><img src=images/minibar.png width=\"". number_format($user['cnt'] / $max * 100) ."%\" align=left height=3> </td>
|
||||
</tr>";
|
||||
|
||||
$total += $user['cnt'];
|
||||
}
|
||||
|
||||
print "
|
||||
<tr>
|
||||
$tccellc colspan=6>". ($i - 1) ." users, $total $column2</td>
|
||||
</tr>
|
||||
";
|
||||
print $tblend.$footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
114
admin-threads.php
Normal file
@ -0,0 +1,114 @@
|
||||
<?php
|
||||
|
||||
$windowtitle = "Thread Repair System";
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
print "$header<br>";
|
||||
|
||||
if (!$isadmin) {
|
||||
|
||||
print "
|
||||
$tblstart
|
||||
$tccell1>This feature is restricted.</td>
|
||||
$tblend
|
||||
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
print adminlinkbar("admin-threads.php");
|
||||
|
||||
if (!$_POST['run']) {
|
||||
print "<form action=\"admin-threads.php\" method=\"post\">
|
||||
$tblstart
|
||||
<tr>$tccellh>Thread Repair System</td></tr>
|
||||
<tr>$tccell1>
|
||||
<br>This page is intended to repair threads with broken reply counts. Please don't flood it with requests.
|
||||
<br>This problem causes \"phantom pages\" (e.g., too few or too many pages displayed).
|
||||
<br>
|
||||
<br>$inps=\"run\" value=\"Start\">
|
||||
<br>
|
||||
</td></tr>
|
||||
$tblend
|
||||
</form>
|
||||
";
|
||||
} else {
|
||||
|
||||
print "
|
||||
$tblstart
|
||||
<tr>$tccellh>Thread Repair System</td></tr>
|
||||
<tr>$tccell1>Now running.
|
||||
</td></tr>
|
||||
$tblend
|
||||
<br>
|
||||
$tblstart
|
||||
<tr>
|
||||
$tccellh>id#</td>
|
||||
$tccellh>Name</td>
|
||||
$tccellh>Reports</td>
|
||||
$tccellh>Real</td>
|
||||
$tccellh>Err</td>
|
||||
$tccellh>Status</td>
|
||||
</tr>
|
||||
";
|
||||
|
||||
$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 = "<font color=\"#ff8080\">First post missing or otherwise broken</font>";
|
||||
// $data['offset'] = " ";
|
||||
}
|
||||
|
||||
if (!$status) {
|
||||
$status = mysql_query("UPDATE `threads` SET `replies` = '". ($data['real'] - 1) ."' WHERE `id` = '". $data['thread'] ."'") or "<font color=#ff0000>Error</font>: ". mysql_error();
|
||||
if ($status == 1) $status = "<font color=#80ff80>Updated</font>";
|
||||
// $status = "Not updated";
|
||||
$count++;
|
||||
}
|
||||
|
||||
print "
|
||||
<tr>
|
||||
$tccell1>". $data['thread'] ."</td>
|
||||
$tccell2l><a href=\"thread.php?id=". $data['thread'] ."\">". $data['threadname'] ."</a></td>
|
||||
$tccell1r>". $data['replies'] ."</td>
|
||||
$tccell1r>". $data['real'] ."</td>
|
||||
$tccell2r><b>". $data['offset'] ."</b></td>
|
||||
$tccell1l>$status</td>
|
||||
</tr>";
|
||||
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($count) {
|
||||
print "<tr>$tccellc colspan=6>$count thread". ($count != 1 ? "s" : "") ." updated.</td></tr>";
|
||||
} else {
|
||||
|
||||
print " <tr>$tccell1 colspan=6>
|
||||
<br>No problems found.
|
||||
<br>
|
||||
</td></tr>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print "$tblend
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
?>
|
108
admin-threads2.php
Normal file
@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
$windowtitle = "Thread Repair System II";
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
print "$header<br>";
|
||||
|
||||
if (!$isadmin) {
|
||||
|
||||
print "
|
||||
$tblstart
|
||||
$tccell1>This feature is restricted.</td>
|
||||
$tblend
|
||||
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
die();
|
||||
}
|
||||
|
||||
print adminlinkbar("admin-threads2.php");
|
||||
|
||||
if (!$_POST['run']) {
|
||||
print "<form action=\"admin-threads2.php\" method=\"post\">
|
||||
$tblstart
|
||||
<tr>$tccellh>Thread Repair System II</td></tr>
|
||||
<tr>$tccell1>
|
||||
<br>This page is intended to repair threads with broken 'last reply' times/users.
|
||||
<br>This problem causes bumped threads that shouldn't be, especially with badly deleted posts.
|
||||
<br>
|
||||
<br>$inps=\"run\" value=\"Start\">
|
||||
<br>
|
||||
</td></tr>
|
||||
$tblend
|
||||
</form>
|
||||
";
|
||||
} else {
|
||||
|
||||
print "
|
||||
$tblstart
|
||||
<tr>$tccellh>Thread Repair System II</td></tr>
|
||||
<tr>$tccell1>Now running.
|
||||
</td></tr>
|
||||
$tblend
|
||||
<br>
|
||||
$tblstart
|
||||
<tr>
|
||||
$tccellh>id#</td>
|
||||
$tccellh>Name</td>
|
||||
$tccellh>Reported Date</td>
|
||||
$tccellh>Real Date</td>
|
||||
$tccellh>Difference</td>
|
||||
$tccellh>Status</td>
|
||||
</tr>
|
||||
";
|
||||
|
||||
|
||||
|
||||
$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 = "<font color=#ff8888>Broken thread</font>";
|
||||
} 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 "<font color=#ff0000>Error</font>: ". mysql_error();
|
||||
if ($status == 1) $status = "<font color=#80ff80>Updated</font>";
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($status) {
|
||||
|
||||
print "
|
||||
<tr>
|
||||
$tccell1>". $data['id'] ."</td>
|
||||
$tccell2l><a href=\"thread.php?id=". $data['id'] ."\">". $data['title'] ."</a></td>
|
||||
$tccell1>". ($data['lastpostdate'] ? date($dateformat, $data['lastpostdate'] + $tzoff) : "-") ."</td>
|
||||
$tccell1>". ($data['realdate'] ? date($dateformat, $data['realdate'] + $tzoff) : "-") ."</td>
|
||||
$tccell1>". timeunits2($data['lastpostdate'] - $data['realdate']) ."</td>
|
||||
$tccell2l>$status</td>
|
||||
</tr>";
|
||||
}
|
||||
}
|
||||
|
||||
if ($count) {
|
||||
print "<tr>$tccellc colspan=6>$count thread". ($count != 1 ? "s" : "") ." updated.</td></tr>";
|
||||
} else {
|
||||
print "<tr>$tccellc colspan=6>Nothing to repair.</td></tr>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print "$tblend
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
?>
|
122
admin.php
Normal file
@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
require 'lib/function.php';
|
||||
$windowtitle = "Admin Cruft -- $boardname";
|
||||
require 'lib/layout.php';
|
||||
|
||||
print "$header<br>";
|
||||
|
||||
if (!$isadmin) {
|
||||
|
||||
print "
|
||||
$tblstart
|
||||
$tccell1>Uh oh, you are not the admin go away.</td>
|
||||
$tblend
|
||||
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
$misc = $sql -> fetchq("SELECT * FROM `misc`");
|
||||
|
||||
print adminlinkbar("admin.php") ."
|
||||
$tblstart
|
||||
<tr>$tccellh><b>Panel de Admin<br></td></tr>
|
||||
<tr>$tccell1>
|
||||
<br>Under construction for
|
||||
<br><b>". timeunits2(time() - mktime(19, 20, 21, 9, 27, 2007)) ."</b>
|
||||
<br>...and counting!
|
||||
<br>
|
||||
</td></tr>
|
||||
$tblend
|
||||
|
||||
<br>
|
||||
|
||||
<form action='admin.php' method='post'>
|
||||
$tblstart
|
||||
<tr>$tccellh colspan=2><b>Setting up the Soft Dip</b></td></tr>
|
||||
<tr>$tccellc colspan=2>Board settings</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>". $statusicons['hot'] ." threshold</b></td>
|
||||
$tccell2l> $inpt='hotcount' value='". $misc['hotcount'] ."' class='right'> replies
|
||||
$inph='hotcount_' value='". $misc['hotcount'] ."'>
|
||||
</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>Disable forum?</b></td>
|
||||
$tccell2l> $inpc='disable' value='1'> Disable
|
||||
</td></tr>
|
||||
|
||||
|
||||
<tr>$tccellc colspan=2>Records</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>View count</b></td>
|
||||
$tccell2l> $inpt='views' value='". $misc['views'] ."' class='right'> views
|
||||
$inph='views' value='". $misc['views'] ."'>
|
||||
</td></tr>
|
||||
|
||||
|
||||
<tr>$tccell1 width='200'><b>Max posts/day</b></td>
|
||||
$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'] ."'>
|
||||
</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>Max posts/hour</b></td>
|
||||
$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'] ."'>
|
||||
</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>Most users online</b></td>
|
||||
$tccell2l> $inpt='maxusers' value='". $misc['maxusers'] ."' class='right'> users, at $inpt='maxusersdate' value='". $misc['maxusersdate'] ."' class='right'>
|
||||
<br>$inpc='maxusersreset' value='1'> Reset user list
|
||||
$inph='maxusers' value='". $misc['maxusers'] ."'>$inph='maxusersdate' value='". $misc['maxusersdate'] ."'>
|
||||
</td></tr>
|
||||
|
||||
|
||||
<tr>$tccellc colspan=2><img src=\"images/ihateglennbeckbutistillthinkthisimagefitsquitenicelyundertheadminpanelmoneycounter.jpg\" title=\"longest file name ever\"><br>Monetary settings</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>Donations</b></td>
|
||||
$tccell2l> $inpt='donations' value='". sprintf("%01.2f", $misc['donations']) ."' class='right'>$
|
||||
$inph='donations' value='". sprintf("%01.2f", $misc['donations']) ."'>
|
||||
</td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'><b>$$$ Ads $$$</b></td>
|
||||
$tccell2l> $inpt='ads' value='". sprintf("%01.2f", $misc['ads']) ."' class='right'>$
|
||||
$inph='ads' value='". sprintf("%01.2f", $misc['ads']) ."'>
|
||||
</td></tr>
|
||||
|
||||
|
||||
<tr>$tccellc colspan=2> </td></tr>
|
||||
|
||||
<tr>$tccell1 width='200'> </td>
|
||||
$tccell2l> $inps='submit' value='Submit changes'>
|
||||
<br><s><strong>(Only saves the money settings though.)</strong></s> just kidding, it doesn't work.
|
||||
</td></tr>
|
||||
|
||||
|
||||
$tblend
|
||||
</form>
|
||||
|
||||
";
|
||||
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
207
announcement.php
Normal file
@ -0,0 +1,207 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
if(!$f) $f=0;
|
||||
if(@mysql_num_rows(mysql_query("SELECT user FROM forummods WHERE forum=$f and user=$loguserid"))) $ismod=1;
|
||||
$canpost=($isadmin or ($ismod && $f>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.=" <a href=announcement.php?f=$f&page=$i>".($i+1).'</a>';
|
||||
}
|
||||
$annclist="$tccellh width=150>User</td>$tccellh colspan=2>Announcement<tr>";
|
||||
while($annc=mysql_fetch_array($anncs)){
|
||||
if($annccount) $annclist.='<tr>';
|
||||
$annccount++;
|
||||
$bg=$bg%2+1;
|
||||
$edit=' ';
|
||||
if($isadmin or ($ismod && $f)){
|
||||
$edit="<a href=announcement.php?id=$annc[0]&action=edit>Edit</a> | <a href=announcement.php?id=$annc[0]&action=delete&f=$f>Delete</a>";
|
||||
if($isadmin) $ip=" | IP: $annc[3]";
|
||||
}
|
||||
if($loguser[viewsig]==2){
|
||||
$annc[headtext]=$annc[postheader];
|
||||
$annc[signtext]=$annc[signature];
|
||||
}
|
||||
$annc[text]="<center><b>$annc[atitle]</b></center><hr>$annc[text]";
|
||||
$annclist.=threadpost($annc,$bg);
|
||||
}
|
||||
}
|
||||
if($canpost){
|
||||
if($_GET[action]=='delete'){
|
||||
mysql_query("DELETE FROM announcements WHERE id=$id");
|
||||
$annclist.="
|
||||
$tccell1>Announcement deleted.
|
||||
<br>".redirect("announcement.php?f=$f",'return to the announcements',0);
|
||||
}
|
||||
if($_GET[action]=='new'){
|
||||
if($log){
|
||||
$username=htmlspecialchars($loguser[name]);
|
||||
$password=$logpassword;
|
||||
}
|
||||
$annclist="
|
||||
<FORM ACTION=announcement.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>User name:</b></td> $tccell2l>$inpt=username VALUE=\"$username\" SIZE=25 MAXLENGTH=25><tr>
|
||||
$tccell1><b>Password:</b></td> $tccell2l>$inpp=password VALUE=\"$password\" SIZE=13 MAXLENGTH=32><tr>
|
||||
$tccell1><b>Announcement title:</b></td>$tccell2l>$inpt=subject SIZE=70 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Announcement:</b></td> $tccell2l>$txta=message ROWS=20 COLS=$numcols></TEXTAREA><tr>
|
||||
$tccell1> </td> $tccell2l>$inph=action VALUE=postannc>$inph=f VALUE=$f>
|
||||
$inps=submit VALUE=\"Post announcement\">
|
||||
$inps=preview VALUE=\"Preview announcement\"></td></FORM>
|
||||
";
|
||||
}
|
||||
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="
|
||||
<FORM ACTION=announcement.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Announcement title:</b></td>$tccell2l>$inpt=subject VALUE=\"$annc[title]\" SIZE=70 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Header:</b></td> $tccell2l>$txta=head ROWS=8 COLS=$numcols>$head</TEXTAREA><tr>
|
||||
$tccell1><b>Announcement:</b></td> $tccell2l>$txta=message ROWS=12 COLS=$numcols>$annc[text]</TEXTAREA><tr>
|
||||
$tccell1><b>Signature:</b></td> $tccell2l>$txta=sign ROWS=8 COLS=$numcols>$sign</TEXTAREA><tr>
|
||||
$tccell1> </td> $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\"></td></FORM>
|
||||
";
|
||||
}
|
||||
if($_POST[action]=='postannc'){
|
||||
$userid=checkuser($username,$password);
|
||||
$user=@mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id=$userid"));
|
||||
if($userid!=-1){
|
||||
$sign=$user[signature];
|
||||
$head=$user[postheader];
|
||||
if($user[postbg]) $head="<div style=background:url($user[postbg]);height=100%>$head";
|
||||
$numposts=$user[posts];
|
||||
$numdays=(ctime()-$user[regdate])/86400;
|
||||
$message=doreplace($message,$numposts,$numdays,$username);
|
||||
$rsign=doreplace($sign,$numposts,$numdays,$username);
|
||||
$rhead=doreplace($head,$numposts,$numdays,$username);
|
||||
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.<br>
|
||||
".redirect("announcement.php?f=$f","the announcements",0)."</table></table>";
|
||||
}else{
|
||||
loadtlayout();
|
||||
$ppost=$user;
|
||||
$ppost[uid]=$userid;
|
||||
$ppost[date]=$currenttime;
|
||||
$ppost[headtext]=$rhead;
|
||||
$ppost[signtext]=$rsign;
|
||||
$ppost[text]="<center><b>". stripslashes($subject) ."</b></center><hr>". stripslashes($message);
|
||||
if($isadmin) $ip=$userip;
|
||||
$annclist="
|
||||
<body onload=window.document.REPLIER.message.focus()>
|
||||
$tccellh>Announcement preview
|
||||
$tblend$tblstart
|
||||
".threadpost($ppost,1)."
|
||||
$tblend<br>$tblstart
|
||||
<FORM ACTION=announcement.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Announcement title:</td>$tccell2l>$inpt=subject SIZE=70 MAXLENGTH=100 VALUE=\"". stripslashes($subject) ."\"><tr>
|
||||
$tccell1><b>Announcement:</td> $tccell2l>$txta=message ROWS=10 COLS=$numcols>". stripslashes($message) ."</TEXTAREA><tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inps=submit VALUE=\"Submit announcement\">
|
||||
$inps=preview VALUE=\"Preview announcement\">
|
||||
$inph=username VALUE=\"".htmlspecialchars($username)."\">
|
||||
$inph=password VALUE=\"$password\">
|
||||
$inph=action VALUE=postannc>
|
||||
$inph=f VALUE=$f>
|
||||
</td></FORM>
|
||||
";
|
||||
}
|
||||
}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]);
|
||||
if($submit){
|
||||
$edited.="(edited by $loguser[name] on ".date("m-d-y h:i A",ctime()).")<br>";
|
||||
$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',headid=$headid,signid=$signid WHERE id=$id");
|
||||
$annclist="
|
||||
$tccell1>Thank you, ".$loguser[name].", for editing the announcement.<br>
|
||||
".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]="<center><b>$subject</b></center><hr>$message";
|
||||
if($isadmin) $ip=$annc[ip];
|
||||
$annclist="
|
||||
<body onload=window.document.REPLIER.message.focus()>
|
||||
$tccellh>Announcement preview
|
||||
$tblend$tblstart
|
||||
".threadpost($ppost,1)."
|
||||
$tblend<br>$tblstart
|
||||
<FORM ACTION=announcement.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Announcement title:</b></td>$tccell2l>$inpt=subject VALUE=\"$subject\" SIZE=70 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Header:</td> $tccell2l>$txta=head ROWS=4 COLS=$numcols>$head</TEXTAREA><tr>
|
||||
$tccell1><b>Announcement:</td> $tccell2l>$txta=message ROWS=6 COLS=$numcols>$message</TEXTAREA><tr>
|
||||
$tccell1><b>Signature:</td> $tccell2l>$txta=sign ROWS=4 COLS=$numcols>$sign</TEXTAREA><tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inps=submit VALUE=\"Edit announcement\">
|
||||
$inps=preview VALUE=\"Preview announcement\">
|
||||
$inph=action VALUE=editannc>
|
||||
$inph=id VALUE=$id>
|
||||
$inph=f VALUE=$f>
|
||||
</td></FORM>
|
||||
";
|
||||
}
|
||||
}
|
||||
$postnew="<a href=announcement.php?action=new&f=$f>Post new announcement</a>";
|
||||
}
|
||||
print "$header
|
||||
<table width=100%><td align=left>$fonttag<a href=index.php>$boardname</a> - Announcements</td><td align=right>$smallfont$postnew</table>
|
||||
$pagelinks$tblstart$annclist$tblend$pagelinks$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
?>
|
36
badposts.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
include "lib/function.php";
|
||||
include "lib/layout.php";
|
||||
|
||||
print "$header
|
||||
<br>
|
||||
$tblstart
|
||||
$tccell1> <br>If you can't restore your original post, <i>delete it</i>. Any posts not fixed will be deleted in a few days.<br> </td>
|
||||
$tblend
|
||||
<br>
|
||||
|
||||
$tblstart";
|
||||
|
||||
$z = "SELECT `p`.`pid`, `u`.`id`, `u`.`name`, `u`.`powerlevel`, `u`.`sex` FROM `posts_text` p LEFT JOIN `posts` p2 ON `p`.`pid` = `p2`.`id` LEFT JOIN `users` u ON `u`.`id` = `p2`.`user` WHERE `p`.`headtext` = 'COCKS'";
|
||||
$sql = mysql_query($z);
|
||||
|
||||
print "<tr>$tccellc colspan=2>". mysql_num_rows($sql) ." posts remaining</td></tr>
|
||||
<tr>$tccellh>PostID</td>$tccellh>Username</td></tr>";
|
||||
|
||||
while($post = mysql_fetch_array($sql, MYSQL_ASSOC)) {
|
||||
|
||||
if ($loguser['id'] == $post['id']) {
|
||||
$tablecell = $tccellc;
|
||||
} else {
|
||||
$tablecell = $tccell1;
|
||||
}
|
||||
|
||||
print "<tr>$tablecell><a href=\"thread.php?pid=". $post['pid'] ."&r=1#". $post['pid'] ."\">". $post['pid'] ."</a></td>$tablecell><a href=\"profile.php?id=\"". $post['id'] ."\"><font ". getnamecolor($post['sex'], $post['powerlevel']) .">". $post['name'] ."</font></a></td></tr>";
|
||||
|
||||
}
|
||||
|
||||
|
||||
print "$tblend $footer";
|
||||
|
||||
?>
|
69
biggestposters.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
$windowtitle = "Biggest posters";
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
$sort = "waste";
|
||||
if ($_GET['order'] == "posts") $sort = "u.posts";
|
||||
elseif ($_GET['order'] == "avg") $sort = "average";
|
||||
|
||||
|
||||
$posters = $sql -> query("SELECT u.*, SUM(LENGTH(pt.`text`)) as waste, (SUM(LENGTH(pt.`text`)) / u.posts) AS average 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 ORDER BY $sort DESC");
|
||||
|
||||
print "
|
||||
$header
|
||||
|
||||
<br>
|
||||
|
||||
$tblstart
|
||||
<tr>$tccellc colspan=7><b>Biggest posters, by post size</b></td></tr>
|
||||
<tr>
|
||||
$tccellh width=30>#</td>
|
||||
$tccellh colspan=2>Username</td>
|
||||
$tccellh width=200>Registered on</td>
|
||||
$tccellh width=130><a href=\"?order=posts\">Posts</a></td>
|
||||
$tccellh width=130><a href=\"?\">Size</a></td>
|
||||
$tccellh width=130><a href=\"?order=avg\">Average</a></td>
|
||||
";
|
||||
|
||||
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 = "<font color=$col>$avgc</font>";
|
||||
|
||||
|
||||
|
||||
print "
|
||||
<tr>
|
||||
$tccell1>$rank</td>
|
||||
$tccell1 width=16>". ($user['minipic'] ? "<img src=\"". htmlspecialchars($user['minipic']) ."\" width=16 height=16>" : " ") ."</td>
|
||||
$tccell2l><a href=\"profile.php?id=". $user['id'] ."\"><font $namecolor>". $user['name'] ."</font></a></td>
|
||||
$tccell1>".date($dateformat, $user['regdate'] + $tzoff) ."</td>
|
||||
$tccell1r>". $user['posts'] ."</td>
|
||||
$tccell1r><b>". number_format($user['waste']) ."</b></td>
|
||||
$tccell2r><b>". $avgc ."</b></td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
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 <i>size</i>.)</font>
|
||||
|
||||
$footer";
|
||||
printtimedif($startingtime);
|
||||
?>
|
82
calendar.php
Normal file
@ -0,0 +1,82 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
$mn=array(1=>'January','February','March','April','May','June','July','August','September','October','November','December');
|
||||
$date=getdate(time());
|
||||
$year=$date[year];
|
||||
$month=$date[mon];
|
||||
$day=$date[mday];
|
||||
if($y) $year=$y;
|
||||
if($m){
|
||||
$month=$m;
|
||||
$day=0;
|
||||
}
|
||||
if($d) $day=$d;
|
||||
if($event){
|
||||
$event=mysql_fetch_array(mysql_query("SELECT id,d,m,y,user,title,text FROM events WHERE id=$event"));
|
||||
$month=$event[m];
|
||||
$day=$event[d];
|
||||
$year=$event[y];
|
||||
$user=mysql_fetch_array(mysql_query("SELECT name FROM users WHERE id=$event[user]"));
|
||||
$eventbox="
|
||||
$tccellh colspan=7><b>$mn[$month] $day, $year: $event[title]</b> - $user[name]<tr>
|
||||
$tccell1 colspan=7>$event[text]<tr><tr>
|
||||
";
|
||||
}
|
||||
$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=mysql_query('SELECT id,name,birthday,sex,powerlevel FROM users WHERE birthday ORDER BY name');
|
||||
while($user=mysql_fetch_array($users)){
|
||||
$date=@getdate($user[birthday]);
|
||||
if($date[mon]==$month){
|
||||
$dd=$date[mday];
|
||||
$age=$year-$date[year];
|
||||
$namecolor=getnamecolor($user[sex],$user[powerlevel]);
|
||||
$bdaytext[$dd].="<br>- <a href=profile.php?id=$user[id]><font $namecolor>$user[name]</font></a> turns $age";
|
||||
}
|
||||
}
|
||||
$events=mysql_query("SELECT id,d,title FROM events WHERE m=$month AND y=$year ORDER BY id");
|
||||
while($event1=mysql_fetch_array($events))
|
||||
$eventtext[$event1[d]].="<br>- <a href=calendar.php?event=$event1[id]>$event1[title]</a>";
|
||||
print "$header$fonttag<a href=index.php>$boardname</a> - Calendar
|
||||
$tblstart
|
||||
$eventbox
|
||||
$tccellh colspan=7><font size=5>$mn[$month] $year</font><tr>
|
||||
$tccellh width=14.3%>S</td>
|
||||
$tccellh width=14.3%>M</td>
|
||||
$tccellh width=14.3%>T</td>
|
||||
$tccellh width=14.3%>W</td>
|
||||
$tccellh width=14.3%>T</td>
|
||||
$tccellh width=14.3%>F</td>
|
||||
$tccellh width=14.2%>S<tr>";
|
||||
for(;$i<=$max;$i+=7){
|
||||
for($dn=0;$dn<=6;$dn++){
|
||||
$dd=$i+$dn;
|
||||
$daytext="<a href=calendar.php?y=$year&m=$month&d=$dd>$dd</a>";
|
||||
if($dd<1 or $dd>$max) $daytext="";
|
||||
$tccell=$tccell1l;
|
||||
$width=" width=14.3%";
|
||||
$x=" valign=top height=80><font class=fontt size=0>";
|
||||
$end="</td>";
|
||||
if($dn==0 or $dn==6) $tccell=$tccell2l;
|
||||
if($dd==$day and $day!=0) $tccell=$tccellcl;
|
||||
if($dn==6) $end='<tr>';
|
||||
print "$tccell$width$x$daytext<br>$bdaytext[$dd]$eventtext[$dd]$end";
|
||||
}
|
||||
}
|
||||
for($i=1;$i<=12;$i++){
|
||||
if($i==$month) $monthlinks.=" $i";
|
||||
else $monthlinks.=" <a href=calendar.php?y=$year&m=$i>$i</a>";
|
||||
}
|
||||
for($i=$year-2;$i<=$year+2;$i++){
|
||||
if($i==$year) $yearlinks.=" $i";
|
||||
else $yearlinks.=" <a href=calendar.php?y=$i>$i</a>";
|
||||
}
|
||||
print "<tr>
|
||||
$tccell2 colspan=7>$smallfont<center>Month:$monthlinks | Year:$yearlinks
|
||||
$tblend
|
||||
$footer";
|
||||
printtimedif($startingtime);
|
||||
?>
|
29
css/base.css
Normal file
@ -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; }
|
18
css/hydras_blue_thing.css
Normal file
@ -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; }
|
204
del.php
Normal file
@ -0,0 +1,204 @@
|
||||
<?php
|
||||
|
||||
require 'lib/function.php';
|
||||
|
||||
$allowedusers = array(
|
||||
$x_hacks['adminip'], // Xkeeper
|
||||
);
|
||||
|
||||
if (!in_array($_SERVER['REMOTE_ADDR'], $allowedusers)) die("No.");
|
||||
|
||||
|
||||
require 'lib/layout.php';
|
||||
if($_POST['deluser'] and $isadmin) { //($loguserid==1 or $loguserid==2)){
|
||||
|
||||
foreach($_POST['deluser'] as $id => $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="<br><br>===================<br>[Posted by <font $namecolor><b>". addslashes($name) ."</b></font>]<br>";
|
||||
$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<tr>$tccell1 width=120>$id</td>$tccell2l><font $namecolor><b>$user[name]</b></font></td></tr>";
|
||||
$delusercnt ++;
|
||||
}
|
||||
}
|
||||
|
||||
$deltext = "$tblstart
|
||||
<tr><td class='tbl tdbgc font center' colspan=2><b>$delusercnt user(s) deleted.</b></td></tr>$delusertext
|
||||
$tblend<br>";
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
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<br>
|
||||
|
||||
$deltext
|
||||
|
||||
<form action=del.php method=post>
|
||||
$tblstart
|
||||
<tr>$tccellh colspan=2>Sort Options</td></tr>
|
||||
<tr>$tccell1 width=300><b>User Search:</b></td>
|
||||
$tccell2l>$inpt=searchname size=30 maxlength=15 value='". $_POST['searchname'] ."'></td></tr>
|
||||
<tr>$tccell1 width=300><b>IP Search:</b></td>
|
||||
$tccell2l>$inpt=searchip size=30 maxlength=15 value='". $_POST['searchip'] ."'></td></tr>
|
||||
<tr>$tccell1 width=300><b>Show users with less than:</b></td>
|
||||
$tccell2l>$inpt=maxposts size=15 maxlength=9 value='". $_POST['maxposts'] ."'> posts</td></tr>
|
||||
<tr>$tccell1><b>Powerlevel:</b></td>
|
||||
$tccell2l><select name='sortpowerlevel'>
|
||||
<option value='aa' ". $powerselect['aa'] .">* Any powerlevel</option>
|
||||
<option value='ab' ". $powerselect['ab'] .">* All banned</option>
|
||||
<option value='s3' ". $powerselect['s3'] .">Administrator</option>
|
||||
<option value='s2' ". $powerselect['s2'] .">Moderator</option>
|
||||
<option value='s1' ". $powerselect['s1'] .">Local Moderator</option>
|
||||
<option value='s0' ". $powerselect['s0'] .">Normal User</option>
|
||||
<option value='s-1' ". $powerselect['s-1'] .">Banned</option>
|
||||
<option value='s-2' ". $powerselect['s-2'] .">Permabanned</option>
|
||||
</select></td></tr>
|
||||
<tr>$tccell1 width=300><b>Sort by:</b></td>
|
||||
$tccell2l>
|
||||
<select name='sorttype'>
|
||||
<option value='0' $sortsel[0]> Last activity </option>
|
||||
<option value='1' $sortsel[1]> Register date </option>
|
||||
<option value='2' $sortsel[2]> Posts </option>
|
||||
<option value='3' $sortsel[3]> Powerlevel </option>
|
||||
<option value='4' $sortsel[4]> IP address</option>
|
||||
</select>,
|
||||
$radio=sortord value='0' $ordsel[0]> Descending
|
||||
$radio=sortord value='1' $ordsel[1]> Ascending
|
||||
</td></tr>
|
||||
<tr>$tccell1> </td>$tccell2l><input type=submit value='Apply filters'></td></tr>
|
||||
$tblend
|
||||
</form>
|
||||
";
|
||||
|
||||
|
||||
// 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 "
|
||||
<form action=del.php method=post>
|
||||
$tblstart
|
||||
<tr><td class='tbl tdbgc font center' colspan=8><b>$usercount user(s) found.</b></td></tr>
|
||||
<tr>
|
||||
$tccellh> </td>
|
||||
$tccellh>Name</td>
|
||||
$tccellh>Posts</td>
|
||||
$tccellh>Regdate</td>
|
||||
$tccellh>Last post</td>
|
||||
$tccellh width=200>Last activity</td>
|
||||
$tccellh>Last URL</td>
|
||||
$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", "<font color=#606060>0</font>", $textid);
|
||||
$textid = str_replace("</font><font color=#606060>", "", $textid);
|
||||
|
||||
print "
|
||||
<tr>
|
||||
$tccell1><input type=checkbox name=deluser[". $user['id'] ."] value='1'>
|
||||
$tccell2l>$textid - <a href=profile.php?id=$user[id]><font $namecolor>$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 " <tr>$tccell1l colspan=8>$inps=submit value=Submit></td></tr>";
|
||||
print $tblend ."</form>". $footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
24
delpost.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
require_once 'lib/libs.php';
|
||||
print "
|
||||
$body
|
||||
<title>Delete Post</title>
|
||||
$css
|
||||
<form name=\"delpost\" action=\"editpost.php\" method=\"POST\">
|
||||
<input type=\"hidden\" name=\"id\" value=\"$pid\">
|
||||
<input type=\"hidden\" name=\"action\" value=\"delete\">
|
||||
<center>
|
||||
<table height=100% valign=middle><td>
|
||||
$tblstart
|
||||
$tccell1
|
||||
<br>
|
||||
Are you sure you want to delete this post?
|
||||
<table width=100%>
|
||||
<td><center>$inps=submit VALUE=\"Yes\"></center></td>
|
||||
<td><center>$inps=submit onClick=\"javascript:window.close();\" VALUE=\"No\"></center></td>
|
||||
</form>
|
||||
</table>
|
||||
$tblend
|
||||
</table>
|
||||
";
|
||||
?>
|
154
editmods.php
Normal file
@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
require 'lib/function.php';
|
||||
$windowtitle = "$boardname - Forum Moderators";
|
||||
require 'lib/layout.php';
|
||||
|
||||
print $header;
|
||||
|
||||
|
||||
if($isadmin) {
|
||||
|
||||
$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];
|
||||
|
||||
$admquery = "DELETE FROM forummods WHERE user='$removemoduser' AND forum='$removemodforum'";
|
||||
mysql_query($admquery);
|
||||
$err=mysql_error();
|
||||
if($err!=""){
|
||||
print "$tblstart$tccell1> ERROR: $err.";
|
||||
}
|
||||
else{
|
||||
mysql_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("editmods.php",'go back to Edit Mods',5);
|
||||
}
|
||||
break;
|
||||
case "add":
|
||||
$admquery = "INSERT INTO forummods VALUES('$addmodforum', '$addmoduser')";
|
||||
mysql_query($admquery);
|
||||
$err=mysql_error();
|
||||
if($err!=""){
|
||||
print "$tblstart$tccell1> ERROR: $err.";
|
||||
}
|
||||
else{
|
||||
mysql_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("editmods.php",'go back to Edit Mods',5);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
print "No, doofus.";
|
||||
}
|
||||
}
|
||||
|
||||
if (!$donotprint) {
|
||||
$forums=mysql_query("SELECT id,title,description,catid FROM forums ORDER BY catid");
|
||||
$fa="";
|
||||
$forumselect="<option value=\"0\">Select a forum...</option>
|
||||
";
|
||||
$forumselectforrem = "<option value=\"0|0\">Select a forum and moderator...</option>
|
||||
";
|
||||
while($forum=mysql_fetch_array($forums)){
|
||||
$m=0;
|
||||
$modlist="";
|
||||
$forumselect.="<option value=\"$forum[id]\">$forum[title]</option>";
|
||||
$mods=mysql_query("SELECT user FROM forummods WHERE forum=$forum[id]");
|
||||
if($mods){
|
||||
while($mod=mysql_fetch_array($mods)){
|
||||
$usermod=mysql_query("SELECT sex,powerlevel,name,id from users where id=$mod[user]");
|
||||
$usermod=mysql_fetch_array($usermod);
|
||||
if($m) $modlist.=", ";
|
||||
$user=$users[$mod[user]];
|
||||
$namecolor=getnamecolor($usermod[sex],$usermod[powerlevel]);
|
||||
$modlist.="
|
||||
<a href=profile.php?id=$usermod[id]><font $namecolor>$usermod[name]</font></a>";
|
||||
$forumselectforrem.="<option value=\"$forum[id]|$usermod[id]\">$forum[title] -- $usermod[name]</option>
|
||||
";
|
||||
$m++;
|
||||
}
|
||||
}
|
||||
if ($m) $fa.="
|
||||
<tr><td class='tbl tdbg2 center fonts'>$forum[id]</td>
|
||||
<td class='tbl tdbg1 center fonts'>$forum[title]</td>
|
||||
<td colspan=3 class='tbl tdbg2 left fonts'>$modlist</td></tr>
|
||||
";
|
||||
}
|
||||
|
||||
$userlist = "<option value=\"0\">Select a user...</option>
|
||||
";
|
||||
$users1=mysql_query("SELECT `id`, `name` FROM `users` WHERE `powerlevel` > '0' ORDER BY `name`");
|
||||
while($user=mysql_fetch_array($users1)){
|
||||
$users[$user[id]]=$user;
|
||||
$userlist.="<option value=$user[id]>$user[name]</option>
|
||||
";
|
||||
}
|
||||
|
||||
|
||||
print "
|
||||
|
||||
<br>$tblstart
|
||||
<tr><td class='tbl tdbgh center fonts' width=50>ID</td>
|
||||
<td class='tbl tdbgh center fonts' width=30%>Forum Name</td>
|
||||
<td class='tbl tdbgh center fonts' width=65%>Moderators</td></tr>$fa$tblend
|
||||
|
||||
<form action=\"editmods.php\" method=\"POST\">$inph=\"action\" value=\"add\"><br>$tblstart".
|
||||
/* <tr>
|
||||
$tccellh><b>$smallfont Delete a mod.</td>
|
||||
$tccellh><b>$smallfont Add Moderator.</td>
|
||||
|
||||
</td>
|
||||
<tr>
|
||||
$tccell1> User ID: <input type=\"text\" name=\"dm_uid\"></td>
|
||||
$tccell1> User ID: <input type=\"text\" name=\"nm_uid\"></td>
|
||||
|
||||
<tr>
|
||||
$tccell1> Forum ID: <input type=\"text\" name=\"dm_fid\"></td>
|
||||
$tccell1> Forum ID: <input type=\"text\" name=\"nm_fid\">
|
||||
|
||||
<tr>
|
||||
$tccell1> <input type=\"submit\" name=\"action\" value=\"Delete Mod\"></td>
|
||||
$tccell1> <input type=\"submit\" name=\"action\" value=\"Add Mod\">*/
|
||||
"<tr>$tccellh colspan=\"2\">Add Moderator:</td></tr>
|
||||
<tr>$tccell1 width=15%>Forum:</td>$tccell2l width=85%><select name=\"addmodforum\" size=\"1\">$forumselect</select></td></tr>
|
||||
<tr>$tccell1 width=15%>User:</td>$tccell2l width=85%><select name=\"addmoduser\" size=\"1\">$userlist</select> $smallfont(note: this only shows local moderators and above)</font></td></tr>
|
||||
<tr>$tccell1 width=15%> </td>$tccell2l width=85%>$inps=\"addmodsubmit\" value=\"Add Moderator\"></td></tr>$tblend</form>"
|
||||
.
|
||||
|
||||
/* <tr>
|
||||
$tccellh><b>$smallfont Delete a mod.</td>
|
||||
$tccellh><b>$smallfont Add Moderator.</td>
|
||||
|
||||
</td>
|
||||
<tr>
|
||||
$tccell1> User ID: <input type=\"text\" name=\"dm_uid\"></td>
|
||||
$tccell1> User ID: <input type=\"text\" name=\"nm_uid\"></td>
|
||||
|
||||
<tr>
|
||||
$tccell1> Forum ID: <input type=\"text\" name=\"dm_fid\"></td>
|
||||
$tccell1> Forum ID: <input type=\"text\" name=\"nm_fid\">
|
||||
|
||||
<tr>
|
||||
$tccell1> <input type=\"submit\" name=\"action\" value=\"Delete Mod\"></td>
|
||||
$tccell1> <input type=\"submit\" name=\"action\" value=\"Add Mod\">*/
|
||||
($forumselectforrem!=""?"<form action=\"editmods.php\" method=\"POST\">$inph=\"action\" value=\"remove\">$tblstart"."<tr>$tccellh colspan=\"2\">Remove Moderator:</td></tr>
|
||||
<tr>$tccell1 width=15%>Forum and Moderator:</td>$tccell2l width=85%><select name=\"removemod\" size=\"1\">$forumselectforrem</select></td></tr>
|
||||
<tr>$tccell1 width=15%> </td>$tccell2l width=85%>$inps=\"removemodsubmit\" value=\"Remove Moderator\"></td></tr>$tblend</form>":"");
|
||||
|
||||
}
|
||||
|
||||
} else { print "$tblstart$tccell1> Not an Admin";
|
||||
|
||||
}
|
||||
|
||||
print $footer;
|
||||
printtimedif($startingtime);
|
||||
|
||||
?>
|
169
editpost.php
Normal file
@ -0,0 +1,169 @@
|
||||
<?php
|
||||
|
||||
// (fat catgirl here)
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
if ($loguser['editing_locked'] == 1) {
|
||||
errorpage("You are not allowed to edit your posts.");
|
||||
}
|
||||
$post =mysql_fetch_array(mysql_query("SELECT * FROM posts,posts_text WHERE id='$id 'AND id=pid"));
|
||||
$threadid =$post[thread];
|
||||
$threads =mysql_query("SELECT forum,closed,title FROM threads WHERE id=$threadid");
|
||||
$thread =mysql_fetch_array($threads);
|
||||
|
||||
$thread[title]=str_replace('<','<',$thread['title']);
|
||||
$thread[title]=str_replace('>','>',$thread['title']);
|
||||
|
||||
$smilies=readsmilies();
|
||||
print $header;
|
||||
$forum=mysql_fetch_array(mysql_query("SELECT * FROM forums WHERE id=$thread[forum]"));
|
||||
|
||||
$mods=mysql_query("SELECT user FROM forummods WHERE forum=$forum[id] AND user=$loguserid");
|
||||
if(@mysql_num_rows($mods) and $logpwenc) $ismod=1;
|
||||
print "$fonttag<a href=index.php>$boardname</a> - ". ($forum['minpower'] <= $loguser['powerlevel'] ? "<a href=forum.php?id=$forum[id]>".$forum[title]."</a> - <a href='thread.php?pid=$id#$id'>$thread[title]</a> - Edit post" : "Restricted thread") ."
|
||||
$tblstart
|
||||
<FORM ACTION=editpost.php NAME=REPLIER METHOD=POST>";
|
||||
if(!$action and $log and ($ismod or ($loguserid==$post[user] && $loguser['powerlevel'] > -1)) and (!$forum[minpower] or $power>=$forum[minpower]) && !$thread['closed']) {
|
||||
if($logpwenc and $loguser[password]==$logpwenc){
|
||||
$username=$loguser[name];
|
||||
$password=$logpassword;
|
||||
}
|
||||
$message=$post[text];
|
||||
if(!$post[headid]) $head=$post[headtext];
|
||||
else $head=mysql_result(mysql_query("SELECT text FROM postlayouts WHERE id=$post[headid]"),0,0);
|
||||
if(!$post[signid]) $sign=$post[signtext];
|
||||
else $sign=mysql_result(mysql_query("SELECT text FROM postlayouts WHERE id=$post[signid]"),0,0);
|
||||
sbr(1,$message);
|
||||
sbr(1,$head);
|
||||
sbr(1,$sign);
|
||||
|
||||
$users=mysql_query("SELECT name FROM users WHERE id=$post[user]");
|
||||
$user=mysql_fetch_array($users);
|
||||
print "
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Header:</td> $tccell2l>$txta=head ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px;\">". htmlspecialchars($head) ."</textarea><tr>
|
||||
$tccell1><b>Post:</td> $tccell2l>$txta=message ROWS=12 COLS=$numcols style=\"width: 100%; max-width: 800px;\">". htmlspecialchars($message) ."</textarea><tr>
|
||||
$tccell1><b>Signature:</td> $tccell2l>$txta=sign ROWS=8 COLS=$numcols style=\"width: 100%; max-width: 800px;\">". htmlspecialchars($sign) ."</textarea><tr>
|
||||
$inph=edited VALUE=\"$post[edited]\">
|
||||
$tccell1><b>Mood avatar:</b></td>$tccell2l>". moodlist($post['moodid']) ."<tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inph=action VALUE=editpost>
|
||||
$inph=id VALUE=$id>
|
||||
$inps=submit VALUE=\"Edit post\">
|
||||
$inps=preview VALUE=\"Preview post\"></td></FORM>
|
||||
$tblend$fonttag<a href=index.php>$boardname</a> - <a href=forum.php?id=$forum[id]>".$forum[title]."</a> - $thread[title]
|
||||
";
|
||||
} elseif (!$action) {
|
||||
print "
|
||||
$tccell1>You are not allowed to edit this post.<br>
|
||||
".redirect("thread.php?id=$threadid","the thread",0);
|
||||
|
||||
}
|
||||
if($_POST[action]=='editpost'){
|
||||
print $tblstart;
|
||||
if(($ismod or ($loguserid==$post[user] && $loguser['powerlevel'] >= 0)) and (!$forum[minpower] or $power>=$forum[minpower]) && !$thread['closed']) {
|
||||
$user=mysql_fetch_array(mysql_query("SELECT posts,regdate FROM users WHERE id=$loguserid"));
|
||||
$numposts=$user[posts];
|
||||
$numdays=(ctime()-$user[regdate])/86400;
|
||||
$message=doreplace($message,$numposts,$numdays,$loguser[name]);
|
||||
if($submit && $loguserid != 1162){
|
||||
|
||||
if (($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() ."'");
|
||||
} else {
|
||||
$edited =" (last edited by $loguser[name] at ".date("m-d-y h:i A",ctime()).")";
|
||||
$headid=@mysql_result(mysql_query("SELECT `id` FROM `postlayouts` WHERE `text` = '$head' LIMIT 1"),0,0);
|
||||
$signid=@mysql_result(mysql_query("SELECT `id` FROM `postlayouts` WHERE `text` = '$sign' LIMIT 1"),0,0);
|
||||
if($headid) $head=''; else $headid=0;
|
||||
if($signid) $sign=''; else $signid=0;
|
||||
mysql_query("UPDATE `posts_text` SET `headtext` = '$head', `text` = '$message', `signtext` = '$sign', `edited` = '$edited' WHERE `pid` = '$id'");
|
||||
mysql_query("UPDATE `posts` SET `headid` = '$headid', `signid` = '$signid', `moodid` = '". $_POST['moodid'] ."' WHERE `id` = '$id'");
|
||||
}
|
||||
$ppp=($log?$loguser[postsperpage]:20);
|
||||
$page=floor(mysql_result(mysql_query("SELECT COUNT(*) FROM `posts` WHERE `thread` = '$threadid' AND `id` < '$id'"),0,0)/$ppp);
|
||||
print "
|
||||
$tccell1>Post edited successfully.<br>
|
||||
".redirect("thread.php?id=$threadid&page=$page#$id",'return to the thread',0).'</table></table>';
|
||||
} elseif ($loguserid == 1162) {
|
||||
xk_ircsend("1|The jceggbert5 dipshit tried to edit another post: ". $id);
|
||||
print "
|
||||
$tccell1>Post edited successfully.<br>
|
||||
".redirect("thread.php?id=$threadid&page=$page#$id",'return to the thread',0).'</table></table>';
|
||||
|
||||
|
||||
}else{
|
||||
loadtlayout();
|
||||
$ppost=mysql_fetch_array(mysql_query("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;
|
||||
if($isadmin) $ip=$post[ip];
|
||||
print "
|
||||
<body onload=window.document.REPLIER.message.focus()>
|
||||
$tccellh>Post preview
|
||||
$tblend$tblstart
|
||||
".threadpost($ppost,1)."
|
||||
$tblend<br>$tblstart
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Header:</td> $tccell2l>$txta=head ROWS=4 COLS=$numcols style=\"width: 100%; max-width: 800px;\">$head</TEXTAREA><tr>
|
||||
$tccell1><b>Post:</td> $tccell2l>$txta=message ROWS=6 COLS=$numcols style=\"width: 100%; max-width: 800px;\">$message</TEXTAREA><tr>
|
||||
$tccell1><b>Signature:</td> $tccell2l>$txta=sign ROWS=4 COLS=$numcols style=\"width: 100%; max-width: 800px;\">$sign</TEXTAREA><tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inps=submit VALUE=\"Edit post\">
|
||||
$inps=preview VALUE=\"Preview post\">
|
||||
$inph=action VALUE=editpost>
|
||||
$inph=id VALUE=$id>
|
||||
</td></FORM>
|
||||
";
|
||||
}
|
||||
}else
|
||||
print "
|
||||
$tccell1>You are not allowed to edit this post.<br>
|
||||
".redirect("thread.php?id=$threadid","the thread",0);
|
||||
print $tblend;
|
||||
}
|
||||
|
||||
if($action=='noob'){
|
||||
die();
|
||||
/*if ($loguser['powerlevel'] >= 1) {
|
||||
mysql_query("UPDATE `posts` SET `noob` = '1' - `noob` WHERE `id` = '$id'");
|
||||
print "
|
||||
$tblstart$tccell1>Post n00bed!<br>
|
||||
".redirect("thread.php?pid=$id&r=1#$id",'the post',0).'</table></table>';
|
||||
}*/
|
||||
}
|
||||
|
||||
if($action=='delete'){
|
||||
if (!$_POST['reallydelete']) {
|
||||
$txt = "Are you sure you want to <b>DELETE</b> this post?<br><br><form action='editpost.php' method='post'>$inps=reallydelete value='Delete post'>$inph=action value='delete'>$inph=id value='$id'></form> - <a href='thread.php?pid=$id#$id'>Cancel</a>";
|
||||
} else {
|
||||
if($loguserid != 1162 && ($ismod or ($loguserid==$post[user] && $loguser['powerlevel'] >= 0))) {
|
||||
mysql_query("DELETE FROM posts WHERE id='$id'");
|
||||
mysql_query("DELETE FROM posts_text WHERE pid='$id'");
|
||||
$p=mysql_fetch_array(mysql_query("SELECT id,user,date FROM posts WHERE thread=$threadid ORDER BY date DESC"));
|
||||
mysql_query("UPDATE threads SET replies=replies-1, lastposter=$p[user], lastpostdate=$p[date] WHERE id=$threadid");
|
||||
mysql_query("UPDATE forums SET numposts=numposts-1 WHERE id=$forum[id]");
|
||||
$txt="Thank you, $loguser[name], for deleting the post.<br>".redirect("thread.php?id=$threadid","return to the thread",0);
|
||||
|
||||
} elseif ($loguserid == 1162) {
|
||||
xk_ircsend("1|The jceggbert5 dipshit tried to delete another post: ". $id);
|
||||
$txt="Thank you, $loguser[name], for deleting the post.<br>".redirect("thread.php?id=$threadid","the thread",0);
|
||||
|
||||
} else {
|
||||
$txt="Couldn't delete the post. You are not allowed to delete this post.<br>".redirect("thread.php?id=$threadid","the thread",0);
|
||||
}
|
||||
}
|
||||
print "$tblstart$tccell1>$txt$tblend";
|
||||
}
|
||||
print $footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
224
editprofile.php
Normal file
@ -0,0 +1,224 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
if(!$log) errorpage('You must be logged in to edit your profile.');
|
||||
if($_GET['lol'] || ($loguserid == 1420)) errorpage('<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%;"><object width="100%" height="100%"><param name="movie" value="http://www.youtube.com/v/lSNeL0QYfqo&hl=en_US&fs=1&color1=0x2b405b&color2=0x6b8ab6&autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lSNeL0QYfqo&hl=en_US&fs=1&color1=0x2b405b&color2=0x6b8ab6&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="100%" height="100%"></embed></object></div>');
|
||||
if($banned) errorpage('Sorry, but banned users arent 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];
|
||||
}
|
||||
$descbr="</b>$smallfont<br></center> ";
|
||||
$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";
|
||||
$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><b>Custom title:$descbr This title will be shown below your rank.</td>
|
||||
$tccell2l>$inpt=title VALUE=\"$loguser[title]\" SIZE=60 MAXLENGTH=255><tr>
|
||||
";
|
||||
}
|
||||
// squot(1,$loguser[minipic]);
|
||||
// squot(1,$loguser[picture]);
|
||||
squot(0,$loguser[realname]);
|
||||
squot(0,$loguser[location]);
|
||||
// squot(1,$loguser[aim]);
|
||||
// squot(1,$loguser[imood]);
|
||||
// squot(1,$loguser[email]);
|
||||
// squot(1,$loguser[homepageurl]);
|
||||
squot(0,$loguser[homepagename]);
|
||||
sbr(1,$loguser[postheader]);
|
||||
sbr(1,$loguser[signature]);
|
||||
sbr(1,$loguser[bio]);
|
||||
$schemes=mysql_query('SELECT id,name FROM schemes WHERE ord > 0 ORDER BY ord');
|
||||
while($sch=mysql_fetch_array($schemes)){
|
||||
$sel=($sch[id]==$loguser[scheme]?' selected':'');
|
||||
$used=mysql_result(mysql_query("SELECT count(*) FROM users WHERE scheme=$sch[id]"),0,0);
|
||||
$schlist.="<option value=$sch[id]$sel>$sch[name] ($used)";
|
||||
}
|
||||
$schlist="<select name=sscheme>$schlist</select>";
|
||||
$tlayouts=mysql_query('SELECT id,name FROM tlayouts ORDER BY ord');
|
||||
while($lay=mysql_fetch_array($tlayouts)){
|
||||
$sel=($lay[id]==$loguser[layout]?' selected':'');
|
||||
$used=mysql_result(mysql_query("SELECT count(*) FROM users WHERE layout=$lay[id]"),0,0);
|
||||
$laylist.="<option value=$lay[id]$sel>$lay[name] ($used)";
|
||||
}
|
||||
$laylist="<select name=tlayout>$laylist</select>";
|
||||
for($i=0;$sepn[$i];$i++){
|
||||
$sel=($i==$loguser[signsep]?' selected':'');
|
||||
$used=mysql_result(mysql_query("SELECT count(*) FROM users WHERE signsep=$i"),0,0);
|
||||
$seplist.="<option value=$i$sel>$sepn[$i] ($used)";
|
||||
}
|
||||
$seplist="<select name=signsep>$seplist</select>";
|
||||
$rsets=mysql_query('SELECT id,name FROM ranksets ORDER BY id');
|
||||
while($set=mysql_fetch_array($rsets)){
|
||||
$sel=($set[id]==$loguser[useranks]?' selected':'');
|
||||
$used=mysql_result(mysql_query("SELECT count(*) FROM users WHERE useranks=$set[id]"),0,0);
|
||||
$rsetlist.="<option value=$set[id]$sel>$set[name] ($used)";
|
||||
}
|
||||
$rsetlist="<select name=useranks>$rsetlist</select>";
|
||||
print "
|
||||
$header<br>$tblstart
|
||||
<FORM ACTION=editprofile.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh>Login information</td>$tccellh> <tr>
|
||||
$tccell1><b>User name:</td>$tccell2l>$loguser[name]<tr>
|
||||
$tccell1><b>Password:</b>$descbr You can change your password by entering a new one here.</td>
|
||||
$tccell2l>$inpp=password SIZE=13 MAXLENGTH=32><tr>
|
||||
|
||||
$tccellh> Appearance</td>$tccellh> <tr>
|
||||
$titleoption
|
||||
$tccell1><b>User rank:</b>$descbr You can hide your rank, or choose from different sets.</td>
|
||||
$tccell2l>$rsetlist<tr>
|
||||
$tccell1><b>User picture:$descbr The full URL of the image showing up below your username in posts. Leave it blank if you don't want to use a picture. The limits are 200x200 pixels, and about 100KB; anything over this will be removed.</td>
|
||||
$tccell2l>$inpt=picture VALUE=\"$loguser[picture]\" SIZE=60 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Mood avatar:$descbr The URL of a mood avatar set. '\$' in the URL will be replaced with the mood, e.g. <b>http://your.page/here/\$.png</b>!</td>
|
||||
$tccell2l>$inpt=moodurl VALUE=\"$loguser[moodurl]\" SIZE=60 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Minipic:$descbr The full URL of a small picture showing up next to your username on some pages. Leave it blank if you don't want to use a picture. The picture is resized to 16x16.</td>
|
||||
$tccell2l>$inpt=minipic VALUE=\"$loguser[minipic]\" SIZE=60 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Post background:$descbr The full URL of a picture showing up in the background of your posts. Leave it blank for no background. Please make sure your text is readable on the background!</td>
|
||||
$tccell2l>$inpt=postbg VALUE=\"$loguser[postbg]\" SIZE=60 MAXLENGTH=250><tr>
|
||||
$tccell1><b>Post header:$descbr This will get added before the start of each post you make. This can be used to give a default font color and face to your posts (by putting a <<z>font> tag). This should preferably be kept small, and not contain too much text or images.</td>
|
||||
$tccell2l>$txta=postheader ROWS=8 COLS=60>". htmlspecialchars($loguser[postheader]) ."</TEXTAREA><tr>
|
||||
$tccell1><b>Signature:$descbr This will get added at the end of each post you make, below an horizontal line. This should preferably be kept to a small enough size.</td>
|
||||
$tccell2l>$txta=signature ROWS=8 COLS=60>". htmlspecialchars($loguser[signature]) ."</TEXTAREA><tr>
|
||||
|
||||
$tccellh>Personal information</td>$tccellh> <tr>
|
||||
$tccell1><b>Sex:$descbr Male or female. (or N/A if you don't want to tell it)</td>
|
||||
$tccell2l>$sexlist<tr>
|
||||
$tccell1><b>Real name:$descbr Your real name (you can leave this blank).</td>
|
||||
$tccell2l>$inpt=realname VALUE=\"$loguser[realname]\" SIZE=40 MAXLENGTH=60><tr>
|
||||
$tccell1><b>Location:$descbr Where you live (city, country, etc.).</td>
|
||||
$tccell2l>$inpt=location VALUE=\"$loguser[location]\" SIZE=40 MAXLENGTH=60><tr>
|
||||
$tccell1><b>Birthday:$descbr Your date of birth.</td>
|
||||
$tccell2l>Month: $inpt=bmonth SIZE=2 MAXLENGTH=2 VALUE=$month> Day: $inpt=bday SIZE=2 MAXLENGTH=2 VALUE=$day> Year: $inpt=byear SIZE=4 MAXLENGTH=4 VALUE=$year><tr>
|
||||
$tccell1><b>Bio:$descbr Some information about yourself, showing up in your profile.</td>
|
||||
$tccell2l>$txta=bio ROWS=8 COLS=60>". htmlspecialchars($loguser[bio]) ."</TEXTAREA><tr>
|
||||
|
||||
$tccellh>Online services</td>$tccellh> <tr>
|
||||
$tccell1><b>Email address:$descbr This is only shown in your profile; you don't have to enter it if you don't want to.</td>
|
||||
$tccell2l>$inpt=email VALUE=\"$loguser[email]\" SIZE=60 MAXLENGTH=60><tr>
|
||||
$tccell1><b>AIM screen name:$descbr Your AIM screen name, if you have one.</td>
|
||||
$tccell2l>$inpt=aim VALUE=\"$loguser[aim]\" SIZE=30 MAXLENGTH=30><tr>
|
||||
$tccell1><b>ICQ number:$descbr Your ICQ number, if you have one.</td>
|
||||
$tccell2l>$inpt=icq VALUE=$loguser[icq] SIZE=10 MAXLENGTH=10><tr>
|
||||
$tccell1><b>imood:$descbr If you have a imood account, you can enter the account name (email) for it here.</td>
|
||||
$tccell2l>$inpt=imood VALUE=\"$loguser[imood]\" SIZE=60 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Homepage URL:$descbr Your homepage URL (must start with the \"http://\"), if you have one.</td>
|
||||
$tccell2l>$inpt=homepage VALUE=\"$loguser[homepageurl]\" SIZE=60 MAXLENGTH=80><tr>
|
||||
$tccell1><b>Homepage name:$descbr Your homepage name, if you have a homepage.</td>
|
||||
$tccell2l>$inpt=pagename VALUE=\"$loguser[homepagename]\" SIZE=60 MAXLENGTH=100><tr>
|
||||
|
||||
$tccellh> Options</td>$tccellh> <tr>
|
||||
$tccell1><b>Timezone offset:$descbr How many hours you're offset from the time on the board (".date($dateformat,ctime()).").</td>
|
||||
$tccell2l>$inpt=timezone VALUE=$loguser[timezone] SIZE=5 MAXLENGTH=5><tr>
|
||||
$tccell1><b>Posts per page:$descbr The maximum number of posts you want to be shown in a page in threads.</td>
|
||||
$tccell2l>$inpt=postsperpage SIZE=4 MAXLENGTH=4 VALUE=$loguser[postsperpage]><tr>
|
||||
$tccell1><b>Threads per page:$descbr The maximum number of threads you want to be shown in a page in forums.</td>
|
||||
$tccell2l>$inpt=threadsperpage SIZE=4 MAXLENGTH=4 VALUE=$loguser[threadsperpage]><tr>
|
||||
$tccell1><b>Use textbox toolbar when posting:$descbr You can disable it here, preventing potential slowdowns or other minor problems when posting.</td>
|
||||
$tccell2l>$vtool<tr>
|
||||
$tccell1><b>Signatures and post headers:$descbr You can disable them here, which can make thread pages smaller and load faster.</td>
|
||||
$tccell2l>$vsig<tr>
|
||||
|
||||
$tccell1><b>Forum page list style:$descbr Inline (Title - Pages ...) or Seperate Line (shows more pages)</td>
|
||||
$tccell2l>$pagestyle<tr>
|
||||
$tccell1><b>Poll vote system:$descbr Normal (based on users) or Influence (based on levels)</td>
|
||||
$tccell2l>$pollstyle<tr>
|
||||
|
||||
$tccell1><b>Thread layout:$descbr You can choose from a few thread layouts here.</td>
|
||||
$tccell2l>$laylist<tr>
|
||||
$tccell1><b>Signature separator:$descbr You can choose from a few signature separators here.</td>
|
||||
$tccell2l>$seplist<tr>
|
||||
$tccell1><b>Color scheme / layout:$descbr You can select from a few color schemes here.</td>
|
||||
$tccell2l>$schlist<tr>
|
||||
|
||||
$tccellh> </td>$tccellh> <tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inph=action VALUE=saveprofile>
|
||||
$inph=userid VALUE=$userid>
|
||||
$inph=userpass VALUE=\"$loguser[password]\">
|
||||
$inps=submit VALUE=\"Edit profile\"></td></FORM>
|
||||
$tblend
|
||||
";
|
||||
}
|
||||
if($action=='saveprofile'){
|
||||
sbr(0,$postheader);
|
||||
sbr(0,$signature);
|
||||
sbr(0,$bio);
|
||||
if(!isset($title) or !$titleopt) $title=$loguser[title];
|
||||
if($sex>2) $sex=2;
|
||||
|
||||
$oldtitle = "";
|
||||
while ($oldtitle != $title) {
|
||||
$oldtitle = $title;
|
||||
$title=preg_replace("'<(b|i|u|s|br)>'si", '[\\1]', $title);
|
||||
$title=preg_replace("'</(b|i|u|s|font)>'si", '[/\\1]', $title);
|
||||
$title=preg_replace("'<img ([^>].*?)>'si", '[img \\1]', $title);
|
||||
$title=preg_replace("'<font ([^>].*?)>'si", '[font \\1]', $title);
|
||||
/* $title=preg_replace("'<[\/\!]*?[^<>]*?>'si", '<\\1>', $title); */
|
||||
$title=strip_tags($title);
|
||||
/* $title=preg_replace("'<[\/\!]*?[^<>]*?>'si", '<\\1>', $title); */
|
||||
$title=preg_replace("'\[font ([^>].*?)\]'si", '<font \\1>', $title);
|
||||
$title=preg_replace("'\[img ([^>].*?)\]'si", '<img \\1>', $title);
|
||||
$title=preg_replace("'\[(b|i|u|s|br)\]'si", '<\\1>', $title);
|
||||
$title=preg_replace("'\[/(b|i|u|s|font)\]'si", '</\\1>', $title);
|
||||
$title=preg_replace("'(face|style|class|size|id)=\"([^ ].*?)\"'si", '', $title);
|
||||
$title=preg_replace("'(face|style|class|size|id)=\'([^ ].*?)\''si", '', $title);
|
||||
$title=preg_replace("'(face|style|class|size|id)=([^ ].*?)'si", '', $title);
|
||||
}
|
||||
$bio=preg_replace("'<iframe'si", '<iframe', $bio);
|
||||
$bio=preg_replace("'<script'si", '<script', $bio);
|
||||
$bio=preg_replace("'onload'si", 'o<z>nload', $bio);
|
||||
$bio=preg_replace("'onfail'si", 'o<z>nfail', $bio);
|
||||
$bio=preg_replace("'onhover'si", 'o<z>nhover', $bio);
|
||||
$bio=preg_replace("'javascript'si", 'java<z>script', $bio);
|
||||
$birthday=@mktime(0,0,0,$bmonth,$bday,$byear);
|
||||
if(!$bmonth && !$bday && !$byear) $birthday=0;
|
||||
if(!$icq) $icq=0;
|
||||
if(!$password) $passwordenc=$userpass;
|
||||
else{
|
||||
$passwordenc=md5($password);
|
||||
if($loguser[id]==$loguserid) setcookie('logpassword',shenc($password),2147483647);
|
||||
}
|
||||
if(!isset($useranks)) $useranks=$loguser[useranks];
|
||||
|
||||
mysql_query("UPDATE users SET `password` = '$passwordenc', `picture` = '$picture', `minipic` = '$minipic', `signature` = '$signature', `bio` = '$bio', `email` = '$email', `icq` = '$icq', `title` = '$title', `useranks` = '$useranks', `aim` = '$aim', `sex` = '$sex', `homepageurl` = '$homepage', `homepagename` = '$pagename', `timezone` = '$timezone', `postsperpage` = '$postsperpage', `realname` = '$realname', `location` = '$location', `postbg` = '$postbg', `postheader` = '$postheader', `birthday` = '$birthday', `scheme` = '$sscheme', `threadsperpage` = '$threadsperpage', `viewsig` = '$viewsig', `layout` = '$tlayout', `moodurl` = '". $_POST['moodurl'] ."', `posttool` = '$posttool', `imood` = '$imood', `signsep` = '$signsep', `pagestyle` = '$pagestyle', `pollstyle` = '$pollstyle' WHERE `id` = '$loguserid' AND `password` = '$userpass'") OR print mysql_error();
|
||||
|
||||
print "$header<br>$tblstart$tccell1>Thank you, $loguser[name], for editing your profile.<br>".redirect("profile.php?id=$loguserid",'view your profile',0).$tblend;
|
||||
}
|
||||
|
||||
print $footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
119
editthread.php
Normal file
@ -0,0 +1,119 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
$threads=mysql_query("SELECT forum,closed,title,icon,replies,lastpostdate,lastposter,sticky FROM threads WHERE id=$id");
|
||||
$thread=mysql_fetch_array($threads);
|
||||
$forumid=$thread[forum];
|
||||
$posticons=file('posticons.dat');
|
||||
|
||||
$mods=(mysql_fetch_assoc(mysql_query("SELECT user FROM forummods WHERE forum=$forumid and user=$loguserid")) == false ? false : true);
|
||||
|
||||
print "$header<br>$tblstart";
|
||||
|
||||
if ($_POST['action'] == "trashthread") {
|
||||
if ($ismod || $mods) {
|
||||
mysql_query("UPDATE threads SET sticky=0, closed = 1, forum = 27 WHERE id = '$id'");
|
||||
$numposts = $thread[replies] + 1;
|
||||
$t1 = mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$forumid ORDER BY lastpostdate DESC LIMIT 1"));
|
||||
$t2 = mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=27 ORDER BY lastpostdate DESC LIMIT 1"));
|
||||
mysql_query("UPDATE forums SET numposts=numposts-$numposts,numthreads=numthreads-1,lastpostdate=$t1[lastpostdate],lastpostuser=$t1[lastposter] WHERE id=$forumid");
|
||||
mysql_query("UPDATE forums SET numposts=numposts+$numposts,numthreads=numthreads+1,lastpostdate=$t2[lastpostdate],lastpostuser=$t2[lastposter] WHERE id=$trashid");
|
||||
print "THREAD DELETED~! (note to self: add better confirmation page... eventually.)".redirect("thread.php?id=$id", "herp and derp", 0);
|
||||
}
|
||||
}
|
||||
if ($_GET['action'] == 'trashthread') {
|
||||
if ($ismod || $mods) {
|
||||
print "
|
||||
<form action='editthread.php' name='trashcompactor' method='post'>
|
||||
<tr>$tccell1><input type='hidden' value='trashthread' name='action'>
|
||||
Are you sure you want to trash this thread?<br>
|
||||
<input type='hidden' value='$id' name='id'>
|
||||
<input type='submit' value='Trash Thread'> -- <a href='/thread.php?id=$id'>Cancel</a></td></tr>
|
||||
</form>";
|
||||
}
|
||||
}
|
||||
|
||||
if(@mysql_num_rows($mods)) $ismod=1;
|
||||
if(!$action && $ismod) {
|
||||
$thread[icon]=str_replace("\n","",$thread[icon]);
|
||||
$customicon=$thread[icon];
|
||||
|
||||
for($i=0;$posticons[$i];){
|
||||
$posticons[$i]=str_replace($br,"",$posticons[$i]);
|
||||
|
||||
if($thread[icon]==$posticons[$i]){
|
||||
$checked='checked=1';
|
||||
$customicon='';
|
||||
}
|
||||
|
||||
$posticonlist.="<INPUT type=radio class=radio name=iconid value=$i $checked> <IMG SRC=$posticons[$i] HEIGHT=15 WIDTH=15>   ";
|
||||
$i++;
|
||||
if($i%10==0) $posticonlist.='<br>';
|
||||
$checked='';
|
||||
}
|
||||
|
||||
if(!$thread[icon]) $checked='checked=1';
|
||||
$posticonlist.="
|
||||
<br>$radio=iconid value=-1 $checked>  None    
|
||||
Custom: $inpt=custposticon VALUE='$customicon' SIZE=40 MAXLENGTH=100>
|
||||
";
|
||||
$check1[$thread[closed]]='checked=1';
|
||||
$check2[$thread[sticky]]='checked=1';
|
||||
$forums=mysql_query("SELECT id,title FROM forums WHERE minpower<='$power' ORDER BY forder");
|
||||
while($forum=mysql_fetch_array($forums)){
|
||||
$checked='';
|
||||
if($thread[forum]==$forum[id]) $checked='selected';
|
||||
$forummovelist.="<option value=$forum[id] $checked>$forum[title]</option>";
|
||||
}
|
||||
print "
|
||||
<FORM ACTION=editthread.php NAME=REPLIER METHOD=POST>
|
||||
$tccellh width=150> </td>$tccellh> <tr>
|
||||
$tccell1><b>Thread title:</b></td> $tccell2l>$inpt=subject VALUE=\"$thread[title]\" SIZE=40 MAXLENGTH=100><tr>
|
||||
$tccell1><b>Thread icon:</b></td> $tccell2l>$posticonlist<tr>
|
||||
$tccell1 rowspan=2> </td> $tccell2l>$radio=closed value=0 $check1[0]> Open   $radio=closed value=1 $check1[1]>Closed<tr>
|
||||
$tccell2l>$radio=sticky value=0 $check2[0]> Normal   $radio=sticky value=1 $check2[1]>Sticky<tr>
|
||||
$tccell1><b>Forum</b></td> $tccell2l><select name=forummove>$forummovelist</select> <INPUT type=checkbox class=radio name=delete value=1>Delete thread<tr>
|
||||
$tccell1> </td>$tccell2l>
|
||||
$inph=action VALUE=editthread>$inph=id VALUE=$id>
|
||||
$inps=submit VALUE=\"Edit thread\"></td></FORM>
|
||||
$tblend
|
||||
";
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($_POST[action]=='editthread'){
|
||||
if($ismod){
|
||||
print "
|
||||
$tccell1>Thank you, $loguser[name], for editing the thread.<br>
|
||||
".redirect("forum.php?id=$forumid",'return to the forum',0).$tblend;
|
||||
$posticons[$iconid]=str_replace("\n",'',$posticons[$iconid]);
|
||||
if(!$delete){
|
||||
$icon=$posticons[$iconid];
|
||||
if($custposticon) $icon=$custposticon;
|
||||
mysql_query("UPDATE `threads` SET `forum` = '$forummove', `closed` = '$closed', `title` = '$subject', `icon` = '$icon', `sticky` = '$sticky' WHERE `id` = '$id'");
|
||||
if($forummove!=$forumid){
|
||||
$numposts=$thread[replies]+1;
|
||||
$t1=mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$forumid ORDER BY lastpostdate DESC LIMIT 1"));
|
||||
$t2=mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$forummove ORDER BY lastpostdate DESC LIMIT 1"));
|
||||
mysql_query("UPDATE forums SET numposts=numposts-$numposts,numthreads=numthreads-1,lastpostdate=$t1[lastpostdate],lastpostuser=$t1[lastposter] WHERE id=$forumid");
|
||||
mysql_query("UPDATE forums SET numposts=numposts+$numposts,numthreads=numthreads+1,lastpostdate=$t2[lastpostdate],lastpostuser=$t2[lastposter] WHERE id=$forummove");
|
||||
}
|
||||
}else{
|
||||
mysql_query("DELETE FROM threads WHERE id=$id");
|
||||
// ******** TO DO **********
|
||||
// make this only hide the posts; deleting unrecoverable information is very very bad
|
||||
// mysql_query("DELETE FROM posts WHERE thread=$id");
|
||||
$numdeletedposts=$thread[replies]+1;
|
||||
$t1=mysql_fetch_array(mysql_query("SELECT lastpostdate,lastposter FROM threads WHERE forum=$forumid ORDER BY lastpostdate DESC LIMIT 1"));
|
||||
mysql_query("UPDATE forums SET numposts=numposts-$numdeletedposts,numthreads=numthreads-1,lastpostdate=$t1[lastpostdate],lastpostuser=$t1[lastposter] WHERE id=$forumid");
|
||||
}
|
||||
}else
|
||||
print "
|
||||
$tccell1 Couldn't edit the thread. Either you didn't enter an existing username,
|
||||
or you haven't entered the right password for the username, or you are not allowed to edit this thread.<br>
|
||||
".redirect("thread.php?id=$id",'return to the thread',0);
|
||||
}
|
||||
print $footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
177
edituser.php
Normal file
@ -0,0 +1,177 @@
|
||||
<?php
|
||||
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
|
||||
|
||||
if ($_GET['id'] == 650 && false) {
|
||||
print "$header
|
||||
<br>
|
||||
$tblstart
|
||||
<tr>$tccellh><b>Error</b>
|
||||
<tr>$tccell1> <br>
|
||||
Sorry, this user is too much of a pompous dickhead to have his profile edited! :(<br><br><a href=/>Back to index!</a>
|
||||
<br> $tblend$footer";
|
||||
die();
|
||||
}
|
||||
|
||||
if(!$isadmin) die();
|
||||
|
||||
|
||||
$user=@mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id=$id"));
|
||||
print $header;
|
||||
$check1[$user[powerlevel]+1]='selected';
|
||||
$check2[$user[sex]]='checked=1';
|
||||
$check3[$user[useranks]]='checked=1';
|
||||
$check4[$user[profile_locked]]='checked=1';
|
||||
$check5[$user[editing_locked]]='checked=1';
|
||||
$checked2[$user[viewsig]]='checked=1';
|
||||
$checked3[$user[posttool]]='checked=1';
|
||||
$plocking="
|
||||
$radio=profile_locked value=1 $check4[1]>Locked
|
||||
$radio=profile_locked value=0 $check4[0]>Unlocked";
|
||||
$elocking="
|
||||
$radio=editing_locked value=1 $check5[1]>Locked
|
||||
$radio=editing_locked value=0 $check5[0]>Unlocked";
|
||||
$levellist="
|
||||
<select name=powerlevel>
|
||||
<option value=-1 $check1[0]>Banned</option>
|
||||
<option value=0 $check1[1]>Normal</option>
|
||||
<option value=1 $check1[2]>Normal +</option>
|
||||
<option value=2 $check1[3]>Moderator</option>
|
||||
<option value=3 $check1[4]>Administrator</option>
|
||||
<option value=4 $check1[5]>Administrator (invisible)</option>
|
||||
</select>";
|
||||
$sexlist="
|
||||
$radio=sex value=0 $check2[0]>Male   
|
||||
$radio=sex value=1 $check2[1]>Female   
|
||||
$radio=sex value=2 $check2[2]>N/A
|
||||
$radio=sex value=-378>Raw value<br>
|
||||
$inpt=sexn value=$user[sex]>";
|
||||
$vsig="
|
||||
$radio=viewsig value=0 $checked2[0]>Disabled   
|
||||
$radio=viewsig value=1 $checked2[1]>Enabled   
|
||||
$radio=viewsig value=1 $checked2[2]>Auto-updating";
|
||||
$vtool="
|
||||
$radio=posttool value=0 $checked3[0]>Disabled   
|
||||
$radio=posttool value=1 $checked3[1]>Enabled";
|
||||
$birthday=getdate($user[birthday]);
|
||||
if($user[birthday]){
|
||||
$month=$birthday[mon];
|
||||
$day=$birthday[mday];
|
||||
$year=$birthday[year];
|
||||
}
|
||||
$schemes=mysql_query('SELECT id,name FROM schemes ORDER BY ord');
|
||||
while($sch=mysql_fetch_array($schemes)){
|
||||
$sel='';
|
||||
if($sch[id]==$user[scheme]) $sel=' selected';
|
||||
$used=mysql_result(mysql_query("SELECT count(id) as cnt FROM users WHERE scheme=$sch[id]"),0,'cnt');
|
||||
$schlist.="<option value=$sch[id]$sel>$sch[name] ($used)";
|
||||
}
|
||||
$schlist="<select name=sscheme>$schlist</select>";
|
||||
$tlayouts=mysql_query('SELECT id,name FROM tlayouts ORDER BY ord');
|
||||
while($lay=mysql_fetch_array($tlayouts)){
|
||||
$sel="";
|
||||
if($lay[id]==$user[layout]) $sel=' selected';
|
||||
$used=mysql_result(mysql_query("SELECT count(id) as cnt FROM users WHERE layout=$lay[id]"),0,'cnt');
|
||||
$laylist.="<option value=$lay[id]$sel>$lay[name] ($used)";
|
||||
}
|
||||
$laylist="<select name=tlayout>$laylist</select>";
|
||||
$rsets=mysql_query('SELECT id,name FROM ranksets ORDER BY id');
|
||||
while($set=mysql_fetch_array($rsets)){
|
||||
$sel=($set[id]==$user[useranks]?' selected':'');
|
||||
$used=mysql_result(mysql_query("SELECT count(*) FROM users WHERE useranks=$set[id]"),0,0);
|
||||
$rsetlist.="<option value=$set[id]$sel>$set[name] ($used)";
|
||||
}
|
||||
$rsetlist="<select name=useranks>$rsetlist</select>";
|
||||
if(!$_POST[action] and $log){
|
||||
$lft="<tr>$tccell1><b>";
|
||||
$rgt=":</td>$tccell2l>";
|
||||
$hlft="<tr>$tccellh>";
|
||||
$hrgt="</td>$tccellh> </td>";
|
||||
squot(0,$user[name]);
|
||||
squot(0,$user[title]);
|
||||
// squot(1,$user[minipic]);
|
||||
// squot(1,$user[picture]);
|
||||
squot(0,$user[realname]);
|
||||
squot(0,$user[location]);
|
||||
// squot(1,$user[aim]);
|
||||
// squot(1,$user[imood]);
|
||||
// squot(1,$user[email]);
|
||||
// squot(1,$user[homepageurl]);
|
||||
squot(0,$user[homepagename]);
|
||||
sbr(1, $user[bio]);
|
||||
sbr(1, $user[signature]);
|
||||
sbr(1, $user[postheader]);
|
||||
print "
|
||||
<br>
|
||||
$tblstart
|
||||
<FORM ACTION=edituser.php NAME=REPLIER METHOD=POST>
|
||||
$hlft Login information $hrgt
|
||||
$lft User name $rgt$inpt=username VALUE=\"$user[name]\" SIZE=25 MAXLENGTH=25>
|
||||
$lft Password $rgt$inpp=password VALUE=\"\" SIZE=13 MAXLENGTH=32>
|
||||
$hlft Administrative bells and whistles $hrgt
|
||||
$lft Power level $rgt$levellist
|
||||
$lft Custom title $rgt$inpt=usertitle VALUE=\"$user[title]\" SIZE=60 MAXLENGTH=255>
|
||||
$lft Rank set $rgt$rsetlist
|
||||
$lft Number of posts $rgt$inpt=numposts SIZE=5 MAXLENGTH=10 VALUE=$user[posts]>
|
||||
$lft Registration time:</b>$smallfont<br>(seconds since ".date($dateformat,$tzoff).")</td>$tccell2l>$inpt=regtime SIZE=10 MAXLENGTH=15 VALUE=$user[regdate]><tr>
|
||||
$lft Lock Profile $rgt$plocking
|
||||
$lft Restrict Editing $rgt$elocking
|
||||
$hlft Appearance $hrgt
|
||||
$lft Mini picture $rgt$inpt=minipic VALUE=\"$user[minipic]\" SIZE=60 MAXLENGTH=100>
|
||||
$lft User picture $rgt$inpt=picture VALUE=\"$user[picture]\" SIZE=60 MAXLENGTH=100>
|
||||
$lft Mood avatar $rgt$inpt=moodurl VALUE=\"$user[moodurl]\" SIZE=60 MAXLENGTH=100>
|
||||
$lft Post background $rgt$inpt=postbg VALUE=\"$user[postbg]\" SIZE=60 MAXLENGTH=100>
|
||||
$lft Post header $rgt$txta=postheader ROWS=5 COLS=60>". htmlspecialchars($user[postheader]) ."</TEXTAREA>
|
||||
$lft Signature $rgt$txta=signature ROWS=5 COLS=60>". htmlspecialchars($user[signature]) ."</TEXTAREA>
|
||||
$hlft Personal information $hrgt
|
||||
$lft Sex $rgt$sexlist
|
||||
$lft Real name $rgt$inpt=realname VALUE=\"$user[realname]\" SIZE=40 MAXLENGTH=60>
|
||||
$lft Location $rgt$inpt=location VALUE=\"$user[location]\" SIZE=40 MAXLENGTH=60>
|
||||
$lft Birthday $rgt Month: $inpt=bmonth SIZE=2 MAXLENGTH=2 VALUE=$month> Day: $inpt=bday SIZE=2 MAXLENGTH=2 VALUE=$day> Year: $inpt=byear SIZE=4 MAXLENGTH=4 VALUE=$year>
|
||||
$lft Bio $rgt$txta=bio ROWS=5 COLS=60>". htmlspecialchars($user[bio]) ."</TEXTAREA>
|
||||
$hlft Online services $hrgt
|
||||
$lft Email address $rgt$inpt=email VALUE=\"$user[email]\" SIZE=60 MAXLENGTH=60>
|
||||
$lft AIM screen name $rgt$inpt=aim VALUE=\"$user[aim]\" SIZE=30 MAXLENGTH=30>
|
||||
$lft ICQ number $rgt$inpt=icq SIZE=10 MAXLENGTH=10 VALUE=$user[icq]>
|
||||
$lft Homepage title $rgt$inpt=pagename VALUE=\"$user[homepagename]\" SIZE=60 MAXLENGTH=80>
|
||||
$lft Homepage URL $rgt$inpt=homepage VALUE=\"$user[homepageurl]\" SIZE=60 MAXLENGTH=80>
|
||||
$hlft Options $hrgt
|
||||
$lft Timezone offset $rgt$inpt=timezone SIZE=5 MAXLENGTH=5 VALUE=$user[timezone]>
|
||||
$lft Posts per page $rgt$inpt=postsperpage SIZE=5 MAXLENGTH=5 VALUE=$user[postsperpage]>
|
||||
$lft Threads per page $rgt$inpt=threadsperpage SIZE=4 MAXLENGTH=4 VALUE=$user[threadsperpage]>
|
||||
$lft Use text toolbar when posting $rgt$vtool
|
||||
$lft View signatures and post headers $rgt$vsig
|
||||
$lft Thread layout $rgt$laylist
|
||||
$lft Color scheme / layout $rgt$schlist
|
||||
$lft  </td>$tccell2l>
|
||||
$inph=action VALUE=saveprofile>
|
||||
$inph=userid VALUE=$id>
|
||||
$inps=submit VALUE=\"Edit profile\"></td></FORM>
|
||||
$tblend
|
||||
";
|
||||
}
|
||||
if($_POST[action]=='saveprofile'){
|
||||
sbr(0,$signature);
|
||||
sbr(0,$bio);
|
||||
sbr(0,$postheader);
|
||||
$minipic = htmlspecialchars($minipic);
|
||||
$avatar = htmlspecialchars($avatar);
|
||||
$birthday=@mktime(0,0,0,$bmonth,$bday,$byear);
|
||||
if(!$bmonth && !$bday && !$byear) $birthday=0;
|
||||
if($password) $passedit=", `password` = '".md5($password)."'";
|
||||
//mysql_query("INSERT logs SET useraction ='Edit User ".$user[nick]."(".$user[id]."'");
|
||||
if ($sex == -378) {
|
||||
$sex = $sexn;
|
||||
}
|
||||
mysql_query("UPDATE `users` SET `posts` = '$numposts', `regdate` = '$regtime', `name` = '$username'$passedit, `picture` = '$picture', `signature` = '$signature', `bio` = '$bio', `powerlevel` = '$powerlevel', `title` = '$usertitle', `email` = '$email', `icq` = '$icq', `aim` = '$aim', `sex` = '$sex', `homepageurl` = '$homepage', `timezone` = '$timezone', `postsperpage` = '$postsperpage', `realname` = '$realname', `location` = '$location', `postbg` = '$postbg', `postheader` = '$postheader', `useranks` = '$useranks', `birthday` = '$birthday', `minipic` = '$minipic', `homepagename` = '$pagename', `scheme` = '$sscheme', `threadsperpage` = '$threadsperpage', `viewsig` = '$viewsig', `layout` = '$tlayout', `posttool` = '$posttool', `moodurl` = '$moodurl', `profile_locked` = '$profile_locked', `editing_locked` = '$editing_locked' WHERE `id` = '$userid'") or print mysql_error();
|
||||
print "
|
||||
$tblstart
|
||||
$tccell1>Thank you, $loguser[name], for editing this user.<br>
|
||||
".redirect("index.php","return to the board",0)."
|
||||
$tblend";
|
||||
}
|
||||
print $footer;
|
||||
printtimedif($startingtime);
|
||||
?>
|
223
faq.php
Normal file
@ -0,0 +1,223 @@
|
||||
<?php
|
||||
|
||||
require 'lib/function.php';
|
||||
$windowtitle = "FAQ / Rules -- $boardname";
|
||||
require 'lib/layout.php';
|
||||
|
||||
|
||||
$topiclist = "";
|
||||
$faq = "";
|
||||
if ($x_hacks['host']) {
|
||||
print "$header<br>
|
||||
$tblstart
|
||||
<tr>$tccellh>FAQ and Rules</td></tr>
|
||||
<tr>$tccell1l>Generally, this forum is for a small group of people that know each other well. You should probably think twice about registering if you don't know who the regulars are already.
|
||||
</td></tr>
|
||||
$tblend";
|
||||
|
||||
} else {
|
||||
|
||||
$faq .= faqformat("darules", "The Rules", "
|
||||
Our rules are really <i>really simple</i>, if you take the time to learn them. And you <i>should!</i>
|
||||
<ol>
|
||||
<li><b>Don't be a dick.</b> If you don't have something constructive to say, <i>don't say it!</i> This is the big one.
|
||||
<li><b>This forum's official language is English</b>. You're welcome to use other languages (if you at least post a machine translation), though. 'IM' or 'l33t' speak (such as 'u r dum lolol') isn't tolerated.
|
||||
<li><b>Be careful about bumping old threads.</b> You should only do so if you're contributing something major and new to the topic, doubly so for general discussions. If it's a hack thread, it's usually OK.
|
||||
<li><b>Be careful when double posting.</b> Replying within minutes asking if anybody has read your post is a terrible idea. Double posting after a day or two <i>with something new or updated</i> is fine, though.
|
||||
<li><b>Let the staff handle things.</b> Don't try to do our jobs for us — we'll handle problem users.
|
||||
<li><b>Don't post NSFW content without tagging it!</b> Not doing so is an instant ban. In general: <i>Think before you link.</i>
|
||||
<li><b>The staff have the final say in everything.</b> If we tell you to do something, do it. <b>No exceptions.</b>
|
||||
</ol>
|
||||
And some rules that are <i>mostly</i> specific to the ROM Hacking fora but still a good idea to follow everywhere else:
|
||||
<ol>
|
||||
<li><b>Read the stickies.</b> They're there for a reason.</li>
|
||||
<li><b>No ROM links/ROM requests!</b> If you need to upload a hack, use a patch; either IPS, UPS, or any of the other formats.</li>
|
||||
<li><b>Keep things in their forum.</b> Help/Suggestions is <i>not</i> for your hack!</li>
|
||||
</ol>
|
||||
<br>As for the punishments:
|
||||
<ol>
|
||||
<li>A warning.
|
||||
<li>A short ban to drive the point home.
|
||||
<li>Permanent ban.
|
||||
</ol>
|
||||
<br>These punishments are a guideline and may be disregarded entirely for particularly egregious screwups.
|
||||
<br>
|
||||
<br>We're often pretty relaxed, but constantly breaking the rules will get you banned fast.
|
||||
<br>
|
||||
<br>If you have any questions, feel free to ask <a href='memberlist.php?pow=3'>one of the admins</a> for help.
|
||||
<!--
|
||||
<center><img src='http://i55.photobucket.com/albums/g138/shalpp/1262546103597.jpg' title='NO. FUN. ALLOWED.'></center>
|
||||
-->
|
||||
");
|
||||
|
||||
|
||||
$faq .= faqformat("aboot", "About Jul", "
|
||||
Jul itself is a community made up of people who predominantly like to just hang around friendlies and talk about whatever, though we also like games and occasionally anime/other things.
|
||||
");
|
||||
|
||||
$faq .= faqformat("newbies", "I'm new here. Where should I start?", "
|
||||
Always, by reading the rules... but since you're here, it's <i>probably</i> a safe bet that you've already done that. (If you haven't, <i>now is a great time.</i>)
|
||||
<br>
|
||||
<br>Once you've done that, <a href='register.php'>sign up for an account</a> (or <a href='login.php'>log in</a> if you've already made one). It's simple and very easy to do. After you're registered, you're more than welcome to just <a href='newthread.php?id=1'>jump in and say hi</a>. We're friendly people and won't bite (usually). Let us know about yourself, how you found us, or whatever's on your mind — or just jump in and start contributing to discussions.
|
||||
");
|
||||
|
||||
/*
|
||||
$faq .= faqformat("n00b", "I have this <img src='http://xkeeper.net/img/noobsticker2-4.png' alt='n00b' title='TKEP regulars know this one' align='absmiddle' style='margin-top: -4px; margin-bottom: -4px;'> sticker on my post. What's up with that?", "
|
||||
The n00b sticker is our way of telling you that your post was pretty awful. Usually it's for one of the following reasons:
|
||||
<ol>
|
||||
<li>Complete disregard for our rules. If you show that you really can't even be bothered to read the small number of rules we have here, you're going to wear your welcome out <em>very</em> fast.</li>
|
||||
<li>Flagrant lack of basic knowledge. For example, if there's a sticky saying 'don't make a new thread for this' and you make a new thread for it, that's a big sign that you don't read the rules.</li>
|
||||
<li>Using dumb memes or bandwagoning. Everybody loves a laugh every now and then. Nobody loves it being rammed down their throat every five seconds.</li>
|
||||
<li>Terrible spelling or grammar. This is beyond the occasional misspelling (even the best of us make mistakes), but if you make a post loaded with \"Your a looser\", well...</li>
|
||||
<li>Your post is just mind-bogglingly terrible or groan-worthy.</li>
|
||||
</ol>
|
||||
The n00b sticker is something of a mark of shame. Usually it's an early warning indicator before we start taking issues with your actions on a broader scale, so if you see them, you should probably shape up. Note, however, that they can just as similarly be used as a joke.
|
||||
<br>
|
||||
<br><strong>Remember:</strong> The fastest way to get yourself stamped is to make a big deal out of it.
|
||||
");
|
||||
*/
|
||||
|
||||
$faq .= faqformat("halp", "I've got a question and I need some help, or I found a bug somewhere.", "
|
||||
<a href='forum.php?id=39'>Post it in the forum here</a>, or alternatively just message the <a href='sendprivate.php?userid=1'>main administrator</a>. If it's a security bug in the code, we <i>really</i> recommend the latter.
|
||||
");
|
||||
|
||||
$faq .= faqformat("band", "I've been banned. Now what?", "
|
||||
You can try checking your title (under your username in your posts) to find out the reason and when it expires. If there's no expiration, it's probably <i>permanent</i>. If you're post due for unbanning, <a href='sendprivate.php?userid=1'>let an admin know</a> and they'll take care of it.
|
||||
<br>
|
||||
<br>On the other hand, if it's permanent, you can always try to show us you've changed and request a <i>second chance</i>... but any further antics after that will usually get your account <b>deleted</b>.
|
||||
");
|
||||
|
||||
$faq .= faqformat("cantpass", "I've lost/forgotten my password. Now what?", "
|
||||
The best thing you can do is to <a href='profile.php?id=1'>contact Xkeeper directly</a>. He can help you get it fixed.
|
||||
");
|
||||
|
||||
|
||||
$faq .= faqformat("frosteddonut", "I want to throw money at you guys. How do I do that?", "
|
||||
Really? How generous.
|
||||
<br>
|
||||
<br>Donations with this button go straight to the hosting bill, and we can't withdraw them, so you don't have to worry about us secretly buying drugs or other fancy stuff with your money.
|
||||
<br>
|
||||
<br>However, there is a slight fee involved, so suffice it to say it's often better to donate $20 at once intead of ten $2 donations.
|
||||
<br>
|
||||
<br><a href=\"http://www.dreamhost.com/donate.cgi?id=11617\"><img border=\"0\" alt=\"Donate towards Jul's web hosting!\" title='Click this and give us your money.' src=\"https://secure.newdream.net/donate1.gif\" /></a>
|
||||
<br>
|
||||
<br>Thanks in advance.
|
||||
<br>
|
||||
<br>At some point we plan on getting a 'donor star' for those who paid our bills... other than that, there isn't really any other benefit than a warm, fuzzy feeling.
|
||||
");
|
||||
|
||||
|
||||
$faq .= faqformat("leganese", "Legal Crap", "
|
||||
The site does not own and cannot be held responsible for statements made by members on the forum. This site is offered as-is to the user. Any statements made on the board may be altered or removed at the discretion of the staff.
|
||||
<br>
|
||||
<br>We do not sell member information like e-mail addresses or passwords to any third party. Data entered into user profiles is completely optional and may be left out at the user's discretion; however, doing so may complicate matters such as account recovery.
|
||||
");
|
||||
|
||||
|
||||
print "$header<br>
|
||||
|
||||
$tblstart
|
||||
<tr>$tccellh>FAQ and Rules</td></tr>
|
||||
<tr>$tccell1l><b>Table of Contents</b>:
|
||||
<ul>
|
||||
$topiclist
|
||||
</ul></td></tr>
|
||||
$tblend
|
||||
|
||||
$faq
|
||||
";
|
||||
|
||||
|
||||
|
||||
/*
|
||||
print "<br>
|
||||
$tblstart
|
||||
<tr>$tccell1l>
|
||||
<b>What is this forum all about?</b>
|
||||
<br>Gaming, the internet in general, emulation, and rarely, ROM hacking. Though SM64 hacking is rather popular, considering.
|
||||
<br>
|
||||
|
||||
<br><b>Okay, I'm new here. Where should I start?</b>
|
||||
<br>First off, read the rules before. They're not that long, and not that hard to follow; it'll make your life here a lot easier.
|
||||
<br>Next, feel free to <a href='newthread.php?id=1'>drop by and say hello</a>. Tell us about yourself, how you found out about us, or anything -- or just jump in and start posting.
|
||||
<br>It's up to you.
|
||||
<br>
|
||||
|
||||
|
||||
<br><b>What about the rules?</b>
|
||||
<br>Honestly, we follow <a href='http://forums.sonicretro.org/index.php?showtopic=11220'>Sonic Retro's ruleset</a> pretty closely, so read up there. Some things aren't relevant to here, though.
|
||||
<br>The gist of it:
|
||||
<ol>
|
||||
<li>Don't try talking in anything other than well-written English. If you are posting in another language, include an English translation, even if by machine. 'lulz-speak' is not tolerated here.
|
||||
<li>Don't be a dick. Nobody likes dicks. This includes posting just to complain about something forum-related, especially temporary.
|
||||
<li>Don't bump old (more than a month or two) threads without a decent reason.
|
||||
<li>Don't post blank, repeated, or completely off-topic replies.
|
||||
<li>Don't backseat mod. We're the staff, you aren't.
|
||||
<li>NSFW content must be <b>linked</b> and <b>tagged as such</b>. Not doing so is an instant permanent ban. (It's best to just not post it)
|
||||
<li>Admins are the final rules. If we tell you to do something, do it. <b>No exceptions.</b>
|
||||
</ol>As for the punishments:
|
||||
<ol>
|
||||
<li>Subtle warning.
|
||||
<li>More obvious warning, usually via PM.
|
||||
<li>Ban.
|
||||
</ol>We're pretty leinient, but we have limits.
|
||||
<br>
|
||||
|
||||
|
||||
<br><b>Something isn't working right.</b>
|
||||
<br><a href='forum.php?id=39'>Great, let us know.</a> We <i>love</i> fixing bugs.
|
||||
<br>
|
||||
|
||||
<br><b>I've been banned!</b>
|
||||
<br>You probably did something against the rules and pissed off the staff. Check your title, it usually includes information as to why.
|
||||
<br>
|
||||
|
||||
<br><b>No, I want to be <i>unbanned!</i></b>
|
||||
<br>Great. First of all, <a href='sendprivate.php?userid=1'>let us know</a>. If you can prove that you've learned your lesson, we'll give you another chance.
|
||||
<br>If you decide to evade your ban by reregistering, we will IP ban you and you will be prohibited from viewing this site, even via proxies. If you're stupid enough to try requesting unbanning again, <a href='http://xkeeper.shacknet.nu:5/docs/temp/lulz/megamoron.php'>well...</a>
|
||||
<br>
|
||||
|
||||
<br><b>I'm g0nn4 h4x0rz ur 4um</b>
|
||||
<br>Sure you are. We've dealt with little script kiddies like you, and we know pretty much how you work. You might find one exploit somewhere, but we take daily backups and are sure to patch up the holes as soon as we find them.
|
||||
<br>
|
||||
|
||||
<br><b>I have a question that you didn't answer (enough).</b>
|
||||
<br><a href='forum.php?id=39'>Let us know</a>.
|
||||
<br>
|
||||
|
||||
<br><b>General Disclaimer</b> (i.e., Legal Crap)
|
||||
<br>The site does not own and cannot be held responsible for statements made by members on the forum. This site is offered as-is to the user. Any statements made on the board may be altered or removed at the discretion of the staff.
|
||||
<br>We do not sell member information like e-mail addresses or passwords to any third party. Data entered into user profiles is completely optional and may be left out at the user's discretion; however, doing so may complicate matters such as account recovery.
|
||||
</td></tr>
|
||||
$tblend
|
||||
";
|
||||
*/
|
||||
}
|
||||
|
||||
print "
|
||||
<br><br>
|
||||
|
||||
$footer
|
||||
";
|
||||
printtimedif($startingtime);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function faqformat($a, $title, $content) {
|
||||
global $tblstart, $tccellh, $tccell1l, $tblend, $topiclist;
|
||||
|
||||
$topiclist .= "\n\t\t<li><a href='#$a'>$title</a></li>";
|
||||
|
||||
return "<br><br><a name='$a'></a>
|
||||
$tblstart
|
||||
<tr>$tccellh><div style='float: right;'>[<a href='#top'>^</a>]</div><b>$title</b></td></tr>
|
||||
<tr>$tccell1l style='padding: 4px;'>$content
|
||||
</td></tr>
|
||||
$tblend
|
||||
";
|
||||
}
|
||||
|
||||
|
||||
?>
|
BIN
favicon.ico
Normal file
After Width: | Height: | Size: 894 B |
3
favicon.php
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
header("Location: favicon". rand(1,8) .".ico");
|
||||
return;
|
36
favorites.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
require "lib/function.php";
|
||||
require "lib/layout.php";
|
||||
if (!$loguser) {
|
||||
die("Registered users only, bud.");
|
||||
}
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == "GET") {
|
||||
$ppp = (!$log?20:$loguser["postsperpage"]);
|
||||
$tpp = (!$log?50:$loguser["threadsperpage"]);
|
||||
$min = $page*$ppp;
|
||||
|
||||
$favorited = mysql_query("SELECT threads.*,u1.name AS name1,u1.sex AS sex1,u1.powerlevel AS power1,u2.name AS name2,u2.sex AS sex2,u2.powerlevel AS power2,minpower FROM threads,users AS u1,users AS u2,forums,favorites WHERE u1.id=threads.user AND u2.id=threads.lastposter AND favorites.thread=threads.id AND favorites.user=$loguserid AND forums.id=forum ORDER BY sticky DESC,lastpostdate DESC LIMIT $min,$tpp");
|
||||
|
||||
$lastreplied = mysql_query("SELECT COUNT(threads.id) AS posted_count, threads.id, threads.title, threads.lastpostdate, posts.user, posts.thread, posts.date, posts.id FROM threads LEFT JOIN posts on posts.thread=threads.id WHERE posts.user=$loguserid GROUP BY threads.id ORDER BY posts.id DESC LIMIT $min,$tpp");
|
||||
if (IS_AJAX_REQUEST == true) {
|
||||
header("Content-Type: text/plain");
|
||||
$out = Array();
|
||||
while ($res = mysql_fetch_assoc($favorited)) {
|
||||
$threadid = '"id":"'.$res["id"].'"';
|
||||
$title = '"title":"'.str_replace("\\","\\\\",$res["title"]).'"';
|
||||
$out[] = '{'.implode(",",Array($threadid,$title)).'}';
|
||||
}
|
||||
print "[".implode(",",$out)."]";
|
||||
} else {
|
||||
print $header;
|
||||
$TEMPLATE_VARS = array("lastreplied" => $lastreplied, "favorited" => $favorited);
|
||||
include "templates/favorites.php";
|
||||
print array_key_exists("HTTP-X-HTTP-REQUESTED-WITH", $_SERVER);
|
||||
print IS_AJAX_REQUEST==true;
|
||||
print $footer;
|
||||
}
|
||||
} elseif ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
|
||||
}
|
||||
|
236
forum.php
Normal file
@ -0,0 +1,236 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
|
||||
if($user){
|
||||
$user1=mysql_fetch_array(mysql_query("SELECT name,sex,powerlevel FROM users WHERE id=$user"));
|
||||
$forum[title]="Threads by $user1[name]";
|
||||
}elseif($fav or ($act and $thread)){
|
||||
$forum[title]='Favorites';
|
||||
} else { # Default case, show forum with id
|
||||
$id = intval($id);
|
||||
$forum=mysql_fetch_array(mysql_query("SELECT title,minpower,numthreads FROM forums WHERE id=$id"));
|
||||
$threadcount=$forum[numthreads];
|
||||
$postread=readpostread($loguserid);
|
||||
global $fourmid;
|
||||
$forumid=$id;
|
||||
}
|
||||
|
||||
$windowtitle="$boardname -- $forum[title]";
|
||||
require 'lib/layout.php';
|
||||
|
||||
if ($act=='add') {
|
||||
$t=mysql_fetch_array(mysql_query("SELECT title,forum FROM threads WHERE id=$thread"));
|
||||
$f=mysql_fetch_array(mysql_query("SELECT minpower FROM forums WHERE id=$t[forum]"));
|
||||
mysql_query("DELETE FROM favorites WHERE user=$loguserid AND thread=$thread");
|
||||
if($f[minpower]<1 or $f[minpower]<=$power) mysql_query("INSERT INTO favorites (user,thread) VALUES ($loguserid,$thread)");
|
||||
print "$header<br>$tblstart$tccell1>\"$t[title]\" has been added to your favorites.<br>".redirect("forum.php?id=$t[forum]",'return to the forum',0).$tblend.$footer;
|
||||
printtimedif($startingtime);
|
||||
die();
|
||||
} elseif($act=='rem') {
|
||||
$t=mysql_fetch_array(mysql_query("SELECT title,forum FROM threads WHERE id=$thread"));
|
||||
mysql_query("DELETE FROM favorites WHERE user=$loguserid AND thread=$thread");
|
||||
print "$header<br>$tblstart$tccell1>\"$t[title]\" has been removed from your favorites.<br>".redirect("forum.php?id=$t[forum]",'return to the forum',0).$tblend.$footer;
|
||||
printtimedif($startingtime);
|
||||
die();
|
||||
}
|
||||
if($id) $fonline=fonlineusers($id);
|
||||
$hotcount=mysql_result(mysql_query('SELECT hotcount FROM misc'),0,0);
|
||||
if($log && $id){
|
||||
$headlinks.=" - <a href=index.php?action=markforumread&forumid=$id>Mark forum read</a>";
|
||||
}
|
||||
$header=makeheader($header1,$headlinks,$header2 ." $tblstart$tccell1s>$fonline$tblend");
|
||||
|
||||
if(!$ppp) $ppp=(!$log?20:$loguser[postsperpage]);
|
||||
if(!$tpp) $tpp=(!$log?50:$loguser[threadsperpage]);
|
||||
if($id) {
|
||||
if (!$forum['nopolls']) {
|
||||
$newpollx = "<a href=newthread.php?poll=1&id=$id>$newpollpic</a> - ";
|
||||
} else {
|
||||
$newpollx = "<img src=\"images/nopolls.png\" align=\"absmiddle\"> - ";
|
||||
}
|
||||
$newpost="<td align=right class=fonts>$newpollx<a href=newthread.php?id=$id>$newthreadpic</a>";
|
||||
}
|
||||
|
||||
print "
|
||||
$header
|
||||
<table width=100%><td align=left>$fonttag<a href=index.php>$boardname</a> - $forum[title]</td>
|
||||
$newpost
|
||||
</table>
|
||||
$tblstart
|
||||
";
|
||||
if($forum[minpower]>0 and ($log and $power<$forum[minpower]))
|
||||
print "
|
||||
$tccell1>Couldn't enter this restricted forum, as you don't have access to it.<br>
|
||||
".redirect('index.php','return to the board',0);
|
||||
elseif($forum[minpower]>0 and !$log)
|
||||
print "
|
||||
$tccell1>Couldn't enter this restricted forum, as you are not logged in.<br>
|
||||
".redirect('login.php','log in (then try again)',0);
|
||||
else{
|
||||
if($id){
|
||||
$anncs=mysql_query('SELECT announcements.id,user,date,announcements.title,name,sex,powerlevel FROM announcements,users WHERE forum=0 AND user=users.id ORDER BY date DESC LIMIT 1');
|
||||
if($annc=mysql_fetch_array($anncs)){
|
||||
$namecolor=getnamecolor($annc[sex],$annc[powerlevel]);
|
||||
print "
|
||||
<td colspan=7 class='tbl tdbgh center fonts'>Announcements<tr>
|
||||
<td class='tbl tdbg2 font center'>". ($loguser['lastannouncement'] < $annc['id'] && $loguser['id'] ? $newpic : " ") ."</td>
|
||||
<td colspan=6 class='tbl tdbg1 font'><a href=announcement.php>$annc[title]</a> -- Posted by <a href=profile.php?id=$annc[user]><font $namecolor>$annc[name]</font></a> on ".date($dateformat,$annc[date]+$tzoff)."<tr>
|
||||
";
|
||||
}
|
||||
$anncs=mysql_query("SELECT user,date,announcements.title,name,sex,powerlevel FROM announcements,users WHERE forum=$id AND user=users.id ORDER BY date DESC LIMIT 1");
|
||||
if($annc=mysql_fetch_array($anncs)){
|
||||
$namecolor=getnamecolor($annc[sex],$annc[powerlevel]);
|
||||
print "
|
||||
$tccellhs colspan=7>Forum announcements<tr>
|
||||
$tccell1l colspan=7><a href=announcement.php?f=$id>$annc[title]</a> -- Posted by <a href=profile.php?id=$annc[user]><font $namecolor>$annc[name]</font></a> on ".date($dateformat,$annc[date]+$tzoff)."<tr>
|
||||
";
|
||||
}
|
||||
}
|
||||
print "
|
||||
$tccellh width=30></td>
|
||||
$tccellh colspan=2> Thread</td>
|
||||
$tccellh>Started by</td>
|
||||
$tccellh width=60> Replies</td>
|
||||
$tccellh width=60> Views</td>
|
||||
$tccellh width=150> Last post<tr>
|
||||
";
|
||||
$min=$page*$tpp;
|
||||
|
||||
if($id) $threads=mysql_query("SELECT t.*,u1.name AS name1,u1.sex AS sex1,u1.powerlevel AS power1,u2.name AS name2,u2.sex AS sex2,u2.powerlevel AS power2". ($log ? ", r.read AS tread, r.time as treadtime " : " ")
|
||||
."FROM threads t "
|
||||
.($log ? "LEFT JOIN threadsread r ON (t.id=r.tid AND r.uid=$loguser[id]) " : "")
|
||||
.",users u1,users u2 "
|
||||
."WHERE forum=$id "
|
||||
."AND u1.id=t.user "
|
||||
."AND u2.id=t.lastposter "
|
||||
."ORDER BY sticky DESC,lastpostdate DESC "
|
||||
# ."ORDER BY lastpostdate DESC "
|
||||
."LIMIT $min,$tpp") or print mysql_error();
|
||||
|
||||
// if($id) $threads=mysql_query("SELECT t.*,u1.name AS name1,u1.sex AS sex1,u1.powerlevel AS power1,u2.name AS name2,u2.sex AS sex2,u2.powerlevel AS power2 FROM threads t,users u1,users u2 WHERE forum=$id AND u1.id=t.user AND u2.id=t.lastposter ORDER BY sticky DESC,lastpostdate DESC LIMIT $min,$tpp");
|
||||
|
||||
elseif($user){
|
||||
$threadcount=mysql_result(mysql_query("SELECT COUNT(*) FROM threads where user=$user"),0,0);
|
||||
$threads=mysql_query("SELECT threads.*,'".addslashes($user1[name])."' AS name1,$user1[sex] AS sex1,$user1[powerlevel] AS power1,name AS name2,sex AS sex2,powerlevel AS power2,minpower FROM threads,users,forums WHERE user=$user AND users.id=threads.lastposter AND forums.id=forum ORDER BY sticky DESC,lastpostdate DESC LIMIT $min,$tpp");
|
||||
}elseif($fav){
|
||||
if(!$u or !$isadmin) $u=$loguserid;
|
||||
$threadcount=mysql_result(mysql_query("SELECT COUNT(*) FROM favorites where user=$u"),0,0);
|
||||
$threads=mysql_query("SELECT threads.*,u1.name AS name1,u1.sex AS sex1,u1.powerlevel AS power1,u2.name AS name2,u2.sex AS sex2,u2.powerlevel AS power2,minpower FROM threads,users AS u1,users AS u2,forums,favorites WHERE u1.id=threads.user AND u2.id=threads.lastposter AND favorites.thread=threads.id AND favorites.user=$u AND forums.id=forum ORDER BY sticky DESC,lastpostdate DESC LIMIT $min,$tpp");
|
||||
}
|
||||
if($threadcount>$tpp){
|
||||
$query=($id?"id=$id":"user=$user");
|
||||
$pagelinks2=$smallfont."Pages:";
|
||||
for($k=0;$k<($threadcount/$tpp);$k++)
|
||||
$pagelinks2.=($k!=$page?" <a href=forum.php?$query&page=$k>".($k+1).'</a>':' '.($k+1));
|
||||
}
|
||||
$sticklast=0;
|
||||
for($i=1;$thread=@mysql_fetch_array($threads, MYSQL_ASSOC);$i++){
|
||||
if($sticklast and !$thread[sticky]) print "<tr>$tccellh colspan=7><img src='images/_.gif' height=6 width=6>";
|
||||
$sticklast=$thread[sticky];
|
||||
# $thread['sticky'] = 0;
|
||||
|
||||
$new = " ";
|
||||
$newpost = false;
|
||||
$threadstatus = "";
|
||||
|
||||
if((($thread[lastpostdate]>$postread[$id] && !$thread['tread']) and $log and $id) or ($thread[lastpostdate]>ctime()-3600 and (!$log or !$id))){
|
||||
$threadstatus .= "new";
|
||||
$newpost = true;
|
||||
$newpostt = ($log ? ($thread['treadtime'] ? $thread['treadtime'] : $postread[$id]) : ctime() - 3600);
|
||||
}
|
||||
|
||||
if ($thread['replies'] >= $hotcount and $hotcount) $threadstatus .= "hot";
|
||||
if ($thread['closed']) $threadstatus .= "off";
|
||||
if ($threadstatus) $new = $statusicons[$threadstatus];
|
||||
|
||||
$posticon="<img height='15' src='$thread[icon]'>";
|
||||
$pagelinks='';
|
||||
if($thread[replies]>=$ppp){
|
||||
// $pagelinks=$smallfont.'(Pages:';
|
||||
// for($k=0;$k<(($thread[replies]+1)/$ppp);$k++) $pagelinks.=" <a href=thread.php?id=$thread[id]&page=$k>".($k+1).'</a>';
|
||||
// $pagelinks.=')';
|
||||
if ($loguser['pagestyle']) {
|
||||
$pagelinks = "<br><span class=\"fonts\" style=\"position: relative; top: -1px;\"> Page:";
|
||||
$totalpages = (($thread[replies]+1)/$ppp);
|
||||
$xxx = false;
|
||||
for($k=0; $k < $totalpages; $k++) {
|
||||
if ($totalpages >= 30) {
|
||||
if ($k <= 9 || $k >= ($totalpages - 20))
|
||||
$pagelinks.=" <a href='thread.php?id=$thread[id]&page=$k'>".($k+1).'</a>';
|
||||
elseif (!$xxx) {
|
||||
$pagelinks .= " ...";
|
||||
$xxx = true;
|
||||
}
|
||||
} else {
|
||||
$pagelinks.=" <a href='thread.php?id=$thread[id]&page=$k'>".($k+1).'</a>';
|
||||
}
|
||||
}
|
||||
$pagelinks.="</span>";
|
||||
} else {
|
||||
$pagelinks=$smallfont.'(Pages:';
|
||||
$totalpages = (($thread[replies]+1)/$ppp);
|
||||
$xxx = false;
|
||||
for($k=0; $k < $totalpages; $k++) {
|
||||
if ($totalpages >= 20) {
|
||||
if ($k <= 4 || $k >= ($totalpages - 10))
|
||||
$pagelinks.=" <a href='thread.php?id=$thread[id]&page=$k'>".($k+1).'</a>';
|
||||
elseif (!$xxx) {
|
||||
$pagelinks .= " ...";
|
||||
$xxx = true;
|
||||
}
|
||||
} else {
|
||||
$pagelinks.=" <a href='thread.php?id=$thread[id]&page=$k'>".($k+1).'</a>';
|
||||
}
|
||||
}
|
||||
$pagelinks.=')';
|
||||
}
|
||||
}
|
||||
/*
|
||||
$thread[title]=str_replace('&','&',$thread[title]);
|
||||
$thread[title]=str_replace('<','<',$thread[title]);
|
||||
$thread[title]=str_replace('>','>',$thread[title]);
|
||||
$thread[title]=str_replace("\t","DUMB FUCKING BLANK THREAD (trollface.jpg)",$thread[title]);
|
||||
*/
|
||||
if (trim($thread['title']) == "") {
|
||||
$thread['title'] = "<i>hurr durr i'm an idiot who made a blank thread</i>";
|
||||
}
|
||||
|
||||
$threadtitle = "<a href='thread.php?id=$thread[id]'>$thread[title]</a>";
|
||||
$sicon = "";
|
||||
if ($thread['sticky']) {
|
||||
$threadtitle = "<i>". $threadtitle ."</i>";
|
||||
$sicon .= "sticky";
|
||||
}
|
||||
if ($thread['poll']) $sicon .= "poll";
|
||||
if ($sicon) {
|
||||
$threadtitle = $statusicons[$sicon] ." ". $threadtitle;
|
||||
}
|
||||
/*
|
||||
$threadtitle =
|
||||
($thread[sticky]?'Sticky'.($thread[poll]?' poll':'').': ':($thread[poll]?'Poll: ':''))
|
||||
.(($thread[sticky] or $thread[poll])?"<i>$threadtitle</i>":$threadtitle);
|
||||
*/
|
||||
if(!$thread[icon]) $posticon=' ';
|
||||
if($i>1) print '<tr>';
|
||||
$namecolor1=getnamecolor($thread[sex1],$thread[power1]);
|
||||
$namecolor2=getnamecolor($thread[sex2],$thread[power2]);
|
||||
if ($hp_hacks['prefix_disable'] == false) {
|
||||
$thread[name1] = pick_any($hp_hacks['prefix']) . " " . $thread[name1];
|
||||
$thread[name2] = pick_any($hp_hacks['prefix']) . " " . $thread[name2];
|
||||
}
|
||||
if((($user or $fav) && ($thread[minpower]<1 or $thread[minpower]<=$power)) or $id){
|
||||
print "
|
||||
$tccell1>$new</td>
|
||||
$tccell2>$posticon</td>
|
||||
$tccell2l>". ($newpost ? "<a href='thread.php?id=$thread[id]&lpt=". $newpostt ."'>". $statusicons['getnew'] ."</a> " : "") ."$threadtitle $pagelinks</td>
|
||||
$tccell2><a href='profile.php?id=$thread[user]'><font $namecolor1>$thread[name1]</td>
|
||||
$tccell1>$thread[replies]</td>
|
||||
$tccell1>". ($thread['views'] < 65535 ? $thread['views'] : $thread['views']) ."</td>
|
||||
$tccell2><div class='lastpost'>".date($dateformat,$thread[lastpostdate]+$tzoff)."<br>by <a href='profile.php?id=$thread[lastposter]'><font $namecolor2>$thread[name2]</font></a></div></td>";
|
||||
} else print "$tccell2s colspan=7>(restricted)";
|
||||
}
|
||||
}
|
||||
print "$tblend$pagelinks2<br>".doforumlist($id).$footer;
|
||||
|
||||
printtimedif($startingtime);
|
||||
?>
|
44
hex.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
require 'lib/function.php';
|
||||
require 'lib/layout.php';
|
||||
print "
|
||||
$body
|
||||
<title>Hexadecimal color chart</title>
|
||||
$css
|
||||
<script language=javascript>
|
||||
function hex(val){
|
||||
colortext = document.getElementById('hexval');
|
||||
colorbox = document.getElementById('colordisp');
|
||||
reg = /^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$/;
|
||||
|
||||
if (val.match(reg)) {
|
||||
colorbox.style.background = '#' + val;
|
||||
}
|
||||
colortext.value = val;
|
||||
}
|
||||
</script>
|
||||
<form name=hexchart>
|
||||
<map name=colmap>";
|
||||
for($g=0;$g<6;$g++)
|
||||
for($r=0;$r<6;$r++)
|
||||
for($b=0;$b<6;$b++){
|
||||
$x1=$b*8+$r*48+1;
|
||||
$y1=$g*11+1;
|
||||
$x2=$x1+8;
|
||||
$y2=$y1+11;
|
||||
$c=substr(dechex(16777216+$r*51*65536+(5-$g)*51*256+$b*51),-6);
|
||||
print "<area shape=rect coords=$x1,$y1,$x2,$y2 href=javascript:hex('$c')>";
|
||||
}
|
||||
print "
|
||||
</map>
|
||||
<table height=100% valign=middle align='center'><td>
|
||||
$tblstart
|
||||
$tccell1>
|
||||
<a><img usemap=#colmap src=images/hexchart.png border=0 width=289 height=67></a><br>
|
||||
Click a color to get its HTML color value.
|
||||
<br><span style='border: 1px solid #fff;' id='colordisp'><img src='images/_.gif' height=20 width=60'></span> - #$inpt=hexval size=6 value='000000' id='hexval' onkeyup='hex(value)' maxlength=6>
|
||||
$tblend
|
||||
</form>
|
||||
$tblend
|
||||
";
|
||||
?>
|
BIN
images/coin.gif
Normal file
After Width: | Height: | Size: 528 B |
BIN
images/coin2.gif
Normal file
After Width: | Height: | Size: 528 B |
BIN
images/hot.gif
Normal file
After Width: | Height: | Size: 879 B |
BIN
images/hotnew.gif
Normal file
After Width: | Height: | Size: 881 B |
BIN
images/hotoff.gif
Normal file
After Width: | Height: | Size: 877 B |
BIN
images/icons/icon1.gif
Normal file
After Width: | Height: | Size: 149 B |
BIN
images/icons/icon13.gif
Normal file
After Width: | Height: | Size: 123 B |
BIN
images/icons/icon14.gif
Normal file
After Width: | Height: | Size: 143 B |
BIN
images/icons/icon2.gif
Normal file
After Width: | Height: | Size: 135 B |
BIN
images/icons/icon3.gif
Normal file
After Width: | Height: | Size: 156 B |
BIN
images/icons/icon4.gif
Normal file
After Width: | Height: | Size: 173 B |
BIN
images/icons/icon5.gif
Normal file
After Width: | Height: | Size: 173 B |
BIN
images/icons/nsfwicon.gif
Normal file
After Width: | Height: | Size: 571 B |
BIN
images/jul/bar-off.gif
Normal file
After Width: | Height: | Size: 835 B |
BIN
images/jul/bar-on.gif
Normal file
After Width: | Height: | Size: 835 B |
BIN
images/jul/barleft.gif
Normal file
After Width: | Height: | Size: 816 B |
BIN
images/jul/barright.gif
Normal file
After Width: | Height: | Size: 816 B |
BIN
images/new.gif
Normal file
After Width: | Height: | Size: 881 B |
BIN
images/newpoll.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
images/newreply.png
Normal file
After Width: | Height: | Size: 220 B |
BIN
images/newthread.png
Normal file
After Width: | Height: | Size: 230 B |
BIN
images/off.gif
Normal file
After Width: | Height: | Size: 877 B |
BIN
images/offhotnew.gif
Normal file
After Width: | Height: | Size: 881 B |
BIN
images/offnew.gif
Normal file
After Width: | Height: | Size: 881 B |
BIN
images/rpg/font.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
images/rpg/fontgrid.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
images/smilies/affun.gif
Normal file
After Width: | Height: | Size: 893 B |
BIN
images/smilies/annoyed.gif
Normal file
After Width: | Height: | Size: 163 B |
BIN
images/smilies/approved.gif
Normal file
After Width: | Height: | Size: 878 B |
BIN
images/smilies/argh.gif
Normal file
After Width: | Height: | Size: 185 B |
BIN
images/smilies/awesome.png
Normal file
After Width: | Height: | Size: 332 B |
BIN
images/smilies/awesomexz.png
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
images/smilies/baby.gif
Normal file
After Width: | Height: | Size: 151 B |
BIN
images/smilies/bigeyes.gif
Normal file
After Width: | Height: | Size: 180 B |
BIN
images/smilies/bigeyes2.gif
Normal file
After Width: | Height: | Size: 180 B |
BIN
images/smilies/biggrin.gif
Normal file
After Width: | Height: | Size: 163 B |
BIN
images/smilies/bigsad.gif
Normal file
After Width: | Height: | Size: 435 B |
BIN
images/smilies/blank.gif
Normal file
After Width: | Height: | Size: 171 B |
BIN
images/smilies/boatanchor.png
Normal file
After Width: | Height: | Size: 654 B |
BIN
images/smilies/cry.gif
Normal file
After Width: | Height: | Size: 167 B |
BIN
images/smilies/cute.gif
Normal file
After Width: | Height: | Size: 169 B |
BIN
images/smilies/cute2.gif
Normal file
After Width: | Height: | Size: 162 B |
BIN
images/smilies/damnyou.gif
Normal file
After Width: | Height: | Size: 364 B |
BIN
images/smilies/darkaffun.gif
Normal file
After Width: | Height: | Size: 895 B |
BIN
images/smilies/denied.gif
Normal file
After Width: | Height: | Size: 872 B |
BIN
images/smilies/dizzy.gif
Normal file
After Width: | Height: | Size: 170 B |
BIN
images/smilies/drool.gif
Normal file
After Width: | Height: | Size: 173 B |
BIN
images/smilies/durnip.gif
Normal file
After Width: | Height: | Size: 906 B |
BIN
images/smilies/durnip2.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
images/smilies/eek.gif
Normal file
After Width: | Height: | Size: 173 B |
BIN
images/smilies/emot-colbert.gif
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
images/smilies/emot-effort.gif
Normal file
After Width: | Height: | Size: 497 B |
BIN
images/smilies/emot-laffotarget.gif
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
images/smilies/emot-protarget.gif
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
images/smilies/emot-shepface.gif
Normal file
After Width: | Height: | Size: 1017 B |
BIN
images/smilies/eng101.gif
Normal file
After Width: | Height: | Size: 1012 B |
BIN
images/smilies/eng101.png
Normal file
After Width: | Height: | Size: 344 B |
BIN
images/smilies/evil.gif
Normal file
After Width: | Height: | Size: 176 B |
BIN
images/smilies/ewww.gif
Normal file
After Width: | Height: | Size: 171 B |
BIN
images/smilies/eyeshift.gif
Normal file
After Width: | Height: | Size: 172 B |
BIN
images/smilies/eyeshift2.gif
Normal file
After Width: | Height: | Size: 169 B |
BIN
images/smilies/flunked.png
Normal file
After Width: | Height: | Size: 579 B |
BIN
images/smilies/frown.gif
Normal file
After Width: | Height: | Size: 167 B |
BIN
images/smilies/glare.png
Normal file
After Width: | Height: | Size: 212 B |
BIN
images/smilies/glasses.gif
Normal file
After Width: | Height: | Size: 173 B |
BIN
images/smilies/gonk.gif
Normal file
After Width: | Height: | Size: 356 B |
BIN
images/smilies/heart2.gif
Normal file
After Width: | Height: | Size: 232 B |
BIN
images/smilies/icon_cool.gif
Normal file
After Width: | Height: | Size: 172 B |
BIN
images/smilies/icon_lol.gif
Normal file
After Width: | Height: | Size: 336 B |
BIN
images/smilies/jawdrop.gif
Normal file
After Width: | Height: | Size: 180 B |
BIN
images/smilies/laheart.gif
Normal file
After Width: | Height: | Size: 888 B |
BIN
images/smilies/lol.gif
Normal file
After Width: | Height: | Size: 163 B |
BIN
images/smilies/mad.gif
Normal file
After Width: | Height: | Size: 169 B |