<?php

/**
* La clase datos sirve para cambiar los datos de
* nombre, login y password del administrador
* del sistema de blog
*
*/
class DatosController extends ApplicationController {

	/**
	 * El controlador utiliza el mismo layout que el controlador
	 * posts osea utiliza views/layouts/posts.phtml
	 *
	 * @var string
	 */
	public $template = "posts";
	public $usuario;
	
	/**
	 * Valida que un usuario este autenticado, el metodo
	 * before_filter es llamado antes de la ejecución 
	 * de cualquier acción de posts
	 *
	 */
	public function before_filter(){
			
		if(!Session::get_data('autenticado')){
			$this->route_to('controller: admin');				
		}
		
	}

	public function index(){

		/**
		 * Asigno a la variable $usuario el primer y unico
		 * registro de la tabla Users, que contiene la información
		 * de usuario del Blog
		 * 			 
		 */
		$this->usuario = $this->Users->find_first();

	}

	/**
	 * Actualiza la información del Usuario administrador
	 * del blog
	 *
	 * @return null
	 */
	public function cambiar(){

		if($this->usuario->clave==sha1($this->request('clave_anterior'))){
			if($this->request('clave_nueva')==$this->request('clave_nueva_confirmada')){
				$this->Users->id = $this->usuario->id;
				$this->Users->nombre = $this->request('nombre');
				$this->Users->login = $this->request('login');
				$this->Users->image = $this->upload_image('image');
				$this->Users->clave = sha1($this->request('clave_nueva'));
				if($this->Users->update()){
					Flash::success('Se cambiaron los datos correctamente');
				} else {
					Flash::error('Hubo problemas al actualizar');
				}
			} else {
				Flash::error('La clave nueva no es igual a la confirmada');
			}
		} else {
			Flash::error('La clave anterior no es correcta');
		}
		return $this->route_to('action: index');

	}
	
}

?>