Current File : /home/giriqfky/public_html/Barga/application/modules/product/controllers//Product.php
<?php
class Product extends Basecontroller
{
public function __construct()
{
parent::__construct();
$this->load->model('Product_model', 'Product');
$this->load->model('services/Services_model', 'Services');
$this->controller_name = "product";
$this->folder = "product";
$this->per_page = PER_PAGE;
if(!$this->session->userdata('is_login')) { redirect('sessions','refresh'); }
}
public function index()
{
redirect($this->controller_name.'/productList');
}
/*** Code for City start ***/
public function productList()
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 72, "module_view") == 0){ redirect('errors/noPermission');} // Check user access permission
$data = array();
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$city_name = $this->input->post('city_name');
if(!empty($city_name)){
$conditions['search']['city_name'] = $city_name;
}
$total_record = count($this->Product->getTodoList($conditions));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxTodoList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//get the Qualification data
$data['todo'] = $this->Product->getTodoList(array('limit'=>$this->per_page));
$data['title'] = "Product List";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
// echo "<pre>";print_r($data);exit;
$data['cities_html'] = $this->load->view('product/product/ajax_product_lists', $data, true);
$this->template->admin('product/product/product_lists', $data);
}
public function ajaxProductList()
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$name = $this->input->post('name');
if(!empty($name)){
$conditions['search']['name'] = $name;
}
//total rows count
$total_record = count($this->Product->getTodoList($conditions));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxProductList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['todo'] = $this->Product->getTodoList($conditions);
$data['title'] = "Todo List";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
//load the view
$cities_html = $this->load->view('product/product/ajax_product_lists', $data, true);
echo $cities_html;exit;
}
public function productForm($product_id = 0)
{
if($product_id == "" || !is_numeric($product_id)){redirect('errors/invalidRequest');} // Check passing argument
if(checkModuleAccessByUser(userInfo('user_role_id'), 72, "module_edit") == 0){ redirect('errors/noPermission');} // Check user access permission
$data['title'] = "Product Form";
$data['product_id'] = $product_id;
if($product_id > 0) { $data['todo_data'] = $this->Product->getTodoData($product_id); }
if($this->input->post()) {
if($product_id == 0) {
$this->form_validation->set_rules('name', 'Name', 'trim|required');
}
else{
$this->form_validation->set_rules('name', 'Name', 'trim|required');
}
if ($this->form_validation->run() === TRUE) {
$data_array['purchase_order_no'] = trim($this->input->post('purchase_order_no'));
$data_array['purchase_order_date'] = trim($this->input->post('purchase_order_date'));
$data_array['name'] = trim($this->input->post('name'));
$data_array['qty'] = trim($this->input->post('quantity'));
$data_array['tax'] = trim($this->input->post('tax'));
$data_array['details'] = trim($this->input->post('details'));
$data_array['type'] = trim($this->input->post('type'));
$data_array['packing'] = trim($this->input->post('packing'));
$data_array['price'] = trim($this->input->post('price'));
$data_array['status'] = $this->input->post('status');
if(in_array($data_array['type'],PACKAGE_FOOD_TYPES)){
$data_array['inventery'] = $this->input->post('inventery');
}else{
$data_array['inventery'] = 0;
}
if (!empty($_FILES['product_image']['name'])){
if(!empty($adv_image) && file_exists(PRODUCT_FILE_PATH.$adv_image)) { unlink(PRODUCT_FILE_PATH.$adv_image); }
$file_data = uploadFileCustom(PRODUCT_FILE_PATH, "product_image", array("jpeg", "jpg", "png"), "prod_img");
if($file_data['upload_status'] == 1 && $file_data['res_msg'] == 'Success') {
$data_array['image'] = $file_data['new_file_name'];
$img = $this->input->post('old_product_image');
@unlink( PRODUCT_FILE_PATH . $img);
} else {
$this->session->set_flashdata('msg_warning', $file_data['res_msg']);
redirect($this->controller_name.'/productList/'.$product_id);
}
}
if($product_id == 0) { $data_array['doc'] = date('Y-m-d H:i:s');
$data_array['dom'] = date('Y-m-d H:i:s');}
if($product_id > 0) { $data_array['dom'] = date('Y-m-d H:i:s');}
$id = $this->Product->ProductSave($data_array, $product_id);
$this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/productList');
}
}
$this->template->admin('product/product/product_form', $data);
}
public function deleteProduct($id = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 72, "module_delete") == 0){ redirect('errors/noPermission');}
if(!empty($id)){
$where = array('id' => $id) ;
$this->Product->deleteProduct($where);
$this->session->set_flashdata('msg_success', getMessage("record_deleted", 3));
redirect(base_url('product/productList'));
}
}
/*** Code for City end ***/
public function productExportCsv()
{
$conditions = array();
$user_status = $this->input->post('user_status');
if(!empty($user_status)){
$conditions['search']['user_status'] = $user_status;
}
$file_name = "Product_".date('d/m/y');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$file_name.'.csv');
$output = fopen('php://output', 'w');
$sl_no = 1;
$csv_main_heading = array(
'Sl No',
'Name',
'Details',
'Price',
'Tax',
'Qty',
'Status',
);
fputcsv($output, $csv_main_heading);
$product_csv_data = $this->Product->getAllProductData($conditions);
foreach ($product_csv_data as $csv) {
$product_data[0] = $sl_no;
$product_data[1] = $csv->name;
$product_data[2] = $csv->details;
$product_data[3] = $csv->price;
$product_data[4] = $csv->tax;
$product_data[5] = $csv->qty;
$product_data[6] = $csv->status == 1 ? 'Active' : 'Inactive';
fputcsv($output,$product_data);
$sl_no++;
}
fclose($output);
}
}