mirror of
https://github.com/e107inc/e107.git
synced 2025-09-01 10:23:53 +02:00
e_menu.php introduced to replace legacy menu configuration file (config.php). See banner plugin for an example.
This commit is contained in:
@@ -216,7 +216,7 @@ class e_menuManager {
|
||||
}
|
||||
|
||||
$file = urldecode($_GET['path']).".php";
|
||||
$newurl = e_PLUGIN_ABS.$file."?id=".$_GET['id'];
|
||||
$newurl = e_PLUGIN_ABS.$file."?id=".$_GET['id'].'&iframe=1';
|
||||
|
||||
/*
|
||||
|
||||
@@ -365,10 +365,12 @@ class e_menuManager {
|
||||
|
||||
$efile = new e_file;
|
||||
$efile->dirFilter = array('/', 'CVS', '.svn', 'languages');
|
||||
$efile->fileFilter[] = '^e_menu\.php$';
|
||||
|
||||
$fileList = $efile->get_files(e_PLUGIN,"_menu\.php$",'standard',2);
|
||||
|
||||
$this->menuAddMessage('Scanning for new menus', E_MESSAGE_DEBUG);
|
||||
|
||||
|
||||
$menuList = array(); // existing menus in table.
|
||||
if($result = $sql->retrieve('menus', 'menu_name', null, true))
|
||||
{
|
||||
@@ -538,20 +540,55 @@ class e_menuManager {
|
||||
return;
|
||||
};
|
||||
$row = $sql->fetch();
|
||||
|
||||
// TODO lan
|
||||
|
||||
$text = "<div style='text-align:center;'>
|
||||
<form id='e-save-form' method='post' action='".e_SELF."?lay=".$this->curLayout."'>
|
||||
<fieldset id='core-menus-parametersform'>
|
||||
<legend>Menu parameters ".$row['menu_name']."</legend>
|
||||
<table class='table adminform'>
|
||||
<tr>
|
||||
<td>
|
||||
Parameters (query string format):
|
||||
".$frm->text('menu_parms', $row['menu_parms'], 900, 'class=e-save span7')."
|
||||
</td>
|
||||
</tr>
|
||||
</table>";
|
||||
<legend>".MENLAN_44." ".$row['menu_name']."</legend>
|
||||
<table class='table '>
|
||||
<colgroup>
|
||||
<col class='col-label' />
|
||||
<col class='col-control' />
|
||||
</colgroup>
|
||||
|
||||
";
|
||||
|
||||
if(file_exists(e_PLUGIN.$row['menu_path']."e_menu.php")) // v2.x new e_menu.php
|
||||
{
|
||||
$plug = rtrim($row['menu_path'],'/');
|
||||
|
||||
$obj = e107::getAddon($plug,'e_menu');
|
||||
|
||||
$fields = e107::callMethod($obj,'config');
|
||||
|
||||
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
||||
{
|
||||
$form = $frm;
|
||||
}
|
||||
|
||||
$value = e107::unserialize($row['menu_parms']);
|
||||
|
||||
foreach($fields as $k=>$v)
|
||||
{
|
||||
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
||||
$v['writeParms']['class'] = 'e-save';
|
||||
$text .= "<td class='text-left'>".$form->renderElement($k, $value[$k], $v)."</td></tr>";
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= "<tr>
|
||||
<td>
|
||||
".MENLAN_45."</td>
|
||||
<td>
|
||||
".$frm->text('menu_parms', $row['menu_parms'], 900, 'class=e-save&size=xxlarge')."
|
||||
</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
$text .= "</table>";
|
||||
|
||||
/*
|
||||
|
||||
$text .= "
|
||||
@@ -784,11 +821,27 @@ class e_menuManager {
|
||||
function menuSaveParameters()
|
||||
{
|
||||
$sql = e107::getDb();
|
||||
$parms = $sql->escape(strip_tags($_POST['menu_parms']));
|
||||
|
||||
$check = $sql->db_Update("menus", "menu_parms='".$parms."' WHERE menu_id=".intval($_POST['menu_id'])."");
|
||||
|
||||
|
||||
|
||||
$id = intval($_POST['menu_id']);
|
||||
|
||||
if(isset($_POST['menu_parms']))
|
||||
{
|
||||
$parms = $sql->escape(strip_tags($_POST['menu_parms']));
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($_POST['menu_id'], $_POST['mode'], $_POST['menuActivate'], $_POST['menuSetCustomPages']);
|
||||
|
||||
$parms = $sql->escape(e107::serialize($_POST));
|
||||
|
||||
if(e_DEBUG == true)
|
||||
{
|
||||
// return array('msg'=>print_r($_POST,true),'error'=>true);
|
||||
}
|
||||
}
|
||||
|
||||
$check = $sql->update("menus", "menu_parms='".$parms."' WHERE menu_id=".$id."");
|
||||
|
||||
if($check)
|
||||
{
|
||||
return array('msg'=>'All Okay','error'=>false);
|
||||
@@ -812,7 +865,7 @@ class e_menuManager {
|
||||
|
||||
function menuSaveVisibility() // Used by Ajax
|
||||
{
|
||||
global $admin_log;
|
||||
|
||||
$sql = e107::getDb();
|
||||
|
||||
$pagelist = explode("\r\n", $_POST['pagelist']);
|
||||
@@ -825,7 +878,7 @@ class e_menuManager {
|
||||
$pageparms = preg_replace("#\|$#", "", $pageparms);
|
||||
$pageparms = (trim($_POST['pagelist']) == '') ? '' : $pageparms;
|
||||
|
||||
if($sql->db_Update("menus", "menu_class='".intval($_POST['menu_class'])."', menu_pages='{$pageparms}' WHERE menu_id=".intval($_POST['menu_id'])))
|
||||
if($sql->update("menus", "menu_class='".intval($_POST['menu_class'])."', menu_pages='{$pageparms}' WHERE menu_id=".intval($_POST['menu_id'])))
|
||||
{
|
||||
e107::getLog()->add('MENU_02',$_POST['menu_class'].'[!br!]'.$pageparms.'[!br!]'.$this->menuId,E_LOG_INFORMATIVE,'');
|
||||
|
||||
@@ -1502,7 +1555,7 @@ class e_menuManager {
|
||||
|
||||
if($conf)
|
||||
{
|
||||
$text .= '<a class="menu-btn" target="_top" href="'.e_SELF.'?lay='.$this->curLayout.'&mode=conf&path='.urlencode($conf).'&id='.$menu_id.'"
|
||||
$text .= '<a data-modal-caption="Configure Menu" class="e-modal-menumanager menu-btn" target="_top" href="'.e_SELF.'?lay='.$this->curLayout.'&mode=conf&path='.urlencode($conf).'&id='.$menu_id.'&iframe=1"
|
||||
title="Configure menu"><i class="S16 e-configure-16"></i></a>';
|
||||
}
|
||||
|
||||
@@ -1573,8 +1626,11 @@ class e_menuManager {
|
||||
|
||||
if($mode == 'parms')
|
||||
{
|
||||
$ret = $this->menuSaveParameters();
|
||||
// echo json_encode($ret);
|
||||
$ret = $this->menuSaveParameters();
|
||||
if(!empty($ret['error']))
|
||||
{
|
||||
echo json_encode($ret);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user