View Single Post
  #4  
Old 1st July 2011, 19:03
fireman fireman is offline
IonCube-R
 
Join Date: Oct 2008
Posts: 99
Smile ts_functions.php
PHP Code:
<?php


function format_comment$message$htmlspecialchars_uni TRUE$noshoutbox TRUE$xss_clean TRUE$show_smilies TRUE$imagerel "posts" )
{
    
$options = array(
        
"use_smilies" => $show_smilies,
        
"max_smilies" => 30,
        
"remove_badwords" => 1,
        
"htmlspecialchars" => $htmlspecialchars_uni,
        
"imagerel" => $imagerel,
        
"auto_url" => 1,
        
"short_url" => 1,
        
"image_preview" => 1
    
);
    require_once( 
INC_PATH."/class_ts_parser.php" );
    
$TSParser = new TSParser( );
    
$TSParser->parse_message$message$options );
    return 
$TSParser->message;
}

function 
fixAjaxText$text "" )
{
    return 
trim$text );
}

function 
showPreview$postvalue "" )
{
    global 
$lang;
    global 
$dateformat;
    global 
$timeformat;
    
$message TS_Global$postvalue );
    if ( 
$message && isset( $_POST['previewpost'] ) )
    {
        return 
"\r\n\t\t<table width=\"100%\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=\"thead\">\r\n\t\t\t\t\t<span style=\"float: right;\">\r\n\t\t\t\t\t\t".my_datee$dateformat." - ".$timeformatTIMENOW )."\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t".$lang->global['buttonpreview']."\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\t\t\t\t\r\n\t\t\t\t<td>".format_comment$message )."</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t<br />";
    }
}

function 
update_loadavg( )
{
    global 
$TSSECache;
    if ( 
function_exists"exec" ) && ( $stats = @exec"uptime 2>&1" ) ) && trim$stats ) != "" && $Var_312 )
    {
        
$loadavg $regs[2];
    }
    else if ( 
file_exists"/proc/loadavg" ) && ( $filestuff = @file_get_contents"/proc/loadavg" ) ) )
    {
        
$loadavg explode" "$filestuff );
        
$loadavg $loadavg[1];
    }
    else
    {
        
$loadavg 0;
    }
    
$loadavg str_replace","""$loadavg );
    
$TSSECache->UpdateCache"loadavg"$loadavg );
    unset( 
$loadavg );
}

function 
TS_Match$string$find )
{
    return 
strpos$string$find ) === FALSE FALSE TRUE;
}

function 
TS_Global$name "" )
{
    return isset( 
$_GET["{$name}"] ) ? !is_array$_GET["{$name}"] ) ? trim$_GET["{$name}"] ) : $_GET["{$name}"] : isset( $_POST["{$name}"] ) ? !is_array$_POST["{$name}"] ) ? trim$_POST["{$name}"] ) : $_POST["{$name}"] : "";
}

function 
fix_url$url )
{
    
$url htmlspecialchars$url );
    return 
str_replace( array( "&amp;"" " ), array( "&""&nbsp;" ), $url );
}

function 
htmlspecialchars_uni$text$entities TRUE )
{
    return 
str_replace( array( "<"">""\"" ), array( "&lt;""&gt;""&quot;" ), preg_replace"/&(?!".( $entities "#[0-9]+|shy" "(#[0-9]+|[a-z]+)" ).";)/si""&amp;"$text ) );
}

function 
ts_remove_badwords$check )
{
    global 
$badwords;
    if ( empty( 
$badwords ) )
    {
        return 
$check;
    }
    if ( ( 
$barray = @explode","$badwords ) ) && count$barray ) )
    {
        foreach ( 
$barray as $b )
        {
            
$check = @str_ireplace$b$b[0].@str_repeat"*"strlen$b ) - ).$b[strlen$b ) - 1], $check );
        }
        unset( 
$barray );
    }
    return 
$check;
}

function 
check_email$email )
{
    return 
preg_match"#^[a-z0-9.!\\#\$%&'*+-/=?^_`{|}~]+@([0-9.]+|([^\\s'\"<>@,;]+\\.+[a-z]{2,6}))\$#si"$email );
}

function 
highlight$search$subject$hlstart "<b><font color='#f7071d'>"$hlend "</font></b>" )
{
    
$srchlen strlen$search );
    if ( 
$srchlen == )
    {
        return 
$subject;
    }
    
$find $subject;
    while ( 
$find stristr$find$search ) )
    {
        
$srchtxt substr$find0$srchlen );
        
$find substr$find$srchlen );
        
$subject str_replace$srchtxt"{$hlstart}{$srchtxt}{$hlend}"$subject );
    }
    return 
$subject;
}

function 
TS_MTStoUTS$datetime "" )
{
    if ( empty( 
$datetime ) )
    {
        return 
"";
    }
    
$Parts explode" "$datetime );
    
$Datebits explode"-"$Parts['0'] );
    if ( isset( 
$Parts['1'] ) )
    {
        
$Timebits explode":"$Parts['1'] );
        return 
mktime$Timebits['0'], $Timebits['1'], $Timebits['2'], $Datebits['1'], $Datebits['2'], $Datebits['0'] );
    }
    return 
mktime000$Datebits['1'], $Datebits['2'], $Datebits['0'] );
}

function 
build_breadcrumb( )
{
    global 
$nav;
    global 
$navbits;
    global 
$BASEURL;
    global 
$pic_base_url;
    
$navsep " / ";
    if ( isset( 
$navbits ) && is_array$navbits ) )
    {
        @
reset$navbits );
        foreach ( 
$navbits as $key => $navbit )
        {
            if ( isset( 
$navbits[$key 1] ) )
            {
                
$nav .= "<a href=\"".$navbit['url']."\">".$navbit['name']."</a>".( isset( $navbits[$key 2] ) ? $navsep "" );
            }
        }
    }
    
$navsize = isset( $navbits ) && is_array$navbits ) ? count$navbits ) : 0;
    
$navbit $navbits[$navsize 1];
    
$activesep $nav " / " "";
    echo 
"\r\n\t<div class=\"navbits\">\r\n\t\t<div id=\"shadetabs\">\r\n\t\t\t<img src=\"".$pic_base_url."tree_ltr.gif\" border=\"0\" class=\"inlineimg\" alt=\"\" /> ".$nav.$activesep.$navbit['name']."\r\n\t\t</div>\r\n\t</div>\r\n\t";
}

function 
add_breadcrumb$name$url "" )
{
    global 
$navbits;
    
$navsize = isset( $navbits ) && is_array$navbits ) ? count$navbits ) : 0;
    
$navbits[$navsize]['name'] = $name;
    
$navbits[$navsize]['url'] = $url;
}

function 
show_notice$notice ""$iserror FALSE$title ""$BR "<br />" )
{
    global 
$BASEURL;
    global 
$lang;
    
$defaulttemplate ts_template( );
    
$imagepath $BASEURL."/include/templates/".$defaulttemplate."/images/";
    
$lastword $iserror "e" "n";
    
$uniqeid md5TIMENOW );
    return 
"\r\n\t<script type=\"text/javascript\">\r\n\t\tfunction ts_show_tag(id, status)\r\n\t\t{\r\n\t\t\tif (TSGetID(id)){if (status == true || status == false){TSGetID(id).style.display = (status == true)?\"none\":\"\";}\r\n\t\t\telse{TSGetID(id).style.display = (TSGetID(id).style.display == \"\")?\"none\":\"\";}}\r\n\t\t}\r\n\t</script>\r\n\t<div class=\"notification-border-".$lastword."\" id=\"notification_".$uniqeid."\" align=\"center\">\r\n\t\t<table class=\"notification-th-".$lastword."\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\">\r\n\t\t\t<tbody>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td align=\"left\" width=\"100%\" class=\"none\">\r\n\t\t\t\t\t&nbsp;<span class=\"notification-title-".$lastword."\">".( $title $title $lang->global['sys_message'] )."</span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td class=\"none\"><img src=\"".$imagepath."notification_close.gif\" alt=\"\" onclick=\"ts_show_tag('notification_".$uniqeid."', true);\" class=\"hand\" border=\"0\" height=\"13\" width=\"13\" /></td>\r\n\t\t\t\t</tr>\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t\t<div class=\"notification-body\">\r\n\t\t\t".$notice."\r\n\t\t</div>\r\n\t</div>\r\n\t".$BR;
}

function 
sql_query$_run_query )
{
    global 
$usergroups;
    global 
$TSDatabase;
    if ( !
defined"DEBUGMODE" ) )
    {
        
$query_start array_sumexplode" "microtime( ) ) );
    }
    if ( !( 
$__return mysql_query$_run_query ) ) )
    {
    }
    if ( !
defined"DEBUGMODE" ) )
    {
        
$query_end array_sum$Var_960 $query_start);
        if ( !isset( 
$GLOBALS['queries'] ) )
        {
            
$GLOBALS['GLOBALS']['queries'] = "";
        }
        if ( isset( 
$GLOBALS['totalqueries'] ) )
        {
            ++
$GLOBALS['totalqueries'];
        }
        else
        {
            
$GLOBALS['GLOBALS']['totalqueries'] = 1;
        }
        
$GLOBALS .= "queries";
    }
    return 
$__return;
}

function 
TSRowCount$C$T$E "" )
{
    if ( !( 
$Q sql_query"SELECT COUNT({$C}) FROM ".$T.( $E " WHERE {$E}"" ) ) ) )
    {
    }
    
$R mysql_fetch_row$Q );
    return 
$R[0];
}

function 
write_log$Text )
{
    
sql_query"INSERT INTO sitelog VALUES (NULL, NOW(), ".sqlesc$Text ).")" );
}

function 
KPS$Type "+"$Points "1.0"$ID "" )
{
    if ( 
$ID == )
    {
    }
    else
    {
        global 
$bonus;
        global 
$TSSEConfig;
        if ( !isset( 
$bonus ) )
        {
            
$TSSEConfig->TSLoadConfig"KPS" );
            
$bonus $GLOBALS['bonus'];
        }
        if ( 
$bonus == "enable" || $bonus == "disablesave" )
        {
            
$ID str_replace"'"""$ID );
            
sql_query"UPDATE users SET seedbonus = seedbonus {$Type} '{$Points}' WHERE id = '{$ID}'" );
        }
    }
}

function 
sent_mail$to ""$subject ""$body ""$type "confirmation"$showmsg TRUE$multiple FALSE$multiplemail "" )
{
    global 
$rootpath;
    global 
$SITEEMAIL;
    global 
$charset;
    global 
$lang;
    global 
$TSSEConfig;
    global 
$BASEURL;
    
$TSSEConfig->TSLoadConfig"SMTP" );
    
$fromname $SITENAME;
    
$fromemail $SITEEMAIL;
    
$windows FALSE;
    if ( 
strtouppersubstrPHP_OS0) == "WIN" ) )
    {
        
$eol "\r\n";
        
$windows TRUE;
    }
    else if ( 
strtouppersubstrPHP_OS0) == "MAC" ) )
    {
        
$eol "\r";
    }
    else
    {
        
$eol "\n";
    }
    
