HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 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: /home/www/torresncgolf/instalaciones/system_old/application/controllers/perfil.php
<?php

class Perfil extends Controller {

    function Perfil()
    {
        parent::Controller();   
        $this->load->helper(array('form','url','util'));
        $this->load->library('session');
    }
    
    function index()
    {
        if (!$this->session->userdata('user_logged_in')){
            redirect('login');
        }

		$data = array ('login'=> $this->session->userdata('user_login') );
		
        load_template ('perfil/perfil_view', $data);
    }
	
	
	function show($login){
        if (!($this->session->userdata('user_logged_in') && ($this->session->userdata('user_login')==$login)) && !$this->session->userdata('user_is_admin')) {
        	redirect('login');
        }
     
        $usuarios = $this->db->query('select * from usuario where login='.$login);
        if ($usuarios->num_rows()==0){
            echo 'El usuario no existe.';
            return;
        }
        $usuario = $usuarios->row();
        
        $data = array("usuario" => $usuario);		

        load_template ('perfil/show_perfil_view', $data);		
	}
  
    function edit($login){
        if (!($this->session->userdata('user_logged_in') && ($this->session->userdata('user_login')==$login)) && !$this->session->userdata('user_is_admin')) {
            redirect('login');
        }
     
        $usuarios = $this->db->query('select * from usuario where login='.$login);
        if ($usuarios->num_rows()<=0){
            echo 'El usuario no existe.';
            return;
        }
        $usuario = $usuarios->row();
        
        $data = array("usuario" => $usuario);       

        load_template ('perfil/edit_perfil_view', $data);       
    }


    function passwd($login){
        if (!($this->session->userdata('user_logged_in') && ($this->session->userdata('user_login')==$login)) && !$this->session->userdata('user_is_admin')) {
            redirect('login');
        }
     
        $usuarios = $this->db->query('select * from usuario where login='.$login);
        if ($usuarios->num_rows()<=0){
            echo 'El usuario no existe.';
            return;
        }
        $usuario = $usuarios->row();
        
        $data = array("usuario" => $usuario);       

        load_template ('perfil/passwd_perfil_view', $data);       
    }
  
    function change_passwd(){
        $login = dejar_numericos ($this->input->post('login'));
        if (!($this->session->userdata('user_logged_in') && ($this->session->userdata('user_login')==$login)) && !$this->session->userdata('user_is_admin')) {
            redirect('login');
        }

        $md5_new_passwd = md5(dejar_alfanumericos($this->input->post('new_passwd')));
		
		$md5_current_passwd = md5(dejar_alfanumericos($this->input->post('current_passwd'))); 

        $usuarios = $this->db->query('select * from usuario where login='.$login.' and passwd=\''.$md5_current_passwd.'\'');
        if ($usuarios->num_rows()<=0){
        	$data = array('mensaje'=>'La contraseƱa actual es erronea.','login'=>$login, 'passwd'=>$this->input->post('current_passwd'));
            load_template ('perfil/error_passwd_perfil_view', $data );
            return;
        }
        $usuario = $usuarios->row();
        
        $this->db->query('update usuario set passwd=\''. $md5_new_passwd . '\' where login='.$login);
        registrar_evento('perfil', 'info', 'El usuario '.$login.' ha cambiado su contraseƱa.', $usuarios->row()->id );
		load_template ('perfil/ok_passwd_perfil_view');
    }

    function perform_changes(){
        $login = dejar_numericos ($this->input->post('login'));
        if (!($this->session->userdata('user_logged_in') && ($this->session->userdata('user_login')==$login)) && !$this->session->userdata('user_is_admin')) {
            redirect('login');
        }

        $usuarios = $this->db->query('select * from usuario where login='.$login);  
	    if ($usuarios->num_rows() <= 0){
            echo 'El usuario no existe.';
            return;	    	
	    }
		$alias_anterior = $usuarios->row()->alias;
        $alias = dejar_alfanumericos_y_espacios ($this->input->post('alias'));

        if ($alias != $alias_anterior){
        	if ($login == $this->session->userdata('user_login')){
        		$this->session->set_userdata('alias', $alias);
        	}
			$this->db->query('update usuario set alias=\''. $alias . '\' where login='.$login);
            registrar_evento('login', 'info', 'El usuario '.$login.' ha cambiado su alias de ['.$alias_anterior.'] a ['.$alias.']', $usuarios->row()->id );
			
        }
       
        redirect('perfil/show/'.$login);
    }   
  
    

}