/**
  * Concentrar
  */
 protected function concentrar()
 {
     // Si ya se ha concentrado, no se hace nada
     if ($this->he_concentrado) {
         return;
     }
     // Cargar configuración de las categorías
     $categorias_config = new \Configuracion\CategoriasConfig();
     // Iniciar vínculos
     $this->vinculos = new $this->categorias_vinculos();
     // Bucle por todas las categorias
     foreach ($this->recolector->obtener_categorias() as $nombre) {
         // Obtener instancia de Categoria
         $categoria = $categorias_config->obtener($nombre);
         // Si está definido en \Configuracion\CategoriasConfig
         if ($categoria instanceof \Base\Categoria) {
             $url = sprintf('categoria-%s.html', \Base\Funciones::caracteres_para_web($categoria->nombre));
             $vinculo = new \Base\Vinculo($categoria->nombre, $url, $categoria->icono, $this->directorio);
             $vinculo->en_raiz = false;
             $vinculo->en_otro = false;
             $this->vinculos->agregar($vinculo);
         } elseif ($categorias_config->mostrar_no_definidos) {
             $url = sprintf('categoria-%s.html', \Base\Funciones::caracteres_para_web($nombre));
             $vinculo = new \Base\Vinculo($nombre, $url, 'unknown', $this->directorio);
             $vinculo->en_raiz = false;
             $vinculo->en_otro = false;
             $this->vinculos->agregar($vinculo);
         }
     }
     // Iniciar vínculos últimas publicaciones
     $this->vinculos_ultimas = new $this->ultimas_vinculos();
     // Ordenar publicaciones por tiempo, de la más nueva a la más antigua
     $this->recolector->ordenar_por_tiempo_desc();
     // Bucle por las publicaciones, tiene la cantidad límite
     foreach ($this->recolector->obtener_publicaciones($this->ultimas_cantidad) as $publicacion) {
         $vinculo = new \Base\Vinculo();
         $vinculo->en_raiz = false;
         $vinculo->en_otro = false;
         $vinculo->definir_con_publicacion($publicacion);
         $this->vinculos_ultimas->agregar($vinculo);
     }
     // Levantar la bandera
     $this->he_concentrado = true;
 }
