Make sq_change_text_domain() return previous text domain
[squirrelmail.git] / include / languages.php
index aef1a20085ed60d1b935c2bb1ea7dc42be909e39..a42ded2f31d9247df914e076b2a750c2ec012a26 100644 (file)
  *                            (OPTIONAL; default is SquirrelMail
  *                            locale directory).
  *
- * @return void
+ * @return string The name of the text domain that was set
+ *                *BEFORE* it is changed herein - NOTE that
+ *                this differs from PHP's textdomain() 
  *
  * @since 1.5.2 and 1.4.10 
  */
 function sq_change_text_domain($domain_name, $directory='') {
 
-    if (empty($directory)) $directory = SM_PATH . 'locale/';
-
     static $domains_already_seen = array();
+    global $gettext_domain;
+    $return_value = $gettext_domain;
 
     // only need to call bindtextdomain() once 
     //
     if (in_array($domain_name, $domains_already_seen)) {
         sq_textdomain($domain_name);
-        return;
+        return $return_value;
     }
 
     $domains_already_seen[] = $domain_name;
 
+    if (empty($directory)) $directory = SM_PATH . 'locale/';
+
     sq_bindtextdomain($domain_name, $directory);
     sq_textdomain($domain_name);
 
+    return $return_value;
 }
 
 /**
@@ -76,12 +81,16 @@ function sq_change_text_domain($domain_name, $directory='') {
  *
  * @since 1.4.10 and 1.5.1
  * @param string $domain gettext domain name
- * @param string $dir directory that contains all translations
+ * @param string $dir directory that contains all translations (OPTIONAL;
+ *                    if not specified, defaults to SquirrelMail locale 
+ *                    directory)
  * @return string path to translation directory
  */
-function sq_bindtextdomain($domain,$dir) {
+function sq_bindtextdomain($domain,$dir='') {
     global $l10n, $gettext_flags, $sm_notAlias;
 
+    if (empty($dir)) $dir = SM_PATH . 'locale/'
+
     if ($gettext_flags==7) {
         // gettext extension without ngettext
         if (substr($dir, -1) != '/') $dir .= '/';