configuracion as $cfg) { switch ($cfg->parametro_tipo->value) { case 'texto': if(strpos($cfg->parametro_nome, 'rrss') === 0) { $nome = substr($cfg->parametro_nome, strpos($cfg->parametro_nome, "_") + 1); $configuracion['redes'][$nome] = $cfg->parametro_valor; } else { $configuracion[$cfg->parametro_nome] = $cfg->parametro_valor; } break; case 'cor': $configuracion[$cfg->parametro_nome] = $cfg->parametro_cor[0] . ", " . $cfg->parametro_cor[1] . ", " . $cfg->parametro_cor[2]; break; case 'mantemento': if($cfg->parametro_mantemento==1) { $configuracion['mantemento'] = array( 'activo' => true, 'titular' => $cfg->titular, 'artigo' => $cfg->artigo, 'imaxe' => $cfg->imaxe ); } else { $configuracion['mantemento'] = array('activo' => false); } break; case 'logo': foreach($cfg->imaxes as $logo) { if($logo->hasTag('completo')) { $configuracion['logo']['completo'] = $logo; } if($logo->hasTag('mini')) { $configuracion['logo']['mini'] = $logo; } } break; case 'imaxe': if(strpos($cfg->parametro_nome, 'banner') === 0) { $nome = substr($cfg->parametro_nome, strpos($cfg->parametro_nome, "_") + 1); $configuracion['banners'][$nome] = $cfg->imaxes->first(); } else { $configuracion[$cfg->parametro_nome] = $cfg->parametro_valor; } break; } } return $configuracion; } /** * @param array|PageArray $seccions * @return string */ function getSeccions($seccions) { $saida = ''; $posicion = 0; foreach($seccions as $seccion) { $posicion++; switch($seccion->template) { case 'repeater_seccions': switch ($seccion->seccion_tipo->value) { case 'texto': $saida .= renderTexto($seccion); break; case 'imaxe': $saida .= renderImaxe($seccion); break; case 'galeria': $saida .= renderGaleria($seccion); break; case 'reixa': $saida .= renderReixa($seccion); break; case 'columnas': $saida .= renderColumna($seccion); break; case 'lapelas': $saida .= renderLapelas($seccion); break; case 'deslizante': $saida .= renderDeslizante($seccion); break; case 'destacados': $saida .= renderDestacado($seccion); break; case 'tarxetas': $saida .= renderTarxetas($seccion); break; case 'opinions': $saida .= renderOpinions($seccion); break; case 'empresas': $saida .= renderEmpresas($seccion); break; } break; case 'repeater_deslizante': $saida .= renderDiapositiva($seccion, $posicion); break; case 'repeater_botons': $saida .= renderBoton($seccion); break; case 'repeater_ligazon_imaxe': $saida .= renderLigazonImaxe($seccion); break; case 'repeater_destacados': case 'repeater_columnas': $saida .= renderElemento($seccion, $posicion); break; case 'repeater_opinions': $saida .= renderCita($seccion); break; } } return $saida; } /** * @param string $texto * @return string */ 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; } /** * @param PageArray $paxinas * @param string $clase * @return string */ function renderMenu($paxinas) { $saida = ''; $inicio = wire('pages')->get('/'); $actual = wire('page'); if($paxinas instanceof Page) { $paxinas = array($paxinas); } $saida .= ''; return $saida; } /** * @param array|PageArray $paxina * @param string $separador * @return string */ function renderMigasPan($paxina, $separador = '') { $saida = ''; $icono = ''; switch ($paxina->template) { case 'inicio': $icono = 'home'; break; case 'paxina': case 'habitacions': case 'habitacion': $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 .= '
    '; foreach($paxina->parents() as $pai) { $saida .= '
  1. ' . $separador . '' . $pai->title . '
  2. '; } $saida .= '
  3. ' . $separador . '' . (($icono != '')? '' : '') . ' ' . $paxina->title . ''; if($paxina->editable()): $saida .= '[ ' . _x('Edit', 'Edit page') . ']'; endif; $saida .= '
  4. '; $saida .= '
'; return $saida; } /** * @param array|PageArray $artigos * @param int $posicion * @return string */ 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; } /** * @param string $titulo * @param string $texto * @param array|PageArray $imaxe * @return string */ function renderTextoMantemento($titulo, $texto, $imaxe) { $saida = ''; $saida .= '
    '; $saida .= '

    ' . $titulo . '

    '; $saida .= $texto; $saida .= '
    '; $saida .= '' . $imaxe->description . ''; $saida .= '
    ' . $imaxe->description . '
    '; $saida .= '
    '; $saida .= '
    '; return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderGaleria($seccion) { $saida = ''; $saida .= '
    '; $saida .= '

    ' . (($seccion->titular) ? $seccion->titular : 'Galeria') . '

    '; $saida .= '
    '; foreach($seccion->imaxes as $imaxe) { $saida .= '
    '; $saida .= '' . $imaxe->description . ''; $saida .= '
    ' . $imaxe->description . '
    '; $saida .= '
    '; } $saida .= '
    '; $saida .= '

    Previous'; $saida .= ''; $saida .= 'Next

    '; $saida .= '
    '; return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderReixa($seccion) { $saida = ''; $reixa = ''; $modal = ''; foreach($seccion->imaxes as $imaxe) { $reixa .= '' . $imaxe->description . ''; } $modal .= ''; if($seccion->titular) { $saida .= '
    '; $saida .= '

    ' . $seccion->titular . '

    '; $saida .= $reixa; $saida .= $modal; $saida .= '
    '; } else { $saida .= '
    '; $saida .= $reixa; $saida .= $modal; $saida .= '
    '; } return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderTexto($seccion) { $saida = ''; if($seccion->titular) { $saida .= '
    '; $saida .= '

    ' . $seccion->titular . '

    '; $saida .= $seccion->artigo; $saida .= '
    '; } else { $saida .= '
    '; $saida .= $seccion->artigo; $saida .= '
    '; } return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderImaxe($seccion) { $saida = ''; $imaxe = ''; $botons = ''; if($seccion->imaxe) { $imaxe .= '
    '; $imaxe .= '' . $seccion->imaxe->description . ''; $imaxe .= '
    ' . $seccion->imaxe->description . '
    '; $imaxe .= '
    '; } if($seccion->botons->isEmpty()) { $botons .= getSeccions($seccion->botons); } if($seccion->titular) { $saida .= '
    '; $saida .= '

    ' . $seccion->titular . '

    '; $saida .= $imaxe; $saida .= '
    ' . $seccion->artigo . '
    '; $saida .= $botons; $saida .= '
    '; } else { $saida .= '
    '; $saida .= $imaxe; $saida .= '
    ' . $seccion->artigo . '
    '; $saida .= $botons; $saida .= '
    '; } return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderLigazonImaxe($seccion) { $saida = ''; $saida .= '
    '; $saida .= '' . $seccion->imaxe->description . ''; $saida .= '
    '; $saida .= '

    ' . $seccion->titular . '

    '; $saida .= '

    ' . _x('See details', 'see details') . '

    '; $saida .= ''; $saida .= '
    '; $saida .= '
    '; return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderDestacado($seccion) { $saida = ''; $icona = ''; if($seccion->titular) { $saida .= '
    '; $saida .= '

    ' . $seccion->titular . '

    '; $saida .= getSeccions($seccion->destacados); $saida .= '
    '; } else { $saida .= '
    '; $saida .= getSeccions($seccion->destacados); $saida .= '
    '; } return $saida; } /** * @param array|PageArray $seccion * @param int $posicion * @return string */ function renderElemento($seccion , $posicion) { $saida = ''; $saida .= '
    '; switch($seccion->destacado_icona_tipo->value) { case 'icona': $saida .= ''; break; case 'imaxe': $saida .= '' . $seccion->imaxe->description . ''; break; case 'posicion': $saida .= '' . $posicion . ''; break; default: $saida .= ''; break; } $saida .= '

    ' . $seccion->titular . '

    '; $saida .= $seccion->artigo; if($seccion->botons && $seccion->botons->isEmpty()) { $saida .= '
    '; $saida .= getSeccions($seccion->botons); $saida .= '
    '; } $saida .= '
    ' ; return $saida; } /** * @param array|PageArray $seccion * @return string */ function renderCategoriasEtiquetas($seccion, $activo = false) { $saida = ''; switch ($seccion->first()->template->name) { case 'categoria': $icono = 'folder'; $nome = 'categorias'; break; case 'etiqueta': $icono = 'tag'; $nome = 'etiquetas'; break; } $saida .= '
    '; $saida .= ''; $saida .= '

    '; $saida .= ''; $saida .= '

    '; $saida .= ''; $saida .= '
    '; return $saida; } /** * @param array|PageArray $publicacion * @param string $locale * @param boolean $resumen * @return string */ 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 .= '
    '; $saida .= '
    '; $saida .= ''; $saida .= '

    '; $saida .= ' ' . $publicacion->title . ''; $saida .= '

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

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

    '; $saida .= '

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

    ' ."\n"; $saida .= '
    '; } else { if($publicacion->imaxe) { $thumb = $publicacion->imaxe->size(0, 260); $saida .= '' . $publicacion->imaxe->description . ''; } $saida .= '
    '; $saida .= getSeccions($publicacion->seccions); $saida .= '
    '; } $saida .= '
    '; return $saida; } /** * @param string $texto * @param int $limite * @param string $fin * @return string */ 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; } /** Rehacer */ /** * @param array|PageArray $paxinas * @param int $maxDepth How many levels of navigation below current should it go? * @param string $fieldNames Any extra field names to display (separate multiple fields with a space) * @param string $class CSS class name for containing