File: /var/www/html/pmw24/pmw_live_testing/app/application/controllers/admin/Category.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Category extends MY_Controller {
public function __construct() {
parent::__construct();
$this->redirect_guest();
$this->admin=$this->session->userdata('admin');
$this->load->model('admin/mcategory');
}
public function index() {
$this->_load_list_view();
}
private function _load_list_view() {
$data['content'] = 'admin/category/list';
$this->load->view('admin/layouts/index', $data);
}
public function all_content_list(){
$list = $this->mcategory->get_datatables();
$data = array();
$no = $_POST['start'];
$i=1;
foreach ($list as $person) {
if($person->parent_id == 0)
{
$parent = 'Parent Category';
}else{
$sub_category = $this->mcategory->get_category($person->parent_id);
$parent = $sub_category['category_name'];
}
$no++;
$row = array();
//$row[]=$i;
$row[] = $person->category_name;
$row[] = $person->parent_ctagory;
$row[] = '<a class="cstm_view" href="'.base_url('admin/category/details/'.$person->category_id).'" title="Edit">Edit</a>|<a class="cstm_view" id="delete" style="padding-left:5px" href="javascript:void(0)" title="'.$person->category_id.'">Delete|</a><a class="cstm_view" id="view" style="padding-left:5px" href="javascript:void(0)" title="'.$person->category_id.'">View</a>';
$data[] = $row;
$i++;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->mcategory->count_all(),
"recordsFiltered" => $this->mcategory->count_filtered(),
"data" => $data,
);
echo json_encode($output);
}
public function add(){
$this->_load_add_view();
}
private function _load_add_view(){
$data['parent_categories'] = $this->mcategory->get_parent_category();
$data['content']='admin/category/add';
$this->load->view('admin/layouts/index',$data);
}
public function get_sub_category()
{
$category_id = $this->input->post('category_id');
$result['sub_category'] = $this->mcategory->get_sub_category($category_id);
if(empty($result))
{
$result = array("service_name"=>"Select");
}
echo json_encode($result);
}
public function add_content(){
if($this->input->post()){
$creator_id = $this->admin['admin_id'];
$this->form_validation->set_rules('category_name','Category Name','required');
if($this->form_validation->run()==FALSE){
$this->_load_add_view();
}else{
$category_name = $this->input->post('category_name');
$category_id = $this->input->post('category');
$check_exsits = $this->mcategory->check_category_exsits($category_name,$category_id);
if($check_exsits == 1){
$this->session->set_flashdata('error_msg','Category already exsits');
redirect('admin/category');
}else{
if($category_id ==0)
{
$udata['category_name'] = $this->input->post('category_name');
$udata['parent_id'] = 0;
$udata['date_of_creation'] = date('Y-m-d');
}else{
$udata['category_name'] = $this->input->post('category_name');
$udata['parent_id'] = $category_id;
$udata['date_of_creation'] = date('Y-m-d');
}
$offer_id=$this->mcategory->add($udata);
$this->session->set_flashdata('success_msg','Category added successfully');
redirect('admin/category');
}
}
}else{
$this->_load_list_view();
}
}
public function update(){
if($this->input->post()){
$creator_id = $this->admin['admin_id'];
$this->form_validation->set_rules('category_name','Category Name','required');
if($this->form_validation->run()==FALSE){
$category_id = $this->input->post('category_id');
$data['cms']=$this->mcategory->get_details($category_id);
$this->_load_details_view($data);
}else{
$category_id = $this->input->post('category_id');
$category_name = $this->input->post('category_name');
$parent_id = $this->input->post('category');
$category_information = $this->mcategory->get_details($category_id);
if($category_information['parent_id'] == $parent_id && $category_information['category_name'] == $category_name)
{
$udata['category_name'] = $this->input->post('category_name');
$udata['parent_id'] = 0;
$udata['date_of_update'] = date('Y-m-d');
$condition=array('category_id'=>$category_id);
$this->mcategory->update($condition,$udata);
$this->session->set_flashdata('success_msg','Category updated successfully');
redirect('admin/category');
}else{
$check_exsits = $this->mcategory->check_category_exsits($category_name,$parent_id);
if($check_exsits == 1){
$this->session->set_flashdata('error_msg','Category already exsits');
redirect('admin/category');
}else{
if($parent_id ==0)
{
$udata['category_name'] = $this->input->post('category_name');
$udata['parent_id'] = 0;
$udata['date_of_update'] = date('Y-m-d');
}else{
$udata['category_name'] = $this->input->post('category_name');
$udata['parent_id'] = $parent_id;
$udata['date_of_update'] = date('Y-m-d');
}
$condition=array('category_id'=>$category_id);
$this->mcategory->update($condition,$udata);
$this->session->set_flashdata('success_msg','Category updated successfully');
redirect('admin/category');
}
}
}
}else{
$this->_load_list_view();
}
}
public function all_details(){
$category_id = $this->input->post('category_id');
$result = $this->mcategory->get_details($category_id);
if($result['parent_id']!=0)
{
$result['parent'] = $this->mcategory->get_category($result['parent_id']);
}else{
$result['parent']['category_name'] = 'Parent Category';
}
echo json_encode($result);
}
public function edit($category_id){
$data['cms']=$this->mcategory->get_details($category_id);
if(empty($data['cms'])){
$this->_load_list_view();
}else{
$this->_load_details_view($data);
}
}
private function _load_details_view($parms){
if($parms['cms']['parent_id']!=0)
{
$data['parent'] = $this->mcategory->get_category($parms['cms']['parent_id']);
}else{
$data['parent']['category_name'] = 'Parent Category';
}
$data['parent_categories'] = $this->mcategory->get_parent_category();
$data['cms']=$parms['cms'];
$data['content'] = 'admin/category/detail';
$this->load->view('admin/layouts/index', $data);
}
public function delete_content(){
$condition['category_id']=$this->input->post('category_id');
$this->mcategory->delete($condition);
$response=array('status'=>1,'message'=>'Success');
echo header('Content-Type: application/json');
echo json_encode($response);
}
}