/** * Cerramos una denuncia del usuario, puede ser rechazada o aceptada. * @param int $denuncia ID de la denuncia a rechazar. * @param bool $tipo Si fue aceptada 1, 0 si fue rechazada. */ public function action_cerrar_denuncia_post($denuncia, $tipo) { // Verifico permisos. if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DENUNCIAS)) { $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.'; Request::redirect('/'); } // Valido la denuncia. $denuncia = (int) $denuncia; // Verifico su existencia. $model_denuncia = new Model_Post_Denuncia($denuncia); if (!$model_denuncia->existe()) { $_SESSION['flash_error'] = 'La denuncia que deseas cerrar no se encuentra disponible.'; Request::redirect('/moderar/denuncias/posts'); } // Verifico el estado. if ($model_denuncia->estado !== Model_Post_Denuncia::ESTADO_PENDIENTE) { $_SESSION['flash_error'] = 'La denuncia que deseas cerrar no se encuentra disponible.'; Request::redirect('/moderar/denuncias/posts'); } if ($tipo == 0) { // Actualizo el estado. $model_denuncia->actualizar_campo('estado', Model_Post_Denuncia::ESTADO_RECHAZADA); // Envio el suceso. $model_suceso = new Model_Suceso(); if (Usuario::$usuario_id != $model_denuncia->usuario_id) { $model_suceso->crear($model_denuncia->usuario_id, 'post_denuncia_rechazar', TRUE, $denuncia, Usuario::$usuario_id); $model_suceso->crear(Usuario::$usuario_id, 'post_denuncia_rechazar', FALSE, $denuncia, Usuario::$usuario_id); } else { $model_suceso->crear($model_denuncia->usuario_id, 'post_denuncia_rechazar', FALSE, $denuncia, Usuario::$usuario_id); } // Informo resultado. $_SESSION['flash_success'] = 'Denuncia rechazada correctamente.'; } else { // Actualizo el estado. $model_denuncia->actualizar_campo('estado', Model_Post_Denuncia::ESTADO_APLICADA); // Envio el suceso. $model_suceso = new Model_Suceso(); if (Usuario::$usuario_id != $model_denuncia->usuario_id) { $model_suceso->crear($model_denuncia->usuario_id, 'post_denuncia_aceptar', TRUE, $denuncia, Usuario::$usuario_id); $model_suceso->crear(Usuario::$usuario_id, 'post_denuncia_aceptar', FALSE, $denuncia, Usuario::$usuario_id); } else { $model_suceso->crear($model_denuncia->usuario_id, 'post_denuncia_aceptar', FALSE, $denuncia, Usuario::$usuario_id); } // Informo resultado. $_SESSION['flash_success'] = 'Denuncia aceptada correctamente.'; } Request::redirect('/moderar/denuncias/posts'); }