prepare($sql); $st->execute(); update_menu($array_menu); show_alert('Menu saved!', 'success'); } } function update_menu($menu,$parent = 0) { global $conn; if (!empty($menu)) { foreach ($menu as $value) { $label = $value['label']; $name = 'top_nav'; $url = (empty($value['url'])) ? '#' : $value['url']; $sql = "INSERT INTO menus (label, url, parent_id, name) VALUES (:label, :url, :parent, :name)"; $st = $conn->prepare($sql); $st->bindValue(':label', $label, PDO::PARAM_STR); $st->bindValue(':url', $url, PDO::PARAM_STR); $st->bindValue(':name', $name, PDO::PARAM_STR); $st->bindValue(':parent', $parent, PDO::PARAM_INT); $st->execute(); $id = $conn->lastInsertId(); if (array_key_exists('children', $value)) update_menu($value['children'],$id); } } } function render_menu_item($id, $label, $url) { return '
  • ' . '
    Drag
    ' . '
    ' . $label . '' . '
    ' . '
    ' . '
    ' . '
    ' . '' . '
    ' . '
    ' . '' . '
    ' . '

    Remove | ' . 'Close

    ' . '
    '; } function menu_tree($parent_id = 0) { global $conn; $items = ''; $sql = "SELECT * FROM menus WHERE parent_id = :parent_id ORDER BY id ASC"; $st = $conn->prepare($sql); $st->bindValue(":parent_id", $parent_id, PDO::PARAM_INT); $st->execute(); $result = $st->fetchAll(); if (count($result)) { $items .= '
      '; foreach ($result as $row) { $items .= render_menu_item($row['id'], $row['label'], $row['url']); $items .= menu_tree($row['id']); $items .= ''; } $items .= '
    '; } return $items; } ?>

    ' : $html_menu; ?>

    '; foreach ($pages as $page) { echo '
    '; echo ''; echo '
    '; } echo '

    '; echo ''; } else { _e('Empty'); } ?>
    '; foreach ($categories as $category) { echo '
    '; echo ''; echo '
    '; } echo '

    '; echo ''; } else { _e('Empty'); } ?>