Changeset:
        385f6b2ad044
        
https://sourceforge.net/p/mrbs/hg-code/ci/385f6b2ad0441fce29efe7075ea117bbc2e1a1ea
Author:
        Campbell Morrison <[email protected]>
Date:
        Tue Oct 06 17:33:12 2015 +0100
Log message:

Improved robustness of get_best_lang_file()

diffstat:

 web/language.inc |  14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diffs (31 lines):

diff -r 952ae7cf5bfe -r 385f6b2ad044 web/language.inc
--- a/web/language.inc  Tue Oct 06 15:15:19 2015 +0100
+++ b/web/language.inc  Tue Oct 06 17:33:12 2015 +0100
@@ -954,8 +954,6 @@
   
   // Get the available languages
   $files = scandir($dir);
-  $prefix_length = strlen($prefix);
-  $suffix_length = strlen($suffix);
   if (!isset($default_langtags))
   {
     $default_langtags = array(); 
@@ -969,9 +967,15 @@
     if (!is_dir($dir . '/' . $file))
     {
       // Then strip out the language tag from the file name
-      $langtag = substr($file, $prefix_length);
-      $langtag = substr($langtag, 0, -$suffix_length);
-      $available_langtags[] = (isset($lang_map) && isset($lang_map[$langtag])) 
? $lang_map[$langtag] : $langtag;
+      $pattern = sprintf('/%s(.+)%s/i', $prefix, $suffix);
+      if (preg_match($pattern, $file, $matches))
+      {
+        if (isset($matches[1]))
+        {
+          $langtag = $matches[1];
+          $available_langtags[] = (isset($lang_map) && 
isset($lang_map[$langtag])) ? $lang_map[$langtag] : $langtag;
+        }
+      }
     }
   }
   

------------------------------------------------------------------------------
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits

Reply via email to