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 string $titulo * @param string $texto * @param array|PageArray $imaxe * @return string */ function renderTextoMantemento($titulo, $texto, $imaxe) { $saida = ''; $saida .= '
'; $saida .= '

' . $titulo . '

'; $saida .= $texto; $saida .= '' . $imaxe->description . ''; $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 .= '
' . "\n"; $saida .= '' . $seccion->imaxe->description . ''; $saida .= '
' . "\n"; $saida .= '

' . $seccion->titular . '

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

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

' . "\n"; $saida .= '' . "\n"; $saida .= '
' . "\n"; $saida .= '
' . "\n"; 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 .= '
' . "\n"; $saida .= getSeccions($seccion->botons) . "\n"; $saida .= '
' . "\n"; } $saida .= '
' . "\n"; 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