HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux Bradford-Sitios 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/gestor-horarios.bradford/app/controllers/LoginController.php
<?php
class LoginController extends CI_Controller
{
	function  __construct()
	{
		parent::__construct();
		$this->load->helper(array('model', 'form_helper'));
		$this->load->library('session');
		$this->load->library('Bcrypt');
	}


	public function index()
	{
		if (!empty($this->session->userdata('token_usuario'))) {
			valida_sesion($this->session->userdata('token_usuario'), true);
		}

		$post = $this->input->post();
		if (!empty($post)) {
			unset($where);
			$hash = sha1(mt_rand());
			$where['rut'] = str_replace('.', '', strtoupper(trim($post['rut'])));
			$where['password'] = hash('sha1', $post['password']);
			$where['perfiles_id'] = 100;
			$staff = get_row_by_where('usuarios', $where);
			if (!empty($staff)) {
				if (!$staff->activo) {
					$data['error'] = '* El Usuario se encuentra inactivo informe a soporte.';
				} else {
					$staff_trabajador = get_row_by_where('trabajadores', array('rut' => $where['rut'], 'activo' => TRUE));
					$data = array(
						'token_usuario' => $hash,
						'rt_staff'      => $staff_trabajador->id,
						'rt_staff_user' => $staff->id,
						'habilitado' => TRUE,
						'type' 		 => $staff_trabajador->perfiles_id,
						'jefe' 		 => $staff_trabajador->es_jefe,
						'admin' 	 => $staff->es_admin
					);

					$this->session->set_userdata($data);
					update_row('usuarios', array('update_time' => nowServer(), 'remember_token' => $hash), $staff->id);
					redirect('dashboard');
				}
			}else{
				$data['error'] = '* El Usuario y/o ContraseƱa son incorrectos.';
			}
			
		}

		$data['main_content'] = 'login/login_view';
		$this->load->view('shared/layout_login', $data);
	}

	public function logout()
	{
		$this->session->sess_destroy();
		$data['main_content'] = 'login/logout_view';
		$this->load->view('shared/layout_login', $data);
	}

	public function test()
	{
		pre_die('aaaaaaa');
	}
}