Doze alunos apurados para a final regional do concurso nacional de leitura

Vinte alunos dos Agrupamentos de Escolas do concelho de Vila Verde participaram na Fase Municipal da 13ª Edição do Concurso Nacional de Leitura, na Biblioteca Municipal Professor Machado Vilela.

Notícia completa na edição impressa de Março. Nas bancas.

Jornal O Desportivo

<?php
function fetch_rss_cached($url, $cache_seconds = 600) {
    $key = 'rss_cache_' . md5($url);

    $cached = get_transient($key);
    if ($cached !== false) {
        return simplexml_load_string($cached);
    }

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'WP RSS Fetcher');

    $data = curl_exec($ch);
    curl_close($ch);

    if (!$data) return null;

    set_transient($key, $data, $cache_seconds);
    return simplexml_load_string($data);
}

function time_ago($datetime) {
    $time = strtotime($datetime);
    $diff = time() - $time;

    if ($diff < 60) return $diff . ' segundos atrás';
    if ($diff < 3600) return floor($diff / 60) . ' minutos atrás';
    if ($diff < 86400) return floor($diff / 3600) . ' horas atrás';
    if ($diff < 604800) return floor($diff / 86400) . ' dias atrás';
    return date('d/m/Y H:i', $time);
}

$rss = fetch_rss_cached('https://www.desportivovaledohomem.pt/category/destaque/feed/', 600);
if (!$rss || empty($rss->channel->item)) {
    echo '<!-- RSS vazio ou erro -->';
    return;
}

$items = $rss->channel->item;
$count = 0;

echo '<div class="rss-posts">';

foreach ($items as $item) {
    if ($count >= 5) break;

    $title = (string) $item->title;
    $link = (string) $item->link;
    $pubDate = (string) $item->pubDate;
    $timeAgo = time_ago($pubDate);

    $categoryText = isset($item->category[0]) ? (string) $item->category[0] : '';

    echo '<div class="rss-post">';
    echo '<p class="rss-meta">' . esc_html($timeAgo) . ' - ' . esc_html($categoryText) . '</p>';
    echo '<h3 class="rss-title"><a href="' . esc_url($link) . '" target="_blank" rel="noopener">' . esc_html($title) . '</a></h3>';
    echo '</div>';

    $count++;
}

echo '</div>';
?>
.rss-posts {
    font-family: "MYRIAD PRO";
    font-weight: 400;
}

.rss-post {
    padding: 10px 0;
    border-bottom: 1px solid #8E8E8D;
}

.rss-meta {
    color: #828282;
    font-size: 11px;
    margin-bottom: 0px;
    font-weight: 600;
}

.rss-title {
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

.rss-title a {
    text-decoration: none;
    color: #363636;
    font-family: "Myriad Pro";
    font-weight: 400;
    font-size: 17px;
}

.rss-post:last-child {
    border: none;
}
Ver mais

Últimas Notícias

Ver mais