O mapa deixa de ser um cartão comprimido dentro da coluna de Informações (220px) e passa a ocupar a largura toda numa linha própria, por baixo da grelha Informações + Formulário (480px, mesma altura do .map de outras páginas). A coluna de Informações fica só com o texto (Localização, Telefone, E-mail, Horário de Funcionamento). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
136 lines
7.7 KiB
PHP
136 lines
7.7 KiB
PHP
<?php
|
||
// Informações e contactos — partilhado entre a home (site/index.php) e o
|
||
// CrossFit (site/crossfit.php), para as duas páginas darem sempre a mesma
|
||
// informação de contacto em vez de reencaminhar para a home só para isso.
|
||
// $data: whours, work_hours_days (Horário de Funcionamento, opcional),
|
||
// assunto (pré-preenche "Razão" no formulário), show (gym_section_on, default true).
|
||
$whours = $whours ?? [];
|
||
$work_hours_days = $work_hours_days ?? ['Segunda-Sexta' => 'segunda', 'Sábado' => 'sabado', 'Domingo/Feriados' => 'domingo'];
|
||
$assunto = $assunto ?? '';
|
||
$show = $show ?? true;
|
||
$session = session();
|
||
?>
|
||
<?php if ($show): ?>
|
||
<?php /* contacts-bg.jpg never existed — outside2.jpg is the current photo in img/contactos/ */ ?>
|
||
<section id="contactos" class="contact-section set-bg" data-setbg="<?= base_url('site/assets/img/contactos/outside2.jpg') ?>" aria-labelledby="contactos-title">
|
||
<div class="container">
|
||
<?php if (($_GET['agendar'] ?? '') === 'ok'): ?>
|
||
<div class="alert alert-success text-center" role="alert">
|
||
Pedido enviado! Entraremos em contacto para confirmar a tua aula experimental.
|
||
</div>
|
||
<?php elseif (($_GET['agendar'] ?? '') === 'erro'): ?>
|
||
<div class="alert alert-danger text-center" role="alert">
|
||
Não foi possível enviar o pedido. Verifica os dados e tenta novamente.
|
||
</div>
|
||
<?php endif; ?>
|
||
<div class="row">
|
||
<div class="col-lg-4">
|
||
<h2 id="contactos-title" class="contact-title text-center text-md-left">Informações</h2>
|
||
<div class="contact-info-warp text-center text-md-left">
|
||
<h3>Localização</h3>
|
||
<div class="contact-info">
|
||
<a href="<?= htmlspecialchars($info['google_maps_link'] ?? '') ?>" target="_blank" rel="noopener">
|
||
<p><?= htmlspecialchars($info['adress'] ?? '') ?></p>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="contact-info-warp text-center text-md-left">
|
||
<h3>Telefone</h3>
|
||
<div class="contact-info">
|
||
<a href="tel:<?= htmlspecialchars(site_tel($info['phone'] ?? '')) ?>">
|
||
<p><?= htmlspecialchars($info['phone'] ?? '') ?></p>
|
||
</a>
|
||
<?php if (($info['telephone'] ?? '') !== ''): ?>
|
||
<a href="tel:<?= htmlspecialchars(site_tel($info['telephone'])) ?>">
|
||
<p><?= htmlspecialchars($info['telephone']) ?></p>
|
||
</a>
|
||
<?php endif; ?>
|
||
</div>
|
||
</div>
|
||
<div class="contact-info-warp text-center text-md-left">
|
||
<h3>E-mail</h3>
|
||
<div class="contact-info">
|
||
<a href="mailto:<?= htmlspecialchars($info['email'] ?? '') ?>">
|
||
<p><?= htmlspecialchars($info['email'] ?? '') ?></p>
|
||
</a>
|
||
<a href="#contactos">
|
||
<p><?= htmlspecialchars($info['website'] ?? '') ?></p>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<?php if ($whours): ?>
|
||
<div class="contact-info-warp text-center">
|
||
<h3>Horário de Funcionamento</h3>
|
||
<div class="contact-info wh-text text-center">
|
||
<?php foreach ($work_hours_days as $key => $value):
|
||
$ranges = [];
|
||
foreach ($whours as $h) {
|
||
if ($h['week_day'] == $value) {
|
||
$ranges[] = substr($h['open'], 0, 5) . ' – ' . substr($h['close'], 0, 5);
|
||
}
|
||
}
|
||
?>
|
||
<p><strong><?= htmlspecialchars($key) ?>:</strong>
|
||
<?php if ($ranges): ?><?= htmlspecialchars(implode(', ', $ranges)) ?>
|
||
<?php else: ?><span class="wh-closed">Encerrado</span><?php endif; ?>
|
||
</p>
|
||
<?php endforeach; ?>
|
||
</div>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
<div class="col-lg-8">
|
||
<div id="contact-form">
|
||
<h3 class="contact-title text-center text-md-left">Envia-nos uma mensagem</h3>
|
||
<?php if (isset($_GET['enviado'])): ?>
|
||
<div class="alert alert-success" role="alert">
|
||
Mensagem enviada com sucesso! Entraremos em contacto brevemente.
|
||
</div>
|
||
<?php endif; ?>
|
||
<form class="contact-form" method="post" action="https://forms.zohopublic.eu/fitme30701/form/FormulriodeContacto/formperma/NiwsTjwWGX2sgpZIXqE5otyAn8D5nuRQjpYDuGkS2wM/htmlRecords/submit">
|
||
<input type="hidden" name="zf_redirect_url" value="<?= base_url('?enviado=1#contact-form') ?>">
|
||
<div class="row">
|
||
<div class="col-md-6">
|
||
<input type="text" required name="SingleLine" placeholder="Nome" aria-label="Nome">
|
||
</div>
|
||
<div class="col-md-6">
|
||
<input type="text" required name="PhoneNumber_countrycode" placeholder="Telemóvel" aria-label="Telemóvel">
|
||
</div>
|
||
</div>
|
||
<input type="text" name="SingleLine1" placeholder="Razão" required value="<?= htmlspecialchars($assunto) ?>" aria-label="Razão do contacto">
|
||
<textarea name="MultiLine" placeholder="Mensagem" required aria-label="Mensagem"></textarea>
|
||
<?php if ($session->getFlashdata('email') !== null): ?>
|
||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||
<?= $session->getFlashdata('email') ?>
|
||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
||
</div>
|
||
<?php endif; ?>
|
||
<label class="consent-check">
|
||
<?php /* no name attribute: gates submission client-side, not stored in Zoho */ ?>
|
||
<input type="checkbox" required>
|
||
<span>Li e aceito a <a href="<?= base_url('home/privacidade') ?>" target="_blank" rel="noopener">Política de Privacidade</a>.</span>
|
||
</label>
|
||
<button class="site-btn" id="btn_email" type="submit">Enviar Mensagem</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php // Mapa a toda a largura, por baixo do grid de informações + formulário ?>
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="map map-full" id="map">
|
||
<?php
|
||
// Defer the Google Maps iframe until the user scrolls near it.
|
||
$maps_embed = $info['google_maps'] ?? '';
|
||
if (strpos($maps_embed, 'loading=') === false) {
|
||
$maps_embed = str_replace('<iframe ', '<iframe loading="lazy" ', $maps_embed);
|
||
}
|
||
echo map_click_to_load(clean_map_embed($maps_embed), (string) ($info['google_maps_link'] ?? ''));
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<?php endif; ?>
|