mirror of
https://github.com/e107inc/e107.git
synced 2025-08-01 20:30:39 +02:00
Banner and News e_menu.php (config.php replacement) upgrades.
This commit is contained in:
@@ -423,6 +423,11 @@ class e_array {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(is_array($ArrayData))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Saftety mechanism for 0.7 -> 0.8 transition.
|
// Saftety mechanism for 0.7 -> 0.8 transition.
|
||||||
if(substr($ArrayData,0,2)=='a:' || substr($ArrayData,0,2)=='s:')
|
if(substr($ArrayData,0,2)=='a:' || substr($ArrayData,0,2)=='s:')
|
||||||
{
|
{
|
||||||
@@ -430,11 +435,18 @@ class e_array {
|
|||||||
$ArrayData = $this->WriteArray($dat,FALSE);
|
$ArrayData = $this->WriteArray($dat,FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ArrayData = trim($ArrayData);
|
||||||
|
|
||||||
|
if(strtolower(substr($ArrayData,0,5)) != 'array')
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$data = "";
|
$data = "";
|
||||||
$ArrayData = '$data = '.trim($ArrayData).';';
|
$ArrayData = '$data = '.$ArrayData.';';
|
||||||
@eval($ArrayData);
|
@eval($ArrayData);
|
||||||
if (!isset($data) || !is_array($data)) {
|
if (!isset($data) || !is_array($data))
|
||||||
|
{
|
||||||
trigger_error("Bad stored array data - <br /><br />".htmlentities($ArrayData), E_USER_ERROR);
|
trigger_error("Bad stored array data - <br /><br />".htmlentities($ArrayData), E_USER_ERROR);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -133,7 +133,7 @@ class e_menu
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* V2 Menu Re-Write - retrieve Menu data from $pref['menu_layouts']
|
* Experimental V2 Menu Re-Write - retrieve Menu data from $pref['menu_layouts']
|
||||||
*/
|
*/
|
||||||
protected function getData($layout)
|
protected function getData($layout)
|
||||||
{
|
{
|
||||||
@@ -187,8 +187,7 @@ class e_menu
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @DEPRECATED
|
* Function to retrieve Menu data from tables.
|
||||||
* Legacy Function to retrieve Menu data from tables.
|
|
||||||
*/
|
*/
|
||||||
private function getDataLegacy()
|
private function getDataLegacy()
|
||||||
{
|
{
|
||||||
@@ -201,6 +200,7 @@ class e_menu
|
|||||||
$menu_data = e107::getCache()->retrieve_sys("menus_".USERCLASS_LIST."_".md5(e_LANGUAGE.$menu_layout_field));
|
$menu_data = e107::getCache()->retrieve_sys("menus_".USERCLASS_LIST."_".md5(e_LANGUAGE.$menu_layout_field));
|
||||||
// $menu_data = e107::getCache()->retrieve_sys("menus_".USERCLASS_LIST);
|
// $menu_data = e107::getCache()->retrieve_sys("menus_".USERCLASS_LIST);
|
||||||
$menu_data = e107::getArrayStorage()->ReadArray($menu_data);
|
$menu_data = e107::getArrayStorage()->ReadArray($menu_data);
|
||||||
|
// $menu_data = e107::getArrayStorage()->ReadArray($menu_data);
|
||||||
|
|
||||||
$eMenuArea = array();
|
$eMenuArea = array();
|
||||||
// $eMenuList = array();
|
// $eMenuList = array();
|
||||||
@@ -408,12 +408,18 @@ class e_menu
|
|||||||
$ns = e107::getRender();
|
$ns = e107::getRender();
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
|
|
||||||
|
if($tmp = e107::unserialize($parm)) // support e_menu.php e107 serialized parm.
|
||||||
|
{
|
||||||
|
$parm = $tmp;
|
||||||
|
unset($tmp);
|
||||||
|
}
|
||||||
|
|
||||||
if($return)
|
if($return)
|
||||||
{
|
{
|
||||||
ob_start();
|
ob_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(vartrue($error_handler->debug))
|
if(e_DEBUG === true)
|
||||||
{
|
{
|
||||||
echo "\n<!-- Menu Start: ".$mname." -->\n";
|
echo "\n<!-- Menu Start: ".$mname." -->\n";
|
||||||
}
|
}
|
||||||
|
@@ -559,7 +559,18 @@ class e_menuManager {
|
|||||||
|
|
||||||
$obj = e107::getAddon($plug,'e_menu');
|
$obj = e107::getAddon($plug,'e_menu');
|
||||||
|
|
||||||
$fields = e107::callMethod($obj,'config');
|
if(!is_object($obj))
|
||||||
|
{
|
||||||
|
$text .= "<tr><td colspan='2' class='alert alert-danger'>{$plug} object not found. Try re-scanning plugin directories in Tools > Database. </td></tr>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
$menuName = substr($row['menu_name'],0,-5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$fields = e107::callMethod($obj,'config',$menuName);
|
||||||
|
|
||||||
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
||||||
{
|
{
|
||||||
@@ -568,11 +579,30 @@ class e_menuManager {
|
|||||||
|
|
||||||
$value = e107::unserialize($row['menu_parms']);
|
$value = e107::unserialize($row['menu_parms']);
|
||||||
|
|
||||||
|
if(!empty($fields))
|
||||||
|
{
|
||||||
foreach($fields as $k=>$v)
|
foreach($fields as $k=>$v)
|
||||||
{
|
{
|
||||||
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
||||||
$v['writeParms']['class'] = 'e-save';
|
$v['writeParms']['class'] = 'e-save';
|
||||||
$text .= "<td class='text-left'>".$form->renderElement($k, $value[$k], $v)."</td></tr>";
|
$i = $k;
|
||||||
|
if(!empty($v['multilan']))
|
||||||
|
{
|
||||||
|
$i = $k.'['.e_LANGUAGE.']';
|
||||||
|
|
||||||
|
if(isset($value[$k][e_LANGUAGE]))
|
||||||
|
{
|
||||||
|
$value[$k] = varset($value[$k][e_LANGUAGE],'');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$text .= "<td class='text-left'>".$form->renderElement($i, $value[$k], $v)."</td></tr>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$text .= "<tr><td colspan='2' class='alert alert-danger'>No Fields Set in ".$row['menu_path']."e_menu.php</td></tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -421,4 +421,7 @@ define("LAN_GEN_PW", "Generate a password");
|
|||||||
define("LAN_DISPL_PW", "Display the password");
|
define("LAN_DISPL_PW", "Display the password");
|
||||||
define("LAN_WILL_OVERWRITE_SEF", "This will overwrite your existing SEF URL.");
|
define("LAN_WILL_OVERWRITE_SEF", "This will overwrite your existing SEF URL.");
|
||||||
|
|
||||||
|
define("LAN_CAPTION", "Caption");
|
||||||
|
define("LAN_LIMIT", "Limit");
|
||||||
|
|
||||||
// TODO - move e_form related LANS below, add new lan_form.php file (for both front/back-end)
|
// TODO - move e_form related LANS below, add new lan_form.php file (for both front/back-end)
|
||||||
|
@@ -50,13 +50,20 @@ else
|
|||||||
|
|
||||||
if(!empty($parm))
|
if(!empty($parm))
|
||||||
{
|
{
|
||||||
if(!$tmp = e107::unserialize($parm)) // unserailize the v2.x e_menu.php preferences.
|
if(is_string($parm)) // unserailize the v2.x e_menu.php preferences.
|
||||||
{
|
{
|
||||||
parse_str($parm, $parms); // if it fails, use legacy method. (query string format)
|
parse_str($parm, $parms); // if it fails, use legacy method. (query string format)
|
||||||
}
|
}
|
||||||
else // prefs unserialized so overwrite the legacy preference values.
|
elseif(is_array($parm)) // prefs array so overwrite the legacy preference values.
|
||||||
{
|
{
|
||||||
$menu_pref = $tmp;
|
if(isset($parm['banner_caption'][e_LANGUAGE]))
|
||||||
|
{
|
||||||
|
$parm['banner_caption'] = $parm['banner_caption'][e_LANGUAGE];
|
||||||
|
}
|
||||||
|
|
||||||
|
$menu_pref = $parm;
|
||||||
|
|
||||||
|
|
||||||
$menu_pref['banner_campaign'] = implode("|",$menu_pref['banner_campaign']);
|
$menu_pref['banner_campaign'] = implode("|",$menu_pref['banner_campaign']);
|
||||||
unset($parm);
|
unset($parm);
|
||||||
}
|
}
|
||||||
|
@@ -26,12 +26,12 @@ class banner_menu
|
|||||||
* Configuration Fields.
|
* Configuration Fields.
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function config()
|
public function config($menu='')
|
||||||
{
|
{
|
||||||
$renderTypes = array(BNRLAN_48,'1 - '.BNRLAN_45,'2 - '.BNRLAN_46, "3 - ".BNRLAN_47);
|
$renderTypes = array(BNRLAN_48,'1 - '.BNRLAN_45,'2 - '.BNRLAN_46, "3 - ".BNRLAN_47);
|
||||||
|
|
||||||
$fields = array();
|
$fields = array();
|
||||||
$fields['banner_caption'] = array('title'=> BNRLAN_37, 'type'=>'text', 'writeParms'=>array('size'=>'xxlarge'));
|
$fields['banner_caption'] = array('title'=> BNRLAN_37, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
|
||||||
$fields['banner_campaign'] = array('title'=> BNRLAN_39, 'type'=>'method');
|
$fields['banner_campaign'] = array('title'=> BNRLAN_39, 'type'=>'method');
|
||||||
$fields['banner_amount'] = array('title'=> BNRLAN_41, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*'));
|
$fields['banner_amount'] = array('title'=> BNRLAN_41, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*'));
|
||||||
$fields['banner_rendertype'] = array('title'=> BNRLAN_43, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$renderTypes));
|
$fields['banner_rendertype'] = array('title'=> BNRLAN_43, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$renderTypes));
|
||||||
|
@@ -14,30 +14,62 @@ if (!defined('e107_INIT')) { exit; }
|
|||||||
//v2.x Standard for extending menu configuration within Menu Manager. (replacement for v1.x config.php)
|
//v2.x Standard for extending menu configuration within Menu Manager. (replacement for v1.x config.php)
|
||||||
//TODO Configure for news menus.
|
//TODO Configure for news menus.
|
||||||
|
|
||||||
class newsTODO_menu
|
class news_menu
|
||||||
{
|
{
|
||||||
|
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
e107::lan('news','admin', 'true');
|
// e107::lan('news','admin', 'true');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configuration Fields.
|
* Configuration Fields.
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function config()
|
public function config($menu='')
|
||||||
{
|
{
|
||||||
$renderTypes = array(BNRLAN_48,'1 - '.BNRLAN_45,'2 - '.BNRLAN_46, "3 - ".BNRLAN_47);
|
|
||||||
|
|
||||||
$fields = array();
|
$fields = array();
|
||||||
$fields['caption'] = array('title'=> BNRLAN_37, 'type'=>'text', 'writeParms'=>array('size'=>'xxlarge'));
|
$categories = array();
|
||||||
$fields['count'] = array('title'=> BNRLAN_39, 'type'=>'method');
|
|
||||||
$fields['order'] = array('title'=> BNRLAN_41, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*'));
|
$tmp = e107::getDb()->retrieve('news_category','category_id,category_name',null, true);
|
||||||
$fields['category'] = array('title'=> BNRLAN_43, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$renderTypes));
|
|
||||||
|
foreach($tmp as $val)
|
||||||
|
{
|
||||||
|
$id = $val['category_id'];
|
||||||
|
$categories[$id] = $val['category_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
switch($menu)
|
||||||
|
{
|
||||||
|
case "latestnews":
|
||||||
|
$fields['caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
|
||||||
|
$fields['count'] = array('title'=> LAN_LIMIT, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*', 'size'=>'mini'));
|
||||||
|
$fields['category'] = array('title'=> LAN_CATEGORY, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$categories, 'default'=>'blank'));
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "news_categories":
|
||||||
|
$fields['caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
|
||||||
|
$fields['count'] = array('title'=> LAN_LIMIT, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*'));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "news_months":
|
||||||
|
$fields['showarchive'] = array('title'=> "Display Archive Link", 'type'=>'boolean');
|
||||||
|
$fields['year'] = array('title'=> "Year", 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*', 'size'=>'mini'));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "other_news":
|
||||||
|
case "other_news2":
|
||||||
|
$fields['caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return $fields;
|
return $fields;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -7,13 +7,26 @@
|
|||||||
*/
|
*/
|
||||||
if (!defined('e107_INIT')) { exit; }
|
if (!defined('e107_INIT')) { exit; }
|
||||||
|
|
||||||
$cacheString = 'nq_news_latest_menu_'.md5($parm);
|
$cacheString = 'nq_news_latest_menu_'.md5(serialize($parm));
|
||||||
$cached = e107::getCache()->retrieve($cacheString);
|
$cached = e107::getCache()->retrieve($cacheString);
|
||||||
if(false === $cached)
|
if(false === $cached)
|
||||||
{
|
{
|
||||||
e107::plugLan('news');
|
e107::plugLan('news');
|
||||||
|
|
||||||
|
if(is_string($parm))
|
||||||
|
{
|
||||||
parse_str($parm, $parms);
|
parse_str($parm, $parms);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$parms = $parm;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($parms['caption'][e_LANGUAGE]))
|
||||||
|
{
|
||||||
|
$parms['caption'] = $parms['caption'][e_LANGUAGE];
|
||||||
|
}
|
||||||
|
|
||||||
$ntree = e107::getObject('e_news_tree', null, e_HANDLER.'news_class.php');
|
$ntree = e107::getObject('e_news_tree', null, e_HANDLER.'news_class.php');
|
||||||
|
|
||||||
$template = e107::getTemplate('news', vartrue($parms['tmpl'], 'news_menu'), vartrue($parms['tmpl_key'], 'latest'));
|
$template = e107::getTemplate('news', vartrue($parms['tmpl'], 'news_menu'), vartrue($parms['tmpl_key'], 'latest'));
|
||||||
|
@@ -14,7 +14,15 @@ if(false === $cached)
|
|||||||
{
|
{
|
||||||
e107::plugLan('news');
|
e107::plugLan('news');
|
||||||
|
|
||||||
|
if(is_string($parm))
|
||||||
|
{
|
||||||
parse_str($parm, $parms);
|
parse_str($parm, $parms);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$parms = $parm;
|
||||||
|
}
|
||||||
|
|
||||||
$ctree = e107::getObject('e_news_category_tree', null, e_HANDLER.'news_class.php');
|
$ctree = e107::getObject('e_news_category_tree', null, e_HANDLER.'news_class.php');
|
||||||
|
|
||||||
$template = e107::getTemplate('news', 'news_menu', 'category');
|
$template = e107::getTemplate('news', 'news_menu', 'category');
|
||||||
|
@@ -8,12 +8,20 @@
|
|||||||
|
|
||||||
if (!defined('e107_INIT')) { exit; }
|
if (!defined('e107_INIT')) { exit; }
|
||||||
|
|
||||||
$cString = 'nq_news_months_menu_'.md5($parm);
|
$cString = 'nq_news_months_menu_'.md5(serialize($parm));
|
||||||
$cached = e107::getCache()->retrieve($cString);
|
$cached = e107::getCache()->retrieve($cString);
|
||||||
|
|
||||||
if(!empty($parm))
|
if(!empty($parm))
|
||||||
{
|
{
|
||||||
|
if(is_string($parm))
|
||||||
|
{
|
||||||
parse_str($parm, $parms);
|
parse_str($parm, $parms);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$parms = $parm;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -37,7 +37,14 @@ $caption = TD_MENU_L1;
|
|||||||
|
|
||||||
if(!empty($parm))
|
if(!empty($parm))
|
||||||
{
|
{
|
||||||
|
if(is_string($parm))
|
||||||
|
{
|
||||||
parse_str($parm, $parms);
|
parse_str($parm, $parms);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$parms = $parm;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$OTHERNEWS_STYLE)
|
if(!$OTHERNEWS_STYLE)
|
||||||
|
Reference in New Issue
Block a user