Your IP : 216.73.216.240
<?php
/**
* @package My RSS Reader
* @copyright Copyright (C) 2010 FalsinSoft. All rights reserved.
* @license GNU/GPL
* @website http://falsinsoft-joomla.blogspot.com
* @email falsinsoft@gmail.com
*
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
class TableRSS extends JTable
{
var $id = null;
var $title = null;
var $web_url = null;
var $rss_url = null;
var $last_check = null;
var $check_errors = null;
var $published = null;
var $checked_out = null;
var $checked_out_time = null;
function __construct(&$db)
{
parent::__construct('#__myrssreader', 'id', $db);
}
function store($category_id_list)
{
if(parent::store())
{
$db = &JFactory::getDBO();
$id = $this->id;
if($id == null)
{
$db->setQuery('SELECT id FROM #__myrssreader ORDER BY id DESC LIMIT 1');
$id = $db->loadResult();
}
$db->setQuery('DELETE FROM #__myrssreader_category_rss WHERE rss_id='.$id);
$db->query();
foreach($category_id_list as $category_id)
{
$db->setQuery('INSERT INTO #__myrssreader_category_rss (category_id, rss_id) VALUES ('.$category_id.','.$id.')');
$db->query();
}
return true;
}
return false;
}
function getRSSList($category_id, $rss_start, $rss_number)
{
$db = &JFactory::getDBO();
$query = 'SELECT rss.id, rss.title, rss.published, rss.checked_out, rss.checked_out_time FROM #__myrssreader AS rss';
if($category_id != 0) $query .= ', #__myrssreader_category_rss AS cat WHERE rss.id = cat.rss_id AND cat.category_id = '.$category_id;
$query .= ' ORDER BY rss.title LIMIT '.$rss_start.','.$rss_number;
$db->setQuery($query);
$rss_list = $db->loadObjectList();
foreach($rss_list as $rss)
{
$db->setQuery('SELECT c.title FROM #__myrssreader_category AS c, #__myrssreader_category_rss AS cr WHERE c.id = cr.category_id AND cr.rss_id = '.$rss->id);
$category_list = $db->loadResultArray();
if($category_list == null || count($category_list) == 0)
$rss->category = JText::_('COM_MYRSSREADER_UNCATEGORISED');
else
$rss->category = implode('<br />', $category_list);
}
return $rss_list;
}
function getFullRSSIDList()
{
$db = &JFactory::getDBO();
$db->setQuery('SELECT id FROM #__myrssreader');
return $db->loadResultArray();
}
function getStatisticRSSList($rss_start, $rss_number)
{
$db = &JFactory::getDBO();
$query = 'SELECT rss.id, rss.title, rss.published, rss.last_check, rss.check_errors, rss.last_feeds_number, rss.new_feeds_average, '
.'(SELECT COUNT(cache.id) FROM #__myrssreader_cache AS cache WHERE cache.rss_id = rss.id) AS total_feeds_number '
.'FROM #__myrssreader AS rss ORDER BY title LIMIT '.$rss_start.','.$rss_number;
$db->setQuery($query);
return $db->loadObjectList();
}
function getRSSNumber()
{
$db = &JFactory::getDBO();
$query = 'SELECT COUNT(id) AS number FROM #__myrssreader';
$db->setQuery($query);
return $db->loadResult();
}
function getRSSDetails($id)
{
$db = &JFactory::getDBO();
$db->setQuery('SELECT id, title, web_url, rss_url, published FROM #__myrssreader WHERE id='.$id);
$rss_details = $db->loadObject();
$db->setQuery('SELECT category_id FROM #__myrssreader_category_rss WHERE rss_id='.$id);
$rss_details->category_id_list = $db->loadResultArray();
return $rss_details;
}
function deleteCachedFeeds($id)
{
$db = &JFactory::getDBO();
$db->setQuery('DELETE FROM #__myrssreader_cache WHERE rss_id='.$id);
return $db->query();
}
function checkIfRSSURLChanged($id, $rss_url)
{
$db = &JFactory::getDBO();
$db->setQuery('SELECT rss_url FROM #__myrssreader WHERE id='.$id);
$current_rss_url = $db->loadResult();
return ($current_rss_url == $rss_url) ? false : true;
}
function deleteRSS($cid)
{
$db = &JFactory::getDBO();
$cids = implode(',', $cid);
$db->setQuery('DELETE FROM #__myrssreader_cache WHERE rss_id IN ('.$cids.')');
$db->query();
$db->setQuery('DELETE FROM #__myrssreader WHERE id IN ('.$cids.')');
return $db->query();
}
function checkIfTitleExist($title, $id)
{
$db = &JFactory::getDBO();
$query = "SELECT COUNT(id) AS number FROM #__myrssreader WHERE title='".addslashes($title)."'";
if($id != null) $query .= " AND id<>".$id;
$db->setQuery($query);
return ($db->loadResult() == 0) ? false : true;
}
function checkIfWebUrlExist($web_url, $id)
{
$db = &JFactory::getDBO();
$query = "SELECT COUNT(id) AS number FROM #__myrssreader WHERE web_url='".$web_url."'";
if($id != null) $query .= " AND id<>".$id;
$db->setQuery($query);
return ($db->loadResult() == 0) ? false : true;
}
function checkIfRSSUrlExist($rss_url, $id)
{
$db = &JFactory::getDBO();
$query = "SELECT COUNT(id) AS number FROM #__myrssreader WHERE rss_url='".$rss_url."'";
if($id != null) $query .= " AND id<>".$id;
$db->setQuery($query);
return ($db->loadResult() == 0) ? false : true;
}
}
?>