"; if(!ini_get('register_globals')){ $supers=array('_ENV', '_SERVER', '_GET', '_POST', '_COOKIE',); foreach($supers as $__s) if (is_array($$__s)) extract($$__s, EXTR_SKIP); unset($supers); } // determine if the current request is an ajax request, currently only a handful of libraries // set the x-http-requested-with header, with the value "XMLHttpRequest" if (!empty($_SERVER["HTTP_X_REQUESTED_WITH"])) { if (strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest") { // ajax request! define("IS_AJAX_REQUEST", true); } } else { define("IS_AJAX_REQUEST", false); } $t=gettimeofday(); if (!is_numeric($id)) { $id=0; } $startingtime = $t[sec]+$t[usec]/1000000; $startingtime = microtime(true); require 'lib/config.php'; require 'lib/mysql.php'; firewall(); if ($nofw) { $sql = new mysql; $sql -> connect($sqlhost, $sqluser, $sqlpass) or die("
".'\''.'.str_replace($list,$list2,\'\\1\').\'
[/quote]\'',$msg);
if ($htmloff) {
$msg = str_replace("<", "<", $msg);
$msg = str_replace(">", ">", $msg);
}
if (!$smiliesoff) {
global $smilies;
if(!$smilies) $smilies=readsmilies();
for($s=0;$smilies[$s][0];$s++){
$smilie=$smilies[$s];
$msg=str_replace($smilie[0],"Originally posted by \\1
', $msg); $msg=preg_replace("'\[sp=(.*?)\](.*?)\[/sp\]'si", '\\2', $msg); $msg=str_replace('[quote]','',$msg); $msg=str_replace('[spoiler]','
',$msg); $msg=str_replace('[/quote]','Spoiler:',$msg); $msg=preg_replace("'\[(b|i|u|s)\]'si",'<\\1>',$msg); $msg=preg_replace("'\[/(b|i|u|s)\]'si",'\\1>',$msg); $msg=preg_replace("'\[img\](.*?)\[/img\]'si", '
',$msg); $msg=str_replace('[/spoiler]','', $msg); $msg=preg_replace("'\[url\](.*?)\[/url\]'si", '\\1', $msg); $msg=preg_replace("'\[url=(.*?)\](.*?)\[/url\]'si", '\\2', $msg); $msg=preg_replace("/\[trope\](.*?)\[\/trope\]/sie", "''.formatting_trope('\\1').''", $msg); $msg=preg_replace("/\[trope=(.*?)\](.*?)\[\/trope\]/sie", "'\\2'", $msg); $msg=str_replace('http://nightkev.110mb.com/justus_layout.css','about:blank',$msg); do { $msg = preg_replace("/<(\/?)t(able|h|r|d)(.*?)>(\s+?)<(\/?)t(able|h|r|d)(.*?)>/si", "<\\1t\\2\\3><\\5t\\6\\7>", $msg, -1, $replaced); } while ($replaced >= 1); sbr(0,$msg); return $msg; } function settags($text,$tags){ global $hacks; if ($hacks['noposts']) { $badtags = array("&5000&", "&20000&", "&30000&", "&numposts&", ); } for($i=0;$p1
$fonttag Forum jump: '; return $forumlinks; } function ctime(){return time()+3*3600;} function cmicrotime(){return microtime(true)+3*3600;} function getrank($rankset,$title,$posts,$powl){ global $hacks; if ($rankset!=3 && $rankset != 5) $posts%=10000; if ($rankset != 255) { $rank=@mysql_result(mysql_query("SELECT text FROM ranks WHERE num<=$posts AND rset=$rankset ORDER BY num DESC LIMIT 1"),0,0); } if ($rankset == 255) { //special code for dots if (!$hacks['noposts']) { $pr[5] = 5000; $pr[4] = 1000; $pr[3] = 250; $pr[2] = 50; $pr[1] = 10; if ($rank) $rank .= "
"; $postsx = $posts; $dotnum[5] = floor($postsx / $pr[5]); $postsx = $postsx - $dotnum[5] * $pr[5]; $dotnum[4] = floor($postsx / $pr[4]); $postsx = $postsx - $dotnum[4] * $pr[4]; $dotnum[3] = floor($postsx / $pr[3]); $postsx = $postsx - $dotnum[3] * $pr[3]; $dotnum[2] = floor($postsx / $pr[2]); $postsx = $postsx - $dotnum[2] * $pr[2]; $dotnum[1] = floor($postsx / $pr[1]); foreach($dotnum as $dot => $num) { for ($x = 0; $x < $num; $x++) { $rank .= ""; } } if ($posts >= 10) $rank = floor($posts / 10) * 10 ." ". $rank; } } if($rank && ($powl or $title)) $rank.='
'; if(!$title){ if($powl==-1) $rank.='Banned'; // if($powl==1) $rank.='Staff'; if($powl==2) $rank.='Moderator'; if($powl==3) $rank.='Administrator'; } else { $rank.=$title; } return $rank; } // Nice GunBound rank set except for the part where it only works when you have over 1000 posts. function updategb() { $hranks = mysql_query("SELECT posts FROM users WHERE posts>=1000 ORDER BY posts DESC"); $c = mysql_num_rows($hranks); for($i=1;($hrank=mysql_fetch_array($hranks)) && $i<=$c*0.7;$i++){ $n=$hrank[posts]; if($i==floor($c*0.001))mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=3%'"); elseif($i==floor($c*0.01)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=4%'"); elseif($i==floor($c*0.03)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=5%'"); elseif($i==floor($c*0.06)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=6%'"); elseif($i==floor($c*0.10)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=7%'"); elseif($i==floor($c*0.20)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=8%'"); elseif($i==floor($c*0.30)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=9%'"); elseif($i==floor($c*0.50)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=10%'"); elseif($i==floor($c*0.70)) mysql_query("UPDATE ranks SET num=$n WHERE rset=3 AND text LIKE '%=11%'"); } } function checkuser($name,$pass){ $users = mysql_query("SELECT id FROM users WHERE name='$name' AND password='".md5($pass)."'"); $user = @mysql_fetch_array($users); $u=$user[id]; if($u<1) $u=-1; return $u; } function checkusername($name){ $users=mysql_query("SELECT id FROM users WHERE name='".addslashes($name)."'"); $user=@mysql_fetch_array($users); $u=$user[id]; if($u<1) $u=-1; return $u; } function shenc($str){ $l=strlen($str); for($i=0;$i<$l;$i++){ $n=(308-ord($str[$i]))%256; $e[($i+5983)%$l]+=floor($n/16); $e[($i+5984)%$l]+=($n%16)*16; } for($i=0;$i<$l;$i++) $s.=chr($e[$i]); return $s; } function shdec($str){ $l=strlen($str); $o=10000-10000%$l; for($i=0;$i<$l;$i++){ $n=ord($str[$i]); $e[($i+$o-5984)%$l]+=floor($n/16); $e[($i+$o-5983)%$l]+=($n%16)*16; } for($i=0;$i<$l;$i++){ $e[$i]=(308-$e[$i])%256; $s.=chr($e[$i]); } return $s; } function fadec($c1,$c2,$pct) { $pct2=1-$pct; $cx1[r]=hexdec(substr($c1,0,2)); $cx1[g]=hexdec(substr($c1,2,2)); $cx1[b]=hexdec(substr($c1,4,2)); $cx2[r]=hexdec(substr($c2,0,2)); $cx2[g]=hexdec(substr($c2,2,2)); $cx2[b]=hexdec(substr($c2,4,2)); $ret=floor($cx1[r]*$pct2+$cx2[r]*$pct)*65536+ floor($cx1[g]*$pct2+$cx2[g]*$pct)*256+ floor($cx1[b]*$pct2+$cx2[b]*$pct); $ret=dechex($ret); return $ret; } function fonlineusers($id){ global $userip,$loguserid; if($loguserid) { mysql_query("UPDATE users SET lastforum=$id WHERE id=$loguserid"); } else { mysql_query("UPDATE guests SET lastforum=$id WHERE ip='$userip'"); } $forumname=@mysql_result(mysql_query("SELECT title FROM forums WHERE id=$id"),0,0); $onlinetime=ctime()-300; $onusers=mysql_query("SELECT id,name,powerlevel,lastactivity,sex,minipic,lasturl FROM users WHERE lastactivity>$onlinetime AND lastforum=$id ORDER BY name"); for($numon=0;$onuser=mysql_fetch_array($onusers);$numon++){ if($numon) { $onlineusers.=', '; } $namecolor = getnamecolor($onuser[sex],$onuser[powerlevel]); /* if ((!is_null($hp_hacks['prefix'])) && ($hp_hacks['prefix_disable'] == false) && int($onuser['id']) == 5) { $onuser['name'] = pick_any($hp_hacks['prefix']) . " " . $onuser['name']; } */ $namelink="$onuser[name]"; $onlineusers.=''; $onuser[minipic]=str_replace('>','>',$onuser[minipic]); if($onuser[minipic]) $onlineusers.=" "; } $p = ($numon ? ':' : '.'); $s = ($numon != 1 ? 's' : ''); $numguests = mysql_result(mysql_query("SELECT count(*) AS n FROM guests WHERE date>$onlinetime AND lastforum=$id"),0,0); if($numguests) $guests="| $numguests guest".($numguests>1?'s':''); return "$numon user$s currently in $forumname$p $onlineusers $guests"; } // BIG GIANT GROSS HACK OH MY GOD. function getnamecolor($sex,$powl){ global $nmcol, $x_hacks; //$namecolor='color='.$nmcol[$sex][$powl]; if($powl>=-1 && $sex != 255 && !$x_hacks['100000']){ $namecolor='color='.$nmcol[$sex][$powl]; } else { $stime=gettimeofday(); $h=(($stime[usec]/5)%600); if ($h<100) { $r=255; $g=155+$h; $b=155; } elseif($h<200) { $r=255-$h+100; $g=255; $b=155; } elseif($h<300) { $r=155; $g=255; $b=155+$h-200; } elseif($h<400) { $r=155; $g=255-$h+300; $b=255; } elseif($h<500) { $r=155+$h-400; $g=155; $b=255; } else { $r=255; $g=155; $b=255-$h+500; } $rndcolor=substr(dechex($r*65536+$g*256+$b),-6); $namecolor="color=$rndcolor"; return $namecolor; } if($sex==3){ $stime=gettimeofday(); $rndcolor=substr(dechex(1677722+$stime[usec]*15),-6); $namecolor="color=$rndcolor"; $nc = mt_rand(0,0xffffff); $namecolor = "color=". str_pad(dechex($nc), 6, "0", STR_PAD_LEFT); } if ($sex == 5) { $namecolor="color=1111aa"; $z = max(0, 32400 - (mktime(22, 0, 0, 3, 7, 2008) - ctime())); $c = 127 + max(floor($z / 32400 * 127), 0); // print $c; $cz = str_pad(dechex(256 - $c), 2, "0", STR_PAD_LEFT); $namecolor = "color=". str_pad(dechex($c), 2, "0", STR_PAD_LEFT) . $cz . $cz; // $namecolor="color=888888"; } elseif ($sex == 4) { // $namecolor="color=7777ff"; // $namecolor="color=ff3065"; // $namecolor="color=dd0000"; // $namecolor="color=888888"; $namecolor="color=ffffff"; # $namecolor="color=6666cc"; # $namecolor="color=9999ff"; } elseif ($sex == 6) { // $namecolor="color=8080ff"; $namecolor="color=60c000"; // $namecolor="color=888888"; // hurf durf BMF is banned } elseif ($sex == 7) { // $namecolor="color=117011"; // $namecolor="color=a040c0"; // $namecolor="color=ffe8ab"; // $namecolor="color=8888ff"; $namecolor="color=ff3333"; } elseif ($sex == 8) { $namecolor="color=6688AA"; } elseif ($sex == 9) { $namecolor="color=CC99FF"; } elseif ($sex == 10) { $namecolor="color=ff0000"; } elseif ($sex == 11) { $namecolor="color=6ddde7"; # $namecolor="color=888888"; } elseif ($sex == 12) { $namecolor="color=E2D315"; } elseif ($sex == 13) { $namecolor="color=94132E"; } elseif ($sex == 41) { $namecolor="color=8a5231"; } elseif ($sex == 42) { $namecolor="color=20c020"; } elseif ($sex == 99) { $namecolor="color=EBA029"; } elseif ($sex == 98) { $namecolor="color=". $nmcol[0][3]; } elseif ($sex == 97) { $namecolor="color=6600DD"; } return $namecolor; } function redirect($url,$msg,$delay){ if($delay<1) $delay=1; return "You will now be redirected to $msg..."; } function postradar($userid){ $postradar=mysql_query("SELECT name,posts,sex,powerlevel,id FROM users,postradar WHERE postradar.user=$userid AND users.id=postradar.comp ORDER BY posts DESC"); if (@mysql_num_rows($postradar)>0) { $race='You are '; function cu($a,$b){ global $hacks; $dif=$a[1]-$b[1]; $t=(!$hacks['noposts'] ? $dif : "") ." ahead of"; if ($dif<0) { $dif=-$dif; $t=(!$hacks['noposts'] ? $dif : "") ." behind"; } if($dif==0) $t=' tied with'; $namecolor=getnamecolor($b[sex],$b[powerlevel]); $namelink="$b[name]"; $t.=" $namelink". (!$hacks['noposts'] ? " ($b[1])" : ""); return $t; } $user1=mysql_fetch_array(mysql_query("SELECT name,posts,id FROM users WHERE id=$userid")); for($i=0;$user2=mysql_fetch_array($postradar);$i++){ if($i) $race.=', '; if($i and $i==mysql_num_rows($postradar)-1) $race.='and '; $race.=cu($user1,$user2); } } return $race; } function loaduser($id,$type){ if ($type==1) {$fields='id,name,sex,powerlevel,posts';} return @mysql_fetch_array(mysql_query("SELECT $fields FROM users WHERE id=$id")); } function getpostlayoutid($text){ $id=@mysql_result(mysql_query("SELECT id FROM postlayouts WHERE text='".addslashes($text)."' LIMIT 1"),0,0); if(!$id){ mysql_query("INSERT INTO postlayouts (text) VALUES ('".addslashes($text)."')"); $id=mysql_insert_id(); } return $id; } function squot($t, &$src){ switch($t){ case 0: $src=htmlspecialchars($src); break; case 1: $src=urlencode($src); break; case 2: $src=str_replace('"','"',$src); break; case 3: $src=urldecode('%22','"',$src); break; } /* switch($t){ case 0: $src=str_replace('"','"',$src); break; case 1: $src=str_replace('"','%22',$src); break; case 2: $src=str_replace('"','"',$src); break; case 3: $src=str_replace('%22','"',$src); break; }*/ } function sbr($t, &$src){ global $br; switch($t) { case 0: $src=str_replace($br,'"; if($onuser[lastactivity]<=$onlinetime) $namelink="($namelink)"; $onlineusers.="$namelink
',$src); break; case 1: $src=str_replace('
',$br,$src); break; } } // who put this here? function mysql_get($query){ return mysql_fetch_array(mysql_query($query)); } function sizelimitjs(){ // where the fuck is this used?! return ""; /*return ' '; */ } function loadtlayout(){ global $log,$loguser,$tlayout; $tlayout = ($loguser['layout'] ? $loguser['layout'] : 1); $layoutfile = mysql_result(mysql_query("SELECT file FROM tlayouts WHERE id=$tlayout"),0,0); require "tlayouts/$layoutfile.php"; } function errorpage($text){ global $header,$tblstart,$tccell1,$tblend,$footer; die("$header
$tblstart$tccell1>$text$tblend$footer"); } function moodlist($sel = 0, $return = false) { global $loguserid; $sel = floor($sel); $a = array("None", "neutral", "angry", "tired/upset", "playful", "doom", "delight", "guru", "hope", "puzzled", "whatever", "hyperactive", "sadness", "bleh", "embarassed", "amused", "afraid"); if ($loguserid == 1) $a[99] = "special"; if ($return) return $a; $c[$sel] = " checked"; foreach($a as $num => $name) { $ret .= (($num) % 6 ? " " : ($num ? "\n
" : "")) ."\r\n"; } return $ret; } function adminlinkbar($sel = 0) { global $tblstart, $tblend, $tccell1, $tccellh, $tccellc, $isadmin; if (!$isadmin) return; $links = array( 'admin.php' => "Home", // 'admin-todo.php' => "To-do list", 'announcement.php' => "Announcements", 'admin-threads.php' => "ThreadFix", 'admin-threads2.php' => "ThreadFix 2", 'ipsearch.php' => "IP Search", 'editmods.php' => "Local Moderators", 'del.php' => "Delete User", ); $c = count($links); $w = floor(1 / $c * 100); $r = "$tblstart$tccellh colspan=$c>Admin Functions "; foreach($links as $link => $name) { $cell = $tccell1; if ($link == $sel) $cell = $tccellc; $r .= "$cell width=\"$w%\">$name"; } return $r ."$tblend
"; } function nuke_js($before, $after) { global $sql, $loguser; $page = addslashes($_SERVER['REQUEST_URI']); $time = ctime(); $sql -> query("INSERT INTO `jstrap` SET `loguser` = '". $loguser['id'] ."', `ip` = '". $_SERVER['REMOTE_ADDR'] ."', `text` = '". addslashes($before) ."', `url` = '$page', `time` = '$time', `filtered` = '". addslashes($after) ."'"); } function include_js($fn, $as_tag = false) { // HANDY JAVASCRIPT INCLUSION FUNCTION if ($as_tag) { // include as a tag return ""; } else { $f = fopen("../js/$fn",'r'); $c = fread($f, filesize($fn)); fclose($f); return ''; } } function dofilters($p){ global $hacks; $temp = $p; if ($_GET['t'] && false) { $p=preg_replace("' "; }