Ema Stokholma: “Io, la radio, Andrea Delogu e Ginotto”
Toccata e fuga di Ema Stokholma al Festival della Tv di Dogliani. Sul palco di piazza della Confraternita, la conduttrice e speaker radiofonica dall’inconfondibile accento francese ha ripercorso alcuni degli incontri che hanno segnato la sua vita professionale e personale. Incontri spesso avvenuti grazie alla radio, il mezzo che le ha permesso di conoscere persone diventate decisive nel suo percorso, come Gino Castaldo, scherzosamente ribattezzato “Ginotto” nella parodia del GialappaShow, Luca Barbarossa e soprattutto Andrea Delogu.
{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}










