load->model('user_model'); $this->isLoggedIn(); } /** * This function used to load the first screen of the user */ public function index() { $this->global['pageTitle'] = 'Siddharth : Dashboard'; $this->loadViews("dashboard", $this->global, NULL , NULL); } /** * This function is used to load the user list */ function userListing() { if($this->isAdmin() == TRUE) { $this->loadThis(); } else { $this->load->model('user_model'); $searchText = $this->input->post('searchText'); $data['searchText'] = $searchText; $this->load->library('pagination'); $count = $this->user_model->userListingCount($searchText); $returns = $this->paginationCompress ( "userListing/", $count, 5 ); $data['userRecords'] = $this->user_model->userListing($searchText, $returns["page"], $returns["segment"]); $this->global['pageTitle'] = 'Siddharth : User Listing'; $this->loadViews("users", $this->global, $data, NULL); } } /** * This function is used to load the add new form */ function addNew() { if($this->isAdmin() == TRUE) { $this->loadThis(); } else { $this->load->model('user_model'); $data['roles'] = $this->user_model->getUserRoles(); $this->global['pageTitle'] = 'Siddharth : Add New User'; $this->loadViews("addNew", $this->global, $data, NULL); } } /** * This function is used to check whether email already exist or not */ function checkEmailExists() { $userId = $this->input->post("userId"); $email = $this->input->post("email"); if(empty($userId)){ $result = $this->user_model->checkEmailExists($email); } else { $result = $this->user_model->checkEmailExists($email, $userId); } if(empty($result)){ echo("true"); } else { echo("false"); } } /** * This function is used to add new user to the system */ function addNewUser() { if($this->isAdmin() == TRUE) { $this->loadThis(); } else { $this->load->library('form_validation'); $this->form_validation->set_rules('fname','Full Name','trim|required|max_length[128]|xss_clean'); $this->form_validation->set_rules('email','Email','trim|required|valid_email|xss_clean|max_length[128]'); $this->form_validation->set_rules('password','Password','required|max_length[20]'); $this->form_validation->set_rules('cpassword','Confirm Password','trim|required|matches[password]|max_length[20]'); $this->form_validation->set_rules('role','Role','trim|required|numeric'); $this->form_validation->set_rules('mobile','Mobile Number','required|min_length[10]|xss_clean'); if($this->form_validation->run() == FALSE) { $this->addNew(); } else { $name = ucwords(strtolower($this->input->post('fname'))); $email = $this->input->post('email'); $password = $this->input->post('password'); $roleId = $this->input->post('role'); $mobile = $this->input->post('mobile'); $userInfo = array('email'=>$email, 'password'=>getHashedPassword($password), 'roleId'=>$roleId, 'name'=> $name, 'mobile'=>$mobile, 'createdBy'=>$this->vendorId, 'createdDtm'=>date('Y-m-d H:i:sa')); $this->load->model('user_model'); $result = $this->user_model->addNewUser($userInfo); if($result > 0) { $this->session->set_flashdata('success', 'New User created successfully'); } else { $this->session->set_flashdata('error', 'User creation failed'); } echo $result; redirect('addNew'); } } } /** * This function is used load user edit information * @param number $userId : Optional : This is user id */ function editOld($userId = NULL) { if($this->isAdmin() == TRUE || $userId == 1) { $this->loadThis(); } else { if($userId == null) { redirect('userListing'); } $data['roles'] = $this->user_model->getUserRoles(); $data['userInfo'] = $this->user_model->getUserInfo($userId); $this->global['pageTitle'] = 'Siddharth : Edit User'; $this->loadViews("editOld", $this->global, $data, NULL); } } /** * This function is used to edit the user information */ function editUser() { if($this->isAdmin() == TRUE) { $this->loadThis(); } else { $this->load->library('form_validation'); $userId = $this->input->post('userId'); $this->form_validation->set_rules('fname','Full Name','trim|required|max_length[128]|xss_clean'); $this->form_validation->set_rules('email','Email','trim|required|valid_email|xss_clean|max_length[128]'); $this->form_validation->set_rules('password','Password','matches[cpassword]|max_length[20]'); $this->form_validation->set_rules('cpassword','Confirm Password','matches[password]|max_length[20]'); $this->form_validation->set_rules('role','Role','trim|required|numeric'); $this->form_validation->set_rules('mobile','Mobile Number','required|min_length[10]|xss_clean'); if($this->form_validation->run() == FALSE) { $this->editOld($userId); } else { $name = ucwords(strtolower($this->input->post('fname'))); $email = $this->input->post('email'); $password = $this->input->post('password'); $roleId = $this->input->post('role'); $mobile = $this->input->post('mobile'); $userInfo = array(); if(empty($password)) { $userInfo = array('email'=>$email, 'roleId'=>$roleId, 'name'=>$name, 'mobile'=>$mobile, 'updatedBy'=>$this->vendorId, 'updatedDtm'=>date('Y-m-d H:i:sa')); } else { $userInfo = array('email'=>$email, 'password'=>getHashedPassword($password), 'roleId'=>$roleId, 'name'=>ucwords($name), 'mobile'=>$mobile, 'updatedBy'=>$this->vendorId, 'updatedDtm'=>date('Y-m-d H:i:sa')); } $result = $this->user_model->editUser($userInfo, $userId); if($result == true) { $this->session->set_flashdata('success', 'User updated successfully'); } else { $this->session->set_flashdata('error', 'User updation failed'); } redirect('userListing'); } } } /** * This function is used to delete the user using userId * @return boolean $result : TRUE / FALSE */ function deleteUser() { if($this->isAdmin() == TRUE) { echo(json_encode(array('status'=>'access'))); } else { $userId = $this->input->post('userId'); $userInfo = array('isDeleted'=>1,'updatedBy'=>$this->vendorId, 'updatedDtm'=>date('Y-m-d H:i:sa')); $result = $this->user_model->deleteUser($userId, $userInfo); if ($result > 0) { echo(json_encode(array('status'=>TRUE))); } else { echo(json_encode(array('status'=>FALSE))); } } } /** * This function is used to load the change password screen */ function loadChangePass() { $this->global['pageTitle'] = 'Siddharth : Change Password'; $this->loadViews("changePassword", $this->global, NULL, NULL); } /** * This function is used to change the password of the user */ function changePassword() { $this->load->library('form_validation'); $this->form_validation->set_rules('oldPassword','Old password','required|max_length[20]'); $this->form_validation->set_rules('newPassword','New password','required|max_length[20]'); $this->form_validation->set_rules('cNewPassword','Confirm new password','required|matches[newPassword]|max_length[20]'); if($this->form_validation->run() == FALSE) { $this->loadChangePass(); } else { $oldPassword = $this->input->post('oldPassword'); $newPassword = $this->input->post('newPassword'); $resultPas = $this->user_model->matchOldPassword($this->vendorId, $oldPassword); if(empty($resultPas)) { $this->session->set_flashdata('nomatch', 'Your old password not correct'); redirect('loadChangePass'); } else { $usersData = array('password'=>getHashedPassword($newPassword), 'updatedBy'=>$this->vendorId, 'updatedDtm'=>date('Y-m-d H:i:sa')); $result = $this->user_model->changePassword($this->vendorId, $usersData); if($result > 0) { $this->session->set_flashdata('success', 'Password updation successful'); } else { $this->session->set_flashdata('error', 'Password updation failed'); } redirect('loadChangePass'); } } } function pageNotFound() { $this->global['pageTitle'] = 'Siddharth : 404 - Page Not Found'; $this->loadViews("404", $this->global, NULL, NULL); } } ?>