📄 usercp.php
字号:
<?php
class usercp
{
var $output = "";
var $page_title = "";
var $nav = array( );
var $html = "";
var $parser = "";
var $member = array( );
var $m_group = array( );
var $jump_html = "";
var $links = array( );
var $bio = "";
var $notes = "";
var $size = "m";
var $email = "";
var $lib;
function usercp( )
{
global $ibforums;
global $DB;
global $std;
global $print;
require( "./sources/lib/post_parser.php" );
$this->parser = new post_parser( );
require( "./sources/lib/emailer.php" );
$this->email = new emailer( );
if ( $ibforums->input['CODE'] == "" )
{
$ibforums->input['CODE'] = 0;
}
$ibforums->lang = $std->load_words( $ibforums->lang, "lang_post", $ibforums->lang_id );
$ibforums->lang = $std->load_words( $ibforums->lang, "lang_ucp", $ibforums->lang_id );
$ibforums->lang = $std->load_words( $ibforums->lang, "lang_rpg", $ibforums->lang_id );
require( "./sources/lib/usercp_functions.php" );
$this->html = $std->load_template( "skin_ucp" );
$this->base_url = "{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}";
$this->base_url_nosess = "{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}";
$this->member = $ibforums->member;
if ( empty( $this->member['id'] ) )
{
$std->error( array( "LEVEL" => 1, "MSG" => "no_guests" ) );
}
$DB->query( "SELECT m.*, me.links, me.notes, me.ta_size \r\n \t\t\t FROM ibf_members m\r\n \t\t\t LEFT JOIN ibf_member_extra me ON(me.id=m.id)\r\n \t\t\t WHERE m.id='".$this->member['id']."'" );
$this->member = $DB->fetch_row( );
$this->links = $this->member['links'];
$this->notes = $this->member['notes'];
$this->size = $this->member['ta_size'] ? $this->member['ta_size'] : $this->size;
$links = "";
if ( $this->links )
{
$link_array = unserialize( stripslashes( $this->links ) );
reset( $link_array );
$links = "<option value='-1'>----------------</option>\n<option value='-1'>{$ibforums->lang['qc_your_links']}</option>\n";
$links .= "<option value='-1'>----------------</option>\n";
foreach ( $link_array as $k => $v )
{
$url = $v[0];
$desc = $v[1];
if ( $url != "" && $desc != "" )
{
if ( 45 < strlen( $desc ) )
{
$desc = substr( $desc, 0, 42 )."...";
}
$links .= "<option value='1|{$url}'>{$desc}</option>\n";
}
}
}
$menu_html = $this->html->menu_bar( $this->base_url );
if ( !$ibforums->member['g_use_pm'] )
{
$menu_html = preg_replace( "/<!-- Messenger -->.+?<!-- End Messenger -->/s", "", $menu_html );
}
$print->add_output( $menu_html );
$this->lib = new usercp_functions( &$this );
switch ( $ibforums->input['CODE'] )
{
case "00" :
$this->splash( );
break;
case "01" :
$this->personal( );
break;
case "02" :
$this->email_settings( );
break;
case "03" :
$this->do_email_settings( );
break;
case "04" :
$this->board_prefs( );
break;
case "05" :
$this->do_board_prefs( );
break;
case "06" :
$this->skin_langs( );
break;
case "07" :
$this->do_skin_langs( );
break;
case "08" :
$this->email_change( );
break;
case "09" :
$this->do_email_change( );
break;
case "21" :
$this->do_personal( );
break;
case "20" :
$this->update_notepad( );
break;
case "22" :
$this->signature( );
break;
case "23" :
$this->do_signature( );
break;
case "24" :
$this->avatar( );
break;
case "25" :
$this->do_avatar( );
break;
case "26" :
$this->tracker( );
break;
case "27" :
$this->do_delete_tracker( );
break;
case "28" :
$this->pass_change( );
break;
case "29" :
$this->do_pass_change( );
break;
case "50" :
$this->forum_tracker( );
break;
case "51" :
$this->remove_forum_tracker( );
break;
case "100" :
$this->rpg_profile( );
break;
case "101" :
$this->do_rpg_profile( );
break;
case "show_image" :
$this->show_image( );
break;
default :
$this->splash( );
break;
}
$fj = $std->build_forum_jump( );
$fj = preg_replace( "!#Forum Jump#!", $ibforums->lang['forum_jump'], $fj );
$this->output .= $this->html->cp_end( );
$this->output .= $this->html->forum_jump( $fj, $links );
$print->add_output( "{$this->output}" );
$print->do_output( array(
"TITLE" => $this->page_title,
"JS" => 1,
NAV => $this->nav
) );
}
function rpg_profile( )
{
global $ibforums;
global $DB;
global $std;
global $print;
$DB->query( "SELECT * FROM ibf_members WHERE id='".$this->member['id']."'" );
$user = $DB->fetch_row( );
if ( $user['level'] == "0" || $user['level'] == "" )
{
$classarrays = "var gd0 = new Array('Unknown','0');\n";
if ( $user['inbattle'] == 0 )
{
if ( $user['rpggender'] == 1 )
{
$rpgnameoptions = $user['rpgname'];
$unknown = $DB->query( "SELECT * FROM ibf_rpg_type WHERE id=0" );
$typearrayname0 = "var typename0 = new Array('{$unknown['name']}');\n";
$typearrayid0 = "var typeid0 = new Array('{$unknown['id']}');\n";
$typearrays .= "{$typearrayname0}\n{$typearrayid0}";
$rpgtypename = $unknown['name'];
$rpgtypeid = 0;
$count = 0;
$row = $DB->query( "SELECT * FROM ibf_rpg_classf ORDER BY name" );
while ( $class = $DB->fetch_row( $row ) )
{
if ( $user['rpgclass'] == $class['id'] )
{
$classoptions .= "<option value=\"{$class['id']}\" SELECTED>{$class['name']}</option>";
$unknown = $DB_site->query( "SELECT * FROM rpg_type WHERE id='".$class['type']."'" );
$rpgtypename = $unknown['name'];
$rpgtypeid = $unknown['id'];
}
else
{
$classoptions .= "<option value=\"{$class['id']}\">{$class['name']}</option>";
}
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= ",'".$class['typename']."'";
$typearrayid1vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= "'".$class['typename']."'";
$typearrayid1vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd1 = new Array({$classarrayvals});\n";
$typearrays .= "var typename1 = new Array({$typearrayname1vals});\n var typeid1 = new Array({$typearrayid1vals});\n";
$classarrayvals = "";
$row = $DB->query( "SELECT * FROM ibf_rpg_classm ORDER BY name" );
$count = 0;
while ( $class = $DB->fetch_row( $row ) )
{
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= ",'".$class['typename']."'";
$typearrayid2vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= "'".$class['typename']."'";
$typearrayid2vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd2 = new Array({$classarrayvals});\n";
$typearrays .= "var typename2 = new Array({$typearrayname2vals});\n var typeid2 = new Array({$typearrayid2vals});\n";
}
else if ( $user['rpggender'] == 2 )
{
$rpgnameoptions = $user['rpgname'];
$unknown = $DB->query( "SELECT * FROM ibf_rpg_type WHERE id=0" );
$typearrayname0 = "var typename0 = new Array('{$unknown['name']}');\n";
$typearrayid0 = "var typeid0 = new Array('{$unknown['id']}');\n";
$typearrays .= "{$typearrayname0}\n{$typearrayid0}";
$rpgtypename = $unknown['name'];
$rpgtypeid = 0;
$row = $DB->query( "SELECT * FROM ibf_rpg_classm ORDER BY name" );
$count = 0;
while ( $class = $DB->fetch_row( $row ) )
{
if ( $user['rpgclass'] == $class['id'] )
{
$classoptions .= "<option value=\"{$class['id']}\" SELECTED>{$class['name']}</option>";
$DB->query( "SELECT * FROM ibf_rpg_type WHERE id='".$class['type']."'" );
$unknown = $DB->fetch_row( );
$rpgtypename = $unknown['name'];
$rpgtypeid = $unknown['id'];
}
else
{
$classoptions .= "<option value=\"{$class['id']}\">{$class['name']}</option>";
}
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= ",'".$class['typename']."'";
$typearrayid2vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= "'".$class['typename']."'";
$typearrayid2vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd2 = new Array({$classarrayvals});\n";
$typearrays .= "var typename2 = new Array({$typearrayname2vals});\n var typeid2 = new Array({$typearrayid2vals});\n";
$classarrayvals = "";
$row = $DB->query( "SELECT * FROM ibf_rpg_classf ORDER BY name" );
$count = 0;
while ( $class = $DB->fetch_row( $row ) )
{
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= ",'".$class['typename']."'";
$typearrayid1vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= "'".$class['typename']."'";
$typearrayid1vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd1 = new Array({$classarrayvals});\n";
$typearrays .= "var typename1 = new Array({$typearrayname1vals});\n var typeid1 = new Array({$typearrayid1vals});\n";
}
else
{
$rpgnameoptions = $user['rpgname'];
$unknown = $DB->query( "SELECT * FROM ibf_rpg_type WHERE id=0" );
$typearrayname0 = "var typename0 = new Array('{$unknown['name']}');\n";
$typearrayid0 = "var typeid0 = new Array('{$unknown['id']}');\n";
$typearrays .= "{$typearrayname0}\n{$typearrayid0}";
$classoptions = "<option value=\"0\">Unknown</option>";
$classarrayvals = "";
$row = $DB->query( "SELECT * FROM ibf_rpg_classf ORDER BY name" );
$count = 0;
while ( $class = $DB->fetch_row( $row ) )
{
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= ",'".$class['typename']."'";
$typearrayid1vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname1vals .= "'".$class['typename']."'";
$typearrayid1vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd1 = new Array({$classarrayvals});\n";
$typearrays .= "var typename1 = new Array({$typearrayname1vals});\n var typeid1 = new Array({$typearrayid1vals});\n";
$classarrayvals = "";
$row = $DB->query( "SELECT * FROM ibf_rpg_classm ORDER BY name" );
$count = 0;
while ( $class = $DB->fetch_row( $row ) )
{
if ( 0 < $count )
{
$classarrayvals .= ",'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= ",'".$class['typename']."'";
$typearrayid2vals .= ",'".$class['type']."'";
}
else
{
$classarrayvals .= "'".$class['name']."','".$class['id']."'";
$typearrayname2vals .= "'".$class['typename']."'";
$typearrayid2vals .= "'".$class['type']."'";
}
++$count;
}
$classarrays .= "var gd2 = new Array({$classarrayvals});\n";
$typearrays .= "var typename2 = new Array({$typearrayname2vals});\n var typeid2 = new Array({$typearrayid2vals});\n";
$rpgtypename = $unknown['name'];
$rpgtypeid = 0;
}
$aligns = $DB->query( "SELECT * FROM ibf_rpg_alignment ORDER BY id" );
while ( $alignrow = $DB->fetch_row( $aligns ) )
{
$racearrayvals = "";
$races = $DB->query( "SELECT * FROM ibf_rpg_race WHERE alignmentid='".$alignrow['id']."' ORDER BY raceid" );
$count = 0;
while ( $row = $DB->fetch_row( $races ) )
{
if ( $user['rpgrace'] == $row['raceid'] && $user['alignment'] == $row['alignmentid'] )
{
$raceoptions .= "<option value=\"{$row['raceid']}\" SELECTED>{$row['name']}</option>\n";
}
else if ( $user['alignment'] == $alignrow['id'] )
{
$raceoptions .= "<option value=\"{$row['raceid']}\">{$row['name']}</option>\n";
}
if ( 0 < $count )
{
$racearrayvals .= ",'".$row['name']."','".$row['raceid']."'";
}
else
{
$racearrayvals .= "'".$row['name']."','".$row['raceid']."'";
}
++$count;
}
$racearrays .= "var al{$alignrow['id']} = new Array({$racearrayvals});\n";
if ( $user['alignment'] == $alignrow['id'] )
{
$alignmentoptions .= "<option value=\"al{$alignrow['id']}\" SELECTED>{$alignrow['name']}</option>";
}
else
{
$alignmentoptions .= "<option value=\"al{$alignrow['id']}\">{$alignrow['name']}</option>";
}
}
$elements = $DB->query( "SELECT * FROM ibf_rpg_element ORDER BY elementid" );
while ( $row = $DB->fetch_row( $elements ) )
{
if ( $user['element'] == $row['elementid'] )
{
$elementoptions .= "<option value=\"{$row['elementid']}\" SELECTED>{$row['name']}</option>";
}
else
{
$elementoptions .= "<option value=\"{$row['elementid']}\">{$row['name']}</option>";
}
}
if ( $user['rpggender'] == 0 )
{
$genderoptions = "<option value=\"gd0\" SELECTED>N/A</option>";
}
else
{
$genderoptions = "<option value=\"gd0\">N/A</option>";
}
if ( $user['rpggender'] == 1 )
{
$genderoptions .= "<option value=\"gd1\" SELECTED>女性</option>";
}
else
{
$genderoptions .= "<option value=\"gd1\">女性</option>";
}
if ( $user['rpggender'] == 2 )
{
$genderoptions .= "<option value=\"gd2\" SELECTED>男性</option>";
}
else
{
$genderoptions .= "<option value=\"gd2\">男性</option>";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -