diff --git a/private/lib/RSSHelper.php b/private/lib/RSSHelper.php new file mode 100644 index 0000000..590f460 --- /dev/null +++ b/private/lib/RSSHelper.php @@ -0,0 +1,71 @@ +',PHP_EOL; + echo '',PHP_EOL; + echo '',PHP_EOL; + + self::generateChannelInfo(); + if (sizeof($notizie)>0){ + foreach ($notizie as $notizia){ + self::generateNotiziaInfo($notizia); + } + } + + echo '',PHP_EOL; + echo '',PHP_EOL; + } + + private static function generateChannelInfo(){ + $conf = GlobalVariables::get("config"); + + echo ''.$conf->info->projectName.'',PHP_EOL; + echo ''.GUIHandler::getBaseUrl().'',PHP_EOL; + echo ''.$conf->info->projectDescription.'',PHP_EOL; + echo 'it-IT',PHP_EOL; + echo 'webmaster@ifattidinapoli.it',PHP_EOL; + + echo '',PHP_EOL; + echo ''.$conf->info->projectName.'',PHP_EOL; + echo ''.GUIHandler::getBaseUrl().'',PHP_EOL; + echo ''.GUIHandler::getBaseUrl().'/images/logo_uff.png',PHP_EOL; + echo '48',PHP_EOL; + echo '48',PHP_EOL; + echo '',PHP_EOL; + } + + private static function generateNotiziaInfo(NotiziaModel $notizia){ + $conf = GlobalVariables::get("config"); + + echo '',PHP_EOL; + echo ''.htmlentities($notizia->titolo).'',PHP_EOL; + echo ''.htmlentities($notizia->testo).'',PHP_EOL; + echo ''.GUIHandler::getBaseUrl().'/articolo_'.$notizia->id.'',PHP_EOL; + + $mainMedia = DaoMediaHandler::getMainMediaFromModel($notizia); + if (!is_null($mainMedia) && $mainMedia->hasProperty("mediaType") && $mainMedia->mediaType == MediaModel::TYPE_IMAGE){ + $renderer = $mainMedia->getRenderer(); + if ($renderer instanceof MediaImage){ + $link = $renderer->getImageLink(MediaRendererInterface::SIZE_MEDIUM); + echo '',PHP_EOL; + } + } + + echo ''.date(DATE_RFC2822,$notizia->about->data->sec).'',PHP_EOL; + echo ''.GUIHandler::getBaseUrl().'/articolo_'.$notizia->id.'',PHP_EOL; + + echo '',PHP_EOL; + + } +} + +?> \ No newline at end of file diff --git a/private/lib/lib.inclusions.php b/private/lib/lib.inclusions.php index a07af5d..eaedbdf 100644 --- a/private/lib/lib.inclusions.php +++ b/private/lib/lib.inclusions.php @@ -46,5 +46,7 @@ require_once(dirname(__FILE__)."/PipelineHelper.php"); require_once(dirname(__FILE__)."/BannerHelper.php"); +require_once(dirname(__FILE__)."/RSSHelper.php"); + ?> \ No newline at end of file diff --git a/public/rss/index.php b/public/rss/index.php new file mode 100644 index 0000000..8ac062b --- /dev/null +++ b/public/rss/index.php @@ -0,0 +1,119 @@ +query("NotiziaModel", + array("isAnsa"=>true,"status"=>NotiziaModel::STATUS_ACCEPTED,"about.data"=>array('$lte'=>new MongoDate())), + array("sort"=>array("about.data"=>-1),"limit"=>5)); + + $ansaIds = array(); + if (sizeof($notizie)>0){ + $ansaIds = array_map(function($ele){return new MongoId($ele->id);}, $notizie); + } + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_POLITICA, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>3) + ); + + + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_CRONACA,'_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>3) + ); + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_SPORT, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>2) + ); + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_CULTURA,'_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>4) + ); + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_RISTORANTI, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>3) + ); + + $notizie += GlobalVariables::get("dao")->query("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_GOSSIP, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1),"limit"=>2) + ); + + $notizie += GlobalVariables::get("dao")->getFirst("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_VIAGGI, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1)) + ); + + $notizie += GlobalVariables::get("dao")->getFirst("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_ANIMALI, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1)) + ); + + $notizie += GlobalVariables::get("dao")->getFirst("NotiziaModel", + array( + "status"=>NotiziaModel::STATUS_ACCEPTED, + "category"=>NotiziaModel::CATEGORY_SALUTE, + '_id'=>array('$nin'=>$ansaIds), + "about.data"=>array('$lte'=>new MongoDate()) + ), + array("sort"=>array("about.data"=>-1)) + ); + + RSSHelper::generateByNotiziaList($notizie); + +} +catch (Exception $ex){ + +} + +?> \ No newline at end of file