mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 20:00:37 +02:00
Issue #2446 e_menu multilan value fix.
This commit is contained in:
@@ -1760,28 +1760,27 @@ $mes = e107::getMessage();
|
||||
if(e_AJAX_REQUEST)
|
||||
{
|
||||
|
||||
if(vartrue($_GET['enc']))
|
||||
if(!empty($_GET['enc']))
|
||||
{
|
||||
$string = base64_decode($_GET['enc']);
|
||||
parse_str($string,$_GET);
|
||||
|
||||
// print_a($_GET);
|
||||
}
|
||||
// print_a($_POST);
|
||||
|
||||
if(vartrue($_GET['vis']))
|
||||
if(!empty($_GET['vis']))
|
||||
{
|
||||
$text = $men->menuVisibilityOptions();
|
||||
}
|
||||
|
||||
// print_a($_GET);
|
||||
|
||||
if(vartrue($_GET['parmsId']))
|
||||
if(!empty($_GET['parmsId']))
|
||||
{
|
||||
$text = $men->menuInstanceParameters();
|
||||
}
|
||||
|
||||
if(vartrue($_POST['mode']))
|
||||
if(!empty($_POST['mode']))
|
||||
{
|
||||
// print_r($_POST);
|
||||
// $men->setMenuId($this->menuId);
|
||||
|
@@ -5549,7 +5549,9 @@ class e_admin_ui extends e_admin_controller_ui
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->getConfig()->setData($key.'/'.e_LANGUAGE, str_replace("'", ''', $val));
|
||||
$lang = key($val);
|
||||
$value = $val[$lang];
|
||||
$this->getConfig()->setData($key.'/'.$lang, str_replace("'", ''', $value));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -4990,6 +4990,7 @@ class e_form
|
||||
{
|
||||
$value = is_array($value) ? varset($value[e_LANGUAGE],'') : $value;
|
||||
$parms['post'] = "<small class='e-tip admin-multilanguage-field input-group-addon' style='cursor:help; padding-left:10px' title='".LAN_EFORM_012." (".e_LANGUAGE.")'>".$tp->toGlyph('fa-language')."</small>";
|
||||
$key = $key.'['.e_LANGUAGE.']';
|
||||
}
|
||||
|
||||
if(empty($value) && !empty($parms['default'])) // Allow writeParms to set default value.
|
||||
|
@@ -261,6 +261,48 @@ class e_menu
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param int $id menu_id
|
||||
* @param array $parms
|
||||
* @return mixed
|
||||
*/
|
||||
public function updateParms($id, $parms)
|
||||
{
|
||||
$model = e107::getModel();
|
||||
$model->setModelTable("menus");
|
||||
$model->setFieldIdName("menu_id");
|
||||
$model->setDataFields(array('menu_parms'=>'json'));
|
||||
|
||||
$model->load($id, true);
|
||||
|
||||
$d = $model->get('menu_parms');
|
||||
|
||||
$model->setPostedData('menu_parms', e107::unserialize($d));
|
||||
|
||||
foreach($parms as $key=>$value)
|
||||
{
|
||||
if(!is_array($value))
|
||||
{
|
||||
$model->setPostedData('menu_parms/'.$key, $value);
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang = key($value);
|
||||
$val = $value[$lang];
|
||||
$model->setPostedData('menu_parms/'.$key.'/'.$lang, $val);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $model->save();
|
||||
|
||||
// return $model;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Add a Menu to the Menu Table.
|
||||
* @param string $plugin folder name
|
||||
|
@@ -981,18 +981,26 @@ class e_menuManager {
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($_POST['menu_id'], $_POST['mode'], $_POST['menuActivate'], $_POST['menuSetCustomPages']);
|
||||
unset($_POST['menu_id'], $_POST['mode'], $_POST['menuActivate'], $_POST['menuSetCustomPages'], $_POST['e-token']);
|
||||
|
||||
$parms = $tp->filter($_POST);
|
||||
$parms = $sql->escape(e107::serialize($parms));
|
||||
/* $tmp = $sql->retrieve("menus", "menu_parms", " menu_id=".$id);
|
||||
$parms = !empty($tmp) ? e107::unserialize($tmp) : array();
|
||||
|
||||
if(e_DEBUG == true)
|
||||
foreach($_POST as $k=>$v)
|
||||
{
|
||||
// return array('msg'=>print_r($_POST,true),'error'=>true);
|
||||
}
|
||||
$parms[$k] = $tp->filter($v);
|
||||
}
|
||||
|
||||
$check = $sql->update("menus", "menu_parms=\"".$parms."\" WHERE menu_id=".$id."");
|
||||
$parms = e107::serialize($parms, 'json');*/
|
||||
|
||||
// if(e_DEBUG == true)
|
||||
{
|
||||
// return array('msg'=>print_r($parms,true),'error'=>true);
|
||||
}
|
||||
$parms = $_POST;
|
||||
}
|
||||
|
||||
$check = e107::getMenu()->updateParms($id,$parms); // $sql->update("menus", "menu_parms=\"".$parms."\" WHERE menu_id=".$id."");
|
||||
|
||||
if($check)
|
||||
{
|
||||
@@ -1796,7 +1804,7 @@ class e_menuManager {
|
||||
|
||||
$ret = $this->menuSaveVisibility();
|
||||
// echo json_encode($ret);
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
if($mode == 'delete')
|
||||
@@ -1811,7 +1819,7 @@ class e_menuManager {
|
||||
$ret = $this->menuDeactivate();
|
||||
// echo json_encode($ret);
|
||||
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1822,9 +1830,9 @@ class e_menuManager {
|
||||
$ret = $this->menuSaveParameters();
|
||||
if(!empty($ret['error']))
|
||||
{
|
||||
echo json_encode($ret);
|
||||
return json_encode($ret);
|
||||
}
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -30,7 +30,7 @@ class tagcloud_menu
|
||||
{
|
||||
$fields = array();
|
||||
$fields['tagcloud_caption'] = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
|
||||
|
||||
$fields['tagcloud_limit'] = array('title'=> LAN_LIMIT, 'type'=>'number');
|
||||
return $fields;
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user