Example #1
0
 public function action_rechazar($foto_id = null, $user_id = null)
 {
     is_null($foto_id) and Response::redirect('editor');
     is_null($user_id) and Response::redirect('editor');
     $foto = Model_Foto::find($foto_id);
     $foto->estado = 2;
     $foto->save();
     Session::set_flash('error', 'Foto ' . $foto->imagen . ' rechazada');
     Response::redirect('editor/revisar/' . $user_id);
 }
Example #2
0
 public function action_add()
 {
     $this->template = '';
     $foto_existe = Model_Foto::find('all', array('where' => array('articulo_id' => Input::post('articulo_id'), 'imagen' => Input::post('imagen'))));
     if ($foto_existe == null) {
         $estado = Auth::instance()->has_access('Controller_Editor.index') ? 1 : 0;
         $foto = Model_Foto::forge(array('imagen' => parse_url(Input::post('imagen'), PHP_URL_PATH), 'width' => 110, 'height' => 110, 'articulo_id' => Input::post('articulo_id'), 'dimension_id' => Input::post('dimension_id'), 'estado' => $estado));
         if ($foto and $foto->save()) {
             echo '0';
             return;
         }
         echo '1';
         return;
     }
     echo '2';
     return;
 }
Example #3
0
 /**
  * Suceso producido cuando se agrega a favoritos una foto.
  * @param array $suceso Datos del suceso.
  * @return array
  */
 protected static function suceso_foto_editar($suceso)
 {
     // Verifico si fui yo.
     if ($suceso['objeto_id1'] == Usuario::$usuario_id) {
         return NULL;
     }
     // Cargo la foto.
     $model_foto = new Model_Foto((int) $suceso['objeto_id']);
     // Cargo quien edita la foto.
     $model_usuario = new Model_Usuario((int) $suceso['objeto_id1']);
     return array('foto' => $model_foto->as_array(), 'usuario' => $model_foto->usuario()->as_array(), 'editor' => $model_usuario->as_array());
 }
