uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
eshop.codeskitter.site
/
application
/
controllers
/
Login.php
/
/
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Login extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database(); $this->load->library(['ion_auth', 'form_validation']); $this->load->helper(['url', 'language']); $this->lang->load('auth'); $this->data['is_logged_in'] = ($this->ion_auth->logged_in()) ? 1 : 0; $this->data['user'] = ($this->ion_auth->logged_in()) ? $this->ion_auth->user()->row() : array(); $this->response['csrfName'] = $this->security->get_csrf_token_name(); $this->response['csrfHash'] = $this->security->get_csrf_hash(); $this->data['settings'] = get_settings('system_settings', true); } public function login_check() { if (!$this->ion_auth->logged_in()) { $this->data['main_page'] = 'home'; $this->data['title'] = 'Login Panel | ' . $this->data['settings']['app_name']; $this->data['meta_description'] = 'Login Panel | ' . $this->data['settings']['app_name']; $identity_column = $this->config->item('identity', 'ion_auth'); if ($identity_column == 'mobile') { $this->form_validation->set_rules('mobile', 'Mobile', 'trim|numeric|required|xss_clean'); } elseif ($identity_column == 'email') { $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean|valid_email'); } else { $this->form_validation->set_rules('identity', 'Identity', 'trim|required|xss_clean'); } $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean'); $login = $this->ion_auth->login($this->input->post('mobile'), $this->input->post('password')); if ($login) { $data = fetch_details('users', ['mobile' => $this->input->post('mobile', true)]); $username = $this->session->set_userdata('username', $data[0]['username']); $this->response['error'] = false; $this->response['message'] = 'Login Succesfully'; $this->response['csrfName'] = $this->security->get_csrf_token_name(); $this->response['csrfHash'] = $this->security->get_csrf_hash(); echo json_encode($this->response); return false; } else { $this->response['error'] = true; $this->response['message'] = 'Mobile Number or Password is wrong.'; echo json_encode($this->response); return false; } } else { $this->response['error'] = true; $this->response['message'] = 'You are already logged in.'; echo json_encode($this->response); return false; } } public function logout() { $this->ion_auth->logout(); $this->response['error'] = true; $this->response['message'] = 'Logout successful.'; $this->response['csrfName'] = $this->security->get_csrf_token_name(); $this->response['csrfHash'] = $this->security->get_csrf_hash(); echo json_encode($this->response); return false; } public function update_user() { if (defined('ALLOW_MODIFICATION') && ALLOW_MODIFICATION == 0) { $this->response['error'] = true; $this->response['message'] = DEMO_VERSION_MSG; echo json_encode($this->response); return false; } $identity_column = $this->config->item('identity', 'ion_auth'); $user_id = $_SESSION['user_id']; $identity_col = fetch_details('users', ['id' => $user_id], ['mobile', 'email']); $identity = $identity_col[0]['mobile']; $user = $this->ion_auth->user()->row(); if ($identity_column == 'email') { $this->form_validation->set_rules('email', 'Email', 'required|xss_clean|trim|valid_email|edit_unique[users.email.' . $user->id . ']'); } else { $this->form_validation->set_rules('mobile', 'Mobile', 'required|xss_clean|trim|numeric|edit_unique[users.mobile.' . $user->id . ']'); } $this->form_validation->set_rules('username', 'Username', 'required|xss_clean|trim'); if (!empty($_POST['old']) || !empty($_POST['new']) || !empty($_POST['new_confirm'])) { $this->form_validation->set_rules('old', $this->lang->line('change_password_validation_old_password_label'), 'required|xss_clean'); $this->form_validation->set_rules('new', $this->lang->line('change_password_validation_new_password_label'), 'required|xss_clean|min_length[' . $this->config->item('min_password_length', 'ion_auth') . ']|matches[new_confirm]'); $this->form_validation->set_rules('new_confirm', $this->lang->line('change_password_validation_new_password_confirm_label'), 'required|xss_clean'); $regex_password = "/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/"; if (!preg_match($regex_password, $_POST['new'])) { $this->response['error'] = true; $this->response['csrfName'] = $this->security->get_csrf_token_name(); $this->response['csrfHash'] = $this->security->get_csrf_hash(); $this->response['message'] = 'please enter strong password'; print_r(json_encode($this->response)); return; } } $tables = $this->config->item('tables', 'ion_auth'); if (!$this->form_validation->run()) { if (validation_errors()) { $this->response['error'] = true; $this->response['message'] = validation_errors(); echo json_encode($this->response); return false; exit(); } if ($this->session->flashdata('message')) { $this->response['error'] = false; $this->response['message'] = $this->session->flashdata('message'); echo json_encode($this->response); return false; exit(); } } else { if (!empty($_POST['old']) || !empty($_POST['new']) || !empty($_POST['new_confirm'])) { if (!$this->ion_auth->change_password($identity, $this->input->post('old'), $this->input->post('new'))) { // if the login was un-successful $this->response['error'] = true; $this->response['message'] = $this->ion_auth->errors(); echo json_encode($this->response); return false; } } if (!file_exists(FCPATH . USER_IMG_PATH)) { mkdir(FCPATH . USER_IMG_PATH, 0777); } $temp_array = array(); $files = $_FILES; $images_new_name_arr = array(); $images_info_error = ""; $allowed_media_types = implode('|', allowed_media_types()); $config = [ 'upload_path' => FCPATH . USER_IMG_PATH, 'allowed_types' => $allowed_media_types, 'max_size' => 8000, ]; if (!empty($_FILES['profile_image']['name'][0]) && isset($_FILES['profile_image']['name'])) { $other_image_cnt = count($_FILES['profile_image']['name']); $other_img = $this->upload; $other_img->initialize($config); for ($i = 0; $i < $other_image_cnt; $i++) { if (!empty($_FILES['profile_image']['name'][$i])) { $_FILES['temp_image']['name'] = $files['profile_image']['name'][$i]; $_FILES['temp_image']['type'] = $files['profile_image']['type'][$i]; $_FILES['temp_image']['tmp_name'] = $files['profile_image']['tmp_name'][$i]; $_FILES['temp_image']['error'] = $files['profile_image']['error'][$i]; $_FILES['temp_image']['size'] = $files['profile_image']['size'][$i]; if (!$other_img->do_upload('temp_image')) { $images_info_error = 'profile_image :' . $images_info_error . ' ' . $other_img->display_errors(); } else { $temp_array = $other_img->data(); resize_review_images($temp_array, FCPATH . USER_IMG_PATH); $images_new_name_arr[$i] = USER_IMG_PATH . $temp_array['file_name']; } } else { $_FILES['temp_image']['name'] = $files['profile_image']['name'][$i]; $_FILES['temp_image']['type'] = $files['profile_image']['type'][$i]; $_FILES['temp_image']['tmp_name'] = $files['profile_image']['tmp_name'][$i]; $_FILES['temp_image']['error'] = $files['profile_image']['error'][$i]; $_FILES['temp_image']['size'] = $files['profile_image']['size'][$i]; if (!$other_img->do_upload('temp_image')) { $images_info_error = $other_img->display_errors(); } } } //Deleting Uploaded attachments if any overall error occured if ($images_info_error != NULL || !$this->form_validation->run()) { if (isset($images_new_name_arr) && !empty($images_new_name_arr || !$this->form_validation->run())) { foreach ($images_new_name_arr as $key => $val) { unlink(FCPATH . USER_IMG_PATH . $images_new_name_arr[$key]); } } } } if ($images_info_error != NULL) { $this->response['error'] = true; $this->response['message'] = $images_info_error; print_r(json_encode($this->response)); return false; } $user_details = [ 'username' => $this->input->post('username'), 'email' => $this->input->post('email'), 'mobile' => $this->input->post('mobile'), 'image' => (isset($images_new_name_arr[0]) && !empty($images_new_name_arr[0])) ? $images_new_name_arr[0] : $_POST['user_profile_image'], ]; $user_details = escape_array($user_details); $this->db->set($user_details)->where($identity_column, $identity)->update($tables['login_users']); $this->response['error'] = false; $this->response['message'] = 'Profile Update Succesfully'; $this->response['csrfName'] = $this->security->get_csrf_token_name(); $this->response['csrfHash'] = $this->security->get_csrf_hash(); echo json_encode($this->response); return false; } } }
/home/users/unlimited/www/eshop.codeskitter.site/application/controllers/Login.php