mirror of
https://github.com/e107inc/e107.git
synced 2025-08-01 20:30:39 +02:00
Newsfeed Plugin: Added SEF URLs. PHP7 compatibility fix.
This commit is contained in:
@@ -81,7 +81,7 @@ class newsfeed_ui extends e_admin_ui
|
|||||||
'newsfeed_id' => array ( 'title' => LAN_ID, 'data' => 'int', 'width' => '5%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_id' => array ( 'title' => LAN_ID, 'data' => 'int', 'width' => '5%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_name' => array ( 'title' => LAN_TITLE, 'type' => 'text', 'data' => 'str', 'required'=>true, 'width' => 'auto', 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_name' => array ( 'title' => LAN_TITLE, 'type' => 'text', 'data' => 'str', 'required'=>true, 'width' => 'auto', 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_url' => array ( 'title' => LAN_URL, 'type' => 'url', 'data' => 'str', 'required'=>true, 'inline'=>true, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => array('size'=>'xxlarge'), 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_url' => array ( 'title' => LAN_URL, 'type' => 'url', 'data' => 'str', 'required'=>true, 'inline'=>true, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => array('size'=>'xxlarge'), 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_data' => array ( 'title' => 'Data', 'type' => 'hidden', 'data' => false, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_data' => array ( 'title' => 'Data', 'type' => 'hidden', 'noedit'=>true, 'data' => false, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_timestamp' => array ( 'title' => 'Timestamp', 'type' => 'hidden', 'data' => 'int', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_timestamp' => array ( 'title' => 'Timestamp', 'type' => 'hidden', 'data' => 'int', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_description' => array ( 'title' => LAN_DESCRIPTION, 'type' => 'textarea', 'data' => 'str', 'width' => '40%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_description' => array ( 'title' => LAN_DESCRIPTION, 'type' => 'textarea', 'data' => 'str', 'width' => '40%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
'newsfeed_image' => array ( 'title' => NFLAN_11, 'type' => 'method', 'data' => 'str', 'width' => 'auto', 'help' => LAN_OPTIONAL, 'readParms' => 'thumb=80x80', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
'newsfeed_image' => array ( 'title' => NFLAN_11, 'type' => 'method', 'data' => 'str', 'width' => 'auto', 'help' => LAN_OPTIONAL, 'readParms' => 'thumb=80x80', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left', ),
|
||||||
@@ -124,6 +124,8 @@ class newsfeed_ui extends e_admin_ui
|
|||||||
$new_data['newsfeed_image'] = e107::getParser()->toDB($new_data['newsfeed_image'])."::".intval($new_data['newsfeed_showmenu'])."::".intval($new_data['newsfeed_showmain']);
|
$new_data['newsfeed_image'] = e107::getParser()->toDB($new_data['newsfeed_image'])."::".intval($new_data['newsfeed_showmenu'])."::".intval($new_data['newsfeed_showmain']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$new_data['newsfeed_timestamp'] = 0;
|
||||||
|
|
||||||
return $new_data;
|
return $new_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,8 +149,12 @@ class newsfeed_ui extends e_admin_ui
|
|||||||
if(isset($new_data['newsfeed_showmenu']))
|
if(isset($new_data['newsfeed_showmenu']))
|
||||||
{
|
{
|
||||||
$new_data['newsfeed_image'] = e107::getParser()->toDB($new_data['newsfeed_image'])."::".intval($new_data['newsfeed_showmenu'])."::".intval($new_data['newsfeed_showmain']);
|
$new_data['newsfeed_image'] = e107::getParser()->toDB($new_data['newsfeed_image'])."::".intval($new_data['newsfeed_showmenu'])."::".intval($new_data['newsfeed_showmain']);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$new_data['newsfeed_timestamp'] = 0; // reset so the feed data refreshes.
|
||||||
|
|
||||||
|
|
||||||
return $new_data;
|
return $new_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
50
e107_plugins/newsfeed/e_url.php
Normal file
50
e107_plugins/newsfeed/e_url.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* e107 Bootstrap CMS
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008-2015 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* IMPORTANT: Make sure the redirect script uses the following code to load class2.php:
|
||||||
|
*
|
||||||
|
* if (!defined('e107_INIT'))
|
||||||
|
* {
|
||||||
|
* require_once("../../class2.php");
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('e107_INIT')) { exit; }
|
||||||
|
|
||||||
|
// v2.x Standard - Simple mod-rewrite module.
|
||||||
|
|
||||||
|
class newsfeed_url // plugin-folder + '_url'
|
||||||
|
{
|
||||||
|
function config()
|
||||||
|
{
|
||||||
|
$config = array();
|
||||||
|
|
||||||
|
|
||||||
|
$config['source'] = array(
|
||||||
|
'alias' => 'newsfeed',
|
||||||
|
'regex' => '^{alias}/(\d*)/(.*)', // matched against url, and if true, redirected to 'redirect' below.
|
||||||
|
'sef' => '{alias}/{newsfeed_id}/{newsfeed_sef}', // used by e107::url(); to create a url from the db table.
|
||||||
|
'redirect' => '{e_PLUGIN}newsfeed/newsfeed.php?id=$1', // file-path of what to load when the regex returns true.
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
$config['index'] = array(
|
||||||
|
'alias' => 'newsfeed',
|
||||||
|
'regex' => '^{alias}/?', // matched against url, and if true, redirected to 'redirect' below.
|
||||||
|
'sef' => '{alias}', // used by e107::url(); to create a url from the db table.
|
||||||
|
'redirect' => '{e_PLUGIN}newsfeed/newsfeed.php', // file-path of what to load when the regex returns true.
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -35,16 +35,30 @@ if (!is_object($newsFeed))
|
|||||||
{
|
{
|
||||||
$newsFeed = new newsfeedClass;
|
$newsFeed = new newsfeedClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e107::css('inline', "
|
||||||
|
|
||||||
|
.newsfeed ul { max-width:100% }
|
||||||
|
.newsfeed img { max-width:100% }
|
||||||
|
|
||||||
|
|
||||||
|
");
|
||||||
|
|
||||||
|
|
||||||
require_once(HEADERF);
|
require_once(HEADERF);
|
||||||
|
|
||||||
/* get template */
|
/* get template */
|
||||||
if (file_exists(THEME."newsfeed_template.php"))
|
if(file_exists(THEME."templates/newsfeed/newsfeed_template.php"))
|
||||||
{
|
{
|
||||||
require_once(THEME."newsfeed_template.php");
|
include(THEME."templates/newsfeed/newsfeed_template.php");
|
||||||
|
}
|
||||||
|
elseif (file_exists(THEME."newsfeed_template.php"))
|
||||||
|
{
|
||||||
|
include(THEME."newsfeed_template.php");
|
||||||
}
|
}
|
||||||
else if(!varset($NEWSFEED_LIST_START, FALSE))
|
else if(!varset($NEWSFEED_LIST_START, FALSE))
|
||||||
{
|
{
|
||||||
require_once(e_PLUGIN."newsfeed/templates/newsfeed_template.php");
|
include(e_PLUGIN."newsfeed/templates/newsfeed_template.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
$action = FALSE;
|
$action = FALSE;
|
||||||
@@ -55,12 +69,18 @@ if(e_QUERY)
|
|||||||
$id = intval(varset($qs[1], 0));
|
$id = intval(varset($qs[1], 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!empty($_GET['id'])) //v2.x
|
||||||
|
{
|
||||||
|
$id = intval($_GET['id']);
|
||||||
|
$action = 'show';
|
||||||
|
}
|
||||||
|
|
||||||
if($action == "show")
|
if($action == "show")
|
||||||
{
|
{
|
||||||
/* 'show' action - show feed */
|
/* 'show' action - show feed */
|
||||||
|
|
||||||
$data = $newsFeed->newsfeedInfo($id == 0 ? 'all' : $id, 'main');
|
$data = $newsFeed->newsfeedInfo($id == 0 ? 'all' : $id, 'main');
|
||||||
$ns->tablerender($data['title'], $data['text']);
|
$ns->tablerender($data['title'], $data['text']);
|
||||||
require_once(FOOTERF);
|
require_once(FOOTERF);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@@ -68,6 +88,7 @@ if($action == "show")
|
|||||||
|
|
||||||
/* no action - display feed list ... */
|
/* no action - display feed list ... */
|
||||||
$newsFeed->readFeedList();
|
$newsFeed->readFeedList();
|
||||||
|
$vars = array();
|
||||||
if (count($newsFeed->feedList))
|
if (count($newsFeed->feedList))
|
||||||
{
|
{
|
||||||
$data = "";
|
$data = "";
|
||||||
@@ -75,10 +96,15 @@ if (count($newsFeed->feedList))
|
|||||||
{
|
{
|
||||||
if (($feed['newsfeed_active'] == 2) || ($feed['newsfeed_active'] == 3))
|
if (($feed['newsfeed_active'] == 2) || ($feed['newsfeed_active'] == 3))
|
||||||
{
|
{
|
||||||
$FEEDNAME = "<a href='".e_SELF."?show.{$feed['newsfeed_id']}'>{$feed['newsfeed_name']}</a>";
|
|
||||||
$FEEDDESCRIPTION = ((!$feed['newsfeed_description'] || $feed['newsfeed_description'] == "default") ? " " : $feed['newsfeed_description']);
|
$feed['newsfeed_sef'] = eHelper::title2sef($feed['newsfeed_name'], 'dashl');
|
||||||
|
|
||||||
|
$url = e107::url('newsfeed', 'source', $feed); // e_SELF."?show.{$feed['newsfeed_id']}
|
||||||
|
|
||||||
|
$vars['FEEDNAME'] = "<a href='".$url."'>{$feed['newsfeed_name']}</a>";
|
||||||
|
$vars['FEEDDESCRIPTION'] = ((!$feed['newsfeed_description'] || $feed['newsfeed_description'] == "default") ? " " : $feed['newsfeed_description']);
|
||||||
// $FEEDIMAGE = $feed['newsfeed_image']; // This needs splitting up. Not used ATM anyway, so disable for now
|
// $FEEDIMAGE = $feed['newsfeed_image']; // This needs splitting up. Not used ATM anyway, so disable for now
|
||||||
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_LIST);
|
$data .= $tp->simpleParse($NEWSFEED_LIST, $vars);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,4 +113,3 @@ $text = $NEWSFEED_LIST_START . vartrue($data) . $NEWSFEED_LIST_END;
|
|||||||
$ns->tablerender(NFLAN_29, $text);
|
$ns->tablerender(NFLAN_29, $text);
|
||||||
require_once(FOOTERF);
|
require_once(FOOTERF);
|
||||||
|
|
||||||
?>
|
|
||||||
|
@@ -120,20 +120,18 @@ class newsfeedClass
|
|||||||
|
|
||||||
$this->readFeedList(); // Make sure we've got the feed data.
|
$this->readFeedList(); // Make sure we've got the feed data.
|
||||||
|
|
||||||
// $force = true;
|
|
||||||
|
|
||||||
if (!isset($this->feedList[$feedID]))
|
if (!isset($this->feedList[$feedID]))
|
||||||
{
|
{
|
||||||
if (NEWSFEED_DEBUG) echo "Invalid feed number: {$feedID}<br />";
|
if (NEWSFEED_DEBUG) echo "Invalid feed number: {$feedID}<br />";
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strpos($this->newsList[$feedID]['newsfeed_data'],'MagpieRSS')) //BC Fix to update newsfeed_data from v1 to v2 spec.
|
if(empty($this->newsList[$feedID]['newsfeed_timestamp']) || empty($this->newsList[$feedID]['newsfeed_data']) || strpos($this->newsList[$feedID]['newsfeed_data'],'MagpieRSS')) //BC Fix to update newsfeed_data from v1 to v2 spec.
|
||||||
{
|
{
|
||||||
$force = true;
|
$force = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($force || !isset($this->newsList[$feedID]['newsfeed_data']) || !$this->newsList[$feedID]['newsfeed_data']) // No data already in memory
|
if($force) // No data already in memory
|
||||||
{
|
{
|
||||||
if ($force || !($this->newsList[$feedID]['newsfeed_data'] = e107::getCache()->retrieve(NEWSFEED_NEWS_CACHE_TAG.$feedID, $this->feedList[$feedID]['newsfeed_updateint']/60)))
|
if ($force || !($this->newsList[$feedID]['newsfeed_data'] = e107::getCache()->retrieve(NEWSFEED_NEWS_CACHE_TAG.$feedID, $this->feedList[$feedID]['newsfeed_updateint']/60)))
|
||||||
{ // Need to re-read from source - either no cached data yet, or cache expired
|
{ // Need to re-read from source - either no cached data yet, or cache expired
|
||||||
|
@@ -8,8 +8,6 @@
|
|||||||
<link url='admin_config.php' description='Configure Newsfeeds' icon='images/newsfeed_32.png' iconSmall='images/newsfeed_16.png' primary='true' >Configure Newsfeeds</link>
|
<link url='admin_config.php' description='Configure Newsfeeds' icon='images/newsfeed_32.png' iconSmall='images/newsfeed_16.png' primary='true' >Configure Newsfeeds</link>
|
||||||
</adminLinks>
|
</adminLinks>
|
||||||
<siteLinks>
|
<siteLinks>
|
||||||
<link url="{e_PLUGIN}newsfeed/newsfeed.php" >Newsfeeds</link>
|
<link url="{e_PLUGIN}newsfeed/newsfeed.php" sef="index" >LAN_PLUGIN_NEWSFEEDS_NAME</link>
|
||||||
</siteLinks>
|
</siteLinks>
|
||||||
<pluginPrefs>
|
|
||||||
</pluginPrefs>
|
|
||||||
</e107Plugin>
|
</e107Plugin>
|
@@ -20,7 +20,7 @@ if (!defined('e107_INIT')) { exit; }
|
|||||||
$NEWSFEED_MAIN_CAPTION = NFLAN_38;
|
$NEWSFEED_MAIN_CAPTION = NFLAN_38;
|
||||||
|
|
||||||
$NEWSFEED_LIST_START = "
|
$NEWSFEED_LIST_START = "
|
||||||
<table style='width: 100%;' class='table fborder'>\n";
|
<table style='width: 100%;' class='newsfeed-list table fborder'>\n";
|
||||||
|
|
||||||
$NEWSFEED_LIST = "
|
$NEWSFEED_LIST = "
|
||||||
<tr>
|
<tr>
|
||||||
@@ -32,16 +32,16 @@ $NEWSFEED_LIST_END = "
|
|||||||
</table>\n";
|
</table>\n";
|
||||||
|
|
||||||
$NEWSFEED_MAIN_START = "
|
$NEWSFEED_MAIN_START = "
|
||||||
<table style='width: 100%;' class='table fborder'>
|
<table style='width: 100%;' class='newsfeed table fborder'>
|
||||||
<tr>
|
<tr>
|
||||||
<td class='forumheader'>{FEEDIMAGE} {FEEDTITLE}</td>
|
<td class='forumheader'><h3>{FEEDIMAGE} {FEEDTITLE}</h3></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class='forumheader3'>
|
<td class='forumheader3'>
|
||||||
<ul>\n";
|
<ul>\n";
|
||||||
|
|
||||||
$NEWSFEED_MAIN = "
|
$NEWSFEED_MAIN = "
|
||||||
<li><b>{FEEDITEMLINK}</b> <span class='smalltext'>{FEEDITEMCREATOR}</span><br />{FEEDITEMTEXT}<br /><br /></li>\n";
|
<li><h4>{FEEDITEMLINK}</h4><small class='smalltext'>{FEEDITEMCREATOR}</small><div>{FEEDITEMTEXT}</div></li>\n";
|
||||||
|
|
||||||
|
|
||||||
$NEWSFEED_MAIN_END = "
|
$NEWSFEED_MAIN_END = "
|
||||||
|
Reference in New Issue
Block a user