%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Lodgegrievance extends MY_Controller { public function __construct() { parent::__construct(); $this->load->model(array('Common_model', 'Api_model')); $this->load->library('form_validation','session'); } /* * Function: index */ public function index() { redirect('lodgegrievance/dashboard'); } /* * Function: getComplaintNumber */ public function getComplaintNumber() { $leadscount = count($this->Common_model->getAllRecords('tblcomplaints')); return 'SHI'.date('Y').($leadscount+1).substr(time('ms'),6,4); } /* * Function : academic */ public function academic() { $data = array(); $head = array(); $arrSeo = $this->Public_model->getSeo('academic'); // Validate Session Exist Or Not validate_user_session(); if($_POST['submit']=='submit') { $this->form_validation->set_rules('complaindetails', 'Incident Description', 'trim|required'); $this->form_validation->set_rules('incident_occurred', 'Incident Occurred', 'trim|required'); $this->form_validation->set_rules('affected_person_name', 'Affected Person Name', 'trim|required'); //$this->form_validation->set_rules('affected_person_ipno', 'Affected Person IP. NO.', 'trim|required'); $this->form_validation->set_rules('employee_acknowledgement', 'Employee Acknowledgement', 'trim|required'); $department_id = '2'; if ($this->form_validation->run($this)) { $incident_attachment = $this->uploadComplaintRelatedDoc(); //validate OTP unset($_POST['submit']); $_POST['compNumber'] = $this->getComplaintNumber(); $_POST['userId'] = $_SESSION['USER_DETAILS']['id']; $_POST['is_deleted'] = '0'; $_POST['status'] = 'Not Processed'; $_POST['regDate'] = date('Y-m-d H:i:s'); $_POST['lastUpdationDate'] = date('Y-m-d H:i:s'); $_POST['school_id'] = '1'; $_POST['department_id'] = $department_id; $_POST['incident_attachment'] = $incident_attachment; $resp = $this->Common_model->saveinfo('tblcomplaints',$_POST); // Send Lodge Confirmation Complaint Email To User $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$_POST['compNumber'],'regDate'=>$_POST['regDate'],'complaindetails'=>$_POST['complaindetails'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'category'=>$_POST['incident_occurred'],'grievance_type'=>$_POST['employee_acknowledgement']); $this->sendUserConfirmationEmail($params); /*if($grievanceArray['grievance_sent_as'] == 'school_wise'){ //if(in_array($_POST['grievance_type'],array('65','66','70','77','83'))){ $contactAdminDetails = $this->Common_model->getSingleRecordofgrievanceEmailSpoke('admin','*',$_POST['grievance_type'],array('status'=>'1','category'=>'Academic','school_id'=>$_POST['school_id'],'user_level'=>'L1')); } //else if(in_array($_POST['grievance_type'],array('67','68','71','72'))){ else if($grievanceArray['grievance_sent_as'] == 'department_wise'){ $contactAdminDetails = $this->Common_model->getSingleRecordofgrievanceEmailSpoke('admin','*',$_POST['grievance_type'],array('status'=>'1','category'=>'Academic','school_id'=>$_POST['school_id'],'department_id'=>$_POST['department_id'],'user_level'=>'L1')); }else if($grievanceArray['grievance_sent_as'] == 'other'){ $contactAdminDetails = $this->Common_model->getSingleRecordofgrievanceEmailSpoke('admin','*',$_POST['grievance_type'],array('status'=>'1','category'=>'Academic','user_level'=>'L1')); }else{ $contactAdminDetails = array('full_name'=>'Kajal Jha','username'=>'kajal.jha@shardatech.org'); }*/ $departmentArray = $this->Common_model->getSingleRecord('admin','*',array('status'=>'1','is_deleted'=>'0','department_id'=>$department_id)); $adminArray = array('contact_person'=>$departmentArray['full_name'],'support_email'=>$departmentArray['username']); $this->sendComplaintAdminEmail($params, $adminArray); redirect('lodgegrievance/academic?msg=success&cnumber='.base64_encode($_POST['compNumber'])); } } $head['title'] = @$arrSeo['title']!='' ? $arrSeo['title'] : 'Lodge Academic Incident Management - Sharda Incident Management Portal'; $this->load->view('_parts/empty_header', $head); $this->load->view('lodge_complaint', $data); $this->load->view('_parts/empty_no_footer'); } /* * * Function : nonacademic * */ public function nonacademic() { $data = array(); $head = array(); $arrSeo = $this->Public_model->getSeo('nonacademic'); // Validate Session Exist Or Not validate_user_session(); // Get School List $data['schoolArray'] = $this->Common_model->getAllRecords('su_schools','*',array('status'=>'1')); if($_POST['submit']=='Submit'){ $this->form_validation->set_rules('grievance_type', 'Grievance Type', 'trim|required'); $this->form_validation->set_rules('complaindetails', 'Complain Details', 'trim|required'); $this->form_validation->set_rules('otp', 'OTP', 'trim|required'); $grievanceArray = $this->Common_model->getSingleRecord('grievance_type','*',array('id'=>$_POST['grievance_type'],'status'=>'1','category'=>'Non-Academic')); $data['error_msg'] = 'ERROR'; if($_POST['otp']!='') { $record = $this->Common_model->getSingleRecord('grievance_otp', '*', array('user_email'=>$_SESSION['USER_DETAILS']['userEmail'],'user_mobile'=>$_SESSION['USER_DETAILS']['contactNo'], 'otp'=>$_POST['otp'],'verify_status'=>'0')); if($record['id']>0){ $params = array(); $params['verify_status'] = '1'; $params['updationDate'] = date('Y-m-d H:i:s'); $this->Common_model->updateinfo($tbl_name='grievance_otp', $params, 'id', $record['id']); $data['error_msg'] = ''; } else { $data['error_msg'] = '<p style="color:red;">Please enter valid OTP</p>'; } } if ($this->form_validation->run($this) && $data['error_msg']=='') { // validate OTP unset($_POST['submit']); unset($_POST['otp']); $_POST['userId'] = $_SESSION['USER_DETAILS']['id']; $image_resp = $this->uploadComplaintRelatedDoc(); if(is_array($image_resp['error']) && $image_resp['error']!='') { $data['error_msg'] = $image_resp['error']; } else { $_POST['complaint_doc'] = $image_resp; $_POST['is_deleted'] = '0'; $_POST['status'] = 'Not Processed'; // Get Department Details $contactSpokeDetails = $this->Common_model->getSingleRecord('su_departments','*',array('name'=>$grievanceArray['department'],'status'=>'1')); $_POST['compNumber'] = $this->getComplaintNumber($contactSpokeDetails['school_id'],$contactSpokeDetails['id']); $nparams = array(); $nparams['compNumber'] = $_POST['compNumber']; $nparams['category'] = $_POST['academic']; $nparams['grievance_type'] = $_POST['grievance_type']; $nparams['complaindetails'] = $_POST['complaindetails']; $nparams['userId'] = $_POST['userId']; $nparams['complaint_doc'] = $_POST['complaint_doc']; $nparams['is_deleted'] = $_POST['is_deleted']; $nparams['school_id'] = $contactSpokeDetails['school_id']; $nparams['department_id'] = $contactSpokeDetails['id']; $nparams['status'] = $_POST['status']; $nparams['regDate'] = date('Y-m-d H:i:s'); $nparams['lastUpdationDate'] = date('Y-m-d H:i:s'); $resp = $this->Common_model->saveinfo('tblcomplaints',$nparams); // Send Email To Related Department $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$_POST['compNumber'], 'category'=>'Non-Academic','complaindetails'=>$_POST['complaindetails'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'grievance_type'=>$grievanceArray['grievance_name']); $this->sendUserConfirmationEmail($params); // Get Contact Person Details //$contactAdminDetails = $this->Common_model->getSingleRecord('admin','*',array('grievance_type'=>$_POST['grievance_type'],'status'=>'1')); //$contactSpokeDetails = $this->Common_model->getSingleRecord('su_departments','*',array('name'=>$grievanceArray['department'],'status'=>'1')); if($contactSpokeDetails['id']>0 && $contactSpokeDetails['contact_email']!=''){ $adminArray = array('support_mobile'=>$contactSpokeDetails['contact_mobile'],'contact_person'=>$contactSpokeDetails['contact_person'],'support_email'=>$contactSpokeDetails['contact_email']); } else if($contactSpokeDetails['hod_mobile']>0 && $contactSpokeDetails['hod_email']!=''){ $adminArray = array('support_mobile'=>$contactSpokeDetails['hod_mobile'],'contact_person'=>$contactSpokeDetails['hod_name'],'support_email'=>$contactSpokeDetails['hod_email']); } else { $adminArray = array('support_mobile'=>'8920976831','contact_person'=>'Amit','support_email'=>'amit.verma@shardatech.org'); } $this->sendComplaintAdminEmail($params, $adminArray); redirect('lodgegrievance/nonacademic?msg=success&cnumber='.base64_encode($_POST['compNumber'])); } } } // Get Deparement List $data['departmentArray'] = $this->Common_model->getDepartmentList('su_departments','*',array('department_type'=>'2','status'=>'1','is_deleted'=>'0')); $grievanceArray = array(); $grievanceArray = array('status'=>'1','category'=>'Non-Academic'); if($_POST['department_id']){ $grievanceArray = array('status'=>'1','category'=>'Non-Academic','department'=>$_POST['department_id']); } //$data['grievanceArray'] = $this->Common_model->getAllRecords('grievance_type','id,grievance_name',$grievanceArray); $data['grievanceArray'] = $this->Common_model->getAllRecords('grievance_type','DISTINCT(grievance_name)',$grievanceArray); $head['title'] = @$arrSeo['title']!='' ? $arrSeo['title'] : 'Lodge Non-academic Grievance - Sharda Grievance Portal'; $this->load->view('_parts/empty_header', $head); $this->load->view('nonacademiclodge_complaint', $data); $this->load->view('_parts/empty_no_footer'); } /* * * Function : international * */ public function international() { $data = array(); $head = array(); $arrSeo = $this->Public_model->getSeo('international'); // Validate Session Exist Or Not validate_user_session(); // Get School List $data['schoolArray'] = $this->Common_model->getAllRecords('su_schools','*',array('status'=>'1')); if($_POST['submit']=='Submit'){ $this->form_validation->set_rules('grievance_type', 'Grievance Type', 'trim|required'); $this->form_validation->set_rules('complaindetails', 'Complain Details', 'trim|required'); $this->form_validation->set_rules('otp', 'OTP', 'trim|required'); $grievanceArray = $this->Common_model->getSingleRecord('grievance_type','*',array('id'=>$_POST['grievance_type'],'status'=>'1','category'=>'International')); $data['error_msg'] = 'ERROR'; if($_POST['otp']!='') { $record = $this->Common_model->getSingleRecord('grievance_otp', '*', array('user_email'=>$_SESSION['USER_DETAILS']['userEmail'],'user_mobile'=>$_SESSION['USER_DETAILS']['contactNo'], 'otp'=>$_POST['otp'],'verify_status'=>'0')); if($record['id']>0){ $params = array(); $params['verify_status'] = '1'; $params['updationDate'] = date('Y-m-d H:i:s'); $this->Common_model->updateinfo($tbl_name='grievance_otp', $params, 'id', $record['id']); $data['error_msg'] = ''; } else { $data['error_msg'] = '<p style="color:red;">Please enter valid OTP</p>'; } } if ($this->form_validation->run($this) && $data['error_msg']=='') { // validate OTP unset($_POST['submit']); unset($_POST['otp']); $_POST['userId'] = $_SESSION['USER_DETAILS']['id']; $image_resp = $this->uploadComplaintRelatedDoc(); if(is_array($image_resp['error']) && $image_resp['error']!='') { $data['error_msg'] = $image_resp['error']; } else { $_POST['complaint_doc'] = $image_resp; $_POST['is_deleted'] = '0'; $_POST['status'] = 'Not Processed'; // Get Department Details $contactSpokeDetails = $this->Common_model->getSingleRecord('su_departments','*',array('name'=>$grievanceArray['department'],'status'=>'1')); $_POST['compNumber'] = $this->getComplaintNumber($contactSpokeDetails['school_id'],$contactSpokeDetails['id']); $nparams = array(); $nparams['compNumber'] = $_POST['compNumber']; $nparams['category'] = $_POST['academic']; $nparams['grievance_type'] = $_POST['grievance_type']; $nparams['complaindetails'] = $_POST['complaindetails']; $nparams['userId'] = $_POST['userId']; $nparams['complaint_doc'] = $_POST['complaint_doc']; $nparams['is_deleted'] = $_POST['is_deleted']; $nparams['school_id'] = $contactSpokeDetails['school_id']; $nparams['department_id'] = $contactSpokeDetails['id']; $nparams['status'] = $_POST['status']; $nparams['regDate'] = date('Y-m-d H:i:s'); $nparams['lastUpdationDate'] = date('Y-m-d H:i:s'); $resp = $this->Common_model->saveinfo('tblcomplaints',$nparams); // Send Email To Related Department $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$_POST['compNumber'], 'category'=>'International','complaindetails'=>$_POST['complaindetails'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'grievance_type'=>$grievanceArray['grievance_name']); $this->sendUserConfirmationEmail($params); // Get Contact Person Details ##$contactAdminDetails = $this->Common_model->getSingleRecord('admin','*',array('grievance_type'=>$_POST['grievance_type'],'status'=>'1')); $contactSpokeDetails = $this->Common_model->getSingleRecord('su_departments','*',array('name'=>$grievanceArray['department'],'status'=>'1')); if($contactSpokeDetails['id']>0 && $contactSpokeDetails['contact_email']!=''){ $adminArray = array('support_mobile'=>$contactSpokeDetails['contact_mobile'],'contact_person'=>$contactSpokeDetails['contact_person'],'support_email'=>$contactSpokeDetails['contact_email']); } else if($contactSpokeDetails['hod_mobile']>0 && $contactSpokeDetails['hod_email']!=''){ $adminArray = array('support_mobile'=>$contactSpokeDetails['hod_mobile'],'contact_person'=>$contactSpokeDetails['hod_name'],'support_email'=>$contactSpokeDetails['hod_email']); } else { $adminArray = array('support_mobile'=>'8920976831','contact_person'=>'Amit','support_email'=>'amit.verma@shardatech.org'); } $this->sendComplaintAdminEmail($params, $adminArray); redirect('lodgegrievance/international?msg=success&cnumber='.base64_encode($_POST['compNumber'])); } } } // Get Deparement List $data['departmentArray'] = $this->Common_model->getDepartmentList('su_departments','*',array('department_type'=>'3','status'=>'1','is_deleted'=>'0')); // Get Grievance List $grievanceArray = array(); $grievanceArray = array('status'=>'1','category'=>'International'); if($_POST['department_id']){ $grievanceArray = array('status'=>'1','category'=>'International','department'=>$_POST['department_id']); } $data['grievanceArray'] = $this->Common_model->getAllRecords('grievance_type','id,grievance_name',$grievanceArray); $head['title'] = @$arrSeo['title']!='' ? $arrSeo['title'] : 'Lodge International Grievance - Sharda Grievance Portal'; $this->load->view('_parts/empty_header', $head); $this->load->view('international_complaint', $data); $this->load->view('_parts/empty_no_footer'); } /* * Function : uploadComplaintRelatedDoc */ private function uploadComplaintRelatedDoc() { $config['upload_path'] = './attachments/complaintdocs/'; $config['allowed_types'] = 'gif|jpg|png|jpeg|JPG|PNG|JPEG|PDF|pdf'; $config['file_ext_tolower'] = TRUE; $config['max_size'] = '5000'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('complaint_doc') && !empty($_FILES['complaint_doc']['name'])) { log_message('error', 'Image Upload Error: ' . $this->upload->display_errors()); return array('error'=>$this->upload->display_errors()); } $img = $this->upload->data(); return $img['file_name']; } /* * Function : ajaxgetdepartmentrecord */ public function ajaxgetdepartmentrecord() { if($_POST['school_id']>0) { $data_progremmes = $this->Common_model->getAllRecords('su_departments','*',array('status'=>'1','school_id'=>$_POST['school_id'],'department_type'=>'1')); $response = array(); foreach($data_progremmes as $programe) { $response[$programe['id']] = $programe['name']; } header('Content-type: application/json'); echo json_encode($response); } die; } /* * Function : ajaxgetgrievancerecord */ public function ajaxgetgrievancerecord() { if($_POST['department_id']!='') { $recordsArray = $this->Common_model->getAllRecords('grievance_type','id,grievance_name',array('status'=>'1','department'=>$_POST['department_id'])); $response = array(); foreach($recordsArray as $row) { $response[$row['id']] = $row['grievance_name']; } header('Content-type: application/json'); echo json_encode($response); } die; } /* * Function : sendComplaintAdminEmail */ private function sendComplaintAdminEmail($params, $adminArray) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $params['contactPerson'] = $adminArray['contact_person']; $support_email = $adminArray['support_email']; if($support_email!='') { $template = $this->load->view('email_template/admin_lodgecomplaint_email', $params, true); $subject = 'We received new Incident - '.$compNumber; $this->sendCommonEmail($support_email, $subject, $template); } return true; // if($mobile!='') { // $sms_content="Incident Redressal Online Portal : Dear ".$adminArray['contact_person'].", We received a new Incident - $compNumber."; // $this->sendSMS($mobile, $sms_content); // } } /* * Function : sendUserConfirmationEmail */ private function sendUserConfirmationEmail($params) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $name = $params['name']; if($email_id!='') { $template = $this->load->view('email_template/lodgecomplaint_confirmation_email', $params, true); $subject = 'Dear '.$name.', Your Incident number '.$compNumber.' is Generated'; $this->sendCommonEmail($email_id, $subject, $template); } if($mobile!='') { $sms_content="Incident Management Online Portal : We received your incident and your incident number is $compNumber. Our facilitation officer is now looking into the issue."; $this->sendSMS($mobile, $sms_content); } } /* * Function : sendOTPSMSEmail */ public function sendOTPSMSEmail($params) { $mobile = $params['user_mobile']; $email_id = $params['user_email']; $otp = $params['otp']; if($email_id!='') { $template = $this->load->view('email_template/otp_send_email', $params, true); $subject = 'Grievance Redressal Online Portal - One Time Password (OTP)'; $this->sendCommonEmail($email_id, $subject, $template); } if($mobile!='') { $sms_content="$otp is your One-Time Password for Grievance Redressal Online Portal."; $this->sendSMS($mobile, $sms_content); } } /* * Function : sendCommonEmail */ private function sendCommonEmail($to, $subject, $message) { $resp = send_email_pepipost($to, $subject, $message); return $resp; /*$CI =& get_instance(); $CI->load->library('email'); $mail=$CI->email; $mail->clear(); $from_email = 'grievance@sharda.ac.in'; $from_name = 'Sharda University Grievance Redressal Online Portal'; $config['charset'] = 'utf-8'; $config['wordwrap'] = TRUE; $config['mailtype'] = 'html'; $config['protocol'] = "smtp"; $config['smtp_host'] = 'ssl://smtp.gmail.com'; $config['smtp_user'] = 'grievance@sharda.ac.in'; $config['smtp_pass'] = 'grievance@2020'; $config['smtp_port'] = '465'; $config['_auth_smtp'] = TRUE; $config['newline'] = "\r\n"; $config['crlf'] = "\r\n"; $mail->initialize($config); $mail->from($from_email, $from_name); $mail->to($to); $mail->reply_to($from_email, $from_name); $mail->subject($subject); $mail->message($message); return $mail->send(); */ } /* * Function : sendSMS */ private function sendSMS($mob, $msg) { if($mob>0 && $msg!='') { $msg=urlencode($msg); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, "http://bulkpush.mytoday.com/BulkSms/SingleMsgApi"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "feedid=363901&username=9015129267&password=wgtpt&To=".$mob."&Text=".$msg."&time=&senderid=shardacom_trans"); $buffer = curl_exec($ch); curl_close($ch); return true; } } /* * Function : sendotp */ public function sendotp() { $contactNo = $_SESSION['USER_DETAILS']['contactNo']; $userEmail = $_SESSION['USER_DETAILS']['userEmail']; if($contactNo!='' && $userEmail!='') { // Generate OTP $otp = $this->generateOTP(); // Validate Request $record = $this->Common_model->getSingleRecord('grievance_otp', '*', array('user_email'=>$userEmail,'user_mobile'=>$contactNo)); if(empty($record['id'])) { $params['creationDate'] = date('Y-m-d H:i:s'); $params['otp'] = $otp; $params['status'] = '1'; $params['user_email'] = $userEmail; $params['user_mobile'] = $contactNo; $params['status'] = '1'; $params['verify_status'] = '0'; $last_id = $this->Common_model->saveinfo('grievance_otp',$params); // Send SMS / EMail To Registtered Number and Email ID $this->sendOTPSMSEmail($params); echo '1001'; exit(); } else { $params['otp'] = $otp; $params['status'] = '1'; $params['user_email'] = $userEmail; $params['user_mobile'] = $contactNo; $params['status'] = '1'; $params['verify_status'] = '0'; $params['updationDate'] = date('Y-m-d H:i:s'); $this->Common_model->updateinfo($tbl_name='grievance_otp', $params, 'id', $record['id']); // Send SMS / EMail To Registtered Number and Email ID $this->sendOTPSMSEmail($params); echo '1002'; exit(); } } else { echo '2001'; exit(); } } /* * Function : generateOTP */ private function generateOTP() { return rand(111111, 999999); //return '232524'; } /* * Function : leveltwo */ public function leveltwo() { //print_r($_POST); die; // validate the greivance ID $grievance_number = $_POST['grievance_number']; if($grievance_number!=''){ $grievanceDetails = $this->Common_model->getSingleRecord('tblcomplaints','*',array('compNumber'=>$grievance_number)); if(!empty($grievanceDetails)) { $params = array(); $params['compNumber'] = $grievanceDetails['compNumber']; $params['userId'] = $grievanceDetails['userId']; $params['school_id'] = $grievanceDetails['school_id']; $params['department_id'] = $grievanceDetails['department_id']; $params['grievance_type'] = $grievanceDetails['grievance_type']; $params['complaint_doc'] = $grievanceDetails['complaint_doc']; $params['category'] = $grievanceDetails['category']; $params['lastUpdationDate'] = date('Y-m-d H:i:s'); $params['status'] = 'Not Processed'; $params['complaindetails'] = $_POST['level_two_remarks']; $params['complaint_level'] = '1'; $grievanceLevelTwoDetails = $this->Common_model->getSingleRecord('tbl_leveltwo_complaints','*',array('compNumber'=>$grievance_number)); if(empty($grievanceLevelTwoDetails)) { // Save level2 grievance $this->Common_model->saveinfo('tbl_leveltwo_complaints',$params); // Update tblcomplaints table complaint_level status form 3 to 4 $this->Common_model->updateinfo('tblcomplaints',array('complaint_level'=>'4'),'complaintNumber',$grievanceDetails['complaintNumber']); $grievanceArray = $this->Common_model->getSingleRecord('grievance_type','*',array('id'=>$grievanceDetails['grievance_type'],'status'=>'1','category'=>'International')); // Send Email To Related Department $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$grievanceDetails['compNumber'], 'category'=>'International','complaindetails'=>$_POST['level_two_remarks'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'grievance_type'=>$grievanceArray[$grievanceDetails['grievance_type']]); // Send Confirmation Email to User //$this->sendUserConfirmationLevelTwoEmail($params); // Send Confirmation Email To Level Two Spokperson $contactSpokeDetails = array(); if($grievanceDetails['category']=='Academic'){ $contactSpokeDetails = $this->Common_model->getSingleRecord('admin','*', array('user_level'=>'L2','school_id'=>$grievanceDetails['school_id'],'status'=>'1','category'=>'Academic')); } else if($grievanceDetails['category']=='Non-academic'){ $contactSpokeDetails = $this->Common_model->getSingleRecord('admin','*', array('user_level'=>'L2','status'=>'1','category'=>'Non-academic')); } else if($grievanceDetails['category']=='International') { $contactSpokeDetails = $this->Common_model->getSingleRecord('admin','*', array('user_level'=>'L2','status'=>'1','category'=>'International')); } // Reassign the Support Email Array if(!empty($contactSpokeDetails)){ $levelTwoArray = array('support_mobile'=>$contactSpokeDetails['mobile_no'],'contact_person'=>$contactSpokeDetails['full_name'],'support_email'=>$contactSpokeDetails['username']); } else { $adminArray = array('support_mobile'=>'8920976831','contact_person'=>'Default Email','support_email'=>'amit.verma@shardatech.org'); } $this->sendComplaintAdminLevelTwoEmail($params, $adminArray); // Redirect to confirmation Page redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=success')); } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=already_send')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } /* * Function : sendUserConfirmationLevelTwoEmail */ private function sendUserConfirmationLevelTwoEmail($params) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $name = $params['name']; if($email_id!='') { $template = $this->load->view('email_template/lodgecomplaint_leveltwo_confirmation_email', $params, true); $subject = 'Dear '.$name.', Your L2 level grievance number '.$compNumber.' is send to upper level committee'; $this->sendCommonEmail($email_id, $subject, $template); } if($mobile!='') { $sms_content="Grievance Redressal Online Portal L2: We received your grievance and your grievance number $compNumber is sent to the upper level. Our upper level committee is now looking into the issue."; $this->sendSMS($mobile, $sms_content); } } /* * Function : sendComplaintAdminLevelTwoEmail */ private function sendComplaintAdminLevelTwoEmail($params, $adminArray) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $params['contactPerson'] = $adminArray['contact_person']; $support_email = $adminArray['support_email']; if($support_email!='') { $template = $this->load->view('email_template/admin_lodgeleveltwocomplaint_email', $params, true); $subject = 'Escaltion Reported - '.$compNumber; $this->sendCommonEmail($support_email, $subject, $template); } /*if($mobile!='') { $sms_content="Grievance Redressal Online Portal: Dear ".$adminArray['contact_person'].", We received a new grievance - $compNumber."; $this->sendSMS($mobile, $sms_content); }*/ } /* * Function : levelthree */ public function levelthree() { //print_r($_POST); die; // validate the greivance ID $grievance_number = $_POST['grievance_number']; if($grievance_number!=''){ $grievanceDetails = $this->Common_model->getSingleRecord('tblcomplaints','*',array('compNumber'=>$grievance_number)); if(!empty($grievanceDetails)) { $params = array(); $params['compNumber'] = $grievanceDetails['compNumber']; $params['userId'] = $grievanceDetails['userId']; $params['school_id'] = $grievanceDetails['school_id']; $params['department_id'] = $grievanceDetails['department_id']; $params['grievance_type'] = $grievanceDetails['grievance_type']; $params['complaint_doc'] = $grievanceDetails['complaint_doc']; $params['category'] = $grievanceDetails['category']; $params['lastUpdationDate'] = date('Y-m-d H:i:s'); $params['status'] = 'Not Processed'; $params['complaindetails'] = $_POST['level_two_remarks']; $params['complaint_level'] = '1'; $grievanceLevelThreeDetails = $this->Common_model->getSingleRecord('tbl_levelthree_complaints','*',array('compNumber'=>$grievance_number)); if(empty($grievanceLevelThreeDetails)) { // Save level2 grievance $this->Common_model->saveinfo('tbl_levelthree_complaints',$params); // Update tblcomplaints table complaint_level status form 3 to 4 $this->Common_model->updateinfo('tblcomplaints',array('complaint_level'=>'7'),'complaintNumber',$grievanceDetails['complaintNumber']); $grievanceArray = $this->Common_model->getSingleRecord('grievance_type','*',array('id'=>$grievanceDetails['grievance_type'],'status'=>'1','category'=>'International')); // Send Email To Related Department $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$grievanceDetails['compNumber'], 'category'=>$grievanceDetails['category'],'complaindetails'=>$_POST['level_two_remarks'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'grievance_type'=>$grievanceArray[$grievanceDetails['grievance_type']]); // Send Confirmation Email to User //$this->sendUserConfirmationLevelThreeEmail($params); // Send Confirmation Email To Level Two Spokperson $contactSpokeDetails = array(); $contactSpokeDetails = $this->Common_model->getSingleRecord('admin','*', array('user_level'=>'L3','status'=>'1')); // Reassign the Support Email Array if(!empty($contactSpokeDetails)){ $levelTwoArray = array('support_mobile'=>$contactSpokeDetails['mobile_no'],'contact_person'=>$contactSpokeDetails['full_name'],'support_email'=>$contactSpokeDetails['username']); } else { $adminArray = array('support_mobile'=>'8920976831','contact_person'=>'Default L3 Email','support_email'=>'amit.verma@shardatech.org'); } $this->sendComplaintAdminLevelThreeEmail($params, $adminArray); // Redirect to confirmation Page redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=success')); } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=already_send')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } /* * Function : sendUserConfirmationLevelThreeEmail */ private function sendUserConfirmationLevelThreeEmail($params) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $name = $params['name']; if($email_id!='') { $template = $this->load->view('email_template/lodgecomplaint_leveltwo_confirmation_email', $params, true); $subject = 'Dear '.$name.', Your L3 level grievance number '.$compNumber.' is send to upper level committee'; $this->sendCommonEmail($email_id, $subject, $template); } if($mobile!='') { $sms_content="Grievance Redressal Online Portal L3: We received your grievance and your grievance number $compNumber is sent to upper level. Our upper level committee is now looking into the issue."; $this->sendSMS($mobile, $sms_content); } } /* * Function : sendComplaintAdminLevelThreeEmail */ private function sendComplaintAdminLevelThreeEmail($params, $adminArray) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $params['contactPerson'] = $adminArray['contact_person']; $support_email = $adminArray['support_email']; if($support_email!='') { $template = $this->load->view('email_template/admin_lodgeleveltwocomplaint_email', $params, true); $subject = 'Escaltion Reported - '.$compNumber; $this->sendCommonEmail($support_email, $subject, $template); } /*if($mobile!='') { $sms_content="Grievance Redressal Online Portal L3: Dear ".$adminArray['contact_person'].", We received a new grievance - $compNumber."; $this->sendSMS($mobile, $sms_content); }*/ } /* * Function : levelfour */ public function levelfour() { //print_r($_POST); die; // validate the greivance ID $grievance_number = $_POST['grievance_number']; if($grievance_number!=''){ $grievanceDetails = $this->Common_model->getSingleRecord('tblcomplaints','*',array('compNumber'=>$grievance_number)); if(!empty($grievanceDetails)) { $params = array(); $params['compNumber'] = $grievanceDetails['compNumber']; $params['userId'] = $grievanceDetails['userId']; $params['school_id'] = $grievanceDetails['school_id']; $params['department_id'] = $grievanceDetails['department_id']; $params['grievance_type'] = $grievanceDetails['grievance_type']; $params['complaint_doc'] = $grievanceDetails['complaint_doc']; $params['category'] = $grievanceDetails['category']; $params['lastUpdationDate'] = date('Y-m-d H:i:s'); $params['status'] = 'Not Processed'; $params['complaindetails'] = $_POST['level_two_remarks']; $params['complaint_level'] = '1'; $grievanceLevelThreeDetails = $this->Common_model->getSingleRecord('tbl_levelfour_complaints','*',array('compNumber'=>$grievance_number)); if(empty($grievanceLevelThreeDetails)) { // Save level2 grievance $this->Common_model->saveinfo('tbl_levelfour_complaints',$params); // Update tblcomplaints table complaint_level status form 6 to 9 $this->Common_model->updateinfo('tblcomplaints',array('complaint_level'=>'10'),'complaintNumber',$grievanceDetails['complaintNumber']); $grievanceArray = $this->Common_model->getSingleRecord('grievance_type','*',array('id'=>$grievanceDetails['grievance_type'],'status'=>'1','category'=>'International')); // Send Email To Related Department $params = array(); $params = array('name'=>$_SESSION['USER_DETAILS']['fullName'],'compNumber'=>$grievanceDetails['compNumber'], 'category'=>$grievanceDetails['category'],'complaindetails'=>$_POST['level_two_remarks'],'contactNo'=>$_SESSION['USER_DETAILS']['contactNo'],'userEmail'=>$_SESSION['USER_DETAILS']['userEmail'],'grievance_type'=>$grievanceArray[$grievanceDetails['grievance_type']]); // Send Confirmation Email to User //$this->sendUserConfirmationLevelFourEmail($params); // Send Confirmation Email To Level Two Spokperson $contactSpokeDetails = array(); $contactSpokeDetails = $this->Common_model->getSingleRecord('admin','*', array('user_level'=>'L4','status'=>'1')); // Reassign the Support Email Array if(!empty($contactSpokeDetails)){ $levelTwoArray = array('support_mobile'=>$contactSpokeDetails['mobile_no'],'contact_person'=>$contactSpokeDetails['full_name'],'support_email'=>$contactSpokeDetails['username']); } else { $adminArray = array('support_mobile'=>'8920976831','contact_person'=>'Default L4 Email','support_email'=>'amit.verma@shardatech.org'); } $this->sendComplaintAdminLevelFourEmail($params, $adminArray); // Redirect to confirmation Page redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=success')); } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=already_send')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } else { redirect(base_url('grievancehistory?key='.base64_encode($_POST['grievance_number']).'&msg=error')); } } /* * Function : sendUserConfirmationLevelFourEmail */ private function sendUserConfirmationLevelFourEmail($params) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $name = $params['name']; if($email_id!='') { $template = $this->load->view('email_template/lodgecomplaint_leveltwo_confirmation_email', $params, true); $subject = 'Dear '.$name.', Your L4 level grievance number '.$compNumber.' is send to upper level committee'; $this->sendCommonEmail($email_id, $subject, $template); } if($mobile!='') { $sms_content="Grievance Redressal Online Portal L4: We received your grievance and your grievance number $compNumber is send to upper level. Our upper level committee is now looking into the issue."; $this->sendSMS($mobile, $sms_content); } } /* * Function : sendComplaintAdminLevelFourEmail */ private function sendComplaintAdminLevelFourEmail($params, $adminArray) { $mobile = $params['contactNo']; $email_id = $params['userEmail']; $compNumber = $params['compNumber']; $params['contactPerson'] = $adminArray['contact_person']; $support_email = $adminArray['support_email']; if($support_email!='') { $template = $this->load->view('email_template/admin_lodgeleveltwocomplaint_email', $params, true); $subject = 'Escaltion Reported - '.$compNumber; $this->sendCommonEmail($support_email, $subject, $template); } /*if($mobile!='') { $sms_content="Grievance Redressal Online Portal L4: Dear ".$adminArray['contact_person'].", We received a new grievance - $compNumber."; $this->sendSMS($mobile, $sms_content); }*/ } }