234 lines
11 KiB
PHP
234 lines
11 KiB
PHP
<?php
|
|
|
|
function faceai_sim_html($value)
|
|
{
|
|
return htmlspecialchars((string) $value, ENT_QUOTES, 'UTF-8');
|
|
}
|
|
|
|
function faceai_sim_render_page(array $options)
|
|
{
|
|
$raceId = $options['raceId'];
|
|
$lang = $options['lang'];
|
|
$raceSlug = $options['raceSlug'];
|
|
$raceName = $options['raceName'];
|
|
$raceYear = $options['raceYear'] ?? '';
|
|
$raceMonthFolder = $options['raceMonthFolder'] ?? '';
|
|
$raceFolder = $options['raceFolder'] ?? '';
|
|
$returnUrl = $options['returnUrl'];
|
|
$banner = $options['banner'];
|
|
$totalLabel = $options['totalLabel'];
|
|
$photos = $options['photos'];
|
|
$showSimulatorBootstrap = !empty($options['showSimulatorBootstrap']);
|
|
|
|
?><!doctype html>
|
|
<html lang="<?php echo faceai_sim_html($lang); ?>">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<title>FaceAI Legacy Simulator</title>
|
|
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="css/font-awesome.min.css">
|
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i" rel="stylesheet">
|
|
<link href="css/custom-style.css" rel="stylesheet">
|
|
<style>
|
|
.page-shell {
|
|
max-width: 1120px;
|
|
margin: 32px auto;
|
|
padding: 0 16px;
|
|
}
|
|
.sim-banner {
|
|
background: #efe4d2;
|
|
border: 1px solid #c9ab83;
|
|
padding: 14px 16px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.gallery-grid {
|
|
display: grid;
|
|
gap: 16px;
|
|
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
}
|
|
.gallery-card {
|
|
background: #fff;
|
|
border: 1px solid #decbb5;
|
|
padding: 16px;
|
|
}
|
|
.gallery-thumb {
|
|
min-height: 120px;
|
|
background: #efe4d2;
|
|
display: grid;
|
|
place-items: center;
|
|
margin-bottom: 12px;
|
|
color: #6d5a46;
|
|
overflow: hidden;
|
|
}
|
|
.gallery-thumb img {
|
|
max-width: 100%;
|
|
max-height: 120px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<a id="top"></a>
|
|
<nav class="navbar fixed-top navbar-expand-lg navbar-light bg-white fixed-top">
|
|
<div class="container">
|
|
<a class="navbar-brand" href="faceai_simulator.php?raceId=<?php echo faceai_sim_html($raceId); ?>&lang=<?php echo faceai_sim_html($lang); ?>"><img src="images/layout/regalami-un-sorriso-ets-640.png" alt="Regalami Un Sorriso Ets" width="100"></a>
|
|
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
|
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
|
<ul class="navbar-nav">
|
|
<li class="nav-item"><a class="nav-link" href="index.jsp">Home</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="associazione.jsp">Associazione</a></li>
|
|
<li class="nav-item"><a class="nav-link active" href="faceai_simulator.php?raceId=<?php echo faceai_sim_html($raceId); ?>&lang=<?php echo faceai_sim_html($lang); ?>">Foto</a></li>
|
|
<li class="nav-item dropdown show"><a class="nav-link btn btn-sm btn-warning dropdown-toggle" href="#">Archivio</a></li>
|
|
<li class="nav-item"><a href="#"><img src="images/btn_donateCC_LG.gif" border="0" alt="PayPal"></a></li>
|
|
</ul>
|
|
<ul class="navbar-nav ml-auto">
|
|
<li class="nav-item dropdown"><a class="nav-link dropdown-toggle active" href="#"><i class="fa fa-user" aria-hidden="true"></i> Il mio account</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="https://it-it.facebook.com/pg/Regalami-un-sorriso-ETS-189377806523/community/"><img src="images/FB-f-Logo__blue_29.png" class="img-fluid" alt="Facebook"></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="container my-3 page-shell">
|
|
<div class="row mb-5">
|
|
<div class="col-lg-12">
|
|
<h1 class="my-4"><?php echo faceai_sim_html($raceName); ?></h1>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<img src="images/layout/Logo_RUS_ETS_tricolore_3-1.jpg" class="img-fluid border border-warning" alt="Gara">
|
|
</div>
|
|
<div class="col-md-10">
|
|
<div class="row riepilogo">
|
|
<div class="col-md-3"><p><i class="fa fa-map-marker fa-lg text-warning" aria-hidden="true"></i> Firenze</p></div>
|
|
<div class="col-md-3"><p><i class="fa fa-calendar fa-lg text-warning" aria-hidden="true"></i> 07/04/2026</p></div>
|
|
<div class="col"><p><i class="fa fa-camera-retro fa-lg text-warning"></i> <?php echo faceai_sim_html($totalLabel); ?></p></div>
|
|
</div>
|
|
<div class="sim-banner"><?php echo $banner; ?></div>
|
|
|
|
<form class="bg-light p-3 border" onsubmit="return searching()">
|
|
<input name="id_gara" id="id_gara" type="hidden" value="<?php echo faceai_sim_html($raceId); ?>">
|
|
<input name="id_foto" id="id_foto" type="hidden">
|
|
<input name="garaDesc" id="garaDesc" type="hidden" value="<?php echo faceai_sim_html($raceSlug); ?>">
|
|
<input name="faceAiRaceYear" id="faceAiRaceYear" type="hidden" value="<?php echo faceai_sim_html($raceYear); ?>">
|
|
<input name="faceAiRaceMonthFolder" id="faceAiRaceMonthFolder" type="hidden" value="<?php echo faceai_sim_html($raceMonthFolder); ?>">
|
|
<input name="faceAiRaceFolder" id="faceAiRaceFolder" type="hidden" value="<?php echo faceai_sim_html($raceFolder); ?>">
|
|
<input name="lang" id="lang" type="hidden" value="<?php echo faceai_sim_html($lang); ?>">
|
|
<input name="pageNumber" id="pageNumber" type="hidden" value="1">
|
|
<input name="actionPage" id="actionPage" type="hidden" value="Foto.abl">
|
|
<input name="totPageNumber" id="totPageNumber" type="hidden" value="5">
|
|
<div class="row align-items-end">
|
|
<div class="form-group col-12 col-md-4">
|
|
<label for="id_puntoFoto">Punti Foto</label>
|
|
<select name="id_puntoFoto" id="id_puntoFoto" onchange="searchingPF()" class="custom-select form-control form-control-sm mb-2 mb-sm-0">
|
|
<option value="">-- Punti Foto --</option>
|
|
<option value="arrivo">Arrivo</option>
|
|
<option value="centro">Centro</option>
|
|
<option value="ponte">Ponte</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-12 col-md-4">
|
|
<label for="tipoPuntoFoto">Descrizione/Orario</label>
|
|
<select name="tipoPuntoFoto" id="tipoPuntoFoto" onchange="searchingTPF()" class="custom-select form-control form-control-sm mb-2 mb-sm-0">
|
|
<option value="">-- Descrizione/Orario --</option>
|
|
<option value="arrivo-09-15">Arrivo 09:15</option>
|
|
<option value="centro-08-45">Centro 08:45</option>
|
|
<option value="ponte-08-10">Ponte 08:10</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-12 col-md-2">
|
|
<label for="pageRow">Foto per pagina</label>
|
|
<select name="pageRow" id="pageRow" class="custom-select form-control form-control-sm mb-2 mb-sm-0">
|
|
<option value="24">24</option>
|
|
<option value="36">36</option>
|
|
<option value="48">48</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group col-12 col-md-2">
|
|
<label for="pettorale">Pettorale</label>
|
|
<input name="pettorale" id="pettorale" value="245" class="form-control form-control-sm mb-2 mb-sm-0">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="gallery-grid">
|
|
<?php foreach ($photos as $photo): ?>
|
|
<div class="gallery-card">
|
|
<div class="gallery-thumb">
|
|
<?php if (!empty($photo['previewUrl'])): ?>
|
|
<img src="<?php echo faceai_sim_html($photo['previewUrl']); ?>" alt="<?php echo faceai_sim_html($photo['label']); ?>">
|
|
<?php else: ?>
|
|
<?php echo faceai_sim_html($photo['thumb'] ?? $photo['id']); ?>
|
|
<?php endif; ?>
|
|
</div>
|
|
<strong><?php echo faceai_sim_html($photo['label'] ?? $photo['id']); ?></strong><br>
|
|
<small>ID foto: <?php echo faceai_sim_html($photo['id'] ?? ''); ?></small><br>
|
|
<small>Punto foto: <?php echo faceai_sim_html($photo['checkpoint'] ?? '-'); ?></small>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<?php if ($showSimulatorBootstrap): ?>
|
|
<script>
|
|
window.faceAiSimulator = {
|
|
enabled: true,
|
|
handoffUrl: 'faceai_handoff.php',
|
|
returnUrl: <?php echo json_encode($returnUrl); ?>,
|
|
raceStorage: {
|
|
year: <?php echo json_encode($raceYear); ?>,
|
|
monthFolder: <?php echo json_encode($raceMonthFolder); ?>,
|
|
raceFolder: <?php echo json_encode($raceFolder); ?>
|
|
},
|
|
devUserId: '1',
|
|
devDisplayName: 'Mario Rossi',
|
|
devEmail: 'mario.rossi@example.test',
|
|
devMembershipStatus: 'active'
|
|
};
|
|
|
|
(function () {
|
|
var hostname = window.location && window.location.hostname ? window.location.hostname : '';
|
|
var isLocalDebug = hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
|
|
if (!isLocalDebug || !window.console || typeof window.console.groupCollapsed !== 'function') {
|
|
return;
|
|
}
|
|
|
|
window.console.groupCollapsed('[FaceAI] Simulator bootstrap');
|
|
window.console.log({
|
|
pageUrl: window.location.href,
|
|
race: {
|
|
id: <?php echo json_encode($raceId); ?>,
|
|
slug: <?php echo json_encode($raceSlug); ?>,
|
|
name: <?php echo json_encode($raceName); ?>,
|
|
lang: <?php echo json_encode($lang); ?>,
|
|
storage: {
|
|
year: <?php echo json_encode($raceYear); ?>,
|
|
monthFolder: <?php echo json_encode($raceMonthFolder); ?>,
|
|
raceFolder: <?php echo json_encode($raceFolder); ?>,
|
|
relativeDir: <?php echo json_encode(implode('/', array_values(array_filter([$raceYear, $raceMonthFolder, $raceFolder], static function ($segment) {
|
|
return $segment !== null && $segment !== '';
|
|
})))); ?>
|
|
}
|
|
},
|
|
handoff: {
|
|
url: 'faceai_handoff.php',
|
|
returnUrl: <?php echo json_encode($returnUrl); ?>
|
|
},
|
|
devUser: {
|
|
id: '1',
|
|
displayName: 'Mario Rossi',
|
|
email: 'mario.rossi@example.test',
|
|
membershipStatus: 'active'
|
|
}
|
|
});
|
|
window.console.groupEnd();
|
|
}());
|
|
</script>
|
|
<?php endif; ?>
|
|
<script src="vendor/jquery/jquery.min.js"></script>
|
|
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
|
|
<script src="_js/rus-ecom-240621.js"></script>
|
|
</body>
|
|
</html>
|
|
<?php
|
|
}
|