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
*
*/
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);
?>