From abfd3215da06af724ef452b04b030f671a120e65 Mon Sep 17 00:00:00 2001 From: e107steved Date: Wed, 6 Jan 2010 20:14:45 +0000 Subject: [PATCH] Display next/prev on extended news - thanks nlstart --- e107_admin/cron.php | 7 ++-- e107_languages/English/lan_news.php | 37 ++++++++++--------- news.php | 57 ++++++++++++++++++++++------- 3 files changed, 66 insertions(+), 35 deletions(-) diff --git a/e107_admin/cron.php b/e107_admin/cron.php index ffe3562fa..2b22dce16 100644 --- a/e107_admin/cron.php +++ b/e107_admin/cron.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org/). | | $Source: /cvs_backup/e107_0.8/e107_admin/cron.php,v $ -| $Revision: 1.26 $ -| $Date: 2010-01-04 21:35:37 $ +| $Revision: 1.27 $ +| $Date: 2010-01-06 20:12:07 $ | $Author: e107steved $ +----------------------------------------------------------------------------+ */ @@ -21,7 +21,7 @@ * * @package e107 * @subpackage admin - * @version $Revision: 1.26 $ + * @version $Revision: 1.27 $ * @author $Author: e107steved $ * Admin-related functions for cron (Scheduler) management @@ -191,7 +191,6 @@ function cronName($classname,$method) function cronExecute($class_func) { - echo "Execute: {$class_func}
"; //TODO LANs list($class_name,$method_name) = explode("__",$class_func); $mes = e107::getMessage(); diff --git a/e107_languages/English/lan_news.php b/e107_languages/English/lan_news.php index 40aaec509..e8648a103 100644 --- a/e107_languages/English/lan_news.php +++ b/e107_languages/English/lan_news.php @@ -4,9 +4,9 @@ | e107 website system - Language File. | | $Source: /cvs_backup/e107_0.8/e107_languages/English/lan_news.php,v $ -| $Revision: 1.2 $ -| $Date: 2009-09-14 18:22:16 $ -| $Author: secretr $ +| $Revision: 1.3 $ +| $Date: 2010-01-06 20:12:09 $ +| $Author: e107steved $ +----------------------------------------------------------------------------+ */ define("PAGE_NAME", "News"); @@ -14,12 +14,10 @@ define("PAGE_NAME", "News"); define("LAN_NEWS_1", "News for specific members only"); define("LAN_NEWS_2", "You are not allowed to see this news"); -//define("LAN_NEWS_3", "Please delete install.php from your server"); -//define("LAN_NEWS_4", "if you do not there is a potential security risk to your website"); -define("LAN_NEWS_5", "Error! Was unable to update news item into database!"); -define("LAN_NEWS_6", "News entered into database."); -define("LAN_NEWS_7", "Error! Was unable to enter news item into database!"); -define("LAN_NEWS_8", "News entered into database for all languages. ID: "); +//define("LAN_NEWS_5", "Error! Was unable to update news item into database!"); +//define("LAN_NEWS_6", "News entered into database."); +//define("LAN_NEWS_7", "Error! Was unable to enter news item into database!"); +//define("LAN_NEWS_8", "News entered into database for all languages. ID: "); define("LAN_NEWS_9", "Title only is set - only the news title will be shown
"); define("LAN_NEWS_10", "This news post is inactive (It will be not shown on front page). "); define("LAN_NEWS_11", "This news post is active (it will be shown on front page). "); @@ -29,21 +27,24 @@ define("LAN_NEWS_14", "
Activation period: "); define("LAN_NEWS_15", "Body length: "); define("LAN_NEWS_16", "b. Extended length: "); define("LAN_NEWS_17", "b."); -define("LAN_NEWS_18", "Info:"); +define("LAN_NEWS_18", "Info:"); // May not be required define("LAN_NEWS_19", "Now"); -define("LAN_NEWS_20", "News updated in database for the following language: "); -define("LAN_NEWS_21", "News updated in database."); +//define("LAN_NEWS_20", "News updated in database for the following language: "); +//define("LAN_NEWS_21", "News updated in database."); // define("LAN_NEWS_22", "Go to page: "); define("LAN_NEWS_23", "News Categories"); define("LAN_NEWS_24", "create pdf of this news item"); define("LAN_NEWS_25", "Edit"); - -define("LAN_NEWS_82", "News - Category"); -define("LAN_NEWS_83", "No news items at the moment - please check back soon."); -define("LAN_NEWS_84", "News Items"); +define('LAN_NEWS_31', 'Sticky news item'); // Added +define('LAN_NEWS_82', 'News - Category'); +define('LAN_NEWS_83', 'No news items at the moment - please check back soon.'); +define('LAN_NEWS_84', 'Back to news overview'); +define('LAN_NEWS_85', 'Back to category overview'); +define('LAN_NEWS_86', 'Older News'); +define('LAN_NEWS_87', 'Newer News'); define("LAN_NEWS_99", "Comments"); -define("LAN_NEWS_100", "On"); -define("LAN_NEWS_307", "Total posts in this category: "); +//define("LAN_NEWS_100", "On"); +//define("LAN_NEWS_307", "Total posts in this category: "); define("LAN_NEWS_462", "No news items for specified month"); ?> \ No newline at end of file diff --git a/news.php b/news.php index 556912fcd..c73443834 100644 --- a/news.php +++ b/news.php @@ -9,14 +9,14 @@ * News frontend * * $Source: /cvs_backup/e107_0.8/news.php,v $ - * $Revision: 1.26 $ - * $Date: 2009-12-30 21:04:11 $ + * $Revision: 1.27 $ + * $Date: 2010-01-06 20:12:09 $ * $Author: e107steved $ */ /** * @package e107 * @subpackage user - * @version $Id: news.php,v 1.26 2009-12-30 21:04:11 e107steved Exp $; + * @version $Id: news.php,v 1.27 2010-01-06 20:12:09 e107steved Exp $; * * News front page display */ @@ -35,23 +35,25 @@ if (isset($NEWSHEADER)) exit; } +include_lan(e_LANGUAGEDIR.e_LANGUAGE.'/lan_news.php'); // Temporary + $cacheString = 'news.php_default_'; $action = ''; $sub_action = ''; -$order = "news_datestamp"; +$order = 'news_datestamp'; $newsfrom = 0; -if (!defined("ITEMVIEW")) +if (!defined('ITEMVIEW')) { - define("ITEMVIEW", varset($pref['newsposts'],15)); + define('ITEMVIEW', varset($pref['newsposts'],15)); } if (e_QUERY) { $tmp = e107::getUrl()->parseRequest('core:news', 'main', urldecode(e_QUERY)); $action = $tmp[0]; // At least one parameter here - $sub_action = varset($tmp[1],''); // Usually a numeric category, but don't presume yet - $id = varset($tmp[2],''); // ID of specific news item where required + $sub_action = varset($tmp[1],''); // Usually a numeric category, or numeric news item number, but don't presume yet +// $id = varset($tmp[2],''); // ID of specific news item where required $newsfrom = intval(varset($tmp[2],0)); // Item number for first item on multi-page lists $cacheString = 'news.php_'.e_QUERY; } @@ -118,7 +120,7 @@ if ($action == 'cat' || $action == 'all') if ($action == 'cat' && $category != 0) { $gen = new convert; - $sql->db_Select("news_category", "*", "category_id='$category'"); + $sql->db_Select("news_category", "*", "category_id='{$category}'"); $row = $sql->db_Fetch(); extract($row); // still required for the table-render. :( } @@ -225,7 +227,7 @@ if ($action == 'cat' || $action == 'all') { $NEWSLISTTITLE = str_replace("{NEWSCATEGORY}",$tp->toHTML($category_name,FALSE,'TITLE'),$NEWSLISTTITLE); } - + $text .= "
".LAN_NEWS_84."
"; ob_start(); $ns->tablerender($NEWSLISTTITLE, $text); $cache_data = ob_get_flush(); @@ -239,12 +241,12 @@ if ($action == 'cat' || $action == 'all') //------------------------------------------------------ // DISPLAY SINGLE ITEM IN EXTENDED FORMAT HERE //------------------------------------------------------ -if ($action == "extend") +if ($action == 'extend') { // --> Cache if($newsCachedPage = checkCache($cacheString)) { require_once(HEADERF); - renderCache($newsCachedPage, TRUE); + renderCache($newsCachedPage, TRUE); // This exits if cache used } // <-- Cache @@ -283,6 +285,7 @@ if ($action == "extend") if ($sql->db_Select_gen($query)) { $news = $sql->db_Fetch(); + $id = $news['news_category']; // Use category of this news item to generate next/prev links //***NEW [SecretR] - comments handled inside now e107::setRegistry('news/page_allow_comments', !$news['news_allow_comments']); @@ -309,6 +312,34 @@ if ($action == "extend") define("e_PAGETITLE",$news['news_title']); }*/ + if (TRUE) + { + /* Added by nlStart - show links to previous and next news */ + if (!isset($news['news_extended'])) $news['news_extended'] = ''; + $news['news_extended'].="
".LAN_NEWS_85."   ".LAN_NEWS_84."
"; + $prev_query = "SELECT news_id, news_title FROM `#news` + WHERE `news_id` < ".intval($sub_action)." AND `news_category`=".$id." AND `news_class` REGEXP '".e_CLASS_REGEXP."' + AND NOT (`news_class` REGEXP ".$nobody_regexp.") + AND `news_start` < ".time()." AND (`news_end`=0 || `news_end` > ".time().') ORDER BY `news_id` DESC LIMIT 1'; + $sql->db_Select_gen($prev_query); + $prev_news = $sql->db_Fetch(); + if ($prev_news) + { + $news['news_extended'].="
".LAN_NEWS_86."
"; + } + $next_query = "SELECT news_id, news_title FROM `#news` AS n + WHERE `news_id` > ".intval($sub_action)." AND `news_category` = ".$id." AND `news_class` REGEXP '".e_CLASS_REGEXP."' + AND NOT (`news_class` REGEXP ".$nobody_regexp.") + AND `news_start` < ".time()." AND (`news_end`=0 || `news_end` > ".time().') ORDER BY `news_id` ASC LIMIT 1'; + $sql->db_Select_gen($next_query); + $next_news = $sql->db_Fetch(); + if ($next_news) + { + $news['news_extended'].="
".LAN_NEWS_87."
"; + } + $news['news_extended'].="

"; + } + require_once(HEADERF); $param = array(); @@ -341,7 +372,7 @@ if ($action == "extend") // Show title, author, first part of news item... if (empty($order)) { - $order = "news_datestamp"; + $order = 'news_datestamp'; } $order = $tp -> toDB($order, true);