mirror of
https://github.com/e107inc/e107.git
synced 2025-04-20 12:41:51 +02:00
Bugtracker #4578 and more - add caching, plugin.xml, admin logging
This commit is contained in:
parent
ca71a7742d
commit
64b31b2abf
@ -12,9 +12,9 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_handlers/cache_handler.php,v $
|
||||
| $Revision: 1.9 $
|
||||
| $Date: 2008-12-03 00:43:00 $
|
||||
| $Author: mcfly_e107 $
|
||||
| $Revision: 1.10 $
|
||||
| $Date: 2008-12-20 10:39:23 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
@ -24,13 +24,22 @@ if (!defined('e107_INIT')) { exit; }
|
||||
* Class to cache data as files, improving site speed and throughput.
|
||||
*
|
||||
* @package e107
|
||||
* @version $Revision: 1.9 $
|
||||
* @author $Author: mcfly_e107 $
|
||||
* @version $Revision: 1.10 $
|
||||
* @author $Author: e107steved $
|
||||
*/
|
||||
class ecache {
|
||||
|
||||
var $CachePageMD5;
|
||||
var $CachenqMD5;
|
||||
var $UserCacheActive; // Checkable flag - TRUE if user cache enabled
|
||||
var $SystemCacheActive; // Checkable flag - TRUE if system cache enabled
|
||||
|
||||
function ecache()
|
||||
{
|
||||
global $pref;
|
||||
$this->UserCacheActive = varsettrue($pref['cachestatus']);
|
||||
$this->SystemCacheActive = varsettrue($pref['syscachestatus']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
@ -46,28 +55,39 @@ class ecache {
|
||||
// Add 'nomd5' to indicate we are not calculating an md5
|
||||
$CheckTag = '_nomd5';
|
||||
}
|
||||
elseif (isset($this)) {
|
||||
if (defined("THEME")) {
|
||||
if (strpos($CacheTag, "nq_") === 0) {
|
||||
elseif (isset($this))
|
||||
{
|
||||
if (defined("THEME"))
|
||||
{
|
||||
if (strpos($CacheTag, "nq_") === 0)
|
||||
{
|
||||
// We do not care about e_QUERY, so don't use it in the md5 calculation
|
||||
if (!$this->CachenqMD5) {
|
||||
if (!$this->CachenqMD5)
|
||||
{
|
||||
$this->CachenqMD5 = md5(e_BASE.(defined("ADMIN") && ADMIN == true ? "admin" : "").e_LANGUAGE.THEME.USERCLASS_LIST.filemtime(THEME.'theme.php'));
|
||||
}
|
||||
// Add 'nq' to indicate we are not using e_QUERY
|
||||
$CheckTag = '_nq_'.$this->CachenqMD5;
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
// It's a page - need the query in the hash
|
||||
if (!$this->CachePageMD5) {
|
||||
if (!$this->CachePageMD5)
|
||||
{
|
||||
$this->CachePageMD5 = md5(e_BASE.e_LANGUAGE.THEME.USERCLASS_LIST.e_QUERY.filemtime(THEME.'theme.php'));
|
||||
}
|
||||
$CheckTag = '_'.$this->CachePageMD5;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if a custom CachePageMD5 is in use in e_module.php.
|
||||
$CheckTag = ($this->CachePageMD5) ? "_".$this->CachePageMD5 : "";
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$CheckTag = '';
|
||||
}
|
||||
$q = ($syscache ? "S_" : "C_").preg_replace("#\W#", "_", $CacheTag);
|
||||
|
@ -1,32 +1,34 @@
|
||||
<?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/admin_config.php,v $
|
||||
| $Revision: 1.3 $
|
||||
| $Date: 2008-06-27 19:40:54 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin administration - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/admin_config.php,v $
|
||||
* $Revision: 1.4 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
require_once("../../class2.php");
|
||||
if (!getperms("P"))
|
||||
if (!getperms("P") || !plugInstalled('newsfeed'))
|
||||
{
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once(e_ADMIN."auth.php");
|
||||
|
||||
if (e_QUERY) {
|
||||
define('NEWSFEED_LIST_CACHE_TAG', 'nomd5_newsfeeds');
|
||||
|
||||
if (e_QUERY)
|
||||
{
|
||||
list($action, $id) = explode(".", e_QUERY);
|
||||
$id = intval($id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -34,34 +36,60 @@ else
|
||||
$id = FALSE;
|
||||
}
|
||||
|
||||
if(isset($_POST['createFeed']))
|
||||
if (isset($_POST['createFeed']) || isset($_POST['updateFeed']))
|
||||
{
|
||||
if ($_POST['newsfeed_url'] && $_POST['newsfeed_name']) {
|
||||
$name = $tp -> toDB($_POST['newsfeed_name']);
|
||||
$description = $tp -> toDB($_POST['newsfeed_description']);
|
||||
$imgfield = $_POST['newsfeed_image']."::".$_POST['newsfeed_showmenu']."::".$_POST['newsfeed_showmain'];
|
||||
$sql->db_Insert("newsfeed", "0, '$name', '".$_POST['newsfeed_url']."', '', '0', '{$description}', '{$imgfield}', ".$_POST['newsfeed_active'].", ".$_POST['newsfeed_updateint']." ");
|
||||
$message = NFLAN_23;
|
||||
} else {
|
||||
if ($_POST['newsfeed_url'] && $_POST['newsfeed_name'])
|
||||
{
|
||||
$feed['newsfeed_name'] = $tp -> toDB($_POST['newsfeed_name']);
|
||||
$feed['newsfeed_description'] = $tp -> toDB($_POST['newsfeed_description']);
|
||||
$feed['newsfeed_image'] = $tp->toDB($_POST['newsfeed_image'])."::".intval($_POST['newsfeed_showmenu'])."::".intval($_POST['newsfeed_showmain']);
|
||||
$feed['newsfeed_url'] = $tp->toDB($_POST['newsfeed_url']);
|
||||
$feed['newsfeed_active'] = intval($_POST['newsfeed_active']);
|
||||
$feed['newsfeed_updateint'] = intval($_POST['newsfeed_updateint']);
|
||||
$feed['newsfeed_data'] = ''; // Start with blank data feed
|
||||
$feed['newsfeed_timestamp'] = 0; // This should force an immediate update
|
||||
if (isset($_POST['createFeed']))
|
||||
{
|
||||
if ($sql->db_Insert('newsfeed',$feed))
|
||||
{
|
||||
$admin_log->logArrayAll('NEWSFD_01', $feed);
|
||||
$message = NFLAN_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = NFLAN_50.$sql->mySQLerror;
|
||||
}
|
||||
}
|
||||
elseif (isset($_POST['updateFeed']))
|
||||
{
|
||||
if ($sql->db_UpdateArray('newsfeed',$feed, " WHERE newsfeed_id=".intval($_POST['newsfeed_id'])))
|
||||
{
|
||||
$admin_log->logArrayAll('NEWSFD_02', $feed);
|
||||
$message = NFLAN_25;
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = NFLAN_50.$sql->mySQLerror;
|
||||
}
|
||||
}
|
||||
$e107->ecache->clear(NEWSFEED_LIST_CACHE_TAG); // This should actually clear all the newsfeed data in one go
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = NFLAN_24;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_POST['updateFeed']))
|
||||
{
|
||||
$name = $tp -> toDB($_POST['newsfeed_name']);
|
||||
$description = $tp -> toDB($_POST['newsfeed_description']);
|
||||
$imgfield = $_POST['newsfeed_image']."::".$_POST['newsfeed_showmenu']."::".$_POST['newsfeed_showmain'];
|
||||
$sql->db_Update("newsfeed", "newsfeed_name='{$name}', newsfeed_url='".$_POST['newsfeed_url']."', newsfeed_timestamp='0', newsfeed_image='{$imgfield}', newsfeed_description='{$description}', newsfeed_active=".$_POST['newsfeed_active'].", newsfeed_updateint=".$_POST['newsfeed_updateint']." WHERE newsfeed_id=".$_POST['newsfeed_id']);
|
||||
$message = NFLAN_25;
|
||||
}
|
||||
|
||||
if($action == "delete") {
|
||||
$sql->db_Delete("newsfeed", "newsfeed_id=$id");
|
||||
if($action == "delete")
|
||||
{
|
||||
$sql->db_Delete('newsfeed', 'newsfeed_id='.$id);
|
||||
$admin_log->log_event('NEWSFD_03','ID: '.$id,E_LOG_INFORMATIVE,'');
|
||||
$message = NFLAN_40;
|
||||
}
|
||||
|
||||
if (isset($message)) {
|
||||
if (isset($message))
|
||||
{
|
||||
$ns->tablerender("", "<div style='text-align:center'><b>".$message."</b></div>");
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,25 @@
|
||||
<?php
|
||||
/*
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/e_frontpage.php,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
if (!plugInstalled('newsfeed'))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@include_once(e_PLUGIN.'newsfeed/languages/'.e_LANGUAGE.'_frontpage.php');
|
||||
@include_once(e_PLUGIN.'newsfeed/languages/English_frontpage.php');
|
||||
|
25
e107_plugins/newsfeed/e_help.php
Normal file
25
e107_plugins/newsfeed/e_help.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/*
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/e_help.php,v $
|
||||
* $Revision: 1.1 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
if (!plugInstalled('newsfeed'))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@include_lan(e_PLUGIN.'newsfeed/languages/'.e_LANGUAGE.'_admin_newsfeed.php');
|
||||
$ns->tablerender(NFLAN_43, NFLAN_42);
|
||||
?>
|
@ -1,24 +0,0 @@
|
||||
<?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/help.php,v $
|
||||
| $Revision: 1.1.1.1 $
|
||||
| $Date: 2006-12-02 04:35:31 $
|
||||
| $Author: mcfly_e107 $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
@include_once(e_PLUGIN."newsfeed/languages/".e_LANGUAGE.".php");
|
||||
@include_once(e_PLUGIN."newsfeed/languages/English.php");
|
||||
$ns->tablerender(NFLAN_43, NFLAN_42);
|
||||
?>
|
@ -1,20 +1,18 @@
|
||||
<?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/languages/English.php,v $
|
||||
| $Revision: 1.1.1.1 $
|
||||
| $Date: 2006-12-02 04:35:31 $
|
||||
| $Author: mcfly_e107 $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/languages/English_admin_newsfeed.php,v $
|
||||
* $Revision: 1.1 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@ -36,7 +34,7 @@ define("NFLAN_15", "Create Newsfeed");
|
||||
define("NFLAN_16", "Update Newsfeed");
|
||||
define("NFLAN_17", "enter 'default' in box to use the image defined in the feed, to use your own image enter full path, leave blank for no image.");
|
||||
define("NFLAN_18", "Update interval in seconds");
|
||||
define("NFLAN_19", "ie, 3600: newsfeed will update every hour");
|
||||
define("NFLAN_19", "e.g. 3600: newsfeed will update every hour");
|
||||
define("NFLAN_20", "On newsfeed main page only");
|
||||
define("NFLAN_21", "In both menu and newsfeed page");
|
||||
define("NFLAN_22", "choose where you want the newsfeed displayed");
|
||||
@ -46,17 +44,17 @@ define("NFLAN_25", "Newsfeed updated in database.");
|
||||
define("NFLAN_26", "Update Interval");
|
||||
define("NFLAN_27", "Options");
|
||||
define("NFLAN_28", "URL");
|
||||
define("NFLAN_29", "Available newsfeeds");
|
||||
//define("NFLAN_29", "Available newsfeeds");
|
||||
define("NFLAN_30", "Feed name");
|
||||
define("NFLAN_31", "Back to newsfeed list");
|
||||
//define("NFLAN_31", "Back to newsfeed list");
|
||||
define("NFLAN_32", "No feed with that identification number can be found.");
|
||||
define("NFLAN_33", "Date published: ");
|
||||
define("NFLAN_34", "not known");
|
||||
//define("NFLAN_33", "Date published: ");
|
||||
//define("NFLAN_34", "not known");
|
||||
define("NFLAN_35", "posted by ");
|
||||
define("NFLAN_36", "Description");
|
||||
define("NFLAN_37", "short description of feed, enter 'default' to use the description defined in the feed");
|
||||
define("NFLAN_38", "Headlines");
|
||||
define("NFLAN_39", "Details");
|
||||
//define("NFLAN_38", "Headlines");
|
||||
//define("NFLAN_39", "Details");
|
||||
define("NFLAN_40", "Newsfeed deleted");
|
||||
define("NFLAN_41", "No newsfeeds defined yet");
|
||||
|
||||
@ -85,7 +83,17 @@ define("NFLAN_45", "Number of items to show in menu");
|
||||
define("NFLAN_46", "Number of items to show on main page");
|
||||
define("NFLAN_47", "0 or blank to show all");
|
||||
|
||||
define("NFLAN_48", "Unable to save raw data in database.");
|
||||
//define("NFLAN_48", "Unable to save raw data in database.");
|
||||
define("NFLAN_49", "Unable to unserialize rss data - uses non-standard syntax");
|
||||
define('NFLAN_50', 'Write to database failed: ');
|
||||
|
||||
// Admin log messages
|
||||
//===================
|
||||
define('LAN_AL_NEWSFD_01','News Feed created');
|
||||
define('LAN_AL_NEWSFD_02','News Feed updated');
|
||||
define('LAN_AL_NEWSFD_03','News Feed deleted');
|
||||
define('LAN_AL_NEWSFD_04','');
|
||||
define('LAN_AL_NEWSFD_05','');
|
||||
|
||||
|
||||
?>
|
@ -1,13 +1,18 @@
|
||||
<?php
|
||||
/*
|
||||
+ ----------------------------------------------------------------------------+
|
||||
| e107 website system - Language File.
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/languages/English_frontpage.php,v $
|
||||
| $Revision: 1.1.1.1 $
|
||||
| $Date: 2006-12-02 04:35:31 $
|
||||
| $Author: mcfly_e107 $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/languages/English_frontpage.php,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
define("NWSF_FP_1", "News Feeds");
|
||||
|
27
e107_plugins/newsfeed/languages/English_newsfeed.php
Normal file
27
e107_plugins/newsfeed/languages/English_newsfeed.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/*
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/languages/English_newsfeed.php,v $
|
||||
* $Revision: 1.1 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
define("NFLAN_29", "Available newsfeeds");
|
||||
define("NFLAN_31", "Back to newsfeed list");
|
||||
define("NFLAN_33", "Date published: ");
|
||||
define("NFLAN_34", "not known");
|
||||
define("NFLAN_38", "Headlines");
|
||||
define("NFLAN_39", "Details");
|
||||
define("NFLAN_48", "Unable to save raw data in database.");
|
||||
|
||||
|
||||
|
||||
?>
|
@ -1,28 +1,35 @@
|
||||
<?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.2 $
|
||||
| $Date: 2008-05-30 20:36:38 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/newsfeed.php,v $
|
||||
* $Revision: 1.3 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
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_once('../../class2.php');
|
||||
if (!plugInstalled('newsfeed'))
|
||||
{
|
||||
require(e_PLUGIN."newsfeed/newsfeed_functions.php");
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
@include_lan(e_PLUGIN.'newsfeed/languages/'.e_LANGUAGE.'_newsfeed.php');
|
||||
if(!class_exists('newsfeedClass'))
|
||||
{
|
||||
require(e_PLUGIN.'newsfeed/newsfeed_functions.php');
|
||||
}
|
||||
global $newsFeed;
|
||||
if (!is_object($newsFeed))
|
||||
{
|
||||
$newsFeed = new newsfeedClass;
|
||||
}
|
||||
require_once(HEADERF);
|
||||
|
||||
@ -31,7 +38,7 @@ if (file_exists(THEME."newsfeed_template.php"))
|
||||
{
|
||||
require_once(THEME."newsfeed_template.php");
|
||||
}
|
||||
else if(!$NEWSFEED_LIST_START)
|
||||
else if(!varset($NEWSFEED_LIST_START, FALSE))
|
||||
{
|
||||
require_once(e_PLUGIN."newsfeed/templates/newsfeed_template.php");
|
||||
}
|
||||
@ -39,126 +46,36 @@ else if(!$NEWSFEED_LIST_START)
|
||||
$action = FALSE;
|
||||
if(e_QUERY)
|
||||
{
|
||||
list($action, $id) = explode(".", e_QUERY);
|
||||
$id = intval($id);
|
||||
$qs = explode(".", e_QUERY);
|
||||
$action = $qs[0];
|
||||
$id = intval(varset($qs[1], 0));
|
||||
}
|
||||
|
||||
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";
|
||||
$FEEDITEMLINK = str_replace('&', '&', $FEEDITEMLINK);
|
||||
$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;
|
||||
}
|
||||
$data = $newsFeed->newsfeedInfo($id == 0 ? 'all' : $id, 'main');
|
||||
$ns->tablerender($data['title'], $data['text']);
|
||||
require_once(FOOTERF);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/* no action - display feed list ... */
|
||||
if ($feeds = $sql -> db_Select("newsfeed", "*", "newsfeed_active=2 OR newsfeed_active=3"))
|
||||
$newsFeed->readFeedList();
|
||||
if (count($newsFeed->feedList))
|
||||
{
|
||||
$data = "";
|
||||
while ($row = $sql->db_Fetch())
|
||||
foreach ($newsFeed->feedList as $feed)
|
||||
{
|
||||
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);
|
||||
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']);
|
||||
// $FEEDIMAGE = $feed['newsfeed_image']; // This needs splitting up. Not used ATM anyway, so disable for now
|
||||
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_LIST);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,90 +1,234 @@
|
||||
<?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_functions.php,v $
|
||||
| $Revision: 1.4 $
|
||||
| $Date: 2008-05-30 20:36:38 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/newsfeed_functions.php,v $
|
||||
* $Revision: 1.5 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
If cache is disabled, first call to this object reads the complete database of active feeds, including the actual news feed. So all data is available for
|
||||
the rest of the page.
|
||||
|
||||
If cache is enabled, only the feed list (excluding the news feed data) is loaded. Individual news feeds are stored in separate cache files, and loaded on demand. If the
|
||||
feed refresh time has expired, the cache is updated.
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
if(!function_exists("checkUpdate"))
|
||||
if (!plugInstalled('newsfeed'))
|
||||
{
|
||||
function checkUpdate($query = "newsfeed_active=2 OR newsfeed_active=3")
|
||||
return;
|
||||
}
|
||||
|
||||
define('NEWSFEED_LIST_CACHE_TAG', 'nomd5_newsfeeds');
|
||||
define('NEWSFEED_NEWS_CACHE_TAG', 'nomd5_newsfeeds_news_');
|
||||
|
||||
define('NEWSFEED_DEBUG', FALSE);
|
||||
|
||||
|
||||
class newsfeedClass
|
||||
{
|
||||
var $validFeedList; // True once feeds read
|
||||
var $feedList = array(); // List of available feeds read from DB - everything from DB apart from the actual news
|
||||
var $feedIcon = array(); // Pre-calculated link to each feed's icon
|
||||
var $newsList = array(); // Actual news element for each feed
|
||||
var $lastProcessed; // Note time when processFeeds() last run
|
||||
var $truncateCount; // Number of characters to show in feeds in menus
|
||||
var $truncateMore; // '...more' string
|
||||
var $useCache; // Set if cache is available
|
||||
|
||||
// Constructor
|
||||
function newsfeedClass()
|
||||
{
|
||||
global $sql, $tp;
|
||||
require_once(e_HANDLER."xml_class.php");
|
||||
$xml = new xmlClass;
|
||||
require_once(e_HANDLER."magpie_rss.php");
|
||||
global $e107;
|
||||
$this->validFeedList = FALSE;
|
||||
$this->newsList = array();
|
||||
$this->feedList = array();
|
||||
$this->feedIcon = array();
|
||||
$this->lastProcessed = 0;
|
||||
$this->truncateCount = 150; // Set a pref for these two later
|
||||
$this->truncateMore = '...';
|
||||
$this->useCache = $e107->ecache->UserCacheActive; // Have our own local copy - should be faster to access
|
||||
}
|
||||
|
||||
if ($sql -> db_Select("newsfeed", "*", $tp -> toDB($query, true)))
|
||||
// Ensures the feed list is loaded - uses cache if available
|
||||
function readFeedList($force=FALSE)
|
||||
{
|
||||
global $sql;
|
||||
if ($this->validFeedList && !$force)
|
||||
{
|
||||
$feedArray = $sql -> db_getList();
|
||||
foreach($feedArray as $feed)
|
||||
return; // Already got list
|
||||
}
|
||||
if ($this->useCache)
|
||||
{ // Cache enabled - try to read from that first
|
||||
global $e107, $eArrayStorage;
|
||||
if (!$force && $temp = $e107->ecache->retrieve(NEWSFEED_LIST_CACHE_TAG))
|
||||
{
|
||||
extract ($feed);
|
||||
if($newsfeed_timestamp + $newsfeed_updateint < time())
|
||||
$this->feedList = $eArrayStorage->ReadArray($temp);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$fieldList = '*';
|
||||
if ($this->useCache)
|
||||
{ // Get all fields except the actual news
|
||||
$fieldList = 'newsfeed_id, newsfeed_name, newsfeed_url, newsfeed_timestamp, newsfeed_description, newsfeed_image, newsfeed_active, newsfeed_updateint';
|
||||
}
|
||||
if ($sql -> db_Select("newsfeed", $fieldList, '`newsfeed_active` > 0')) // Read in all the newsfeed info on the first go
|
||||
{
|
||||
while ($row = $sql->db_Fetch(MYSQL_ASSOC))
|
||||
{
|
||||
$nfID = $row['newsfeed_id'];
|
||||
if (isset($row['newsfeed_data']))
|
||||
{
|
||||
if($rawData = $xml->getRemoteFile($newsfeed_url))
|
||||
$this->newsList[$nfID]['newsfeed_data'] = $row['newsfeed_data']; // Pull out the actual news - might as well since we're here
|
||||
$this->newsList[$nfID]['newsfeed_timestamp'] = $row['newsfeed_timestamp'];
|
||||
unset($row['newsfeed_data']); // Don't keep this in memory twice!
|
||||
}
|
||||
$this->feedList[$nfID] = $row; // Put the rest into the feed data
|
||||
}
|
||||
$this->validFeedList = TRUE;
|
||||
}
|
||||
if ($this->useCache)
|
||||
{ // Cache enabled - we need to save some updated info
|
||||
$temp = $eArrayStorage->WriteArray($this->feedList, FALSE);
|
||||
$e107->ecache->set(NEWSFEED_LIST_CACHE_TAG,$temp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Returns the info for a single feed - from cache or memory as appropriate. If time expired, updates the feed.
|
||||
function getFeed($feedID, $force = FALSE)
|
||||
{
|
||||
global $tp, $e107, $sql, $eArrayStorage, $admin_log;
|
||||
|
||||
$this->readFeedList(); // Make sure we've got the feed data.
|
||||
|
||||
if (!isset($this->feedList[$feedID]))
|
||||
{
|
||||
if (NEWSFEED_DEBUG) echo "Invalid feed number: {$feedID}<br />";
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ($force || !isset($this->newsList[$feedID]['newsfeed_data']) || !$this->newsList[$feedID]['newsfeed_data'])
|
||||
{ // No data already in memory
|
||||
if ($force || !($this->newsList[$feedID]['newsfeed_data'] = $e107->ecache->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
|
||||
if (NEWSFEED_DEBUG) $admin_log->e_log_event(10,debug_backtrace(),"DEBUG","Newsfeed update","Refresh item: ".$feedID,FALSE,LOG_TO_ROLLING);
|
||||
require_once(e_HANDLER.'xml_class.php');
|
||||
$xml = new xmlClass;
|
||||
require_once(e_HANDLER.'magpie_rss.php');
|
||||
$dbData = array(); // In case we need to update DB
|
||||
if($rawData = $xml->getRemoteFile($this->feedList[$feedID]['newsfeed_url']))
|
||||
{ // Need to update feed
|
||||
$rss = new MagpieRSS( $rawData );
|
||||
list($newsfeed_image, $newsfeed_showmenu, $newsfeed_showmain) = explode("::", $this->feedList[$feedID]['newsfeed_image']);
|
||||
$temp['channel'] = $rss->channel;
|
||||
if (($newsfeed_showmenu == 0) || ($newsfeed_showmain == 0))
|
||||
{
|
||||
$rss = new MagpieRSS( $rawData );
|
||||
$serializedArray = addslashes(serialize($rss));
|
||||
|
||||
$newsfeed_des = FALSE;
|
||||
if($newsfeed_description == "default")
|
||||
{
|
||||
if($rss -> channel['description'])
|
||||
{
|
||||
$newsfeed_des = $tp -> toDB($rss -> channel['description']);
|
||||
}
|
||||
else if($rss -> channel['tagline'])
|
||||
{
|
||||
$newsfeed_des = $tp -> toDB($rss -> channel['tagline']);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$sql->db_Update('newsfeed', "newsfeed_data='{$serializedArray}', newsfeed_timestamp=".time().($newsfeed_des ? ", newsfeed_description='{$newsfeed_des}'": "")." WHERE newsfeed_id=".intval($newsfeed_id)))
|
||||
{
|
||||
echo NFLAN_48."<br /><br />".$serializedArray;
|
||||
}
|
||||
$temp['items'] = $rss->items; // Unlimited items
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $xml -> error;
|
||||
$temp['items'] = array_slice($rss->items, 0, max($newsfeed_showmenu, $newsfeed_showmain)); // Limited items
|
||||
}
|
||||
|
||||
$newsfeed_des = FALSE;
|
||||
if($this->feedList[$feedID]['newsfeed_description'] == 'default')
|
||||
{
|
||||
$temp['newsfeed_description'] = 'default'; // This prevents db writes if no better data found
|
||||
if($rss->channel['description'])
|
||||
{
|
||||
$newsfeed_des = $tp -> toDB($rss->channel['description']);
|
||||
$temp['newsfeed_description'] = $newsfeed_des;
|
||||
}
|
||||
else if($rss->channel['tagline'])
|
||||
{
|
||||
$newsfeed_des = $tp -> toDB($rss -> channel['tagline']);
|
||||
$temp['newsfeed_description'] = $newsfeed_des;
|
||||
}
|
||||
|
||||
if ($temp['newsfeed_description'] != $this->feedList[$feedID]['newsfeed_description'])
|
||||
{ // Need to write updated feed name to DB
|
||||
$this->feedList[$feedID]['newsfeed_description'] = $temp['newsfeed_description'];
|
||||
$dbData['newsfeed_description'] = $temp['newsfeed_description'];
|
||||
if ($this->useCache)
|
||||
{
|
||||
$e107->ecache->clear(NEWSFEED_LIST_CACHE_TAG); // Clear the newsfeed cache so its re-read next time
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($newsfeed_image == 'default')
|
||||
{
|
||||
$temp['newsfeed_image_link'] = "<a href='".$rss->image['link']."' rel='external'><img src='".$rss->image['url']."' alt='".$rss->image['title']."' style='border: 0; vertical-align: middle;' /></a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$temp['newsfeed_image_link'] = "<img src='".$this->feedList[$feedID]['newsfeed_image']."' alt='' />";
|
||||
}
|
||||
$serializedArray = $eArrayStorage->WriteArray($temp, FALSE);
|
||||
|
||||
$now = time();
|
||||
$this->newsList[$feedID]['newsfeed_data'] = $serializedArray;
|
||||
$this->newsList[$feedID]['newsfeed_timestamp'] = $now;
|
||||
|
||||
if ($this->useCache)
|
||||
{
|
||||
$e107->ecache->set(NEWSFEED_NEWS_CACHE_TAG.$feedID,$serializedArray);
|
||||
}
|
||||
else
|
||||
{
|
||||
$dbData['newsfeed_data'] =addslashes($serializedArray);
|
||||
$dbData['newsfeed_timestamp'] = $now;
|
||||
}
|
||||
if (count($dbData))
|
||||
{ // Only write the feed data to DB if not using cache. Write description if changed
|
||||
if(FALSE === $sql->db_UpdateArray('newsfeed', $dbData, " WHERE newsfeed_id=".$feedID))
|
||||
{
|
||||
if (NEWSFEED_DEBUG) echo NFLAN_48."<br /><br />".var_dump($dbData);
|
||||
}
|
||||
}
|
||||
unset($rss);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (NEWSFEED_DEBUG) echo $xml -> error;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $eArrayStorage->ReadArray($this->newsList[$feedID]['newsfeed_data']);
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists("newsfeed_info"))
|
||||
{
|
||||
function newsfeed_info($which, $where = 'main')
|
||||
|
||||
// Return text for the required news feeds (loads info as necessary)
|
||||
// Uses different templates for main and menu areas
|
||||
function newsfeedInfo($which, $where = 'main')
|
||||
{
|
||||
global $tp, $sql;
|
||||
global $NEWSFEED_MAIN_START, $NEWSFEED_MAIN, $NEWSFEED_MAIN_END;
|
||||
global $NEWSFEED_MENU_START, $NEWSFEED_MENU, $NEWSFEED_MENU_END;
|
||||
|
||||
if($which == 'all')
|
||||
{
|
||||
$qry = "newsfeed_active=1 OR newsfeed_active=3";
|
||||
$filter = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "newsfeed_id = ".intval($which);
|
||||
$filter = intval($which);
|
||||
}
|
||||
|
||||
$text = "";
|
||||
checkUpdate($qry);
|
||||
$this->readFeedList(); // Make sure we've got all the news feeds loaded
|
||||
|
||||
/* get template */
|
||||
if (file_exists(THEME."newsfeed_menu_template.php"))
|
||||
@ -96,89 +240,102 @@ if(!function_exists("newsfeed_info"))
|
||||
include(e_PLUGIN."newsfeed/templates/newsfeed_menu_template.php");
|
||||
}
|
||||
|
||||
if ($feeds = $sql -> db_Select("newsfeed", "*", $qry))
|
||||
foreach($this->feedList as $nfID => $feed)
|
||||
{
|
||||
while($row = $sql->db_Fetch())
|
||||
if (($filter == 0) || ($filter == $feed['newsfeed_id']))
|
||||
{
|
||||
|
||||
extract ($row);
|
||||
list($newsfeed_image, $newsfeed_showmenu, $newsfeed_showmain) = explode("::", $newsfeed_image);
|
||||
$numtoshow = ($where == 'main' ? $newsfeed_showmain : $newsfeed_showmenu);
|
||||
$numtoshow = (intval($numtoshow) > 0 ? $numtoshow : 999);
|
||||
$rss = unserialize($newsfeed_data);
|
||||
|
||||
$FEEDNAME = "<a href='".e_SELF."?show.$newsfeed_id'>$newsfeed_name</a>";
|
||||
$FEEDDESCRIPTION = $newsfeed_description;
|
||||
if($newsfeed_image == "default")
|
||||
if (($rss = $this->getFeed($nfID))) // Call ensures that feed is updated if necessary
|
||||
{
|
||||
if($file = fopen ($rss -> image['url'], "r"))
|
||||
list($newsfeed_image, $newsfeed_showmenu, $newsfeed_showmain) = explode("::", $feed['newsfeed_image']);
|
||||
$numtoshow = intval($where == 'main' ? $newsfeed_showmain : $newsfeed_showmenu);
|
||||
$numtoshow = ($numtoshow > 0 ? $numtoshow : 999);
|
||||
|
||||
$FEEDNAME = "<a href='".e_SELF."?show.{$feed['newsfeed_id']}'>{$feed['newsfeed_name']}</a>";
|
||||
$FEEDDESCRIPTION = $feed['newsfeed_description'];
|
||||
$FEEDIMAGE = $rss['newsfeed_image_link'];
|
||||
$FEEDLANGUAGE = $rss['channel']['language'];
|
||||
|
||||
if($rss['channel']['lastbuilddate'])
|
||||
{
|
||||
/* 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>";
|
||||
$pubbed = $rss['channel']['lastbuilddate'];
|
||||
}
|
||||
else if($rss['channel']['dc']['date'])
|
||||
{
|
||||
$pubbed = $rss['channel']['dc']['date'];
|
||||
}
|
||||
else
|
||||
{
|
||||
/* remote image doesn't exist - ghah! */
|
||||
$FEEDIMAGE = "";
|
||||
$pubbed = NFLAN_34;
|
||||
}
|
||||
|
||||
$FEEDLASTBUILDDATE = NFLAN_33.$pubbed;
|
||||
$FEEDCOPYRIGHT = $tp -> toHTML($rss['channel']['copyright'], FALSE);
|
||||
$FEEDTITLE = "<a href='".$rss['channel']['link']."' rel='external'>".$rss['channel']['title']."</a>";
|
||||
$FEEDLINK = $rss['channel']['link'];
|
||||
if($newsfeed_active == 2 or $newsfeed_active == 3)
|
||||
{
|
||||
$LINKTOMAIN = "<a href='".e_PLUGIN."newsfeed/newsfeed.php?show.{$newsfeed_id}'>".NFLAN_39."</a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$LINKTOMAIN = "";
|
||||
}
|
||||
|
||||
$data = "";
|
||||
|
||||
$numtoshow = min($numtoshow, count($rss['items']));
|
||||
$i = 0;
|
||||
while($i < $numtoshow)
|
||||
{
|
||||
$item = $rss['items'][$i];
|
||||
$FEEDITEMLINK = "<a href='".$item['link']."' rel='external'>".$tp -> toHTML($item['title'], FALSE)."</a>\n";
|
||||
$FEEDITEMLINK = str_replace('&', '&', $FEEDITEMLINK);
|
||||
$feeditemtext = preg_replace("#\[[a-z0-9=]+\]|\[\/[a-z]+\]|\{[A-Z_]+\}#si", "", strip_tags($item['description']));
|
||||
$FEEDITEMCREATOR = $tp -> toHTML($item['author'], FALSE);
|
||||
if ($where == 'main')
|
||||
{
|
||||
if($NEWSFEED_COLLAPSE)
|
||||
{
|
||||
$FEEDITEMLINK = "<a href='#' onclick='expandit(this)'>".$tp -> toHTML($item['title'], FALSE)."</a>
|
||||
<div style='display:none' >
|
||||
";
|
||||
$FEEDITEMTEXT = preg_replace("/[.*]/", "", $tp -> toHTML($item['description'], FALSE))."
|
||||
<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'], FALSE)."</a>\n";
|
||||
$FEEDITEMLINK = str_replace('&', '&', $FEEDITEMLINK);
|
||||
$feeditemtext = preg_replace("#\[[a-z0-9=]+\]|\[\/[a-z]+\]|\{[A-Z_]+\}#si", "", $item['description']);
|
||||
$FEEDITEMTEXT = $tp -> toHTML($feeditemtext, FALSE)."\n";
|
||||
}
|
||||
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->truncateCount)
|
||||
{
|
||||
$FEEDITEMTEXT = $tp->text_truncate($feeditemtext, $this->truncateCount, $this->truncateMore);
|
||||
}
|
||||
else
|
||||
{
|
||||
$FEEDITEMTEXT = ''; // Might just want title
|
||||
}
|
||||
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
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);
|
||||
$FEEDTITLE = "<a href='".$rss -> channel['link']."' rel='external'>".$rss -> channel['title']."</a>";
|
||||
$FEEDLINK = $rss -> channel['link'];
|
||||
if($newsfeed_active == 2 or $newsfeed_active == 3)
|
||||
{
|
||||
$LINKTOMAIN = "<a href='".e_PLUGIN."newsfeed/newsfeed.php?show.$newsfeed_id'>".NFLAN_39."</a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$LINKTOMAIN = "";
|
||||
}
|
||||
|
||||
$data = "";
|
||||
|
||||
$amount = ($items) ? $items : $numtoshow;
|
||||
|
||||
$item_total = array_slice($rss->items, 0, $amount);
|
||||
|
||||
$i = 0;
|
||||
while($i < $numtoshow && $item_total[$i])
|
||||
{
|
||||
$item = $item_total[$i];
|
||||
$FEEDITEMLINK = "<a href='".$item['link']."' rel='external'>".$tp -> toHTML($item['title'], TRUE)."</a>\n";
|
||||
$FEEDITEMLINK = str_replace('&', '&', $FEEDITEMLINK);
|
||||
$feeditemtext = preg_replace("#\[[a-z0-9=]+\]|\[\/[a-z]+\]|\{[A-Z_]+\}#si", "", strip_tags($item['description']));
|
||||
$FEEDITEMTEXT = $tp->text_truncate($feeditemtext, $truncate, $truncate_string);
|
||||
|
||||
$FEEDITEMCREATOR = $tp -> toHTML($item['author'], TRUE);
|
||||
$data .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($where == 'main')
|
||||
{
|
||||
$BACKLINK = "<a href='".e_SELF."'>".NFLAN_31."</a>";
|
||||
$text = preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN_START).$data.preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MAIN_END);
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU_START) . $data . preg_replace("/\{(.*?)\}/e", '$\1', $NEWSFEED_MENU_END);
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,41 @@
|
||||
<?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_menu.php,v $
|
||||
| $Revision: 1.1.1.1 $
|
||||
| $Date: 2006-12-02 04:35:31 $
|
||||
| $Author: mcfly_e107 $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/newsfeed_menu.php,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
if (!plugInstalled('newsfeed'))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
include_once(e_PLUGIN."newsfeed/newsfeed_functions.php");
|
||||
$info = newsfeed_info('all', 'menu');
|
||||
@include_lan(e_PLUGIN.'newsfeed/languages/'.e_LANGUAGE.'_newsfeed.php');
|
||||
|
||||
if(!class_exists('newsfeedClass'))
|
||||
{
|
||||
require_once(e_PLUGIN.'newsfeed/newsfeed_functions.php');
|
||||
}
|
||||
global $newsFeed;
|
||||
if (!is_object($newsFeed))
|
||||
{
|
||||
$newsFeed = new newsfeedClass;
|
||||
}
|
||||
$info = $newsFeed->newsfeedInfo('all', 'menu');
|
||||
if($info['text'])
|
||||
{
|
||||
$ns->tablerender($info['title'], $info['text']);
|
||||
}
|
||||
|
||||
|
||||
?>
|
@ -1,79 +0,0 @@
|
||||
<?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/plugin.php,v $
|
||||
| $Revision: 1.2 $
|
||||
| $Date: 2008-04-29 19:44:25 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
@include_once(e_PLUGIN."newsfeed/languages/".e_LANGUAGE.".php");
|
||||
@include_once(e_PLUGIN."newsfeed/languages/English.php");
|
||||
|
||||
// Plugin info -------------------------------------------------------------------------------------------------------
|
||||
$eplug_name = "NFLAN_01";
|
||||
$eplug_version = "2.0";
|
||||
$eplug_author = "Steve Dunstan (jalist)";
|
||||
$eplug_url = "http://e107.org";
|
||||
$eplug_email = "jalist@e107.org";
|
||||
$eplug_description = NFLAN_02;
|
||||
$eplug_compatible = "e107v0.7+";
|
||||
$eplug_readme = "";
|
||||
|
||||
// Name of the plugin's folder -------------------------------------------------------------------------------------
|
||||
$eplug_folder = "newsfeed";
|
||||
|
||||
// Name of menu item for plugin ----------------------------------------------------------------------------------
|
||||
$eplug_menu_name = "newsfeed_menu";
|
||||
|
||||
// Name of the admin configuration file --------------------------------------------------------------------------
|
||||
$eplug_conffile = "admin_config.php";
|
||||
|
||||
// Icon image and caption text ------------------------------------------------------------------------------------
|
||||
$eplug_icon = $eplug_folder."/images/newsfeed_32.png";
|
||||
$eplug_icon_small = $eplug_folder."/images/newsfeed_16.png";
|
||||
$eplug_caption = NFLAN_03;
|
||||
|
||||
// List of preferences -----------------------------------------------------------------------------------------------
|
||||
$eplug_prefs = array();
|
||||
|
||||
// List of table names -----------------------------------------------------------------------------------------------
|
||||
$eplug_table_names = array("newsfeed");
|
||||
|
||||
// List of sql requests to create tables -----------------------------------------------------------------------------
|
||||
$eplug_tables = array(
|
||||
"CREATE TABLE ".MPREFIX."newsfeed (
|
||||
newsfeed_id int(10) unsigned NOT NULL auto_increment,
|
||||
newsfeed_name varchar(150) NOT NULL default '',
|
||||
newsfeed_url varchar(250) NOT NULL default '',
|
||||
newsfeed_data longtext NOT NULL,
|
||||
newsfeed_timestamp int(10) unsigned NOT NULL default '0',
|
||||
newsfeed_description text NOT NULL,
|
||||
newsfeed_image varchar(100) NOT NULL default '',
|
||||
newsfeed_active tinyint(1) unsigned NOT NULL default '0',
|
||||
newsfeed_updateint int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (newsfeed_id)
|
||||
) TYPE=MyISAM;");
|
||||
|
||||
// Create a link in main menu (yes=TRUE, no=FALSE) -------------------------------------------------------------
|
||||
$eplug_link = TRUE;
|
||||
$eplug_link_name = NFLAN_01;
|
||||
$eplug_link_url = e_PLUGIN."newsfeed/newsfeed.php";
|
||||
$eplug_link_perms = "Everyone"; // Guest, Member, Admin, Everyone
|
||||
|
||||
// Text to display after plugin successfully installed ------------------------------------------------------------------
|
||||
$eplug_done = NFLAN_04; // "To activate please go to your menus screen and select the pm_menu into one of your menu areas.";
|
||||
|
||||
?>
|
22
e107_plugins/newsfeed/plugin.xml
Normal file
22
e107_plugins/newsfeed/plugin.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<!-- Copyright e107 Inc e107.org, Licensed under GNU GPL (http://www.gnu.org/licenses/gpl.txt) -->
|
||||
<!-- $Id: plugin.xml,v 1.1 2008-12-20 10:39:29 e107steved Exp $ -->
|
||||
|
||||
<e107Plugin name="NFLAN_01" version="2.0" compatibility="0.8" installRequired="true">
|
||||
<author name="Steve Dunstan (jalist)" url="http://e107.org" email="jalist@e107.org" />
|
||||
<description>NFLAN_02</description>
|
||||
<folder>newsfeed</folder>
|
||||
<copyright>Copyright e107 Inc e107.org, Licensed under GPL (http://www.gnu.org/licenses/gpl.txt)</copyright>
|
||||
<logLanguageFile filename="languages/--LAN--_admin_newsfeed.php" />
|
||||
<administration>
|
||||
<configFile>admin_config.php</configFile>
|
||||
<icon>images/newsfeed_32.png</icon>
|
||||
<iconSmall>images/newsfeed_16.png</iconSmall>
|
||||
<caption>Configure newsfeeds</caption>
|
||||
<installDone>NFLAN_02</installDone>
|
||||
</administration>
|
||||
<menuLink name="Newsfeeds" url="newsfeed/newsfeed.php" />
|
||||
<mainPrefs>
|
||||
</mainPrefs>
|
||||
</e107Plugin>
|
@ -1,20 +1,18 @@
|
||||
<?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/templates/newsfeed_menu_template.php,v $
|
||||
| $Revision: 1.1.1.1 $
|
||||
| $Date: 2006-12-02 04:35:31 $
|
||||
| $Author: mcfly_e107 $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/templates/newsfeed_menu_template.php,v $
|
||||
* $Revision: 1.2 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
@ -1,20 +1,18 @@
|
||||
<?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/templates/newsfeed_template.php,v $
|
||||
| $Revision: 1.2 $
|
||||
| $Date: 2008-05-30 20:36:39 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
* e107 website system
|
||||
*
|
||||
* Copyright (C) 2001-2008 e107 Inc (e107.org)
|
||||
* Released under the terms and conditions of the
|
||||
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||
*
|
||||
* Plugin - newsfeeds
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsfeed/templates/newsfeed_template.php,v $
|
||||
* $Revision: 1.3 $
|
||||
* $Date: 2008-12-20 10:39:29 $
|
||||
* $Author: e107steved $
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user