'.$el['linkvalue'].'
');
}
// handle ADD/EDIT actions
///////////////////////////////////
if(isset($_POST['valider'])) {
$allowed_tags = "";
$disp_name = $sql_object->DBEscape(strip_tags($_POST['disp_name'], $allowed_tags));
$disc = $sql_object->DBEscape(strip_tags($_POST['description'], $allowed_tags));
$url = $sql_object->DBEscape(str_replace('&', '&', strip_tags($_POST['url']))); // because '&' is automatically converted to '&' on __init__ file
$accesskey = $sql_object->DBEscape(strip_tags($_POST['accesskey']));
$parent_level = $_POST['disp_location'];
if(isset($_POST['active'])) $active = 'Y'; else $active = 'N';
if($parent_level == '0_0'){
$parent = '0';
$sublevel = '0';
}
else {
$arr = explode('_',$parent_level);
$parent = $arr[0];
$sublevel = $arr[1]+1;
}
$select_menu = "SELECT MAX(menu_order) as maxrecord FROM l21_menu WHERE menu_parent=".$parent;
$result = mysqli_query($cn, $select_menu);
if($result && mysqli_num_rows($result) > 0){
$row = mysqli_fetch_assoc($result);
$maxrecord = $row['maxrecord'];
$order = $maxrecord + 1;
mysqli_free_result($result);
}
else{
$order = '1';
}
if(isset($_POST['action']) && ($_POST['action'] == 'add'))
{
$fields = array("menu_item","menu_description","menu_url","menu_accesskey","menu_parent","menu_sublevel","menu_order","menu_active","menu_reference");
$values = array("'$disp_name'","'$disc'","'$url'","'$accesskey'","$parent","$sublevel","$order", "'$active'",0);
$result = table_insert("l21_menu",$fields,$values);
$insert_id = mysqli_insert_id($cn);
}
if(isset($_POST['action']) && ($_POST['action'] == 'edit'))
{
$menu_id = (isset($_POST['eid'])?intval($_POST['eid']):-1);
$fields = array("menu_item","menu_description","menu_url","menu_accesskey","menu_parent","menu_active","menu_sublevel");
$values = array("'$disp_name'","'$disc'","'$url'","'$accesskey'","$parent", "'$active'","$sublevel");
$column=array("menu_id");
$condition=array("$menu_id");
$result = table_update("l21_menu",$fields,$values,$column,$condition);
}
$message = _t('dynamic_menu', 'save_success');
}
// handle ORDERING actions
///////////////////////////////////
if (isset($_GET['dir']) && isset($_GET['id'])) {
$dir = $_GET['dir'];
$id = intval($_GET['id']);
switch ($dir){
case 'up':
$swap = ($id > 1)? $id-- : 1;
break;
case 'down':
$orderquery = "select MAX(menu_order) as maxorder from l21_menu where menu_parent = ".intval($_GET['pid']).";";
$orderresult = mysqli_query($cn, $orderquery);
$orderrow = mysqli_fetch_row($orderresult);
$maxorder = intval($orderrow[0]); mysqli_free_result($orderresult);
if ($id < $maxorder) {
$sql = "SELECT count(*) FROM l21_menu";
$result = mysqli_query($cn, $sql) or die(mysqli_error());
$r = mysqli_fetch_row($result);
$max = intval($r[0]);
$swap = ($id < $max)? $id++ : $max;
mysqli_free_result($result);
} else {
$swap = $id;
}
break;
default:
$swap = $id;
}
$sql = "UPDATE l21_menu SET `menu_order` = CASE `menu_order` WHEN $id THEN $swap WHEN $swap THEN $id END WHERE `menu_order` IN ($id, $swap) and menu_parent=".intval($_GET['pid']);
$result = mysqli_query($cn, $sql) or die(mysqli_error());
header("Location: ". str_replace('&', '&', $current_url));
}
if(isset($message)) {
echo '