<?php

class UsuariosController extends AdminController
{
	
	
	public function indexAction(){
		$this->_redirect('/index/index');
	}
	
	
	public function logoutAction(){
		Usuario::logout();
		$this->_redirect('index/index');
	}
	
	public function loginAction(){
			
		// L�gica
		$usuario = new Usuario();
		$controller = 'usuarios';
		
		if ($usuario->isLoggedIn()) {
			$this->_redirect('/index/index');
		}
		$form = new FRMLogin($usuario, null, $controller);
		
		// Visual
		$layout = $this->getLayout();
		$layout->reg_cabecera->setTitulo('Validarse');
		$layout->reg_contenido->addElement($form);
		
		
	}
	
	public function recuperapassAction() {
		$usuario = new Usuario();
		
		$form = new FRMRecuperaPass($usuario);
		
		$this->regionContenido->addElement($form);
	}
	
	public function recuperanuevapassAction(){
		
		
		if(!isset($_GET['token']))
			$this->_redirect('index/index');
		$token = $_GET['token'];
		
		if($usuario = Usuario::getByToken($token)){
			
			$formulario = new FRMNuevaContrasenyaCore($usuario);
			$this->regionContenido->addElement($formulario);
		}else{
			$this->_redirect('index/index');
		}
	}
	
	

	
	
	public function listadoAction()
    {		
    		
    	$this->addClienteMiga();
    	$this->view->titulo = 'Usuarios';
		$grid = new LSTUsuarios();
		
		//$grid->setDatos(Usuario::loadAll());

		$this->regionContenido-> addElement($grid);
    }
	
	
	public function editarAction()
	{
		$id = (int)$this->_request->getParam('id', -1);
		
			$usuario = new Usuario($id);
		
		$formulario = new FRMUsuario($usuario);
			$this->regionContenido->addElement($formulario);	

	}
	
	public function cambiarpassAction(){
		$id = (int)$this->_request->getParam('id', -1);
		
		$usuario = new Usuario($id);
		
		$formulario = new FRMContrasenya($usuario);
		$this->regionContenido->addElement($formulario);
	    	
		
	}
	

	
	
	
    
	public function eliminarAction()
	{
		
		
		$id = (int) $this->_request->getParam('id', -1);
		
		$elemento = new Usuario($id);
		try {
			$elemento->remove();
			AppAjax::setAccion('refrescar');
		} catch (Exception $e) {
			AppAjax::setMensajeError('grid', (string)$e);
		}
		
	
	}
	
	
	public function logandroidAction(){
		$token= $this->_request->getParam('token', self::SIN_INICIALIZAR);
		if($acceso = Acceso::loadByToken($token)){
			$usuario = new Usuario($acceso->id_usuario);
			$Nusuario = $usuario->USUARIO_WEB;
			$Npass = $usuario->CONTRASE_WEB;
			$usuario->logeaActual();
			$this->_redirect('index/index');
		} else {
			$this->_redirect('usuarios/login');
		}
		die('No ha encontrado el token');
	
	
	}
	
}