⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad_member.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 4 页
字号:
		}
		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( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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( "&lt;", "<", $query );
		$query = str_replace( "&gt;", ">", $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( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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 + -