📄 functions.php
字号:
$this_dims[0] = $davatar_dims[0];
$this_dims[1] = ceil( $this_dims[1] * $multiplier );
return "<img src='{$ibforums->vars['upload_url']}/{$member_avatar}' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}'>";
}
if ( $this_dims[0] < $this_dims[1] )
{
$multiplier = $davatar_dims[1] / $this_dims[1];
$this_dims[0] = ceil( $this_dims[0] * $multiplier );
$this_dims[1] = $davatar_dims[1];
return "<img src='{$ibforums->vars['upload_url']}/{$member_avatar}' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}'>";
}
return "<img src='{$ibforums->vars['upload_url']}/{$member_avatar}' border='0' width='{$davatar_dims[0]}' height='{$davatar_dims[1]}'>";
}
if ( !$this_dims[0] || $this_dims[0] == "" || !$this_dims[1] || $this_dims[1] == "" )
{
return "<img src='{$ibforums->vars['upload_url']}/{$member_avatar}' border='0' width='{$davatar_dims[0]}' height='{$davatar_dims[1]}'>";
}
}
return "<img src='{$ibforums->vars['upload_url']}/{$member_avatar}' border='0' width='{$this_dims[0]}' height='{$this_dims[1]}'>";
}
else if ( $member_avatar != "" )
{
$member_avatar = str_replace( "%2F", "/", rawurlencode( $member_avatar ) );
$default_a_dims = @getimagesize( $ibforums->vars['AVATARS_URL']."/".$member_avatar );
if ( $davatar_dims[0] < $default_a_dims[0] || $davatar_dims[1] < $default_a_dims[1] )
{
if ( $default_a_dims[1] < $default_a_dims[0] )
{
$multiplier = $davatar_dims[0] / $default_a_dims[0];
$default_a_dims[0] = $davatar_dims[0];
$default_a_dims[1] = ceil( $default_a_dims[1] * $multiplier );
return "<img src='{$ibforums->vars['AVATARS_URL']}/{$member_avatar}' border='0' width='{$default_a_dims[0]}' height='{$default_a_dims[1]}'>";
}
if ( $default_a_dims[0] < $default_a_dims[1] )
{
$multiplier = $davatar_dims[1] / $default_a_dims[1];
$default_a_dims[0] = ceil( $default_a_dims[0] * $multiplier );
$default_a_dims[1] = $davatar_dims[1];
return "<img src='{$ibforums->vars['AVATARS_URL']}/{$member_avatar}' border='0' width='{$default_a_dims[0]}' height='{$default_a_dims[1]}'>";
}
return "<img src='{$ibforums->vars['AVATARS_URL']}/{$member_avatar}' border='0' width='{$davatar_dims[0]}' height='{$davatar_dims[1]}'>";
}
if ( !$default_a_dims[0] || $default_a_dims[0] == "" || !$default_a_dims[1] || $default_a_dims[1] == "" )
{
return "<img src='{$ibforums->vars['AVATARS_URL']}/{$member_avatar}' border='0' width='{$davatar_dims[0]}' height='{$davatar_dims[1]}'>";
}
return "<img src='{$ibforums->vars['AVATARS_URL']}/{$member_avatar}' border='0' width='{$default_a_dims[0]}' height='{$default_a_dims[1]}'>";
}
else
{
return "";
}
}
function error( $error )
{
global $DB;
global $ibforums;
global $root_path;
global $skin_universal;
global $QUERY_STRING;
if ( $error['INIT'] == 1 )
{
$DB->query( "SELECT s.*, t.template, c.css_text\n \t\t\t\t\tFROM ibf_skins s\n \t\t\t\t\t LEFT JOIN ibf_templates t ON (t.tmid=s.tmpl_id)\n \t\t\t\t\t LEFT JOIN ibf_css c ON (s.css_id=c.cssid)\n \t \t WHERE s.default_set=1" );
$ibforums->skin = $DB->fetch_row( );
$ibforums->session_id = $this->my_getcookie( "session_id" );
$ibforums->base_url = $ibforums->vars['board_url']."/index.".$ibforums->vars['php_ext']."?s=".$ibforums->session_id;
$ibforums->skin_rid = $ibforums->skin['set_id'];
$ibforums->skin_id = "s".$ibforums->skin['set_id'];
if ( $ibforums->vars['default_language'] == "" )
{
$ibforums->vars['default_language'] = "chinese_gb";
}
$ibforums->lang_id = $ibforums->member['language'] ? $ibforums->member['language'] : $ibforums->vars['default_language'];
if ( $ibforums->lang_id != $ibforums->vars['default_language'] && !is_dir( $root_path."lang/".$ibforums->lang_id ) )
{
$ibforums->lang_id = $ibforums->vars['default_language'];
}
$ibforums->vars['img_url'] = "style_images/".$ibforums->skin['img_dir'];
$skin_universal = $this->load_template( "skin_global" );
}
$ibforums->lang = $this->load_words( $ibforums->lang, "lang_error", $ibforums->lang_id );
list( $em_1, $em_2 ) = explode( "@", $ibforums->vars['email_in'] );
$msg = $ibforums->lang[$error['MSG']];
if ( $error['EXTRA'] )
{
$msg = preg_replace( "/<#EXTRA#>/", $error['EXTRA'], $msg );
}
$html = $skin_universal->error( $msg, $em_1, $em_2 );
if ( $ibforums->member['id'] == "" && $error['MSG'] != "server_too_busy" )
{
$html = preg_replace( "/<!-- IBF\\.LOG_IN_TABLE -->/e", "\$skin_universal->error_log_in(\$QUERY_STRING)", $html );
}
$print = new display( );
$print->add_output( $html );
$print->do_output( array(
1,
TITLE => $ibforums->lang['error_title']
) );
}
function board_offline( )
{
global $DB;
global $ibforums;
global $root_path;
global $skin_universal;
$ibforums->lang = $this->load_words( $ibforums->lang, "lang_error", $ibforums->lang_id );
$msg = preg_replace( "/\n/", "<br>", stripslashes( $ibforums->vars['offline_msg'] ) );
$html = $skin_universal->board_offline( $msg );
$print = new display( );
$print->add_output( $html );
$print->do_output( array(
1,
TITLE => $ibforums->lang['offline_title']
) );
}
function select_var( $array )
{
if ( !is_array( $array ) )
{
return -1;
}
ksort( $array );
$chosen = -1;
foreach ( $array as $k => $v )
{
if ( isset( $v ) )
{
$chosen = $v;
break;
}
}
return $chosen;
}
}
class display
{
var $to_print = "";
function add_output( $to_add )
{
$this->to_print .= $to_add;
return true;
}
function do_output( $output_array )
{
global $DB;
global $Debug;
global $skin_universal;
global $ibforums;
if ( $ibforums->input['show_cp_order_number'] == 1 )
{
flush( );
print $ibforums->vars['ips_cp_purchase'] != "" ? $ibforums->vars['ips_cp_purchase'] : "0";
exit( );
}
$TAGS = $DB->query( "SELECT macro_value, macro_replace FROM ibf_macro WHERE macro_set='{$ibforums->skin['macro_id']}'" );
$ex_time = sprintf( "%.4f", $Debug->endtimer( ) );
$query_cnt = $DB->get_query_cnt( );
if ( $DB->obj['debug'] )
{
flush( );
print "<html><head><title>MySQL Debugger</title><body bgcolor='white'><style type='text/css'> TABLE, TD, TR, BODY { font-family: verdana,arial, sans-serif;color:black;font-size:12px }</style>";
print $ibforums->debug_html;
print "</body></html>";
exit( );
}
$input = "";
$queries = "";
$sload = "";
$gzip_status = $ibforums->vars['disable_gzip'] == 1 ? $ibforums->lang['gzip_off'] : $ibforums->lang['gzip_on'];
if ( 0 < $ibforums->server_load )
{
$sload = " [ 服务器负载:".$ibforums->server_load." ]";
}
if ( 0 < $ibforums->vars['debug_level'] )
{
$stats = "<br><table width='<{tbl_width}>' cellpadding='4' align='center' cellspacing='0' class='row1'>\n\t\t\t\t\t <tr>\n\t\t\t\t\t\t <td align='center'>[ 脚本执行时间:{$ex_time} ] [ 数据库查询:{$query_cnt} ] [ {$gzip_status} ] {$sload}</td>\n\t\t\t\t\t </tr>\n\t\t\t\t\t </table>";
}
if ( 2 <= $ibforums->vars['debug_level'] )
{
$stats .= "<br><table width='<{tbl_width}>' align='center' cellpadding='0' cellspacing='1' bgcolor='<{tbl_border}>'>\n \t\t\t\t\t<tr>\n \t\t\t\t\t <td>\n \t\t\t\t\t <table width='100%' align='center' cellpadding='4' cellspacing='1'>\n \t\t\t\t\t<tr>\n \t\t\t\t\t <td colspan='2' class='titlemedium' align='center'>POST 和 GET 信息</td>\n \t\t\t\t\t</tr>";
while ( list( $k, $v ) = each( $ibforums->input ) )
{
$stats .= "<tr><td width='20%' class='row1'>{$k}</td><td width='80%' class='row1'>{$v}</td></tr>";
}
$stats .= "</table></td></tr></table>";
}
if ( 3 <= $ibforums->vars['debug_level'] )
{
$stats .= "<br><table width='<{tbl_width}>' align='center' cellpadding='0' cellspacing='1' bgcolor='<{tbl_border}>'>\n \t\t\t\t\t<tr>\n \t\t\t\t\t <td>\n \t\t\t\t\t <table width='100%' align='center' cellpadding='4' cellspacing='1'>\n \t\t\t\t\t<tr>\n \t\t\t\t\t <td colspan='2' class='titlemedium' align='center'>数据库查询语句</td>\n \t\t\t\t\t</tr>";
foreach ( $DB->obj['cached_queries'] as $q )
{
$q = preg_replace( "/^SELECT/i", "<font style='color:red;font-weight:bold'>SELECT</font>", $q );
$q = preg_replace( "/^UPDATE/i", "<font style='color:blue;font-weight:bold'>UPDATE</font>", $q );
$q = preg_replace( "/^DELETE/i", "<font style='color:orange;font-weight:bold'>DELETE</font>", $q );
$q = preg_replace( "/^INSERT/i", "<font style='color:green;font-weight:bold'>INSERT</font>", $q );
$q = str_replace( "LEFT JOIN", "<font style='color:red;font-weight:bold'>LEFT JOIN</font>", $q );
$q = preg_replace( "/(".$ibforums->vars['sql_tbl_prefix'].")(\\S+?)([\\s\\.,]|\$)/", "<font style='color:purple;font-weight:bold'>\\1\\2</font>\\3", $q );
$stats .= "<tr><td class='row1'>{$q}</td></tr>";
}
$stats .= "</table></td></tr></table>";
}
$nav = $skin_universal->start_nav( );
$nav .= "<a href='{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}'>{$ibforums->vars['board_name']}</a>";
if ( empty( $output_array['OVERRIDE'] ) && is_array( $output_array['NAV'] ) )
{
foreach ( $output_array['NAV'] as $n )
{
if ( $n )
{
$nav .= "<{F_NAV_SEP}>".$n;
}
}
}
$nav .= $skin_universal->end_nav( );
$css = "\n<style type='text/css'>\n".$ibforums->skin['css_text']."\n</style>";
$copyright = "<!-- Copyright Information -->\n\n<p><table width='80%' align='center' cellpadding='3' cellspacing='0'><tr><td align='center' valign='middle' class='copyright'>{$b_copy}<br>Powered by <a href=\"http://www.invisionboard.com\" target='_blank'><u>Invision Power Board</u></a> {$ibforums->version} 中文版 © 2003 <a href='http://www.invisionpower.com' target='_blank'><u>IPS, Inc.</u></a><br>Chinese Version Development By <a href=\"http://www.ibfchina.com\" target='_blank'><u>HuaCooL Network</u></a> [<a>华酷论坛 {$ibforums->version} XP <a href='http://download.ibfchina.com' target='_blank'><u>Build 0428</u></a>]<br></td></tr></table><p>";
if ( $ibforums->vars['ips_cp_purchase'] )
{
$copyright = "";
}
$this_header = $skin_universal->boardheader( );
if ( $ibforums->member['id'] == 0 )
{
$output_array['MEMBER_BAR'] = $skin_universal->guest_bar( );
}
else
{
$pm_js = "";
if ( 0 < $ibforums->member['g_max_messages'] && $ibforums->member['g_max_messages'] <= $ibforums->member['msg_total'] )
{
$msg_data['TEXT'] = $ibforums->lang['msg_full'];
}
else
{
$ibforums->member['new_msg'] = $ibforums->member['new_msg'] == "" ? 0 : $ibforums->member['new_msg'];
$msg_data['TEXT'] = sprintf( $ibforums->lang['msg_new'], $ibforums->member['new_msg'] );
}
if ( $ibforums->member['show_popup'] )
{
$DB->query( "UPDATE ibf_members SET show_popup='0' WHERE id='{$ibforums->member['id']}'" );
$pm_js = $skin_universal->pm_popup( );
}
if ( $ibforums->member['is_mod'] || $ibforums->member['g_is_supmod'] == 1 )
{
$mod_link = $skin_universal->mod_link( );
}
$admin_link = $ibforums->member['g_access_cp'] ? $skin_universal->admin_link( ) : "";
if ( !$ibforums->member['g_use_pm'] )
{
$output_array['MEMBER_BAR'] = $skin_universal->member_no_usepm_bar( $admin_link, $mod_link );
}
else
{
$output_array['MEMBER_BAR'] = $pm_js.$skin_universal->member_bar( $msg_data, $admin_link, $mod_link );
}
}
if ( $ibforums->vars['board_offline'] == 1 )
{
$output_array['TITLE'] = $ibforums->lang['warn_offline']." ".$output_array['TITLE'];
}
$ibforums->skin['template'] = str_replace( "<% CSS %>", $css, $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% JAVASCRIPT %>", "", $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% TITLE %>", $output_array['TITLE'], $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% BOARD %>", $this->to_print, $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% STATS %>", $stats, $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% GENERATOR %>", "", $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% COPYRIGHT %>", $copyright, $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% BOARD HEADER %>", $this_header, $ibforums->skin['template'] );
$ibforums->skin['template'] = str_replace( "<% NAVIGATION %>", $nav, $ibforums->skin['template'] );
if ( empty( $output_array['OVERRIDE'] ) )
{
$ibforums->skin['template'] = str_replace( "<% MEMBER BAR %>", $output_array['MEMBER_BAR'], $ibforums->skin['template'] );
}
else
{
$ibforums->skin['template'] = str_replace( "<% MEMBER BAR %>", "<br>", $ibforums->skin['template'] );
}
if ( $ibforums->vars['ipshosting_credit'] )
{
$ibforums->skin['template'] = str_replace( "<!--IBF.BANNER-->", $skin_universal->ibf_banner( ), $ibforums->skin['template'] );
}
if ( $ibforums->vars['chat_account_no'] )
{
$ibforums->vars['chat_height'] += 25;
$ibforums->vars['chat_width'] += 25;
$chat_link = $ibforums->vars['chat_display'] == "self" ? $skin_universal->show_chat_link_inline( ) : $skin_universal->show_chat_link_popup( );
$ibforums->skin['template'] = str_replace( "<!--IBF.CHATLINK-->", $chat_link, $ibforums->skin['template'] );
}
while ( $row = $DB->fetch_row( $TAGS ) )
{
if ( $row['macro_value'] != "" )
{
$ibforums->skin['template'] = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $ibforums->skin['template'] );
}
}
$ibforums->skin['template'] = str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $ibforums->skin['template'] );
$DB->close_db( );
if ( $ibforums->vars['disable_gzip'] != 1 )
{
$buffer = ob_get_contents( );
ob_end_clean( );
ob_start( "ob_gzhandler" );
print $buffer;
}
$this->do_headers( );
print $ibforums->skin['template'];
exit( );
}
function do_headers( )
{
global $ibforums;
if ( $ibforums->vars['print_headers'] )
{
@header( "HTTP/1.0 200 OK" );
@header( "HTTP/1.1 200 OK" );
@header( "Content-type: text/html" );
if ( $ibforums->vars['nocache'] )
{
@header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
@header( "Cache-Control: no-cache, must-revalidate" );
@header( "Pragma: no-cache" );
}
}
}
function redirect_screen( $text = "", $url = "" )
{
global $ibforums;
global $skin_universal;
global $DB;
if ( $ibforums->input['debug'] )
{
flush( );
exit( );
}
$url = $start."?s={$ibforums->session_id}&".$url;
$ibforums->lang['stand_by'] = stripslashes( $ibforums->lang['stand_by'] );
$css = "\n<style>\n<!--\n".str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $ibforums->skin['css_text'] )."\n//-->\n</style>";
$htm = $skin_universal->redirect( $text, $url, $css );
$TAGS = $DB->query( "SELECT macro_value, macro_replace FROM ibf_macro WHERE macro_set='{$ibforums->skin['macro_id']}'" );
while ( $row = $DB->fetch_row( $TAGS ) )
{
if ( $row['macro_value'] != "" )
{
$htm = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $htm );
}
}
$htm = str_replace( "<#IMG_DIR#>", $ibforums->skin['img_dir'], $htm );
$DB->close_db( );
if ( $ibforums->vars['disable_gzip'] != 1 )
{
$buffer = ob_get_contents( );
ob_end_clean( );
ob_start( "ob_gzhandler" );
print $buffer;
}
$this->do_headers( );
echo $htm;
exit( );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -