function index($params) { if (is_admin() == false) { return; } if (isset($params['content_type']) and $params['content_type'] == 'category') { print load_module('categories/edit_category', $params); return; } $data = false; $just_saved = false; $is_new_content = false; $is_current = false; $is_live_edit = false; if (!isset($is_quick)) { $is_quick = false; } // if (isset($params['is_shop'])) { // if (trim($params['is_shop']) == 'y') { // $params['is_shop'] = 1; // } else if (trim($params['is_shop']) == 'n') { // $params['is_shop'] = 0; // } // } if (isset($params['live_edit'])) { $is_live_edit = $params['live_edit']; } elseif (isset($params['from_live_edit'])) { $is_live_edit = $params['from_live_edit']; } if (isset($params['quick_edit'])) { $is_quick = $params['quick_edit']; } if ($is_live_edit == true) { $is_quick = false; } if (isset($params['just-saved'])) { $just_saved = $params['just-saved']; } if (isset($params['is-current'])) { $is_current = $params['is-current']; } if (isset($params['page-id'])) { $data = $this->app->content_manager->get_by_id(intval($params["page-id"])); } if (isset($params['content-id'])) { $data = $this->app->content_manager->get_by_id(intval($params["content-id"])); } $recommended_parent = false; if (isset($params['recommended_parent']) and $params['recommended_parent'] != false) { $recommended_parent = $params['recommended_parent']; } elseif (isset($params['parent']) and $params['parent'] != false) { $recommended_parent = $params['parent']; } // dd($params); $categories_active_ids = false; $title_placeholder = false; if (isset($params['category']) and $params['category'] != false) { $categories_active_ids = $params['category']; } elseif (isset($params['selected-category-id']) and $params['selected-category-id'] != false) { $categories_active_ids = $params['selected-category-id']; } /* FILLING UP EMPTY CONTENT WITH DATA */ if ($data == false or empty($data)) { $is_new_content = true; $data = $this->empty_data; if (isset($params['content_type'])) { $data['content_type'] = $params['content_type']; } if (isset($params['subtype'])) { $data['subtype'] = $params['subtype']; if ($data['subtype'] == 'post') { $data['content_type'] = 'post'; } } if (isset($data['content_type']) and $data['content_type'] == 'post' and $data['subtype'] == 'static') { $data['subtype'] = 'post'; } else { if (isset($data['content_type']) and $data['content_type'] == 'product' and $data['subtype'] == 'static') { $data['content_type'] = 'product'; $data['subtype'] = 'product'; } } } if (isset($params['add-to-menu'])) { $data['add_to_menu'] = $params["add-to-menu"]; } /* END OF FILLING UP EMPTY CONTENT */ /* SETTING PARENT AND ACTIVE CATEGORY */ $forced_parent = false; if (intval($data['id']) == 0 and intval($data['parent']) == 0 and isset($params['parent-category-id']) and $params['parent-category-id'] != 0 and !isset($params['parent-page-id'])) { $cat_page = get_page_for_category($params['parent-category-id']); if (is_array($cat_page) and isset($cat_page['id'])) { $forced_parent = $params['parent-page-id'] = $cat_page['id']; } } if (intval($data['id']) == 0 and intval($data['parent']) == 0 and isset($params['parent-page-id'])) { $data['parent'] = $params['parent-page-id']; if (isset($params['content_type']) and $params['content_type'] == 'product') { $parent_content = $this->app->content_manager->get_by_id($params['parent-page-id']); // if(!isset($parent_content['is_shop']) or $parent_content['is_shop'] != 1){ // $data['parent'] = 0; // } } if (isset($params['parent-category-id']) and $params['parent-category-id'] != 0) { $categories_active_ids = $params['parent-category-id']; } } else { if (intval($data['id']) != 0) { $categories = $this->app->category_manager->get_for_content($data['id']); if (is_array($categories)) { $c = array(); foreach ($categories as $category) { $c[] = $category['id']; } $categories_active_ids = implode(',', $c); } } } /* END OF SETTING PARENT AND ACTIVE CATEGORY */ if ($recommended_parent != false and $data['parent'] == 0) { $data['parent'] = $recommended_parent; } /* SETTING PARENT AND CREATING DEFAULT BLOG OR SHOP IF THEY DONT EXIST */ if ($recommended_parent != false and intval($data['id']) == 0) { if (isset($data['subtype']) and $data['subtype'] == 'post') { if (isset($data['is_shop']) and $data['is_shop'] == 0) { $parent_content = $this->app->content_manager->get_by_id($recommended_parent); if (isset($parent_content['is_shop']) and $parent_content['is_shop'] == 1) { $parent_content_params = array(); $parent_content_params['subtype'] = 'dynamic'; $parent_content_params['content_type'] = 'page'; $parent_content_params['limit'] = 1; $parent_content_params['one'] = 1; $parent_content_params['fields'] = 'id'; $parent_content_params['order_by'] = 'posted_at desc, updated_at desc'; $parent_content_params['is_shop'] = 0; $parent_content = $this->app->content_manager->get($parent_content_params); if (isset($parent_content['id']) and $parent_content['id'] != 0) { $data['parent'] = $recommended_parent = $parent_content['id']; $categories_active_ids = false; } } } } } if ($recommended_parent == false and intval($data['id']) == 0 and intval($data['parent']) == 0) { $parent_content_params = array(); $parent_content_params['subtype'] = 'dynamic'; $parent_content_params['content_type'] = 'page'; $parent_content_params['limit'] = 1; $parent_content_params['one'] = 1; $parent_content_params['parent'] = 0; $parent_content_params['fields'] = 'id'; $parent_content_params['order_by'] = 'posted_at desc, updated_at desc'; if (isset($params['subtype']) and $params['subtype'] == 'post') { $parent_content_params['is_shop'] = 0; $parent_content_params['is_home'] = 0; $parent_content = $this->app->content_manager->get($parent_content_params); if (!isset($parent_content['id'])) { unset($parent_content_params['parent']); $parent_content = $this->app->content_manager->get($parent_content_params); } if (isset($parent_content['id'])) { $data['parent'] = $parent_content['id']; } else { $this->app->content_manager->create_default_content('blog'); $parent_content_params['no_cache'] = true; $parent_content = $this->app->content_manager->get($parent_content_params); } } elseif (isset($params['subtype']) and $params['content_type'] == 'product') { $parent_content_params['is_shop'] = 1; $parent_content = $this->app->content_manager->get($parent_content_params); if (isset($parent_content['id'])) { $data['parent'] = $parent_content['id']; } else { $this->app->content_manager->create_default_content('shop'); $parent_content_params['no_cache'] = true; $parent_content = $this->app->content_manager->get($parent_content_params); } } if (isset($parent_content) and isset($parent_content['id'])) { $data['parent'] = $parent_content['id']; } } elseif ($forced_parent == false and (intval($data['id']) == 0 and intval($data['parent']) != 0) and isset($data['subtype']) and $data['content_type'] == 'product') { //if we are adding product in a page that is not a shop $parent_shop_check = $this->app->content_manager->get_by_id($data['parent']); if (!isset($parent_shop_check['is_shop']) or $parent_shop_check['is_shop'] != 1) { $parent_content_shop = $this->app->content_manager->get('content_type=page&order_by=updated_at desc&one=true&is_shop=0'); if (isset($parent_content_shop['id'])) { $data['parent'] = $parent_content_shop['id']; } } } elseif ($forced_parent == false and (intval($data['id']) == 0 and intval($data['parent']) != 0) and isset($data['subtype']) and $data['subtype'] == 'post') { $parent_shop_check = $this->app->content_manager->get_by_id($data['parent']); if (!isset($parent_shop_check['content_type']) or $parent_shop_check['content_type'] != 'page') { $parent_content_shop = $this->app->content_manager->get('order_by=updated_at desc&one=true&content_type=page&subtype=dynamic&is_shop=1'); if (isset($parent_content_shop['id'])) { $data['parent'] = $parent_content_shop['id']; } } } /* END OF SETTING PARENT AND CREATING DEFAULT BLOG OR SHOP IF THEY DONT EXIST */ $module_id = $params['id']; $post_list_view = $this->views_dir . 'edit.php'; $this->app->event_manager->trigger('module.content.edit.main', $data); //d($params); //d($data['content_type']); //d($data); $view = new View($post_list_view); $view->assign('params', $params); $view->assign('module_id', $module_id); $view->assign('just_saved', $just_saved); $view->assign('is_new_content', $is_new_content); $view->assign('is_current', $is_current); $view->assign('is_live_edit', $is_live_edit); $view->assign('recommended_parent', $recommended_parent); $view->assign('categories_active_ids', $categories_active_ids); $view->assign('title_placeholder', $title_placeholder); $view->assign('rand', rand()); $view->assign('data', $data); $view->assign('is_quick', $is_quick); return $view->display(); }
public function testContentCategories() { $params = array('title' => 'My categories page', 'content_type' => 'page', 'subtype' => 'dynamic', 'is_active' => 1); //saving $parent_page_id = save_content($params); $parent_page_data = get_content_by_id($parent_page_id); $params = array('title' => 'Test Category 1', 'parent_page' => $parent_page_id); //saving $category_id = save_category($params); $category_data = get_category_by_id($category_id); $category_page = get_page_for_category($category_data['id']); $delete_category = delete_category($category_id); $delete_page = delete_content($parent_page_id); $deleted_page = get_content_by_id($parent_page_id); $params = array('title' => 'Test Category with invalid position', 'position' => 'uga buga'); $category_with_invalid_pos = save_category($params); //PHPUnit $this->assertEquals(true, intval($parent_page_id) > 0); $this->assertEquals(true, intval($category_id) > 0); $this->assertEquals(true, is_array($category_data)); $this->assertEquals(true, is_array($category_page)); $this->assertEquals($category_page['title'], $parent_page_data['title']); $this->assertEquals(true, $delete_category); $this->assertEquals(false, $deleted_page); $this->assertEquals(true, intval($category_with_invalid_pos) > 0); $this->assertEquals(true, is_array($delete_page)); }
$params['rel_type'] = 'content'; $category_tree_parent_page = get_option('data-content-id', $params['id']); $category_parent = get_option('data-category-id', $params['id']); if ($category_tree_parent_page == false and isset($params['content_id'])) { $params['rel_id'] = $params['content_id'] = trim($params['content_id']); } elseif ($category_tree_parent_page == false and isset($params['page-id'])) { $params['rel_id'] = $params['content_id'] = trim($params['page-id']); } if ($category_tree_parent_page != false and $category_tree_parent_page != '' and $category_tree_parent_page != 0) { $params['rel_id'] = $params['content_id'] = $category_tree_parent_page; } if ($category_tree_parent_page == false and isset($params['current-page']) and $params['current-page'] == true) { $params['rel_id'] = $params['content_id'] = PAGE_ID; } if (intval($category_parent) > 0) { $check_if_cat_is_in_page = get_page_for_category($category_parent); if (isset($check_if_cat_is_in_page['id']) and isset($params['rel_id']) and $params['rel_id'] != 0) { if ($check_if_cat_is_in_page['id'] == $params['rel_id']) { $params['parent'] = $category_parent; } } } $module_template = get_option('data-template', $params['id']); if ($module_template == false and isset($params['template'])) { $module_template = $params['template']; } if ($module_template != false) { $template_file = module_templates($config['module'], $module_template); } else { $template_file = module_templates($config['module'], 'default'); }