Exemple #1
0
 /**
  * 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');
 }