configuracion as $config) { switch ($config->parametro_tipo->value) { case 'texto': $configuracion[$config->parametro_nome] = $config->parametro_valor; break; case 'cor': list($r, $g, $b) = sscanf($config->parametro_cor, "%02x%02x%02x"); $configuracion[$config->parametro_nome] = $r . ', ' . $g . ', ' . $b; break; case 'mantemento': if($config->parametro_mantemento==1) { $configuracion['mantemento'] = array( "activo" => true, "titular" => $config->titular, "artigo" => $config->artigo, "imaxe" => $config->imaxe ); } else { $configuracion['mantemento'] = array("activo" => false); } break; } } return $configuracion; } function getTextoLimpo($texto) { $texto = preg_replace ('/<[^>]*>/', ' ', $texto); $texto = str_replace("\r", '', $texto); $texto = str_replace("\n", ' ', $texto); $texto = str_replace("\t", ' ', $texto); $texto = trim(preg_replace('/ {2,}/', ' ', $texto)); return $texto; } function getSeccions($seccions) { $saida = ''; foreach($seccions as $seccion) { switch($seccion->template) { case 'repeater_seccions': switch ($seccion->seccion_tipo->value) { case 'texto': $saida .= renderTexto($seccion->titular, $seccion->artigo); break; case 'galeria': $saida .= renderGaleria($seccion->titular, $seccion->imaxes_galeria); break; case 'reixa': $saida .= renderReixa($seccion->titular, $seccion->imaxes_reixa); break; case 'imaxe_texto_lateral': $saida .= renderTextoImaxe($seccion->titular, $seccion->artigo, $seccion->imaxe, $seccion->imaxe_posicion->value); break; } break; case 'repeater_imaxe_ligazon': $saida .= renderImaxeLigazon($seccion->titular, $seccion->imaxe, $seccion->ligazon); break; } } return $saida; } function renderMenu($paxinas, $maxDepth = 0, $id = 'nav') { if($paxinas instanceof Page) { $paxinas = array($paxinas); } $saida = ''; foreach($paxinas as $paxina) { if($paxina->id == wire('page')->id) { $saida .= '
  • '; } else { $saida .= '
  • '; } $saida .= '' . mb_strtoupper($paxina->title) . ''; if($paxina->hasChildren() && $maxDepth) { if($id == 'nav') { $id = 'nav nav-tree'; } $saida .= renderMenu($paxina->children, $maxDepth-1, $id); } $saida .= '
  • ' . "\n"; } if($saida) { $saida = '' . "\n"; } return $saida; } function renderMigasPan($paxina, $separador = '') { $saida = ''; $icono = ''; switch ($paxina->template) { case 'portada': $icono = 'home'; break; case 'paxina': case 'habitacions': $icono = 'play'; break; case 'blogue': $icono = 'book'; break; case 'categoria': $icono = 'folder'; break; case 'etiqueta': $icono = 'tag'; break; case 'publicacion': $icono = 'book-open'; break; case 'contacto': $icono = 'user'; break; } $saida .= ''; return $saida; } function renderPaxinacion($artigos, $posicion) { $paxinacion = $artigos->renderPager(array( 'listMarkup' => '', 'itemMarkup' => '
  • {out}
  • ', 'linkMarkup' => '{out}', 'nextItemLabel' => '', 'previousItemLabel' => '', 'separatorItemClass' => 'separador', 'nextItemClass' => 'seguinte', 'previousItemClass' => 'anterior', 'lastItemClass' => 'derradeiro', 'currentItemClass' => 'actual' )); return $paxinacion; } function renderTexto($titulo, $texto) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= $texto . "\n"; $saida .= '
    ' . "\n"; if($titulo) { $saida = '
    ' . "\n" . '

    ' . $titulo . '

    ' . "\n" . $texto . "\n" . '
    '; } return $saida; } function renderGaleria($titulo, $galeria) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= '

    '; if($titulo) { $saida .= $titulo; } else { $saida .= 'Galeria'; } $saida .= '

    ' . "\n"; $saida .= '
    ' . "\n"; foreach($galeria as $imaxe) { $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '' . $imaxe->description . '' . "\n"; $saida .= '
    ' . $imaxe->description . '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; } $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    '; return $saida; } function renderReixa($titulo, $reixa) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= '

    '; if($titulo) { $saida .= $titulo; } else { $saida .= 'Reixa de imaxes'; } $saida .= '

    ' . "\n"; $saida .= '
    ' . "\n"; foreach($reixa as $imaxe) { $saida .= '
    ' . "\n"; $saida .= '' . $imaxe->description . '' . "\n"; $saida .= '
    ' . $imaxe->description . '
    ' . "\n"; $saida .= '
    ' . "\n"; } $saida .= '
    ' . "\n"; $saida .= '
    '; return $saida; } function renderTextoImaxe($titulo, $texto, $imaxe, $posicion) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '' . $imaxe->description . '' . "\n"; $saida .= '
    ' . $imaxe->description . '
    ' . "\n"; $saida .= '
    ' . "\n"; if($texto) { $saida .= $texto . "\n"; } $saida .= '
    ' . "\n"; if($titulo) { $saida = '
    ' . "\n" . '

    ' . $titulo . '

    ' . "\n" . $saida . '
    '; } return $saida; } function renderTextoMantemento($titulo, $texto, $imaxe) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= '

    ' . $titulo . '

    ' . "\n"; if($imaxe) { $saida .= '
    ' . "\n"; $saida .= '' . $imaxe->description . '' . "\n"; $saida .= '
    ' . $texto . '
    ' . "\n"; $saida .= '
    ' . "\n"; } else { $saida .= $texto . "\n"; } $saida .= '
    '; return $saida; } function renderImaxeLigazon($titular, $imaxe, $ligazon) { $saida = ''; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '' . $imaxe->description . '' . "\n"; $saida .= '
    ' . "\n"; $saida .= '' . $ligazon->title . '' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; return $saida; } function renderCategoriasEtiquetas($data) { $saida = ''; switch ($data->first()->template->name) { case 'categoria': $icono = 'folder'; $nome = 'categorias'; break; case 'etiqueta': $icono = 'tag'; $nome = 'etiquetas'; break; default: $icono = 'sn'; $nome = 'sin'; break; } $saida .= '
    ' . "\n"; $saida .= '

    ' . pages()->get('/noticias/' . $nome)->title . '

    ' . "\n"; $saida .= '' . "\n"; $saida .= '
    ' . "\n"; return $saida; } function renderResumen($texto = '', $limite = 120, $fin = '...') { $saida = ''; if($texto == '') return ''; if(strlen($texto) <= $limite) return $texto; $saida = substr($texto, 0, $limite); $pos = strrpos($saida, " "); if($pos>0) { $saida = substr($saida, 0, $pos); } $saida .= $fin; return $saida; } function renderArtigos($publicacion, $locale, $resumen = true) { $saida = ''; $data = strtotime($publicacion->fecha_publicacion); $dateFormatter = \IntlDateFormatter::create( $locale, \IntlDateFormatter::NONE, \IntlDateFormatter::NONE, \date_default_timezone_get(), \IntlDateFormatter::GREGORIAN ); $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '' . "\n"; $saida .= '
    ' . "\n"; $saida .= '

    ' . "\n"; $saida .= ' ' . $publicacion->title . '' . "\n"; $saida .= '

    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . pages()->get('/noticias/categorias/')->title . '
    ' . "\n"; $saida .= '
    ' . $publicacion->categorias->title . '
    ' . "\n"; $saida .= '
    ' . pages()->get('/noticias/etiquetas/')->title . '
    ' . "\n"; $saida .= '
    ' . $publicacion->etiquetas->each("{title}") . '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; $saida .= '
    ' . "\n"; if($resumen) { if($publicacion->imaxe) { $thumb = $publicacion->imaxe->size(466, 260); $saida .= '' . $publicacion->imaxe->description . '' . "\n"; } $saida .= '
    ' . "\n"; $saida .= '

    ' . renderResumen(getTextoLimpo(getSeccions($publicacion->seccions))) . '

    ' . "\n"; $saida .= '

    ' . _x("Read more", "Read more") . '

    ' ."\n"; $saida .= '
    ' . "\n"; } else { if($publicacion->imaxe) { $thumb = $publicacion->imaxe->size(466, 260); $saida .= '' . $publicacion->imaxe->description . '' . "\n"; } $saida .= '
    ' . "\n"; $saida .= getSeccions($publicacion->seccions) . "\n"; $saida .= '
    ' . "\n"; } $saida .= '
    ' . "\n"; return $saida; }