<?
defined('WBCAT') or die('Restricted access'); // Если кто то попытатся запустить файл напрямую получит отказ
$Widget= new Widget(SKRIPT_DIR); // Инициализируем класс и передаем ему адрес где установлен скрипт
$Wtest_set=$Widget->get_widget_settings('my_super-widget'); //Узнаем настройки виджета
//---------------------------------------------------------------------//
//Создадим функцию получения ленты с чужого ресурса
function get_rss_feed($url,$count_news=3){
$rss = simplexml_load_file($url); //Интерпретирует XML-файл в объект
//цикл для обхода всей RSS ленты
$viewRSS="";
$i=1;
foreach ($rss->channel->item as $item) {
if($count_news>=$i){
$viewRSS .= '<div class="rssBlock">';
$viewRSS .= '<div class="rssTitle">'.$item->title.'</div>'; //читаем заголовок
$viewRSS .= '<div class="rssdescr">'.$item->description.'</div>'; //читаем описание
$viewRSS .= '<a href="'.$item->link.'">Подробней...</a></div>'; //читаем ссылку
}
$i++; }
return $viewRSS;
}
// Приводим переменные в понятный вид
$url=$Wtest_set['url'];
$css_class=$Wtest_set['css_class'];
$count_news=$Wtest_set['count_news'];
$day=$Wtest_set['day'];
$site_chehe=$Wtest_set['time'];
//Узнаем сколько прошло дней с момента загрузки предыдущей ленты
$time=time();
$proshlo=$time-$site_chehe;
$proshlo_dney=round($proshlo/86400); //Прошло дней
if($proshlo>(86400*$day)){ //если время кеширования уже прошло то получаем свежую RSS ленту
$new_RSS=get_rss_feed($url,$count_news); // Используем написанную ранее функцию для получения свежей RSS ленты
$Widget->set_widget_data("my_super-widget",$new_RSS); // Сохраняем новую ленту в базу данных
}
$Wdata=$Widget->get_widget_data('my_super-widget'); // Получаем ленту из базы данных
if($css_class==""){ $css_class="rss";}
echo "<div class='{$css_class}'>{$Wdata}<div style=\"clear: both;\"></div></div>"; //выводим ленту на экран
?>