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

📄 weblinks.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/** * @version		$Id: weblinks.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. */// 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 WeblinksModelWeblinks extends JModel{	/**	 * Category ata array	 *	 * @var array	 */	var $_data = null;	/**	 * Category total	 *	 * @var integer	 */	var $_total = null;	/**	 * Pagination object	 *	 * @var object	 */	var $_pagination = null;	/**	 * Constructor	 *	 * @since 1.5	 */	function __construct()	{		parent::__construct();		global $mainframe, $option;		// Get the pagination request variables		$limit		= $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );		$limitstart	= $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );		// In case limit has been changed, adjust limitstart accordingly		$limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0);		$this->setState('limit', $limit);		$this->setState('limitstart', $limitstart);	}	/**	 * Method to get weblinks item data	 *	 * @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'));		}		return $this->_data;	}	/**	 * Method to get the total number of weblink items	 *	 * @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 for the weblinks	 *	 * @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;	}	function _buildQuery()	{		// Get the WHERE and ORDER BY clauses for the query		$where		= $this->_buildContentWhere();		$orderby	= $this->_buildContentOrderBy();		$query = ' SELECT a.*, cc.title AS category, u.name AS editor '			. ' FROM #__weblinks AS a '			. ' LEFT JOIN #__categories AS cc ON cc.id = a.catid '			. ' LEFT JOIN #__users AS u ON u.id = a.checked_out '			. $where			. $orderby		;		return $query;	}	function _buildContentOrderBy()	{		global $mainframe, $option;		$filter_order		= $mainframe->getUserStateFromRequest( $option.'filter_order',		'filter_order',		'a.ordering',	'cmd' );		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $option.'filter_order_Dir',	'filter_order_Dir',	'',				'word' );		if ($filter_order == 'a.ordering'){			$orderby 	= ' ORDER BY category, a.ordering '.$filter_order_Dir;		} else {			$orderby 	= ' ORDER BY '.$filter_order.' '.$filter_order_Dir.' , category, a.ordering ';		}		return $orderby;	}	function _buildContentWhere()	{		global $mainframe, $option;		$db					=& JFactory::getDBO();		$filter_state		= $mainframe->getUserStateFromRequest( $option.'filter_state',		'filter_state',		'',				'word' );		$filter_catid		= $mainframe->getUserStateFromRequest( $option.'filter_catid',		'filter_catid',		0,				'int' );		$filter_order		= $mainframe->getUserStateFromRequest( $option.'filter_order',		'filter_order',		'a.ordering',	'cmd' );		$filter_order_Dir	= $mainframe->getUserStateFromRequest( $option.'filter_order_Dir',	'filter_order_Dir',	'',				'word' );		$search				= $mainframe->getUserStateFromRequest( $option.'search',			'search',			'',				'string' );		$search				= JString::strtolower( $search );		$where = array();		if ($filter_catid > 0) {			$where[] = 'a.catid = '.(int) $filter_catid;		}		if ($search) {			$where[] = 'LOWER(a.title) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false );		}		if ( $filter_state ) {			if ( $filter_state == 'P' ) {				$where[] = 'a.published = 1';			} else if ($filter_state == 'U' ) {				$where[] = 'a.published = 0';			}		}		$where 		= ( count( $where ) ? ' WHERE '. implode( ' AND ', $where ) : '' );		return $where;	}}

⌨️ 快捷键说明

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