📄 ad_member.php
字号:
}
if ( 0 < $IN['posts'] )
{
$add_query[] = " posts < ".$IN['posts']." ";
}
if ( 0 < $IN['mgroup'] )
{
$add_query[] = " mgroup='".$IN['mgroup']."' ";
}
$add_query[] = " id > 0";
$additional_query = implode( "AND", $add_query );
$this_query = trim( $query.$additional_query );
$pass_query = addslashes( urlencode( $additional_query ) );
$DB->query( $this_query );
$count = $DB->fetch_row( );
if ( $count['mcount'] < 1 )
{
$ADMIN->error( "没有找到任何用户符合删除选项,请返回重试!" );
}
$ADMIN->page_title = "删除用户选项";
$ADMIN->page_detail = "请确认你的操作。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "doprune" ),
2 => array( "act", "mem" ),
3 => array(
"query",
$pass_query
)
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "用户删除确认" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>删除的用户数量:</b>",
$count['mcount']
) );
$ADMIN->html .= $SKIN->end_form( "完成用户删除操作" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function doprune( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$query = trim( urldecode( stripslashes( $IN['query'] ) ) );
$query = str_replace( "<", "<", $query );
$query = str_replace( ">", ">", $query );
if ( $query == "" )
{
$ADMIN->error( "没有找到相关用户符合用户删除选项" );
}
$ids = array( );
$DB->query( "SELECT id FROM ibf_members WHERE ".$query );
if ( $DB->get_num_rows( ) )
{
while ( $i = $DB->fetch_row( ) )
{
$ids[] = $i['id'];
}
}
else
{
$ADMIN->error( "没有找到相关用户符合用户删除选项" );
}
$id_string = implode( ",", $ids );
$id_count = count( $ids );
$DB->query( "UPDATE ibf_posts SET author_id='0' WHERE author_id IN(".$id_string.")" );
$DB->query( "UPDATE ibf_topics SET starter_id='0' WHERE starter_id IN(".$id_string.")" );
$DB->query( "DELETE from ibf_members WHERE id IN(".$id_string.")" );
$DB->query( "DELETE from ibf_pfields_content WHERE member_id IN(".$id_string.")" );
$DB->query( "DELETE from ibf_messages WHERE member_id IN (".$id_string.")" );
$DB->query( "DELETE from ibf_tracker WHERE member_id IN (".$id_string.")" );
$DB->query( "SELECT id, name FROM ibf_members WHERE mgroup <> '".$INFO['auth_group']."' ORDER BY joined DESC LIMIT 0,1" );
$mem = $DB->fetch_row( );
$DB->query( "UPDATE ibf_stats SET MEM_COUNT=MEM_COUNT-".$id_count.", "."LAST_MEM_NAME='".$mem['name']."', "."LAST_MEM_ID='".$mem['id']."'" );
$ADMIN->save_log( "删除 {$id_count} 用户" );
$ADMIN->done_screen( "用户帐号已经删除", "论坛用户管理", "act=mem&code=edit" );
}
function delete_lookup_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['USER_NAME'] == "" )
{
$ADMIN->error( "你没有输入需要搜索的用户名称!" );
}
$DB->query( "SELECT id, name FROM ibf_members WHERE name LIKE '".$IN['USER_NAME']."%'" );
if ( !$DB->get_num_rows( ) )
{
$ADMIN->error( "对不起,我们无法找到符合搜索条件的用户信息" );
}
$form_array = array( );
while ( $r = $DB->fetch_row( ) )
{
$form_array[] = array(
$r['id'],
$r['name']
);
}
$ADMIN->page_title = "删除用户帐号";
$ADMIN->page_detail = "请选择需要删除的用户名称。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "dodelete" ),
2 => array( "act", "mem" )
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "用户搜索结果" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>从匹配的结果中选择 ...</b>",
$SKIN->form_dropdown( "MEMBER_ID", $form_array )
) );
$ADMIN->html .= $SKIN->end_form( "删除用户帐号" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function dodelete( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['MEMBER_ID'] == "" )
{
$ADMIN->error( "无法找到用户ID" );
}
$DB->query( "SELECT * FROM ibf_members WHERE id='".$IN['MEMBER_ID']."'" );
$mem = $DB->fetch_row( );
if ( $mem['id'] == "" )
{
$ADMIN->error( "无法找到用户ID" );
}
$DB->query( "UPDATE ibf_posts SET author_id='0' WHERE author_id='".$IN['MEMBER_ID']."'" );
$DB->query( "UPDATE ibf_topics SET starter_id='0' WHERE starter_id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_members WHERE id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_pfields_content WHERE member_id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_member_extra WHERE id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_messages WHERE member_id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_tracker WHERE member_id='".$IN['MEMBER_ID']."'" );
$DB->query( "DELETE from ibf_forum_tracker WHERE member_id='".$IN['MEMBER_ID']."'" );
$DB->query( "SELECT id, name FROM ibf_members WHERE mgroup <> '".$INFO['auth_group']."' ORDER BY joined DESC LIMIT 0,1" );
$memb = $DB->fetch_row( );
$DB->query( "UPDATE ibf_stats SET MEM_COUNT=MEM_COUNT-1, LAST_MEM_NAME='".$memb['name']."', "."LAST_MEM_ID='".$memb['id']."'" );
$ADMIN->save_log( "删除用户账号:'{$mem['name']}'" );
$ADMIN->done_screen( "用户账号已经删除", "论坛用户管理", "act=mem&code=edit" );
}
function add_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$ADMIN->page_title = "快速注册用户";
$ADMIN->page_detail = "你可以使用下面的表单快速注册用户。";
$DB->query( "SELECT g_id, g_title FROM ibf_groups ORDER BY g_title" );
while ( $r = $DB->fetch_row( ) )
{
$mem_group[] = array(
$r['g_id'],
$r['g_title']
);
}
$custom_output = "";
$field_data = array( );
$DB->query( "SELECT * from ibf_pfields_content WHERE member_id='".$IN['MEMBER_ID']."'" );
while ( $content = $DB->fetch_row( ) )
{
foreach ( $content as $k => $v )
{
if ( preg_match( "/^field_(\\d+)\$/", $k, $match ) )
{
$field_data[$match[1]] = $v;
}
}
}
$DB->query( "SELECT * from ibf_pfields_data WHERE fshowreg=1 ORDER BY forder" );
while ( $row = $DB->fetch_row( ) )
{
$form_element = "";
if ( $row['ftype'] == "drop" )
{
$carray = explode( "|", trim( $row['fcontent'] ) );
$d_content = array( );
foreach ( $carray as $entry )
{
$value = explode( "=", $entry );
$ov = trim( $value[0] );
$td = trim( $value[1] );
if ( $ov && $td )
{
$d_content[] = array(
$ov,
$td
);
}
}
$form_element = $SKIN->form_dropdown( "field_".$row['fid'], $d_content, "" );
}
else if ( $row['ftype'] == "area" )
{
$form_element = $SKIN->form_textarea( "field_".$row['fid'], "" );
}
else
{
$form_element = $SKIN->form_input( "field_".$row['fid'], "" );
}
$custom_out .= $SKIN->add_td_row( array(
"<b>{$row['ftitle']}</b><br>{$row['desc']}",
$form_element
) );
}
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "doadd" ),
2 => array( "act", "mem" )
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "快速注册用户" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>用户名称:</b>",
$SKIN->form_input( "name" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>登录密码:</b>",
$SKIN->form_input( "password", "", "password" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>邮件地址:</b>",
$SKIN->form_input( "email" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>用户团队:</b>",
$SKIN->form_dropdown( "mgroup", $mem_group, $mem['mgroup'] )
) );
if ( $custom_out != "" )
{
$ADMIN->html .= $custom_out;
}
$ADMIN->html .= $SKIN->end_form( "注册用户" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_add( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
foreach ( array( "name", "password", "email", "mgroup" ) as $field )
{
if ( $IN[$field] == "" )
{
$ADMIN->error( "你必须填写所有表单数据!" );
}
}
$DB->query( "SELECT id FROM ibf_members WHERE LOWER(name)='".$IN['name']."'" );
if ( $DB->get_num_rows( ) )
{
$ADMIN->error( "我们已经存在此用户名称,请选择其他用户名称。" );
}
$custom_fields = array( );
$DB->query( "SELECT * from ibf_pfields_data" );
$have_custom = $DB->get_num_rows( );
while ( $row = $DB->fetch_row( ) )
{
$custom_fields["field_".$row['fid']] = $IN["field_".$row['fid']];
}
$DB->query( "SELECT MAX(id) as new_id FROM ibf_members" );
$r = $DB->fetch_row( );
$member_id = $r['new_id'] + 1;
$db_string = $DB->compile_db_insert_string( array(
"id" => $member_id,
"name" => trim( $IN['name'] ),
"password" => md5( trim( $IN['password'] ) ),
"email" => trim( strtolower( $IN['email'] ) ),
"mgroup" => $IN['mgroup'],
"joined" => time( ),
"posts" => 0,
"ip_address" => $IN['ip_address'],
"time_offset" => 0,
"view_sigs" => 1,
"view_avs" => 1,
"allow_post" => 1,
"view_pop" => 1,
"view_img" => 1,
"vdirs" => "in:短信收件箱|sent:短信发件箱"
) );
$DB->query( "INSERT INTO ibf_members (".$db_string['FIELD_NAMES'].") VALUES (".$db_string['FIELD_VALUES'].")" );
if ( 0 < count( $custom_fields ) )
{
$custom_fields['member_id'] = $member_id;
$db_string = $DB->compile_db_insert_string( $custom_fields );
$DB->query( "INSERT INTO ibf_pfields_content (".$db_string['FIELD_NAMES'].") VALUES(".$db_string['FIELD_VALUES'].")" );
}
unset( $db_string );
$DB->query( "UPDATE ibf_stats SET MEM_COUNT=MEM_COUNT+1, LAST_MEM_NAME='".trim( $IN['name'] )."', "."LAST_MEM_ID='".$member_id."'" );
$ADMIN->save_log( "添加用户帐号:'{$IN['name']}'" );
$ADMIN->done_screen( "用户帐号已经添加", "论坛用户管理", "act=mem&code=edit" );
}
function search_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$ADMIN->page_title = "编辑用户帐号";
$ADMIN->page_detail = "搜索用户名称";
$mem_group = array(
0 => array( "all", "所有用户团队" )
);
$DB->query( "SELECT g_id, g_title FROM ibf_groups ORDER BY g_title" );
while ( $r = $DB->fetch_row( ) )
{
$mem_group[] = array(
$r['g_id'],
$r['g_title']
);
}
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "stepone" ),
2 => array( "act", "mem" )
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "快速搜索用户" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>输入用户名称或包含字母:</b>",
$SKIN->form_input( "USER_NAME" )
) );
$ADMIN->html .= $SKIN->end_form( "搜索用户" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "advancedsearch" ),
2 => array( "act", "mem" )
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "用户高级搜索", "请填写至少一个表单选项,留空表示忽略选项。" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>用户名称包含 ...</b>",
$SKIN->form_input( "name" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>邮件地址包含 ...</b>",
$SKIN->form_input( "email" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>IP 地址包含 ...</b>",
$SKIN->form_input( "ip_address" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>OICQ 用户名包含 ...</b>",
$SKIN->form_input( "aim_name" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>ICQ 号码包含 ...</b>",
$SKIN->form_input( "icq_number" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>Yahoo! 用户名包含 ...</b>",
$SKIN->form_input( "yahoo" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>签名内容包含 ...</b>",
$SKIN->form_input( "signature" )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>最后发表帖子时间,距现在...</b>",
$SKIN->form_simple_input( "last_post" )." 天"
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>最后登录论坛时间,距现在...</b>",
$SKIN->form_simple_input( "last_activity" )." 天"
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>属于哪个用户团队 ...</b>",
$SKIN->form_dropdown( "mgroup", $mem_group )
) );
$ADMIN->html .= $SKIN->end_form( "搜索用户数据" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_advanced_search( $basic = 0 )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$page_query = "";
if ( $basic == 0 )
{
$query = array( );
foreach ( array( "name", "email", "ip_address", "aim_name", "icq_number", "yahoo", "signature", "last_post", "last_activity", "mgroup" ) as $bit )
{
$IN[$bit] = urldecode( trim( $IN[$bit] ) );
$page_query .= "&".$bit."=".urlencode( $IN[$bit] );
if ( $IN[$bit] != "" )
{
if ( $bit == "last_post" || $bit == "last_activity" )
{
$dateline = time( ) - $IN[$bit] * 60 * 60 * 24;
$query[] = "m.".$bit." > "."'{$dateline}'";
}
else if ( $bit == "mgroup" )
{
if ( $IN['mgroup'] != "all" )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -