From 1d76a9e59f98c8cd3bf868096ad6a10c635e01ee Mon Sep 17 00:00:00 2001
From: Andy Hubert <andy.hubert@gmail.com>
Date: Mon, 30 Jul 2018 09:38:47 -0400
Subject: [PATCH] fix: Ensures correct language code format (thanks
 @AndyHubert). (#197)

---
 src/transformer/utils/get_course_lang.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/transformer/utils/get_course_lang.php b/src/transformer/utils/get_course_lang.php
index c12936a..43a5a1e 100644
--- a/src/transformer/utils/get_course_lang.php
+++ b/src/transformer/utils/get_course_lang.php
@@ -19,5 +19,10 @@ defined('MOODLE_INTERNAL') || die();
 
 function get_course_lang($course) {
     $haslang = is_null($course->lang) || $course->lang == '';
-    return $haslang ? 'en' : $course->lang;
+
+    // Ensure en_US and the like get corrected to the standard en-US.
+    $preppedlang = mb_ereg_replace('_', '-', $haslang ? 'en' : $course->lang);
+
+    // Ensure valid language format.
+    return mb_ereg_match('^[a-zA-Z]{2}(-[a-zA-Z]{2})?$', $preppedlang) ? $preppedlang : 'en';
 }
-- 
GitLab