Example #4
0
File: home.php Project: 4bs4/marifa
 /**
  * Submenu de la moderación.
  * @param string $activo Sección actual.
  * @return array
  */
 public static function submenu($activo)
 {
     $listado = array();
     $listado['p_principal'] = array('caption' => 'Principal');
     $listado['index'] = array('link' => '/moderar/', 'caption' => 'Inicio', 'active' => FALSE);
     if (Usuario::permiso(array(Model_Usuario_Rango::PERMISO_POST_VER_DENUNCIAS, Model_Usuario_Rango::PERMISO_FOTO_VER_DENUNCIAS, Model_Usuario_Rango::PERMISO_USUARIO_VER_DENUNCIAS))) {
         $listado['p_denuncias'] = array('caption' => 'Denuncias');
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DENUNCIAS)) {
             $listado['denuncias_posts'] = array('link' => '/moderar/denuncias/posts/', 'caption' => 'Posts', 'active' => FALSE, 'cantidad' => Model_Post_Denuncia::cantidad(Model_Post_Denuncia::ESTADO_PENDIENTE));
         }
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_DENUNCIAS)) {
             $listado['denuncias_fotos'] = array('link' => '/moderar/denuncias/fotos/', 'caption' => 'Fotos', 'active' => FALSE, 'cantidad' => Model_Foto_Denuncia::cantidad(Model_Post_Denuncia::ESTADO_PENDIENTE));
         }
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_USUARIO_VER_DENUNCIAS)) {
             $listado['denuncias_usuarios'] = array('link' => '/moderar/denuncias/usuarios/', 'caption' => 'Usuarios', 'active' => FALSE, 'cantidad' => Model_Usuario_Denuncia::cantidad(Model_Post_Denuncia::ESTADO_PENDIENTE));
         }
     }
     $listado['p_gestion'] = array('caption' => 'Gestión');
     if (Usuario::permiso(Model_Usuario_Rango::PERMISO_USUARIO_SUSPENDER)) {
         $listado['gestion_usuarios'] = array('link' => '/moderar/gestion/usuarios/', 'caption' => 'Usuarios', 'active' => FALSE, 'cantidad' => Model_Usuario_Suspension::cantidad());
     }
     // $listado['gestion_buscador'] = array('link' => '/moderar/gestion/buscador/', 'caption' => 'Buscador contenido', 'active' => FALSE);
     if (Usuario::permiso(array(Model_Usuario_Rango::PERMISO_POST_VER_PAPELERA, Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA))) {
         $listado['p_papelera'] = array('caption' => 'Papelera de reciclaje');
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_PAPELERA)) {
             $listado['papelera_posts'] = array('link' => '/moderar/papelera/posts/', 'caption' => 'Posts eliminados', 'active' => FALSE, 'cantidad' => Model_Post::s_cantidad(Model_Post::ESTADO_PAPELERA));
         }
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) {
             $listado['papelera_fotos'] = array('link' => '/moderar/papelera/fotos/', 'caption' => 'Fotos eleminadas', 'active' => FALSE, 'cantidad' => Model_Foto::s_cantidad(Model_Foto::ESTADO_PAPELERA));
         }
     }
     if (Usuario::permiso(array(Model_Usuario_Rango::PERMISO_POST_VER_DESAPROBADO, Model_Usuario_Rango::PERMISO_COMENTARIO_VER_DESAPROBADO))) {
         $listado['p_desaprobado'] = array('caption' => 'Contenido desaprobado');
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_POST_VER_DESAPROBADO)) {
             $listado['desaprobado_posts'] = array('link' => '/moderar/desaprobado/posts', 'caption' => 'Posts', 'active' => FALSE, 'cantidad' => Model_Post::s_cantidad(Model_Post::ESTADO_PENDIENTE) + Model_Post::s_cantidad(Model_Post::ESTADO_RECHAZADO));
         }
         if (Usuario::permiso(Model_Usuario_Rango::PERMISO_COMENTARIO_VER_DESAPROBADO)) {
             $listado['desaprobado_comentarios'] = array('link' => '/moderar/desaprobado/comentarios/', 'caption' => 'Comentarios', 'active' => FALSE, 'cantidad' => Model_Comentario::cantidad(Model_Comentario::ESTADO_OCULTO));
         }
     }
     // Seteamos el color.
     foreach ($listado as $k => $v) {
         if (isset($v['cantidad'])) {
             if ($listado[$k]['cantidad'] > 0) {
                 $listado[$k]['tipo'] = 'important';
             } else {
                 $listado[$k]['tipo'] = 'success';
             }
         }
     }
     if (isset($listado[$activo])) {
         $listado[$activo]['active'] = TRUE;
     }
     return $listado;
 }
