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 .= '' . $separador . '' . $pai->title . ' ';
}
$saida .= '' . $separador . '' . (($icono != '')? ' ' : '') . ' ' . $paxina->title . ' ';
if($paxina->editable()):
$saida .= '[ ' . _x('Edit', 'Edit page') . ' ]';
endif;
$saida .= ' ';
$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 .= ' ';
$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 .= ' ';
$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 .= ' ';
}
$modal .= '';
$modal .= '
' . _x('Close menu', 'Close the menu'). ' ';
$modal .= '
';
$modal .= ' ';
$modal .= ' ';
$modal .= ' ';
$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 .= ' ';
$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 .= ' ';
$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 .= '
';
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