mirror of
https://github.com/e107inc/e107.git
synced 2025-02-13 19:15:19 +01:00
169 lines
4.7 KiB
PHP
169 lines
4.7 KiB
PHP
<?php
|
|
/*
|
|
+ ----------------------------------------------------------------------------+
|
|
| e107 website system
|
|
|
|
|
| ©Steve Dunstan 2001-2002
|
|
| http://e107.org
|
|
| jalist@e107.org
|
|
|
|
|
| Released under the terms and conditions of the
|
|
| GNU General Public License (http://gnu.org).
|
|
|
|
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/newsfeed.php,v $
|
|
| $Revision: 1.1.1.1 $
|
|
| $Date: 2006-12-02 04:35:31 $
|
|
| $Author: mcfly_e107 $
|
|
+----------------------------------------------------------------------------+
|
|
*/
|
|
require_once("../../class2.php");
|
|
|
|
@include_once(e_PLUGIN."newsfeed/languages/".e_LANGUAGE.".php");
|
|
@include_once(e_PLUGIN."newsfeed/languages/English.php");
|
|
if(!function_exists("checkUpdate"))
|
|
{
|
|
require(e_PLUGIN."newsfeed/newsfeed_functions.php");
|
|
}
|
|
require_once(HEADERF);
|
|
|
|
/* get template */
|
|
if (file_exists(THEME."newsfeed_template.php"))
|
|
{
|
|
require_once(THEME."newsfeed_template.php");
|
|
}
|
|
else if(!$NEWSFEED_LIST_START)
|
|
{
|
|
require_once(e_PLUGIN."newsfeed/templates/newsfeed_template.php");
|
|
}
|
|
|
|
$action = FALSE;
|
|
if(e_QUERY)
|
|
{
|
|
list($action, $id) = explode(".", e_QUERY);
|
|
$id = intval($id);
|
|
}
|
|
|
|
if($action == "show")
|
|
{
|
|
/* 'show' action - show feed */
|
|
checkUpdate();
|
|
|
|
if ($feeds = $sql -> db_Select("newsfeed", "*", "(newsfeed_active=2 OR newsfeed_active=3) AND newsfeed_id=$id"))
|
|
{
|
|
$row = $sql->db_Fetch();
|
|
extract ($row);
|
|
list($newsfeed_image, $newsfeed_showmenu, $newsfeed_showmain) = explode("::", $newsfeed_image);
|
|
$numtoshow = $newsfeed_showmain;
|
|
$numtoshow = (intval($numtoshow) > 0 ? $numtoshow : 999);
|
|
|
|
$rss = unserialize($newsfeed_data);
|
|
|
|
if(!is_object($rss))
|
|
{
|
|
$text = NFLAN_49;
|
|
$ns->tablerender(NFLAN_01, $text);
|
|
require_once(FOOTERF);
|
|
exit;
|
|
}
|
|
|
|
$FEEDNAME = "<a href='".e_SELF."?show.$newsfeed_id'>$newsfeed_name</a>";
|
|
$FEEDDESCRIPTION = $newsfeed_description;
|
|
if($newsfeed_image == "default")
|
|
{
|
|
if($file = fopen ($rss -> image['url'], "r"))
|
|
{
|
|
/* remote image exists - use it! */
|
|
$FEEDIMAGE = "<a href='".$rss -> image['link']."' rel='external'><img src='".$rss -> image['url']."' alt='".$rss -> image['title']."' style='border: 0; vertical-align: middle;' /></a>";
|
|
}
|
|
else
|
|
{
|
|
/* remote image doesn't exist - ghah! */
|
|
$FEEDIMAGE = "";
|
|
}
|
|
|
|
|
|
}else if ($newsfeed_image)
|
|
{
|
|
$FEEDIMAGE = "<img src='".$newsfeed_image."' alt='' />";
|
|
}
|
|
else
|
|
{
|
|
$FEEDIMAGE = "";
|
|
}
|
|
$FEEDLANGUAGE = $rss -> channel['language'];
|
|
|
|
if($rss -> channel['lastbuilddate'])
|
|
{
|
|
$pubbed = $rss -> channel['lastbuilddate'];
|
|
}
|
|
else if($rss -> channel['dc']['date'])
|
|
{
|
|
$pubbed = $rss -> channel['dc']['date'];
|
|
}
|
|
else
|
|
{
|
|
$pubbed = NFLAN_34;
|
|
}
|
|
|
|
$FEEDLASTBUILDDATE = NFLAN_33.$pubbed;
|
|
$FEEDCOPYRIGHT = $tp -> toHTML($rss -> channel['copyright'], TRUE);
|
|
$FEEDDOCS = $rss -> channel['docs'];
|
|
$FEEDTITLE = "<a href='".$rss -> channel['link']."' rel='external'>".$rss -> channel['title']."</a>";
|
|
$FEEDLINK = $rss -> channel['link'];
|
|
|
|
$data = "";
|
|
|
|
$i = 0;
|
|
while($i < $numtoshow && $rss->items[$i])
|
|
{
|
|
$item = $rss->items[$i];
|
|
// foreach ($rss -> items as $item)
|
|
// {
|
|
|
|
if($NEWSFEED_COLLAPSE)
|
|
{
|
|
$FEEDITEMLINK = "<a href='#' onclick='expandit(this)'>".$tp -> toHTML($item['title'], TRUE)."</a>
|
|
<div style='display:none' >
|
|
";
|
|
$FEEDITEMTEXT = preg_replace("/[.*]/", "", $tp -> toHTML($item['description'], TRUE))."
|
|
<br /><br /><a href='".$item['link']."' rel='external'>".NFLAN_44."</a><br /><br />
|
|
</div>";
|
|
}
|
|
else
|
|
{
|
|
$FEEDITEMLINK = "<a href='".$item['link']."' rel='external'>".$tp -> toHTML($item['title'], TRUE)."</a>\n";
|
|
$feeditemtext = preg_replace("#\[[a-z0-9=]+\]|\[\/[a-z]+\]|\{[A-Z_]+\}#si", "", $item['description']);
|
|
$FEEDITEMTEXT = $tp -> toHTML($feeditemtext, TRUE)."\n";
|
|
}
|
|
$FEEDITEMCREATOR = $tp -> toHTML($item['author'], TRUE);
|
|
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN);
|
|
$i++;
|
|
}
|
|
$BACKLINK = "<a href='".e_SELF."'>".NFLAN_31."</a>";
|
|
$text = preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN_START) . $data . preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN_END);
|
|
$ns->tablerender(NFLAN_01, $text);
|
|
require_once(FOOTERF);
|
|
exit;
|
|
}
|
|
}
|
|
|
|
/* no action - display feed list ... */
|
|
if ($feeds = $sql -> db_Select("newsfeed", "*", "newsfeed_active=2 OR newsfeed_active=3"))
|
|
{
|
|
$data = "";
|
|
while ($row = $sql->db_Fetch())
|
|
{
|
|
extract($row);
|
|
$FEEDNAME = "<a href='".e_SELF."?show.$newsfeed_id'>$newsfeed_name</a>";
|
|
$FEEDDESCRIPTION = ((!$newsfeed_description || $newsfeed_description == "default") ? " " : $newsfeed_description);
|
|
$FEEDIMAGE = $newsfeed_image;
|
|
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_LIST);
|
|
}
|
|
}
|
|
|
|
$text = $NEWSFEED_LIST_START . $data . $NEWSFEED_LIST_END;
|
|
$ns->tablerender(NFLAN_29, $text);
|
|
require_once(FOOTERF);
|
|
|
|
?>
|