From: Brion Vibber <brion@pobox.com>
Date: Thu, 27 May 2010 21:18:08 +0000 (-0700)
Subject: Ticket #2329: fix for use of _m() translation functions from outside of plugin direct... 
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=697a9948df3c9d4275b3525227007bfd5a1c5709;p=quix0rs-gnu-social.git

Ticket #2329: fix for use of _m() translation functions from outside of plugin directories
---

diff --git a/lib/language.php b/lib/language.php
index 64b59e7396..3846b8f358 100644
--- a/lib/language.php
+++ b/lib/language.php
@@ -205,12 +205,20 @@ function _mdomain($backtrace)
         if (DIRECTORY_SEPARATOR !== '/') {
             $path = strtr($path, DIRECTORY_SEPARATOR, '/');
         }
-        $cut = strpos($path, '/plugins/') + 9;
-        $cut2 = strpos($path, '/', $cut);
-        if ($cut && $cut2) {
-            $cached[$path] = substr($path, $cut, $cut2 - $cut);
-        } else {
+        $plug = strpos($path, '/plugins/');
+        if ($plug === false) {
+            // We're not in a plugin; return null for the default domain.
             return null;
+        } else {
+            $cut = $plug + 9;
+            $cut2 = strpos($path, '/', $cut);
+            if ($cut2) {
+                $cached[$path] = substr($path, $cut, $cut2 - $cut);
+            } else {
+                // We might be running directly from the plugins dir?
+                // If so, there's no place to store locale info.
+                return null;
+            }
         }
     }
     return $cached[$path];