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

📄 category.php

📁 Joomla!除了具有新闻/文章管理
💻 PHP
字号:
<?php/** * @version		$Id: category.php 10752 2008-08-23 01:53:31Z eddieajau $ * @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.model');/** * Weblinks Component Weblink Model * * @package		Joomla * @subpackage	Content * @since 1.5 */class WeblinksModelCategory extends JModel{	/**	 * Category id	 *	 * @var int	 */	var $_id = null;	/**	 * Category ata array	 *	 * @var array	 */	var $_data = null;	/**	 * Category total	 *	 * @var integer	 */	var $_total = null;	/**	 * Category data	 *	 * @var object	 */	var $_category = null;	/**	 * Pagination object	 *	 * @var object	 */	var $_pagination = null;	/**	 * Constructor	 *	 * @since 1.5	 */	function __construct()	{		parent::__construct();		global $mainframe;		$config = JFactory::getConfig();		// Get the pagination request variables		$this->setState('limit', $mainframe->getUserStateFromRequest('com_weblinks.limit', 'limit', $config->getValue('config.list_limit'), 'int'));		$this->setState('limitstart', JRequest::getVar('limitstart', 0, '', 'int'));		// In case limit has been changed, adjust limitstart accordingly		$this->setState('limitstart', ($this->getState('limit') != 0 ? (floor($this->getState('limitstart') / $this->getState('limit')) * $this->getState('limit')) : 0));		// Get the filter request variables		$this->setState('filter_order', JRequest::getCmd('filter_order', 'ordering'));		$this->setState('filter_order_dir', JRequest::getCmd('filter_order_Dir', 'ASC'));		$id = JRequest::getVar('id', 0, '', 'int');		$this->setId((int)$id);	}	/**	 * Method to set the category id	 *	 * @access	public	 * @param	int	Category ID number	 */	function setId($id)	{		// Set category ID and wipe data		$this->_id			= $id;		$this->_category	= null;	}	/**	 * Method to get weblink item data for the category	 *	 * @access public	 * @return array	 */	function getData()	{		// Lets load the content if it doesn't already exist		if (empty($this->_data))		{			$query = $this->_buildQuery();			$this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit'));			$total = count($this->_data);			for($i = 0; $i < $total; $i++)			{				$item =& $this->_data[$i];				$item->slug = $item->id.':'.$item->alias;			}		}		return $this->_data;	}	/**	 * Method to get the total number of weblink items for the category	 *	 * @access public	 * @return integer	 */	function getTotal()	{		// Lets load the content if it doesn't already exist		if (empty($this->_total))		{			$query = $this->_buildQuery();			$this->_total = $this->_getListCount($query);		}		return $this->_total;	}	/**	 * Method to get a pagination object of the weblink items for the category	 *	 * @access public	 * @return integer	 */	function getPagination()	{		// Lets load the content if it doesn't already exist		if (empty($this->_pagination))		{			jimport('joomla.html.pagination');			$this->_pagination = new JPagination( $this->getTotal(), $this->getState('limitstart'), $this->getState('limit') );		}		return $this->_pagination;	}	/**	 * Method to get category data for the current category	 *	 * @since 1.5	 */	function getCategory()	{		// Load the Category data		if ($this->_loadCategory())		{			// Initialize some variables			$user = &JFactory::getUser();			// Make sure the category is published			if (!$this->_category->published) {				JError::raiseError(404, JText::_("Resource Not Found"));				return false;			}			// check whether category access level allows access			if ($this->_category->access > $user->get('aid', 0)) {				JError::raiseError(403, JText::_("ALERTNOTAUTH"));				return false;			}		}		return $this->_category;	}	/**	 * Method to load category data if it doesn't exist.	 *	 * @access	private	 * @return	boolean	True on success	 */	function _loadCategory()	{		if (empty($this->_category))		{			// current category info			$query = 'SELECT c.*, ' .				' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as slug '.				' FROM #__categories AS c' .				' WHERE c.id = '. (int) $this->_id .				' AND c.section = "com_weblinks"';			$this->_db->setQuery($query, 0, 1);			$this->_category = $this->_db->loadObject();		}		return true;	}	function _buildQuery()	{		$filter_order		= $this->getState('filter_order');		$filter_order_dir	= $this->getState('filter_order_dir');		$filter_order		= JFilterInput::clean($filter_order, 'cmd');		$filter_order_dir	= JFilterInput::clean($filter_order_dir, 'word');		// We need to get a list of all weblinks in the given category		$query = 'SELECT *' .			' FROM #__weblinks' .			' WHERE catid = '. (int) $this->_id.			' AND published = 1' .			' AND archived = 0'.			' ORDER BY '. $filter_order .' '. $filter_order_dir .', ordering';		return $query;	}}

⌨️ 快捷键说明

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