load->helper('cookie'); $this->load->helper('language'); $this->lang->load('messages', 'message'); } public function index() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $role_id = $admin_info['role_id']; if($role_id == 1){ $data['content'] = $this->get_admins(); $this->load->model('admin_model'); $data['roles'] = $this->admin_model->get_roles(); $this->load->view('admin_acc/index', $data); }else { show_404(); } }else { $this->load->view('login'); } } public function get_admins() { $this->load->helper('pagging'); $this->load->model('admin_model'); $data['current_page'] = $this->uri->segment(4, 1); $data['itemsoptions'] = array(10, 25, 50, 100); $data['perpage'] = 10; $data['keyword'] = ""; $data['sorting_order']="sorting_desc"; $data['sorting_field']="created_time"; if ($this->input->post('sorting_order')) { if ($this->input->post('sorting_order') != "sorting") { $data['sorting_order'] = $this->input->post('sorting_order'); $data['sorting_field'] = $this->input->post('sorting_field'); } } if ($this->input->post('items')) { $data['perpage'] = $this->input->post('items'); } if ($this->input->post('keyword')) { $data['keyword'] = $this->input->post('keyword'); } $data['start'] = ($data['current_page'] - 1) * $data['perpage']; $data['total'] = $this->admin_model->get_total_admins($data); $data['admins'] = $this->admin_model->get_list_admins($data); $data['paging_url'] = base_url() . "admin/quan_tri_vien/trang/"; $data['num_links'] = 2; $data['paging'] = pagging($data); if ($this->input->is_ajax_request()) { return $this->load->view('admin_acc/listview', $data); } return $this->load->view('admin_acc/listview', $data, true); } public function add_admin() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $this->load->helper('email'); $result = array(); $result['success'] = 0; $input = $this->input->post(); $this->load->model('admin_model'); if (strlen($input['full_name'])==0) { $result['errors']['full_name_err'] = lang('_SBG_FULLNAME_REQUIRED_MSG'); } if (strlen($input['login_name'])==0) { $result['errors']['login_name_err'] = lang('_SBG_LOGIN_NAME_REQUIRED_MSG'); } else { if ($this->admin_model->check_exist(array('field'=>'login_name','value'=>$input['login_name']))) { $result['errors']['login_name_err'] = lang('_SBG_LOGIN_NAME_DUPLICATE_MSG'); } } if (strlen($input['phone'])==0) { $result['errors']['phone_err'] = lang('_SBG_PHONE_REQUIRED_MSG'); } else { if(!preg_match('/^([0-9]{10,11}$)$/', $input['phone'])){ $result['errors']['phone_err'] = lang('_SBG_PHONE_FORMAT_ERROR_MSG'); }else if ($this->admin_model->check_exist(array('field'=>'phone','value'=>$input['phone']))) { $result['errors']['phone_err'] = lang('_SBG_PHONE_DUPLICATE_MSG'); } } if (strlen($input['passwd'])==0) { $result['errors']['pwd1_err'] = lang('_SBG_PASSWORD_REQUIRED_MSG'); } if ($input['passwd'] != $input['pwd2']) { $result['errors']['pwd2_err'] = lang('_SBG_PASSWORD_CONFIRM_MSG'); } if(strlen($input['email'])==0) { $result['errors']['email_err'] = lang('_SBG_EMAIL_REQUIRED_MSG'); }else{ if(!valid_email($input['email'])) { $result['errors']['email_err'] = lang('_SBG_EMAIL_FORMAT_ERROR_MSG'); } } if (!isset($result['errors'])) { unset($input['pwd2']); $input['passwd'] = md5($input['passwd']); $input['created_time']=date("Y-m-d H:i:s"); $input['updated_time']=date("Y-m-d H:i:s"); $this->admin_model->insert($input); $result['success'] = 1; } echo json_encode($result); }else{ $this->load->view('login'); } } public function edit_admin() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $admin_id = $this->uri->segment(4); $this->load->model('admin_model'); $data = $this->admin_model->search_by_id($admin_id); $this->load->view('admin_acc/edit_admin', $data); }else { $this->load->view('login'); } } public function update_admin() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $input = $this->input->post(); $result = array(); $result['success'] = 0; $this->load->model('admin_model'); $input['updated_time']=date("Y-m-d H:i:s"); $this->admin_model->update($input['admin_id'], $input); $result['success'] = 1; echo json_encode($result); }else { $this->load->view('login'); } } public function delete_admin() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $result = array(); $result['success'] = 0; $admin_id = (int)$this->uri->segment(4, 0); if ($admin_id == 0){ $result['success'] = 0; }else { $this->load->model('admin_model'); $this->admin_model->delete($admin_id); $result['success'] = 1; } echo json_encode($result); }else { $this->load->view('login'); } } public function get_admin_by_id() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $admin_id = (int)$this->uri->segment(4); $this->load->model('admin_model'); $data = $this->admin_model->search_by_id($admin_id); $this->load->view('admin_acc/view_admin', $data); }else { $this->load->view('login'); } } public function admin_profile() { $admin_info = $this->session->userdata('adminInfo'); if($admin_info) { $admin_id = $admin_info['admin_id']; $this->load->model(array('admin_model')); $data = $this->admin_model->search_by_id($admin_id); $this->load->view('admin_acc/admin_profile', $data); }else { $this->load->view('login'); } } public function update_info() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info) { $this->load->helper('email'); $input = $this->input->post(); $result = array(); $result['success'] = 0; if(strlen($input['email'])>0){ if(!valid_email($input['email'])) { $result['errors']['email_err'] = lang('_SBG_EMAIL_FORMAT_ERROR_MSG'); } } if(strlen($input['phone'])>0){ if (!preg_match('/[0-9]/', $input['phone'])) { $result['errors']['phone_err'] = lang('_SBG_PHONE_FORMAT_ERROR_MSG'); } } if (!isset($result['errors'])) { $input['admin_id'] = $admin_info['admin_id']; $input['updated_time']=date("Y-m-d H:i:s"); $this->load->model('admin_model'); $this->admin_model->update($input['admin_id'], $input); $result['success'] = 1; } echo json_encode($result); }else { $this->load->view('login'); } } public function change_password() { $admin_info = $this->session->userdata('adminInfo'); if ($admin_info){ $result = array(); $result['success'] = 0; $this->load->model('admin_model'); $input = $this->input->post(); $input['admin_id'] = $admin_info['admin_id']; if (strlen($input['passwd']) == 0) { $result['errors']['passwd_old_err'] = lang('_SBG_PASSWORD_REQUIRED_MSG'); }else { $check_pass = $this->admin_model->check_password($input['admin_id'], $input['passwd']); if (!$check_pass) { $result['errors']['passwd_old_err'] = lang('_SBG_OLD_PASSWORD_FAIL_MSG'); } } if (strlen($input['passwd_new']) == 0) { $result['errors']['passwd_new_err'] = lang('_SBG_PASSWORD_REQUIRED_MSG'); }else if(strcmp($input['passwd'], $input['passwd_new']) == 0) { $result['errors']['passwd_new_err'] = lang('_SBG_PASSWORD_DUPLICATE_MSG'); } if ($input['passwd_new'] != $input['confirm_passwd_new']) { $result['errors']['confirm_passwd_new_err'] = lang('_SBG_PASSWORD_CONFIRM_MSG'); } if (!isset($result['errors'])) { $updated_time=date("Y-m-d H:i:s"); $data = array('passwd'=>md5($input['passwd_new']), 'updated_time'=>$updated_time); $this->admin_model->update($input['admin_id'], $data); $result['success'] = 1; } echo json_encode($result); }else { $this->load->view('login'); } } }