Your IP : 216.73.216.240


Current Path : /home/juvelize/www/administrator/components/com_myrssreader/tables/
Upload File :
Current File : /home/juvelize/www/administrator/components/com_myrssreader/tables/rss.php

<?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;
	}	
}

?>