Example #5
0
File: home.php Project: 4bs4/marifa
 /**
  * Portada del sitio.
  * @param int $pagina Número de página para lo últimos posts.
  */
 public function action_index($pagina)
 {
     // Cargamos la portada.
     $portada = View::factory('home/index');
     // Seteo el menu.
     $this->template->assign('master_bar', parent::base_menu('posts'));
     $this->template->assign('top_bar', self::submenu('inicio'));
     // Cargamos datos de posts.
     $model_post = new Model_Post();
     // Cantidad posts y comentarios en posts.
     $portada->assign('cantidad_posts', $model_post->cantidad());
     $portada->assign('cantidad_comentarios_posts', $model_post->cantidad_comentarios());
     // Cantidad de elementos por pagina.
     $model_configuracion = new Model_Configuracion();
     $cantidad_por_pagina = $model_configuracion->get('elementos_pagina', 20);
     // Formato de la página.
     $pagina = (int) $pagina > 0 ? (int) $pagina : 1;
     if ($pagina == 1) {
         // Cargo fijos.
         $post_sticky = $model_post->sticky();
         // Extendemos la información de los posts.
         foreach ($post_sticky as $k => $v) {
             $a = $v->as_array();
             $a['usuario'] = $v->usuario()->as_array();
             $a['puntos'] = $v->puntos();
             $a['comentarios'] = $v->cantidad_comentarios(Model_Post_Comentario::ESTADO_VISIBLE);
             $a['categoria'] = $v->categoria()->as_array();
             $post_sticky[$k] = $a;
         }
         // Seteo y limpio.
         $portada->assign('sticky', $post_sticky);
         unset($post_sticky);
     }
     // Ultimos posts
     $post_list = $model_post->obtener_ultimos($pagina, $cantidad_por_pagina);
     // Verifivo validez de la pagina.
     if (count($post_list) == 0 && $pagina != 1) {
         Request::redirect('/');
     }
     // Paginación.
     $paginador = new Paginator($model_post->cantidad(Model_Post::ESTADO_ACTIVO), $cantidad_por_pagina);
     $portada->assign('paginacion', $paginador->get_view($pagina, '/home/index/%d'));
     unset($paginador);
     // Extendemos la información de los posts.
     foreach ($post_list as $k => $v) {
         $a = $v->as_array();
         $a['usuario'] = $v->usuario()->as_array();
         $a['puntos'] = $v->puntos();
         $a['comentarios'] = $v->cantidad_comentarios(Model_Post_Comentario::ESTADO_VISIBLE);
         $a['categoria'] = $v->categoria()->as_array();
         $post_list[$k] = $a;
     }
     $portada->assign('ultimos_posts', $post_list);
     unset($post_list);
     // Cargamos TOP posts.
     $post_top_list = $model_post->obtener_tops();
     // Extendemos la información de los posts.
     foreach ($post_top_list as $k => $v) {
         $a = $v->as_array();
         $a['puntos'] = $v->puntos();
         $post_top_list[$k] = $a;
     }
     $portada->assign('top_posts', $post_top_list);
     unset($post_top_list, $model_post);
     // Cargamos últimos comentarios.
     $comentario_list = Model_Post_Comentario::obtener_ultimos();
     // Extendemos la información de los comentarios.
     foreach ($comentario_list as $k => $v) {
         $a = $v->as_array();
         $a['usuario'] = $v->usuario()->as_array();
         $a['post'] = $v->post()->as_array();
         $comentario_list[$k] = $a;
     }
     $portada->assign('ultimos_comentarios', $comentario_list);
     unset($comentario_list);
     // Cargamos top usuarios.
     $model_usuario = new Model_Usuario();
     // Cantidad de usuarios
     $portada->assign('cantidad_usuarios', $model_usuario->cantidad());
     $portada->assign('cantidad_usuarios_online', $model_usuario->cantidad_activos());
     // Top de usuarios.
     $usuario_top_list = $model_usuario->obtener_tops();
     // Extendemos la información de los usuarios.
     foreach ($usuario_top_list as $k => $v) {
         $a = $v->as_array();
         $a['puntos'] = $v->cantidad_puntos();
         $usuario_top_list[$k] = $a;
     }
     $portada->assign('usuario_top', $usuario_top_list);
     unset($usuario_top_list, $model_usuario);
     // Cargamos ultimas fotos.
     $model_foto = new Model_Foto();
     $foto_list = $model_foto->obtener_ultimas(1, 1);
     // Extendemos la información de las fotos.
     foreach ($foto_list as $k => $v) {
         $foto_list[$k] = $v->as_array();
     }
     $portada->assign('ultimas_fotos', $foto_list);
     unset($foto_list);
     // Cantidad fotos y comentarios en fotos.
     $portada->assign('cantidad_fotos', $model_foto->cantidad());
     $portada->assign('cantidad_comentarios_fotos', $model_foto->cantidad_comentarios());
     unset($model_foto);
     // Asignamos la vista a la plantilla base.
     $this->template->assign('contenido', $portada->parse());
 }
