/** * Return array of available brands by site id * @return json * @author Ruslan Ushakov */ public function getAvailableBrandsForSite() { $this->load->model('ranking_model'); $page = (int) $this->input->post('page'); $select2_search_term = $this->input->post('select2_search_term'); $site_id = $this->input->post('site_id'); $limit = $this->input->post('limit'); $offset = $this->input->post('offset'); $term = $this->input->post('term'); $compare_site_id = (int) $this->input->post('compare_site_id'); $selected_ids = $this->input->post('selected_brands'); $scroll = $this->input->post('scroll'); $selected_groups_ids = array(); $selected_brands = array(); if (!empty($selected_ids)) { foreach ($selected_ids as $id) { if (strpos($id, 'g') !== false) { $selected_groups_ids[] = (int) substr($id, 1); } else { if (!in_array($id, $selected_brands)) { $selected_brands[] = $id; } } } } if (!empty($compare_site_id)) { $site_id = array($site_id, $compare_site_id); } if (!$scroll || $scroll == 'false') { if (!empty($selected_groups_ids)) { $selected_groups = $this->ranking_model->getAvailableRankingBrandGroups($site_id, $selected_groups_ids); } else { $selected_groups = array(); } $brands_groups = $this->ranking_model->getAvailableRankingBrandGroups($site_id, 0, $selected_groups_ids); $brands_groups = array_merge($selected_groups, $brands_groups); } else { $brands_groups = array(); } if (!empty($selected_brands) && (!$scroll || $scroll == 'false')) { $selected = $this->ranking_model->getAvailableBrandsForSite($site_id, 1000, 0, '', array(), $selected_brands); } else { $selected = array(); } if ($page) { $data = $this->ranking_model->getAvailableBrandsForSiteSearchBox($site_id, $page, $select2_search_term); } else { $data = $this->ranking_model->getAvailableBrandsForSite($site_id, $limit, $offset, $term, $selected_brands); $data = array_merge($selected, $data); } if (!$page) { $data = array_merge($brands_groups, $data); } //remove slashes from brand name like "That\'s My Ticket" if (!empty($data)) { foreach ($data as &$brand) { $brand->name = ucwords(strtolower(strip_slashes($brand->name))); if (isset($brand->image_url)) { unset($brand->image_url); } } } $this->output->set_content_type('application/json')->set_output(json_encode($data)); }