]> git.agnieray.net Git - galette.git/commitdiff
Properly handle languages loading
authorJohan Cwiklinski <johan@x-tnd.be>
Thu, 7 Oct 2021 04:23:01 +0000 (06:23 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Sun, 17 Oct 2021 04:15:40 +0000 (06:15 +0200)
galette/lib/Galette/IO/News.php

index 299fbb5da18535ccf38dfd85ef760b60b5ae8047..08d9ba0884594a7bb9d3389a5dd1257404c25f7b 100644 (file)
@@ -113,7 +113,7 @@ class News
                 return !$has_expired;
             } catch (Throwable $e) {
                 Analog::log(
-                    'Unable check cache expiracy. Are you sure you have ' .
+                    'Unable check cache expiry. Are you sure you have ' .
                     'properly configured PHP timezone settings on your server?',
                     Analog::WARNING
                 );
@@ -277,14 +277,22 @@ class News
             return $url;
         }
 
-        $galette_website_langs = $url . '/langs.json';
-        $context = stream_context_create($this->stream_opts);
-        $langs = json_decode(file_get_contents($galette_website_langs, false, $context));
+        try {
+            $galette_website_langs = $url . '/langs.json';
+            $context = stream_context_create($this->stream_opts);
+            $langs = json_decode(file_get_contents($galette_website_langs, false, $context));
 
-        if ($i18n->getAbbrev() != 'en' && in_array($i18n->getAbbrev(), $langs)) {
-            $url .= '/' . $i18n->getAbbrev();
+            if ($i18n->getAbbrev() != 'en' && in_array($i18n->getAbbrev(), $langs)) {
+                $url .= '/' . $i18n->getAbbrev();
+            }
+            $url .= '/feed.xml';
+        } catch (Throwable $e) {
+            Analog::log(
+                'Unable to load feed languages from "' . $url .
+                '" :( | ' . $e->getMessage(),
+                Analog::ERROR
+            );
         }
-        $url .= '/feed.xml';
 
         return $url;
     }