1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-10 16:46:50 +02:00

Display next/prev on extended news - thanks nlstart

This commit is contained in:
e107steved
2010-01-06 20:14:45 +00:00
parent 09129bbbd3
commit abfd3215da
3 changed files with 66 additions and 35 deletions

View File

@@ -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 .= "<div style='text-align:center;'><a href='".e_SELF."' alt=''>".LAN_NEWS_84."</a></div>";
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'].="<div style='text-align:center;'><a href='".e_SELF."?cat.".$id."'>".LAN_NEWS_85."</a> &nbsp; <a href='".e_SELF."'>".LAN_NEWS_84."</a></div>";
$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'].="<div style='float:right;'><a href='".e_SELF."?extend.".$prev_news['news_id']."'>".LAN_NEWS_86."</a></div>";
}
$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'].="<div style='float:left;'><a href='".e_SELF."?extend.".$next_news['news_id']."'>".LAN_NEWS_87."</a></div>";
}
$news['news_extended'].="<br /><br />";
}
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);