HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
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;
	}
}