Esempio n. 1
0
File: post.php Progetto: 4bs4/marifa
 /**
  * Publico un post marcado como borrador.
  * @param int $post ID del post a publicar.
  */
 public function action_publicar_post($post)
 {
     // Verificamos usuario logueado.
     if (!Usuario::is_login()) {
         $_SESSION['flash_error'] = 'Debes iniciar sessión para poder publicar posts.';
         Request::redirect('/usuario/login');
     }
     // Convertimos el post a ID.
     $post = (int) $post;
     // Cargamos el post.
     $model_post = new Model_Post($post);
     // Verificamos exista.
     if (!is_array($model_post->as_array())) {
         $_SESSION['flash_error'] = '<b>&iexcl;Error!</b> Post incorrecto.';
         Request::redirect('/');
     }
     // Verifico el usuario.
     if (Usuario::$usuario_id !== $model_post->usuario_id) {
         $_SESSION['flash_error'] = '<b>&iexcl;Error!</b> Permisos incorrectos.';
         Request::redirect('/post/index/' . $post);
     }
     // Verifico el estado.
     if ($model_post->estado !== Model_Post::ESTADO_BORRADOR) {
         $_SESSION['flash_error'] = '<b>&iexcl;Error!</b> Permisos incorrectos.';
         Request::redirect('/post/index/' . $post);
     }
     // Actualizo el estado.
     if (Usuario::permiso(Model_Usuario_Rango::PERMISO_USUARIO_REVISAR_CONTENIDO)) {
         $model_post->actualizar_estado(Model_Post::ESTADO_PENDIENTE);
         $model_post->actualizar_fecha();
     } else {
         $model_post->actualizar_estado(Model_Post::ESTADO_ACTIVO);
         $model_post->actualizar_fecha();
     }
     $_SESSION['flash_success'] = '<b>&iexcl;Felicitaciones!</b> Acci&oacute;n realizada correctamente.';
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     $model_suceso->crear(Usuario::$usuario_id, 'post_publicado', FALSE, Usuario::$usuario_id, $post);
     Request::redirect('/post/index/' . $post);
 }
Esempio n. 2
0
 /**
  * Realizo el cambio de estados del post.
  * @param int $post ID del post al cual cambiarle el estado.
  * @param int $estado Estado que se debe colocar.
  */
 public function action_cambiar_estado_post($post, $estado)
 {
     $post = (int) $post;
     // Cargo el post.
     $model_post = new Model_Post($post);
     // Verifico que exista.
     if (!$model_post->existe()) {
         $_SESSION['flash_error'] = 'El post al cual le quiere cambiar el estado no se encuentra disponible.';
         Request::redirect('/admin/contenido/posts');
     }
     // Obtengo el estado.
     switch ($model_post->estado) {
         case 0:
             // Activo
             if ($estado == Model_Post::ESTADO_BORRADO) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(Model_Post::ESTADO_BORRADO);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'El post se a eliminado correctamente.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == Model_Post::ESTADO_OCULTO) {
                 // Ocultamos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(Model_Post::ESTADO_OCULTO);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_ocultar', TRUE, $model_post->id, Usuario::$usuario_id, 0);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_ocultar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_ocultar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 5) {
                 // Rechazamos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(5);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', TRUE, $model_post->id, Usuario::$usuario_id, 0);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 6) {
                 // Enviamos a la papelera.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(6);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_papelera', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_papelera', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_papelera', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
         case 1:
             // Borrador
             if ($estado == 2) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(2);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
         case 2:
             // Borrado
             // No hay acciones posibles a este punto.
             $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
             Request::redirect('/admin/contenido/posts');
             break;
         case 3:
             // Pendiente
             if ($estado == 0) {
                 // Aprobamos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(0);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', TRUE, $model_post->id, Usuario::$usuario_id, 1);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 5) {
                 // Rechazamos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(5);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', TRUE, $model_post->id, Usuario::$usuario_id, 0);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 0);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 2) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(2);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
         case 4:
             // Oculto
             if ($estado == 0) {
                 // Mostrar.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(0);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_ocultar', TRUE, $model_post->id, Usuario::$usuario_id, 1);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_ocultar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_ocultar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 2) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(2);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
         case 5:
             // Rechazado
             if ($estado == 0) {
                 // Aprobamos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(0);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', TRUE, $model_post->id, Usuario::$usuario_id, 1);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_aprobar', FALSE, $model_post->id, Usuario::$usuario_id, 1);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 2) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(2);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
         case 6:
             // Papelera
             if ($estado == 0) {
                 // Restauramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(0);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_restaurar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_restaurar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_restaurar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } elseif ($estado == 2) {
                 // Borramos.
                 // Actualizo el estado.
                 $model_post->actualizar_estado(2);
                 // Envio el suceso.
                 $model_suceso = new Model_Suceso();
                 if (Usuario::$usuario_id != $model_post->usuario_id) {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $model_post->id, Usuario::$usuario_id);
                     $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 } else {
                     $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $model_post->id, Usuario::$usuario_id);
                 }
                 // Informo el resultado
                 $_SESSION['flash_success'] = 'Actualización correcta.';
                 Request::redirect('/admin/contenido/posts');
             } else {
                 // Acción no permitida.
                 $_SESSION['flash_error'] = 'No puedes realizar esa acción.';
                 Request::redirect('/admin/contenido/posts');
             }
             break;
     }
 }
Esempio n. 3
0
 /**
  * Borramos un post.
  * @param int $post ID del post a modificar el atributo.
  */
 public function action_borrar_post($post)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DESAPROBADO)) {
         $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.';
         Request::redirect('/');
     }
     // Convertimos el post a ID.
     $post = (int) $post;
     // Cargamos el post.
     $model_post = new Model_Post($post);
     // Verificamos exista.
     if (!is_array($model_post->as_array())) {
         $_SESSION['flash_error'] = 'El post que deseas eliminar no se encuentra disponible.';
         Request::redirect('/moderar/desaprobado/posts');
     }
     // Verifico el usuario y sus permisos.
     if (Usuario::$usuario_id !== $model_post->usuario_id || !Usuario::permiso(Model_Usuario_Rango::PERMISO_ELIMINAR_POSTS)) {
         $_SESSION['flash_error'] = 'El post que deseas eliminar no se encuentra disponible.';
         Request::redirect('/moderar/desaprobado/posts');
     }
     // Actualizo el estado.
     $model_post->actualizar_estado(Model_Post::ESTADO_BORRADO);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_post->usuario_id) {
         $model_suceso->crear($model_post->usuario_id, 'post_borrar', TRUE, $post, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'post_borrar', FALSE, $post, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_post->usuario_id, 'post_borrar', FALSE, $post, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = 'El post fue eliminado correctamente.';
     Request::redirect('/moderar/desaprobado/posts');
 }