Example #6
0
 /**
  * Borramos una foto.
  * @param int $foto ID de la foto a borrar.
  */
 public function action_borrar_foto($foto)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_DENUNCIAS)) {
         $_SESSION['flash_error'] = 'No tienes permiso para acceder a esa sección.';
         Request::redirect('/');
     }
     // Cargamos el post.
     $foto = (int) $foto;
     $model_foto = new Model_Foto($foto);
     // Verifico existencia del post.
     if (!$model_foto->existe()) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/denuncias/fotos');
     }
     // Verifico los permisos.
     if (Usuario::$usuario_id !== $model_foto->usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_ELIMINAR_FOTOS)) {
         $_SESSION['flash_error'] = 'No tienes permisos para realizar esa acción.';
         Request::redirect('/moderar/denuncias/fotos');
     }
     // Verifico el estado.
     if ($model_foto->estado === Model_Foto::ESTADO_BORRADA) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/denuncias/fotos');
     }
     // Actualizo la foto
     $model_foto->actualizar_campo('estado', Model_Foto::ESTADO_BORRADA);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', TRUE, $model_foto->id, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_borrar', FALSE, $model_foto->id, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', FALSE, $model_foto->id, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = 'Post eliminado correctamente.';
     Request::redirect('/moderar/denuncias/fotos');
 }
Example #7
0
File: foto.php Project: 4bs4/marifa
 /**
  * Restauramos una foto proveniente de la papelera.
  * @param int $foto ID de la foto a restaurar.
  */
 public function action_restaurar_foto($foto)
 {
     if (!Usuario::is_login()) {
         $_SESSION['flash_error'] = 'Debes iniciar sessión para poder restaurar fotos.';
         Request::redirect('/usuario/login');
     }
     $foto = (int) $foto;
     // Cargamos la foto.
     $model_foto = new Model_Foto($foto);
     // Verificamos exista.
     if (!is_array($model_foto->as_array())) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/');
     }
     // Verifico el usuario y sus permisos.
     if (Usuario::$usuario_id !== $model_foto->usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Verifico el estado de la foto.
     if ($model_foto->estado !== Model_Foto::ESTADO_PAPELERA) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Actualizo el estado.
     $model_foto->actualizar_estado(Model_Foto::ESTADO_ACTIVA);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_restaurar', TRUE, $foto, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_restaurar', FALSE, $foto, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_restaurar', FALSE, $foto, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = 'La foto se ha restaurado correctamente.';
     Request::redirect('/foto/ver/' . $foto);
 }
Example #8
0
 /**
  * La foto se ha borrado correctamente.
  * @param int $id ID de la foto a borrar.
  */
 public function action_eliminar_foto($id)
 {
     // Cargamos el modelo de la foto.
     $model_foto = new Model_Foto((int) $id);
     // Verifico que exista.
     if (!$model_foto->existe()) {
         $_SESSION['flash_error'] = 'No existe la foto que quiere mostrar.';
         Request::redirect('/admin/contenido/fotos');
     }
     // Borramos la foto.
     $model_foto->borrar();
     // Envio el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', TRUE, $model_foto->id, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_borrar', FALSE, $model_foto->id, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', FALSE, $model_foto->id, Usuario::$usuario_id);
     }
     // Informamos.
     $_SESSION['flash_success'] = 'Foto borrrada correctamente.';
     Request::redirect('/admin/contenido/fotos');
 }
Example #9
0
 /**
  * Borramos una foto.
  * @param int $foto ID de la post a borrar.
  */
 public function action_borrar_foto($foto)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) {
         $_SESSION['flash_error'] = 'No tienes permiso para borrar fotos.';
         Request::redirect('/');
     }
     $foto = (int) $foto;
     // Cargamos la foto.
     $model_foto = new Model_Foto($foto);
     // Verificamos exista.
     if (!is_array($model_foto->as_array())) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/papelera/fotos');
     }
     // Verifico el usuario y sus permisos.
     if (Usuario::$usuario_id !== $model_foto->usuario_id || !Usuario::permiso(Model_Usuario_Rango::PERMISO_ELIMINAR_FOTOS)) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/papelera/fotos');
     }
     // Actualizo el estado.
     $model_foto->actualizar_campo('estado', Model_Foto::ESTADO_BORRADO);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', TRUE, $foto, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_borrar', FALSE, $foto, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', FALSE, $foto, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = '<b>&iexcl;Felicitaciones!</b> Foto borrada correctamente.';
     Request::redirect('/moderar/papelera/fotos');
 }