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 adggd() { $categoriesObj = new categories_model(); $this->data['categories'] = $categoriesObj->get(); if ($this->input->post()) { $insert_data['name'] = $this->input->post('name'); $insert_data['description'] = $this->input->post('description'); $insert_data['category'] = $this->input->post('category'); $insert_data['price'] = $this->input->post('price'); $insert_data['promotion'] = $this->input->post('promotion'); $insert_data['promotion_price'] = $this->input->post('promotion_price'); $insert_data['image'] = $this->input->post('image'); $this->form_validation->set_rules('name', 'Product Name', 'required'); $this->form_validation->set_rules('category', 'Category', 'required'); $this->form_validation->set_rules('price', 'Price', 'required|decimal'); $this->form_validation->set_rules('promotion[]', 'Promotion', 'required|decimal'); $this->form_validation->set_rules('promotion_price', 'Promotion Price', 'decimal'); //$this->form_validation->set_rules('image', 'Image', 'required'); if ($this->form_validation->run() == FALSE) { $this->data['form'] = $insert_data; $this->data['errors'] = ''; $this->load->view('admin/add-product', $this->data); } else { $categoriesObj = new categories_model(); $category_id = $categoriesObj->get_id('name', $insert_data['category']); $productsObj = new products_model(); $productsObj->name = $insert_data['name']; $productsObj->description = $insert_data['description']; $productsObj->price = $insert_data['price']; $productsObj->category = $category_id; $productsObj->image = 'defaults.jpg'; $productsObj->status = 0; $productsObj->promotion = $insert_data['promotion'][0] == 'yes' ? 1 : 0; $productsObj->promotion_price = $insert_data['promotion_price']; $productsObj->insert(); if (!$productsObj->id) { echo "Fail"; } else { $this->data['form'] = $productsObj->get(); // 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['file_name'] = 'products_' . $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['errors'] = ''; $this->load->view('admin/add-product', $this->data); } }