<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Category extends CI_Controller {
public function __construct() {
		parent::__construct();
		date_default_timezone_set("Asia/Kolkata");
		$this->load->model('Category_model');
		if(!$this->session->userdata('logged_in')) {
			redirect(base_url());
		}
		else {
			$menu = $this->session->userdata('admin');
			if( $menu!=1  ) {
				$this->session->set_flashdata('message', array('message' => "You don't have permission to access testimonials page.",'class' => 'danger'));
				redirect(base_url().'dashboard');
			}
		}
	}

public function index()
    {


     $data['menu'] = 'Category Management';
     $data['smenu'] = 'View Category List';
     $data['pTitle'] = "Category Management";
     $data['pDescription'] = "View Category List";
     $data['page'] = 'Category/list';
     $data['datatable'] = 1;
     $data['categoryData']=$this->Category_model->getCategoryData();

     $this->load->view('template', $data);
 }

public function create()
 {
   $data['menu'] = 'Category Management';
   $data['smenu'] = 'Add Category';
   $data['pTitle'] = "Category Management";
   $data['pDescription'] = "Add Category";
   $data['page'] = 'Category/create';
   $data['categoryData'] = $this->Category_model->getCategoryData();
   
   $this->load->view('template', $data);
}


	
public function create_category()
{
    $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
    if(!isset($_POST) || empty($_POST)){
        $this->session->set_flashdata('message',$flashMsg);
        redirect(base_url('Category/create'));
    }



    $err = 0;
    $errMsg = '';
    if($err == 0 && (!isset($_POST['cat_name']) || empty($_POST['cat_name']))){
        $err = 1;
        $errMsg = 'Provide a Category Name';
        
    } else if($err == 0 && (!isset($_FILES) || empty($_FILES) || 
        !isset($_FILES['category']) || empty($_FILES['category']))){
        $err = 1;
        $errMsg = 'Provide a Category Image';
    } 




    if($err == 0){



         $files = $_FILES;
                    $cpt = count($_FILES['category']['name']);

                    $_FILES['userfile']['name']= time().$files['category']['name'];
                    $_FILES['userfile']['type']= $files['category']['type'];
                    $_FILES['userfile']['tmp_name']= $files['category']['tmp_name'];
                    $_FILES['userfile']['error']= $files['category']['error'];
                    $_FILES['userfile']['size']= $files['category']['size'];
                    $config = array();
                    $config['upload_path'] = './uploads/category';
                    $config['allowed_types'] = 'gif|jpg|jpeg|png|flv|f4v';
                    $config['max_size']      = '';
                    $config['overwrite']     = FALSE;
                    $this->load->library('upload', $config);
                    $this->upload->initialize($config);
                    $upload_img = $this->upload->do_upload();
        
        
        $uploading_file = $this->upload->data();
        $image_file = $config['upload_path'].'/'.$uploading_file['file_name'];

        
        $categoryData = array(
                        'cat_name' => $this->input->post('cat_name'),
                        
                        'cat_image' => $image_file

                       
                    );
        
    }

    if($err == 1){
        $flashMsg['message'] = $errMsg;
        $this->session->set_flashdata('message',$flashMsg);
        redirect(base_url('Category'));
    }



    $qry = $this->Category_model->add_category($categoryData);
    if($qry)
    {
        
       $this->session->set_flashdata('message', array('message' => "Successfully added.",'class' => 'success'));
       redirect(base_url().'Category');
       
       
   }else{
     $this->session->set_flashdata('message',$flashMsg);
     
 }


 


 
}

	
function edit($category_id=''){
    $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
    if(empty($category_id) || empty(decode_param($category_id))){
        $this->session->set_flashdata('message',$flashMsg);
        redirect(base_url('Category/list'));
    }
    $data['page'] = 'Category/create';
    $data['menu'] = 'Category Management';
    $data['smenu'] = 'Edit Category';
    $data['pTitle'] = "Edit Category";
    $data['pDescription'] = "Update Category Data";

    $data['category_id'] = $category_id;
    $data['categoryData'] = $this->Category_model->getCategoryData(decode_param($category_id));
    
    $this->load->view('template',$data);
}



public function edit_category($category_id='')
	{

          $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');

    if(!isset($_POST) || empty($_POST) || empty($category_id)){
        $this->session->set_flashdata('message',$flashMsg);
        redirect(base_url('Category'));
    }

 if(isset($_FILES['category']['name']) && !empty($_FILES['category']['name']))
                {

                    $files = $_FILES;
                    $cpt = count($_FILES['category']['name']);

                    $_FILES['userfile']['name']= time().$files['category']['name'];
                    $_FILES['userfile']['type']= $files['category']['type'];
                    $_FILES['userfile']['tmp_name']= $files['category']['tmp_name'];
                    $_FILES['userfile']['error']= $files['category']['error'];
                    $_FILES['userfile']['size']= $files['category']['size'];
                    $config = array();
                    $config['upload_path'] = './uploads/category';
                    $config['allowed_types'] = 'gif|jpg|jpeg|png|flv|f4v';
                    $config['max_size']      = '';
                    $config['overwrite']     = FALSE;
                    $this->load->library('upload', $config);
                    $this->upload->initialize($config);
                    $upload_img = $this->upload->do_upload();
                    
                    if(!$upload_img){

                    	$this->session->set_flashdata('message', array('message' => $this->upload->display_errors(),'class' => 'danger'));
                       
                    } else{
                        $uploading_file = $this->upload->data();
                        $image_file = $config['upload_path'].'/'.$uploading_file['file_name'];

                    }
                   
                    $categoryData = array(
                        'cat_name' => $this->input->post('cat_name'),
                        
                        'cat_image' => $image_file);

                       
                    
                    }else{
                    $categoryData = array(
                        'cat_name' => $this->input->post('cat_name'));
                        
                        }

       
                     $result = $this->Category_model->update_category(decode_param($category_id),$categoryData);
                    if($result)
                    {
                        
                         $this->session->set_flashdata('message', array('message' => "Successfully Updated.",'class' => 'success'));
                          redirect(base_url().'Category');
                    	
                        
                    }else{
                    	$this->session->set_flashdata('message', array('message' => "Please try again.",'class' => 'danger'));
                        
                    }


 
}

public function delete($category_id='') {
    
    $result = $this->Category_model->delete_category(decode_param($category_id));
    $this->session->set_flashdata('message', array('message' => 'Category Deleted Successfully','class' => 'success'));
    redirect(base_url().'Category');
}





}