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);