<?PHP

/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
https://seditio.org

[BEGIN_SED]
File=plugins/sednews/sednews.php
Version=179
Updated=2022-jul-15
Type=Plugin
Author=Seditio Team
Description=
[END_SED]

[BEGIN_SED_EXTPLUGIN]
Code=sednews
Part=main
File=sednews
Hooks=admin.home
Tags=
Order=10
[END_SED_EXTPLUGIN]
==================== */

if (!defined('SED_CODE')) { die('Wrong URL.'); }

require_once(SED_ROOT . '/plugins/sednews/lang/sednews.'.$usr['lang'].'.lang.php');

function sed_get_rss($rss_content) {    
	if (trim($rss_content) == '') {
        return array();
    }	
	libxml_use_internal_errors(true);
	$rss_xml = simplexml_load_string($rss_content, 'SimpleXMLElement', LIBXML_NOCDATA);
    if ($rss_xml === false) {
        return array();
    } else {
		$rss_arr = json_decode(json_encode((array) $rss_xml), true);
		$rss_arr = array($rss_xml->getName() => $rss_arr);
		return $rss_arr;
    }
}

$sednews_maxitems = $cfg['plugin']['sednews']['maxitems'];
$sednews_rssfeed = $cfg['plugin']['sednews']['rssfeed'];

$sednews_rssfeed = (!empty($sednews_rssfeed)) ? $sednews_rssfeed : "https://seditio.org/rss";

$t->assign(array(
	"ADMIN_RSS_NEWS_TAB_TITLE" => $L['sednews_title']
));

$t->parse("ADMIN_HOME.ADMIN_RSS_NEWS_TAB"); 

$sn = new XTemplate(SED_ROOT . '/plugins/sednews/sednews.tpl');	

if (!isset($sed_rss_news))
	{
	$rss_content = @file_get_contents($sednews_rssfeed);
	$sed_rss_news = sed_get_rss($rss_content);
	sed_cache_store('sed_rss_news', $sed_rss_news, 3600);	
	}

if (count($sed_rss_news) > 0)
{
	$ii = 0;
	foreach ($sed_rss_news['rss']['channel']['item'] as $item)
		{	
		$ii++;
		$sn->assign(array(
			"RSS_NEWS_TITLE" => $item['title'],
			"RSS_NEWS_URL" => $item['link'],
			"RSS_NEWS_DATE" => sed_build_date($cfg['dateformat'], strtotime($item['pubDate'])),
			"RSS_NEWS_DESC" => sed_cutstring(strip_tags($item['description']), 150),
		));	
		$sn->parse("ADMIN_RSS_NEWS.ADMIN_RSS_NEWS_ROW"); 	
		if ($ii >= $sednews_maxitems) break;
		}
	$sn->parse("ADMIN_RSS_NEWS"); 	

	$t->assign("ADMIN_RSS_NEWS", $sn->text("ADMIN_RSS_NEWS"));
	$t->parse("ADMIN_HOME.ADMIN_RSS_NEWS_TABBODY"); 
}

?>