Estilos bootstrap o resto das paxinas.

This commit is contained in:
Laegnur 2023-02-21 14:48:37 +01:00
parent c3fdd5d400
commit 2efb72b3b6
38 changed files with 2624 additions and 449 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

View file

@ -1,28 +1,30 @@
<?php namespace ProcessWire;
$mantemento = $inicio->mantemento;
/** @var Page $page API variable */
if($mantemento && !$user->isLoggedin())
$menu = '';
$contido = '';
if($configuracion['mantemento']['activo'] && !$user->isLoggedin())
{
$session->redirect('/praiadeseselle');
$menu = renderMenu($pages->get('/noticias')->and($pages->get('/contacto')));
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$contido = '';
$menu = renderMenu($inicio->children);
}
$categorias = pages()->get('/noticias/categorias/')->children();
$etiquetas = pages()->get('/noticias/etiquetas/')->children();
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'">' . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= '<section class="row row-cols-1 row-cols-md-2 mb-3">' . "\n";
$contido .= renderCategoriasEtiquetas($categorias);
$contido .= renderCategoriasEtiquetas($etiquetas);
$contido .= '<section id="publicacions">' . "\n";
$contido .= '</section>' . "\n";
$contido .= '<section id="publicacions" class="row row-cols-1 row-cols-lg-2 mb-3">' . "\n";
if($page->numChildren)
{
@ -38,6 +40,4 @@ else
$contido .= renderPaxinacion($publicacions, 'inferior');
}
$contido .= '</section>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -1,14 +0,0 @@
<?php namespace ProcessWire; ?>
<?php include('./layout/partial/bs_nav.php'); ?>
<?php include('./layout/partial/bs_head.php'); ?>
<?php include('./layout/partial/bs_foot.php'); ?>
<article id="inicio" class="container" pw-append="contido">
<div class="contedor">
<h2 class="visually-hidden"><?php echo ucfirst($inicio->title); ?></h2>
<?php if($configuracion['mantemento']['activo'] && !$user->isLoggedin()): ?>
<?php echo renderTextoMantemento($configuracion['mantemento']['titular'], $configuracion['mantemento']['artigo'], $configuracion['mantemento']['imaxe']) ?>
<?php else: ?>
<?php echo getSeccions($inicio->seccions); ?>
<?php endif; ?>
</div>
</article>

View file

