Commit c76e0a4e authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Résolution du problème de plantage lorsque le flux des actualités est erroné.

parent 7f3213eb
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -10,18 +10,36 @@ use Zend\Feed\Reader\Reader;
?>
<ul class="menu-actualites nav nav-pills nav-stacked">
    <?php if ($url !== null) : ?>
        <?php $channel = Reader::import($url); ?>
        <?php foreach (array_reverse(iterator_to_array($channel)) as $item): /** @var Rss $item */ ?>
        <?php
        try {
            $channel = Reader::import($url);
            $items = array_reverse(iterator_to_array($channel));
            $error = null;
        } catch (\Zend\Feed\Reader\Exception\RuntimeException $e) {
            $items = [];
            $error = "Erreur lors de l'interrogation du fil d'actualités : " . $e->getMessage();
            error_log($error);
        }
        ?>
        <?php if ($items): ?>
            <ul class="nav nav-pills nav-stacked">
                <?php foreach ($items as $item): /** @var Rss $item */ ?>
                    <li>
                        <h2>
                            <span class="label label-info">Actualité</span>
                            <a target="_blank" title="Cliquez pour ouvrir dans un nouvel onglet"
                       href="<?php echo $item->getLink() ?>"><?php echo $item->getTitle() ?> <i class="fa fa-external-link-alt"></i></a>
                               href="<?php echo $item->getLink() ?>"><?php echo $item->getTitle() ?> <i
                                        class="fa fa-external-link-alt"></i></a>
                        </h2>
                        <p class="date"><?php echo $item->getDateCreated()->format('d/m/Y H:i') ?></p>
                    </li>
                <?php endforeach ?>
            </ul>
        <?php endif; ?>
        <?php if ($error !== null): ?>
            <li class="text-danger"><?php echo $error ?></li>
        <?php endif; ?>
    <?php else : ?>
        Le fil d'actualité est désactivé.
        <li>Le fil d'actualité est désactivé.</li>
    <?php endif; ?>
</ul>