| $fonttag Forum jump:  | 
    ';
  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';
?> |