mirror of
https://github.com/e107inc/e107.git
synced 2025-08-07 23:26:41 +02:00
News Breadcrumb added for Magic Shortcode: {---BREADCRUMB---}
This commit is contained in:
@@ -12,6 +12,8 @@
|
|||||||
define("PAGE_NAME", "News");
|
define("PAGE_NAME", "News");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
define("LAN_NEWS_1", "News for specific members only");
|
define("LAN_NEWS_1", "News for specific members only");
|
||||||
define("LAN_NEWS_2", "You are not allowed to see this news");
|
define("LAN_NEWS_2", "You are not allowed to see this news");
|
||||||
//define("LAN_NEWS_5", "Error! Was unable to update news item into database!");
|
//define("LAN_NEWS_5", "Error! Was unable to update news item into database!");
|
||||||
@@ -52,4 +54,4 @@ define("LAN_NEWS_307", "Total posts in this category: ");
|
|||||||
|
|
||||||
define("LAN_NEWS_308", "Perhaps you're looking for one of the news items below?");
|
define("LAN_NEWS_308", "Perhaps you're looking for one of the news items below?");
|
||||||
|
|
||||||
?>
|
define("LAN_NEWS_309", "Tag");
|
||||||
|
@@ -38,7 +38,10 @@ class news_front
|
|||||||
private $cacheRefreshTime = false;
|
private $cacheRefreshTime = false;
|
||||||
private $caption = null;
|
private $caption = null;
|
||||||
private $templateKey = null;
|
private $templateKey = null;
|
||||||
private $categorySEF = null;
|
|
||||||
|
private $currentRow = array();
|
||||||
|
private $dayMonth = null;
|
||||||
|
private $tagAuthor = null;
|
||||||
// private $interval = 1;
|
// private $interval = 1;
|
||||||
|
|
||||||
function __construct()
|
function __construct()
|
||||||
@@ -68,11 +71,72 @@ class news_front
|
|||||||
$this->setActions();
|
$this->setActions();
|
||||||
$this->setRoute();
|
$this->setRoute();
|
||||||
$this->detect();
|
$this->detect();
|
||||||
|
$this->setBreadcrumb();
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function setBreadcrumb()
|
||||||
|
{
|
||||||
|
|
||||||
|
$breadcrumb = array();
|
||||||
|
|
||||||
|
$breadcrumb[] = array('text'=> PAGE_NAME, 'url'=>e107::url('news', 'index'));
|
||||||
|
|
||||||
|
$categoryName = e107::getParser()->toHTML($this->currentRow['category_name'],true, 'TITLE');
|
||||||
|
|
||||||
|
switch($this->route)
|
||||||
|
{
|
||||||
|
case "news/list/all":
|
||||||
|
case "news/list/item":
|
||||||
|
$breadcrumb[0]['url'] = null;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "news/view":
|
||||||
|
|
||||||
|
$itemName = e107::getParser()->toHTML($this->currentRow['news_title'],true, 'TITLE');
|
||||||
|
|
||||||
|
$breadcrumb[] = array('text'=> $categoryName, 'url'=>e107::getUrl()->create('news/list/category', $this->currentRow));
|
||||||
|
$breadcrumb[] = array('text'=> $itemName, 'url'=> null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 'news/list/category':
|
||||||
|
case 'news/list/short':
|
||||||
|
$breadcrumb[] = array('text'=> $categoryName, 'url'=>null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'news/list/tag':
|
||||||
|
$breadcrumb[] = array('text'=> defset('LAN_NEWS_309', "Tag"), 'url'=>null);
|
||||||
|
$breadcrumb[] = array('text'=> $this->tagAuthor, 'url'=>null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 'news/list/author':
|
||||||
|
$breadcrumb[] = array('text'=> LAN_AUTHOR, 'url'=>null);
|
||||||
|
$breadcrumb[] = array('text'=> $this->tagAuthor, 'url'=>null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'news/list/month':
|
||||||
|
case 'news/list/day':
|
||||||
|
$breadcrumb[] = array('text'=> LAN_DATE, 'url'=>null);
|
||||||
|
$breadcrumb[] = array('text' => $this->dayMonth, 'url'=>null);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if(ADMIN)
|
||||||
|
{
|
||||||
|
$breadcumb[] = array('text'=> "Missing News breadcrumb for route: ".$this->route);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
e107::breadcrumb($breadcrumb);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private function detect()
|
private function detect()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -494,8 +558,12 @@ class news_front
|
|||||||
|
|
||||||
$title = e107::getParser()->toDate($unix, $format);
|
$title = e107::getParser()->toDate($unix, $format);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$title = strip_tags($title);
|
$title = strip_tags($title);
|
||||||
|
|
||||||
|
$this->dayMonth = $title;
|
||||||
|
|
||||||
if(!defined('e_PAGETITLE'))
|
if(!defined('e_PAGETITLE'))
|
||||||
{
|
{
|
||||||
define('e_PAGETITLE', $title );
|
define('e_PAGETITLE', $title );
|
||||||
@@ -809,7 +877,9 @@ class news_front
|
|||||||
AND n.news_class REGEXP '".e_CLASS_REGEXP."' AND NOT (n.news_class REGEXP ".$this->nobody_regexp.")
|
AND n.news_class REGEXP '".e_CLASS_REGEXP."' AND NOT (n.news_class REGEXP ".$this->nobody_regexp.")
|
||||||
ORDER BY n.news_datestamp DESC
|
ORDER BY n.news_datestamp DESC
|
||||||
LIMIT ".intval($this->from).",".NEWSLIST_LIMIT;
|
LIMIT ".intval($this->from).",".NEWSLIST_LIMIT;
|
||||||
$category_name = 'Tag: "'.$tagsearch.'"';
|
$category_name = defset('LAN_NEWS_309','Tag').': "'.$tagsearch.'"';
|
||||||
|
|
||||||
|
$this->tagAuthor = $tagsearch;
|
||||||
|
|
||||||
}
|
}
|
||||||
elseif($this->action === 'author')
|
elseif($this->action === 'author')
|
||||||
@@ -827,9 +897,9 @@ class news_front
|
|||||||
AND n.news_class REGEXP '".e_CLASS_REGEXP."' AND NOT (n.news_class REGEXP ".$this->nobody_regexp.")
|
AND n.news_class REGEXP '".e_CLASS_REGEXP."' AND NOT (n.news_class REGEXP ".$this->nobody_regexp.")
|
||||||
ORDER BY n.news_datestamp DESC
|
ORDER BY n.news_datestamp DESC
|
||||||
LIMIT ".intval($this->from).",".NEWSLIST_LIMIT;
|
LIMIT ".intval($this->from).",".NEWSLIST_LIMIT;
|
||||||
$category_name = 'Author: "'.$authorSearch.'"';
|
$category_name = LAN_AUTHOR.': "'.$authorSearch.'"';
|
||||||
|
|
||||||
|
|
||||||
|
$this->tagAuthor = $authorSearch;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -941,6 +1011,7 @@ class news_front
|
|||||||
$tpl = ($c === 1 && !empty($template['first']) && $this->from === 0) ? $template['first'] : $template['item'];
|
$tpl = ($c === 1 && !empty($template['first']) && $this->from === 0) ? $template['first'] : $template['item'];
|
||||||
|
|
||||||
$text .= $this->ix->render_newsitem($row, 'return', '', $tpl, $param);
|
$text .= $this->ix->render_newsitem($row, 'return', '', $tpl, $param);
|
||||||
|
$this->currentRow = $row;
|
||||||
$c++;
|
$c++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -956,11 +1027,6 @@ class news_front
|
|||||||
|
|
||||||
$icon = ($row['category_icon']) ? "<img src='".e_IMAGE."icons/".$row['category_icon']."' alt='' />" : "";
|
$icon = ($row['category_icon']) ? "<img src='".e_IMAGE."icons/".$row['category_icon']."' alt='' />" : "";
|
||||||
|
|
||||||
// Deprecated.
|
|
||||||
// $parms = $news_total.",".$amount.",".$newsfrom.",".$e107->url->getUrl('core:news', 'main', "action=nextprev&to_action={$action}&subaction={$category}");
|
|
||||||
// $parms = $news_total.",".$amount.",".$newsfrom.",".e_SELF.'?'.$action.".".$category.".[FROM]";
|
|
||||||
//
|
|
||||||
// $text .= "<div class='nextprev'>".$tp->parseTemplate("{NEXTPREV={$parms}}")."</div>";
|
|
||||||
|
|
||||||
$amount = NEWSLIST_LIMIT;
|
$amount = NEWSLIST_LIMIT;
|
||||||
$nitems = defined('NEWS_NEXTPREV_NAVCOUNT') ? '&navcount='.NEWS_NEXTPREV_NAVCOUNT : '' ;
|
$nitems = defined('NEWS_NEXTPREV_NAVCOUNT') ? '&navcount='.NEWS_NEXTPREV_NAVCOUNT : '' ;
|
||||||
@@ -972,6 +1038,7 @@ class news_front
|
|||||||
|
|
||||||
$text .= $tp->parseTemplate("{NEXTPREV={$parms}}");
|
$text .= $tp->parseTemplate("{NEXTPREV={$parms}}");
|
||||||
|
|
||||||
|
|
||||||
if(isset($template['caption'])) // v2.x
|
if(isset($template['caption'])) // v2.x
|
||||||
{
|
{
|
||||||
$NEWSLISTTITLE = str_replace("{NEWSCATEGORY}",$tp->toHTML($category_name,FALSE,'TITLE'), $template['caption']);
|
$NEWSLISTTITLE = str_replace("{NEWSCATEGORY}",$tp->toHTML($category_name,FALSE,'TITLE'), $template['caption']);
|
||||||
@@ -1134,6 +1201,9 @@ class news_front
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$this->currentRow = $news;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$cache_data = $this->ix->render_newsitem($news, 'extend', '', $template, $param);
|
$cache_data = $this->ix->render_newsitem($news, 'extend', '', $template, $param);
|
||||||
|
|
||||||
@@ -1620,6 +1690,8 @@ class news_front
|
|||||||
$this->templateKey = 'default';
|
$this->templateKey = 'default';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->currentRow = $newsAr[1];
|
||||||
|
|
||||||
$this->addDebug('Template key',$this->templateKey);
|
$this->addDebug('Template key',$this->templateKey);
|
||||||
|
|
||||||
$template = $tmpl['item'];
|
$template = $tmpl['item'];
|
||||||
@@ -1631,6 +1703,8 @@ class news_front
|
|||||||
{
|
{
|
||||||
$row = $newsAr[1];
|
$row = $newsAr[1];
|
||||||
|
|
||||||
|
$this->currentRow = $row;
|
||||||
|
|
||||||
if(empty($this->action)) // default page.
|
if(empty($this->action)) // default page.
|
||||||
{
|
{
|
||||||
$row['category_name'] = PAGE_NAME;
|
$row['category_name'] = PAGE_NAME;
|
||||||
@@ -1638,6 +1712,7 @@ class news_front
|
|||||||
|
|
||||||
$nsc = e107::getScBatch('news')->setScVar('news_item', $row)->setScVar('param', $param);
|
$nsc = e107::getScBatch('news')->setScVar('news_item', $row)->setScVar('param', $param);
|
||||||
$this->caption = $tp->parseTemplate($tmpl['caption'], true, $nsc);
|
$this->caption = $tp->parseTemplate($tmpl['caption'], true, $nsc);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($tmpl['start'])) //v2.1.5
|
if(!empty($tmpl['start'])) //v2.1.5
|
||||||
@@ -1649,6 +1724,7 @@ class news_front
|
|||||||
{
|
{
|
||||||
// we know category name - pass it to the nexprev url
|
// we know category name - pass it to the nexprev url
|
||||||
$category_name = $newsAr[1]['category_name'];
|
$category_name = $newsAr[1]['category_name'];
|
||||||
|
|
||||||
if(vartrue($newsAr[1]['category_sef'])) $newsUrlparms['name'] = $newsAr[1]['category_sef'];
|
if(vartrue($newsAr[1]['category_sef'])) $newsUrlparms['name'] = $newsAr[1]['category_sef'];
|
||||||
if(!isset($NEWSLISTCATTITLE))
|
if(!isset($NEWSLISTCATTITLE))
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user