public function menu_item_save($data_to_save)
{
$id = $this->app->user_manager->is_admin();
if ($id == false) {
mw_error('Error: not logged in as admin.' . __FILE__ . __LINE__);
}
if (isset($data_to_save['menu_id'])) {
$data_to_save['id'] = intval($data_to_save['menu_id']);
$this->app->cache_manager->delete('menus/' . $data_to_save['id']);
}
if (!isset($data_to_save['id']) and isset($data_to_save['link_id'])) {
$data_to_save['id'] = intval($data_to_save['link_id']);
}
if (isset($data_to_save['id'])) {
$data_to_save['id'] = intval($data_to_save['id']);
$this->app->cache_manager->delete('menus/' . $data_to_save['id']);
}
if (!isset($data_to_save['id']) or intval($data_to_save['id']) == 0) {
$data_to_save['position'] = 99999;
}
$url_from_content = false;
if (isset($data_to_save['content_id']) and intval($data_to_save['content_id']) != 0) {
$url_from_content = 1;
}
if (isset($data_to_save['categories_id']) and intval($data_to_save['categories_id']) != 0) {
$url_from_content = 1;
}
if (isset($data_to_save['content_id']) and intval($data_to_save['content_id']) == 0) {
unset($data_to_save['content_id']);
}
if (isset($data_to_save['categories_id']) and intval($data_to_save['categories_id']) == 0) {
unset($data_to_save['categories_id']);
//$url_from_content = 1;
}
if ($url_from_content != false) {
if (!isset($data_to_save['title'])) {
$data_to_save['title'] = '';
}
}
if (!isset($data_to_save['auto_populate'])) {
$data_to_save['auto_populate'] = '';
}
if (isset($data_to_save['categories'])) {
unset($data_to_save['categories']);
}
if ($url_from_content == true and isset($data_to_save['url'])) {
$data_to_save['url'] = '';
}
if (isset($data_to_save['parent_id'])) {
$data_to_save['parent_id'] = intval($data_to_save['parent_id']);
$this->app->cache_manager->delete('menus/' . $data_to_save['parent_id']);
}
$table = $this->tables['menus'];
$data_to_save['table'] = $table;
$data_to_save['item_type'] = 'menu_item';
$save = $this->app->database_manager->save($table, $data_to_save);
$this->app->cache_manager->delete('menus/global');
return $save;
}