/** * Eliminamos un comentario en un post. * @param int $comentario ID del comentario a eliminar. */ public function action_eliminar_comentario($comentario) { // Verificamos usuario logueado. if (!Usuario::is_login()) { $_SESSION['flash_error'] = 'Debes iniciar sessión para poder borrar comentarios en posts.'; Request::redirect('/usuario/login'); } // Verifico los permisos. if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_ELIMINAR)) { $_SESSION['flash_error'] = 'No tienes los permisos para borrar comentarios.'; Request::redirect('/'); } $comentario = (int) $comentario; // Cargamos el comentario. $model_comentario = new Model_Post_Comentario($comentario); // Verificamos existencia. if (!is_array($model_comentario->as_array())) { $_SESSION['flash_error'] = 'El comentario que deseas borrar no se encuentra disponible.'; Request::redirect('/'); } // Verifico el estado. if ($model_comentario->estado === 2) { $_SESSION['flash_error'] = 'El comentario que deseas borrar no se encuentra disponible.'; Request::redirect('/post/index/' . $model_comentario->post_id); } // Actualizo el estado. $model_comentario->actualizar_estado(Model_Post_Comentario::ESTADO_BORRADO); // Envio el suceso. $model_suceso = new Model_Suceso(); if (Usuario::$usuario_id == $model_comentario->usuario_id) { $model_suceso->crear(Usuario::$usuario_id, 'post_comentario_borrar', FALSE, $comentario, Usuario::$usuario_id); if (Usuario::$usuario_id != $model_comentario->post()->usuario_id) { $model_suceso->crear($model_comentario->post()->usuario_id, 'post_comentario_borrar', TRUE, $comentario, Usuario::$usuario_id); } } else { $model_suceso->crear($model_comentario->usuario_id, 'post_comentario_borrar', TRUE, $comentario, Usuario::$usuario_id); $model_suceso->crear(Usuario::$usuario_id, 'post_comentario_borrar', FALSE, $comentario, Usuario::$usuario_id); if (Usuario::$usuario_id == $model_comentario->post()->usuario_id) { $model_suceso->crear($model_comentario->post()->usuario_id, 'post_comentario_borrar', FALSE, $comentario, Usuario::$usuario_id); } } $_SESSION['flash_success'] = '<b>¡Felicitaciones!</b> El comentario se ha borrado correctamente.'; Request::redirect('/post/index/' . $model_comentario->post_id); }