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

📄 ucp_main.php

📁 通过基于Windows的图形化界面
💻 PHP
📖 第 1 页 / 共 3 页
字号:
<?php/** ** @package ucp* @version $Id: ucp_main.php,v 1.82 2006/12/27 17:43:54 acydburn Exp $* @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License **//*** ucp_main* UCP Front Panel* @package ucp*/class ucp_main{	var $p_master;	var $u_action;		function ucp_main(&$p_master)	{		$this->p_master = &$p_master;	}	function main($id, $mode)	{		global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;		switch ($mode)		{			case 'front':				$user->add_lang('memberlist');				$sql_from = TOPICS_TABLE . ' t ';				$sql_select = '';				if ($config['load_db_track'])				{					$sql_from .= ' LEFT JOIN ' . TOPICS_POSTED_TABLE . ' tp ON (tp.topic_id = t.topic_id 						AND tp.user_id = ' . $user->data['user_id'] . ')';					$sql_select .= ', tp.topic_posted';				}				if ($config['load_db_lastread'])				{					$sql_from .= ' LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (tt.topic_id = t.topic_id						AND tt.user_id = ' . $user->data['user_id'] . ')';					$sql_select .= ', tt.mark_time';				}				$topic_type = $user->lang['VIEW_TOPIC_GLOBAL'];				$folder = 'global_read';				$folder_new = 'global_unread';				// Get cleaned up list... return only those forums not having the f_read permission				$forum_ary = $auth->acl_getf('!f_read', true);				$forum_ary = array_unique(array_keys($forum_ary));				// Determine first forum the user is able to read into - for global announcement link				$sql = 'SELECT forum_id 					FROM ' . FORUMS_TABLE . '					WHERE forum_type = ' . FORUM_POST;					if (sizeof($forum_ary))				{					$sql .= ' AND ' . $db->sql_in_set('forum_id', $forum_ary, true);				}				$result = $db->sql_query_limit($sql, 1);				$g_forum_id = (int) $db->sql_fetchfield('forum_id');				$db->sql_freeresult($result);				$sql = "SELECT t.* $sql_select 					FROM $sql_from					WHERE t.forum_id = 0						AND t.topic_type = " . POST_GLOBAL . '					ORDER BY t.topic_last_post_time DESC';				$topic_list = $rowset = array();				// If the user can't see any forums, he can't read any posts because fid of 0 is invalid				if ($g_forum_id)				{					$result = $db->sql_query($sql);					while ($row = $db->sql_fetchrow($result))					{						$topic_list[] = $row['topic_id'];						$rowset[$row['topic_id']] = $row;					}					$db->sql_freeresult($result);				}				$topic_tracking_info = array();				if ($config['load_db_lastread'])				{					$topic_tracking_info = get_topic_tracking(0, $topic_list, $rowset, false, $topic_list);				}				else				{					$topic_tracking_info = get_complete_topic_tracking(0, $topic_list, $topic_list);				}				foreach ($topic_list as $topic_id)				{					$row = &$rowset[$topic_id];					$forum_id = $row['forum_id'];					$topic_id = $row['topic_id'];					$unread_topic = (isset($topic_tracking_info[$topic_id]) && $row['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;					$folder_img = ($unread_topic) ? $folder_new : $folder;					$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($row['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');					if ($row['topic_status'] == ITEM_LOCKED)					{						$folder_img .= '_locked';					}					// Posted image?					if (!empty($row['topic_posted']) && $row['topic_posted'])					{						$folder_img .= '_mine';					}					$template->assign_block_vars('topicrow', array(						'FORUM_ID'					=> $forum_id,						'TOPIC_ID'					=> $topic_id,						'LAST_POST_SUBJECT'			=> $row['topic_last_post_subject'],						'LAST_POST_TIME'			=> $user->format_date($row['topic_last_post_time']),						'LAST_POST_AUTHOR'			=> get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),						'LAST_POST_AUTHOR_COLOUR'	=> get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),						'LAST_POST_AUTHOR_FULL'		=> get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),						'TOPIC_TITLE'				=> censor_text($row['topic_title']),						'TOPIC_TYPE'				=> $topic_type,						'LAST_POST_IMG'			=> $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),						'NEWEST_POST_IMG'		=> $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),						'TOPIC_FOLDER_IMG'		=> $user->img($folder_img, $folder_alt),						'TOPIC_FOLDER_IMG_SRC'	=> $user->img($folder_img, $folder_alt, false, '', 'src'),						'ATTACH_ICON_IMG'		=> ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', '') : '',						'S_USER_POSTED'		=> (!empty($row['topic_posted']) && $row['topic_posted']) ? true : false,						'S_UNREAD'			=> $unread_topic,						'U_LAST_POST'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;p=" . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'],						'U_LAST_POST_AUTHOR'	=> get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),						'U_NEWEST_POST'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;view=unread") . '#unread',						'U_VIEW_TOPIC'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id"))					);				}				if ($config['load_user_activity'])				{					if (!function_exists('display_user_activity'))					{						include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx);					}					display_user_activity($user->data);				}				// Do the relevant calculations 				$memberdays = max(1, round((time() - $user->data['user_regdate']) / 86400));				$posts_per_day = $user->data['user_posts'] / $memberdays;				$percentage = ($config['num_posts']) ? min(100, ($user->data['user_posts'] / $config['num_posts']) * 100) : 0;				$template->assign_vars(array(					'USER_COLOR'		=> (!empty($user->data['user_colour'])) ? $user->data['user_colour'] : '', 					'JOINED'			=> $user->format_date($user->data['user_regdate']),					'VISITED'			=> (empty($last_visit)) ? ' - ' : $user->format_date($last_visit),					'WARNINGS'			=> ($user->data['user_warnings']) ? $user->data['user_warnings'] : 0,					'POSTS'				=> ($user->data['user_posts']) ? $user->data['user_posts'] : 0,					'POSTS_DAY'			=> sprintf($user->lang['POST_DAY'], $posts_per_day),					'POSTS_PCT'			=> sprintf($user->lang['POST_PCT'], $percentage),					'OCCUPATION'	=> (!empty($row['user_occ'])) ? $row['user_occ'] : '',					'INTERESTS'		=> (!empty($row['user_interests'])) ? $row['user_interests'] : '',//					'S_GROUP_OPTIONS'	=> $group_options, 					'U_SEARCH_USER'		=> ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&amp;sr=posts') : '')				);			break;			case 'subscribed':				include($phpbb_root_path . 'includes/functions_display.' . $phpEx);				$user->add_lang('viewforum');				$unwatch = (isset($_POST['unwatch'])) ? true : false;				if ($unwatch)				{					$forums = array_keys(request_var('f', array(0 => 0)));					$topics = array_keys(request_var('t', array(0 => 0)));					if (sizeof($forums) || sizeof($topics))					{						$l_unwatch = '';						if (sizeof($forums))						{							$sql = 'DELETE FROM ' . FORUMS_WATCH_TABLE . '								WHERE ' . $db->sql_in_set('forum_id', $forums) . '									AND user_id = ' . $user->data['user_id'];							$db->sql_query($sql);							$l_unwatch .= '_FORUMS';						}						if (sizeof($topics))						{							$sql = 'DELETE FROM ' . TOPICS_WATCH_TABLE . '								WHERE ' . $db->sql_in_set('topic_id', $topics) . '									AND user_id = ' . $user->data['user_id'];							$db->sql_query($sql);							$l_unwatch .= '_TOPICS';						}						$message = $user->lang['UNWATCHED' . $l_unwatch] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", "i=$id&amp;mode=subscribed") . '">', '</a>');						meta_refresh(3, append_sid("{$phpbb_root_path}ucp.$phpEx", "i=$id&amp;mode=subscribed"));						trigger_error($message);					}				}				$sql_array = array(					'SELECT'	=> 'f.*',					'FROM'		=> array(						FORUMS_WATCH_TABLE	=> 'fw',						FORUMS_TABLE		=> 'f'					),					'WHERE'		=> 'fw.user_id = ' . $user->data['user_id'] . ' 						AND f.forum_id = fw.forum_id',					'ORDER_BY'	=> 'left_id'				);				if ($config['load_db_lastread'])				{					$sql_array['LEFT_JOIN'] = array(						array(							'FROM'	=> array(FORUMS_TRACK_TABLE => 'ft'),							'ON'	=> 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'						)					);					$sql_array['SELECT'] .= ', ft.mark_time ';				}				else				{					$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';					$tracking_topics = ($tracking_topics) ? unserialize($tracking_topics) : array();				}				$sql = $db->sql_build_query('SELECT', $sql_array);				$result = $db->sql_query($sql);				while ($row = $db->sql_fetchrow($result))				{					$forum_id = $row['forum_id'];					if ($config['load_db_lastread'])					{						$forum_check = (!empty($row['mark_time'])) ? $row['mark_time'] : $user->data['user_lastmark'];					}					else					{						$forum_check = (isset($tracking_topics['f'][$forum_id])) ? (int) (base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']) : $user->data['user_lastmark'];

⌨️ 快捷键说明

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