diff --git a/e107_admin/menus.php b/e107_admin/menus.php index 8aca416d5..2e316c8d4 100644 --- a/e107_admin/menus.php +++ b/e107_admin/menus.php @@ -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); diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index a8bad1283..724a4ec79 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -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)); } } diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 65315aff9..148e5943a 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -4990,6 +4990,7 @@ class e_form { $value = is_array($value) ? varset($value[e_LANGUAGE],'') : $value; $parms['post'] = "".$tp->toGlyph('fa-language').""; + $key = $key.'['.e_LANGUAGE.']'; } if(empty($value) && !empty($parms['default'])) // Allow writeParms to set default value. diff --git a/e107_handlers/menu_class.php b/e107_handlers/menu_class.php index 72c784b4c..629395e25 100644 --- a/e107_handlers/menu_class.php +++ b/e107_handlers/menu_class.php @@ -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 diff --git a/e107_handlers/menumanager_class.php b/e107_handlers/menumanager_class.php index e77f6b84a..9dc0c0c5a 100644 --- a/e107_handlers/menumanager_class.php +++ b/e107_handlers/menumanager_class.php @@ -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); } + + $parms = e107::serialize($parms, 'json');*/ + + // if(e_DEBUG == true) + { + // return array('msg'=>print_r($parms,true),'error'=>true); + } + $parms = $_POST; } - $check = $sql->update("menus", "menu_parms=\"".$parms."\" WHERE menu_id=".$id.""); + $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; } diff --git a/e107_plugins/tagcloud/e_menu.php b/e107_plugins/tagcloud/e_menu.php index 5985da543..8c05f1290 100644 --- a/e107_plugins/tagcloud/e_menu.php +++ b/e107_plugins/tagcloud/e_menu.php @@ -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; }