diff --git a/e107_admin/newspost.php b/e107_admin/newspost.php
index 01085fddf..021398620 100644
--- a/e107_admin/newspost.php
+++ b/e107_admin/newspost.php
@@ -473,6 +473,7 @@ class news_admin_ui extends e_admin_ui
'2' => LAN_NEWS_72,
'3' => LAN_NEWS_73,
'5' => LAN_NEWS_74,
+ '6' => "News Grid Menu",
//'5' => LAN_NEWS_75
);
diff --git a/e107_handlers/menumanager_class.php b/e107_handlers/menumanager_class.php
index ff04c0853..5fe3cc34b 100644
--- a/e107_handlers/menumanager_class.php
+++ b/e107_handlers/menumanager_class.php
@@ -586,7 +586,7 @@ class e_menuManager {
foreach($fields as $k=>$v)
{
$text .= "
".$v['title']." | ";
- $v['writeParms']['class'] = 'e-save';
+ // $v['writeParms']['class'] = 'e-save';
$i = $k;
if(!empty($v['multilan']))
{
@@ -599,7 +599,15 @@ class e_menuManager {
}
- $text .= "".$form->renderElement($i, $value[$k], $v)." |
";
+ if(!empty($v['help']))
+ {
+ $v['writeParms']['title'] = e107::getParser()->toAttribute($v['help']);
+ }
+
+ $text .= "".$form->renderElement($i, $value[$k], $v);
+
+
+ $text .= " | ";
}
}
else
diff --git a/e107_plugins/news/e_menu.php b/e107_plugins/news/e_menu.php
index e03fc5151..6f731f416 100644
--- a/e107_plugins/news/e_menu.php
+++ b/e107_plugins/news/e_menu.php
@@ -32,6 +32,8 @@ class news_menu
$fields = array();
$categories = array();
+ $sources = array('latest'=> "Latest News Items", 'sticky' => "Sticky News Items", 'template'=>"Assigned News items");
+
$tmp = e107::getDb()->retrieve('news_category','category_id,category_name',null, true);
foreach($tmp as $val)
@@ -49,13 +51,14 @@ class news_menu
break;
case "news_grid":
- $fields['caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
- $fields['category'] = array('title'=> LAN_CATEGORY, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$categories, 'default'=>'blank'));
+ $fields['caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'), 'help'=>LAN_OPTIONAL);
+ $fields['category'] = array('title'=> LAN_CATEGORY, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$categories, 'default'=>"(".LAN_ALL.")"), 'help'=>"Limit news items to a specific category");
+ $fields['source'] = array('title'=> "Source", 'type'=>'dropdown','writeParms'=>array('optArray'=>$sources), 'help'=>"Assigned items are those with a template assigned to 'News Grid Menu' ");
$fields['layout'] = array('title'=> "Layout", 'type'=>'method', 'writeParms'=>'');
- $fields['count'] = array('title'=> "Number of Items", 'type'=>'number', 'writeParms'=>array('pattern'=>'[0-9]*', 'default'=>4));
+ $fields['count'] = array('title'=> "Number of Items to Display", 'type'=>'number', 'writeParms'=>array('pattern'=>'[0-9]*', 'default'=>4));
$fields['titleLimit'] = array('title'=> "Title Character Limit", 'type'=>'number', 'writeParms'=>'');
$fields['summaryLimit'] = array('title'=> "Summary Character Limit", 'type'=>'number', 'writeParms'=>'');
- // TODO Add a field for 'latest' vs 'sticky' vs 'assigned by news item (news_render_type)'
+
break;
diff --git a/e107_plugins/news/news_grid_menu.php b/e107_plugins/news/news_grid_menu.php
index e13769e4f..38093244e 100644
--- a/e107_plugins/news/news_grid_menu.php
+++ b/e107_plugins/news/news_grid_menu.php
@@ -31,8 +31,17 @@ if(false === $cached)
$template = e107::getTemplate('news', 'news_menu', 'grid');
$gridSize = vartrue($parms['layout'],'col-md-4');
- $parmSrch = array('{NEWSGRID}', '_titleLimit_', '_summaryLimit_');
- $parmReplace = array($gridSize, vartrue($parms['titleLimit'],0),vartrue($parms['summaryLimit'],0));
+ $parmSrch = array(
+ '{NEWSGRID}',
+ '_titleLimit_',
+ '_summaryLimit_'
+ );
+
+ $parmReplace = array(
+ $gridSize,
+ vartrue($parms['titleLimit'],0),
+ vartrue($parms['summaryLimit'],0)
+ );
$template = str_replace($parmSrch , $parmReplace, $template);
@@ -48,11 +57,21 @@ if(false === $cached)
$parms['order'] = 'n.news_datestamp DESC';
+
$treeparm = array();
if(vartrue($parms['count'])) $treeparm['db_limit'] = '0, '.intval($parms['count']);
if(vartrue($parms['order'])) $treeparm['db_order'] = e107::getParser()->toDb($parms['order']);
$parms['return'] = true;
+ if(varset($parms['source']) == 'template')
+ {
+ $treeparm['db_where'] = 'FIND_IN_SET(6, n.news_render_type)';
+ }
+
+ if(varset($parms['source']) == 'sticky')
+ {
+ $treeparm['db_where'] = 'n.news_sticky=1';
+ }
$cached = $ntree->loadJoinActive(vartrue($parms['category'], 0), false, $treeparm)->render($template, $parms, $render);
e107::getCache()->set($cacheString, $cached);