$options = array( "use_smilies" => 0"max_smilies" => 30"remove_badwords" => 0"htmlspecialchars" => 1"imagerel" => """auto_url" => 1"short_url" => 0"image_preview" => );
    if ( !
defined"ANONYMIZER_DISABLED" ) )
    {
        
define"ANONYMIZER_DISABLED"TRUE );
    }
    require_once( 
INC_PATH."/class_ts_parser.php" );
    
$TSParser = new TSParser( );
    
$TSParser->parse_message$body$options );
    
$body $TSParser->message;
    
$mid md5uniqidrand( ), TRUE ).TIMENOW );
    
$name $_SERVER['SERVER_NAME'];
    
$headers "From: {$fromname} <{$fromemail}>".$eol;
    
$headers .= "Reply-To: ".( !defined"REPLY_TO" ) ? "{$fromname} <{$fromemail}>" REPLY_TO ).$eol;
    
$headers .= "Return-Path: ".( !defined"REPLY_TO" ) ? "{$fromname} <{$fromemail}>" REPLY_TO ).$eol;
    
$headers .= "Message-ID: <{$mid} thesystem@{$name}>".$eol;
    
$headers .= "X-Mailer: PHP v".phpversion( ).$eol;
    
$headers .= "MIME-Version: 1.0".$eol;
    
$headers .= "Content-Transfer-Encoding: 8bit".$eol;
    
$headers .= "Content-type: text/html; charset={$charset}".$eol;
    
$headers .= "X-Sender: PHP".$eol;
    if ( 
$multiple )
    {
        
$headers .= "Bcc: {$multiplemail}.{$eol}";
    }
    if ( 
$GLOBALS['smtptype'] == "default" )
    {
        
$mail mail$to$subject$body$headers );
        if ( !
$mail && $showmsg )
        {
            
stderr$lang->global['error'], $lang->global['mailerror'] );
        }
    }
    else if ( 
$GLOBALS['smtptype'] == "advanced" )
    {
        if ( isset( 
$GLOBALS['smtp'] ) && $GLOBALS['smtp'] == "yes" )
        {
            
ini_set"SMTP"$GLOBALS['smtp_host'] );
            
ini_set"smtp_port"$GLOBALS['smtp_port'] );
            if ( 
$windows )
            {
                
ini_set"sendmail_from"$GLOBALS['smtp_from'] );
            }
        }
        
$mail mail$to$subject$body$headers );
        if ( !
$mail && $showmsg )
        {
            
stderr$lang->global['error'], $lang->global['mailerror'] );
        }
        if ( isset( 
$GLOBALS['smtp'] ) && $GLOBALS['smtp'] == "yes" )
        {
            
ini_restoreSMTP );
            
ini_restoresmtp_port );
            if ( 
$windows )
            {
                
ini_restore"sendmail_from" );
            }
        }
    }
    else if ( 
$GLOBALS['smtptype'] == "external" )
    {
        
$SMTP = array( );
        
$SMTP['secure_connection'] = $GLOBALS['secure_connection'];
        
$SMTP['smtpaddress'] = $GLOBALS['smtpaddress'];
        
$SMTP['smtpport'] = $GLOBALS['smtpport'];
        
$SMTP['accountname'] = $GLOBALS['accountname'];
        
$SMTP['accountpassword'] = $GLOBALS['accountpassword'];
        require_once( 
INC_PATH."/class_ts_smtp.php" );
        
$TSMAIL = new TS_SMTP$SMTP );
        
$TSMAIL->start$totrim$subject ), trim$body ), $fromemail""$charset$fromemail$BASEURL );
        
$Status $TSMAIL->send( );
    }
    if ( 
$showmsg )
    {
        if ( 
$type == "confirmation" )
        {
            
stderr$lang->global['success'], sprintf$lang->global['mailsent'], htmlspecialchars_uni$to ) ), FALSE );
        }
        else if ( 
$type == "details" )
        {
            
stderr$lang->global['success'], sprintf$lang->global['mailsent2'], htmlspecialchars_uni$to ) ), FALSE );
        }
    }
    else
    {
        return 
TRUE;
    }
}

function 
TSBoot$IPADDRESS "" )
{
    global 
$BASEURL;
    global 
$rootpath;
    global 
$SITENAME;
    global 
$iplog1;
    global 
$lang;
    global 
$cachetime;
    global 
$cache;
    global 
$where;
    global 
$UseMemcached;
    global 
$querystring;
    global 
$page;
    global 
$securehash;
    if ( empty( 
$_COOKIE['c_secure_pass'] ) || empty( $_COOKIE['c_secure_uid'] ) || strlen$_COOKIE['c_secure_pass'] ) != 32 )
    {
    }
    else if ( !( 
$id intval$_COOKIE['c_secure_uid'] ) ) )
    {
        if ( !( 
$res sql_query"SELECT HIGH_PRIORITY * FROM users WHERE id = ".sqlesc$id ) ) ) )
        {
        }
    }
    else if ( !
mysql_num_rows$res ) )
    {
    }
    else
    {
        
$row mysql_fetch_assoc$res );
        if ( 
$_COOKIE['c_secure_pass'] != securehash$row['passhash'] ) )
        {
        }
        else
        {
            if ( 
$iplog1 == "yes" && $IPADDRESS != $row['ip'] && !empty( $IPADDRESS ) )
            {
                if ( !
sql_query"REPLACE INTO iplog VALUES (".sqlesc$IPADDRESS ).", '".$id."')" ) )
                {
                }
            }
            if ( 
$IPADDRESS != $row['ip'] )
            {
                
$updateuser[] = "ip = ".sqlesc$IPADDRESS );
            }
            if ( 
strlen$row['torrent_pass'] ) != 32 )
            {
                
$torrent_pass md5$row['username'].$Tmp_95.$row['passhash'] );
                
$updateuser[] = "torrent_pass = '{$torrent_pass}'";
            }
            if ( 
$where == "yes" && $page != $row['page'] && !defined"SKIP_LOCATION_SAVE" ) && !ts_match"ts_error"$page ) )
            {
                
$updateuser[] = "page = ".sqlesc$page.$querystring );
            }
            if ( 
900 TIMENOW - @ts_mtstouts$row['last_login'] ) )
            {
                
$updateuser[] = "last_login = '{$row['last_access']}'";
            }
            
$updateuser[] = "last_access = NOW()";
            if ( 
defined"IN_FORUMS" ) )
            {
                if ( 
900 TIMENOW $row['last_forum_active'] )
                {
                    
$updateuser[] = "last_forum_visit='".$row['last_forum_active']."'";
                }
                
$updateuser[] = "last_forum_active='".TIMENOW."'";
            }
            
$row['securitytoken_raw'] = sha1$row['id'].sha1$row['secret'] ).sha1$securehash ) );
            
$row['securitytoken'] = TIMENOW."-".sha1( );
            if ( 
count$updateuser ) )
            {
                if ( !
sql_query"UPDATE LOW_PRIORITY users SET ".implode","$updateuser )." WHERE id = '".$id."'" ) )
                {
                }
            }
            
$GLOBALS['GLOBALS']['CURUSER'] = $row;
            if ( 
$UseMemcached )
            {
                global 
$TSMemcache;
                if ( 
$row2 $TSMemcache->check"usergroup_".$row['usergroup'] ) )
                {
                }
                else
                {
                    if ( !( 
$Query sql_query"SELECT HIGH_PRIORITY * FROM usergroups WHERE gid = '".$row['usergroup']."'" ) ) )
                    {
                    }
                    
$TSMemcache->add"usergroup_".$row['usergroup'], $row2 );
                }
            }
            else
            {
                if ( !( 
$Query sql_query"SELECT HIGH_PRIORITY * FROM usergroups WHERE gid = '".$row['usergroup']."'" ) ) )
                {
                }
                
$row2 mysql_fetch_assoc$Query );
            }
            
$GLOBALS['GLOBALS']['usergroups'] = $row2;
            if ( 
$row2['isbanned'] != "no" || $row['enabled'] != "yes" || $row['status'] != "confirmed" )
            {
                
print_no_permissionFALSETRUE$row['notifs'] );
                exit( );
            }
            unset( 
$row );
            unset( 
$row2 );
            
$GLOBALS['GLOBALS']['ts_cron_image'] = !defined"SKIP_CRON_JOBS" ) ? TRUE FALSE;
        }
    }
}

function 
TSDetectUserIP( )
{
    
$ip FALSE;
    if ( !empty( 
$_SERVER['HTTP_CLIENT_IP'] ) )
    {
        
$ip $_SERVER['HTTP_CLIENT_IP'];
    }
    if ( !empty( 
$_SERVER['HTTP_X_FORWARDED_FOR'] ) )
    {
        
$ips explode", "$_SERVER['HTTP_X_FORWARDED_FOR'] );
        if ( 
$ip )
        {
            
array_unshift$ips$ip );
            
$ip FALSE;
        }
        
$i 0;
        while ( 
$i count$ips ) )
        {
            if ( !
preg_match"/^(?:10|172\\.(?:1[6-9]|2\\d|3[01])|192\\.168)\\./"$ips[$i] ) )
            {
                if ( 
version_comparephpversion( ), "5.0.0"">=" ) )
                {
                    if ( 
ip2long$ips[$i] ) != FALSE )
                    {
                        
$ip $ips[$i];
                        break;
                    }
                }
                if ( 
ip2long$ips[$i] ) != )
                {
                    
$ip $ips[$i];
                    break;
                }
            }
            ++
$i;
        }
    }
    return 
htmlspecialchars_uni$ip $ip $_SERVER['REMOTE_ADDR'] );
}

function 
mksize$bytes )
{
    if ( 
$bytes 1000 1024 )
    {
        return 
number_format$bytes 1024)." KB";
    }
    if ( 
$bytes 1000 1048576 )
    {
        return 
number_format$bytes 1048576)." MB";
    }
    if ( 
$bytes 1000 1073741824 )
    {
        return 
number_format$bytes 1073741824)." GB";
    }
    return 
number_format$bytes 1.09951e+012)." TB";
}

function 
sqlesc$value )
{
    if ( 
function_exists"get_magic_quotes_gpc" ) && get_magic_quotes_gpc( ) )
    {
        
$value stripslashes$value );
    }
    return 
"'".mysql_real_escape_string$value )."'";
}

function 
ts_template( )
{
    global 
$CURUSER;
    global 
$TSSECache;
    global 
$trackerdefaulttemplate;
    if ( isset( 
$CURUSER['stylesheet'] ) && !empty( $CURUSER['stylesheet'] ) && isset( $TSSECache->Cache['ts_themes']['content'] ) && !empty( $TSSECache->Cache['ts_themes']['content'] ) && in_array$CURUSER['stylesheet'], explode","$TSSECache->Cache['ts_themes']['content'] ), TRUE ) )
    {
        
$GLOBALS['GLOBALS']['defaulttemplate'] = $CURUSER['stylesheet'];
        return 
$CURUSER['stylesheet'];
    }
    return 
$trackerdefaulttemplate;
}

function 
mksecret$length 20$UseNumbers TRUE )
{
    if ( 
$UseNumbers )
    {
        
$set = array( "a""A""b""B""c""C""d""D""e""E""f""F""g""G""h""H""i""I""j""J""k""K""l""L""m""M""n""N""o""O""p""P""q""Q""r""R""s""S""t""T""u""U""v""V""w""W""x""X""y""Y""z""Z""1""2""3""4""5""6""7""8""9" );
    }
    else
    {
        
$set = array( "a""A""b""B""c""C""d""D""e""E""f""F""g""G""h""H""i""I""j""J""k""K""l""L""m""M""n""N""o""O""p""P""q""Q""r""R""s""S""t""T""u""U""v""V""w""W""x""X""y""Y""z""Z" );
    }
    
$str "";
    
$i 1;
    while ( 
$i <= $length )
    {
        
$ch rand0count$set ) - );
        
$str .= $set[$Var_624];
        ++
$i;
    }
    return 
$str;
}

function 
securehash$var "" )
{
    global 
$securehash;
    return 
md5$var.USERIPADDRESS.$securehash );
}

function 
warn_donor$s$warnday )
{
    if ( 
$s )
    {
        
$s 0;
    }
    
$t = array( );
    foreach ( array( 
"60:sec""60:min""24:hour""0:day" ) as $x )
    {
        
$y explode":"$x );
        if ( 
$y[0] )
        {
            
$v $s $y[0];
            
$s floor$s $y[0] );
        }
        else
        {
            
$v $s;
        }
        
$t[$y[1]] = $v;
    }
    return 
$t['day'] < $warnday TRUE FALSE;
}

function 
cutename$name$max 35$html TRUE )
{
    return 
$html htmlspecialchars_uni$max strlen$name ) ? substr$name0$max )."..." $name ) : $max strlen$name ) ? substr$name0$max )."..." $name;
}

function 
get_extension$file "" )
{
    return 
strtolowersubstrstrrchr$file"." ), ) );
}

function 
ts_nf$number )
{
    return 
number_format$number0".""," );
}

function 
ts_collapse$id$type )
{
    global 
$BASEURL;
    global 
$tscollapse;
    
$defaulttemplate ts_template( );
    if ( 
$type === )
    {
        return 
"<a style=\"float: right;\" href=\"javascript: void(0);\" onclick=\"return toggle_collapse('".$id."')\"><img id=\"collapseimg_".$id."\" src=\"".$BASEURL."/include/templates/".$defaulttemplate."/images/collapse_tcat".( isset( $tscollapse[$Tmp_26] ) ? $tscollapse["collapseimg_".$id.""] : "" ).".png\" alt=\"\" border=\"0\" /></a>";
    }
    if ( 
$type === )
    {
        return 
"<tbody id=\"collapseobj_".$id."\" style=\"".( isset( $tscollapse["collapseobj_".$id] ) ? $tscollapse["collapseobj_".$id] : "none" )."\">";
    }
}

function 
is_mod$user = array( ) )
{
    return isset( 
$user['cansettingspanel'] ) && $user['cansettingspanel'] === "yes" || isset( $user['issupermod'] ) && $user['issupermod'] === "yes" || isset( $user['canstaffpanel'] ) && $user['canstaffpanel'] === "yes" TRUE FALSE;
}

function 
pager$perpage$results$address "" )
{
    global 
$lang;
    global 
$BASEURL;
    if ( 
$results $perpage )
    {
        return array( 
"""""" );
    }
    if ( 
$results )
    {
        
$totalpages = @ceil$results $perpage );
    }
    else
    {
        
$totalpages 0;
    }
    if ( isset( 
$_GET['showlast'] ) && $_GET['showlast'] == "true" )
    {
        
$pagenumber $totalpages;
    }
    else
    {
        
$pagenumber = isset( $_GET['page'] ) ? intval$_GET['page'] ) : isset( $_POST['page'] ) ? intval$_POST['page'] ) : "";
    }
    
sanitize_pageresults$results$pagenumber$perpage200 );
    
$limitlower = ( $pagenumber ) * $perpage;
    
$limitupper $pagenumber $perpage;
    if ( 
$results $limitupper )
    {
        
$limitupper $results;
        if ( 
$results $limitlower )
        {
            
$limitlower $results $perpage 1;
        }
    }
    if ( 
$limitlower )
    {
        
$limitlower 0;
    }
    
$pagenav $firstlink $prevlink $lastlink $nextlink "";
    
$curpage 0;
    if ( 
$results <= $perpage )
    {
        
$show['pagenav'] = FALSE;
        return array(
            
"",
            
"",
            
"LIMIT {$limitlower}{$perpage}"
        
);
    }
    
$show['pagenav'] = TRUE;
    
$total ts_nf$results );
    
$show['prev'] = $show['next'] = $show['first'] = $show['last'] = FALSE;
    if ( 
$pagenumber )
    {
        
$prevnumbers fetch_start_end_total_array$prevpage$perpage$results );
        
$show['prev'] = TRUE;
    }
    if ( 
$pagenumber $totalpages )
    {
        
$nextpage $pagenumber 1;
        
$nextnumbers fetch_start_end_total_array$nextpage$perpage$results );
        
$show['next'] = TRUE;
    }
    
$pagenavpages "3";
    if ( !isset( 
$pagenavsarr ) || !is_array$pagenavsarr ) )
    {
        
$pagenavs "10 50 100 500 1000";
        
$pagenavsarr[] = preg_split"#\\s+#s"$pagenavs1PREG_SPLIT_NO_EMPTY );
    }
    while ( 
$curpage++ < $totalpages )
    {
        if ( 
$pagenavpages <= abs$curpage $pagenumber ) && $pagenavpages != )
        {
            if ( 
$curpage == )
            {
                
$firstnumbers fetch_start_end_total_array1$perpage$results );
                
$show['first'] = TRUE;
            }
            if ( 
$curpage == $totalpages )
            {
                
$lastnumbers fetch_start_end_total_array$totalpages$perpage$results );
                
$show['last'] = TRUE;
            }
            if ( 
in_arrayabs$curpage $pagenumber ), $pagenavsarr ) && $curpage != && $curpage != $totalpages )
            {
                
$pagenumbers fetch_start_end_total_array$curpage$perpage$results );
                
$relpage $curpage $pagenumber;
                if ( 
$relpage )
                {
                    
$relpage "+".$relpage;
                }
                
$pagenav .= "<li><a class=\"smalltext\" href=\"{$address}".( $curpage != "page=".$curpage."&scrollto=tspager" "scrollto=tspager" )."\" title=\"".sprintf$lang->global['show_results'], $pagenumbers['first'], $pagenumbers['last'], $total )."\"><!--{$relpage}-->{$curpage}</a></li>";
            }
        }
        else if ( 
$curpage == $pagenumber )
        {
            
$numbers fetch_start_end_total_array$curpage$perpage$results );
            
$pagenav .= "<li><a name=\"current\" class=\"current\" title=\"".sprintf$lang->global['showing_results'], $numbers['first'], $numbers['last'], $total )."\">{$curpage}</a></li>";
        }
        else
        {
            
$pagenumbers fetch_start_end_total_array$curpage$perpage$results );
            
$pagenav .= "<li><a href=\"{$address}".( $curpage != "page=".$curpage."&scrollto=tspager" "scrollto=tspager" )."\" title=\"".sprintf$lang->global['show_results'], $pagenumbers['first'], $pagenumbers['last'], $total )."\">{$curpage}</a></li>";
        }
    }
    
$prp = isset( $prevpage ) && $prevpage != "page=".$prevpage."scrollto=tspager" "scrollto=tspager";
    
$pagenav "\r\n\t<a id=\"tspager\" name=\"tspager\"></a>\r\n\t<table width=\"100%\" border=\"0\" class=\"none\" style=\"clear: both;\">\r\n\t\t<tr>\r\n\t\t\t<td class=\"none\" width=\"100%\" style=\"padding: 0px 0px 1px 0px;\">\r\n\t\t\t\t<div style=\"float: left;\" id=\"navcontainer_f\">\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li>{$pagenumber} - {$totalpages}</li>\r\n\t\t\t\t\t\t".( $show['first'] ? "<li><a class=\"smalltext\" href=\"".$address."scrollto=tspager\" title=\"".$lang->global['first_page']." - ".sprintf$lang->global['show_results'], $firstnumbers['first'], $firstnumbers['last'], $total )."\">&laquo; ".$lang->global['first']."</a></li>" "" ).( $show['prev'] ? "<li><a class=\"smalltext\" href=\"".$address.$prp."\" title=\"".$lang->global['prev_page']." - ".sprintf$lang->global['show_results'], $prevnumbers['first'], $prevnumbers['last'], $total )."\">&lt;</a></li>" "" )."\r\n\t\t\t\t\t\t{$pagenav}\r\n\t\t\t\t\t\t".( $show['next'] ? "<li><a class=\"smalltext\" href=\"".$address."page=".$nextpage."&scrollto=tspager\" title=\"".$lang->global['next_page']." - ".sprintf$lang->global['show_results'], $nextnumbers['first'], $nextnumbers['last'], $total )."\">&gt;</a></li>" "" ).( $show['last'] ? "<li><a class=\"smalltext\" href=\"".$address."page=".$totalpages."&scrollto=tspager\" title=\"".$lang->global['last_page']." - ".sprintf$lang->global['show_results'], $lastnumbers['first'], $lastnumbers['last'], $total )."\">".$lang->global['last']." <strong>&raquo;</strong></a></li>" "" )."\r\n\t\t\t\t\t\t<li><a href=\"#\" id=\"quicknavpage\">".$lang->global['buttongo']."</a></li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t<script type=\"text/javascript\">\r\n\t\tmenu_register(\"quicknavpage\", true);\r\n\t</script>\r\n\t<div id=\"quicknavpage_menu\" class=\"menu_popup\" style=\"display:none;\">\r\n\t<form action=\"".$address."\" method=\"get\" onsubmit=\"return TSGoToPage('".$address."', '')\">\r\n\t\t<table border=\"0\" cellpadding=\"2\" cellspacing=\"1\">\r\n\t\t\t<tbody>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td class=\"thead\" nowrap=\"nowrap\">".$lang->global['gotopage']."</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td class=\"subheader\" title=\"\">\r\n\t\t\t\t\t\t<input id=\"Page_Number\" style=\"font-size: 11px;\" size=\"4\" type=\"text\">\r\n\t\t\t\t\t\t<input value=\"".$lang->global['buttongo']."\" type=\"button\" onclick=\"TSGoToPage('".$address."', '')\">\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t</form>\r\n\t</div>\r\n\t<script type=\"text/javascript\">\r\n\t\tmenu.activate(true);\r\n\t</script>\r\n\t";
    
$pagenav2 str_replace( array( "quicknavpage""Page_Number" ), array( "quicknavpage2""Page_Number2" ), $pagenav );
    return array(
        
$pagenav,
        
$pagenav2,
        
"LIMIT {$limitlower}{$perpage}"
    
);
}

function 
sanitize_pageresults$numresults, &$page, &$perpage$maxperpage 20$defaultperpage 20 )
{
    
$perpage intval$perpage );
    if ( 
$perpage )
    {
        
$perpage $defaultperpage;
    }
    else if ( 
$maxperpage $perpage )
    {
        
$perpage $maxperpage;
    }
    
$numpages ceil$numresults $perpage );
    if ( 
$numpages == )
    {
        
$numpages 1;
    }
    if ( 
$page )
    {
        
$page 1;
    }
    else if ( 
$numpages $page )
    {
        
$page $numpages;
    }
}

function 
fetch_start_end_total_array$pagenumber$perpage$total )
{
    
$first $perpage * ( $pagenumber );
    
$last $first $perpage;
    if ( 
$total $last )
    {
        
$last $total;
    }
    ++
$first;
    return array(
        
"first" => ts_nf$first ),
        
"last" => ts_nf$last )
    );
}

function 
get_user_color$username$namestyle$white FALSE )
{
    if ( 
$white )
    {
        
$new_username "<font color=\"#ffffff\">".$username."</font>";
    }
    else
    {
        
$new_username str_replace"{username}"$username$namestyle );
    }
    return 
$new_username;
}

function 
int_check$value )
{
    global 
$CURUSER;
    global 
$BASEURL;
    global 
$lang;
    
$msg sprintf$lang->global['invalididlogmsg'], htmlspecialchars_uni$_SERVER['REQUEST_URI'] ), "<a href=\"".$BASEURL."/userdetails.php?id=".$CURUSER['id']."\">".$CURUSER['username']."</a>"USERIPADDRESSget_date_time( ) );
    if ( 
is_array$value ) )
    {
        foreach ( 
$value as $val )
        {
            if ( !
is_valid_id$val ) )
            {
                
write_log$msg );
                
print_no_permission( );
            }
        }
    }
    else if ( !
is_valid_id$value ) )
    {
        
write_log$msg );
        
print_no_permission( );
    }
}

function 
is_valid_id$id )
{
    return 
is_numeric$id ) && $id && floor$id ) == $id;
}

function 
flood_check$type ""$last ""$shoutbox FALSE )
{
    global 
$lang;
    global 
$usergroups;
    if ( !
$usergroups['floodlimit'] )
    {
        return 
"";
    }
    
$timecut TIMENOW $usergroups['floodlimit'];
    if ( 
strstr$last"-" ) )
    {
        
$last ts_mtstouts$last );
    }
    if ( 
$timecut <= $last && $usergroups['floodlimit'] != )
    {
        
$remaining_time $usergroups['floodlimit'] - ( TIMENOW $last );
        if ( 
$shoutbox == )
        {
            
stderr$lang->global['error'], sprintf$lang->global['flooderror'], $usergroups['floodlimit'], $type$remaining_time ), FALSE );
        }
        else
        {
            return 
"<font color=\"#9f040b\" size=\"2\">".sprintf$lang->global['flooderror'], $usergroups['floodlimit'], $type$remaining_time )."</font>";
        }
    }
}

function 
print_no_permission$log FALSE$stdhead TRUE$extra "" )
{
    global 
$lang;
    global 
$SITENAME;
    global 
$BASEURL;
    global 
$CURUSER;
    if ( 
$log )
    {
        
$page htmlspecialchars_uni$_SERVER['SCRIPT_NAME'] );
        
$query htmlspecialchars_uni$_SERVER['QUERY_STRING'] );
        
$message sprintf$lang->global['permissionlogmessage'], $page$query"<a href=\"".$BASEURL."/userdetails.php?id=".$CURUSER['id']."\">".$CURUSER['username']."</a>"$CURUSER['ip'] );
        
write_log$message );
    }
    if ( 
$stdhead )
    {
        
stdhead$lang->global['nopermission'] );
        echo 
sprintf$lang->global['print_no_permission'], $SITENAME$extra != "" "<font color=\"#9f040b\">".$extra."</font>" $lang->global['print_no_permission_i'] );
        
stdfoot( );
    }
    else
    {
        echo 
sprintf$lang->global['print_no_permission'], $SITENAME$extra != "" "<font color=\"#9f040b\">".$extra."</font>" $lang->global['print_no_permission_i'] );
        
stdfoot( );
    }
    exit( );
}

function 
my_datee$format$stamp ""$offset ""$ty )
{
    global 
$CURUSER;
    global 
$lang;
    global 
$dateformat;
    global 
$timezoneoffset;
    global 
$dstcorrection;
    if ( empty( 
$stamp ) )
    {
        
$stamp TIMENOW;
    }
    else if ( 
strstr$stamp"-" ) )
    {
        
$stamp ts_mtstouts$stamp );
    }
    if ( !
$offset && $offset != "0" )
    {
        if ( 
$CURUSER && $CURUSER['id'] )
        {
            
$offset $CURUSER['tzoffset'];
            
$dstcorr ts_match$CURUSER['options'], "O1" ) ? "yes" "no";
        }
        else
        {
            
$offset $timezoneoffset;
            
$dstcorr $dstcorrection;
        }
        if ( 
$dstcorr == "yes" )
        {
            ++
$offset;
            if ( 
substr$offset0) != "-" )
            {
                
$offset "+".$offset;
            }
        }
    }
    if ( 
$offset == "-" )
    {
        
$offset 0;
    }
    
$date gmdate$format$stamp $offset 3600 );
    if ( 
$dateformat == $format && $ty )
    {
        
$stamp TIMENOW;
        
$todaysdate gmdate$format$stamp $offset 3600 );
        
$yesterdaysdate gmdate$format$stamp 86400 $offset 3600 );
        if ( 
$todaysdate == $date )
        {
            
$date $lang->global['today'];
        }
        else if ( 
$yesterdaysdate == $date )
        {
            
$date $lang->global['yesterday'];
        }
    }
    return 
$date;
}

function 
get_date_time$timestamp )
{
    if ( 
$timestamp )
    {
        return 
date"Y-m-d H:i:s"$timestamp );
    }
    return 
date"Y-m-d H:i:s" );
}

function 
gmtime( )
{
    return 
ts_mtstoutsget_date_time( ) );
}

function 
sqlerr$file ""$line "" )
{
    
redirect"ts_error.php?errorid=5" );
    exit( );
}

if ( !
defined"IN_TRACKER" ) )
{
    exit( 
"<font face='verdana' size='2' color='darkred'><b>Error!</b> Direct initialization of this file is not allowed.</font>" );
}
?>
The Following 3 Users Say Thank You to fireman For This Useful Post:
almonkz (28th December 2020), Daz (26th November 2012), Edgein (2nd July 2011)