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

📄 acp_users.php

📁 通过基于Windows的图形化界面
💻 PHP
📖 第 1 页 / 共 5 页
字号:
					'L_AVATAR_EXPLAIN'	=> sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)))				);			break;			case 'rank':				if ($submit)				{					$rank_id = request_var('user_rank', 0);					$sql = 'UPDATE ' . USERS_TABLE . "						SET user_rank = $rank_id						WHERE user_id = $user_id";					$db->sql_query($sql);					trigger_error($user->lang['USER_RANK_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));				}								$sql = 'SELECT * 					FROM ' . RANKS_TABLE . '					WHERE rank_special = 1					ORDER BY rank_title';				$result = $db->sql_query($sql);				$s_rank_options = '<option value="0"' . ((!$user_row['user_rank']) ? ' selected="selected"' : '') . '>' . $user->lang['NO_SPECIAL_RANK'] . '</option>';				while ($row = $db->sql_fetchrow($result))				{					$selected = ($user_row['user_rank'] && $row['rank_id'] == $user_row['user_rank']) ? ' selected="selected"' : '';					$s_rank_options .= '<option value="' . $row['rank_id'] . '"' . $selected . '>' . $row['rank_title'] . '</option>';				}				$db->sql_freeresult($result);				$template->assign_vars(array(					'S_RANK'			=> true,					'S_RANK_OPTIONS'	=> $s_rank_options)				);			break;						case 'sig':							include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);				include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx);				$enable_bbcode	= ($config['allow_sig_bbcode']) ? ((request_var('disable_bbcode', !$user->optionget('bbcode'))) ? false : true) : false;				$enable_smilies	= ($config['allow_sig_smilies']) ? ((request_var('disable_smilies', !$user->optionget('smilies'))) ? false : true) : false;				$enable_urls	= ($config['allow_sig_links']) ? ((request_var('disable_magic_url', false)) ? false : true) : false;				$signature		= utf8_normalize_nfc(request_var('signature', (string) $user_row['user_sig'], true));				$preview		= (isset($_POST['preview'])) ? true : false;				if ($submit || $preview)				{					include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);					$message_parser = new parse_message($signature);					// Allowing Quote BBCode					$message_parser->parse($enable_bbcode, $enable_urls, $enable_smilies, $config['allow_sig_img'], $config['allow_sig_flash'], true, $config['allow_sig_links'], true, 'sig');											if (sizeof($message_parser->warn_msg))					{						$error[] = implode('<br />', $message_parser->warn_msg);					}											if (!sizeof($error) && $submit)					{						$sql_ary = array(							'user_sig'					=> (string) $message_parser->message, 							'user_sig_bbcode_uid'		=> (string) $message_parser->bbcode_uid, 							'user_sig_bbcode_bitfield'	=> (string) $message_parser->bbcode_bitfield						);						$sql = 'UPDATE ' . USERS_TABLE . ' 							SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' 							WHERE user_id = ' . $user_id;						$db->sql_query($sql);						trigger_error($user->lang['USER_SIG_UPDATED'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));					}						// Replace "error" strings with their real, localised form					$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);				}								$signature_preview = '';								if ($preview)				{					// Now parse it for displaying					$signature_preview = $message_parser->format_display($enable_bbcode, $enable_urls, $enable_smilies, false);					unset($message_parser);				}				decode_message($signature, $user_row['user_sig_bbcode_uid']);				$template->assign_vars(array(					'S_SIGNATURE'		=> true,					'SIGNATURE'			=> $signature,					'SIGNATURE_PREVIEW'	=> $signature_preview,					'S_BBCODE_CHECKED'		=> (!$enable_bbcode) ? ' checked="checked"' : '',					'S_SMILIES_CHECKED'		=> (!$enable_smilies) ? ' checked="checked"' : '',					'S_MAGIC_URL_CHECKED'	=> (!$enable_urls) ? ' checked="checked"' : '',					'BBCODE_STATUS'			=> ($config['allow_sig_bbcode']) ? sprintf($user->lang['BBCODE_IS_ON'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>') : sprintf($user->lang['BBCODE_IS_OFF'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>'),					'SMILIES_STATUS'		=> ($config['allow_sig_smilies']) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],					'IMG_STATUS'			=> ($config['allow_sig_img']) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],					'FLASH_STATUS'			=> ($config['allow_sig_flash']) ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'],					'URL_STATUS'			=> ($config['allow_sig_links']) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],					'L_SIGNATURE_EXPLAIN'	=> sprintf($user->lang['SIGNATURE_EXPLAIN'], $config['max_sig_chars']),					'S_BBCODE_ALLOWED'		=> $config['allow_sig_bbcode'], 					'S_SMILIES_ALLOWED'		=> $config['allow_sig_smilies'],					'S_BBCODE_IMG'			=> ($config['allow_sig_img']) ? true : false,					'S_BBCODE_FLASH'		=> ($config['allow_sig_flash']) ? true : false,					'S_LINKS_ALLOWED'		=> ($config['allow_sig_links']) ? true : false)				);				// Assigning custom bbcodes				display_custom_bbcodes();			break;			case 'attach':				$start		= request_var('start', 0);				$deletemark = (isset($_POST['delmarked'])) ? true : false;				$marked		= request_var('mark', array(0));				// Sort keys				$sort_key	= request_var('sk', 'a');				$sort_dir	= request_var('sd', 'd');				if ($deletemark && sizeof($marked))				{					if (confirm_box(true))					{						$sql = 'SELECT real_filename							FROM ' . ATTACHMENTS_TABLE . '							WHERE ' . $db->sql_in_set('attach_id', $marked);						$result = $db->sql_query($sql);						$log_attachments = array();						while ($row = $db->sql_fetchrow($result))						{							$log_attachments[] = $row['real_filename'];						}						$db->sql_freeresult($result);						delete_attachments('attach', $marked);						$log = (sizeof($log_attachments) == 1) ? 'ATTACHMENT_DELETED' : 'ATTACHMENTS_DELETED';						$message = (sizeof($log_attachments) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED'];						add_log('admin', $log, implode(', ', $log_attachments));						trigger_error($message . adm_back_link($this->u_action . '&amp;u=' . $user_id));					}					else					{						confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(							'u'				=> $user_id,							'i'				=> $id,							'mode'			=> $mode,							'action'		=> $action,							'deletemark'	=> true,							'mark'			=> $marked))						);					}				}				$sk_text = array('a' => $user->lang['SORT_FILENAME'], 'c' => $user->lang['SORT_EXTENSION'], 'd' => $user->lang['SORT_SIZE'], 'e' => $user->lang['SORT_DOWNLOADS'], 'f' => $user->lang['SORT_POST_TIME'], 'g' => $user->lang['SORT_TOPIC_TITLE']);				$sk_sql = array('a' => 'a.real_filename', 'c' => 'a.extension', 'd' => 'a.filesize', 'e' => 'a.download_count', 'f' => 'a.filetime', 'g' => 't.topic_title');				$sd_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);				$s_sort_key = '';				foreach ($sk_text as $key => $value)				{					$selected = ($sort_key == $key) ? ' selected="selected"' : '';					$s_sort_key .= '<option value="' . $key . '"' . $selected . '>' . $value . '</option>';				}				$s_sort_dir = '';				foreach ($sd_text as $key => $value)				{					$selected = ($sort_dir == $key) ? ' selected="selected"' : '';					$s_sort_dir .= '<option value="' . $key . '"' . $selected . '>' . $value . '</option>';				}				if (!isset($sk_sql[$sort_key]))				{					$sort_key = 'a';				}				$order_by = $sk_sql[$sort_key] . ' ' . (($sort_dir == 'a') ? 'ASC' : 'DESC');				$sql = 'SELECT COUNT(attach_id) as num_attachments					FROM ' . ATTACHMENTS_TABLE . "					WHERE poster_id = $user_id";				$result = $db->sql_query_limit($sql, 1);				$num_attachments = (int) $db->sql_fetchfield('num_attachments');				$db->sql_freeresult($result);				$sql = 'SELECT a.*, t.topic_title, p.message_subject as message_title					FROM ' . ATTACHMENTS_TABLE . ' a 						LEFT JOIN ' . TOPICS_TABLE . ' t ON (a.topic_id = t.topic_id							AND a.in_message = 0)						LEFT JOIN ' . PRIVMSGS_TABLE . ' p ON (a.post_msg_id = p.msg_id							AND a.in_message = 1)					WHERE a.poster_id = ' . $user_id . "					ORDER BY $order_by";				$result = $db->sql_query_limit($sql, $config['posts_per_page'], $start);				while ($row = $db->sql_fetchrow($result))				{					if ($row['in_message'])					{						$view_topic = append_sid("{$phpbb_root_path}ucp.$phpEx", "i=pm&amp;p={$row['post_msg_id']}");					}					else					{						$view_topic = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "t={$row['topic_id']}&amp;p={$row['post_msg_id']}#{$row['post_msg_id']}");					}					$template->assign_block_vars('attach', array(						'REAL_FILENAME'		=> $row['real_filename'],						'COMMENT'			=> nl2br($row['attach_comment']),						'EXTENSION'			=> $row['extension'],						'SIZE'				=> ($row['filesize'] >= 1048576) ? ($row['filesize'] >> 20) . ' ' . $user->lang['MB'] : (($row['filesize'] >= 1024) ? ($row['filesize'] >> 10) . ' ' . $user->lang['KB'] : $row['filesize'] . ' ' . $user->lang['BYTES']),						'DOWNLOAD_COUNT'	=> $row['download_count'],						'POST_TIME'			=> $user->format_date($row['filetime']),						'TOPIC_TITLE'		=> ($row['in_message']) ? $row['message_title'] : $row['topic_title'],						'ATTACH_ID'			=> $row['attach_id'],						'POST_ID'			=> $row['post_msg_id'],						'TOPIC_ID'			=> $row['topic_id'],										'S_IN_MESSAGE'		=> $row['in_message'],						'U_DOWNLOAD'		=> append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $row['attach_id']),						'U_VIEW_TOPIC'		=> $view_topic)					);				}				$db->sql_freeresult($result);						$template->assign_vars(array(					'S_ATTACHMENTS'		=> true,					'S_ON_PAGE'			=> on_page($num_attachments, $config['topics_per_page'], $start),					'S_SORT_KEY'		=> $s_sort_key,					'S_SORT_DIR'		=> $s_sort_dir,					'PAGINATION'		=> generate_pagination($this->u_action . "&amp;u=$user_id&amp;sk=$sort_key&amp;sd=$sort_dir", $num_attachments, $config['topics_per_page'], $start, true))				);			break;					case 'groups':				$user->add_lang(array('groups', 'acp/groups'));				$group_id = request_var('g', 0);				switch ($action)				{					case 'demote':					case 'promote':					case 'default':						group_user_attributes($action, $group_id, $user_id);						if ($action == 'default')						{							$user_row['group_id'] = $group_id;						}					break;					case 'delete':						if (confirm_box(true))						{							if (!$group_id)							{								trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);							}							if ($error = group_user_del($group_id, $user_id))							{								trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);							}													$error = array();						}						else						{							confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(								'u'				=> $user_id,								'i'				=> $id,								'mode'			=> $mode,								'action'		=> $action,								'g'				=> $group_id))							);						}						break;				}				// Add user to group?				if ($submit)				{					if (!$group_id)					{						trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);					}					// Check the founder only entry for this group to make sure everything is well					$sql = 'SELECT group_founder_manage						FROM ' . GROUPS_TABLE . '						WHERE group_id = ' . $group_id;					$result = $db->sql_query($sql);					$founder_manage = (int) $db->sql_fetchfield('group_founder_manage');					$db->sql_freeresult($result);					if ($user->data['user_type'] != USER_FOUNDER && $founder_manage)					{						trigger_error($user->lang['NOT_ALLOWED_MANAGE_GROUP'] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);					}					// Add user/s to group					if ($error = group_user_add($group_id, $user_id))					{						trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&amp;u=' . $user_id), E_USER_WARNING);					}					$error = array();				}				$sql = 'SELECT ug.*, g.*					FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug					WHERE ug.user_id = $user_id						AND g.group_id = ug.group_id					ORDER BY g.group_type DESC, ug.user_pending ASC, g.group_name";				$result = $db->sql_query($sql);				$i = 0;				$group_data = $id_ary = array();				while ($row = $db->sql_fetchrow($result))				{					$type = ($row['group_type'] == GROUP_SPECIAL) ? 'special' : (($row['user_pending']) ? 'pending' : 'normal');					$group_data[$type][$i]['group_id']		= $row['group_id'];					$group_data

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -