HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /var/www/html/pmw24/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);
	}
}