@ -1,23 +1,18 @@
<?php namespace ProcessWire;
$mantemento = $inicio->mantemento;
/** @var Page $page API variable */
if($mantemento && !$user->isLoggedin())
{
$session->redirect($inicio->url);
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$menu = '';
$contido = '';
$menu = renderMenu($inicio->children);
$publicacions = pages()->get('/noticias/publicaciones/')->children("template='publicacion',categorias=$page,sort=-fecha_publicacion,limit=10");
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'">' . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= '<section id="publicacions">' . "\n";
$contido .= '<section id="publicacions" class="row row-cols-1 row-cols-lg-2 mb-3">' . "\n";
$contido .= renderPaxinacion($publicacions, 'superior');
foreach($publicacions as $publicacion)
@ -26,6 +21,4 @@ else
}
$contido .= renderPaxinacion($publicacions, 'inferior');
$contido .= '</section>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -1,20 +1,132 @@
<?php namespace ProcessWire;
$mantemento = $inicio->mantemento;
/** @var Page $page API variable */
if($mantemento && !$user->isLoggedin())
$menu = '';
$contido = '';
if($configuracion['mantemento']['activo'] && !$user->isLoggedin())
{
$session->redirect('/praiadeseselle');
$menu = renderMenu($pages->get('/noticias')->and($pages->get('/contacto')));
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$menu = renderMenu($inicio->children);
}
if(isset($_POST['enviar']))
{
$correo = wireMail();
$correo->to($configuracion['contacto_correo']);
$correo->from($sanitizer->email($input->post->correo));
$correo->fromName($sanitizer->text($input->post->nome));
$correo->subject($sanitizer->text($input->post->asunto));
$correo->body($sanitizer->text($input->post->mensaxe));
$correo->send();
$enviado = $correo->getResult();
}
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'">' . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= '<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d683.7895035822396!2d-8.223894611883049!3d43.43175437259117!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0xd2e77df3b9b18d5%3A0x80036ce3d85c27cf!2sLugar%20de%20Sesella%2C%2034%2C%2015623%20Ares%2C%20La%20Coru%C3%B1a!5e1!3m2!1ses!2ses!4v1647252009787!5m2!1ses!2ses" style="border:0;" allowfullscreen="" loading="lazy"></iframe>';
$contido .= '<div class="row align-items-lg-stretch mb-5">' . "\n";
$contido .= '<div class="col-lg-7">' . "\n";
$contido .= '<div class="h-100 p-5 text-bg-light border rounded-3">' . "\n";
$contido .= '<form method="POST" id="formulario-contacto" name="formulario-contacto" action="#">' . "\n";
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-6">' . "\n";
$contido .= '<label class="form-label" for="nome">' . _x('Nome', 'name') . '</label>' . "\n";
$contido .= '<input type="text" class="form-control" name="nome" id="nome" placeholder="' . _x('Nome', 'name') . '" required>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="col-md-6">' . "\n";
$contido .= '<label class="form-label" for="correo">' . _x('Correo electrónico', 'email') . '</label>' . "\n";
$contido .= '<input type="email" class="form-control" name="correo" id="correo" placeholder="' . _x('Correo electrónico', 'email') . '" required>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-12">' . "\n";
$contido .= '<label class="form-label" for="asunto">' . _x('Asunto', 'subject') . '</label>' . "\n";
$contido .= '<input type="text" class="form-control" name="asunto" id="asunto" placeholder="' . _x('Asunto', 'subject') . '" required>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-12">' . "\n";
$contido .= '<label class="form-label" for="mensaxe">' . _x('Mensaxe', 'message') . '</label>' . "\n";
$contido .= '<textarea class="form-control" name="mensaxe" id="mensaxe" cols="30" rows="4" placeholder="' . _x('Mensaxe', 'message') . '" required></textarea>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-12">' . "\n";
$contido .= '<input type="submit" id="enviar" name="enviar" value="' . _x('Enviar mensaxe', 'send message') . '" class="btn btn-primary">' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
if(isset($enviado) && count($enviado['recipientsSuccess']))
{
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-12 alert alert-success" role="alert">' . "\n";
$contido .= 'Correo enviado.' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
}
if(isset($enviado) && count($enviado['recipientsFailed']))
{
$contido .= '<div class="row mb-3">' . "\n";
$contido .= '<div class="col-md-12 alert alert-danger" role="alert">' . "\n";
$contido .= 'Error enviado correo.' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
}
$contido .= '</form>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="col-lg-5">' . "\n";
$contido .= '<div class="h-100 p-3 text-bg-primary border rounded-3">' . "\n";
$contido .= '<div class="row m-0 mb-3 position-relative w-100 h-100" style="padding-bottom: 56.25%;">' . "\n";
$contido .= '<iframe class="p-0 rounded position-absolute top-0 start-0 bottom-0 end-0 w-100 h-100" src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d167.88206925427303!2d-8.223339!3d43.43177!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0xd2e759aa6d41317%3A0x25ccd67bb4c850ab!2sApartamentos%20tur%C3%ADsticos%20Praia%20de%20Seselle!5e1!3m2!1ses!2ses!4v1676985980478!5m2!1ses!2ses" style="border:0" allowfullscreen="" loading="lazy"></iframe>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="row py-5">' . "\n";
$contido .= '<div class="feature col-md-6 col-lg-3 text-center">' . "\n";
$contido .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">' . "\n";
$contido .= '<i class="icon-map-pin"></i>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="text">' . "\n";
$contido .= '<p class="fs-4">' . _x('Address', 'address') . ':</p>' . "\n";
$contido .= '<p>' . $configuracion['contacto_direccion'] . '</p>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="feature col-md-6 col-lg-3 text-center">' . "\n";
$contido .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">' . "\n";
$contido .= '<i class="icon-phone"></i>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="text">' . "\n";
$contido .= '<p class="fs-4">' . _x('Teléfono', 'phone') . '</p>' . "\n";
$contido .= '<p><a href="tel://' . $configuracion['contacto_telefono'] . '">' . $configuracion['contacto_telefono'] . '</a></p>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="feature col-md-6 col-lg-3 text-center">' . "\n";
$contido .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">' . "\n";
$contido .= '<i class="icon-mail"></i>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="text">' . "\n";
$contido .= '<p class="fs-4">' . _x('Correo electrónico', 'email') . ':</p>' . "\n";
$contido .= '<p><a href="mailto:' . $configuracion['contacto_correo'] . '">' . $configuracion['contacto_correo'] . '</a></p>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="feature col-md-6 col-lg-3 text-center">' . "\n";
$contido .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">' . "\n";
$contido .= '<i class="icon-clock"></i>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '<div class="text">' . "\n";
$contido .= '<p class="fs-4">' . _x('Horario', 'schedule') . ':</p>' . "\n";
$contido .= '<p>' . _x('luns a venres', 'monday to friday') . ' ' . $configuracion['horario_apertura'] . ' - ' . $configuracion['horario_peche'] . '</p>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -2,7 +2,7 @@
* @FONTS
* =============================================================================
*
* fonts.css v0.1.15 | GNU GPL License |
* fonts.css v0.1.17 | GNU GPL License |
*
*/
@ -132,13 +132,13 @@
@font-face
{
font-family: 'icomoon';
src: url('../fonts/icomoon_Regular.eot?gy5gb6'); /* 1 */
src: url('../fonts/icomoon_Regular.eot?gy5gb6#iefix') format('embedded-opentype'), /* 2 */
url('../fonts/icomoon_Regular.woff2?gy5gb6') format('woff2'), /* 3 */
url('../fonts/icomoon_Regular.woff?gy5gb6') format('woff'), /* 4 */
url('../fonts/icomoon_Regular.otf?gy5gb6') format('opentype'), /* 5 */
url('../fonts/icomoon_Regular.ttf?gy5gb6') format('truetype'), /* 5 */
url('../fonts/icomoon_Regular.svg?gy5gb6#icomoon') format('svg'); /* 6 */
src: url('../fonts/icomoon_Regular.eot?q4r8w8'); /* 1 */
src: url('../fonts/icomoon_Regular.eot?q4r8w8#iefix') format('embedded-opentype'), /* 2 */
url('../fonts/icomoon_Regular.woff2?q4r8w8') format('woff2'), /* 3 */
url('../fonts/icomoon_Regular.woff?q4r8w8') format('woff'), /* 4 */
url('../fonts/icomoon_Regular.otf?q4r8w8') format('opentype'), /* 5 */
url('../fonts/icomoon_Regular.ttf?q4r8w8') format('truetype'), /* 5 */
url('../fonts/icomoon_Regular.svg?q4r8w8#icomoon') format('svg'); /* 6 */
font-display: block;
font-style: normal;
font-weight: normal;
@ -265,3 +265,83 @@
{
content: "\e914";
}
.icon-x:before
{
content: "\e915";
}
.icon-home3:before
{
content: "\e916";
}
.icon-chevron-down:before
{
content: "\e917";
}
.icon-tv:before
{
content: "\ebce";
}
.icon-leaf:before
{
content: "\ec9b";
}
.icon-paw:before
{
content: "\eca3";
}
.icon-car-parking2:before
{
content: "\eccb";
}
.icon-wifi-100:before
{
content: "\ed65";
}
.icon-picture:before
{
content: "\eaa1";
}
.icon-washing-machine:before
{
content: "\eb07";
}
.icon-refrigerator:before
{
content: "\ec72";
}
.icon-burger:before
{
content: "\ec80";
}
.icon-cake:before
{
content: "\ec50";
}
.icon-coffee-pot:before
{
content: "\ec92";
}
.icon-bicycle-riding:before
{
content: "\ece4";
}
.icon-rowing:before
{
content: "\ece7";
}

View file

@ -3,13 +3,6 @@
box-sizing: border-box;
}
html,
body
{
position: relative;
height: 100%;
}
body
{
color: rgb(var(--cor_10));
@ -35,6 +28,37 @@ img
width: 100%;
}
dl
{
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 10%;
max-width: 18.75rem;
margin: 0;
}
dt
{
width: 10%;
}
dt::after
{
content: ": ";
}
dd
{
width: 80%;
margin: 0;
padding: 0;
}
figure
{
margin: 0;
@ -57,7 +81,7 @@ figure img
width: 100%;
height: auto;
object-fit: cover;
object-fit: contain;
background-color: rgb(var(--cor_60));
}
@ -176,11 +200,64 @@ figure.effect-ming figcaption::before, figure.effect-ming figcaption::after
pointer-events: none;
}
div.reixa
time
{
display: grid;
gap: 20px;
grid-template-columns: 1fr;
display: block;
position: relative;
height: 5rem;
overflow: hidden;
width: 5rem;
border-radius: 0.6em;
box-shadow: 0 1px 0 #bdbdbd, 0 2px 0 #fff, 0 3px 0 #bdbdbd, 0 4px 0 #fff, 0 5px 0 #bdbdbd, 0 0 0 1px #bdbdbd;
font-size: 0.75rem;
background-color: #fff;
}
time *
{
display: block;
width: 100%;
font-size: 0.8rem;
font-style: normal;
font-weight: bold;
text-align: center;
}
time em
{
position: absolute;
bottom: 0;
color: rgb(var(--cor_30));
}
time strong
{
position: absolute;
top: 0;
padding: 0.3rem 0;
box-shadow: 0 2px 0 rgb(var(--cor_30));
color: white;
background-color: rgb(var(--cor_30));
}
time span
{
padding-top: 1.4rem;
color: black;
font-size: 2rem;
letter-spacing: -0.05rem;
}
.btn-primary
@ -195,6 +272,11 @@ div.reixa
--bs-btn-disabled-border-color: rgb(var(--cor_30));
}
.breadcrumb-item + .breadcrumb-item::before
{
padding-right: unset;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select
@ -250,24 +332,7 @@ div.reixa
background: #fff;
}
.reixa .swiper-slide
{
text-align: center;
font-size: 18px;
background: #fff;
height: calc((100% - 30px) / 2) !important;
display: flex;
justify-content: center;
align-items: center;
}
.swiper-button-pdiv.reixa
{
display: grid;
gap: 20px;
grid-template-columns: 1fr;
}rev,
.swiper-button-prev,
.swiper-button-next
{
bottom: 15px;
@ -281,12 +346,66 @@ div.reixa
background: rgb(var(--cor_30));
}
.reixa-item
{
cursor: pointer;
}
.feature-icon
{
width: 3rem;
height: 3rem;
border-radius: .75rem;
}
a.collapse-head::before
{
font-family: 'icomoon';
content: "\e917";
float: right;
transition: all 0.5s;
}
a.collapse-head.active:before
{
transform: rotate(180deg);
}
.text-bg-primary
{
background-color: rgba(var(--cor_30), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-secondary
{
background-color: rgba(var(--cor_10), var(--bs-bg-opacity, 1)) !important;
}
.bg-primary
{
background-color: rgba(var(--cor_30), var(--bs-bg-opacity)) !important;
}
@media (min-width: 1024px)
{
dl
{
gap: 0;
}
dt
{
width: 60%;
}
dd
{
width: 40%;
}
}
.visually-hidden
{
position: absolute;
@ -388,36 +507,7 @@ a
text-decoration-style: dotted;
}
dl
{
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 10%;
max-width: 18.75rem;
margin: 0;
}
dt
{
width: 10%;
}
dt::after
{
content: ": ";
}
dd
{
width: 80%;
margin: 0;
padding: 0;
}
@ -1203,10 +1293,7 @@ div.resumo
padding-right: 20px;
}
div.reixa
{
grid-template-columns: repeat(3, 1fr);
}
.contedor
{

View file

@ -1,23 +1,18 @@
<?php namespace ProcessWire;
$mantemento = $inicio->mantemento;
/** @var Page $page API variable */
if($mantemento && !$user->isLoggedin())
{
$session->redirect($inicio->url);
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$menu = '';
$contido = '';
$menu = renderMenu($inicio->children);
$publicacions = pages()->get('/noticias/publicaciones/')->children("template='publicacion',etiquetas=$page,sort=-fecha_publicacion,limit=10");
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'">' . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= '<section id="publicacions">' . "\n";
$contido .= '<section id="publicacions" class="row row-cols-1 row-cols-lg-2 mb-3">' . "\n";
$contido .= renderPaxinacion($publicacions, 'superior');
foreach($publicacions as $publicacion)
@ -26,6 +21,4 @@ else
}
$contido .= renderPaxinacion($publicacions, 'inferior');
$contido .= '</section>' . "\n";
$contido .= '</div>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -2,7 +2,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20201107 at Tue Dec 6 18:07:59 2022
Created by FontForge 20201107 at Tue Feb 21 10:59:28 2023
By Unknown
</metadata>
<defs>
@ -15,7 +15,7 @@ Created by FontForge 20201107 at Tue Dec 6 18:07:59 2022
panose-1="0 0 0 0 0 0 0 0 0 0"
ascent="960"
descent="-64"
bbox="0 -85 1024 939"
bbox="-0.0879121 -85 1024 939.054"
underline-thickness="0"
underline-position="0"
unicode-range="U+0001-FFFD"
@ -119,5 +119,98 @@ t54 -36.5q23 -24 36.5 -55t13.5 -66v-427q0 -35 -13.5 -66t-36.5 -54q-23 -24 -54 -3
t-32 -2q-44 -7 -80 -29.5t-61 -54.5q-24 -33 -35 -74t-4 -85q6 -43 28.5 -79t55.5 -61q33 -24 73.5 -35t84.5 -4q44 6 80 28.5t60 54.5q24 33 35 74t5 85v0zM640 447q4 -26 -2.5 -50.5t-20.5 -44.5q-15 -20 -36.5 -33t-47.5 -17q-27 -4 -51.5 2.5t-43.5 21.5
q-20 14 -33.5 36t-17.5 48t2.5 50.5t21.5 44.5t36.5 33t47.5 17q10 2 19.5 1.5t17.5 -1.5q24 -3 43.5 -14t34.5 -28q12 -14 20 -30.5t11 -35.5h-1zM747 619q17 0 29.5 12.5t12.5 29.5q0 18 -12.5 30.5t-29.5 12.5q-18 0 -30.5 -12.5t-12.5 -30.5q0 -17 12.5 -29.5
t30.5 -12.5z" />
<glyph glyph-name="uniE915" unicode="&#xe915;"
d="M226 653l226 -226l-226 -226q-13 -13 -13 -30.5t13 -29.5q12 -13 30 -13t30 13l226 225l226 -225q12 -13 30 -13t30 13q13 12 13 29.5t-13 30.5l-226 226l226 226q13 12 13 29.5t-13 30.5q-12 12 -30 12t-30 -12l-226 -226l-226 226q-12 12 -30 12t-30 -12
q-13 -13 -13 -30.5t13 -29.5v0z" />
<glyph glyph-name="uniE916" unicode="&#xe916;"
d="M1023 360l-212 221v251q0 9 -6.5 15t-15.5 6h-128q-8 0 -14.5 -6t-6.5 -15v-74l-66 69q-13 13 -28.5 19.5t-33.5 6.5v0v0q-17 0 -33 -6.5t-28 -19.5l-450 -467l62 -59l108 112v-328q0 -35 25 -60t60 -25h149q9 0 15.5 6.5t6.5 14.5v278h170v-278q0 -8 6.5 -14.5
t15.5 -6.5h149q35 0 60 25t25 60v328l108 -112l62 59v0zM683 811h85v-186l-85 89v97v0zM768 85h-128v235q0 9 -6.5 15t-14.5 6h-214q-8 0 -14.5 -6t-6.5 -15v-235h-128v417l256 266l256 -266v-417v0z" />
<glyph glyph-name="uniE917" unicode="&#xe917;"
d="M226 525l256 -256q12 -13 30 -13t30 13l256 256q13 12 13 29.5t-13 30.5q-12 12 -30 12t-30 -12l-226 -226l-226 226q-12 12 -30 12t-30 -12q-13 -13 -13 -30.5t13 -29.5v0z" />
<glyph glyph-name="uniEAA1" unicode="&#xeaa1;"
d="M939 939h-854q-35 0 -60 -25t-25 -61v-853q0 -35 25 -60t60 -25h854q35 0 60 25t25 60v853q0 36 -25 61t-60 25v0zM939 0h-854v853v0v0h854v-853zM149 43h726q8 0 14.5 6t6.5 15v725q0 9 -6.5 15.5t-14.5 6.5h-726q-8 0 -14.5 -6.5t-6.5 -15.5v-725q0 -9 6.5 -15t14.5 -6
v0zM327 85l317 317q12 12 27.5 18.5t32.5 6.5t32.5 -6.5t27.5 -18.5l89 -89v-228h-526v0zM853 768v-395l-58 59q-19 18 -42 27.5t-49 9.5t-49 -9.5t-42 -27.5l-346 -347h-96v103l140 141q13 12 30.5 12t30.5 -12l39 -39l30 30l-39 39q-25 25 -60.5 25t-60.5 -25l-110 -110
v519h682v0zM363 469q44 0 75 31.5t31 75.5t-31 75.5t-75 31.5t-75.5 -31.5t-31.5 -75.5t31.5 -75.5t75.5 -31.5v0zM363 640q26 0 45 -19t19 -45q0 -27 -19 -45.5t-45 -18.5q-27 0 -45.5 18.5t-18.5 45.5q0 26 18.5 45t45.5 19z" />
<glyph glyph-name="uniEB07" unicode="&#xeb07;"
d="M853 939h-682q-36 0 -61 -25t-25 -61v-853q0 -35 25 -60t61 -25h682q36 0 61 25t25 60v853q0 36 -25 61t-61 25v0zM853 853v-170q-35 10 -75 18t-83.5 13.5t-89.5 8.5q-46 2 -93 2t-93 -2q-46 -3 -89.5 -8.5t-83.5 -13.5t-75 -18v170h682v0zM853 0h-682v638q34 11 74 19
t83.5 14t89.5 9t94 3t94 -3t89.5 -9t83.5 -14t74 -19v-638v0v0v0zM512 640q-60 0 -114.5 -22.5t-96.5 -64.5q-42 -43 -65 -97.5t-23 -114.5q0 -59 22.5 -114t65.5 -97q42 -42 96.5 -64.5t114.5 -22.5t114.5 22.5t96.5 64.5t65 97t23 114q0 60 -22.5 114.5t-65.5 97.5
q-42 42 -96.5 64.5t-114.5 22.5v0zM512 128q-44 0 -83 17t-68 46t-46 67q-16 39 -16 83t16 83q17 39 46 68t68 46t83 17t83 -17t68 -46t46 -68q16 -39 16 -83t-16 -83q-17 -38 -46 -67t-68 -46t-83 -17zM384 341h-43q0 -70 50 -120t121 -50v42q-53 0 -90.5 37.5t-37.5 90.5z
M768 811h43v-43h-43v43zM213 811h86v-43h-86v43zM341 811h43v-43h-43v43v0zM427 811h42v-43h-42v43v0z" />
<glyph glyph-name="uniEBCE" unicode="&#xebce;"
d="M939 725h-854q-35 0 -60 -25t-25 -60v-597q0 -36 25 -61t60 -25h854q35 0 60 25t25 61v597q0 35 -25 60t-60 25zM939 43h-854v597h854v-597zM149 85h555q9 0 15 6.5t6 15.5v469q0 9 -6 15t-15 6h-555q-8 0 -14.5 -6t-6.5 -15v-469q0 -9 6.5 -15.5t14.5 -6.5v0zM171 555
h512v-427h-512v427v0zM832 427q26 0 45 18.5t19 45.5q0 26 -19 45t-45 19t-45 -19t-19 -45q0 -27 19 -45.5t45 -18.5zM832 512q9 0 15 -6.5t6 -14.5q0 -9 -6 -15.5t-15 -6.5t-15 6.5t-6 15.5q0 8 6 14.5t15 6.5v0zM768 171h128v-43h-128v43zM768 256h128v-43h-128v43z
M733 867l-22 37l-219 -132l-176 133l-26 -35l188 -140q3 -2 6 -3.5t7 -1.5q2 0 5 1l6 2l231 139v0z" />
<glyph glyph-name="uniEC50" unicode="&#xec50;"
d="M977 535q-17 14 -42 27.5t-56 24.5q-56 20 -128.5 33t-153.5 18v45q0 6 -5.5 17t-27.5 18q-11 3 -24 5t-27 2h0.5h0.5q7 0 15 1.5t16 3.5q4 1 19.5 8t25.5 26q5 9 7 24.5t-6 36.5v0q-13 36 -6 57.5t8 23.5q4 5 4 11.5t-4 11.5q-3 5 -9 7.5t-12 1.5q-1 0 -22.5 -4.5
t-47.5 -17.5q-37 -18 -56 -43.5t-19 -58.5q0 -22 8.5 -40.5t24.5 -31.5q12 -8 25 -12.5t28 -4.5h-0.5h-0.5q-14 0 -27.5 -2t-24.5 -5q-22 -7 -27.5 -18t-5.5 -17v-45q-81 -5 -153.5 -18t-128.5 -33q-31 -12 -56 -25t-42 -28q-29 -23 -38 -46.5t-9 -39.5v-341q0 -32 32 -73
t135 -74q35 -11 75 -19q40 -9 84 -14.5t90 -8.5q47 -3 96 -3t96 3q46 3 90 8.5t84 14.5q40 8 75 19q103 33 135 74t32 73v341q0 16 -9 39.5t-38 47.5v0zM469 814q0 30 25 47.5t49 25.5q-2 -15 -1 -34.5t9 -41.5q3 -9 3.5 -15.5t-2.5 -11.5q-3 -7 -10 -10l-7 -3h-1h-1
q-13 -4 -25.5 -2.5t-21.5 8.5q-8 6 -12.5 15.5t-4.5 21.5v0zM469 676q5 2 16 4.5t27 2.5t27 -2.5t16 -4.5v-200q-5 -2 -16 -4.5t-27 -2.5t-27 2.5t-16 4.5v200v0zM174 507q49 17 114 29t139 16v-83q0 -6 5.5 -17t27.5 -18q11 -4 24.5 -5.5t27.5 -1.5t27.5 2t24.5 5
q22 7 27.5 18t5.5 17v83q74 -4 139 -16t114 -29q54 -20 71.5 -37t17.5 -22q0 -7 -23.5 -26.5t-84.5 -38.5q-32 -10 -69 -18q-36 -8 -76.5 -13t-84.5 -8t-89 -3t-89 3t-84.5 8t-76.5 13q-37 8 -69 18q-61 19 -84.5 38.5t-23.5 26.5q0 5 17.5 22t71.5 37v0zM939 255
q-14 -1 -28.5 -4t-27.5 -9q-12 -7 -21.5 -18t-17.5 -22q-8 -12 -16.5 -22t-18.5 -13q-6 -2 -17 1t-22 7q-15 6 -32 10.5t-34 1.5q-15 -3 -28 -12t-25 -19q-10 -9 -20 -16t-19 -8q-7 -1 -17.5 4.5t-20.5 11.5q-14 8 -29.5 15.5t-32.5 7.5t-32.5 -7.5t-28.5 -15.5
q-11 -6 -21 -11.5t-18 -4.5t-18 8t-20 16q-12 10 -25 19t-28 12q-17 2 -34 -2t-32 -10q-11 -4 -22 -7t-17 -1q-10 3 -18.5 13t-16.5 21q-8 12 -17 23t-22 17q-13 7 -28 9.5t-28 4.5v81q16 -9 36.5 -17.5t44.5 -16.5q35 -11 75 -20q40 -8 84 -14t90 -9q47 -3 96 -3t96 3
q46 3 90 9t84 14q40 9 75 20q25 8 45 16.5t37 17.5v-81v0zM831 42q-32 -10 -69 -18q-36 -8 -76.5 -13.5t-84.5 -7.5q-44 -3 -89 -3t-89 3q-44 2 -84.5 7.5t-76.5 13.5q-37 8 -69 18q-61 19 -84.5 38t-23.5 27v105q11 -1 20.5 -3t17.5 -6q5 -2 11 -10t12 -17q11 -14 24.5 -29
t32.5 -21q17 -5 33.5 -1t32.5 10q12 4 23.5 7.5t20.5 1.5q7 -1 15.5 -7.5t17.5 -13.5q13 -11 28.5 -21.5t34.5 -12.5h2h2q16 0 30.5 7t28.5 15q11 6 21.5 11.5t18.5 5.5t18.5 -5.5t21.5 -11.5q15 -8 30.5 -15.5t33.5 -6.5q18 2 33.5 12.5t28.5 21.5q9 7 18 13.5t16 8.5
q8 1 20 -2.5t23 -7.5q17 -5 33.5 -9.5t32.5 0.5q20 6 33.5 21t24.5 30l12 16t11 11q8 3 17.5 5t19.5 3v-105q0 -8 -23.5 -27t-84.5 -38v0z" />
<glyph glyph-name="uniEC72" unicode="&#xec72;"
d="M768 939h-512q-35 0 -60 -25t-25 -61v-810q0 -36 25 -61t60 -25v-42h85v42h342v-42h85v42q35 0 60 25t25 61v810q0 36 -25 61t-60 25v0zM256 853h213v-810h-213v810v0zM768 43h-256v810h256v-810v0v0zM384 555h43v-299h-43v299zM555 555h42v-299h-42v299z" />
<glyph glyph-name="uniEC80" unicode="&#xec80;"
d="M972 720q-22 23 -52.5 42t-68.5 35q-34 14 -73 24q-39 11 -82 18t-90 11q-46 3 -94 3t-94 -3q-47 -4 -90 -11t-82 -18q-39 -10 -73 -24q-38 -16 -68.5 -35t-52.5 -42q-26 -27 -39 -57.5t-13 -65.5v-64q0 -8 6.5 -14.5t14.5 -6.5h982q8 0 14.5 6.5t6.5 14.5v64
q0 35 -13 65.5t-39 57.5v0zM85 555v42q0 4 0.5 7.5t1.5 6.5q2 -6 7.5 -10t12.5 -4q8 0 14.5 6.5t6.5 15.5q0 8 -6.5 14.5t-14.5 6.5q-3 0 -6 -1t-5 -2q15 28 46.5 48t62.5 33q30 12 64.5 21t73.5 16q-1 -2 -1.5 -4t-0.5 -4q0 -9 6.5 -15.5t15.5 -6.5q8 0 14.5 6.5t6.5 15.5
q0 3 -1 6.5t-4 6.5q32 4 65.5 6t67.5 2q24 0 47.5 -1t46.5 -3q-4 -3 -6.5 -7.5t-2.5 -9.5q0 -9 6.5 -15.5t15.5 -6.5q8 0 14.5 6.5t6.5 15.5q0 4 -1.5 7.5t-4.5 6.5q53 -6 100 -17t85 -26q41 -17 80.5 -46.5t39.5 -74.5v-42h-854v0zM687 461q-12 -17 -22 -25.5t-25 -8.5
t-25 8.5t-22 25.5q-13 17 -31 34t-50 17t-50 -17t-31 -34q-12 -17 -22 -25.5t-25 -8.5t-25 8.5t-22 25.5q-13 17 -31 34t-50 17t-50 -17t-31 -34q-12 -17 -22 -25.5t-25 -8.5t-25 8.5t-22 25.5l-13 17l-34 -26l13 -17q13 -17 31 -34t50 -17t50 17t31 34q12 16 22 25t25 9
t25 -9t22 -25q13 -17 31 -34t50 -17t50 17t31 34q12 16 22 25t25 9t25 -9t22 -25q13 -17 31 -34t50 -17t50 17t31 34q12 16 22 25t25 9t25 -9t22 -25q13 -17 31 -34t50 -17t50 17t31 34l13 17l-34 26l-13 -17q-12 -17 -22 -25.5t-25 -8.5t-25 8.5t-22 25.5q-13 17 -31 34
t-50 17t-50 -17t-31 -34v0zM64 384q-23 0 -35.5 -10t-17.5 -20q-6 -10 -8.5 -23.5t-2.5 -31.5q0 -19 2.5 -32.5t8.5 -23.5q5 -10 17.5 -20t35.5 -10h-43q-8 0 -14.5 -6t-6.5 -15v-64q0 -53 37.5 -90.5t90.5 -37.5h768q53 0 90.5 37.5t37.5 90.5v64q0 9 -6.5 15t-14.5 6h-43
q23 0 35.5 10t17.5 20q6 10 8.5 23.5t2.5 32.5q0 18 -2.5 31.5t-8.5 23.5q-5 10 -17.5 20t-35.5 10h-896zM939 128q0 -18 -12.5 -30.5t-30.5 -12.5h-768q-18 0 -30.5 12.5t-12.5 30.5v43h854v-43v0zM960 341q7 0 14 -5t7 -37t-6.5 -37.5t-14.5 -5.5h-896q-7 0 -14 5.5
t-7 37.5t6.5 37t14.5 5h896zM256 661q0 -9 -6 -15t-15 -6t-15.5 6t-6.5 15t6.5 15.5t15.5 6.5t15 -6.5t6 -15.5zM384 619q0 -9 -6 -15.5t-15 -6.5t-15.5 6.5t-6.5 15.5t6.5 15t15.5 6t15 -6t6 -15zM512 661q0 -9 -6 -15t-15 -6t-15.5 6t-6.5 15t6.5 15.5t15.5 6.5t15 -6.5
t6 -15.5zM640 619q0 -9 -6 -15.5t-15 -6.5t-15.5 6.5t-6.5 15.5t6.5 15t15.5 6t15 -6t6 -15zM768 661q0 -9 -6 -15t-15 -6t-15.5 6t-6.5 15t6.5 15.5t15.5 6.5t15 -6.5t6 -15.5zM896 619q0 -9 -6 -15.5t-15 -6.5t-15.5 6.5t-6.5 15.5t6.5 15t15.5 6t15 -6t6 -15z" />
<glyph glyph-name="uniEC92" unicode="&#xec92;"
d="M1022 457l-171 384q-2 5 -7.5 8.5t-11.5 3.5h-128h-3.5t-3.5 -1l-123 -41l-380 42q-6 1 -11.5 -2t-8.5 -8t-3 -11.5t3 -11.5l79 -118l-37 -74q-3 -5 -2.5 -10.5t3.5 -10.5q3 -4 7.5 -7t10.5 -3q-3 -1 -5 -2.5t-5 -2.5q-29 -17 -67.5 -42t-72.5 -64q-42 -47 -63.5 -105
t-21.5 -125q0 -52 17 -95t50 -76q32 -31 71 -49q39 -17 73.5 -25t59.5 -10q25 -1 28 -1h213v0h1q10 0 89 11.5t142 73.5q33 33 50 76t17 95q0 67 -21.5 125t-63.5 105q-35 39 -73 64t-68 42q-2 1 -4.5 2.5t-4.5 2.5q6 0 10.5 3t7.5 7q3 5 3.5 10.5t-2.5 10.5l-6 12h30
q3 0 6 1t6 3l108 72l160 -279q3 -5 8 -7.5t10 -2.5h86q5 0 10 2.5t8 6.5q3 5 3 10.5t-2 10.5v0zM269 640l22 43h229l21 -43h-272v0zM235 806l308 -35l-23 -46h-231l-54 81v0zM513 85v0h-1v0h-213h-0.5h-0.5q-1 0 -63 8t-108 53q-21 21 -31.5 48t-10.5 62q0 21 2.5 40t7.5 36
q75 23 149.5 -5t150.5 -69q45 -23 91 -45t93 -33q19 -5 37.5 -7t35.5 -2q14 0 28 1.5t27 4.5q-5 -9 -10.5 -16.5t-12.5 -14.5q-45 -45 -107.5 -53t-63.5 -8v0zM725 256q0 -8 -0.5 -15.5t-1.5 -15.5q-39 -13 -77 -11q-38 1 -76 12.5t-77 30.5l-78 39q-44 24 -90 45.5
t-93 33.5q-32 7 -61 8.5t-57 -3.5q28 53 72.5 85t81.5 53q12 7 22.5 13.5t19.5 12.5q5 4 18 17.5t13 35.5h128q0 -22 13 -35.5t19 -17.5q8 -6 18.5 -12.5t23.5 -13.5q27 -16 59 -36q32 -21 59.5 -51.5t45.5 -73.5q18 -42 18 -101v0zM930 469l-165 288q-2 4 -5.5 6.5
t-7.5 3.5q-5 1 -9.5 0.5t-7.5 -3.5l-123 -81h-44l-11 21l34 68l116 39h111l152 -342h-40v0zM505 442l18 -11q56 -34 86.5 -72t30.5 -103h43q0 39 -10 71t-31 59q-20 27 -46 46.5t-51 34.5l-18 11l-22 -36v0z" />
<glyph glyph-name="uniEC9B" unicode="&#xec9b;"
d="M1023 775q-1 11 -8 19.5t-17 12.5q-37 16 -82 26q-44 10 -92.5 15t-99.5 5t-103 -6q-57 -7 -110 -21q-52 -13 -98 -32.5t-84 -44.5t-67 -56q-27 -26 -50 -64t-33.5 -87.5t-4.5 -110.5q6 -62 38 -137q-3 -15 -12.5 -44t-27.5 -60q-30 -52 -73.5 -78.5t-98.5 -26.5v-85
q80 0 143 38t104 111q13 22 21.5 42.5t14.5 38.5q15 -14 34 -25t42 -19q34 -11 60 -13t29 -2q60 0 111.5 22t97.5 67q38 38 70 87.5t64 103.5q21 36 44 73t49.5 73.5t57.5 71.5q30 35 67 66q9 8 12.5 18.5t1.5 21.5v0zM718 495q-34 -57 -64 -102q-29 -44 -60 -74.5
t-66 -46.5t-80 -16q-1 0 -57 10t-72 63q25 53 57.5 93.5t60.5 66.5q44 42 93 70.5t93 38.5l21 5l-9 41l-21 -4q-50 -12 -104 -43t-102 -76q-30 -28 -65 -71.5t-61 -100.5q-33 88 -22.5 159.5t63.5 125.5q24 25 56 46q33 21 72 37t85 28q45 11 96 17q69 8 139 4.5t128 -17.5
q-58 -60 -101 -126t-80 -128v0z" />
<glyph glyph-name="uniECA3" unicode="&#xeca3;"
d="M964 495q-29 29 -66.5 44.5t-78.5 15.5q-23 0 -40.5 -4t-32.5 -8q-12 -3 -21.5 -5t-20.5 -2q-13 0 -26 2.5t-27 6.5q-15 3 -30.5 6.5t-31.5 3.5q-41 0 -78.5 -15.5t-66.5 -44.5t-44.5 -66.5t-15.5 -78.5q0 -17 3 -32.5t7 -30.5q3 -13 6 -26.5t3 -25.5q0 -11 -2.5 -21
t-5.5 -21q-4 -15 -7.5 -32.5t-3.5 -40.5q0 -41 15.5 -78.5t44.5 -66.5q30 -30 68 -45t77 -15t77 15t68 45q26 25 36 47t16 39q5 15 11.5 28t22.5 29q17 17 29.5 23t27.5 11q18 6 39.5 16.5t47.5 35.5q30 30 45 68t15 77.5t-15 77.5t-45 68v0zM904 265q-15 -15 -27.5 -21
t-26.5 -11q-18 -6 -40.5 -16.5t-49.5 -37.5t-37.5 -49.5t-17.5 -40.5q-5 -15 -10.5 -27t-20.5 -27q-35 -35 -84.5 -35t-85.5 35q-17 17 -26 39t-9 46q0 14 2.5 26t6.5 24q3 14 6.5 29.5t3.5 35.5t-3.5 38.5t-7.5 34.5q-3 12 -5.5 22.5t-2.5 19.5q0 24 9 45.5t26 38.5t39 26
t46 9q9 0 19.5 -2t22.5 -5q16 -4 34.5 -7.5t38.5 -3.5q19 0 35 3t29 7q13 3 25 5.5t26 2.5q24 0 46 -9t39 -26q35 -35 35 -84.5t-35 -84.5v0zM190 427q23 0 43 7.5t35 22.5q38 38 29.5 98t-58.5 110t-110.5 59t-98.5 -29v0q-37 -38 -28.5 -98t58.5 -110q29 -30 63.5 -45
t66.5 -15zM91 635q8 8 34.5 2t52.5 -32q27 -26 33 -52.5t-3 -35.5q-9 -8 -35 -2t-53 32q-26 26 -32 52.5t3 35.5v0zM404 640q22 0 42 7.5t36 22.5q37 38 28.5 98.5t-58.5 110.5t-110.5 58.5t-97.5 -29.5v0q-38 -37 -29.5 -97.5t58.5 -110.5q30 -30 64 -45t67 -15v0zM304 848
q9 9 35 3t53 -33q26 -26 32 -52.5t-3 -34.5q-8 -9 -34.5 -3t-52.5 32q-27 27 -33 53t3 35v0zM281 324q-22 22 -48 37t-54 20q-31 6 -59 -1t-47 -26q-19 -20 -26.5 -48t-0.5 -59q5 -27 19.5 -53t37.5 -49q22 -22 48 -36.5t54 -20.5l14 -2t14 -1q23 0 43 8t35 23
q19 19 26.5 47t0.5 59q-5 27 -19.5 53.5t-37.5 48.5v0zM251 176q-4 -4 -12 -5t-18 1q-14 3 -29.5 12t-28.5 22t-22 28t-12 30q-2 10 -1 17.5t5 11.5v0q3 3 7.5 4.5t10.5 1.5q2 0 5 -0.5t7 -0.5q14 -3 29.5 -12t28.5 -22t22 -28.5t12 -29.5q2 -10 1 -18t-5 -12v0zM615 657
q22 -22 48 -36.5t54 -20.5l14 -2t14 -1q23 0 43 8t35 23q19 19 26.5 47t0.5 59q-5 27 -20 53.5t-37 48.5t-48.5 37t-53.5 20q-31 6 -59 -1t-47 -26q-19 -20 -26.5 -47.5t-1.5 -59.5q6 -27 20.5 -53t37.5 -49v0zM645 805v0q3 3 7.5 4.5t10.5 1.5q3 0 6 -0.5t6 -1.5
q14 -2 29.5 -11t28.5 -22t22 -28.5t12 -30.5q2 -9 0.5 -17t-4.5 -12q-4 -4 -12 -5t-18 1q-14 3 -29.5 12t-28.5 22t-22 28t-12 30q-2 10 -1 17.5t5 11.5v0z" />
<glyph glyph-name="uniECCB" unicode="&#xeccb;"
d="M919 444q48 38 76.5 94.5t28.5 122.5q0 58 -22 108q-22 51 -59.5 88.5t-87.5 59.5q-51 22 -108 22q-49 0 -94 -17q-44 -16 -79.5 -44.5t-60.5 -67.5q-26 -39 -36 -85q-40 -1 -74 -4.5t-63 -9.5q-54 -12 -89 -31.5t-53 -49.5q-13 -22 -21.5 -45t-15.5 -44q-3 -11 -6 -20.5
t-7 -18.5l-18 33v0v0q-5 9 -14.5 14.5t-19.5 5.5h-53q-18 0 -30.5 -12.5t-12.5 -30.5q0 -17 12.5 -30t30.5 -13h75l5 -9l-0.5 -0.5l-0.5 -0.5q-20 -17 -36.5 -36.5t-26.5 -51.5q-9 -28 -12.5 -69t-3.5 -110v-43q0 -23 11.5 -45.5t30.5 -36.5v-88q0 -27 19 -45.5t45 -18.5h86
q26 0 45 18.5t19 45.5v35q44 -6 98 -10t115 -4q62 0 115.5 4t97.5 10v-35q0 -27 19 -45.5t45 -18.5h86q26 0 45 18.5t19 45.5v88q19 14 30.5 36.5t11.5 45.5v43q0 66 -4 109t-13 71q-8 25 -19.5 42t-25.5 30v0zM693 233q7 6 17 12.5t23 13.5q25 14 65 26.5t94 13.5
q1 -11 2 -24t1 -29q-36 -20 -75 -26.5t-107 -6.5zM847 394q12 -10 21.5 -21t15.5 -32q-114 -3 -174.5 -46t-63.5 -46q-2 -1 -3 -3l-2 -4q-26 5 -60 9.5t-69 4.5t-69 -4.5t-60 -9.5l-2 4t-3 3q-3 3 -63.5 46t-175.5 46q5 17 12 26.5t17 18.5q48 13 101 21q52 9 107.5 14
t112.5 5q57 1 114 -2q32 -19 68 -29.5t76 -10.5q24 0 47.5 4t45.5 12q2 -1 3.5 -2.5l3.5 -3.5v0zM132 299q54 -1 94 -13.5t65 -26.5q13 -7 23 -13.5t17 -11.5l-20 -21q-68 1 -107 7t-75 26q0 16 1 29t2 24v0zM747 896q48 0 91 -18q43 -19 74.5 -51t50.5 -74q18 -43 18 -92
q0 -48 -18 -91q-19 -43 -50.5 -74.5t-74.5 -50.5q-43 -18 -91 -18q-49 0 -92 18q-42 19 -74 50.5t-51 74.5q-18 43 -18 91q0 49 18 92q19 42 51 74t74 51q43 18 92 18zM243 515q6 19 12.5 37t15.5 34q11 17 58 33.5t141 19.5q4 -49 24 -92.5t53 -77.5q-43 1 -86 0
q-43 -2 -85 -5.5t-83 -9.5q-41 -5 -79 -13q10 18 16.5 37t12.5 37v0zM256 -21q0 -9 -6.5 -15.5t-14.5 -6.5h-86q-8 0 -14.5 6.5t-6.5 15.5v69q16 -5 49 -12.5t79 -15.5v-41v0zM139 134v0q-3 1 -7 6.5t-4 8.5v43v3.5v3.5q39 -18 82.5 -23t109.5 -5q4 0 8 1.5t7 4.5l13 13
q15 4 63.5 13.5t100.5 9.5t100.5 -9.5t63.5 -13.5l13 -13q3 -3 7 -4.5t8 -1.5q66 0 109.5 5t82.5 23v-3.5v-3.5v-43q0 -3 -4 -8.5t-7 -6.5q-1 0 -28 -8q-26 -8 -75 -17t-117 -16q-69 -8 -153 -8t-153 8q-68 7 -117 16t-75 17q-27 8 -28 8v0zM875 -43h-86q-8 0 -14.5 6.5
t-6.5 15.5v41q47 8 79.5 15.5t48.5 12.5v-69q0 -9 -6.5 -15.5t-14.5 -6.5v0zM683 640h85q35 0 60 25t25 60q0 36 -25 61t-60 25h-107q-8 0 -14.5 -6.5t-6.5 -15.5v-277h43v128v0zM683 768h85q18 0 30.5 -12.5t12.5 -30.5q0 -17 -12.5 -29.5t-30.5 -12.5h-85v85v0z" />
<glyph glyph-name="uniECE4" unicode="&#xece4;"
d="M555 683q35 0 60 25t25 60t-25 60t-60 25q-36 0 -61 -25t-25 -60t25 -60t61 -25zM555 811q17 0 29.5 -12.5t12.5 -30.5t-12.5 -30.5t-29.5 -12.5q-18 0 -30.5 12.5t-12.5 30.5t12.5 30.5t30.5 12.5zM606 493q42 -16 84.5 -20t77.5 -4v86q-95 0 -145.5 23.5t-70.5 76.5
q-4 10 -12 17t-18 10q-11 2 -21.5 -1t-17.5 -10q-52 -49 -87 -107t-53 -126q-4 -14 1.5 -27.5t17.5 -20.5q43 -25 78 -50.5t65 -52.5l-76 -197l80 -31l85 224q5 12 2.5 24.5t-11.5 21.5q-31 31 -68.5 60t-81.5 57q11 34 28 64t40 58q19 -26 45 -44.5t58 -30.5v0zM832 384
q-79 0 -135.5 -56.5t-56.5 -135.5t56.5 -135.5t135.5 -56.5t135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5zM832 43q-62 0 -105.5 43.5t-43.5 105.5t43.5 105.5t105.5 43.5t105.5 -43.5t43.5 -105.5t-43.5 -105.5t-105.5 -43.5zM192 384q-79 0 -135.5 -56.5t-56.5 -135.5
t56.5 -135.5t135.5 -56.5t135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5zM192 43q-62 0 -105.5 43.5t-43.5 105.5t43.5 105.5t105.5 43.5t105.5 -43.5t43.5 -105.5t-43.5 -105.5t-105.5 -43.5v0z" />
<glyph glyph-name="uniECE7" unicode="&#xece7;"
d="M1003 469h-418l224 224q9 -5 19 -8t21 -3q17 0 31.5 6.5t26.5 17.5l111 111q6 6 6 15t-6 15l-86 85q-6 7 -15 7t-15 -7l-110 -110v0v0q-20 -20 -23.5 -47.5t10.5 -51.5l-126 -126h-34q-41 0 -66.5 1t-37.5 7q-10 4 -21 16.5t-32 42.5q-6 8 -14.5 13t-18.5 6h-1.5h-0.5
q35 0 60 25t25 60t-25 60t-60 25q-36 0 -61 -25t-25 -60t25 -60t60 -25q-9 0 -17.5 -4t-14.5 -12q-38 -44 -61 -108t-30 -90h-282q-8 0 -14.5 -6t-6.5 -15v-21q0 -32 6.5 -57.5t19.5 -46.5q15 -22 37.5 -39.5t54.5 -29.5q29 -11 68 -19t91 -13l-62 -62q-23 14 -50.5 10.5
t-47.5 -23.5l-111 -111q-6 -6 -6 -15t6 -15l86 -85q3 -3 7 -4.5t8 -1.5t8 1.5t7 4.5l110 111q12 11 18 26t6 31q0 11 -2.5 21.5t-8.5 19.5l88 88q38 -3 82.5 -4t96.5 -1q72 0 131 3q60 3 109 9t87 15q39 10 68 22q59 25 88 65.5t29 99.5v21q0 9 -6.5 15t-14.5 6v0zM202 62v0
v0l-95 -96l-56 55l96 96q11 11 27.5 11t27.5 -11q6 -6 9 -13t3 -15q0 -7 -3 -14.5t-9 -12.5zM822 792v0l95 95l56 -55l-96 -96q-6 -5 -13 -8t-15 -3q-7 0 -14.5 3t-12.5 8q-12 12 -12 28t12 28zM384 768q0 18 12.5 30.5t30.5 12.5q17 0 29.5 -12.5t12.5 -30.5t-12.5 -30.5
t-29.5 -12.5q-18 0 -30.5 12.5t-12.5 30.5zM430 565q11 -13 23.5 -22.5t27.5 -16.5q18 -7 38.5 -10t48.5 -4l-43 -43h-133q6 21 16 46.5t22 49.5v0zM149 333q-36 14 -50 34.5t-14 59.5h397l-125 -125q-74 3 -125 11t-83 20v0zM512 299h-50t-47 1l127 127h397
q0 -34 -53.5 -81t-373.5 -47v0z" />
<glyph glyph-name="uniED65" unicode="&#xed65;"
d="M512 299q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5zM512 128q-18 0 -30.5 12.5t-12.5 30.5q0 17 12.5 29.5t30.5 12.5t30.5 -12.5t12.5 -29.5q0 -18 -12.5 -30.5t-30.5 -12.5zM356 373l-17 -13l26 -33l17 13
q57 44 130 44t130 -44l17 -13l26 33l-17 13q-34 27 -74 40q-41 14 -82 14t-82 -14q-40 -13 -74 -40v0zM512 555v0q-68 0 -132.5 -24t-116.5 -68l-16 -13l28 -33l16 14q48 41 105 61t116 20t116 -20t105 -61l16 -14l28 32l-17 14q-51 44 -115.5 68t-132.5 24zM173 554
l-16 -14l28 -32l16 14q67 59 147 89q81 29 164 29t164 -29q80 -30 147 -89l16 -14l28 32l-16 14q-72 64 -160 97q-88 32 -179 32t-179 -32q-88 -33 -160 -97v0zM942 645q-44 40 -95 71q-50 31 -104.5 52t-112.5 32t-118 11t-118 -11t-112.5 -32t-104.5 -52q-51 -31 -95 -71
l-16 -15l29 -31l16 14q41 38 88 67q47 28 98 48t105 30t110 10t110 -10t105 -30t98 -48q47 -29 88 -67l16 -14l29 31l-16 15v0z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -16,7 +16,7 @@ else
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($inicio->title) . '</h2>' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= getSeccions($page->seccions) . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -16,16 +16,13 @@ else
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="inicio" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($inicio->title) . '</h2>' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
$contido .= getSeccions($page->seccions) . "\n";
$contido .= '<section class="contedor">' . "\n";
$contido .= '<h3 class="visually-hidden">' . $page->title . '</h3>' . "\n";
$contido .= '<div class="row g-4 py-5 row-cols-1 row-cols-lg-2 justify-content-center clearfix">' . "\n";
if(count($page->ligazon_imaxe))
{
$contido .= getSeccions($page->ligazon_imaxe) . "\n";
}
$contido .= '</div>' . "\n";
$contido .= '</section>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -11,7 +11,7 @@ $contido .= '<h2 class="visually-hidden">' . ucfirst($inicio->title) . '</h2>' .
if($configuracion['mantemento']['activo'] && !$user->isLoggedin())
{
$menu = renderMenu($pages->get('/noticias'));
$menu = renderMenu($pages->get('/noticias')->and($pages->get('/contacto')));
$contido .= renderTextoMantemento($configuracion['mantemento']['titular'], $configuracion['mantemento']['artigo'], $configuracion['mantemento']['imaxe']) . "\n";
}
else

View file

@ -0,0 +1,52 @@
document.addEventListener("click", function (e)
{
if(e.target.classList.contains("reixa-item"))
{
const src = e.target.getAttribute("src");
const alt = e.target.getAttribute("alt");
const myModal = new bootstrap.Modal(document.getElementById("reixa-modal"))
document.querySelector(".modal-img").src = src;
document.querySelector(".modal-label").innerHTML = alt;
myModal.show();
}
});
document.addEventListener("show.bs.collapse", function (e)
{
e.target.previousElementSibling.classList.add("active");
});
document.addEventListener("hide.bs.collapse", function (e)
{
e.target.previousElementSibling.classList.remove("active");
});
const swiper_galeria = new Swiper("#galeria",
{
slidesPerView: 1,
spaceBetween: 30,
loop: true,
lazy: true,
autoHeight: false,
keyboard: true,
centeredSlides: true,
autoplay:
{
delay: 2500,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
pagination:
{
el: ".swiper-pagination",
clickable: true,
},
navigation:
{
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});

View file

@ -1,66 +0,0 @@
<?php namespace ProcessWire;
if($input->get->logout == true)
{
$session->logout();
$session->redirect($inicio->url);
}
?>
<!DOCTYPE html>
<html lang="<?php echo _x('en', 'HTML language code'); ?>">
<head>
<title><?php echo $titulo; ?></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php if($configuracion['sitio_descripcion']): ?>
<meta name="description" content="<?php echo $configuracion['sitio_nome'] . ' ' . $configuracion['sitio_descripcion']; ?>" />
<?php endif; ?>
<meta name="msapplication-TileColor" content="#00aba9">
<meta name="msapplication-config" content="<?php echo $config->urls->templates; ?>images/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<link rel="apple-touch-icon" sizes="180x180" href="<?php echo $config->urls->templates; ?>images/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?php echo $config->urls->templates; ?>images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?php echo $config->urls->templates; ?>images/favicon-16x16.png">
<link rel="manifest" href="<?php echo $config->urls->templates; ?>images/site.webmanifest">
<link rel="mask-icon" href="<?php echo $config->urls->templates; ?>images/safari-pinned-tab.svg" color="#00a099">
<link rel="shortcut icon" href="<?php echo $config->urls->templates; ?>images/favicon.ico">
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>css/reset.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>css/fonts.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>vendors/Bootstrap/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>css/swiper.css" />
<link title="Praia de Seselle" rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>css/bs-style.css" />
<?php foreach($languages as $idioma): ?>
<?php if(!$page->viewable($idioma)): continue; endif; ?>
<link rel="alternate" hreflang="<?php echo $inicio->getLanguageValue($idioma, 'name'); ?>" href="<?php echo $page->httpUrl($idioma); ?>" />
<?php endforeach; ?>
<style>
:root
{
font-size: 16px;
--cor_60: <?php echo $configuracion['cor_fondo'] ?>;
--cor_30: <?php echo $configuracion['cor_principal'] ?>;
--cor_10: <?php echo $configuracion['cor_secundario'] ?>;
}
</style>
</head>
<body>
<a class="visually-hidden-focusable" href="#content"><?php echo _x('Skip to content', 'bypass'); ?></a>
<nav id="menus-1" class="py-2 bg-light border-bottom">
</nav>
<header id="cabeceira-1" class="py-0 mb-4">
</header>
<header id="cabeceira-2">
</header>
<main id="contido">
<?php echo renderMigasPan($page); ?>
</main>
<footer id="pe" class="py-4 border-top text-bg-primary">
</footer>
<script src="<?php echo $config->urls->templates?>vendors/Bootstrap/js/bootstrap.bundle.js"></script>
</body>
</html>

View file

@ -83,9 +83,6 @@ function getSeccions($seccions)
case 'opinions':
$saida .= renderOpinions($seccion);
break;
case 'empresas':
$saida .= renderEmpresas($seccion);
break;
case 'texto':
$saida .= renderTexto($seccion);
break;
@ -118,6 +115,22 @@ function getSeccions($seccions)
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
@ -169,6 +182,7 @@ function renderMigasPan($paxina, $separador = '<i class="icon-chevrons-right"></
break;
case 'paxina':
case 'habitacions':
case 'habitacion':
$icono = 'play';
break;
case 'blogue':
@ -194,7 +208,7 @@ function renderMigasPan($paxina, $separador = '<i class="icon-chevrons-right"></
foreach($paxina->parents() as $pai)
{
$saida .= '<li class="breadcrumb-item">' . $separador . '<a href="' . $pai->url . '">' . $pai->title . '</a></li>' . "\n";
$saida .= '<li class="breadcrumb-item">' . $separador . '<a href="' . $pai->url . '">' . $pai->title . '</a></li>';
}
$saida .= '<li class="breadcrumb-item active" aria-current="page">' . $separador . ' ' . (($icono != '')? '<i class="icon-' . $icono . '"></i> ' : '') . '<span>' . $paxina->title . '</span>';
if($paxina->editable()):
@ -263,29 +277,6 @@ function renderGaleria($seccion)
$saida .= '<div class="swiper-button-prev"><span class="visually-hidden">Previous</span></div>' . "\n";
$saida .= '<div class="swiper-button-next"><span class="visually-hidden">Next</span></div>' . "\n";
$saida .= '<div class="swiper-pagination"></div>' . "\n";
$saida .= '<script>' . "\n";
$saida .= 'var swiper_galeria' . $seccion->id . ' = new Swiper("#galeria", {' . "\n";
$saida .= ' slidesPerView: 1,' . "\n";
$saida .= ' spaceBetween: 30,' . "\n";
$saida .= ' loop: true,' . "\n";
$saida .= ' lazy: true,' . "\n";
$saida .= ' autoHeight: false,' . "\n";
$saida .= ' keyboard: true,' . "\n";
$saida .= ' centeredSlides: true,' . "\n";
$saida .= ' autoplay: {' . "\n";
$saida .= ' delay: 2500,' . "\n";
$saida .= ' disableOnInteraction: false,' . "\n";
$saida .= ' },' . "\n";
$saida .= ' pagination: {' . "\n";
$saida .= ' el: ".swiper-pagination",' . "\n";
$saida .= ' clickable: true,' . "\n";
$saida .= ' },' . "\n";
$saida .= ' navigation: {' . "\n";
$saida .= ' nextEl: ".swiper-button-next",' . "\n";
$saida .= ' prevEl: ".swiper-button-prev",' . "\n";
$saida .= ' },' . "\n";
$saida .= '});' . "\n";
$saida .= '</script>' . "\n";
$saida .= '</section>';
return $saida;
@ -302,15 +293,30 @@ function renderReixa($seccion)
$saida .= '<section class="container">' . "\n";
$saida .= '<h3 class="visually-hidden">' . (($seccion->titular) ? $seccion->titular : 'Reixa') . '</h3>' . "\n";
$saida .= '<div class="reixa ' . $posicion . '">' . "\n";
$saida .= '<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3">' . "\n";
foreach($seccion->imaxes as $imaxe)
{
$saida .= '<figure>' . "\n";
$saida .= '<img src="' . $imaxe->url . '" alt="' . $imaxe->description . '">' . "\n";
$saida .= '<figcaption>' . $imaxe->description . '</figcaption>' . "\n";
$saida .= '<figure class="col py-3">' . "\n";
$saida .= '<img class="reixa-item" src="' . $imaxe->url . '" alt="' . $imaxe->description . '">' . "\n";
$saida .= '</figure>' . "\n";
}
$saida .= '</div>' . "\n";
$saida .= '<div class="modal fade" id="reixa-modal" tabindex="-1" aria-labelledby="reixa-modal-label" aria-hidden="true">' . "\n";
$saida .= '<div class="modal-dialog modal-dialog-centered modal-lg">' . "\n";
$saida .= '<div class="modal-content">' . "\n";
$saida .= '<div class="modal-header">' . "\n";
$saida .= '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '<div class="modal-body">' . "\n";
$saida .= '<figure class="col">' . "\n";
$saida .= '<img class="modal-img" src="' . $imaxe->url . '" alt="' . $imaxe->description . '">' . "\n";
$saida .= '<figcaption class="modal-label">' . $imaxe->description . '</figcaption>' . "\n";
$saida .= '</figure>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</section>';
return $saida;
@ -393,7 +399,10 @@ function renderImaxe($seccion)
{
$saida = '';
$saida .= '<img src="' . $seccion->imaxe->url . '" alt="' . $seccion->imaxe->description . '">' . "\n";
$saida .= '<figure>' . "\n";
$saida .= '<img src="' . $seccion->imaxe->url . '" alt="' . $seccion->maxe->description . '" loading="lazy">' . "\n";
$saida .= '<figcaption>' . $seccion->imaxe->description . '</figcaption>' . "\n";
$saida .= '</figure>' . "\n";
return $saida;
}
@ -476,3 +485,237 @@ function renderLigazonImaxe($seccion)
return $saida;
}
/**
* @param array|PageArray $seccion
* @return string
*/
function renderDestacado($seccion)
{
$saida = '';
$icona = '';
$saida .= '<section class="container mb-5 text-center">' . "\n";
$saida .= '<h2 class="border-bottom my-3">' . $seccion->titular . '</h2>' . "\n";
$saida .= '<div class="row row-cols-1 row-cols-lg-3 g-4">' . "\n";
$saida .= getSeccions($seccion->destacados);
$saida .= '</div>' . "\n";
$saida .= '</section>' . "\n";
return $saida;
}
/**
* @param array|PageArray $seccion
* @param int $posicion
* @return string
*/
function renderElemento($seccion, $posicion = 0)
{
$saida = '';
$saida .= '<div class="col flex-grow-1 d-flex align-items-start">' . "\n";
switch($seccion->destacado_icona_tipo->value)
{
case 'icona':
$saida .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center flex-shrink-0 text-bg-primary bg-gradient fs-4 rounded-3 me-3"><i class="' . $seccion->parametro_valor .' bi"></i></div>';
break;
case 'imaxe':
$saida .= '<div class="feature-icon d-inline-flex align-items-center justify-content-center flex-shrink-0 text-bg-primary bg-gradient fs-4 rounded-3 me-3"><img src="' . $seccion->imaxe->url . '" alt="' . $seccion->imaxe->description . '"></div>';
break;
case 'posicion':
$saida .= '<div class="d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3"><span class="display-2 fw-bold text-secondary">' . $posicion . '</span></div>';
break;
default:
$saida .= '';
break;
}
$saida .= '<div class="row mb-5">' . "\n";
$saida .= '<div class="col mx-auto text-start">' . "\n";
$saida .= renderTexto($seccion);
if($seccion->botons && $seccion->botons->isEmpty())
{
$saida .= '<div class="row text-center">' . "\n";
$saida .= getSeccions($seccion->botons) . "\n";
$saida .= '</div>' . "\n";
}
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
return $saida;
}
/**
* @param array|PageArray $seccion
* @return string
*/
function renderCategoriasEtiquetas($seccion)
{
$saida = '';
switch ($seccion->first()->template->name)
{
case 'categoria':
$icono = 'folder';
$nome = 'categorias';
break;
case 'etiqueta':
$icono = 'tag';
$nome = 'etiquetas';
break;
default:
$icono = 'sn';
$nome = 'sin';
break;
}
$saida .= '<div id="' . $nome . '" class="col p-3 mb-4">' . "\n";
$saida .= '<a class="collapse-head" data-bs-toggle="collapse" href="#collapse-' . $nome . '" role="button" aria-expanded="false" aria-controls="collapse-' . $nome . '">' . "\n";
$saida .= '<h3>' . pages()->get('/noticias/' . $nome)->title . '</h3>' . "\n";
$saida .= '</a>' . "\n";
$saida .= '<div class="collapse" id="collapse-' . $nome . '">' . "\n";
$saida .= '<ul class="list-group">' . "\n";
foreach($seccion as $item)
{
$numPosts = pages()->count('template=publicacion, ' . $nome . '=' . $item->name);
$saida .= '<li class="list-group-item d-flex justify-content-between align-items-start">' . "\n";
$saida .= '<a class="ms-2 me-auto" href="' . $item->url . '"><i class="icon-' . $icono . '"></i> ' . $item->title . '</a>' . "\n";
$saida .= '<span class="badge bg-primary rounded-pill">(' . sprintf(_n('%d post', '%d posts', $numPosts), $numPosts) . ')</span>' . "\n";
$saida .= '</li>' . "\n";
}
$saida .= '</ul>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</div>' . "\n";
return $saida;
}
/**
* @param array|PageArray $artigos
* @param int $posicion
* @return string
*/
function renderPaxinacion($artigos, $posicion)
{
$paxinacion = $artigos->renderPager(
array(
'listMarkup' => '<nav id="paxinacion-' . $posicion . '" class="paxinacion"><ul>{out}</ul></nav>',
'itemMarkup' => '<li class="{class}">{out}</li>',
'linkMarkup' => '<a href="{url}"><span>{out}</span></a>',
'nextItemLabel' => '<i class="icon-skip-forward"></i>',
'previousItemLabel' => '<i class="icon-skip-back"></i>',
'separatorItemClass' => 'separador',
'nextItemClass' => 'seguinte',
'previousItemClass' => 'anterior',
'lastItemClass' => 'derradeiro',
'currentItemClass' => 'actual'
)
);
return $paxinacion;
}
/**
* @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 .= '<article id="' . $publicacion->name .'" class="container">' . "\n";
$saida .= '<header class="d-flex gap-3 mb-3">' . "\n";
$saida .= '<time datetime="' . $publicacion->fecha_publicacion . '">' ."\n";
$dateFormatter->setPattern('EEEE');
$saida .= '<em>' . ucfirst(datefmt_format($dateFormatter, $data)) . '</em>' . "\n";
$dateFormatter->setPattern('MMMM');
$saida .= '<strong>' . ucfirst(datefmt_format($dateFormatter, $data)) . '</strong>' . "\n";
$dateFormatter->setPattern('dd');
$saida .= '<span>' . datefmt_format($dateFormatter, $data) . '</span>' . "\n";
$saida .= '</time>' . "\n";
$saida .= '<div>' . "\n";
$saida .= '<h3 class="publicacion-titulo">' . "\n";
$saida .= '<a href="' . $publicacion->url . '"><i class="icon-' . (($resumen) ? 'book' : 'book-open') . '"></i> ' . $publicacion->title . '</a>' . "\n";
$saida .= '</h3>' . "\n";
$saida .= '<dl>' . "\n";
$saida .= '<dt title="' . pages()->get('/noticias/categorias/')->title . '"><i class="icon-folder"></i><span class="d-none d-lg-inline"> ' . pages()->get('/noticias/categorias/')->title . '</span></dt>' . "\n";
$saida .= '<dd><a href="' . $publicacion->categorias->url . '">' . $publicacion->categorias->title . '</a></dd>' . "\n";
$saida .= '<dt title="' . pages()->get('/noticias/etiquetas/')->title . '"><i class="icon-tag"></i><span class="d-none d-lg-inline"> ' . pages()->get('/noticias/etiquetas/')->title . '</span></dt>' . "\n";
$saida .= '<dd>' . $publicacion->etiquetas->each("<a href='{url}'>{title}</a>") . '</dd>' . "\n";
$saida .= '</dl>' . "\n";
$saida .= '</div>' . "\n";
$saida .= '</header>' . "\n";
if($resumen)
{
if($publicacion->imaxe)
{
$thumb = $publicacion->imaxe->size(466, 260);
$saida .= '<img src="' . $thumb->url . '" alt="' . $publicacion->imaxe->description . '">' . "\n";
}
$saida .= '<div class="resumo">' . "\n";
$saida .= '<p>' . renderResumen(getTextoLimpo(getSeccions($publicacion->seccions))) . '</p>' . "\n";
$saida .= '<p><a href="' . $publicacion->url . '"><i class="icon-arrow-right"></i>' . _x("Read more", "Read more") . '</a></p>' ."\n";
$saida .= '</div>' . "\n";
}
else
{
if($publicacion->imaxe)
{
$thumb = $publicacion->imaxe->size(466, 260);
$saida .= '<a href="' . $publicacion->imaxe->url . '"><img src="' . $thumb->url . '" alt="' . $publicacion->imaxe->description . '"></a>' . "\n";
}
$saida .= '<div class="secciones">' . "\n";
$saida .= getSeccions($publicacion->seccions) . "\n";
$saida .= '</div>' . "\n";
}
$saida .= '</article>' . "\n";
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;
}

View file

@ -20,5 +20,5 @@
/** @var User $user API variable */
include('./layout/partial/main_head.php'); ?>
<main id="contido"><?php echo $contido; ?></main>
<main id="contido" class="flex-shrink-0"><?php echo $contido; ?></main>
<?php include('./layout/partial/main_foot.php');

View file

@ -1,26 +0,0 @@
<?php namespace ProcessWire; ?>
<div class="container d-flex flex-wrap justify-content-between align-items-center" pw-append="pe">
<div class="col-md-4 d-flex align-items-center">
<a href="/" class="mb-3 me-2 mb-md-0 text-light text-decoration-none lh-1">
<picture class="me-2">
<img src="<?php echo $config->urls->templates?>images/logo-mini.png" alt="<?php echo _x('Logo of Praia de Seselle Tourist Apartments', 'Site logo'); ?>">
</picture>
</a>
<span class="mb-3 mb-md-0 text-light">&copy; 2022 <?php echo $configuracion['sitio_nome'] . ' ' . $configuracion['sitio_descripcion']; ?>.</span>
</div>
<a href="/" class="col-md-4 d-flex align-items-center justify-content-center mb-3 mb-md-0 me-md-auto link-dark text-decoration-none">
<picture class="me-2">
<img src="<?php echo $config->urls->templates?>images/edlp.jpg" alt="Axudas para proxectos EDLP">
</picture>
</a>
<ul class="nav col-md-4 justify-content-end list-unstyled d-flex fs-4">
<li class="ms-3"><a class="text-light text-decoration-none" href="#"><i class="icon-facebook"></i></a></li>
<li class="ms-3"><a class="text-light text-decoration-none" href="#"><i class="icon-instagram"></i></a></li>
</ul>
<div class="col-md-12 py-3">
<p class="text-center fs-6 text"><?php echo _x('Designed and Developed by', 'developer');?> <a class="text-light" target="_blank" href="https://artabro.org">Codigo Artabro</a></p>
<?php if($user->isLoggedin()): ?>
<p class="text-center fs-6 text"><?php $end = microtime(true); $creationtime = ($end - $start); printf(_x('Page created in %.6f seconds.', 'Render time.'), $creationtime); ?></p>
<?php endif; ?>
</div>
</div>

View file

@ -1,56 +0,0 @@
<?php namespace ProcessWire; ?>
<div class="container d-flex flex-wrap justify-content-center" pw-append="cabeceira-1">
<a href="/" class="d-flex align-items-center mb-3 mb-lg-0 me-lg-auto text-dark text-decoration-none">
<picture class="me-2">
<source srcset="<?php echo $config->urls->templates?>images/logo-praia-seselle-150x116.jpg" media="(max-width: 767px)">
<source srcset="<?php echo $config->urls->templates?>images/logo-praia-seselle-230x179.jpg" media="(min-width: 768px)">
<img src="<?php echo $config->urls->templates?>images/logo-praia-seselle.svg" alt="<?php echo _x('Logo of Praia de Seselle Tourist Apartments', 'Site logo'); ?>">
</picture>
<h1 class="visually-hidden"><?php echo $configuracion['sitio_nome']; ?> <?php echo $configuracion['sitio_descripcion']; ?></h1>
</a>
<form class="col-12 col-lg-auto py-2 mb-3 mb-lg-0" action="<?=pages()->get('template=atopar')->url?>" method="get" role="search">
<div class="input-group">
<div class="form-floating">
<input type="search" id="atopar-consulta" name="q" class="form-control rounded-0 shadow-none py-1" placeholder="<?php echo _x("Atopar", "Search"); ?>&hellip;" />
<label class="py-1" for="atopar-consulta"><?php echo _x("Atopar", "Search"); ?>&hellip;</label>
</div>
<button type="submit" class="btn btn-primary rounded-0">
<i class="icon-search"></i>
</button>
</div>
</form>
</div>
<div class="container" pw-append="cabeceira-2">
<div class="d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start">
<a href="/" class="d-flex align-items-center mb-3 mb-lg-0 me-lg-auto text-dark text-decoration-none">
<picture class="me-2">
<source srcset="<?php echo $config->urls->templates?>images/logo-praia-seselle-150x116.jpg" media="(max-width: 767px)">
<source srcset="<?php echo $config->urls->templates?>images/logo-praia-seselle-230x179.jpg" media="(min-width: 768px)">
<img src="<?php echo $config->urls->templates?>images/logo-praia-seselle.svg" alt="<?php echo _x('Logo of Praia de Seselle Tourist Apartments', 'Site logo'); ?>">
</picture>
<h1 class="visually-hidden"><?php echo $configuracion['sitio_nome']; ?> <?php echo $configuracion['sitio_descripcion']; ?></h1>
</a>
<form class="col-12 col-lg-auto py-2 mb-3 mb-lg-0" action="<?=pages()->get('template=atopar')->url?>" method="get" role="search">
<div class="input-group">
<div class="form-floating">
<input type="search" id="atopar-consulta" name="q" class="form-control rounded-0 shadow-none py-1" placeholder="<?php echo _x("Atopar", "Search"); ?>&hellip;" />
<label class="py-1" for="atopar-consulta"><?php echo _x("Atopar", "Search"); ?>&hellip;</label>
</div>
<button type="submit" class="btn btn-primary rounded-0">
<i class="icon-search"></i>
</button>
</div>
</form>
<nav id="menus-usuario" class="py-2">
</nav>
</div>
</div>
<div class="border-bottom mb-3" pw-append="cabeceira-2">
<div class="container d-flex flex-wrap justify-content-center">
<nav id="menus-2" class="py-0">
</nav>
</div>
</div>

View file

@ -1,51 +0,0 @@
<?php namespace ProcessWire; ?>
<div class="container d-flex flex-wrap" pw-append="menus-1">
<?php echo renderMenu($page->and($inicio->children), 0, 'paxinas', 'me-auto'); ?>
<ul id="usuario" class="nav me-lg-3">
<?php if($user->isLoggedin()): ?>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Log out', 'Log out'); ?>" href="/?logout=true"><i class='icon-user'></i></a></li>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Management', 'Management'); ?>" href='/es/gestion'><i class='icon-settings'></i></a></li>
<?php else: ?>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Log in', 'Log in'); ?>" href='/es/gestion/acceder'><i class='icon-user'></i></a></li>
<?php endif; ?>
</ul>
<ul id="idiomas" class="nav">
<?php foreach($languages as $idioma) : ?>
<?php if(!$page->viewable($idioma)) continue; ?>
<li class="nav-item">
<?php
$url = $page->localUrl($idioma);
$hreflang = $inicio->getLanguageValue($idioma, 'name');
?>
<a class="px-2 btn btn-outline-dark rounded-0<?php echo $idioma->id == $user->language->id ? ' active' : ''; ?>" title="<?php echo $idioma->title; ?>" hreflang="<?php echo $hreflang;?>" href="<?php echo $url; ?>"><?php echo $hreflang; ?></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="container d-flex flex-wrap" pw-append="menus-usuario">
<ul id="usuario" class="nav me-lg-3">
<?php if($user->isLoggedin()): ?>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Log out', 'Log out'); ?>" href="/?logout=true"><i class='icon-user'></i></a></li>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Management', 'Management'); ?>" href='/es/gestion'><i class='icon-settings'></i></a></li>
<?php else: ?>
<li class="nav-item"><a class="btn btn-outline-dark rounded-0 px-2" title="<?php echo _x('Log in', 'Log in'); ?>" href='/es/gestion/acceder'><i class='icon-user'></i></a></li>
<?php endif; ?>
</ul>
<ul id="idiomas" class="nav">
<?php foreach($languages as $idioma) : ?>
<?php if(!$page->viewable($idioma)) continue; ?>
<li class="nav-item">
<?php
$url = $page->localUrl($idioma);
$hreflang = $inicio->getLanguageValue($idioma, 'name');
?>
<a class="px-2 btn btn-outline-dark rounded-0<?php echo $idioma->id == $user->language->id ? ' active' : ''; ?>" title="<?php echo $idioma->title; ?>" hreflang="<?php echo $hreflang;?>" href="<?php echo $url; ?>"><?php echo $hreflang; ?></a>
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="container" pw-append="menus-2">
<?php echo renderMenu($page->and($inicio->children), 0, 'paxinas', 'col-12 col-lg-auto my-2 justify-content-center my-md-0 text-small'); ?>
</div>

View file

@ -1,5 +1,5 @@
<?php namespace ProcessWire; ?>
<footer id="pe" class="py-4 border-top text-bg-primary">
<footer id="pe" class="footer mt-auto py-4 border-top text-bg-primary">
<div class="container d-flex flex-wrap justify-content-center justify-content-md-between gap-3 gap-md-0 align-items-center">
<div class="col-md-5 d-flex align-items-center">
<a href="/" class="mb-3 me-2 mb-md-0 text-light text-decoration-none lh-1">
@ -7,7 +7,7 @@
<img src="<?php echo $config->urls->templates?>images/logo-mini.png" alt="<?php echo _x('Logo of Praia de Seselle Tourist Apartments', 'Site logo'); ?>">
</picture>
</a>
<span class="mb-3 mb-md-0 text-light">&copy; 2022 <?php echo $configuracion['sitio_nome'] . ' ' . $configuracion['sitio_descripcion']; ?>.</br>Todos los derechos reservados.</span>
<span class="mb-3 mb-md-0 text-light">&copy; 2022 <?php echo $configuracion['sitio_nome'] . ' ' . $configuracion['sitio_descripcion']; ?>.<br>Todos los derechos reservados.</span>
</div>
<ul class="nav col-md-2 justify-content-center list-unstyled d-flex fs-4">
<li class="ms-3"><a class="text-light text-decoration-none" href="#"><i class="icon-facebook"></i></a></li>

View file

@ -5,7 +5,7 @@ if($input->get->logout == true)
$session->redirect($inicio->url);
}
?><!DOCTYPE html>
<html lang="<?php echo _x('en', 'HTML language code'); ?>">
<html class="h-100" lang="<?php echo _x('en', 'HTML language code'); ?>">
<head>
<title><?php echo $titulo; ?></title>
<meta charset="UTF-8">
@ -69,7 +69,7 @@ if($input->get->logout == true)
gtag('config', 'G-K9CF4D4SZX');
</script>
</head>
<body>
<body class="d-flex flex-column h-100">
<a href="#contido" class="visually-hidden element-focusable bypass-to-main"><?php echo _x('Skip to content', 'bypass'); ?></a>
<nav id="menu-usuario" class="py-2 bg-light border-bottom" aria-label="User">
<div class="container d-flex flex-row-reverse flex-wrap">
@ -94,7 +94,7 @@ if($input->get->logout == true)
</picture>
<h1 class="visually-hidden"><?php echo $configuracion['sitio_nome']; ?> <?php echo $configuracion['sitio_descripcion']; ?></h1>
</a>
<form class="col-12 col-lg-auto py-2 mb-3 mb-lg-0" action="<?=pages()->get('template=atopar')->url?>" method="get" role="search">
<form class="col-12 col-lg-auto py-2 mb-3 mb-lg-0" action="<?php echo pages()->get('template=atopar')->url; ?>" method="get" role="search">
<div class="input-group">
<div class="form-floating">
<input type="search" id="atopar-consulta" name="q" class="form-control rounded-0 shadow-none py-1" placeholder="<?php echo _x("Atopar", "Search"); ?>&hellip;" />

View file

@ -1,27 +1,22 @@
<?php namespace ProcessWire;
/** @var Page $page API variable */
$menu = '';
$contido = '';
$mantemento = $inicio->mantemento;
if($mantemento && !$user->isLoggedin())
if($configuracion['mantemento']['activo'] && !$user->isLoggedin())
{
$session->redirect($inicio->url);
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$menu = renderMenu($inicio->children);
$contido .= renderMigasPan($page) . "\n";
$contido .= '<article id="' . $page->name .'">' . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= '<article id="' . $page->name .'" class="container">' . "\n";
$contido .= '<h2 class="visually-hidden">' . ucfirst($page->title) . '</h2>' . "\n";
if(count($page->seccions))
{
$contido .= getSeccions($page->seccions) . "\n";
}
$contido .= '</div>' . "\n";
$contido .= '</article>' . "\n";
}

View file

@ -1,18 +1,11 @@
<?php namespace ProcessWire;
$mantemento = $inicio->mantemento;
/** @var Page $page API variable */
if($mantemento && !$user->isLoggedin())
{
$session->redirect($inicio->url);
}
else
{
$menu = renderMenu($inicio->and($inicio->children), 0, 'paxinas');
$menu = '';
$contido = '';
$menu = renderMenu($inicio->children);
$contido .= renderMigasPan($page) . "\n";
$contido .= '<div class="contedor">' . "\n";
$contido .= renderArtigos($page, $languages->getLocale(), false);
$contido .= '</div>' . "\n";
}