<?php
function fetch_rss_feeds() {
$feeds = [
'https://daily.veronanetwork.it/feed/',
'https://veronaeconomia.it/feed/',
'https://giornalepantheon.it/feed/'
];
$news_items = [];
foreach ($feeds as $feed) {
$rss = @simplexml_load_file($feed); // Suppress warnings in case of issues
if ($rss) {
foreach ($rss->channel->item as $item) {
$parsed_url = parse_url($feed);
$favicon_url = "https://www.google.com/s2/favicons?domain=" . $parsed_url['host'] . "&sz=32";
$news_items[] = [
'title' => (string) $item->title,
'link' => (string) $item->link,
'favicon' => $favicon_url,
'date' => strtotime((string) $item->pubDate),
];
}
}
}
// Ordina le notizie per data di pubblicazione (decrescente)
usort($news_items, function($a, $b) {
return $b['date'] <=> $a['date'];
});
return json_encode($news_items);
}
// Stampa direttamente il ticker nel sito
$news_items = fetch_rss_feeds();
?>
<div id="breaking-news-ticker">
<ul></ul>
</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
const newsItems = <?php echo $news_items; ?>;
const ticker = document.querySelector('#breaking-news-ticker ul');
if (newsItems && Array.isArray(newsItems)) {
newsItems.forEach(news => {
const li = document.createElement('li');
const favicon = document.createElement('img');
const link = document.createElement('a');
favicon.src = news.favicon;
favicon.alt = "Logo";
favicon.style.width = "20px"; // Dimensioni del logo
favicon.style.height = "20px";
favicon.style.marginRight = "10px";
link.href = news.link;
link.textContent = news.title;
link.target = '_blank';
li.appendChild(favicon);
li.appendChild(link);
ticker.appendChild(li);
});
let scrollAmount = 0;
setInterval(() => {
scrollAmount -= 1;
ticker.style.transform = `translateX(${scrollAmount}px)`;
ticker.style.transition = 'transform 0.1s linear';
if (Math.abs(scrollAmount) >= ticker.scrollWidth / 2) {
scrollAmount = 0; // Resetta lo scorrimento quando raggiunge la fine
}
}, 20);
} else {
console.error('newsItems non definito o non è un array:', newsItems);
}
});
</script>
#breaking-news-ticker {
width: 100%;
overflow: hidden;
font-family: Arial, sans-serif;
position: relative;
}
#breaking-news-ticker ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
white-space: nowrap;
position: relative;
}
#breaking-news-ticker ul li {
display: flex;
align-items: center;
margin-right: 30px;
padding: 5px 10px;
background: var(--bg-body-l-1);
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
white-space: nowrap;
}
#breaking-news-ticker ul li img {
border-radius: 50%;
flex-shrink: 0;
}
#breaking-news-ticker ul li a {
text-decoration: none;
padding-left: 5px;
padding-right:25px;
color: var(--text-title);
font-weight: bold;
}
#breaking-news-ticker ul li a:hover {
text-decoration: underline;
}<iframe src="https://www.3bmeteo.com/moduli_esterni/localita_6_giorni_compatto/7765/ffffff/1e1d40/5e5e5e/ffffff/it/0/2" width=100% height=302 frameborder="0"></iframe>








































































































































































































































































