/** * Concentrar */ protected function concentrar() { // Si ya se ha concentrado, no se hace nada if ($this->he_concentrado) { return; } // Pasar parámetros a vínculos $this->vinculos->en_raiz = $this->en_raiz; $this->vinculos->en_otro = $this->en_otro; // Ordenar publicaciones alfabéticamente $this->recolector->ordenar_por_directorio_nombre_asc(); // Bucle por las publicaciones, tiene la cantidad límite foreach ($this->recolector->obtener_publicaciones($this->cantidad_maxima) as $publicacion) { // Sólo las publicaciones con estado publicar if (strtolower($publicacion->estado) == 'publicar') { // Definir vínculo $vinculo = new \Base\Vinculo(); $vinculo->en_raiz = $this->en_raiz; $vinculo->en_otro = $this->en_otro; $vinculo->definir_con_publicacion($publicacion); // Agregar $this->vinculos->agregar($vinculo); } } // Levantar la bandera $this->he_concentrado = true; }
/** * Concentrar */ protected function concentrar() { // Si ya se ha concentrado, no se hace nada if ($this->he_concentrado) { return; } // Iniciar vínculos $clase = \Configuracion\CategoriasConfig::VINCULOS_INDIVIDUAL; $this->vinculos = new $clase(); // Ordenar publicaciones por tiempo, de la más nueva a la más antigua $this->recolector->ordenar_por_tiempo_desc(); // Bucle por todas las publicaciones foreach ($this->recolector->obtener_publicaciones() as $publicacion) { // Definir vínculo $vinculo = new \Base\Vinculo(); $vinculo->en_raiz = $this->en_raiz; $vinculo->en_otro = $this->en_otro; $vinculo->definir_con_publicacion($publicacion); // Agregar vínculo $this->vinculos->agregar($vinculo); } // Levantar la bandera $this->he_concentrado = true; }
/** * Concentrar */ protected function concentrar() { // Trabajar sólo si NO ha concentrado if (!$this->he_concentrado) { // Pasar parámetros a vínculos $this->vinculos->en_raiz = $this->en_raiz; $this->vinculos->en_otro = $this->en_otro; // 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->cantidad_maxima) as $publicacion) { // Sólo las publicaciones con estado publicar if (strtolower($publicacion->estado) == 'publicar') { // Definir vínculo $vinculo = new \Base\Vinculo(); $vinculo->en_raiz = $this->en_raiz; $vinculo->en_otro = $this->en_otro; $vinculo->definir_con_publicacion($publicacion); // Agregar $this->vinculos->agregar($vinculo); } } // Levantar la bandera $this->he_concentrado = true; } }
/** * 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; }
/** * Últimas publicaciones */ protected function ultimas_publicaciones() { // Iniciar concentrador $concentrador = new \Base\VinculosDetallados(); $concentrador->en_raiz = true; // Iniciar recolector $recolector = new \Base\Recolector(); $recolector->agregar_publicaciones_de_imprentas($this->imprentas); // Ordenar publicaciones por tiempo, de la más nueva a la más antigua $recolector->ordenar_por_tiempo_desc(); // Bucle por las publicaciones, tiene la cantidad límite foreach ($recolector->obtener_publicaciones(4) as $publicacion) { // Iniciar vínculo $vinculo = new \Base\Vinculo(); $vinculo->en_raiz = true; $vinculo->en_otro = false; $vinculo->definir_con_publicacion($publicacion); // Agregar $concentrador->agregar($vinculo); } // Acumular Últimas Publicaciones y Twitter Timeline $this->contenido[] = ' <section id="ultimas-publicaciones">'; $this->contenido[] = ' <div class="row">'; $this->contenido[] = ' <div class="col-md-8">'; $this->contenido[] = ' <div class="ultimas">'; $this->contenido[] = ' <h2>Últimas publicaciones</h2>'; $this->contenido[] = $concentrador->html(); $this->contenido[] = ' <div class="text-center">'; $this->contenido[] = " <a href=\"blog/index.html\" class=\"btn btn-default\" role=\"button\">Todos los Análisis Publicados</a>"; $this->contenido[] = ' </div>'; $this->contenido[] = ' </div>'; $this->contenido[] = ' </div>'; $this->contenido[] = ' <div class="col-md-4">'; $this->contenido[] = ' <div class="red-social-twitter">'; $this->contenido[] = ' <a class="twitter-timeline" height="720px" href="https://twitter.com/trcimplan" data-chrome="nofooter transparent" data-theme="dark" data-widget-id="455819492145127424">Tweets por @trcimplan</a>'; $this->contenido[] = ' </div>'; $this->contenido[] = ' </div>'; $this->contenido[] = ' </div>'; $this->contenido[] = ' </section>'; // Acumular javascipt del Twitter Timeline $this->javascript[] = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?\'http\':\'https\';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");'; }