亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? controller.php

?? Joomla!除了具有新聞/文章管理
?? PHP
?? 第 1 頁 / 共 3 頁
字號:
<?php/** * @version		$Id: controller.php 10877 2008-08-30 17:23:28Z willebil $ * @package		Joomla * @subpackage	Content * @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license		GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative * of works licensed under the GNU General Public License or other free or open * source software licenses. See COPYRIGHT.php for copyright notices and * details. */// Check to ensure this file is included in Joomla!defined('_JEXEC') or die( 'Restricted access' );jimport('joomla.application.component.controller');/** * Content Component Controller * * @package		Joomla * @subpackage	Content * @since 1.5 */class ContentController extends JController{	/**	 * Articles element	 */	function element()	{		$model	= &$this->getModel( 'element' );		$view	= &$this->getView( 'element');		$view->setModel( $model, true );		$view->display();	}	/**	* Compiles a list of installed or defined modules	* @param database A database connector object	*/	function viewContent()	{		global $mainframe;		// Initialize variables		$db			=& JFactory::getDBO();		$filter		= null;		// Get some variables from the request		$sectionid			= JRequest::getVar( 'sectionid', -1, '', 'int' );		$redirect			= $sectionid;		$option				= JRequest::getCmd( 'option' );		$context			= 'com_content.viewcontent';		$filter_order		= $mainframe->getUserStateFromRequest( $context.'filter_order',		'filter_order',		'',	'cmd' );		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $context.'filter_order_Dir',	'filter_order_Dir',	'',	'word' );		$filter_state		= $mainframe->getUserStateFromRequest( $context.'filter_state',		'filter_state',		'',	'word' );		$catid				= $mainframe->getUserStateFromRequest( $context.'catid',			'catid',			0,	'int' );		$filter_authorid	= $mainframe->getUserStateFromRequest( $context.'filter_authorid',	'filter_authorid',	0,	'int' );		$filter_sectionid	= $mainframe->getUserStateFromRequest( $context.'filter_sectionid',	'filter_sectionid',	-1,	'int' );		$search				= $mainframe->getUserStateFromRequest( $context.'search',			'search',			'',	'string' );		$search				= JString::strtolower($search);		$limit		= $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');		$limitstart	= $mainframe->getUserStateFromRequest($context.'limitstart', 'limitstart', 0, 'int');		// In case limit has been changed, adjust limitstart accordingly		$limitstart = ( $limit != 0 ? (floor($limitstart / $limit) * $limit) : 0 );		//$where[] = "c.state >= 0";		$where[] = 'c.state != -2';		if (!$filter_order) {			$filter_order = 'section_name';		}		$order = ' ORDER BY '. $filter_order .' '. $filter_order_Dir .', section_name, cc.title, c.ordering';		$all = 1;		if ($filter_sectionid >= 0) {			$filter = ' WHERE cc.section = '. (int) $filter_sectionid;		}		$section->title = 'All Articles';		$section->id = 0;		/*		 * Add the filter specific information to the where clause		 */		// Section filter		if ($filter_sectionid >= 0) {			$where[] = 'c.sectionid = ' . (int) $filter_sectionid;		}		// Category filter		if ($catid > 0) {			$where[] = 'c.catid = ' . (int) $catid;		}		// Author filter		if ($filter_authorid > 0) {			$where[] = 'c.created_by = ' . (int) $filter_authorid;		}		// Content state filter		if ($filter_state) {			if ($filter_state == 'P') {				$where[] = 'c.state = 1';			} else {				if ($filter_state == 'U') {					$where[] = 'c.state = 0';				} else if ($filter_state == 'A') {					$where[] = 'c.state = -1';				} else {					$where[] = 'c.state != -2';				}			}		}		// Keyword filter		if ($search) {			$where[] = '(LOWER( c.title ) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false ) .				' OR c.id = ' . (int) $search . ')';		}		// Build the where clause of the content record query		$where = (count($where) ? ' WHERE '.implode(' AND ', $where) : '');		// Get the total number of records		$query = 'SELECT COUNT(*)' .				' FROM #__content AS c' .				' LEFT JOIN #__categories AS cc ON cc.id = c.catid' .				' LEFT JOIN #__sections AS s ON s.id = c.sectionid' .				$where;		$db->setQuery($query);		$total = $db->loadResult();		// Create the pagination object		jimport('joomla.html.pagination');		$pagination = new JPagination($total, $limitstart, $limit);		// Get the articles		$query = 'SELECT c.*, g.name AS groupname, cc.title AS name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author' .				' FROM #__content AS c' .				' LEFT JOIN #__categories AS cc ON cc.id = c.catid' .				' LEFT JOIN #__sections AS s ON s.id = c.sectionid' .				' LEFT JOIN #__groups AS g ON g.id = c.access' .				' LEFT JOIN #__users AS u ON u.id = c.checked_out' .				' LEFT JOIN #__users AS v ON v.id = c.created_by' .				' LEFT JOIN #__content_frontpage AS f ON f.content_id = c.id' .				$where .				$order;		$db->setQuery($query, $pagination->limitstart, $pagination->limit);		$rows = $db->loadObjectList();		// If there is a database query error, throw a HTTP 500 and exit		if ($db->getErrorNum()) {			JError::raiseError( 500, $db->stderr() );			return false;		}		// get list of categories for dropdown filter		$query = 'SELECT cc.id AS value, cc.title AS text, section' .				' FROM #__categories AS cc' .				' INNER JOIN #__sections AS s ON s.id = cc.section ' .				$filter .				' ORDER BY s.ordering, cc.ordering';		$lists['catid'] = ContentHelper::filterCategory($query, $catid);		// get list of sections for dropdown filter		$javascript = 'onchange="document.adminForm.submit();"';		$lists['sectionid'] = JHTML::_('list.section', 'filter_sectionid', $filter_sectionid, $javascript);		// get list of Authors for dropdown filter		$query = 'SELECT c.created_by, u.name' .				' FROM #__content AS c' .				' INNER JOIN #__sections AS s ON s.id = c.sectionid' .				' LEFT JOIN #__users AS u ON u.id = c.created_by' .				' WHERE c.state <> -1' .				' AND c.state <> -2' .				' GROUP BY u.name' .				' ORDER BY u.name';		$authors[] = JHTML::_('select.option', '0', '- '.JText::_('Select Author').' -', 'created_by', 'name');		$db->setQuery($query);		$authors = array_merge($authors, $db->loadObjectList());		$lists['authorid'] = JHTML::_('select.genericlist',  $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'created_by', 'name', $filter_authorid);		// state filter		$lists['state'] = JHTML::_('grid.state', $filter_state, 'Published', 'Unpublished', 'Archived');		// table ordering		$lists['order_Dir']	= $filter_order_Dir;		$lists['order']		= $filter_order;		// search filter		$lists['search'] = $search;		ContentView::showContent($rows, $lists, $pagination, $redirect);	}	/**	* Shows a list of archived articles	* @param int The section id	*/	function viewArchive()	{		global $mainframe;		// Initialize variables		$db						=& JFactory::getDBO();		$sectionid				= JRequest::getVar( 'sectionid', 0, '', 'int' );		$option					= JRequest::getCmd( 'option' );		$filter_order			= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_order",		'filter_order',		'sectname',	'cmd');		$filter_order_Dir		= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_order_Dir",	'filter_order_Dir',	'',			'word');		$catid					= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.catid",				'catid',			0,			'int');		$limit					= $mainframe->getUserStateFromRequest('global.list.limit',									'limit',			$mainframe->getCfg('list_limit'), 'int');		$limitstart				= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.limitstart",			'limitstart',		0,			'int');		$filter_authorid		= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_authorid",		'filter_authorid',	0,			'int');		$filter_sectionid		= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_sectionid",	'filter_sectionid',	0,			'int');		$search					= $mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.search",				'search',			'',			'string');		$search					= JString::strtolower($search);		$redirect				= $sectionid;		// A section id of zero means view all articles [all sections]		if ($sectionid == 0)		{			$where = array ('c.state 	= -1', 'c.catid	= cc.id', 'cc.section = s.id', 's.scope  	= "content"');			$filter = ' , #__sections AS s WHERE s.id = c.section';			$all = 1;		}		else		{			 //We are viewing a specific section			$where = array ('c.state 	= -1', 'c.catid	= cc.id', 'cc.section	= s.id', 's.scope	= "content"', 'c.sectionid= '.(int) $sectionid);			$filter = ' WHERE section = '.$db->Quote($sectionid);			$all = NULL;		}		// Section filter		if ($filter_sectionid > 0)		{			$where[] = 'c.sectionid = ' . (int) $filter_sectionid;		}		// Author filter		if ($filter_authorid > 0)		{			$where[] = 'c.created_by = ' . (int) $filter_authorid;		}		// Category filter		if ($catid > 0)		{			$where[] = 'c.catid = ' . (int) $catid;		}		// Keyword filter		if ($search)		{			$where[] = 'LOWER( c.title ) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false );		}		// TODO: Sanitise $filter_order		$filter_order_Dir = ($filter_order_Dir == 'ASC' ? 'ASC' : 'DESC');		$orderby = ' ORDER BY '. $filter_order .' '. $filter_order_Dir .', sectname, cc.name, c.ordering';		$where = (count($where) ? ' WHERE '.implode(' AND ', $where) : '');		// get the total number of records		$query = 'SELECT COUNT(*)' .				' FROM #__content AS c' .				' LEFT JOIN #__categories AS cc ON cc.id = c.catid' .				' LEFT JOIN #__sections AS s ON s.id = c.sectionid' .				$where;		$db->setQuery($query);		$total = $db->loadResult();		jimport('joomla.html.pagination');		$pagination = new JPagination($total, $limitstart, $limit);		$query = 'SELECT c.*, g.name AS groupname, cc.name, v.name AS author, s.title AS sectname' .				' FROM #__content AS c' .				' LEFT JOIN #__categories AS cc ON cc.id = c.catid' .				' LEFT JOIN #__sections AS s ON s.id = c.sectionid' .				' LEFT JOIN #__groups AS g ON g.id = c.access' .				' LEFT JOIN #__users AS v ON v.id = c.created_by' .				$where .				$orderby;		$db->setQuery($query, $pagination->limitstart, $pagination->limit);		$rows = $db->loadObjectList();		// If there is a database query error, throw a HTTP 500 and exit		if ($db->getErrorNum())		{			JError::raiseError( 500, $db->stderr() );			return false;		}		// get list of categories for dropdown filter		$query = 'SELECT c.id AS value, c.title AS text' .				' FROM #__categories AS c' .				$filter .				' ORDER BY c.ordering';		$lists['catid'] = ContentHelper::filterCategory($query, $catid);		// get list of sections for dropdown filter		$javascript = 'onchange="document.adminForm.submit();"';		$lists['sectionid'] = JAdminMenus::SelectSection('filter_sectionid', $filter_sectionid, $javascript);		$section = & JTable::getInstance('section');		$section->load($sectionid);		// get list of Authors for dropdown filter		$query = 'SELECT c.created_by, u.name' .				' FROM #__content AS c' .				' INNER JOIN #__sections AS s ON s.id = c.sectionid' .				' LEFT JOIN #__users AS u ON u.id = c.created_by' .				' WHERE c.state = -1' .				' GROUP BY u.name' .				' ORDER BY u.name';		$db->setQuery($query);		$authors[] = JHTML::_('select.option', '0', '- '.JText::_('Select Author').' -', 'created_by', 'name');		$authors = array_merge($authors, $db->loadObjectList());		$lists['authorid'] = JHTML::_('select.genericlist',  $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'created_by', 'name', $filter_authorid);		// table ordering		$lists['order_Dir']	= $filter_order_Dir;		$lists['order']		= $filter_order;		// search filter		$lists['search'] = $search;		ContentView::showArchive($rows, $section, $lists, $pagination, $option, $all, $redirect);	}	/**	* Compiles information to add or edit the record	*	* @param database A database connector object	* @param integer The unique id of the record to edit (0 if new)	* @param integer The id of the content section	*/	function editContent($edit)	{		global $mainframe;		// Initialize variables		$db				= & JFactory::getDBO();		$user			= & JFactory::getUser();		$cid			= JRequest::getVar( 'cid', array(0), '', 'array' );		JArrayHelper::toInteger($cid, array(0));		$id				= JRequest::getVar( 'id', $cid[0], '', 'int' );		$option			= JRequest::getCmd( 'option' );		$nullDate		= $db->getNullDate();		$contentSection	= '';		$sectionid		= 0;		// Create and load the content table row		$row = & JTable::getInstance('content');		if($edit)			$row->load($id);		if ($id) {			$sectionid = $row->sectionid;			if ($row->state < 0) {				$mainframe->redirect('index.php?option=com_content', JText::_('You cannot edit an archived item'));			}		}		// A sectionid of zero means grab from all sections		if ($sectionid == 0) {			$where = ' WHERE section NOT LIKE "%com_%"';		} else {			// Grab from the specific section			$where = ' WHERE section = '. $db->Quote( $sectionid );		}		/*		 * If the item is checked out we cannot edit it... unless it was checked		 * out by the current user.		 */		if ( JTable::isCheckedOut($user->get ('id'), $row->checked_out ))		{			$msg = JText::sprintf('DESCBEINGEDITTED', JText::_('The item'), $row->title);			$mainframe->redirect('index.php?option=com_content', $msg);		}		if ($id)		{			$row->checkout($user->get('id'));			if (trim($row->images)) {				$row->images = explode("\n", $row->images);			} else {				$row->images = array ();			}			$query = 'SELECT name' .					' FROM #__users'.					' WHERE id = '. (int) $row->created_by;			$db->setQuery($query);			$row->creator = $db->loadResult();			// test to reduce unneeded query			if ($row->created_by == $row->modified_by) {				$row->modifier = $row->creator;			} else {				$query = 'SELECT name' .						' FROM #__users' .						' WHERE id = '. (int) $row->modified_by;				$db->setQuery($query);				$row->modifier = $db->loadResult();			}			$query = 'SELECT COUNT(content_id)' .					' FROM #__content_frontpage' .					' WHERE content_id = '. (int) $row->id;			$db->setQuery($query);			$row->frontpage = $db->loadResult();			if (!$row->frontpage) {				$row->frontpage = 0;			}		}		else		{			if (!$sectionid && JRequest::getInt('filter_sectionid')) {				$sectionid =JRequest::getInt('filter_sectionid');			}			if (JRequest::getInt('catid'))			{				$row->catid	 = JRequest::getInt('catid');				$category 	 = & JTable::getInstance('category');				$category->load($row->catid);				$sectionid = $category->section;			} else {				$row->catid = NULL;			}			$createdate =& JFactory::getDate();			$row->sectionid = $sectionid;			$row->version = 0;			$row->state = 1;			$row->ordering = 0;			$row->images = array ();			$row->publish_up = $createdate->toUnix();			$row->publish_down = JText::_('Never');			$row->creator = '';			$row->created = $createdate->toUnix();			$row->modified = $nullDate;			$row->modifier = '';			$row->frontpage = 0;		}		$javascript = "onchange=\"changeDynaList( 'catid', sectioncategories, document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].value, 0, 0);\"";		$query = 'SELECT s.id, s.title' .				' FROM #__sections AS s' .				' ORDER BY s.ordering';		$db->setQuery($query);		$sections[] = JHTML::_('select.option', '-1', '- '.JText::_('Select Section').' -', 'id', 'title');		$sections[] = JHTML::_('select.option', '0', JText::_('Uncategorized'), 'id', 'title');		$sections = array_merge($sections, $db->loadObjectList());		$lists['sectionid'] = JHTML::_('select.genericlist',  $sections, 'sectionid', 'class="inputbox" size="1" '.$javascript, 'id', 'title', intval($row->sectionid));		foreach ($sections as $section)		{			$section_list[] = (int) $section->id;			// get the type name - which is a special category			if ($row->sectionid) {				if ($section->id == $row->sectionid) {					$contentSection = $section->title;				}			} else {				if ($section->id == $sectionid) {					$contentSection = $section->title;				}			}		}		$sectioncategories = array ();		$sectioncategories[-1] = array ();		$sectioncategories[-1][] = JHTML::_('select.option', '-1', JText::_( 'Select Category' ), 'id', 'title');		$section_list = implode('\', \'', $section_list);		$query = 'SELECT id, title, section' .				' FROM #__categories' .				' WHERE section IN ( \''.$section_list.'\' )' .				' ORDER BY ordering';		$db->setQuery($query);		$cat_list = $db->loadObjectList();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久婷婷成人综合色| 在线观看欧美精品| 久久免费电影网| 国产一区视频导航| 久久精子c满五个校花| 国产成人福利片| 亚洲色图欧美激情| 欧美日韩一区二区三区四区五区| 婷婷中文字幕一区三区| 91精品在线麻豆| 国产一区二区按摩在线观看| 国产校园另类小说区| av不卡免费电影| 午夜精品福利一区二区三区av| 91精品国产欧美日韩| 狠狠狠色丁香婷婷综合久久五月| 国产亚洲欧美日韩日本| 91免费看片在线观看| 性做久久久久久免费观看| 欧美一级高清片在线观看| 九九精品一区二区| 国产精品女主播av| 91精品蜜臀在线一区尤物| 国产高清精品在线| 亚洲综合偷拍欧美一区色| 日韩一二三四区| 成人av网站在线观看免费| 亚洲高清免费在线| 久久精品亚洲一区二区三区浴池| 色婷婷久久久亚洲一区二区三区| 日韩主播视频在线| 国产精品免费看片| 欧美电影一区二区三区| 国产91精品一区二区麻豆亚洲| 亚洲一区二区三区四区五区中文 | 日韩欧美成人一区二区| av欧美精品.com| 美女视频黄 久久| 国产精品久久久99| 精品久久久久99| 欧美撒尿777hd撒尿| 国产99久久久久| 日本不卡一二三| 国产精品福利一区二区| 日韩精品在线网站| 91黄色免费看| 成人免费看黄yyy456| 强制捆绑调教一区二区| 亚洲欧美日韩在线| 久久久天堂av| 精品久久久久一区二区国产| 欧美少妇xxx| 成人app软件下载大全免费| 久久成人免费网站| 免费观看91视频大全| 亚洲午夜在线视频| 亚洲美女视频一区| 亚洲同性gay激情无套| 欧美www视频| 欧美一区二区视频观看视频| 欧美在线视频日韩| 大陆成人av片| 国产成人精品免费看| 韩国一区二区三区| 免费人成黄页网站在线一区二区| 亚洲一区视频在线观看视频| 国产精品天美传媒| 国产日韩欧美一区二区三区综合| 日韩精品一区二区三区视频播放 | 色婷婷综合久久久久中文| 国产白丝精品91爽爽久久| 国产米奇在线777精品观看| 青青草精品视频| 日韩和欧美一区二区三区| 亚洲一区二区中文在线| 亚洲激情中文1区| 亚洲欧洲国产日本综合| 亚洲天堂中文字幕| 中文天堂在线一区| 国产精品久久久久影视| 久久久777精品电影网影网 | 欧美日韩一区二区电影| 欧美亚洲高清一区| 在线日韩国产精品| 欧美在线一二三四区| 欧美日韩情趣电影| 777久久久精品| 日韩一区二区三区四区五区六区 | 久久成人免费电影| 国产真实乱偷精品视频免| 狠狠色伊人亚洲综合成人| 国产一区 二区 三区一级| 国产99久久久久| 99re亚洲国产精品| 91久久免费观看| 色老头久久综合| 欧美日韩国产中文| 日韩欧美123| 国产日韩欧美精品电影三级在线| 国产精品久久久久aaaa| 亚洲精品视频一区二区| 亚洲国产精品久久久久婷婷884| 丝袜亚洲另类欧美| 国产一区久久久| 色综合色狠狠天天综合色| 911精品国产一区二区在线| 欧美本精品男人aⅴ天堂| 欧美国产一区二区在线观看| 亚洲婷婷综合色高清在线| 视频一区在线播放| 国产精品一二三四五| 欧美中文字幕一二三区视频| 制服丝袜中文字幕一区| 久久久91精品国产一区二区三区| 中文字幕字幕中文在线中不卡视频| 午夜精品久久久久久久| 国产精品99久久久| 欧美日韩在线免费视频| 亚洲精品一区二区三区影院 | 欧美色图第一页| 精品日韩成人av| 伊人色综合久久天天人手人婷| 麻豆国产精品777777在线| 国产91精品欧美| 欧美剧在线免费观看网站| 久久精品亚洲乱码伦伦中文 | 日产欧产美韩系列久久99| 国产成人高清在线| 91精品国产色综合久久不卡电影 | 欧美三级午夜理伦三级中视频| 欧美电视剧在线看免费| 一区二区三区免费在线观看| 久久av资源站| 在线一区二区三区| 久久久久久久久97黄色工厂| 亚洲国产wwwccc36天堂| 不卡大黄网站免费看| 欧美成人一区二区三区| 亚洲精品久久久久久国产精华液| 国产成人综合亚洲91猫咪| 538prom精品视频线放| 最新国产成人在线观看| 狠狠色丁香久久婷婷综| 69成人精品免费视频| 亚洲美女在线国产| 国产精品1区二区.| 日韩精品中文字幕一区| 日韩精品一二三| 欧美日韩久久久一区| 1024成人网| 成人app网站| 欧美激情一区二区三区全黄| 久久9热精品视频| 91精品国产综合久久小美女| 亚洲一区二区三区四区五区黄| 99久久婷婷国产综合精品| 久久久久88色偷偷免费| 久久精品国内一区二区三区| 在线不卡的av| 亚洲va欧美va人人爽午夜| 一本色道a无线码一区v| 一区在线播放视频| 成人午夜视频福利| 日本一区二区三区视频视频| 久久国产精品免费| 日韩一级成人av| 激情另类小说区图片区视频区| 91精品国产欧美一区二区18| 视频精品一区二区| 91麻豆精品国产91久久久资源速度| 亚洲成人一区在线| 欧美日韩国产欧美日美国产精品| 亚洲一区精品在线| 欧美人动与zoxxxx乱| 午夜精品福利在线| 日韩一区二区麻豆国产| 免费视频最近日韩| 久久综合九色综合欧美就去吻| 国产呦精品一区二区三区网站| 久久久精品综合| 99久久免费精品| 亚洲最快最全在线视频| 欧美视频日韩视频在线观看| 亚洲国产成人高清精品| 欧美一区二区在线观看| 美腿丝袜亚洲一区| 久久女同互慰一区二区三区| 国产成人av电影在线| 亚洲欧美综合色| 欧美在线你懂的| 人人超碰91尤物精品国产| 久久影院电视剧免费观看| 国产激情视频一区二区在线观看 | 欧美电影一区二区| 久久精品国产色蜜蜜麻豆| 国产欧美日韩亚州综合| 97精品视频在线观看自产线路二| 亚洲尤物在线视频观看| 日韩免费一区二区| 成人国产精品免费观看|