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 array|PageArray $paxinas * @param int $profundidade How many levels of navigation below current should it go? * @param string $class CSS class name for containing