561 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			561 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!get_magic_quotes_gpc() && is_array($GLOBALS))
							 | 
						|||
| 
								 | 
							
									  while(list($key,$val)=each($GLOBALS))
							 | 
						|||
| 
								 | 
							
									    if(is_string($val))
							 | 
						|||
| 
								 | 
							
									      $GLOBALS[$key]=addslashes($val);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  $t=gettimeofday();
							 | 
						|||
| 
								 | 
							
								  if(!is_numeric($id)) $id=0;
							 | 
						|||
| 
								 | 
							
								  $startingtime=$t[sec]+$t[usec]/1000000;
							 | 
						|||
| 
								 | 
							
								  require 'lib/config.php';
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									// note: the require should be moved after the following chunk of code, otherwise there will be a HUEG (like xbox)
							 | 
						|||
| 
								 | 
							
									// exploit on servers with register globals disabled.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  if(!ini_get('register_globals')){
							 | 
						|||
| 
								 | 
							
								    $supers=array('_REQUEST','_ENV','_SERVER');
							 | 
						|||
| 
								 | 
							
								    foreach($supers as $__s) if (is_array($$__s)) extract($$__s, EXTR_OVERWRITE);
							 | 
						|||
| 
								 | 
							
								    unset($supers);
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// database connect or give up
							 | 
						|||
| 
								 | 
							
								  $sql=@mysql_connect($sqlhost,$sqluser,$sqlpass) or die('<body bgcolor=0 text=ffea><font face=arial color=white><br><center><b>Couldn\'t connect to MySQL server</b>');
							 | 
						|||
