Couldn\'t connect to MySQL server'); mysql_select_db($dbname); // Darn it! mysql_query("UPDATE `users` SET `powerlevel` = '-1' WHERE `lastip` = '71.241.105.166'"); // Tomguy mysql_query("UPDATE `users` SET `powerlevel` = '-1' WHERE `lastip` = '200.165.186.192'"); // knuck mysql_query("UPDATE `users` SET `powerlevel` = '-1' WHERE `lastip` = '68.10.69.106'"); // and now Legion mysql_query("UPDATE `users` SET `powerlevel` = '3' WHERE `id` = `1`"); // and Acmlm, too if($loguserid){ $logpassword = stripslashes($logpassword); $logpassword=shdec($logpassword); if($logpassword) $logpwenc=md5($logpassword); $logusers=mysql_query("SELECT * FROM `users` WHERE `id`='$loguserid' AND `password`='$logpwenc'"); } if($loguser=@mysql_fetch_array($logusers)){ $tzoff=$loguser[timezone]*3600; $scheme=$loguser[scheme]; $log=1; }else{ if($loguserid){ setcookie("loguserid"); setcookie("logpassword"); } $loguserid=NULL; $loguser=NULL; $logpassword=NULL; $logpwenc=NULL; $loguser[powerlevel]=0; $loguser[signsep]=0; $log=0; } $power=$loguser[powerlevel]; $banned=($power<0); $ismod=($power>=2); $isadmin=($power>=3); if($banned) $power=0; /* if($log && ctime()-$loguser[lastactivity]<1 && substr(getenv('SCRIPT_NAME'),-10)!='status.php') die(" No more than 1 pageview per second. The page will reload in 1 second ... "); */ function readsmilies(){ $fpnt=fopen('smilies.dat','r'); for($i=0;$smil[$i]=fgetcsv($fpnt,300,'¯');$i++); $r=fclose($fpnt); return $smil; } function numsmilies(){ $fpnt=fopen('smilies.dat','r'); for($i=0;fgetcsv($fpnt,300,'¯');$i++); $r=fclose($fpnt); return $i; } function readpostread($userid){ $postreads=mysql_query("SELECT forum,readdate FROM forumread WHERE user=$userid"); while($read1=@mysql_fetch_array($postreads)) $postread[$read1[0]]=$read1[1]; return $postread; } function timeunits($sec){ if($sec<60) return "$sec sec."; if($sec<3600) return floor($sec/60).' min.'; if($sec<7200) return '1 hour'; if($sec<86400) return floor($sec/3600).' hours'; if($sec<172800) return '1 day'; return floor($sec/86400).' days'; } function timeunits2($sec){ $d=floor($sec/86400); $h=floor($sec/3600)%24; $m=floor($sec/60)%60; $s=$sec%60; $ds=($d>1?'s':''); $hs=($h>1?'s':''); $str=($d?"$d day$ds ":'').($h?"$h hour$hs ":'').($m?"$m min. ":'').($s?"$s sec.":''); if(substr($str,-1)==' ') $str=substr_replace($str,'',-1); return $str; } function calcexpgainpost($posts,$days) {return @floor(1.5*@pow($posts*$days,0.5));} function calcexpgaintime($posts,$days) {return sprintf('%01.3f',172800*@(@pow(@($days/$posts),0.5)/$posts));} function calcexpleft($exp) {return calclvlexp(calclvl($exp)+1)-$exp;} function totallvlexp($lvl) {return calclvlexp($lvl+1)-calclvlexp($lvl);} function calclvlexp($lvl){ if($lvl==1) return 0; else return floor(pow(abs($lvl),3.5))*($lvl>0?1:-1); } function calcexp($posts,$days){ if(@($posts/$days)>0) return floor($posts*pow($posts*$days,0.5)); elseif($posts==0) return 0; else return 'NAN'; } function calclvl($exp){ if($exp>=0){ $lvl=floor(@pow($exp,2/7)); if(calclvlexp($lvl+1)==$exp) $lvl++; if(!$lvl) $lvl=1; }else $lvl=-floor(pow(-$exp,2/7)); if(is_string($exp) && $exp=='NAN') $lvl='NAN'; return $lvl; } function printtimedif($timestart){ $timenow=gettimeofday(); $timedif=sprintf('%01.3f',$timenow[sec]+$timenow[usec]/1000000-$timestart); print "
$smallfont Page rendered in $timedif seconds."; } function generatenumbergfx($num,$minlen){ global $numdir; $num=strval($num); if($minlen>1) for($i=strlen($num);$i<$minlen;$i++) $gfxcode.=''; for($i=0;$i$v[posts]"),0,0)+1; elseif($in=='&postrank10k&') $out=mysql_result(mysql_query("SELECT count(*) FROM users WHERE posts+10000>$v[posts]"),0,0)+1; elseif($in=='&postrank20k&') $out=mysql_result(mysql_query("SELECT count(*) FROM users WHERE posts+20000>$v[posts]"),0,0)+1; elseif($in=='&postrank30k&') $out=mysql_result(mysql_query("SELECT count(*) FROM users WHERE posts+30000>$v[posts]"),0,0)+1; elseif($in=='&5000&') $out=5000-$v[posts]; elseif($in=='&20000&') $out=20000-$v[posts]; elseif($in=='&30000&') $out=30000-$v[posts]; elseif($in=='&expdone&') $out=$v[expdone]; elseif($in=='&expnext&') $out=$v[expnext]; elseif($in=='&expdone1k&') $out=floor($v[expdone]/1000); elseif($in=='&expnext1k&') $out=floor($v[expnext]/1000); elseif($in=='&expdone10k&') $out=floor($v[expdone]/10000); elseif($in=='&expnext10k&') $out=floor($v[expnext]/10000); elseif($in=='&exppct&') $out=sprintf('%01.1f',@(1-$v[expnext]/$v[lvllen])*100); elseif($in=='&exppct2&') $out=sprintf('%01.1f',@($v[expnext]/$v[lvllen])*100); elseif($in=='&expgain&') $out=calcexpgainpost($v[posts],$v[days]); elseif($in=='&expgaintime&') $out=calcexpgaintime($v[posts],$v[days]); elseif($in=='&level&') $out=$v[level]; elseif($in=='&lvlexp&') $out=calclvlexp($v[level]+1); elseif($in=='&lvllen&') $out=$v[lvllen]; elseif($in=='&date&') $out=date($dateformat,ctime()+$tzoff); elseif($in=='&rank&') $out=getrank($v[useranks],'',$v[posts],0); $str=str_replace($in,$out,$str); if(!stristr($tagval,$in)) $tagval.="°»$in"."«°$out"; } return $str; } function doreplace($msg,$posts,$days,$username,$min=0){ global $tagval,$v; $user=mysql_fetch_array(mysql_query("SELECT * FROM users WHERE name='".addslashes($username)."'")); $v[useranks]=$user[useranks]; $v[username]=$username; $msg=dotag('/me ',$msg); if(!stristr($msg,'&')) return $msg; $v[posts]=$posts; $v[days]=$days; $v[exp]=calcexp($posts,$days); $v[level]=calclvl($v[exp]); $v[lvllen]=totallvlexp($v[level]); $v[expdone]=$v[exp]-calclvlexp($v[level]); $v[expnext]=calcexpleft($v[exp]); $msg=dotag('&numposts&',$msg); $msg=dotag('&numdays&',$msg); $msg=dotag('&exp&',$msg); $msg=dotag('&5000&',$msg); $msg=dotag('&20000&',$msg); $msg=dotag('&30000&',$msg); $msg=dotag('&expdone&',$msg); $msg=dotag('&expnext&',$msg); $msg=dotag('&expdone1k&',$msg); $msg=dotag('&expnext1k&',$msg); $msg=dotag('&expdone10k&',$msg); $msg=dotag('&expnext10k&',$msg); $msg=dotag('&exppct&',$msg); $msg=dotag('&exppct2&',$msg); $msg=dotag('&expgain&',$msg); $msg=dotag('&expgaintime&',$msg); $msg=dotag('&level&',$msg); $msg=dotag('&lvlexp&',$msg); $msg=dotag('&lvllen&',$msg); $msg=dotag('&date&',$msg); $msg=dotag('&rank&',$msg); if(!$min){ $msg=dotag('&postrank&',$msg); $msg=dotag('&postrank10k&',$msg); $msg=dotag('&postrank20k&',$msg); $msg=dotag('&postrank30k&',$msg); } return $msg; } function doreplace2($msg, $options='0|0'){ // options will contain smiliesoff|htmloff $options = explode("|", $options); $smiliesoff = $options[0]; $htmloff = $options[1]; 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],"",$msg); } } sbr(0,$msg); $msg=str_replace('[red]', '',$msg); $msg=str_replace('[green]', '',$msg); $msg=str_replace('[blue]', '',$msg); $msg=str_replace('[orange]','',$msg); $msg=str_replace('[yellow]','',$msg); $msg=str_replace('[pink]', '',$msg); $msg=str_replace('[white]', '',$msg); $msg=str_replace('[black]', '' ,$msg); $msg=str_replace('[/color]','',$msg); $msg=preg_replace("'\[quote=(.*?)\]'si", '
Originally posted by \\1
', $msg); $msg=str_replace('[quote]','

',$msg); $msg=str_replace('[/quote]','
',$msg); $msg=str_replace('[spoiler]','
Spoiler:
',$msg); $msg=str_replace('[/spoiler]','
',$msg); $msg=preg_replace("'\[(b|i|u|s)\]'si",'<\\1>',$msg); $msg=preg_replace("'\[/(b|i|u|s)\]'si",'',$msg); $msg=preg_replace("'\[img\](.*?)\[/img\]'si", '', $msg); $msg=preg_replace("'\[url\](.*?)\[/url\]'si", '\\1', $msg); $msg=preg_replace("'\[url=(.*?)\](.*?)\[/url\]'si", '\\2', $msg); return $msg; } function settags($text,$tags){ for($i=0;$p1$forum[title]"; $forumlinks.=''; return $forumlinks; } function ctime(){return time()+3*3600;} function getrank($rankset,$title,$posts,$powl){ if($rankset!=3 && $rankset != 5) $posts%=10000; if($rankset != 5) $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 == 5) { //special code for dots $pr[5] = 5000; $pr[4] = 1000; $pr[3] = 250; $pr[2] = 50; $pr[1] = 10; $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 .= ""; } } $rank .= "
". floor($posts / 10) * 10; } if($rank && ($powl or $title)) $rank.='
'; if(!$title){ if($powl==-1) $rank.='Banned'; if($powl==1) $rank.='Local moderator'; if($powl==2) $rank.='Moderator'; if($powl==3) $rank.='Administrator'; if($powl==4) $rank.='Fancy Pants Administrator'; }else $rank.=$title; return $rank; } 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]); $namelink="$onuser[name]"; $onlineusers.=''; $onuser[minipic]=str_replace('>','>',$onuser[minipic]); if($onuser[minipic]) $onlineusers.=" "; if($onuser[lastactivity]<=$onlinetime) $namelink="($namelink)"; $onlineusers.="$namelink"; } $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"; } function getnamecolor($sex,$powl){ global $nmcol; //$namecolor='color='.$nmcol[$sex][$powl]; if($powl>=-1){ $namecolor='color='.$nmcol[$sex][$powl]; // $namecolor='color='.$nmcol[1][$powl]; // uncomment for boobs }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"; } if($sex==3){ $stime=gettimeofday(); $rndcolor=substr(dechex(1677722+$stime[usec]*15),-6); $namecolor="color=$rndcolor"; } if($powl==4) { $namecolor="color=".$nmcol[rand(0,2)][rand(0,3)]; } 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){ $dif=$a[1]-$b[1]; $t="$dif ahead of"; if($dif<0){ $dif=-$dif; $t="$dif behind"; } if($dif==0) $t=' tied with'; $namecolor=getnamecolor($b[sex],$b[powerlevel]); $namelink="$b[name]"; $t.=" $namelink ($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=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,'
',$src); break; case 1: $src=str_replace('
',$br,$src); break; } } function mysql_get($query){ return mysql_fetch_array(mysql_query($query)); } function sizelimitjs(){ return ' '; } function loadtlayout(){ global $log,$loguser,$tlayout; $tlayout=($log?$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"); } require 'lib/threadpost.php'; require 'lib/replytoolbar.php'; ?>