File: //var/www/html/qcr24/app/application/controllers/admin/User.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class User extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('admin/muser');
}
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$data = array('menu_id' => 9);
$data['users'] = array();
if (check_user_permission($data['menu_id'], 'delete_flag')) {
$data['users'] = $this->muser->get_user();
}
$data['content'] = 'admin/user/list';
$this->load->view('admin/layouts/index', $data);
}
public function adduser($pre_data = array())
{
$data = array();
$data = $pre_data;
$data['roles'] = $this->muser->get_role();
//$data['states'] = $this->muser->get_state();
$data['parent_user'] = $this->muser->edit_user($this->admin_session_data['user_id']);
$data['content'] = 'admin/user/add';
$this->load->view('admin/layouts/index', $data);
}
public function edituser($user_id)
{
$data['user'] = $this->muser->edit_user($user_id);
//var_dump($data['user']);
$data['roles'] = $this->muser->get_role();
$data['content'] = 'admin/user/edit';
$this->load->view('admin/layouts/index', $data);
}
public function submitUser()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('confirm_password', 'Password Confirmation', 'required|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[master_admin.email]');
if ($this->form_validation->run() == FALSE) {
$this->adduser();
} else {
$data = array(
'role_id' => $this->input->post('role_id'),
'full_name' => $this->input->post('full_name'),
'password' => md5($this->input->post('password')),
'email' => $this->input->post('email'),
'gender' => $this->input->post('gender'),
'mobile_no' => $this->input->post('mobile_no'),
'address' => $this->input->post('address'),
'abn' => $this->input->post('abn'),
'tfn' => $this->input->post('tfn'),
'status' => $this->input->post('status'),
'created_by' => $this->admin_session_data['user_id'],
'created_ts' => date('Y-m-d H:i:s')
);
if (isset($_FILES['user_image']['name']) && !empty($_FILES['user_image']['name'])) {
$path = './public/admin_images/user_images/';
$upload_file = $this->single_image_upload($path, $_FILES['user_image'], 'user_image');
if ($upload_file['status'] == 1) {
$data['user_image'] = $upload_file['result'];
} else {
$this->session->set_flashdata('error_msg', $upload_file['result']);
$this->adduser();
}
}
$result = $this->muser->submit_user($data);
if ($result) {
//************************************************************************************//
//************************This Part is for Activity Log*******************************//
$activityLogData = array(
'activity_type' => '<b>Add User</b>',
'description' => 'New User - '.$this->input->post('full_name').' Added',
'link' => 'admin/user',
'icon' => '<i class="fa fa-history" aria-hidden="true"></i>',
);
$this->activity_log($activityLogData);
//************************This Part is for Activity Log*******************************//
//************************************************************************************//
$this->session->set_flashdata('success_msg', 'User Added Successfully');
redirect("admin/user");
}
}
}
public function updateuser()
{
$this->load->library('form_validation');
$hid_user_id = $this->input->post('hid_user_id');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[master_admin.user_id.' . $hid_user_id . ']');
if ($this->form_validation->run() == FALSE) {
$this->edituser();
} else {
$data = array(
'role_id' => $this->input->post('role_id'),
'full_name' => $this->input->post('full_name'),
'email' => $this->input->post('email'),
'gender' => $this->input->post('gender'),
'mobile_no' => $this->input->post('mobile_no'),
'address' => $this->input->post('address'),
'abn' => $this->input->post('abn'),
'tfn' => $this->input->post('tfn'),
'status' => $this->input->post('status'),
'updated_by' => $this->admin_session_data['user_id'],
'updated_ts' => date('Y-m-d H:i:s')
);
if (!empty($this->input->post('password'))) {
$data['password'] = md5($this->input->post('password'));
}
if (isset($_FILES['user_image']['name']) && !empty($_FILES['user_image']['name'])) {
$path = './public/admin_images/user_images/';
$upload_file = $this->single_image_upload($path, $_FILES['user_image'], 'user_image');
if ($upload_file['status'] == 1) {
$data['user_image'] = $upload_file['result'];
if ($this->input->post('user_image_old')) {
@unlink('./public/admin_images/user_images/' . $this->input->post('user_image_old'));
}
} else {
$this->session->set_flashdata('error_msg', $upload_file['result']);
$this->adduser();
}
}
$condition = array('user_id' => $hid_user_id);
$result = $this->muser->update_user($condition, $data);
if ($result) {
//************************************************************************************//
//************************This Part is for Activity Log*******************************//
$activityLogData = array(
'activity_type' => '<b>Update User</b>',
'description' => 'User - '.$this->input->post('full_name').' Details Updated',
'link' => 'admin/user/edituser/'.$hid_user_id,
'icon' => '<i class="fa fa-history" aria-hidden="true"></i>',
);
$this->activity_log($activityLogData);
//************************This Part is for Activity Log*******************************//
//************************************************************************************//
$this->session->set_flashdata('success_msg', 'User Updated Successfully');
redirect("admin/user");
}
}
}
private function single_image_upload($path, $files, $document_type)
{
$config = array(
'upload_path' => $path,
'allowed_types' => 'gif|jpg|png|jpeg',
'overwrite' => 1,
'encrypt_name' => true
);
//print_r($config);die;
$this->load->library('upload', $config);
$this->upload->initialize($config);
if (!$this->upload->do_upload($document_type)) {
//echo $this->upload->display_errors();die;
$message = array('result' => 'The file you are attempting is not correct. Please select jpg|png|jpeg file', 'status' => 0);
} else {
$data = array('upload_data' => $this->upload->data());
$message = array('result' => $data['upload_data']['file_name'], 'status' => 1);
}
//print_r($message);
return $message;
}
}