git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
132 lines
2.8 KiB
PHP
132 lines
2.8 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: newsfeed.php 14401 2010-01-26 14:10:00Z louis $
|
|
* @package Joomla
|
|
* @subpackage Content
|
|
* @copyright Copyright (C) 2005 - 2010 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');
|
|
|
|
/**
|
|
* Newsfeeds Component Newsfeed Model
|
|
*
|
|
* @package Joomla
|
|
* @subpackage Newsfeeds
|
|
* @since 1.5
|
|
*/
|
|
class NewsfeedsModelNewsfeed extends JModel
|
|
{
|
|
/**
|
|
* Newsfeed id
|
|
*
|
|
* @var int
|
|
*/
|
|
var $_id = null;
|
|
|
|
/**
|
|
* Newsfeed data
|
|
*
|
|
* @var array
|
|
*/
|
|
var $_data = null;
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @since 1.5
|
|
*/
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
$id = JRequest::getVar('id', 0, '', 'int');
|
|
$this->setId((int)$id);
|
|
}
|
|
|
|
/**
|
|
* Method to set the newsfeed identifier
|
|
*
|
|
* @access public
|
|
* @param int Newsfeed identifier
|
|
*/
|
|
function setId($id)
|
|
{
|
|
// Set weblink id and wipe data
|
|
$this->_id = $id;
|
|
$this->_data = null;
|
|
}
|
|
|
|
/**
|
|
* Method to get the newsfeed data
|
|
*
|
|
* @since 1.5
|
|
*/
|
|
function &getData()
|
|
{
|
|
// Load the weblink data
|
|
if ($this->_loadData())
|
|
{
|
|
// Initialize some variables
|
|
$user = &JFactory::getUser();
|
|
|
|
// Make sure the category is published
|
|
if (!$this->_data->published) {
|
|
JError::raiseError(404, JText::_("Resource Not Found"));
|
|
return false;
|
|
}
|
|
|
|
// 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;
|
|
}
|
|
|
|
}
|
|
|
|
return $this->_data;
|
|
}
|
|
|
|
/**
|
|
* Method to load newsfeed 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 f.*, cc.title AS category,'.
|
|
' cc.published AS cat_pub, cc.access AS cat_access,'.
|
|
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\':\', cc.id, cc.alias) ELSE cc.id END as catslug'.
|
|
' FROM #__newsfeeds AS f' .
|
|
' LEFT JOIN #__categories AS cc ON cc.id = f.catid' .
|
|
' WHERE f.id = '.$this->_id;
|
|
$this->_db->setQuery($query);
|
|
$this->_data = $this->_db->loadObject();
|
|
return (boolean) $this->_data;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
}
|
|
?>
|