ok
Direktori : /home2/selectio/www/geniusgroove.in/crm/application/controllers/admin/ |
Current File : //home2/selectio/www/geniusgroove.in/crm/application/controllers/admin/Income.php |
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } class Income extends Admin_Controller { public function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->library('media_storage'); $this->config->load('app-config'); $this->load->library("datatables"); } public function index() { if (!$this->rbac->hasPrivilege('income', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'Income'); $this->session->set_userdata('sub_menu', 'income/index'); $this->form_validation->set_rules('inc_head_id', $this->lang->line('income_head'), 'trim|required|xss_clean'); $this->form_validation->set_rules('amount', $this->lang->line('amount'), 'trim|required|xss_clean'); $this->form_validation->set_rules('name', $this->lang->line('name'), 'trim|required|xss_clean'); $this->form_validation->set_rules('date', $this->lang->line('date'), 'trim|required|xss_clean'); $this->form_validation->set_rules('documents', $this->lang->line('documents'), 'callback_handle_upload'); if ($this->form_validation->run() == true) { $img_name = $this->media_storage->fileupload("documents", "./uploads/school_income/"); $data = array( 'income_head_id' => $this->input->post('inc_head_id'), 'name' => $this->input->post('name'), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($this->input->post('date'))), 'amount' => convertCurrencyFormatToBaseAmount($this->input->post('amount')), 'invoice_no' => $this->input->post('invoice_no'), 'note' => $this->input->post('description'), 'documents' => $img_name, ); $insert_id = $this->income_model->add($data); $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">' . $this->lang->line('success_message') . '</div>'); redirect('admin/income/index'); } $income_result = $this->income_model->get(); $data['incomelist'] = $income_result; $incomeHead = $this->incomehead_model->get(); $data['incheadlist'] = $incomeHead; $this->load->view('layout/header', $data); $this->load->view('admin/income/incomeList', $data); $this->load->view('layout/footer', $data); } public function download($id) { $income = $this->income_model->get($id); $this->media_storage->filedownload($income['documents'], "uploads/school_income"); } public function view($id) { if (!$this->rbac->hasPrivilege('income', 'can_view')) { access_denied(); } $data['title'] = 'Fees Master List'; $income = $this->income_model->get($id); $data['income'] = $income; $this->load->view('layout/header', $data); $this->load->view('income/incomeShow', $data); $this->load->view('layout/footer', $data); } public function getByFeecategory() { $feecategory_id = $this->input->get('feecategory_id'); $data = $this->feetype_model->getTypeByFeecategory($feecategory_id); echo json_encode($data); } public function getStudentCategoryFee() { $type = $this->input->post('type'); $class_id = $this->input->post('class_id'); $data = $this->income_model->getTypeByFeecategory($type, $class_id); if (empty($data)) { $status = 'fail'; } else { $status = 'success'; } $array = array('status' => $status, 'data' => $data); echo json_encode($array); } public function delete($id) { if (!$this->rbac->hasPrivilege('income', 'can_delete')) { access_denied(); } $data['title'] = 'Fees Master List'; $row = $this->income_model->get($id); if ($row['documents'] != '') { $this->media_storage->filedelete($row['documents'], "uploads/school_income/"); } $this->income_model->remove($id); redirect('admin/income/index'); } public function create() { $data['title'] = 'Add Fees Master'; $this->form_validation->set_rules('income', $this->lang->line('fees_master'), 'trim|required|xss_clean'); if ($this->form_validation->run() == false) { $this->load->view('layout/header', $data); $this->load->view('income/incomeCreate', $data); $this->load->view('layout/footer', $data); } else { $data = array( 'income' => $this->input->post('income'), ); $this->income_model->add($data); $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">' . $this->lang->line('success_message') . '</div>'); redirect('income/index'); } } public function handle_upload() { $image_validate = $this->config->item('file_validate'); $result = $this->filetype_model->get(); if (isset($_FILES["documents"]) && !empty($_FILES['documents']['name'])) { $file_type = $_FILES["documents"]['type']; $file_size = $_FILES["documents"]["size"]; $file_name = $_FILES["documents"]["name"]; $allowed_extension = array_map('trim', array_map('strtolower', explode(',', $result->file_extension))); $allowed_mime_type = array_map('trim', array_map('strtolower', explode(',', $result->file_mime))); $ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION)); if ($files = filesize($_FILES['documents']['tmp_name'])) { if (!in_array($file_type, $allowed_mime_type)) { $this->form_validation->set_message('handle_upload', $this->lang->line('file_type_not_allowed')); return false; } if (!in_array($ext, $allowed_extension) || !in_array($file_type, $allowed_mime_type)) { $this->form_validation->set_message('handle_upload', $this->lang->line('extension_not_allowed')); return false; } if ($file_size > $result->file_size) { $this->form_validation->set_message('handle_upload', $this->lang->line('file_size_shoud_be_less_than') . number_format($result->file_size / 1048576, 2) . " MB"); return false; } } else { $this->form_validation->set_message('handle_upload', $this->lang->line('file_type_extension_error_uploading_image')); return false; } return true; } return true; } public function edit($id) { if (!$this->rbac->hasPrivilege('income', 'can_edit')) { access_denied(); } $data['id'] = $id; $income = $this->income_model->get($id); $data['income'] = $income; $data['title_list'] = 'Fees Master List'; $expnseHead = $this->incomehead_model->get(); $data['incheadlist'] = $expnseHead; $this->form_validation->set_rules('inc_head_id', $this->lang->line('income_head'), 'trim|required|xss_clean'); $this->form_validation->set_rules('amount', $this->lang->line('amount'), 'trim|required|xss_clean'); $this->form_validation->set_rules('name', $this->lang->line('name'), 'trim|required|xss_clean'); $this->form_validation->set_rules('date', $this->lang->line('date'), 'trim|required|xss_clean'); $this->form_validation->set_rules('documents', $this->lang->line('documents'), 'callback_handle_upload'); if ($this->form_validation->run() == false) { $this->load->view('layout/header', $data); $this->load->view('admin/income/incomeEdit', $data); $this->load->view('layout/footer', $data); } else { $data = array( 'id' => $id, 'income_head_id' => $this->input->post('inc_head_id'), 'name' => $this->input->post('name'), 'date' => date('Y-m-d', $this->customlib->datetostrtotime($this->input->post('date'))), 'amount' => convertCurrencyFormatToBaseAmount($this->input->post('amount')), 'invoice_no' => $this->input->post('invoice_no'), 'note' => $this->input->post('description'), ); if (isset($_FILES["documents"]) && $_FILES['documents']['name'] != '' && (!empty($_FILES['documents']['name']))) { $img_name = $this->media_storage->fileupload("documents", "./uploads/school_income/"); } else { $img_name = $income['documents']; } $data['documents'] = $img_name; if (isset($_FILES["documents"]) && $_FILES['documents']['name'] != '' && (!empty($_FILES['documents']['name']))) { if ($income['documents'] != '') { $this->media_storage->filedelete($income['documents'], "uploads/school_income"); } } $this->income_model->add($data); $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">' . $this->lang->line('success_message') . '</div>'); redirect('admin/income/index'); } } public function incomeSearch() { if (!$this->rbac->hasPrivilege('search_income', 'can_view')) { access_denied(); } $data['searchlist'] = $this->customlib->get_searchtype(); $this->session->set_userdata('top_menu', 'Income'); $this->session->set_userdata('sub_menu', 'income/incomesearch'); $data['search_type'] = ''; $this->load->view('layout/header', $data); $this->load->view('admin/income/incomeSearch', $data); $this->load->view('layout/footer', $data); } public function getincomelist() { $m = $this->income_model->getincomelist(); $m = json_decode($m); $currency_symbol = $this->customlib->getSchoolCurrencyFormat(); $dt_data = array(); if (!empty($m->data)) { foreach ($m->data as $key => $value) { $editbtn = ''; $deletebtn = ''; $documents = ''; $inc_head_id = $value->income_head_id; $arr1 = str_split($inc_head_id); $title = "<a href='#' tabindex='0' data-toggle='popover' class='detail_popover'>" . $value->name . "</a> "; if ($value->documents) { $documents = "<a href='" . base_url() . "admin/income/download/" . $value->id . "' class='btn btn-default btn-xs' data-toggle='tooltip' title='" . $this->lang->line('download') . "'><i class='fa fa-download'></i></a>"; } if ($this->rbac->hasPrivilege('income', 'can_edit')) { $editbtn = "<a href='" . base_url() . "admin/income/edit/" . $value->id . "' class='btn btn-default btn-xs' data-toggle='tooltip' title='" . $this->lang->line('edit') . "'><i class='fa fa-pencil'></i></a>"; } if ($this->rbac->hasPrivilege('income', 'can_delete')) { $deletebtn = ''; $deletebtn = "<a onclick='return confirm(" . '"' . $this->lang->line('delete_confirm') . '"' . " )' href='" . base_url() . "admin/income/delete/" . $value->id . "' class='btn btn-default btn-xs' title='" . $this->lang->line('delete') . "' data-toggle='tooltip'><i class='fa fa-trash'></i></a>"; } $row = array(); $row[] = $title; if ($value->note == "") { $row[] = $this->lang->line('no_description'); } else { $row[] = $value->note; } $row[] = $value->invoice_no; $row[] = $this->customlib->dateformat($value->date); $row[] = $value->income_category; $row[] = $currency_symbol . amountFormat($value->amount); $row[] = $documents . ' ' . $editbtn . ' ' . $deletebtn; $dt_data[] = $row; } } $json_data = array( "draw" => intval($m->draw), "recordsTotal" => intval($m->recordsTotal), "recordsFiltered" => intval($m->recordsFiltered), "data" => $dt_data, ); echo json_encode($json_data); } public function checkvalidation() { $button_type = $this->input->post('button_type'); if ($button_type == "search_filter") { $this->form_validation->set_rules('search_type', $this->lang->line('search') . " " . $this->lang->line('type'), 'required|trim|xss_clean'); } elseif ($button_type == "search_full") { $this->form_validation->set_rules('search_text', $this->lang->line('keyword'), 'required|trim|xss_clean'); } if ($this->form_validation->run() == false) { $error = array(); if ($button_type == "search_filter") { $error['search_type'] = form_error('search_type'); } elseif ($button_type == "search_full") { $error['search_text'] = form_error('search_text'); } $array = array('status' => 0, 'error' => $error); echo json_encode($array); } else { $button_type = $this->input->post('button_type'); $search_text = $this->input->post('search_text'); $date_from = ""; $date_to = ""; $search_type = $this->input->post('search_type'); if ($search_type == 'period') { $date_from = $this->input->post('date_from'); $date_to = $this->input->post('date_to'); } $params = array('button_type' => $button_type, 'search_type' => $search_type, 'search_text' => $search_text, 'date_from' => $date_from, 'date_to' => $date_to); $array = array('status' => 1, 'error' => '', 'params' => $params); echo json_encode($array); } } public function getincomesearchlist() { $search_type = $this->input->post('search_type'); $button_type = $this->input->post('button_type'); $search_text = $this->input->post('search_text'); if ($button_type == 'search_filter') { if ($search_type != "") { if ($search_type == 'all') { $dates = $this->customlib->get_betweendate('this_year'); } else { $dates = $this->customlib->get_betweendate($search_type); } } else { $dates = $this->customlib->get_betweendate('this_year'); $search_type = ''; } $dateformat = $this->customlib->getSchoolDateFormat(); $date_from = date('Y-m-d', strtotime($dates['from_date'])); $date_to = date('Y-m-d', strtotime($dates['to_date'])); $data['exp_title'] = 'Income Result From ' . date($dateformat, strtotime($date_from)) . " To " . date($dateformat, strtotime($date_to)); $date_from = date('Y-m-d', $this->customlib->dateYYYYMMDDtoStrtotime($date_from)); $date_to = date('Y-m-d', $this->customlib->dateYYYYMMDDtoStrtotime($date_to)); $resultList = $this->income_model->search("", $date_from, $date_to); } else { $search_text = $this->input->post('search_text'); $resultList = $this->income_model->search($search_text, "", ""); $resultList = $resultList; } $m = json_decode($resultList); $currency_symbol = $this->customlib->getSchoolCurrencyFormat(); $dt_data = array(); $total_amount = 0; if (!empty($m->data)) { foreach ($m->data as $key => $value) { $total_amount += $value->amount; $row = array(); $row[] = $value->name; $row[] = $value->invoice_no; $row[] = $value->income_category; $row[] = date($this->customlib->getSchoolDateFormat(), $this->customlib->dateyyyymmddTodateformat($value->date)); $row[] = $currency_symbol . amountFormat($value->amount); $dt_data[] = $row; } $footer_row = array(); $footer_row[] = ""; $footer_row[] = ""; $footer_row[] = ""; $footer_row[] = ""; $footer_row[] = "<b>" . $this->lang->line('grand_total') . " : " . $currency_symbol . amountFormat($total_amount) . "</b>"; $dt_data[] = $footer_row; } $json_data = array( "draw" => intval($m->draw), "recordsTotal" => intval($m->recordsTotal), "recordsFiltered" => intval($m->recordsFiltered), "data" => $dt_data, ); echo json_encode($json_data); } }