diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 346d316b5d3..fff20023c05 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -1,6 +1,6 @@ - * Copyright (C) 2007-2011 Laurent Destailleur + * Copyright (C) 2007-2012 Laurent Destailleur * Copyright (C) 2009-2011 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -113,6 +113,23 @@ if ($action == 'add') exit; } + $leftmenu=''; $mainmenu=''; + if (! empty($_POST['menuId']) && ! is_numeric($_POST['menuId'])) + { + $tmp=explode('&',$_POST['menuId']); + foreach($tmp as $s) + { + if (preg_match('/fk_mainmenu=/',$s)) + { + $mainmenu=preg_replace('/fk_mainmenu=/','',$s); + } + if (preg_match('/fk_leftmenu=/',$s)) + { + $leftmenu=preg_replace('/fk_leftmenu=/','',$s); + } + } + } + $langs->load("errors"); $error=0; @@ -146,7 +163,7 @@ if ($action == 'add') $action = 'create'; $error++; } - if (! $error && ! $_POST['menuId'] && $_POST['type'] == 'left') + if (! $error && empty($_POST['menuId']) && $_POST['type'] == 'left') { $mesg='
'.$langs->trans("ErrorLeftMenuMustHaveAParentId").'
'; $action = 'create'; @@ -156,11 +173,9 @@ if ($action == 'add') if (! $error) { $menu = new Menubase($db); - $menu->fk_menu=$_POST['menuId']; $menu->menu_handler=$_POST['menu_handler']; $menu->type=$_POST['type']; $menu->titre=$_POST['titre']; - $menu->leftmenu=$_POST['leftmenu']; $menu->url=$_POST['url']; $menu->langs=$_POST['langs']; $menu->position=$_POST['position']; @@ -168,6 +183,18 @@ if ($action == 'add') $menu->perms=$_POST['perms']; $menu->target=$_POST['target']; $menu->user=$_POST['user']; + if (is_numeric($_POST['menuId'])) + { + $menu->fk_menu=$_POST['menuId']; + } + else + { + if ($_POST['type'] == 'top') $menu->fk_menu=0; + else $menu->fk_menu=-1; + $menu->fk_mainmenu=$mainmenu; + $menu->fk_leftmenu=$leftmenu; + } + $result=$menu->create($user); if ($result > 0) { @@ -311,22 +338,22 @@ if ($action == 'create') } else { - print ''; + print ''; } print ''.$langs->trans('DetailMenuIdParent').''; // Title print ''.$langs->trans('Title').''.$langs->trans('DetailTitre').''; + // URL + print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; + // Langs print ''.$langs->trans('LangFile').''.$langs->trans('DetailLangs').''; // Position print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; - // URL - print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; - // Target print ''.$langs->trans('Target').''.$langs->trans('DetailTitre').''; + // Url + print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; + // Langs print ''.$langs->trans('LangFile').''.$langs->trans('DetailLangs').''; // Position print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; - // Url - print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; - // Target print ''.$langs->trans('Target').'