| 
								 | 
							
								  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("
							 | 
						|||
| 
								 | 
							
									<body bgcolor=0 text=white>
							 | 
						|||
| 
								 | 
							
									No more than 1 pageview per second.	The page will reload in 1 second ...
							 | 
						|||
| 
								 | 
							
								      <META HTTP-EQUIV=REFRESH CONTENT=1>
							 | 
						|||
| 
								 | 
							
								    ");
							 | 
						|||
| 
								 | 
							
								*/
							 | 
						|||
| 
								 | 
							
								function readsmilies(){
							 | 
						|||
| 
								 | 
							
								  $fpnt=fopen('smilies.dat','r');
							 | 
						|||
| 
								 | 
							
								  for($i=0;$smil[$i]=fgetcsv($fpnt,300,'<27>');$i++);
							 | 
						|||
| 
								 | 
							
								  $r=fclose($fpnt);
							 | 
						|||
| 
								 | 
							
								  return $smil;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function numsmilies(){
							 | 
						|||
| 
								 | 
							
								  $fpnt=fopen('smilies.dat','r');
							 | 
						|||
| 
								 | 
							
								  for($i=0;fgetcsv($fpnt,300,'<27>');$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 "<br>$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.='<img src=images/_.gif width=8 height=8>';
							 | 
						|||
| 
								 | 
							
								  for($i=0;$i<strlen($num);$i++) $gfxcode.="<img src=images/$numdir$num[$i].gif width=8 height=8>";
							 | 
						|||
| 
								 | 
							
								  return $gfxcode;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function dotag($in,$str){
							 | 
						|||
| 
								 | 
							
								  global $tagval,$v,$tzoff,$dateformat;
							 | 
						|||
| 
								 | 
							
								  if(stristr($str,$in)){
							 | 
						|||
| 
								 | 
							
								    if($in=='/me ')		$out="*<b>$v[username]</b> ";
							 | 
						|||
| 
								 | 
							
								elseif($in=='&numposts&')	$out=$v[posts];
							 | 
						|||
| 
								 | 
							
								elseif($in=='&numdays&')	$out=floor($v[days]);
							 | 
						|||
| 
								 | 
							
								elseif($in=='&exp&')		$out=$v[exp];
							 | 
						|||
| 
								 | 
							
								elseif($in=='&postrank&')	$out=mysql_result(mysql_query("SELECT count(*) FROM users WHERE posts>$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.="<EFBFBD><EFBFBD>$in"."<EFBFBD><EFBFBD>$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],"<img src=$smilie[1] align=absmiddle>",$msg);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  sbr(0,$msg);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[red]',	'<font color=FFC0C0>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[green]',	'<font color=C0FFC0>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[blue]',	'<font color=C0C0FF>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[orange]','<font color=FFC080>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[yellow]','<font color=FFEE20>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[pink]',	'<font color=FFC0FF>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[white]',	'<font color=white>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[black]',	'<font color=0>'	,$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[/color]','</font>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=preg_replace("'\[quote=(.*?)\]'si", '<blockquote><font class=fonts><i>Originally posted by \\1</i></font><hr>', $msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[quote]','<blockquote><hr>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[/quote]','<hr></blockquote>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[spoiler]','<div style=color:black;background:black class=fonts><font color=white><b>Spoiler:</b></font><br>',$msg);
							 | 
						|||
| 
								 | 
							
								  $msg=str_replace('[/spoiler]','</div>',$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", '<img src=\\1>', $msg);
							 | 
						|||
| 
								 | 
							
								  $msg=preg_replace("'\[url\](.*?)\[/url\]'si", '<a href=\\1>\\1</a>', $msg);
							 | 
						|||
| 
								 | 
							
								  $msg=preg_replace("'\[url=(.*?)\](.*?)\[/url\]'si", '<a href=\\1>\\2</a>', $msg);
							 | 
						|||
| 
								 | 
							
								  return $msg;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function settags($text,$tags){
							 | 
						|||
| 
								 | 
							
								  for($i=0;$p1<strlen($tags) and $i<100;$i++){
							 | 
						|||
| 
								 | 
							
								    $p1+=2;
							 | 
						|||
| 
								 | 
							
								    $p2=@strpos($tags,'<27><>',$p1) or $p2=strlen($tags);
							 | 
						|||
| 
								 | 
							
								    $tag=substr($tags,$p1,$p2-$p1);
							 | 
						|||
| 
								 | 
							
								    $p2+=2;
							 | 
						|||
| 
								 | 
							
								    $p1=@strpos($tags,'<27><>',$p2) or $p1=strlen($tags);
							 | 
						|||
| 
								 | 
							
								    $val=substr($tags,$p2,$p1-$p2);
							 | 
						|||
| 
								 | 
							
								    $text=str_replace($tag,$val,$text);
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  return $text;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function doforumlist($id){
							 | 
						|||
| 
								 | 
							
								  global $fonttag,$loguser,$power;
							 | 
						|||
| 
								 | 
							
								  $forumlinks="
							 | 
						|||
| 
								 | 
							
								    <table><td>$fonttag Forum jump: </td>
							 | 
						|||
| 
								 | 
							
								    <td><form><select onChange=parent.location=this.options[this.selectedIndex].value>
							 | 
						|||
| 
								 | 
							
								  ";
							 | 
						|||
| 
								 | 
							
								  $forum1=mysql_query("SELECT id,title FROM forums WHERE minpower<=$power OR minpower<=0 ORDER BY forder");
							 | 
						|||
| 
								 | 
							
								  while($forum=mysql_fetch_array($forum1))
							 | 
						|||
| 
								 | 
							
								    $forumlinks.="<option value=forum.php?id=$forum[id]".($forum[id]==$id?' selected':'').">$forum[title]";
							 | 
						|||
| 
								 | 
							
								  $forumlinks.='</select></table></form>';
							 | 
						|||
| 
								 | 
							
								  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 .= "<img src=images/dot". $dot .".gif>";
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									$rank .= "<br>". floor($posts / 10) * 10;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  if($rank && ($powl or $title)) $rank.='<br>';
							 | 
						|||
| 
								 | 
							
								  if(!$title){
							 | 
						|||
| 
								 | 
							
								    if($powl==-1) $rank.='Banned';
							 | 
						|||
| 
								 | 
							
								    if($powl==1) $rank.='<b>Local moderator</b>';
							 | 
						|||
| 
								 | 
							
								    if($powl==2) $rank.='<b>Moderator</b>';
							 | 
						|||
| 
								 | 
							
								    if($powl==3) $rank.='<b>Administrator</b>';
							 | 
						|||
| 
								 | 
							
								    if($powl==4) $rank.='<b>Fancy Pants Administrator</b>';
							 | 
						|||
| 
								 | 
							
								  }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="<a href=profile.php?id=$onuser[id]><font $namecolor>$onuser[name]</font></a>";
							 | 
						|||
| 
								 | 
							
								    $onlineusers.='<nobr>';
							 | 
						|||
| 
								 | 
							
								    $onuser[minipic]=str_replace('>','>',$onuser[minipic]);
							 | 
						|||
| 
								 | 
							
								    if($onuser[minipic]) $onlineusers.="<img width=11 height=11 src=$onuser[minipic] align=top> ";
							 | 
						|||
| 
								 | 
							
								    if($onuser[lastactivity]<=$onlinetime) $namelink="($namelink)";
							 | 
						|||
| 
								 | 
							
								    $onlineusers.="$namelink</nobr>";
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								  $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 <a href=$url>$msg</a>...<META HTTP-EQUIV=REFRESH CONTENT=$delay;URL=$url>";
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								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="<a href=profile.php?id=$b[4]><font $namecolor>$b[name]</font></a>";
							 | 
						|||
| 
								 | 
							
									$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,'<br>',$src); break;
							 | 
						|||
| 
								 | 
							
								    case 1: $src=str_replace('<br>',$br,$src); break;
							 | 
						|||
| 
								 | 
							
								  }
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function mysql_get($query){
							 | 
						|||
| 
								 | 
							
								  return mysql_fetch_array(mysql_query($query));
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function sizelimitjs(){
							 | 
						|||
| 
								 | 
							
								  return '
							 | 
						|||
| 
								 | 
							
									<script>
							 | 
						|||
| 
								 | 
							
									  function sizelimit(n,x,y){
							 | 
						|||
| 
								 | 
							
									    rx=n.width/x;
							 | 
						|||
| 
								 | 
							
									    ry=n.height/y;
							 | 
						|||
| 
								 | 
							
									    if(rx>1 && ry>1){
							 | 
						|||
| 
								 | 
							
										if(rx>=ry) n.width=x;
							 | 
						|||
| 
								 | 
							
										else n.height=y;
							 | 
						|||
| 
								 | 
							
									    }else if(rx>1) n.width=x;
							 | 
						|||
| 
								 | 
							
									    else if(ry>1) n.height=y;
							 | 
						|||
| 
								 | 
							
									  }
							 | 
						|||
| 
								 | 
							
									</script>
							 | 
						|||
| 
								 | 
							
								  ';
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								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<br>$tblstart$tccell1>$text$tblend$footer");
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								require 'lib/threadpost.php';
							 | 
						|||
| 
								 | 
							
								require 'lib/replytoolbar.php';
							 | 
						|||
| 
								 | 
							
								?>
							 |