$item) if ($keymax < ($key = str_replace("item_", "", $key))) $keymax = $key; /* Check for removal */ if (!empty($_POST["remitem"])) foreach ($_POST["remitem"] as $key) unset($menu["item_$key"]); /* For eash item in menu list */ $newmenu = array(); foreach ($menu as $key => $item) { $key = str_replace("item_", "", $key); /* Get item */ $newitem = array("name" => $_POST["name_$key"], "url" => $_POST["url_$key"], "level" => $_POST["level_$key"]); if ($_POST["access_$key"] == -1) $newitem["logged"] = "logged"; if ($_POST["access_$key"] > 0 ) $newitem["group"] = getgroupname($db, $_POST["access_$key"]); $rank = $_POST["rank_$key"]; /* Insert new item in postion */ $step = 2; while (array_key_exists("$rank", $newmenu)) { $rank -= 1/$step; $step *= $step; } $newmenu["$rank"] = $newitem; } /* Regen ordonated keys */ $menu = array(); $k = 0; ksort($newmenu, SORT_NUMERIC); foreach ($newmenu as $item) $menu["item_" . ($k++)] = $item; /* Write XML menu file */ if (!($fd = @fopen($menufile, "wb"))) { $page["status"][] = "Erreur! Impossible de modifier le fichier XML menu"; return; } else { fwrite($fd, exportxml($menu, "menu")); fclose($fd); $page["status"][] = "Fichier XML menu modifié."; }