$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';
?> |