Пример #2
0
 /**
  * Imprimir categorías
  *
  * Crea los archivos para cada categoria como nombre.html
  */
 protected function imprimir_individuales()
 {
     // Cargar configuración de las categorías
     $categorias_config = new \Configuracion\CategoriasConfig();
     // Iniciar la plantilla
     $plantilla = new Plantilla();
     $plantilla->navegacion = new Navegacion();
     $plantilla->mapa_inferior = new MapaInferior();
     $plantilla->directorio = \Configuracion\CategoriasConfig::DIRECTORIO;
     $plantilla->navegacion->opcion_activa = \Configuracion\CategoriasConfig::NAVEGACION_OPCION_ACTIVA;
     // Bucle por todas las categorías
     foreach ($this->recolector->obtener_categorias() as $categoria_texto) {
         // Obtener instancia de Categoria
         $categoria = $categorias_config->obtener($categoria_texto);
         // Si está definido en \Configuracion\CategoriasConfig
         if ($categoria === false) {
             $categoria = new Categoria($categoria_texto);
             $categoria->descripcion = "Publicaciones en la categoría {$categoria_texto}";
         }
         // Definir ruta del archivo a crear, las banderas en falso hacen que el URL sea categoria.html
         $categoria->en_raiz = false;
         $categoria->en_otro = false;
         $ruta = sprintf('%s/%s', $plantilla->directorio, $categoria->url());
         // Filtrar por esta categoría
         $this->recolector->filtrar_publicaciones_de_categoria($categoria_texto);
         // Iniciar página
         $pagina = new PaginasCategoriasIndividual($categoria, $this->recolector);
         $pagina->en_raiz = false;
         $pagina->en_otro = true;
         // Pasar a la plantilla los valores que cambian en cada página
         $plantilla->titulo = $pagina->titulo;
         $plantilla->descripcion = $pagina->descripcion;
         $plantilla->claves = "Categoria, {$categoria_texto}";
         $plantilla->archivo_ruta = $ruta;
         // Pasar a la plantilla el HTML y Javascript
         $plantilla->contenido = $pagina->html();
         $plantilla->javascript = $pagina->javascript();
         // Crear archivo
         $this->crear_archivo($plantilla->archivo_ruta, $plantilla->html());
         $this->contador++;
     }
 }
 /**
  * Imprimir categorias
  *
  * Crea archivos para cada categoria como categoria-nombre.html
  */
 protected function imprimir_categorias()
 {
     // Cargar configuración de las categorías
     $categorias_config = new \Configuracion\CategoriasConfig();
     // Iniciar la Plantilla
     $plantilla = new Plantilla();
     $plantilla->navegacion = new Navegacion();
     $plantilla->mapa_inferior = new MapaInferior();
     $plantilla->directorio = $this->directorio;
     $plantilla->navegacion->opcion_activa = $this->nombre_menu;
     // Bucle por todas las categorias
     foreach ($this->recolector->obtener_categorias() as $categoria_texto) {
         // Obtener instancia de Categoria
         $categoria = $categorias_config->obtener($categoria_texto);
         // Si está definido en \Configuracion\CategoriasConfig
         if ($categoria === false) {
             $categoria = new Categoria($categoria_texto);
             $categoria->descripcion = "Categoría {$categoria_texto} en {$this->titulo}";
         }
         // Definir ruta del archivo a crear
         $ruta = sprintf('%s/categoria-%s.html', $plantilla->directorio, \Base\Funciones::caracteres_para_web($categoria->nombre));
         // Filtrar por esta categoría
         $this->recolector->filtrar_publicaciones_de_categoria($categoria_texto);
         // Iniciar página
         $pagina = new $this->indices_paginas($this->recolector);
         $pagina->titulo = "{$this->titulo} en {$categoria->nombre}";
         $pagina->descripcion = $categoria->descripcion;
         $pagina->en_raiz = false;
         $pagina->en_otro = false;
         // Pasar a la plantilla los valores que cambian en cada página
         $plantilla->titulo = $categoria->nombre;
         $plantilla->descripcion = $categoria->descripcion;
         $plantilla->claves = "{$this->claves}, {$categoria->nombre}";
         $plantilla->archivo_ruta = $ruta;
         // Pasar a la plantilla el HTML y Javascript
         $plantilla->contenido = $pagina->html();
         $plantilla->javascript = $pagina->javascript();
         // Crear archivo
         $this->crear_archivo($plantilla->archivo_ruta, $plantilla->html());
         $this->contador++;
     }
 }
Пример #4
0
 /**
  * Concentrar
  */
 protected function concentrar()
 {
     // Si ya se ha concentrado, no se hace nada
     if ($this->he_concentrado) {
         return;
     }
     // Cargar configuración de las categorías
     $categorias_config = new \Configuracion\CategoriasConfig();
     // Iniciar vínculos
     $clase = \Configuracion\CategoriasConfig::VINCULOS_INDICE;
     $this->vinculos = new $clase();
     $this->vinculos->imagen_tamano = $categorias_config->imagen_tamano;
     // Bucle por todas las categorias
     foreach ($this->recolector->obtener_categorias() as $nombre) {
         // Obtener la cantidad de publicaciones de esta categoría
         $this->recolector->filtrar_publicaciones_de_categoria($nombre);
         $cantidad = $this->recolector->obtener_cantidad_de_publicaciones();
         // Obtener instancia de Categoria
         $categoria = $categorias_config->obtener($nombre);
         // Si está definido en \Configuracion\CategoriasConfig
         if ($categoria instanceof Categoria) {
             // Sí está definido
             $categoria->en_raiz = $this->en_raiz;
             $categoria->en_otro = $this->en_otro;
             $etiqueta = sprintf('%s (%d)', $categoria->nombre, $cantidad);
             $vinculo = new Vinculo($etiqueta, $categoria->url(), $categoria->icono, \Configuracion\CategoriasConfig::DIRECTORIO, $categoria->descripcion);
             $this->vinculos->agregar($vinculo);
         } elseif ($categorias_config->mostrar_no_definidos) {
             // No está definido
             $etiqueta = sprintf('%s (%d)', $nombre, $cantidad);
             $vinculo = new Vinculo($etiqueta, sprintf('%s.html', Funciones::caracteres_para_web($nombre)), 'unknown', \Configuracion\CategoriasConfig::DIRECTORIO);
             $this->vinculos->agregar($vinculo);
         }
     }
     // Levantar la bandera
     $this->he_concentrado = true;
 }