public function add_content_to_menu($content_id, $menu_id = false)
{
$id = $this->app->user_manager->is_admin();
if (defined('MW_API_CALL') and $id == false) {
return;
}
$new_item = false;
$id = $this->app->user_manager->is_admin();
if (defined('MW_API_CALL') and $id == false) {
return;
}
if (isset($content_id['id'])) {
$content_id = $content_id['id'];
}
$content_id = intval($content_id);
if ($content_id == 0 or !isset($this->tables['menus'])) {
return;
}
if ($menu_id != false) {
// $_REQUEST['add_content_to_menu'] = array( $menu_id);
}
$menus = $this->tables['menus'];
if (isset($_REQUEST['add_content_to_menu']) and is_array($_REQUEST['add_content_to_menu'])) {
$add_to_menus = $_REQUEST['add_content_to_menu'];
$add_to_menus_int = array();
foreach ($add_to_menus as $value) {
if ($value == 'remove_from_all') {
Menu::where('content_id', $content_id)->where('item_type', 'menu_item')->delete();
$this->app->cache_manager->delete('menus');
}
$value = intval($value);
if ($value > 0) {
$add_to_menus_int[] = $value;
}
}
}
$add_under_parent_page = false;
$content_data = false;
if (isset($_REQUEST['add_content_to_menu_auto_parent']) and $_REQUEST['add_content_to_menu_auto_parent'] != false) {
$add_under_parent_page = true;
$content_data = $this->get_by_id($content_id);
if ($content_data['is_active'] != 1) {
return false;
}
}
if (!isset($add_to_menus_int) or empty($add_to_menus_int)) {
if ($menu_id != false) {
$add_to_menus_int[] = intval($menu_id);
}
}
if (isset($add_to_menus_int) and is_array($add_to_menus_int)) {
Menu::where('content_id', $content_id)->where('item_type', 'menu_item')->whereNotIn('parent_id', $add_to_menus_int)->delete();
foreach ($add_to_menus_int as $value) {
// $check = $this->app->menu_manager->get_menu_items("parent_id={$value}&content_id=$content_id");
$check = Menu::where('content_id', $content_id)->where('item_type', 'menu_item')->where('parent_id', $value)->count();
if ($check == 0) {
$save = array();
$save['item_type'] = 'menu_item';
$save['is_active'] = 1;
$save['parent_id'] = $value;
$save['position'] = 999999;
if ($add_under_parent_page != false and is_array($content_data) and isset($content_data['parent'])) {
$parent_cont = $content_data['parent'];
$check_par = $this->app->menu_manager->get_menu_items("limit=1&one=1&content_id={$parent_cont}");
if (is_array($check_par) and isset($check_par['id'])) {
$save['parent_id'] = $check_par['id'];
}
}
$save['url'] = '';
$save['content_id'] = $content_id;
$new_item = $this->app->database_manager->save($menus, $save);
$this->app->cache_manager->delete('menus');
$this->app->cache_manager->delete('menus/' . $save['parent_id']);
$this->app->cache_manager->delete('menus/' . $value);
$this->app->cache_manager->delete('content/' . $content_id);
}
}
$this->app->cache_manager->delete('menus/global');
$this->app->cache_manager->delete('menus');
}
return $new_item;
}