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

📄 weblink.php

📁 没什么功能
💻 PHP
字号:
<?php/** * @version		$Id: weblink.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	Weblinks * @since 1.5 */class WeblinksModelWeblink extends JModel{	/**	 * Weblink id	 *	 * @var int	 */	var $_id = null;	/**	 * Weblink data	 *	 * @var array	 */	var $_data = null;	/**	 * Constructor	 *	 * @since 1.5	 */	function __construct()	{		parent::__construct();		$array = JRequest::getVar('cid', array(0), '', 'array');		$edit	= JRequest::getVar('edit',true);		if($edit)			$this->setId((int)$array[0]);	}	/**	 * Method to set the weblink identifier	 *	 * @access	public	 * @param	int Weblink identifier	 */	function setId($id)	{		// Set weblink id and wipe data		$this->_id		= $id;		$this->_data	= null;	}	/**	 * Method to get a weblink	 *	 * @since 1.5	 */	function &getData()	{		// Load the weblink data		if ($this->_loadData())		{			// Initialize some variables			$user = &JFactory::getUser();			// Check to see if the category is published			if (!$this->_data->cat_pub) {				JError::raiseError( 404, JText::_("Resource Not Found") );				return;			}			// Check whether category access level allows access			if ($this->_data->cat_access > $user->get('aid', 0)) {				JError::raiseError( 403, JText::_('ALERTNOTAUTH') );				return;			}		}		else  $this->_initData();		return $this->_data;	}	/**	 * Tests if weblink is checked out	 *	 * @access	public	 * @param	int	A user id	 * @return	boolean	True if checked out	 * @since	1.5	 */	function isCheckedOut( $uid=0 )	{		if ($this->_loadData())		{			if ($uid) {				return ($this->_data->checked_out && $this->_data->checked_out != $uid);			} else {				return $this->_data->checked_out;			}		}	}	/**	 * Method to checkin/unlock the weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function checkin()	{		if ($this->_id)		{			$weblink = & $this->getTable();			if(! $weblink->checkin($this->_id)) {				$this->setError($this->_db->getErrorMsg());				return false;			}		}		return false;	}	/**	 * Method to checkout/lock the weblink	 *	 * @access	public	 * @param	int	$uid	User ID of the user checking the article out	 * @return	boolean	True on success	 * @since	1.5	 */	function checkout($uid = null)	{		if ($this->_id)		{			// Make sure we have a user id to checkout the article with			if (is_null($uid)) {				$user	=& JFactory::getUser();				$uid	= $user->get('id');			}			// Lets get to it and checkout the thing...			$weblink = & $this->getTable();			if(!$weblink->checkout($uid, $this->_id)) {				$this->setError($this->_db->getErrorMsg());				return false;			}			return true;		}		return false;	}	/**	 * Method to store the weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function store($data)	{		$row =& $this->getTable();		// Bind the form fields to the web link table		if (!$row->bind($data)) {			$this->setError($this->_db->getErrorMsg());			return false;		}		// Create the timestamp for the date		$row->date = gmdate('Y-m-d H:i:s');		// if new item, order last in appropriate group		if (!$row->id) {			$where = 'catid = ' . (int) $row->catid ;			$row->ordering = $row->getNextOrder( $where );		}		// Make sure the web link table is valid		if (!$row->check()) {			$this->setError($this->_db->getErrorMsg());			return false;		}		// Store the web link table to the database		if (!$row->store()) {			$this->setError($this->_db->getErrorMsg());			return false;		}		return true;	}	/**	 * Method to remove a weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function delete($cid = array())	{		$result = false;		if (count( $cid ))		{			JArrayHelper::toInteger($cid);			$cids = implode( ',', $cid );			$query = 'DELETE FROM #__weblinks'				. ' WHERE id IN ( '.$cids.' )';			$this->_db->setQuery( $query );			if(!$this->_db->query()) {				$this->setError($this->_db->getErrorMsg());				return false;			}		}		return true;	}	/**	 * Method to (un)publish a weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function publish($cid = array(), $publish = 1)	{		$user 	=& JFactory::getUser();		if (count( $cid ))		{			JArrayHelper::toInteger($cid);			$cids = implode( ',', $cid );			$query = 'UPDATE #__weblinks'				. ' SET published = '.(int) $publish				. ' WHERE id IN ( '.$cids.' )'				. ' AND ( checked_out = 0 OR ( checked_out = '.(int) $user->get('id').' ) )'			;			$this->_db->setQuery( $query );			if (!$this->_db->query()) {				$this->setError($this->_db->getErrorMsg());				return false;			}		}		return true;	}	/**	 * Method to move a weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function move($direction)	{		$row =& $this->getTable();		if (!$row->load($this->_id)) {			$this->setError($this->_db->getErrorMsg());			return false;		}		if (!$row->move( $direction, ' catid = '.(int) $row->catid.' AND published >= 0 ' )) {			$this->setError($this->_db->getErrorMsg());			return false;		}		return true;	}	/**	 * Method to move a weblink	 *	 * @access	public	 * @return	boolean	True on success	 * @since	1.5	 */	function saveorder($cid = array(), $order)	{		$row =& $this->getTable();		$groupings = array();		// update ordering values		for( $i=0; $i < count($cid); $i++ )		{			$row->load( (int) $cid[$i] );			// track categories			$groupings[] = $row->catid;			if ($row->ordering != $order[$i])			{				$row->ordering = $order[$i];				if (!$row->store()) {					$this->setError($this->_db->getErrorMsg());					return false;				}			}		}		// execute updateOrder for each parent group		$groupings = array_unique( $groupings );		foreach ($groupings as $group){			$row->reorder('catid = '.(int) $group);		}		return true;	}	/**	 * Method to load content weblink data	 *	 * @access	private	 * @return	boolean	True on success	 * @since	1.5	 */	function _loadData()	{		// Lets load the content if it doesn't already exist		if (empty($this->_data))		{			$query = 'SELECT w.*, cc.title AS category,'.					' cc.published AS cat_pub, cc.access AS cat_access'.					' FROM #__weblinks AS w' .					' LEFT JOIN #__categories AS cc ON cc.id = w.catid' .					' WHERE w.id = '.(int) $this->_id;			$this->_db->setQuery($query);			$this->_data = $this->_db->loadObject();			return (boolean) $this->_data;		}		return true;	}	/**	 * Method to initialise the weblink data	 *	 * @access	private	 * @return	boolean	True on success	 * @since	1.5	 */	function _initData()	{		// Lets load the content if it doesn't already exist		if (empty($this->_data))		{			$weblink = new stdClass();			$weblink->id					= 0;			$weblink->catid				= 0;			$weblink->sid				= 0;			$weblink->title				= null;			$weblink->alias               = null;			$weblink->url				= null;			$weblink->description			= null;			$weblink->date				= null;			$weblink->hits				= 0;			$weblink->published			= 0;			$weblink->checked_out			= 0;			$weblink->checked_out_time	= 0;			$weblink->ordering			= 0;			$weblink->archived			= 0;			$weblink->approved			= 0;			$weblink->params				= null;			$weblink->category			= null;			$this->_data					= $weblink;			return (boolean) $this->_data;		}		return true;	}}

⌨️ 快捷键说明

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