- Generated SEO titles/descriptions per gym; gym seo fields override each on its own - Keywords, author, og:site_name, favicon and JSON-LD logo follow the gym - CrossFit page 404s before output for gyms without a box - Events: «Mostrar em» gym selector; event page uses its gym's brand - Hero event button text colour from the event colour (--ev-on) - Navbar bottom line stops at the other-gym head (--switch-w) - Diagonal hero blur mask; remove the trial link
74 lines
3.5 KiB
PHP
74 lines
3.5 KiB
PHP
<?php
|
|
// Was Home::crossfit.
|
|
$current_uri_2 = 'crossfit';
|
|
$nav_center_logo = true; // big centred logo over the video, docks left on scroll (navbar.php)
|
|
|
|
// Old /home/crossfit links → the default gym's CrossFit page.
|
|
if (($_GET['gym'] ?? '') === '') {
|
|
require_once __DIR__ . '/../config/db.php';
|
|
require_once __DIR__ . '/../config/functions.php';
|
|
$to = db_gyms_default($pdo) ?? gym_fallback();
|
|
header('Location: ' . gym_url($to, 'crossfit'), true, 301);
|
|
exit;
|
|
}
|
|
|
|
// Only gyms with a CrossFit box have this page: a real 404 status, so decide before any output.
|
|
require_once __DIR__ . '/../config/db.php';
|
|
require_once __DIR__ . '/../config/functions.php';
|
|
$cf_gym = site_gym($pdo);
|
|
if ($cf_gym && empty($cf_gym['has_crossfit'])) { require __DIR__ . '/404.php'; exit; }
|
|
|
|
require __DIR__ . '/_open.php';
|
|
|
|
$data = [
|
|
'title' => 'CrossFit',
|
|
'schedule_h2' => 'Horário Crossfit',
|
|
'bg_img' => '',
|
|
'gallery_h2' => 'CrossFit',
|
|
'gallery_path' => 'uploads/gallery/2/',
|
|
'header_video_video' => 'site/assets/img/crossfit.mp4',
|
|
'header_video_img' => 'site/assets/img/crossfit.jpg',
|
|
'rel_footer_h2' => 'Precisas de um<span>Personal Trainer?</span><br> Entra em contacto connosco.',
|
|
'ad_footer_link' => rawurlencode($gym['slug']) . '/?assunto=pt_cf#contactos',
|
|
'ad_footer_text' => 'Tens objetivos específicos na área do CrossFit? Temos a solução para ti. Atinge e melhora os teus resultados com os nossos profissionais especializados na área. Todas as viagens são melhores quando vividas com a companhia certa. ',
|
|
'ad_footer_h2' => 'Precisas de um <span>Personal Trainer</span> especializado em CrossFit?',
|
|
'ad_footer_bg' => '',
|
|
'ad_footer_text_btn' => 'Entra em contacto connosco',
|
|
];
|
|
$data['data'] = site_horario($pdo, 'crossfit', (int) $gym['id']);
|
|
|
|
echo view('header_video', $data);
|
|
echo view('crossfit', $data);
|
|
echo view('crossfit_badge', $data);
|
|
echo view('gallery', $data);
|
|
echo view('horario', $data);
|
|
|
|
// ── Informações e contactos ───────────────────────────────────────────────────
|
|
// Same partial as the home page (site/includes/contactos.php), so visitors get
|
|
// the gym's contact info + form without leaving the CrossFit page.
|
|
$gid = (int) $gym['id'];
|
|
$on = fn(string $key) => gym_section_on($gym, $key);
|
|
$whours = $on('workhours') ? site_work_hours($pdo, $gid) : [];
|
|
$work_hours_days = ['Segunda-Sexta' => 'segunda', 'Sábado' => 'sabado', 'Domingo/Feriados' => 'domingo'];
|
|
usort($whours, fn($x, $y) => strcmp((string) $x['open'], (string) $y['open']));
|
|
$assunto = '';
|
|
if (isset($_GET['assunto'])) {
|
|
$assunto = $_GET['assunto'];
|
|
if ($assunto == 'pt'): $assunto = 'Informações - Personal Trainer';
|
|
elseif ($assunto == 'pt_cf'): $assunto = 'Informações - Personal Trainer CrossFit';
|
|
elseif ($assunto == 'insc'): $assunto = 'Informações - Inscrição no Ginásio';
|
|
elseif ($assunto == 'aula'): $assunto = 'Informações - Aula Experimental';
|
|
elseif ($assunto == 'nut'): $assunto = 'Informações - Nutricionista';
|
|
elseif ($assunto == 'fis'): $assunto = 'Informações - Fisioterapia';
|
|
endif;
|
|
}
|
|
echo view('contactos', [
|
|
'whours' => $whours,
|
|
'work_hours_days' => $work_hours_days,
|
|
'assunto' => $assunto,
|
|
'show' => $on('contactos'),
|
|
]);
|
|
|
|
echo view('ad_footer', $data);
|
|
echo view('footer', $data);
|