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

📄 element.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/** * @version		$Id: element.php 10381 2008-06-01 03:35:53Z pasamio $ * @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. */// no direct accessdefined('_JEXEC') or die('Restricted access');jimport( 'joomla.application.component.helper');jimport( 'joomla.application.component.model');/** * Content Component Article Model * * @package		Joomla * @subpackage	Content * @since		1.5 */class ContentModelElement extends JModel{	/**	 * Content data in category array	 *	 * @var array	 */	var $_list = null;	var $_page = null;	/**	 * Method to get content article data for the frontpage	 *	 * @since 1.5	 */	function getList()	{		global $mainframe;		if (!empty($this->_list)) {			return $this->_list;		}		// Initialize variables		$db		=& $this->getDBO();		$filter	= null;		// Get some variables from the request		$sectionid			= JRequest::getVar( 'sectionid', -1, '', 'int' );		$redirect			= $sectionid;		$option				= JRequest::getCmd( 'option' );		$filter_order		= $mainframe->getUserStateFromRequest('articleelement.filter_order',		'filter_order',		'',	'cmd');		$filter_order_Dir	= $mainframe->getUserStateFromRequest('articleelement.filter_order_Dir',	'filter_order_Dir',	'',	'word');		$catid				= $mainframe->getUserStateFromRequest('articleelement.catid',				'catid',			0,	'int');		$filter_authorid	= $mainframe->getUserStateFromRequest('articleelement.filter_authorid',		'filter_authorid',	0,	'int');		$filter_sectionid	= $mainframe->getUserStateFromRequest('articleelement.filter_sectionid',	'filter_sectionid',	-1,	'int');		$limit				= $mainframe->getUserStateFromRequest('global.list.limit',					'limit', $mainframe->getCfg('list_limit'), 'int');		$limitstart			= $mainframe->getUserStateFromRequest('articleelement.limitstart',			'limitstart',		0,	'int');		$search				= $mainframe->getUserStateFromRequest('articleelement.search',				'search',			'',	'string');		$search				= JString::strtolower($search);		//$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.name, c.ordering';		$all = 1;		if ($filter_sectionid >= 0) {			$filter = ' WHERE cc.section = '.$db->Quote($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;		}		// Only published articles		$where[] = 'c.state = 1';		// Keyword filter		if ($search) {			$where[] = 'LOWER( c.title ) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false );		}		// 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');		$this->_page = new JPagination($total, $limitstart, $limit);		// Get the articles		$query = 'SELECT c.*, g.name AS groupname, cc.title as cctitle, 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, $this->_page->limitstart, $this->_page->limit);		$this->_list = $db->loadObjectList();		// If there is a db query error, throw a HTTP 500 and exit		if ($db->getErrorNum()) {			JError::raiseError( 500, $db->stderr() );			return false;		}		return $this->_list;	}	function getPagination()	{		if (is_null($this->_list) || is_null($this->_page)) {			$this->getList();		}		return $this->_page;	}}?>

⌨️ 快捷键说明

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