/**
  * 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 editar las taxonomias
  *
  * @param string $tipo Tipo de taxonomia a editar '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 edite directamente desde la url
  */
 public function editar($tipo, $id = null, $key = 'key', $valueKey = '')
 {
     if ($tipo === 'categoria' or $tipo === 'etiqueta') {
         //Asigno el título a la página
         $this->title = $tipo == 'categoria' ? 'Editar categoría' : 'Editar etiqueta';
         //Verifico si ha enviado los datos a través del formulario
         if (Input::hasPost('taxonomia')) {
             //Verifico que el formulario coincida con la llave almacenada en sesion
             if (SecurityKey::isValid()) {
                 $taxonomia = new Taxonomia(Input::post('taxonomia'));
                 //Aplico la autocarga
                 $taxonomia = $taxonomia->modificarTaxonomia(true);
             } else {
                 Flash::info('La llave de acceso ha caducado. Por favor intente nuevamente');
             }
             Router::redirect('dc-admin/' . $tipo . '/');
         } else {
             //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) {
                 $this->tipo = $tipo == 'categoria' ? Taxonomia::CATEGORIA : Taxonomia::ETIQUETA;
                 $taxonomia = new Taxonomia();
                 $this->taxonomia = $taxonomia->getInformacionTaxonomia($this->tipo, $id);
                 //Asigno la clasificación
                 $this->clasificacion = $this->tipo === Taxonomia::CATEGORIA ? 'categoría' : 'etiqueta';
             } else {
                 Flash::error('Acceso denegado al sistema.');
                 Router::redirect('dc-admin/' . $tipo . '/');
             }
         }
     } else {
         Flash::info('Acceso incorrecto al sistema.');
         Router::redirect('dc-admin/');
     }
 }