/** * Método para agregar un nuevo usuario */ public function agregar() { //Titulo de la página $this->title = 'Nueva usuario'; //Ckeck de los radios para habilitar comentarios // $this->check_si = (HABILITAR_USUARIO) ? false : true; // $this->check_no = (disabled) ? true : false; $this->check_si = true; $this->check_no = false; //Array para determinar la visibilidad de los post $this->tipo = array(Grupo::ADMINISTRADOR => 'Administrador', Grupo::AUTOR => 'Autor', Grupo::COLABORADOR => 'Colaborador', Grupo::EDITOR => 'Editor'); //Verifico si ha enviado los datos a través del formulario if (Input::hasPost('usuario')) { //Verifico que el formulario coincida con la llave almacenada en sesion if (SecurityKey::isValid()) { Load::models('usuario'); $usuario = new Usuario(Input::post('usuario')); $resultado = $usuario->registrarUsuario(); if ($resultado) { View::select('usuario'); } /* else { //Hago persitente los datos $this->categoria = Input::post('categorias'); $this->etiquetas = Input::post('etiquetas'); } $this->post = $post;*/ } else { Flash::info('La llave de acceso ha caducado. Por favor intente nuevamente.'); } } }
/** * Metodo para inciar sesion. * * @return boolean */ public function entrar() { //Verifico si ha enviado los datos através del formulario if (Input::hasPost('login') && Input::hasPost('pass')) { //Verifico que el formulario recibido sea igual al que se envió if (SecurityKey::isValid()) { $this->usr = Input::post('login'); $this->pwd = md5(Input::post('pass')); //Encripto nuevamente la contraseña, pues ya viene encriptada con el sha1 //Utilizo Auth $auth = new Auth('model', 'class: usuario', "login: {$this->usr}", "password: {$this->pwd}", 'estado: 1'); $auth->sleep_on_fail(true, 2); //En caso de que falle duermo la aplicacion por 2 segundos if ($auth->authenticate()) { $this->codigo = Auth::get('id'); $this->ip = Utils::getIp(); //Determino la ip del visitante $this->valido = true; //Obtengo el grupo del usuario $grupo = $this->getGrupo(); if (!$grupo) { Flash::error("Se ha producido un error en la verificación de los datos."); Auth::destroy_identity(); } else { //Almaceno en sesion algunos parámetros Session::set('nivel', $grupo->id); Session::set('grupo', $grupo->descripcion); Session::set("usuario", $this->usr); Session::set("ip", $this->ip); Flash::info("¡ Bienvenido <strong>{$this->usr}</strong> !."); Router::redirect('dc-admin/'); } } else { Flash::error('El usuario y/o contraseña incorrectos.'); } } else { Flash::error('La llave de acceso ha expirado. <br />Por favor intente nuevamente.'); } } }
/** * Método para editar publicaciones * * @param int $id Código de la publicación * @param string $key Palabra 'key' que viene en la url * @param string $valueKey Llave de seguridad para prevenir que se edite directamente desde la url */ public function editar($id = null, $key = 'key', $valueKey = '') { //Titulo de la página $this->title = 'Editar publicación'; $this->categorias = Load::model('taxonomia')->listarTaxonomia('categoria'); $this->visibilidad = array(Post::PUBLICO => 'Público', Post::PRIVADO => 'Privado'); //Verifico si se ha enviado el formulario if (Input::hasPost('post')) { //Verifico que el formulario coincida con la llave almacenada en sesion if (SecurityKey::isValid()) { $post = new Post(Input::post('post')); $id = $post->id; $post->modificarPost(true); $result = $post->verPost($id); Router::redirect('dc-admin/post/editar/' . $result->id . '/key/' . md5($result->id . $this->ipKey . $this->expKey . 'post') . '/'); } else { Flash::info('La llave de acceso ha caducado. Por favor intente nuevamente'); } } else { //Armo la llave con el código de la url if ($valueKey === md5($id . $this->ipKey . $this->expKey . 'post')) { $post = new Post(); $result = $post->verPost($id); } else { Flash::error('Acceso incorrecto al sistema.'); Router::redirect('dc-admin/post/listar/'); } } //Ckeck de los radios para habilitar comentarios $this->check_si = $result->habilitar_comentarios == 'SI' ? true : false; $this->check_no = $result->habilitar_comentarios == 'SI' ? false : true; $this->post = $result; $this->post_categorias = $post->getTaxonomiaPost('categorias', $result->id); $this->post_etiquetas = $post->getTaxonomiaPost('etiquetas', $result->id); }
/** * Método para editar las taxonomias * * @param string $tipo Tipo de taxonomia a editar 'etiqueta' o 'categoria' * @param int $id Codigo de la taxonomía * @param string $key Palabra 'key' que viene en la url * @param string $valueKey Llave de seguridad para prevenir que se edite directamente desde la url */ public function editar($tipo, $id = null, $key = 'key', $valueKey = '') { if ($tipo === 'categoria' or $tipo === 'etiqueta') { //Asigno el título a la página $this->title = $tipo == 'categoria' ? 'Editar categoría' : 'Editar etiqueta'; //Verifico si ha enviado los datos a través del formulario if (Input::hasPost('taxonomia')) { //Verifico que el formulario coincida con la llave almacenada en sesion if (SecurityKey::isValid()) { $taxonomia = new Taxonomia(Input::post('taxonomia')); //Aplico la autocarga $taxonomia = $taxonomia->modificarTaxonomia(true); } else { Flash::info('La llave de acceso ha caducado. Por favor intente nuevamente'); } Router::redirect('dc-admin/' . $tipo . '/'); } else { //Armo la llave con el código de la url $this->validKey = md5($id . $this->ipKey . $this->expKey . $tipo); //Verifico que la llave de la url sea igual a la llave creada internamente if ($this->validKey === $valueKey) { $this->tipo = $tipo == 'categoria' ? Taxonomia::CATEGORIA : Taxonomia::ETIQUETA; $taxonomia = new Taxonomia(); $this->taxonomia = $taxonomia->getInformacionTaxonomia($this->tipo, $id); //Asigno la clasificación $this->clasificacion = $this->tipo === Taxonomia::CATEGORIA ? 'categoría' : 'etiqueta'; } else { Flash::error('Acceso denegado al sistema.'); Router::redirect('dc-admin/' . $tipo . '/'); } } } else { Flash::info('Acceso incorrecto al sistema.'); Router::redirect('dc-admin/'); } }