public function index() { $productObj = new products_model(); $productObj->limit = 4; $productObj->where = array('published' => 1, 'featured' => 1); $this->data['featured_products'] = $productObj->get(); if ($this->data['featured_products']) { foreach ($this->data['featured_products'] as $product) { if ($product->category) { $categoryObj = new categories_model(); $categoryObj->id = $product->category; $category = $categoryObj->get(); $product->category = $category->name; $product->category_url = $category->url; } } } $productObj = new products_model(); $productObj->limit = 4; $productObj->order = array('date_published', 'desc'); $productObj->where = array('published' => 1); $this->data['new_products'] = $productObj->get(); if ($this->data['new_products']) { foreach ($this->data['new_products'] as $product) { if ($product->category) { $categoryObj = new categories_model(); $categoryObj->id = $product->category; $category = $categoryObj->get(); $product->category = $category->name; $product->category_url = $category->url; } } } /*---------- Meta Details ----------*/ $this->page = $this->config->item('pages')['home']; $this->data['title'] = $this->page['title']; $this->data['keywords'] = $this->page['keywords']; $this->data['description'] = $this->page['description']; $this->data['social_meta_title'] = $this->page['social_meta_title']; $this->data['social_meta_image'] = $this->page['social_meta_image']; /*---------- End Meta Details ----------*/ $this->data['content'] = 'pages/home'; $this->load->view('layout', $this->data); }
public function index($product_url = '') { $categoryObj = new categories_model(); $categoryObj->where = array('published' => 1); $this->data['categories'] = $categoryObj->get(); if ($product_url && $product_url != 'page') { $productObj = new products_model(); $productObj->where = array('url' => $product_url); $productObj->id = $productObj->get_id(); $this->data['product'] = $productObj->get(); if ($this->data['product']->category) { $categoryObj = new categories_model(); $categoryObj->id = $this->data['product']->category; $category = $categoryObj->get(); $this->data['product']->category = $category->name; $this->data['product']->category_url = $category->url; } /*---------- Meta Details ----------*/ $this->data['title'] = $this->data['product']->name . ' | ' . $this->page['title']; $this->data['keywords'] = $this->data['product']->meta_keywords; $this->data['description'] = $this->data['product']->meta_description; $this->data['social_meta_title'] = $this->data['product']->social_meta_title ? $this->data['product']->social_meta_title : $this->data['product']->name . ' | ' . $this->page['title']; $this->data['social_meta_image'] = $this->data['product']->social_meta_image ? $this->data['product']->social_meta_image : ''; /*---------- End Meta Details ----------*/ $this->data['content'] = 'pages/product_view'; $this->load->view('layout', $this->data); } else { $productObj = new products_model(); $productObj->where = array('published' => 1); /*---------- Meta Details ----------*/ $this->data['title'] = $this->page['title']; $this->data['keywords'] = $this->page['keywords']; $this->data['description'] = $this->page['description']; $this->data['social_meta_title'] = $this->page['social_meta_title']; $this->data['social_meta_image'] = $this->page['social_meta_image']; /*---------- End Meta Details ----------*/ if ($this->input->get()) { if ($this->data['category_url'] = $this->input->get('category', TRUE)) { $categoryObj = new categories_model(); $categoryObj->where = array('url' => $this->data['category_url']); $categoryObj->id = $categoryObj->get_id(); $category = $categoryObj->get(); if (!$category) { redirect(base_url('products'), 'location', 'refresh'); } $this->data['heading'] = $category->name; /*---------- Meta Details ----------*/ $this->data['title'] = $category->name . ' | ' . $this->page['title']; $this->data['keywords'] = $category->meta_keywords; $this->data['description'] = $category->meta_description; $this->data['current_url'] = base_url('products') . '?category=' . $this->data['category_url']; $this->data['social_meta_title'] = $category->social_meta_title ? $category->social_meta_title : $category->name . ' | ' . $this->page['title']; $this->data['social_meta_image'] = $category->social_meta_image ? $category->social_meta_image : ''; /*---------- End Meta Details ----------*/ $productObj->where = array('published' => 1, 'category' => $categoryObj->id); } elseif ($this->data['category_url'] = $this->input->get('category', TRUE) && ($this->data['sort'] = $this->input->get('sort', TRUE))) { $categoryObj = new categories_model(); $categoryObj->where = array('url' => $this->data['category_url']); $categoryObj->id = $categoryObj->get_id(); $category = $categoryObj->get(); if (!$category) { redirect(base_url('products'), 'location', 'refresh'); } $this->data['heading'] = $category->name; /*---------- Meta Details ----------*/ $this->data['title'] = $category->name . ' | ' . $this->page['title']; $this->data['keywords'] = $category->meta_keywords; $this->data['description'] = $category->meta_description; $this->data['current_url'] = base_url('products') . '?category=' . $this->data['category_url']; $this->data['social_meta_title'] = $category->social_meta_title ? $category->social_meta_title : $category->name . ' | ' . $this->page['title']; $this->data['social_meta_image'] = $category->social_meta_image ? $category->social_meta_image : ''; /*---------- End Meta Details ----------*/ switch ($this->data['sort']) { case 'featured': $productObj->where = array('published' => 1, 'category' => $categoryObj->id); $productObj->where = array('published' => 1, 'featured' => 1); break; case 'latest': $productObj->where = array('published' => 1, 'category' => $categoryObj->id); $productObj->order = array('date_published', 'desc'); break; case 'oldest': $productObj->order = array('date_published', 'asc'); $productObj->where = array('published' => 1, 'category' => $categoryObj->id); break; case 'price-high-to-low': $productObj->order = array('price', 'desc'); $productObj->where = array('published' => 1, 'category' => $categoryObj->id); break; case 'price-low-to-high': $productObj->order = array('price', 'asc'); $productObj->where = array('published' => 1, 'category' => $categoryObj->id); break; default: $productObj->where = array('published' => 1, 'category' => $categoryObj->id); break; } } elseif ($this->data['sort'] = $this->input->get('sort', TRUE)) { switch ($this->data['sort']) { case 'featured': $productObj->where = array('published' => 1, 'featured' => 1); break; case 'latest': $productObj->order = array('date_published', 'desc'); break; case 'oldest': $productObj->order = array('date_published', 'asc'); break; case 'price-high-to-low': $productObj->order = array('price', 'desc'); break; case 'price-low-to-high': $productObj->order = array('price', 'asc'); break; default: # code... break; } } else { redirect(base_url('products'), 'location', 'refresh'); } } $row_count = $productObj->count(); // Customize pagination $config = $this->config->item('pagination'); $config['base_url'] = base_url('products'); $config['total_rows'] = $row_count; $config['per_page'] = 8; $config['prefix'] = 'page/'; $this->pagination->initialize($config); $page = $this->uri->segment(3) ? $this->uri->segment(3) : 0; $productObj->limit = $config['per_page']; $productObj->offset = $page; $this->data['products'] = $productObj->get(); if ($this->data['products']) { foreach ($this->data['products'] as $product) { if ($product->category) { $categoryObj = new categories_model(); $categoryObj->id = $product->category; $category = $categoryObj->get(); $product->category = $category->name; $product->category_url = $category->url; } } } $this->data['pagination'] = $this->pagination->create_links(); $this->data['content'] = 'pages/products'; $this->load->view('layout', $this->data); } }
public function edit($inserted_id) { $productsObj = new products_model(); $productsObj->id = $inserted_id; if ($this->input->post()) { //$this->form_validation->set_rules('category', 'Category Name', "trim|required|xss_clean|callback_update_unique['.$categoryObj->id.']"); //$this->form_validation->set_message('update_unique', 'The %s that you requested is unavailable.'); if ($this->form_validation->run() == FALSE) { $this->data['form'] = $productsObj->get(); $this->data['errors'] = ''; $this->load->view('admin/edit-product', $this->data); } else { $productsObj->name = $this->input->post('category', TRUE); $productsObj->status = 0; if (!$productsObj->update()) { $this->data['form'] = array('category' => $this->input->post('category')); $this->data['errors'] = 'Fail'; $this->load->view('admin/edit-product', $this->data); } else { if (isset($_FILES['image']) && is_uploaded_file($_FILES['image']['tmp_name'])) { // File Uploading $config['upload_path'] = './assests/products/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '100'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $config['required'] = '-1'; $config['file_name'] = 'product_' . $productsObj->id; $this->load->library('upload', $config); if (!$this->upload->do_upload('image')) { $this->session->set_flashdata('error', $this->upload->display_errors()); redirect('admin/products/edit/' . $productsObj->id, 'refresh'); } else { $data = array('upload_data' => $this->upload->data()); $productsObj->image = $data['upload_data']['file_name']; $productsObj->update(); } } redirect('admin/products', 'refresh'); } } } else { $this->data['form'] = $categoryObj->get(); $this->data['errors'] = ''; $this->load->view('admin/edit-category', $this->data); } }