public function index()
 {
     //Defino el titulo de la vista
     $this->title = 'Escritorio';
     $post = new Post();
     $taxonomia = new Taxonomia();
     //Totalizadores de publicaciones y taxonomias
     $this->total_post = $post->getContadorPost('todos');
     $this->total_borradores = $post->getContadorPost('todos', Post::BORRADOR);
     $this->total_categorias = $taxonomia->getContadorTaxonomia(Taxonomia::CATEGORIA);
     $this->total_etiquetas = $taxonomia->getContadorTaxonomia(Taxonomia::ETIQUETA);
     //Totalizadores de comentarios
     $this->total_comentarios = 0;
     $this->total_pendientes = 0;
     $this->total_spam = 0;
     /* Nombre a mostrar en los link */
     $this->detalle_post = $this->total_post > 1 ? 'Publicaciones' : 'Publicación';
     $this->detalle_borrador = $this->total_borradores > 1 ? 'Borradores' : 'Borrador';
     $this->detalle_categoria = $this->total_categorias > 1 ? 'Categorías' : 'Categoría';
     $this->detalle_etiqueta = $this->total_etiquetas > 1 ? 'Etiquetas' : 'Etiqueta';
     $this->detalle_comentario = $this->total_comentarios > 1 ? 'Comentarios' : 'Comentario';
     $this->detalle_pendiente = $this->total_pendientes > 1 ? 'Pendientes' : 'Pendiente';
     $this->detalle_spam = 'Spam';
 }
 /**
  * Metodo para registrar la clasificación del post
  * 
  * @param string $tipo Tipo de clasificación a registrar
  * @param arrray | string $taxonomia Array o String de taxonomias a registrar
  * @param int $post Código del post
  * @param boolean $mensaje Indica si se muestra el mensaje de confirmación del registro
  * @return array
  */
 public function registrarPostTaxonomia($tipo, $taxonomia, $post, $mensaje = false)
 {
     //verifico que contenga algo
     if ($taxonomia) {
         //Verifico si es categoria
         if ($tipo == Taxonomia::CATEGORIA) {
             //Verifico si la categoria es un array
             if (is_array($taxonomia)) {
                 foreach ($taxonomia as $fila) {
                     $post_categoria = new PostTaxonomia();
                     $post_categoria->post_id = $post;
                     $post_categoria->taxonomia_id = $fila;
                     $post_categoria->save();
                 }
             } else {
                 $post_categoria = new PostTaxonomia();
                 $post_categoria->post_id = $post;
                 $post_categoria->taxonomia_id = $taxonomia;
                 $post_categoria->save();
             }
         } else {
             //Separo las etiquetas por coma
             $taxonomia = explode(',', $taxonomia);
             //Si es un array
             if (is_array($taxonomia)) {
                 foreach ($taxonomia as $fila) {
                     $fila = trim($fila);
                     //Quito los espacios
                     $etiqueta = new Taxonomia();
                     //Verifico si está registrada
                     if (!$etiqueta->getInformacionTaxonomia(Taxonomia::ETIQUETA, '', $fila)) {
                         $etiqueta = new Taxonomia();
                         $etiqueta->nombre = $fila;
                         $etiqueta->tipo = Taxonomia::ETIQUETA;
                         $etiqueta->save();
                     }
                     //Si guardo la etiqueta
                     if (isset($etiqueta->id)) {
                         $post_etiqueta = new PostTaxonomia();
                         $post_etiqueta->post_id = $post;
                         $post_etiqueta->taxonomia_id = $etiqueta->id;
                         $post_etiqueta->save();
                     }
                     //Tengo que eliminar los pk para poder continuar porque lo que hace es actualizar ¿?
                     $post_etiqueta->id = null;
                     $etiqueta->id = null;
                 }
             } else {
                 $taxonomia = trim($taxonomia);
                 $etiqueta = new Taxonomia();
                 if (!$etiqueta->getInformacionTaxonomia(Taxonomia::ETIQUETA, '', $taxonomia)) {
                     $etiqueta = new Taxonomia();
                     $etiqueta->nombre = $taxonomia;
                     $etiqueta->tipo = Taxonomia::ETIQUETA;
                     $etiqueta->save();
                 }
                 if (isset($etiqueta->id)) {
                     $post_etiqueta = new PostTaxonomia();
                     $post_etiqueta->post_id = $post;
                     $post_etiqueta->taxonomia_id = $etiqueta->id;
                     $post_etiqueta->save();
                 }
             }
         }
         return true;
     }
 }
 /**
  * Método para eliminar las taxonomias
  *
  * @param string $tipo Tipo de taxonomia a eliminar 'etiqueta' o 'categoria'
  * @param int $id Codigo de la taxonomía
  * @param string $key Palabra 'key' que viene en la url
  * @param string $valueKey  Llave de seguridad para prevenir que se elimine directamente desde la url
  */
 public function eliminar($tipo, $id, $key = 'key', $valueKey = '')
 {
     if ($tipo === 'categoria' or $tipo === 'etiqueta') {
         //Armo la llave con el código de la url
         $this->validKey = md5($id . $this->ipKey . $this->expKey . $tipo);
         //Verifico que la llave de la url sea igual a la llave creada internamente
         if ($this->validKey === $valueKey) {
             $taxonomia = new Taxonomia();
             $taxonomia->eliminarTaxonomia($id, true);
         } else {
             Flash::error('Acceso denegado al sistema.');
         }
         Router::redirect('dc-admin/' . $tipo . '/');
     } else {
         Flash::info('Acceso incorrecto al sistema.');
         Router::redirect('dc-admin/');
     }
 }