load->model('HRAdmin_Model'); $this->load->model('classroom_model'); $this->load->model('School_model'); //Load the required helpers here $this->load->helper('common_helper'); $this->load->library('upload'); date_default_timezone_set('Asia/Kathmandu'); $this->nepaliDateObject = new NepaliDate(); $this->nepali_current_date = cuurentNepaliDate($this->nepaliDateObject); } public function is_valid_admin_emailid($eid) { $this->form_validation->set_message('is_valid_admin_emailid', 'This Email Id does not exist. Please check again.'); if ($this->HRAdmin_Model->check_is_emailid_valid($eid)) return true; else return false; } public function is_valid_admin_credentials() { $eid = $_POST['email']; $encrypt_password = md5($_POST['password']); $this->form_validation->set_message('is_valid_admin_credentials', 'Invalid password. Please check again.'); if ($this->HRAdmin_Model->check_login_credentials($eid, $encrypt_password)) return true; else return false; } public function login() { $data['title'] = 'Admin Login'; $this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback_is_valid_admin_emailid'); $this->form_validation->set_rules('password', 'Password', 'required'); if (isset($_POST['password']) && $_POST['password'] != '') $this->form_validation->set_rules('password', 'Password', 'callback_is_valid_admin_credentials'); if ($this->form_validation->run() === FALSE) { $this->load->view('bustracking-admin/login', $data); } else { $encrypt_password = md5($this->input->post('password')); $where = 'email="' . $this->input->post('email') . '" AND password="' . $encrypt_password . '"'; $loginData = $this->HRAdmin_Model->get_admin_details($where); if (isset($loginData[0]) && !empty($loginData[0])) { if ($loginData[0]['status'] == 'Active') { if (isset($_POST['remember_me']) && $_POST['remember_me'] == 'on') { //set 0 instead of time to remove the cookie once the browser is closed setcookie("username", $_POST["email"], time() + 86400); //86400 seconds in a day setcookie("password", $_POST["password"], time() + 86400); setcookie("rem_me", 'On', time() + 86400); } else { if (isset($_COOKIE['username'])) { unset($_COOKIE['username']); setcookie('username', ''); } if (isset($_COOKIE['password'])) { unset($_COOKIE['password']); setcookie('password', ''); } if (isset($_COOKIE['rem_me'])) { unset($_COOKIE['rem_me']); setcookie('rem_me', ''); } } $lnData = array( 'bt_lin_id' => $loginData[0]['id'], 'bt_lin_name' => $loginData[0]['admin_name'], 'bt_lin_login' => true, ); $this->session->set_userdata('hrAULoginData', $lnData); $this->session->set_userdata('hr_admin_role_ids', $loginData[0]['admin_role_ids']); $this->session->set_userdata('hr_admin_id', $loginData[0]['id']); //Set Message $this->session->set_flashdata('success', 'Welcome To Admin Users Dashboard.'); $redirectToHere = 'dashboard'; $detailsHere = $this->HRAdmin_Model->get_admin_details('', "SELECT admin_role_ids FROM bt_admin WHERE id = " . $loginData[0]['id']); if (isset($detailsHere[0]['admin_role_ids']) && $detailsHere[0]['admin_role_ids'] != '') { $permissionDetailsHere = $this->HRAdmin_Model->get_bt_admin_role_permissions('', "SELECT menu_ids FROM bt_admin_role_permissions WHERE admin_role_ids IN(" . $detailsHere[0]['admin_role_ids'] . ")"); $menuIdsHere = explode(',', $permissionDetailsHere[0]['menu_ids']); if (!empty($menuIdsHere)) { if (isset($menuDetailsHere[0]['page_link']) && $menuDetailsHere[0]['page_link'] != '') $redirectToHere = $menuDetailsHere[0]['page_link']; } } redirect(base_url() . $redirectToHere); } else { $this->session->set_flashdata('danger', 'Your account is inactive. Please contact the administrator.'); $this->load->view('bustracking-admin/login', $data); } } else { $this->session->set_flashdata('danger', 'Login Credential in invalid!'); $this->load->view('bustracking-admin/login', $data); } } } /*----------------------------------- SATRT Of Logout --------------------------------------------------------*/ public function logout() { $this->common_logout(); //Set Message $this->session->set_flashdata('success', 'You are logged out successfully.'); redirect(base_url() . 'admin'); } public function common_logout() { $lnEuIdId = 0; // unset the loggout admin user data $this->session->unset_userdata('hrAULoginData'); } public function ajaxLogout() { $this->common_logout(); echo 'Success'; exit; } /*----------------------------------- ENDDD Of Logout --------------------------------------------------------*/ /*----------------------------- START of Admin User Password Functionality -----------------------------*/ public function fp_check_is_emailid_valid($eid) { $this->form_validation->set_message('fp_check_is_emailid_valid', 'This Email Id does not exist. Please check again.'); if ($this->HRAdmin_Model->check_is_emailid_valid($eid)) return true; else { return false; } } public function forgot_password() { if (!file_exists(APPPATH . 'views/bustracking-admin/forgot-password.php')) show_404(); $data['title'] = 'Forgot Password'; $this->form_validation->set_rules('email', 'email', 'required|valid_email|callback_fp_check_is_emailid_valid'); if ($this->form_validation->run() === FALSE) { $this->load->view('bustracking-admin/forgot-password', $data); } else { $where = 'email="' . $this->input->post('email') . '" '; $detailsHere = $this->HRAdmin_Model->get_admin_details($where); $rpData['nameHere'] = ''; if (isset($detailsHere[0]['admin_name'])) $rpData['nameHere'] = $detailsHere[0]['admin_name']; $rpData['emailId'] = urlsafe_b64encode($this->input->post('email')); $emailContent = $this->load->view('bustracking-admin/emails/admin-user-forgot-password.php', $rpData, TRUE); $emailData['to'] = $this->input->post('email'); $emailData['subject'] = 'Erisn Classroom Bustracking - Admin User Password Recovery Mail'; $emailData['message'] = $emailContent; //echo $emailContent;exit; $result = ciSendEmail($emailData); $this->session->set_userdata('isForgotPasswordSuccess', 'Yes'); $this->load->view('bustracking-admin/forgot-password', $data); } } function reset_password($encodedEmailId) { if (isset($encodedEmailId) && $encodedEmailId != '') { $decodedEmailId = urlsafe_b64decode($encodedEmailId); $data['encodedEmailId'] = $encodedEmailId; $data['title'] = 'Reset Password'; $this->form_validation->set_rules('password', 'Enter New Password', 'trim|required'); $this->form_validation->set_rules('conf_password', 'Retype New Password', 'required|matches[password]'); if ($this->form_validation->run() === FALSE) { $this->load->view('bustracking-admin/reset-password', $data); } else { $where = 'email ="' . $decodedEmailId . '"'; $isValidUser = $this->HRAdmin_Model->get_admin_details($where); if (!empty($isValidUser) && count($isValidUser) == 1) { $this->HRAdmin_Model->reset_admin_password($isValidUser[0]['id'], $this->input->post('password')); //Set Message $this->session->set_userdata('isResetPasswordSuccess', 'Yes'); redirect('reset-password/' . $encodedEmailId); } else { $this->session->set_flashdata('danger', 'OOps. Something went wrong.'); redirect('reset-password/' . $encodedEmailId); } } } else { redirect(base_url() . "admin"); } } /*----------------------------- ENDDD of Admin User Password Functionality -----------------------------*/ public function dashboard() { // print_r($_SESSION['hrAULoginData']['bt_lin_id']); // exit(); if (!isset($_SESSION['hrAULoginData'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Dashboard'; $data['driver_count'] = $this->HRAdmin_Model->count_query('bt_drivers'); $data['bus_count'] = $this->HRAdmin_Model->count_query('bt_buses'); $data['student_count'] = $this->HRAdmin_Model->count_query('bt_students_bus_route_details'); $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $query = $this->db->query('select * from bt_routes'); $data['route_name'] = $query->result_array(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/dashboard', $data); } /*----------------------------------- START Of Admin Roles --------------------------------------------------------*/ public function roles() { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Designations'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $sqlRole = 'SELECT r.*, rp.menu_ids FROM bt_admin_roles AS r, bt_admin_role_permissions AS rp WHERE r.id = rp.admin_role_ids'; $rolesList = $this->HRAdmin_Model->get_bt_admin_roles('', $sqlRole); if (!empty($rolesList)) { foreach ($rolesList as $key => $role) { $rPs = ''; $sqlRolePermissions = 'SELECT menu_name FROM bt_admin_menu WHERE id IN(' . $role['menu_ids'] . ')'; $rolePermissions = $this->HRAdmin_Model->get_bt_admin_roles('', $sqlRolePermissions); if (!empty($rolePermissions)) { foreach ($rolePermissions as $p) { if ($rPs == '') $rPs = $p['menu_name']; else $rPs .= ',' . $p['menu_name']; } } $rolesList[$key]['permissions'] = $rPs; } } $data['roleList'] = $rolesList; //echo '
'; print_r($data['roleList']);exit; $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/roles', $data); } public function ajaxCheckIsRoleAlreadyExists() { $result = 'Insufficient Data'; if (isset($_POST['role_name']) && $_POST['role_name'] != '' && isset($_POST['id']) && $_POST['id'] != '') { if ($this->HRAdmin_Model->check_role_exists($_POST['id'], $_POST['role_name'])) $result = 'Unique Role'; else $result = 'Duplicate Role'; } echo $result; exit; } public function add_edit_role($idVal) { $sql = "SELECT * FROM bt_admin_roles WHERE id = $idVal"; $details = $this->HRAdmin_Model->get_bt_admin_roles("id = $idVal"); if (empty($details) && $idVal != 0) redirect(base_url() . 'roles'); $data['title'] = 'Add New Role'; if ($idVal > 0) $data['title'] = 'Update Role'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $data['details'] = $details; $data['idVal'] = $idVal; $data['menus'] = $this->HRAdmin_Model->get_admin_menu_details('', 'SELECT id,menu_name FROM bt_admin_menu WHERE status="Active" AND parent_id=0'); $data['role_permissions'] = $this->HRAdmin_Model->get_bt_admin_role_permissions('', "SELECT menu_ids FROM bt_admin_role_permissions WHERE admin_role_ids = $idVal"); if (count($_POST) > 0) { $permissions = ''; if (isset($_POST['role_permissions']) && !empty($_POST['role_permissions'])) { $permissions = implode(',', $_POST['role_permissions']); unset($_POST['role_permissions']); } $res = $this->HRAdmin_Model->add_edit_admin_role($idVal, $_POST); if ($res) { if ($permissions != '') { if ($idVal == 0) { $rpData['admin_role_ids'] = $res; $rpData['menu_ids'] = $permissions; $this->HRAdmin_Model->add_edit_admin_role_permissions(0, $rpData); } else { $getRPrid = $this->HRAdmin_Model->get_bt_admin_role_permissions('', "SELECT id FROM bt_admin_role_permissions WHERE admin_role_ids = $idVal"); if (isset($getRPrid[0]['id'])) { $rpData['admin_role_ids'] = $idVal; $rpData['menu_ids'] = $permissions; $this->HRAdmin_Model->add_edit_admin_role_permissions($getRPrid[0]['id'], $rpData); } } } $this->session->set_flashdata('success', str_replace('%s', 'new role', THE_ADD_SUCCESS_MSG)); if ($idVal > 0) $this->session->set_flashdata('success', str_replace('%s', 'role', THE_UPDATE_SUCCESS_MSG)); } redirect(base_url() . 'roles'); } $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/add-edit-role', $data); } public function delete_role() { $roleId = $_POST['id']; $sql = "SELECT id FROM bt_admin WHERE admin_role_ids=" . $roleId; $result = $this->HRAdmin_Model->get_admin_details('', $sql); //echo ''; print_r($result);exit; if (!empty($result)) echo 'Error'; else { $this->HRAdmin_Model->delete_admin_role($roleId); echo 'Success'; } } /*----------------------------------- ENDDD Of Admin Roles --------------------------------------------------------*/ /*----------------------------------- START Of Admin Users --------------------------------------------------------*/ public function users() { $data['title'] = 'Users'; $sql = 'SELECT a.*, ar.role_name FROM bt_admin AS a, bt_admin_roles AS ar WHERE a.admin_role_ids = ar.id'; $data['userList'] = $this->HRAdmin_Model->get_admin_details('', $sql); $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/users', $data); } public function ajaxCheckIsUserEmailAlreadyExists() { $result = 'Insufficient Data'; if (isset($_POST['email']) && $_POST['email'] != '' && isset($_POST['id']) && $_POST['id'] != '') { if ($this->HRAdmin_Model->check_emailid_exists($_POST['id'], $_POST['email'])) $result = 'Unique Email'; else $result = 'Duplicate Email'; } echo $result; exit; } public function add_edit_user($idVal) { $sql = "SELECT * FROM bt_admin WHERE id = $idVal"; $details = $this->HRAdmin_Model->get_admin_details("id = $idVal"); if (empty($details) && $idVal != 0) redirect(base_url() . 'users'); $data['title'] = 'Add New User'; if ($idVal > 0) $data['title'] = 'Update User'; $data['details'] = $details; $data['idVal'] = $idVal; $data['roles'] = $this->HRAdmin_Model->get_bt_admin_roles('', 'SELECT id,role_name FROM bt_admin_roles WHERE status="Active"'); if (count($_POST) > 0) { if (isset($_POST['password'])) $_POST['password'] = md5($_POST['password']); if (isset($_POST['confirm_password'])) unset($_POST['confirm_password']); $res = $this->HRAdmin_Model->add_edit_admin_user($idVal, $_POST); $this->session->set_flashdata('success', str_replace('%s', 'new user', THE_ADD_SUCCESS_MSG)); if ($idVal > 0) $this->session->set_flashdata('success', str_replace('%s', 'user', THE_UPDATE_SUCCESS_MSG)); redirect(base_url() . 'users'); } $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/add-edit-user', $data); } public function delete_user() { $userId = $_POST['id']; $result = $this->HRAdmin_Model->delete_admin_user($userId); if ($result) echo 'Success'; else echo 'Error'; } /*----------------------------------- ENDDD Of Admin Users --------------------------------------------------------*/ /*----------Add Bus Code start here from Shankar--------------------------*/ public function designation() { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Designations'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); if (isset($_POST['addDesignation']) && $_POST['addDesignation'] == 'Add') { $designationTitle = $_POST['title']; $isUnique = $this->HRAdmin_Model->get_unique_name('title', $designationTitle, 'hr_designation'); echo ''; print_r($isUnique); if ($isUnique) { $in_data['title'] = $designationTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $this->db->insert('hr_designation', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Designation', 'New designation has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Designation', 'Designation title already exist.')); } redirect(base_url() . 'designation'); } else if (isset($_POST['updateDesignation']) && $_POST['updateDesignation'] == 'Update') { $designationTitle = $_POST['title']; $designationId = $_POST['designationId']; $update_data = array( 'title' => $designationTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $this->db->where('id', $designationId); $update = $this->db->update("hr_designation", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Designation', 'Designation has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Designation', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'designation'); } $query = $this->db->query('select * from hr_designation'); $data['designation_list'] = $query->result_array(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/designation', $data); } public function staff_roles() { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Staff Roles'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); if (isset($_POST['addStaffRole']) && $_POST['addStaffRole'] == 'Add') { $staffRoleTitle = $_POST['title']; $isUnique = $this->HRAdmin_Model->get_unique_name('title', $staffRoleTitle, 'staff_roles'); // echo ''; // print_r($isUnique); if ($isUnique) { $in_data['title'] = $staffRoleTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $this->db->insert('staff_roles', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Role', 'New has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Role', 'Role already exist.')); } redirect(base_url() . 'staff-roles'); } else if (isset($_POST['updateStaffRole']) && $_POST['updateStaffRole'] == 'Update') { // var_dump($_POST); // exit(); $staffRoleTitle = $_POST['title']; $staffRoleId = $_POST['roleId']; $update_data = array( 'title' => $staffRoleTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $this->db->where('id', $staffRoleId); $update = $this->db->update("staff_roles", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Roles', 'Role has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Roles', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'staff-roles'); } $query = $this->db->query('select * from staff_roles'); $data['staffRole_list'] = $query->result_array(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/staff-roles', $data); } public function department() { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Departments'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); if (isset($_POST['addDepartment']) && $_POST['addDepartment'] == 'Add') { $departmentTitle = $_POST['title']; $isUnique = $this->HRAdmin_Model->get_unique_name('title', $departmentTitle, 'hr_department'); echo ''; print_r($isUnique); if ($isUnique) { $in_data['title'] = $departmentTitle; $in_data['is_active'] = 'yes'; $in_data['created_on'] = $this->nepali_current_date; $in_data['modified_on'] = $this->nepali_current_date; $this->db->insert('hr_department', $in_data); $this->session->set_flashdata('success', str_replace('%s', 'Department', 'New department has been added.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Department', 'Department title already exist.')); } redirect(base_url() . 'department'); } else if (isset($_POST['updateDepartment']) && $_POST['updateDepartment'] == 'Update') { $departmentTitle = $_POST['title']; $departmentId = $_POST['departmentId']; $update_data = array( 'title' => $departmentTitle, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); $this->db->where('id', $departmentId); $update = $this->db->update("hr_department", $update_data); if ($update) { $this->session->set_flashdata('success', str_replace('%s', 'Department', 'Department has been updated successfully.')); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Department', 'THE_ADD_ERROR_MSG')); } redirect(base_url() . 'department'); } $query = $this->db->query('select * from hr_department'); $data['department_list'] = $query->result_array(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/department', $data); } public function staffs() { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['title'] = 'Staffs'; $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $staffQuery = "select s.*, sr.title as role_title, IF(des.id is null,'-',des.title) as designation_title, IF(dep.id is null,'-',dep.title) as department_title, IF(dep.id is null,'-',dep.title) as department_title from staffs s JOIN staff_roles sr ON sr.id=s.role LEFT JOIN hr_designation des ON des.id=s.designations LEFT JOIN hr_department dep ON dep.id=s.department"; $query = $this->db->query($staffQuery); $data['staff_list'] = $query->result_array(); // dd($data['staff_list']); $designation_query = $this->db->query('select * from hr_designation'); $data['designation_list'] = $designation_query->result_array(); $data['provinces'] = $this->School_model->get_table_info('provinces'); $department_query = $this->db->query('select * from hr_department'); $data['department_list'] = $department_query->result_array(); $roles_query = $this->db->query('select * from staff_roles WHERE is_active = "yes"'); $data['staff_roles'] = $roles_query->result_array(); if (isset($_POST['updateStaff']) && $_POST['updateStaff'] == 'Update') { echo ''; print_r($_POST); print_r($_FILES); $staffId = $_POST['theStaffId']; $profile = $_POST['staffPhoto']; $documentImage = $_POST['staffDocImg']; $otherDocument = $_POST['staffOtherDoc']; $resume = $_POST['staffResume']; $joiningLetter = $_POST['staffJoiningLetter']; if ($_FILES['photo']['size'] != 0) { $config['upload_path'] = '../assets_admin/images/teacher-profile/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; if (!empty($profile)) { unlink('../assets_admin/images/teacher-profile/' . $profile); } $config['file_name'] = $staffId . '_profile'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('photo')) { $profile = ""; } else { $photo = array('upload_data' => $this->upload->data()); $profile = $photo['upload_data']['file_name']; } } if ($_FILES['document_image']['size'] != 0) { if (!empty($documentImage)) { unlink('../assets_admin/docs/staff-documents/' . $documentImage); } $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_doc1'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('document_image')) { $documentImage = ""; } else { $photo = array('upload_data' => $this->upload->data()); $documentImage = $photo['upload_data']['file_name']; } } if ($_FILES['other_document']['size'] != 0) { if (!empty($otherDocument)) { unlink('../assets_admin/docs/staff-documents/' . $otherDocument); } $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_doc2'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('other_document')) { $otherDocument = ""; } else { $photo = array('upload_data' => $this->upload->data()); $otherDocument = $photo['upload_data']['file_name']; } } if ($_FILES['resume']['size'] != 0) { if (!empty($resume)) { unlink('../assets_admin/docs/staff-documents/' . $resume); } $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_resume'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('resume')) { $resume = ""; } else { $photo = array('upload_data' => $this->upload->data()); $resume = $photo['upload_data']['file_name']; } } if ($_FILES['joining_letter']['size'] != 0) { if (!empty($joiningLetter)) { unlink('../assets_admin/docs/staff-documents/' . $joiningLetter); } $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_joining_letter'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('joining_letter')) { $joiningLetter = ""; } else { $photo = array('upload_data' => $this->upload->data()); $joiningLetter = $photo['upload_data']['file_name']; } } $data_array = array( 'staffId' => $staffId, 'name' => $_POST['name'], 'gender' => $_POST['gender'], 'dob' => $_POST['sdob'], 'role' => $_POST['role'], 'department' => $_POST['department'], 'designations' => $_POST['designation'], 'father_name' => $_POST['father_name'], 'mother_name' => $_POST['mother_name'], 'email' => $_POST['email'], 'mobile' => $_POST['mobile'], 'martial_status' => $_POST['martial_status'], 'emergency_number' => $_POST['emergency_number'], 'document_type' => $_POST['document_type'], 'document_id' => $_POST['document_id'], 'address' => $_POST['address'], 'province' => $_POST['province'], 'country' => $_POST['country'], 'qualification' => $_POST['qualifications'], 'experience' => $_POST['experience'], 'date_of_joining' => $_POST['date_of_joining'], 'epf_no' => $_POST['epf_no'], 'basic_salary' => $_POST['basic_salary'], 'contract_type' => $_POST['contract_type'], 'bank_account_name' => $_POST['bank_account_name'], 'bank_account_number' => $_POST['bank_account_number'], 'bank_name' => $_POST['bank_name'], 'branch_name' => $_POST['bank_branch'], 'pan' => $_POST['pan'], 'photo' => $profile, 'other_document' => $otherDocument, 'document_photo_1' => $documentImage, 'resume' => $resume, 'joining_letter' => $joiningLetter, 'is_active' => $_POST['is_active'], 'modified_on' => $this->nepali_current_date, ); print_r($data_array); $this->db->where('id', $_POST['staffId']); $update = $this->db->update("staffs", $data_array); if ($update) { $this->session->set_flashdata('success', str_replace('%s', $_POST['name'], "Record has been updated successfully.")); redirect(base_url() . 'staffs'); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Staff', 'Something went wrong. Try again.')); redirect(base_url() . 'staffs'); } // exit(); } $dateTimeArray = explode(' ', $this->nepali_current_date); $data['today_date'] = $dateTimeArray[0]; $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/staffs', $data); } public function ae_staff($id) { if (!isset($_SESSION['hr_admin_id'])) redirect(base_url() . 'admin'); $data['currentURL'] = current_url(); $data['school_info'] = $this->classroom_model->get_logo_from_setting(); $roles_query = $this->db->query('select * from staff_roles WHERE is_active = "yes"'); $data['staff_roles'] = $roles_query->result_array(); if ($id > 0) { $staff = $this->db->query('select * from staffs WHERE id = ' . $id)->row_array(); $data['staff_detail'] = $staff; $data['title'] = 'Update Staff Record'; } else { $data['title'] = 'Add New Staff'; } if (isset($_POST['submit']) && $_POST['submit'] == 'Add New Staff') { echo ''; print_r($_POST); print_r($_FILES); $staffIdPrefix = ''; foreach ($data['staff_roles'] as $roleKey => $role) { if ($_POST['role'] == $role['id']) { $staffIdPrefix = substr($role['title'], 0, 1); } print_r($role['title']); } $this->db->select_max('id'); $query = $this->db->get('staffs'); $res = $query->row_array(); $pid = $res['id'] + 1; $school_prefix = (!empty($data['school_info']['school_prefix_id'])) ? $data['school_info']['school_prefix_id'] : 'BB'; $staffId = $school_prefix . $staffIdPrefix . date('Ymd', strtotime($this->nepali_current_date)) . '0' . $pid; $mobile = $_POST['mobile']; $isUnique = $this->HRAdmin_Model->get_unique_name('mobile', $mobile, 'staffs'); echo ''; print_r($isUnique); if ($isUnique) { $profile = ""; $documentImage = ""; $otherDocument = ""; $resume = ""; $joiningLetter = ""; if ($_FILES['photo']['size'] != 0) { $config['upload_path'] = '../assets_admin/images/teacher-profile/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_profile'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('photo')) { $profile = ""; } else { $photo = array('upload_data' => $this->upload->data()); $profile = $photo['upload_data']['file_name']; } } if ($_FILES['document_image']['size'] != 0) { $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_doc1'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('document_image')) { $documentImage = ""; } else { $photo = array('upload_data' => $this->upload->data()); $documentImage = $photo['upload_data']['file_name']; } } if ($_FILES['other_document']['size'] != 0) { $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_doc2'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('other_document')) { $otherDocument = ""; } else { $photo = array('upload_data' => $this->upload->data()); $otherDocument = $photo['upload_data']['file_name']; } } if ($_FILES['resume']['size'] != 0) { $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_resume'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('resume')) { $resume = ""; } else { $photo = array('upload_data' => $this->upload->data()); $resume = $photo['upload_data']['file_name']; } } if ($_FILES['joining_letter']['size'] != 0) { $config['upload_path'] = '../assets_admin/docs/staff-documents/'; $config['allowed_types'] = 'gif|jpg|jpeg|png|jiff|jfif|pdf|doc|docx'; $config['file_name'] = $staffId . '_joining_letter'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('joining_letter')) { $joiningLetter = ""; } else { $photo = array('upload_data' => $this->upload->data()); $joiningLetter = $photo['upload_data']['file_name']; } } $data_array = array( 'staffId' => $staffId, 'name' => $_POST['name'], 'gender' => $_POST['gender'], 'dob' => $_POST['sdob'], 'role' => $_POST['role'], 'department' => $_POST['department'], 'designations' => $_POST['designation'], 'father_name' => $_POST['father_name'], 'mother_name' => $_POST['mother_name'], 'email' => $_POST['email'], 'mobile' => $_POST['mobile'], 'martial_status' => $_POST['martial_status'], 'emergency_number' => $_POST['emergency_number'], 'document_type' => $_POST['document_type'], 'document_id' => $_POST['document_id'], 'address' => $_POST['address'], 'province' => $_POST['province'], 'country' => $_POST['country'], 'qualification' => $_POST['qualifications'], 'experience' => $_POST['experience'], 'date_of_joining' => $_POST['date_of_joining'], 'epf_no' => $_POST['epf_no'], 'basic_salary' => $_POST['basic_salary'], 'contract_type' => $_POST['contract_type'], 'bank_account_name' => $_POST['bank_account_name'], 'bank_account_number' => $_POST['bank_account_number'], 'bank_name' => $_POST['bank_name'], 'branch_name' => $_POST['bank_branch'], 'pan' => $_POST['pan'], 'photo' => $profile, 'other_document' => $otherDocument, 'document_photo_1' => $documentImage, 'resume' => $resume, 'joining_letter' => $joiningLetter, 'created_on' => $this->nepali_current_date, 'modified_on' => $this->nepali_current_date, ); print_r($data_array); $insert = $this->db->insert('staffs', $data_array); if ($insert) { $this->session->set_flashdata('success', 'New record has been inserted in staff.'); } else { $this->session->set_flashdata('danger', 'Something went wrong. Please try again'); } redirect(base_url() . 'staffs'); } else { $this->session->set_flashdata('danger', str_replace('%s', 'Staff', 'Staff with the contact number already exists.')); } // exit(); } $data['provinces'] = $this->School_model->get_table_info('provinces'); $designation_query = $this->db->query('select * from hr_designation'); $data['designation_list'] = $designation_query->result_array(); $department_query = $this->db->query('select * from hr_department'); $data['department_list'] = $department_query->result_array(); $dateTimeArray = explode(' ', $this->nepali_current_date); $data['today_date'] = $dateTimeArray[0]; // exit(); $this->load->view('bustracking-admin/common/left-menu', $data); $this->load->view('bustracking-admin/common/header', $data); $this->load->view('bustracking-admin/ae-staff', $data); } }