<?php if ( ! defined('BASEPATH')) exit('No esta permitido el acceso directo al script');
/*Mauricio Garcia - garmauco@gmail.com, developer@3mas1r.com*/
class Cambiarcontra extends CI_Controller{
	public function __construct()
	{
		/*Cargamos los metodos asociados a la clase CI_Controller, por medio de una inyección de dependencias*/
		parent:: __construct();
		$this->load->model('Cambiarcontra_model');

        if( !$this->session->userdata('isLoggedIn') ) {
          redirect('login');
        }
        else{
           $this->load->model('Usuario_model');
					 $rol=$this->Usuario_model->usuario_rol($this->session->userdata('documento'));
					 if ($rol > MODULE_CAMBIARCONTRA){
						 redirect('dashboard');
					 }
           $this->Usuario_model->last_activity($this->session->userdata('nombre_usuario'));
        }
	}

	public function index()
	{
		$this->show_form();
    }

    public function change(){

        $this->form_validation->set_rules('contraactual', 'Contrase&ntilde;a Actual', 'trim|required|min_length[4]|max_length[32]');
        $this->form_validation->set_rules('contranueva', 'Nueva Contrase&ntilde;a', 'trim|required|min_length[4]|max_length[32]');
         $this->form_validation->set_rules('contraconfirm','Confirmar Contrase&ntilde;a','trim|required|min_length[4]|max_length[32]|matches[contranueva]');
        if ($this->form_validation->run() == FALSE){
    	   $this->show_form(NULL,'index');
    	}
        else{
            $data = $this->input->post();
            $contraactual = $data['contraactual'];
            $contranueva = $data['contranueva'];
            $contraconfirm = $data['contraconfirm'];

            //$this->Cambiarcontra_model->Change_password($contraactual, $contranueva);
            switch ($this->Usuario_model->Change_password($contraactual, $contranueva)) {
                case 1:
                    $this->session->set_flashdata('success_msg', 'El cambio de contrase&ntilde;a se llevo exitosamente');
                    break;
                case 2:
                    $this->session->set_flashdata('error_msg', 'Algo no funcion&oacute;, la contrase&ntilde;a no se Actualiz&oacute;');
                    break;
                case 3:
                    $this->session->set_flashdata('error_msg', 'Contrase&ntilde;a Actual incorrecta');
                    break;
            }
            redirect('/cambiarcontra', 'refresh');
        }


    }



    /*funcion que muestra el formulario y los errores de validación*/
    public function show_form($model = NULL, $page='index', $id = NULL){

        $data['content'] = "cambiarcontra/".$page;
        $data['title_page'] = "Cambiar Contrase&ntilde;a";
        $this->load->view("templates/layout", $data);

    }

}
?>
