Ciclismo: ecco il tracciato della Crono tricolore

Stamattina (venerdì 19 giugno) nel Grattacielo della Regione Piemonte, la Lega del Ciclismo professionistico (rappresentata dal presidente Roberto Pella) con i vertici della Regione (il presidente Alberto Cirio e l'assessore Paolo Bongioanni) e un grande campione come Claudio Chiappucci ha presentato i campionati italiani di ciclismo Elite maschile che coinvolgeranno il Monregalese e la sua Langa. A condurre Alessandro Brambilla, conosciutissimo speaker e giornalista che ha snocciolato aneddoti e dati storici sul mondo delle due ruote e sugli ospiti: in collegamento Francesco Moser che ha ricevuto gli auguri del Governatore Cirio e dei presenti in occasione del suo 75esimo compleanno, e Fabio Aru, campione tricolore agli ultimi Italiani in Piemonte nel 2017 ad Ivrea.
Giovedì 25 giugno la crono di 40 km (500 m. di dislivello) con le partenze individuali dal Santuario di Vicoforte (via dalle ore 14) e gli arrivi a Barolo: prima ascesa verso gli impianti sportivi vicesi, quindi Briaglia, Pascomonti, Bastia, fondovalle fino a Farigliano, altra salita per raggiungere San Eleuterio e Dogliani, dove da via Chabat si andrà a Monchiero, quindi svolta verso Monforte e arrivo a Barolo.
Nella gallery i tracciati e alcuni momenti della conferenza
Due giorni dopo, sabato 27, la gara in linea tra Asti e Cuneo di ben 232,5 km (2.500 m. di dislivello); partenza alle 10.50 da Piazza Alfieri, quindi si toccheranno Alba, Monforte, Dogliani (ore 12.16 ai 45 di media), Farigliano, nuovamente la fondovalle Sp12 fino a Clavesana per salire sulle Langhe e sulla Pedaggera, da Murazzano (punto più alto del tracciato, ore 12.49) si prosegue verso Montezemolo. Passaggi a Priero, Ceva (ore 13.27), Lesegno, Niella Tanaro, San Michele, Santuario di Vicoforte, Monastero Vasco (ore 13.59), Villanova, Roccaforte, il Mortè per scendere a Chiusa Pesio, Peveragno e Boves; nel finale i due giri del circuito da Confreria (Passatore, Roata Rossi, Busca, San Giuseppe, Passatore, Roata Rossi) con l'ingresso a Madonna dell’Olmo nel circuito finale tra Cuneo e Certaldo per poi chiudere in corso Nizza (ore 16.19 alla media oraria dei 45 km/h).
{source}<?php
use Joomla\CMS\Factory;
$user = Factory::getUser();
$app = Factory::getApplication();
$db = Factory::getDbo();
$articleId = $app->input->getInt('id');
// 1. CONTROLLO PERMESSI (Gruppo 21 o Guest)
if ($user->guest || in_array(21, $user->getAuthorisedGroups())) {return;
}
// 2. VERIFICA ACQUISTO NEL DB
$query = $db->getQuery(true)->select('data_acquisto')
->from($db->quoteName('pxd_token_acquisti'))
->where($db->quoteName('id_utente') . ' = ' . (int)$user->id)
->where($db->quoteName('id_articolo') . ' = ' . (int)$articleId);
$db->setQuery($query);
$data_acquisto = $db->loadResult();
// 3. VISUALIZZAZIONE CONTENUTO SBLOCCATO
if ($data_acquisto) {// A. Nascondiamo il form token all'istante
echo '<style>.nasconditoken { display: none !important; visibility: hidden !important; }</style>';
$data_formattata = date('d/m/Y \a\l\l\e H:i', strtotime($data_acquisto));
// B. Box "Articolo Acquistato"
echo '<div class="uk-alert uk-alert-success uk-margin-bottom">';
echo ' <div class="uk-flex uk-flex-middle">';
echo ' <span uk-icon="icon: unlock; ratio: 1.2" class="uk-margin-small-right"></span>';
echo ' <div>';
echo ' <strong>Contenuto Sbloccato</strong><br>';
echo ' <span class="uk-text-small">Articolo acquistato il ' . $data_formattata . '</span>';
echo ' </div>';
echo ' </div>';
echo '</div>';
// -------------------------------------------------------
// RECUPERO CAMPI AGGIUNTIVI (43: YouTube, 37: Gallery)
// -------------------------------------------------------
$qFields = $db->getQuery(true)
->select('field_id, value')
->from($db->quoteName('#__fields_values'))
->where($db->quoteName('item_id') . ' = ' . (int)$articleId)
->where($db->quoteName('field_id') . ' IN (37, 43)');
$db->setQuery($qFields);
$customFields = $db->loadObjectList('field_id');
// -------------------------------------------------------
// C. GESTIONE VIDEO YOUTUBE (Campo 43)
// -------------------------------------------------------
if (isset($customFields[43]) && !empty($customFields[43]->value)) {
$youtube_url = trim(strip_tags($customFields[43]->value));
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $youtube_url, $match);
if (isset($match[1])) {
$video_id = $match[1];
echo '<div class="uk-margin-bottom uk-position-relative" style="padding-top: 56.25%;">';
// Iframe pulito senza autoplay automatico
echo '<iframe src="https://www.youtube.com/embed/' . $video_id . '?rel=0&autoplay=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" frameborder="0" allowfullscreen></iframe>';
echo '</div>';
}
}
// -------------------------------------------------------
// D. TESTO ARTICOLO
// -------------------------------------------------------
$qContent = $db->getQuery(true)
->select($db->quoteName(array('introtext', 'fulltext')))
->from($db->quoteName('#__content'))
->where($db->quoteName('id') . ' = ' . (int)$articleId);
$db->setQuery($qContent);
$articolo = $db->loadObject();
if ($articolo) {
echo '<div class="uk-margin-top uk-margin-bottom pxd-premium-content">';
echo $articolo->introtext . $articolo->fulltext;
echo '</div>';
}
// -------------------------------------------------------
// E. GESTIONE GALLERY ACF TASSOS (Campo 37)
// -------------------------------------------------------
if (isset($customFields[37]) && !empty($customFields[37]->value)) {
// Decodifica il JSON di Tassos
$gallery_data = json_decode($customFields[37]->value, true);
// Tassos salva l'array di foto dentro la chiave "items"
if (is_array($gallery_data) && isset($gallery_data['items']) && count($gallery_data['items']) > 0) {
echo '<hr class="uk-divider-icon uk-margin-medium-top">';
echo '<h4 class="uk-heading-line uk-text-center"><span>Galleria Fotografica</span></h4>';
// Inizializziamo la griglia UIkit e il Lightbox
echo '<div class="uk-child-width-1-2 uk-child-width-1-4@m uk-grid-small uk-margin-top" uk-grid uk-lightbox="animation: slide">';
foreach ($gallery_data['items'] as $img) {
// Estraiamo URL originale, Thumbnail e Testi
$img_url = isset($img['image']) ? $img['image'] : '';
// Se la miniatura non c'è, fa fallback sull'immagine originale
$thumb_url = (isset($img['thumbnail']) && !empty($img['thumbnail'])) ? $img['thumbnail'] : $img_url;
$img_alt = isset($img['alt']) ? htmlspecialchars($img['alt'], ENT_QUOTES) : '';
$img_cap = isset($img['caption']) ? htmlspecialchars($img['caption'], ENT_QUOTES) : '';
if (!empty($img_url)) {
// Fix per lo slash iniziale (necessario per alcuni plugin JS e percorsi di Joomla)
if (strpos($img_url, '/') !== 0 && strpos($img_url, 'http') !== 0) { $img_url = '/' . $img_url; }
if (!empty($thumb_url) && strpos($thumb_url, '/') !== 0 && strpos($thumb_url, 'http') !== 0) { $thumb_url = '/' . $thumb_url; }
echo '<div>';
// Link: Qui va l'immagine ORIGINALE (grande) per il Lightbox
echo '<a class="uk-inline uk-box-shadow-hover-large uk-transition-toggle" href="' . $img_url . '" data-caption="' . $img_cap . '">';
// Immagine: Qui va la THUMBNAIL (piccola) per la griglia visibile
echo '<img src="' . $thumb_url . '" alt="' . $img_alt . '" style="width: 100%; height: 200px; object-fit: cover; border-radius: 5px;">';
// Overlay scuro con lente d'ingrandimento in hover
echo '<div class="uk-transition-fade uk-position-cover uk-overlay uk-overlay-primary uk-flex uk-flex-center uk-flex-middle" style="border-radius: 5px;">';
echo '<span uk-icon="icon: search; ratio: 2"></span>';
echo '</div>';
echo '</a>';
echo '</div>';
}
}
echo '</div>'; // Fine griglia
}
}
} else {// Non acquistato: esce
return;
}
?>{/source}













