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

📄 category.php

📁 Joomla15 - 最新开源CMS
💻 PHP
字号:
<?php/** * @version		$Id: category.php 8178 2007-07-23 05:39:47Z eddieajau $ * @package		Joomla * @subpackage	Contact * @copyright	Copyright (C) 2005 - 2007 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();jimport('joomla.application.component.model');/** * @package		Joomla * @subpackage	Contact */class ContactModelCategory extends JModel{	/**	 * Builds the query to select contact categories	 * @param array	 * @return string	 * @access protected	 */	function _getCatgoriesQuery( &$options )	{		// TODO: Cache on the fingerprint of the arguments		$db		=& JFactory::getDBO();		$aid	= @$options['aid'];		$wheres[] = 'a.published = 1';		$wheres[] = 'cc.section = ' . $db->Quote( 'com_contact_details' );		$wheres[] = 'cc.published = 1';		if ($aid !== null)		{			$wheres[] = 'a.access <= ' . (int) $aid;			$wheres[] = 'cc.access <= ' . (int) $aid;		}		$groupBy	= 'cc.id';		$orderBy	= 'cc.ordering' ;		/*		 * Query to retrieve all categories that belong under the contacts		 * section and that are published.		 */		$query = 'SELECT cc.*, COUNT( a.id ) AS numlinks, a.id as cid'.				' FROM #__categories AS cc'.				' LEFT JOIN #__contact_details AS a ON a.catid = cc.id'.				' WHERE ' . implode( ' AND ', $wheres ) .				' GROUP BY ' . $groupBy .				' ORDER BY ' . $orderBy;		//echo $query;		return $query;	}	/**	 * Builds the query to select contact items	 * @param array	 * @return string	 * @access protected	 */	function _getContactsQuery( &$options )	{		// TODO: Cache on the fingerprint of the arguments		$db			=& JFactory::getDBO();		$aid		= @$options['aid'];		$catId		= @$options['category_id'];		$groupBy	= @$options['group by'];		$orderBy	= @$options['order by'];		$select = 'cd.*, ' .				'cc.name AS category_name, cc.description AS category_description, cc.image AS category_image,'.				' CASE WHEN CHAR_LENGTH(cd.alias) THEN CONCAT_WS(\':\', cd.id, cd.alias) ELSE cd.id END as slug ';		$from	= '#__contact_details AS cd';		$joins[] = 'INNER JOIN #__categories AS cc on cd.catid = cc.id';		if ($catId)		{			$wheres[] = 'cd.catid = ' . (int) $catId;		}		$wheres[] = 'cc.published = 1';		$wheres[] = 'cd.published = 1';		if ($aid !== null)		{			$wheres[] = 'cc.access <= ' . (int) $aid;			$wheres[] = 'cd.access <= ' . (int) $aid;		}		/*		 * Query to retrieve all categories that belong under the contacts		 * section and that are published.		 */		$query = 'SELECT ' . $select .				' FROM ' . $from .				' ' . implode ( ' ', $joins ) .				' WHERE ' . implode( ' AND ', $wheres ) .				($groupBy ? ' GROUP BY ' . $groupBy : '').				($orderBy ? ' ORDER BY ' . $orderBy : '');		return $query;	}	/**	 * Gets a list of categories	 * @param array	 * @return array	 */	function getCategories( $options=array() )	{		$query	= $this->_getCatgoriesQuery( $options );		return $this->_getList( $query, @$options['limitstart'], @$options['limit'] );	}	/**	 * Gets the count of the categories for the given options	 * @param array	 * @return int	 */	function getCategoryCount( $options=array() )	{		$query	= $this->_getCatgoriesQuery( $options );		return $this->_getListCount( $query );	}	/**	 * Gets a list of categories	 * @param array	 * @return array	 */	function getContacts( $options=array() )	{		$query	= $this->_getContactsQuery( $options );		return $this->_getList( $query, @$options['limitstart'], @$options['limit'] );	}	/**	 * Gets the count of the categories for the given options	 * @param array	 * @return int	 */	function getContactCount( $options=array() )	{		$query	= $this->_getContactsQuery( $options );		return $this->_getListCount( $query );	}}

⌨️ 快捷键说明

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