ok
Direktori : /home2/selectio/public_html/bharath/application/controllers/admin/ |
Current File : /home2/selectio/public_html/bharath/application/controllers/admin/Admin.php |
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } class Admin extends Admin_Controller { public function __construct() { parent::__construct(); $this->load->model("classteacher_model"); $this->load->model("Staff_model"); $this->load->library('Enc_lib'); $this->sch_setting_detail = $this->setting_model->getSetting(); } public function unauthorized() { $data = array(); $this->load->view('layout/header', $data); $this->load->view('unauthorized', $data); $this->load->view('layout/footer', $data); } public function dashboard2() { $role = $this->customlib->getStaffRole(); $role_id = json_decode($role)->id; $staffid = $this->customlib->getStaffID(); $notifications = $this->notification_model->getUnreadStaffNotification($staffid, $role_id); $data['notifications'] = $notifications; $input = $this->setting_model->getCurrentSessionName(); list($a, $b) = explode('-', $input); $Current_year = $a; if (strlen($b) == 2) { $Next_year = substr($a, 0, 2) . $b; } else { $Next_year = $b; } //========================== Current Attendence ========================== $current_date = date('Y-m-d'); $data['title'] = 'Dashboard2'; $Current_start_date = date('01'); $Current_date = date('d'); $Current_month = date('m'); $month_collection = 0; $month_expense = 0; $total_students = 0; $total_teachers = 0; $ar = $this->startmonthandend(); $year_str_month = $Current_year . '-' . $ar[0] . '-01'; $year_end_month = date("Y-m-t", strtotime($Next_year . '-' . $ar[1] . '-01')); $getDepositeAmount = $this->studentfeemaster_model->getDepositAmountBetweenDate($year_str_month, $year_end_month); //======================Current Month Collection ============================== $first_day_this_month = date('Y-m-01'); $month_collection = $this->whatever($getDepositeAmount, $first_day_this_month, $current_date); $expense = $this->expense_model->getTotalExpenseBwdate($first_day_this_month, $current_date); if (!empty($expense)) { $month_expense = $month_expense + $expense->amount; } $data['month_collection'] = $month_collection; $data['month_expense'] = $month_expense; $tot_students = $this->studentsession_model->getTotalStudentBySession(); if (!empty($tot_students)) { $total_students = $tot_students->total_student; } $data['total_students'] = $total_students; $tot_roles = $this->role_model->get(); foreach ($tot_roles as $key => $value) { if ($value["id"] != 1) { $count_roles[$value["name"]] = $this->role_model->count_roles($value["id"]); } } $data["roles"] = $count_roles; // ======================== get collection by month ========================== $start_month = strtotime($year_str_month); $start = strtotime($year_str_month); $end = strtotime($year_end_month); $coll_month = array(); $s = array(); $total_month = array(); while ($start_month <= $end) { $total_month[] = date('M', $start_month); $month_start = date('Y-m-d', $start_month); $month_end = date("Y-m-t", $start_month); $return = $this->whatever($getDepositeAmount, $month_start, $month_end); if ($return) { $s[] = $return; } else { $s[] = "0.00"; } $start_month = strtotime("+1 month", $start_month); } //======================== getexpense by month ============================== $ex = array(); $start_session_month = strtotime($year_str_month); while ($start_session_month <= $end) { $month_start = date('Y-m-d', $start_session_month); $month_end = date("Y-m-t", $start_session_month); $expense_monthly = $this->expense_model->getTotalExpenseBwdate($month_start, $month_end); if (!empty($expense_monthly)) { $amt = 0; $ex[] = $amt + $expense_monthly->amount; } $start_session_month = strtotime("+1 month", $start_session_month); } $data['yearly_collection'] = $s; $data['yearly_expense'] = $ex; $data['total_month'] = $total_month; //======================= current month collection /expense =================== // hardcoded '01' for first day $startdate = date('m/01/Y'); $enddate = date('m/t/Y'); $start = strtotime($startdate); $end = strtotime($enddate); $currentdate = $start; $month_days = array(); $days_collection = array(); while ($currentdate <= $end) { $cur_date = date('Y-m-d', $currentdate); $month_days[] = date('d', $currentdate); $coll_amt = $this->whatever($getDepositeAmount, $cur_date, $cur_date); $days_collection[] = $coll_amt; $currentdate = strtotime('+1 day', $currentdate); } $data['current_month_days'] = $month_days; $data['days_collection'] = $days_collection; //======================= current month /expense ============================== // hardcoded '01' for first day $startdate = date('m/01/Y'); $enddate = date('m/t/Y'); $start = strtotime($startdate); $end = strtotime($enddate); $currentdate = $start; $days_expense = array(); while ($currentdate <= $end) { $cur_date = date('Y-m-d', $currentdate); $month_days[] = date('d', $currentdate); $currentdate = strtotime('+1 day', $currentdate); $ct = $this->getExpensebyday($cur_date); $days_expense[] = $ct; } $data['days_expense'] = $days_expense; $student_fee_history = $this->studentfee_model->getTodayStudentFees(); $data['student_fee_history'] = $student_fee_history; $event_colors = array("#03a9f4", "#c53da9", "#757575", "#8e24aa", "#d81b60", "#7cb342", "#fb8c00", "#fb3b3b"); $data["event_colors"] = $event_colors; $userdata = $this->customlib->getUserData(); $data["role"] = $userdata["user_type"]; $this->load->view('layout/header', $data); $this->load->view('admin/dashboard2', $data); $this->load->view('layout/footer', $data); } public function choose() { if ($this->session->has_userdata('current_class')) { redirect('admin/admin/dashboard'); } $role = $this->customlib->getUserRole(); $data['role'] = $role; if ($role == "student") { $student_id = $this->customlib->getStudentSessionUserID(); $data['student_lists'] = $this->studentsession_model->searchMultiClsSectionByStudent($student_id); } elseif ($role == "parent") { $parent_id = $this->customlib->getUsersID(); $data['student_lists'] = $this->student_model->getParentChilds($parent_id); } $this->form_validation->set_rules('cancel', 'Admin', 'trim|required|xss_clean'); if ($this->form_validation->run() == true) { redirect('admin/admin/dashboard'); } $this->form_validation->set_rules('clschg', 'Import', 'trim|required|xss_clean'); $this->form_validation->run(); $import_id = $this->input->post('clschg'); if($import_id == '1'){ redirect('student/import'); }else if($import_id == '2'){ redirect('admin/staff/import'); } $this->load->view('admin/choose', $data); } public function dashboard() { $role = $this->customlib->getStaffRole(); $role_id = json_decode($role)->id; $data['role_id'] = $role_id; $staffid = $this->customlib->getStaffID(); $notifications = $this->notification_model->getUnreadStaffNotification($staffid, $role_id); $data['notifications'] = $notifications; $input = $this->setting_model->getCurrentSessionName(); $cur_session_id = $this->setting_model->getCurrentSession(); list($a, $b) = explode('-', $input); $Current_year = $a; if (strlen($b) == 2) { $Next_year = substr($a, 0, 2) . $b; } else { $Next_year = $b; } $data['mysqlVersion'] = $this->setting_model->getMysqlVersion(); $data['sqlMode'] = $this->setting_model->getSqlMode(); //========================== Current Attendence ========================== $current_date = date('Y-m-d'); $data['title'] = 'Dashboard'; $Current_start_date = date('01'); $Current_date = date('d'); $Current_month = date('m'); $month_collection = 0; $month_expense = 0; $total_students = 0; $total_teachers = 0; $ar = $this->startmonthandend(); $year_str_month = $Current_year . '-' . $ar[0] . '-01'; $year_end_month = date("Y-m-t", strtotime($Next_year . '-' . $ar[1] . '-01')); // print_r($year_str_month." to ".$year_end_month);die; $getDepositeAmount = $this->studentfeemaster_model->getDepositAmountBetweenDate($year_str_month, $year_end_month); //======================Current Month Collection ============================== $first_day_this_month = date('Y-m-01'); $current_month_collection=$this->studentfeemaster_model->getDepositAmountBetweenDate($first_day_this_month, $current_date); $month_collection = $this->whatever($current_month_collection, $first_day_this_month, $current_date); $expense = $this->expense_model->getTotalExpenseBwdate($first_day_this_month, $current_date); if (!empty($expense)) { $month_expense = $month_expense + $expense->amount; } $data['month_collection'] = $month_collection; $data['month_expense'] = $month_expense; $tot_students = $this->studentsession_model->getTotalStudentBySession(); if (!empty($tot_students)) { $total_students = $tot_students->total_student; } $data['total_students'] = $total_students; $tot_roles = $this->role_model->get(); foreach ($tot_roles as $key => $value) { $count_roles[$value["name"]] = $this->role_model->count_roles($value["id"]); } $data["roles"] = $count_roles; //======================== get collection by month ========================== $start_month = strtotime($year_str_month); $start = strtotime($year_str_month); $end = strtotime($year_end_month); $coll_month = array(); $s = array(); $total_month = array(); while ($start_month <= $end) { $total_month[] = date('M', $start_month); $month_start = date('Y-m-d', $start_month); $month_end = date("Y-m-t", $start_month); $return = $this->whatever($getDepositeAmount, $month_start, $month_end); if ($return) { $s[] = $return; } else { $s[] = "0.00"; } $start_month = strtotime("+1 month", $start_month); } //======================== getexpense by month ============================== $ex = array(); $start_session_month = strtotime($year_str_month); while ($start_session_month <= $end) { $month_start = date('Y-m-d', $start_session_month); $month_end = date("Y-m-t", $start_session_month); $expense_monthly = $this->expense_model->getTotalExpenseBwdate($month_start, $month_end); if (!empty($expense_monthly)) { $amt = 0; $ex[] = $amt + $expense_monthly->amount; } $start_session_month = strtotime("+1 month", $start_session_month); } $data['yearly_collection'] = $s; $data['yearly_expense'] = $ex; $data['total_month'] = $total_month; //======================= current month collection /expense =================== // hardcoded '01' for first day $startdate = date('m/01/Y'); $enddate = date('m/t/Y'); $start = strtotime($startdate); $end = strtotime($enddate); $currentdate = $start; $month_days = array(); $days_collection = array(); while ($currentdate <= $end) { $cur_date = date('Y-m-d', $currentdate); $month_days[] = date('d', $currentdate); $coll_amt = $this->whatever($getDepositeAmount, $cur_date, $cur_date); $days_collection[] = $coll_amt; $currentdate = strtotime('+1 day', $currentdate); } $data['current_month_days'] = $month_days; $data['days_collection'] = $days_collection; //======================= current month /expense ============================== // hardcoded '01' for first day $startdate = date('m/01/Y'); $enddate = date('m/t/Y'); $start = strtotime($startdate); $end = strtotime($enddate); $currentdate = $start; $days_expense = array(); while ($currentdate <= $end) { $cur_date = date('Y-m-d', $currentdate); $month_days[] = date('d', $currentdate); $currentdate = strtotime('+1 day', $currentdate); $ct = $this->getExpensebyday($cur_date); $days_expense[] = $ct; } $data['days_expense'] = $days_expense; $student_fee_history = $this->studentfee_model->getTodayStudentFees(); $data['student_fee_history'] = $student_fee_history; $event_colors = array("#03a9f4", "#c53da9", "#757575", "#8e24aa", "#d81b60", "#7cb342", "#fb8c00", "#fb3b3b"); $data["event_colors"] = $event_colors; $userdata = $this->customlib->getUserData(); $data["role"] = $userdata["user_type"]; $start_date = date('Y-m-01'); $end_date = date('Y-m-t'); $student_due_fee = $this->studentfeemaster_model->getFeesAwaiting($start_date, $end_date); // echo "<pre>"; print_r($student_due_fee); echo "<pre>";die; $data['fees_awaiting'] = $student_due_fee; $total_fess = 0; $total_paid = 0; $total_unpaid = 0; $total_partial = 0; if (!empty($data['fees_awaiting'])) { foreach ($data['fees_awaiting'] as $awaiting_key => $awaiting_value) { // print_r($awaiting_value); $amount_to_be_taken = 0; if ($awaiting_value->is_system) { if ($awaiting_value->amount > 0) { $amount_to_be_taken = $awaiting_value->amount; } } elseif ($awaiting_value->is_system == 0) { if ($awaiting_value->fee_amount > 0) { $amount_to_be_taken = $awaiting_value->fee_amount; } } if ($amount_to_be_taken > 0) { $total_fess++; if (is_string($awaiting_value->amount_detail) && is_array(json_decode($awaiting_value->amount_detail, true)) && (json_last_error() == JSON_ERROR_NONE)) { $amount_paid_details = (json_decode($awaiting_value->amount_detail)); $amt_ = 0; foreach ($amount_paid_details as $amount_paid_detail_key => $amount_paid_detail_value) { $amt_ = $amt_ + $amount_paid_detail_value->amount; } if ($amt_ < $amount_to_be_taken) { $total_partial++; } elseif ($amt_ >= $amount_to_be_taken) { $total_paid++; } } else { $total_unpaid++; } } } } $data['incomegraph'] = $this->income_model->getIncomeHeadsData($start_date, $end_date); $data['expensegraph'] = $this->expense_model->getExpenseHeadData($start_date, $end_date); $enquiry = $this->admin_model->getAllEnquiryCount($start_date, $end_date); $total_counter = $total_paid + $total_unpaid + $total_partial; $data['fees_overview'] = array( 'total_unpaid' => $total_unpaid, 'unpaid_progress' => ($total_counter > 0) ?(($total_unpaid * 100) / $total_counter) :0, 'total_paid' => $total_paid, 'paid_progress' => ($total_counter > 0) ?(($total_paid * 100) / $total_counter) :0, 'total_partial' => $total_partial, 'partial_progress' => ($total_counter > 0) ?(($total_partial * 100) / $total_counter) :0, ); $total_enquiry = $enquiry['total']; if ($total_enquiry > 0) { $data['enquiry_overview'] = array( 'won' => $enquiry['complete'], 'won_progress' => ($enquiry['complete'] * 100) / $total_enquiry, 'active' => $enquiry['active'], 'active_progress' => ($enquiry['active'] * 100) / $total_enquiry, 'passive' => $enquiry['passive'], 'passive_progress' => ($enquiry['passive'] * 100) / $total_enquiry, 'dead' => $enquiry['dead'], 'dead_progress' => ($enquiry['dead'] * 100) / $total_enquiry, 'lost' => $enquiry['lost'], 'lost_progress' => ($enquiry['lost'] * 100) / $total_enquiry, ); } else { $data['enquiry_overview'] = array( 'won' => 0, 'won_progress' => 0, 'active' => 0, 'active_progress' => 0, 'passive' => 0, 'passive_progress' => 0, 'dead' => 0, 'dead_progress' => 0, 'lost' => 0, 'lost_progress' => 0, ); } $data['total_paid'] = $total_paid; $data['total_fees'] = $total_fess; if ($total_fess > 0) { $data['fessprogressbar'] = ($total_paid * 100) / $total_fess; } else { $data['fessprogressbar'] = 0; } $data['total_enquiry'] = $total_enquiry = $enquiry['total']; $data['total_complete'] = $complete_enquiry = $enquiry['complete']; if ($total_enquiry > 0) { $data['fenquiryprogressbar'] = ($complete_enquiry * 100) / $total_enquiry; } else { $data['fenquiryprogressbar'] = 0; } $bookoverview = $this->book_model->bookoverview($start_date, $end_date); $bookduereport = $this->bookissue_model->dueforreturn($start_date, $end_date); $forreturndata = $this->bookissue_model->forreturn($start_date, $end_date); // echo $this->db->last_query();die; $dueforreturn = $bookduereport[0]['total']; $forreturn = $forreturndata[0]['total']; $total_qty = $bookoverview[0]['qty']; $total_issued = $bookoverview[0]['total_issue']; $availble = '0'; $availble_progress = 0; $issued_progress = 0; if ($total_qty > 0) { $availble = $total_qty - $total_issued; $availble_progress = ($availble * 100) / $total_qty; $issued_progress = ($total_issued * 100) / $total_qty; } $data['book_overview'] = array( 'total' => $total_qty, 'total_progress' => 100, 'availble' => $availble, 'availble_progress' => $availble_progress, 'total_issued' => $total_issued, 'issued_progress' => $issued_progress, 'dueforreturn' => $dueforreturn, 'forreturn' => $forreturn, ); $Attendence = $this->stuattendence_model->getTodayDayAttendance($total_students); $data['attendence_data'] = $Attendence; $Staffattendence = $this->Staff_model->getTodayDayAttendance(); $data['Staffattendence_data'] = $Staffattendence; $getTotalStaff = $this->Staff_model->getTotalStaff(); $data['getTotalStaff_data'] = $getTotalStaff; if ($getTotalStaff > 0) {$percentTotalStaff_data = ($Staffattendence * 100) / ($getTotalStaff);} else { $percentTotalStaff_data = '0';} $data['percentTotalStaff_data'] = $percentTotalStaff_data; $sql = "SELECT classes.class,sections.section ,(select count(ss.id) from student_session ss inner join students s on ss.student_id=s.id WHERE s.is_active='yes' and ss.session_id=".$cur_session_id." and ss.class_id=student_session.class_id and ss.section_id=student_session.section_id) as total_student,count(student_attendences.attendence_type_id) as total_count,attendence_type.type FROM `student_session`inner join students on student_session.student_id=students.id inner join classes on student_session.class_id=classes.id INNER JOIN sections on student_session.section_id=sections.id LEFT join student_attendences on student_session.id=student_attendences.student_session_id and student_attendences.date=CURRENT_DATE left join attendence_type on student_attendences.attendence_type_id=attendence_type.id where student_session.session_id=".$cur_session_id." and students.is_active='yes' GROUP BY student_session.class_id,student_session.section_id,attendence_type.id"; $query = $this->db->query($sql); $att_result = $query->result(); $data['att_result']=$att_result; $this->load->view('layout/header', $data); $this->load->view('admin/dashboard', $data); $this->load->view('layout/footer', $data); } public function getUserImage() { $id = $this->session->userdata["admin"]["id"]; $result = $this->staff_model->get($id); } public function getSession() { if (!$this->rbac->hasPrivilege('quick_session_change', 'can_view')) { access_denied(); } $session = $this->session_model->getAllSession(); $data = array(); $session_array = $this->session->has_userdata('session_array'); $data['sessionData'] = array('session_id' => 0); if ($session_array) { $data['sessionData'] = $this->session->userdata('session_array'); } else { $setting = $this->setting_model->get(); $data['sessionData'] = array('session_id' => $setting[0]['session_id']); } $data['sessionList'] = $session; $this->load->view('admin/partial/_session', $data); } public function updateSession() { $session = $this->input->post('popup_session'); $session_array = $this->session->has_userdata('session_array'); if ($session_array) { $this->session->unset_userdata('session_array'); } $session = $this->session_model->get($session); $session_array = array('session_id' => $session['id'], 'session' => $session['session']); $this->session->set_userdata('session_array', $session_array); echo json_encode(array('status' => 1, 'message' => 'Session changed successfully')); } public function updatePurchaseCode() { $this->form_validation->set_rules('email', 'Email', 'required|valid_email|trim|xss_clean'); $this->form_validation->set_rules('envato_market_purchase_code', 'Purchase Code', 'required|trim|xss_clean'); if ($this->form_validation->run() == false) { $data = array( 'email' => form_error('email'), 'envato_market_purchase_code' => form_error('envato_market_purchase_code'), ); $array = array('status' => '2', 'error' => $data); return $this->output ->set_content_type('application/json') ->set_status_header(200) ->set_output(json_encode($array)); } else { //================== $response = $this->auth->app_update(); } } public function backup() { if (!$this->rbac->hasPrivilege('backup', 'can_view')) { access_denied(); } $this->session->set_userdata('top_menu', 'System Settings'); $this->session->set_userdata('sub_menu', 'admin/backup'); $data['title'] = 'Backup History'; if ($this->input->server('REQUEST_METHOD') == "POST") { if ($this->input->post('backup') == "upload") { $this->form_validation->set_rules('file', 'Image', 'callback_handle_upload'); if ($this->form_validation->run() == false) { } else { if (isset($_FILES["file"]) && !empty($_FILES['file']['name'])) { $fileInfo = pathinfo($_FILES["file"]["name"]); $file_name = "db-" . date("Y-m-d_H-i-s") . ".sql"; move_uploaded_file($_FILES["file"]["tmp_name"], "./backup/temp_uploaded/" . $file_name); $folder_name = 'temp_uploaded'; $path = './backup/'; $file_restore = $this->load->file($path . $folder_name . '/' . $file_name, true); $file_array = explode(';', $file_restore); foreach ($file_array as $query) { $trimQuery1 = trim($query); if (!empty($trimQuery1)) { $this->db->query("SET FOREIGN_KEY_CHECKS = 0"); $this->db->query($query); $this->db->query("SET FOREIGN_KEY_CHECKS = 1"); } } $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">Backup restored successfully!</div>'); redirect('admin/admin/backup'); } } } if ($this->input->post('backup') == "backup") { $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">Backup created successfully!</div>'); $this->load->helper('download'); $this->load->dbutil(); $version = $this->customlib->getAppVersion(); $filename = "db_ver_" . $version . '_' . date("Y-m-d_H-i-s") . ".sql"; $prefs = array( 'ignore' => array(), 'format' => 'txt', 'filename' => 'mybackup.sql', 'add_drop' => true, 'add_insert' => true, 'newline' => "\n", ); $backup = $this->dbutil->backup($prefs); $this->load->helper('file'); write_file('./backup/database_backup/' . $filename, $backup); redirect('admin/admin/backup'); force_download($filename, $backup); $this->session->set_flashdata('feedback', 'Success message for client to see'); redirect('admin/admin/backup'); } else if ($this->input->post('backup') == "restore") { $folder_name = 'database_backup'; $file_name = $this->input->post('filename'); $path = './backup/'; $filePath = $path . $folder_name . '/' . $file_name; $file_restore = $this->load->file($path . $folder_name . '/' . $file_name, true); $db = (array) get_instance()->db; $conn = mysqli_connect('localhost', $db['username'], $db['password'], $db['database']); $sql = ''; $error = false; $error_msg = ""; $result = mysqli_query($conn, "SET FOREIGN_KEY_CHECKS = 0"); if (!$result) { $error_msg = "Database failed: " . mysqli_error(); $error = true; } if (!$error) { if (file_exists($filePath)) { $lines = file($filePath); foreach ($lines as $line) { // Ignoring comments from the SQL script if (substr($line, 0, 2) == '--' || $line == '') { continue; } $sql .= $line; if (substr(trim($line), -1, 1) == ';') { $result = mysqli_query($conn, $sql); if (!$result) { $error_msg = "Database failed: " . mysqli_error(); $error = true; break; } $sql = ''; } } if (!$error) { $msg = "Backup restored successfully!"; } } // end if file exists } $result = mysqli_query($conn, "SET FOREIGN_KEY_CHECKS = 1"); if (!$result) { $error_msg = "Database failed: " . mysqli_error(); $error = true; } if ($error) { $this->session->set_flashdata('msg', '<div class="alert alert-danger text-left">' . $msg . '</div>'); } else { $this->session->set_flashdata('msg', '<div class="alert alert-success text-left">' . $msg . '</div>'); } redirect('admin/admin/backup'); } } $dir = "./backup/database_backup/"; $result = array(); $cdir = scandir($dir); foreach ($cdir as $key => $value) { if (!in_array($value, array(".", ".."))) { if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) { $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); } else { $result[] = $value; } } } $data['dbfileList'] = $result; $setting_result = $this->setting_model->get(); $data['settinglist'] = $setting_result; $this->load->view('layout/header', $data); $this->load->view('admin/backup', $data); $this->load->view('layout/footer', $data); } public function changepass() { $this->session->set_userdata('top_menu', 'System Settings'); $this->session->set_userdata('sub_menu', 'changepass/index'); $data['title'] = 'Change Password'; $this->form_validation->set_rules('current_pass', 'Current password', 'trim|required|xss_clean'); $this->form_validation->set_rules('new_pass', 'New password', 'trim|required|xss_clean|matches[confirm_pass]'); $this->form_validation->set_rules('confirm_pass', 'Confirm password', 'trim|required|xss_clean'); if ($this->form_validation->run() == false) { $sessionData = $this->session->userdata('loggedIn'); $this->data['id'] = $sessionData['id']; $this->data['username'] = $sessionData['username']; $this->load->view('layout/header', $data); $this->load->view('admin/change_password', $data); $this->load->view('layout/footer', $data); } else { $sessionData = $this->session->userdata('admin'); $userdata = $this->customlib->getUserData(); $data_array = array( 'current_pass' => $this->input->post('current_pass'), 'new_pass' => md5($this->input->post('new_pass')), 'user_id' => $sessionData['id'], 'user_email' => $sessionData['email'], 'user_name' => $sessionData['username'], ); $newdata = array( 'id' => $sessionData['id'], 'password' => $this->enc_lib->passHashEnc($this->input->post('new_pass')), ); $check = $this->enc_lib->passHashDyc($this->input->post('current_pass'), $userdata["password"]); $query1 = $this->admin_model->checkOldPass($data_array); if ($query1) { if ($check) { $query2 = $this->admin_model->saveNewPass($newdata); if ($query2) { $data['error_message'] = "<div class='alert alert-success'>Password changed successfully</div>"; $this->load->view('layout/header', $data); $this->load->view('admin/change_password', $data); $this->load->view('layout/footer', $data); } } else { $data['error_message'] = "<div class='alert alert-danger'>Invalid current password</div>"; $this->load->view('layout/header', $data); $this->load->view('admin/change_password', $data); $this->load->view('layout/footer', $data); } } else { $data['error_message'] = "<div class='alert alert-danger'>Invalid current password</div>"; $this->load->view('layout/header', $data); $this->load->view('admin/change_password', $data); $this->load->view('layout/footer', $data); } } } public function pdf_report() { $data = array(); $html = $this->load->view('reports/students_detail', $data, true); $pdfFilePath = "output_pdf_name.pdf"; $this->load->library('m_pdf'); $this->m_pdf->pdf->WriteHTML($html); $this->m_pdf->pdf->Output($pdfFilePath, "D"); } public function downloadbackup($file) { $this->load->helper('download'); $filepath = "./backup/database_backup/" . $file; $data = file_get_contents($filepath); $name = $file; force_download($name, $data); } public function dropbackup($file) { if (!$this->rbac->hasPrivilege('backup', 'can_delete')) { access_denied(); } unlink('./backup/database_backup/' . $file); redirect('admin/admin/backup'); } public function search() { $data['title'] = 'Search'; $search_text = $this->input->post('search_text1'); $data['sch_setting'] = $this->sch_setting_detail; $data['search_text'] = trim($this->input->post('search_text1')); $userdata = $this->customlib->getUserData(); $data['adm_auto_insert'] = $this->sch_setting_detail->adm_auto_insert; $carray = array(); $class = $this->class_model->get(); $data['classlist'] = $class; $data['fields'] = $this->customfield_model->get_custom_fields('students', 1); $userdata = $this->customlib->getUserData(); $carray = array(); if (!empty($data["classlist"])) { foreach ($data["classlist"] as $ckey => $cvalue) { $carray[] = $cvalue["id"]; } } $resultlist = $this->student_model->searchFullText($search_text, $carray); $data['resultlist'] = $resultlist; $this->load->view('layout/header', $data); $this->load->view('admin/search', $data); $this->load->view('layout/footer', $data); } public function getCollectionbymonth() { $result = $this->admin_model->getMonthlyCollection(); return $result; } public function getCollectionbyday($date) { $result = $this->admin_model->getCollectionbyDay($date); if ($result[0]['amount'] == "") { $return = 0; } else { $return = $result[0]['amount']; } return $return; } public function getExpensebyday($date) { $result = $this->admin_model->getExpensebyDay($date); if ($result[0]['amount'] == "") { $return = 0; } else { $return = $result[0]['amount']; } return $return; } public function getExpensebymonth() { $result = $this->admin_model->getMonthlyExpense(); return $result; } public function whatever($feecollection_array, $start_month_date, $end_month_date) { $return_amount = 0; $st_date = strtotime($start_month_date); $ed_date = strtotime($end_month_date); if (!empty($feecollection_array)) { while ($st_date <= $ed_date) { $date = date('Y-m-d', $st_date); foreach ($feecollection_array as $key => $value) { if ($value['date'] == $date) { $return_amount = $return_amount + $value['amount'] + $value['amount_fine']; } } $st_date = $st_date + 86400; } } else { } return $return_amount; } public function startmonthandend() { $startmonth = $this->setting_model->getStartMonth(); if ($startmonth == 1) { $endmonth = 12; } else { $endmonth = $startmonth - 1; } return array($startmonth, $endmonth); } public function handle_upload() { if (isset($_FILES["file"]) && !empty($_FILES['file']['name'])) { $allowedExts = array('sql'); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if ($_FILES["file"]["error"] > 0) { $error .= "Error opening the file<br />"; } if ($_FILES["file"]["type"] != 'application/octet-stream') { $this->form_validation->set_message('handle_upload', 'File type not allowed'); return false; } if (!in_array($extension, $allowedExts)) { $this->form_validation->set_message('handle_upload', 'Extension not allowed'); return false; } if ($_FILES["file"]["size"] > 10240000) { $this->form_validation->set_message('handle_upload', 'File size shoud be less than 100 kB'); return false; } return true; } else { $this->form_validation->set_message('handle_upload', 'File field is required'); return false; } } public function generate_key($length = 12) { $str = ""; $characters = array_merge(range('A', 'Z'), range('a', 'z'), range('0', '9')); $max = count($characters) - 1; for ($i = 0; $i < $length; $i++) { $rand = mt_rand(0, $max); $str .= $characters[$rand]; } return $str; } public function addCronsecretkey($id) { $key = $this->generate_key(25); $data = array('cron_secret_key' => $key); $this->setting_model->add_cronsecretkey($data, $id); redirect('admin/admin/backup'); } }