Seditio Source code viewer
Root | Root
./Seditio-Developer/Seditio.178/plugins/sednews/sednews.php
<?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");
}

?>
Presented with Sourceer