newslink ? $params->newslink : ''; $show_count = @$params->show_count ? $params->show_count : '10'; $refresh = @$params->refresh ? $params->refresh : '3600'; if(trim($newslink)=="")return; $cache_file=$lm_absolute_path."data/newsfeed_".md5($newslink); $write=true; if(file_exists($cache_file)) { $fp=fopen($cache_file,"r"); $newsdata=unserialize(fread($fp,filesize($cache_file))); $news_arr=$newsdata['readfile']; fclose($fp); $write=false; if( (time()-$newsdata['timestamp']) > $refresh ) $write=true; } if($write) { $readfile = get_url($newslink); $fp=fopen($cache_file,"w"); $newsdata['timestamp']=time(); include($lm_absolute_path.'admin/classes/minixml/minixml.inc.php'); $parsedDoc = new MiniXMLDoc(); $parsedDoc->fromString($readfile); $rootEl =& $parsedDoc->getRoot(); $rdf=&$rootEl->getElementByPath('rdf:RDF'); // RSS v1.0 if($rdf==NULL)$rdf=&$rootEl->getElementByPath('rss/channel'); // RSS v0.91 && v2.0 ( tested on mambo feeds ) $elChildren =&$rdf->getAllChildren(); $news_num=0; $news_arr=false; for($i = 0; $i < $rdf->numChildren(); $i++) { if ($elChildren[$i]->name() == 'item') { $news_arr[$news_num]['nlink']=$elChildren[$i]->getElement('link'); $news_arr[$news_num]['nlink']=$news_arr[$news_num]['nlink']->getValue(); $news_arr[$news_num]['ntitle']=$elChildren[$i]->getElement('title'); $news_arr[$news_num]['ntitle']=$news_arr[$news_num]['ntitle']->getValue(); $news_arr[$news_num]['ndescription']=$elChildren[$i]->getElement('description'); $news_arr[$news_num]['ndescription']=$news_arr[$news_num]['ndescription']->getValue(); $news_num++; } } $newsdata['readfile']=$news_arr ; fwrite($fp,serialize($newsdata),strlen( serialize($newsdata) )); fclose($fp); } for($i=0 ; $i".$news_arr[$i]['ntitle']."
".htmlspecialchars(urldecode($news_arr[$i]['ndescription']))."
"; } ?>