Your IP : 216.73.216.240


Current Path : /home/juvelize/www/administrator/components/com_myrssreader/js/
Upload File :
Current File : /home/juvelize/www/administrator/components/com_myrssreader/js/rss_checker.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
* 
*/

if(!isset($_GET['id'])
|| !isset($_GET['maxfeeds'])
|| !isset($_GET['rand']))
{
    return;
}

$joomla_base_path = dirname(__FILE__);
$pos = strrpos($joomla_base_path, 'administrator');
if($pos === false) return;
$joomla_base_path = substr($joomla_base_path, 0, $pos-1);

define('_JEXEC', 1);
define('JPATH_BASE', $joomla_base_path);
define('DS', DIRECTORY_SEPARATOR);
                                                      
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
require_once(JPATH_BASE.DS.'components'.DS.'com_myrssreader'.DS.'simplepie'.DS.'autoloader.php');
require_once(JPATH_BASE.DS.'components'.DS.'com_myrssreader'.DS.'simplepie'.DS.'idn'.DS.'idna_convert.class.php');

$mainframe =& JFactory::getApplication('site');

$rss_id    = JRequest::getInt('id', 0);
$max_feeds = JRequest::getInt('maxfeeds', 0);

$db =& JFactory::getDBO();

$db->setQuery("SELECT rss_url FROM #__myrssreader WHERE id = ".$rss_id);
$rss_url = $db->loadResult();
if($rss_url == null) return;

$sp = new SimplePie();

$strip_htmltags = $sp->strip_htmltags;
unset($strip_htmltags[array_search('object', $strip_htmltags)]);
unset($strip_htmltags[array_search('param', $strip_htmltags)]);
unset($strip_htmltags[array_search('embed', $strip_htmltags)]);
unset($strip_htmltags[array_search('iframe', $strip_htmltags)]);
unset($strip_htmltags[array_search('style', $strip_htmltags)]);
$sp->strip_htmltags(array_values($strip_htmltags));

$strip_attributes = $sp->strip_attributes;
unset($strip_attributes[array_search('style', $strip_attributes)]);
unset($strip_attributes[array_search('class', $strip_attributes)]);
unset($strip_attributes[array_search('id', $strip_attributes)]);
$sp->strip_attributes(array_values($strip_attributes));

$sp->enable_cache(false);
$sp->enable_order_by_date(true);
$sp->set_timeout(10);
$sp->set_feed_url($rss_url);
$sp->init();
$sp->handle_content_type();

if($sp->error() == false)
{	
	$db->setQuery("DELETE FROM #__myrssreader_cache WHERE rss_id = ".$rss_id);
	$db->query();
	
	$feeds_number = ($max_feeds <= $sp->get_item_quantity()) ? $max_feeds : $sp->get_item_quantity();

	for($feed_idx = 0; $feed_idx < $feeds_number; $feed_idx++)
	{			
		$item = $sp->get_item($feed_idx);
		
		$item_title   = $item->get_title();
		$item_date    = $item->get_date("Y-m-d H:i:s");
		$item_content = $item->get_content();
		$item_link 	  = $item->get_link();
		$item_hash	  = md5($item_link);
					
		$item_title = trim($item_title);
		$item_title = str_replace(chr(10), "", $item_title);
		$item_title = str_replace(chr(13), "", $item_title);
		$item_title = addslashes($item_title);
		
		$item_content = trim($item_content);
		$item_content = addslashes($item_content);
	
		$query = "INSERT INTO #__myrssreader_cache "
				."(rss_id, hash, created, item_date, item_title, item_content, item_link) "
				."VALUES ("
				.$rss_id.", "
				."'".$item_hash."', "
				."'".$item_date."', "
				."'".$item_date."', "
				."'".$item_title."', "
				."'".$item_content."', "
				."'".$item_link."'"
				.")";				
		$db->setQuery($query);
		$db->query();		
	}

	$query = "UPDATE #__myrssreader SET "
			."last_check = NOW(), check_errors = 0, "
			."last_feeds_number = ".$feeds_number." "
			."WHERE id = ".$rss_id;				
	$db->setQuery($query);
	$db->query();
}

$sp->__destruct();
unset($sp);

?>