From: <ki...@us...> - 2007-03-02 23:15:59
|
Revision: 12294 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12294&view=rev Author: kink Date: 2007-03-02 15:15:52 -0800 (Fri, 02 Mar 2007) Log Message: ----------- Prevent including index.php for charset decoding/encoding (#1671874) Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-03-02 23:11:55 UTC (rev 12293) +++ trunk/squirrelmail/include/languages.php 2007-03-02 23:15:52 UTC (rev 12294) @@ -191,7 +191,7 @@ $decode=fixcharset($charset); $decodefile=SM_PATH . 'functions/decode/' . $decode . '.php'; - if (file_exists($decodefile)) { + if ($decode != 'index' && file_exists($decodefile)) { include_once($decodefile); // send $save_html argument to decoding function. needed for iso-2022-xx decoding. $ret = call_user_func('charset_decode_'.$decode, $string, $save_html); @@ -214,7 +214,7 @@ $encode=fixcharset($charset); $encodefile=SM_PATH . 'functions/encode/' . $encode . '.php'; - if (file_exists($encodefile)) { + if ($encode != 'index' && file_exists($encodefile)) { include_once($encodefile); $ret = call_user_func('charset_encode_'.$encode, $string); } elseif(file_exists(SM_PATH . 'functions/encode/us_ascii.php')) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-03-27 19:08:22
|
Revision: 12351 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12351&view=rev Author: pdontthink Date: 2007-03-27 12:08:15 -0700 (Tue, 27 Mar 2007) Log Message: ----------- Skip .svn dir. Leaving CVS dir in case it is left over in some people's downloaded locale packages. Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-03-26 17:39:43 UTC (rev 12350) +++ trunk/squirrelmail/include/languages.php 2007-03-27 19:08:15 UTC (rev 12351) @@ -1002,7 +1002,7 @@ $lang_dir = substr($lang_dir,0,-1); } if ($lang_dir != '..' && $lang_dir != '.' && $lang_dir != 'CVS' && - is_dir(SM_PATH.'locale/'.$lang_dir) && + $lang_dir != '.svn' && is_dir(SM_PATH.'locale/'.$lang_dir) && file_exists(SM_PATH.'locale/'.$lang_dir.'/setup.php')) { include_once(SM_PATH.'locale/'.$lang_dir.'/setup.php'); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-03-30 20:46:05
|
Revision: 12356 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12356&view=rev Author: pdontthink Date: 2007-03-30 13:45:55 -0700 (Fri, 30 Mar 2007) Log Message: ----------- Add sq_change_text_domain for plugins to use when switching text domains Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-03-30 20:44:27 UTC (rev 12355) +++ trunk/squirrelmail/include/languages.php 2007-03-30 20:45:55 UTC (rev 12356) @@ -23,6 +23,55 @@ /** + * Wrapper for textdomain(), bindtextdomain() and + * bind_textdomain_codeset() primarily intended for + * plugins when changing into their own text domain + * and back again. + * + * Note that plugins using this function must have + * their translation files located in the SquirrelMail + * locale directory. + * + * @param string $domain_name The name of the text domain + * (usually the plugin name, or + * "squirrelmail") being switched to. + * + * @return void + * + * @since 1.5.2 and 1.4.10 + */ +function sq_change_text_domain($domain_name) { + + global $languages, $sm_notAlias; + static $domains_already_seen = array(); + + // only need to call bindtextdomain() once + // + if (in_array($domain_name, $domains_already_seen)) { + sq_textdomain($domain_name); + return; + } + + $domains_already_seen[] = $domain_name; + + sq_bindtextdomain($domain_name, SM_PATH . 'locale/'); + sq_textdomain($domain_name); + + // set codeset in order to avoid gettext charset conversions + if (function_exists('bind_textdomain_codeset') + && isset($languages[$sm_notAlias]['CHARSET'])) { + + // Japanese translation uses different internal charset + if ($sm_notAlias == 'ja_JP') { + bind_textdomain_codeset ($domain_name, 'EUC-JP'); + } else { + bind_textdomain_codeset ($domain_name, $languages[$sm_notAlias]['CHARSET']); + } + + } +} + +/** * Gettext bindtextdomain wrapper. * * Wrapper solves differences between php versions in order to provide This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-04-01 23:31:45
|
Revision: 12358 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12358&view=rev Author: pdontthink Date: 2007-04-01 16:31:44 -0700 (Sun, 01 Apr 2007) Log Message: ----------- Shifting the location of bind_textdomain_codeset() in the SM wrapper functions Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-03-30 20:47:23 UTC (rev 12357) +++ trunk/squirrelmail/include/languages.php 2007-04-01 23:31:44 UTC (rev 12358) @@ -28,21 +28,26 @@ * plugins when changing into their own text domain * and back again. * - * Note that plugins using this function must have + * Note that if plugins using this function have * their translation files located in the SquirrelMail - * locale directory. + * locale directory, the second argument is optional. * * @param string $domain_name The name of the text domain * (usually the plugin name, or * "squirrelmail") being switched to. + * @param string $directory The directory that contains + * all translations for the domain + * (OPTIONAL; default is SquirrelMail + * locale directory). * * @return void * * @since 1.5.2 and 1.4.10 */ -function sq_change_text_domain($domain_name) { +function sq_change_text_domain($domain_name, $directory='') { - global $languages, $sm_notAlias; + if (empty($directory)) $directory = SM_PATH . 'locale/'; + static $domains_already_seen = array(); // only need to call bindtextdomain() once @@ -54,21 +59,9 @@ $domains_already_seen[] = $domain_name; - sq_bindtextdomain($domain_name, SM_PATH . 'locale/'); + sq_bindtextdomain($domain_name, $directory); sq_textdomain($domain_name); - // set codeset in order to avoid gettext charset conversions - if (function_exists('bind_textdomain_codeset') - && isset($languages[$sm_notAlias]['CHARSET'])) { - - // Japanese translation uses different internal charset - if ($sm_notAlias == 'ja_JP') { - bind_textdomain_codeset ($domain_name, 'EUC-JP'); - } else { - bind_textdomain_codeset ($domain_name, $languages[$sm_notAlias]['CHARSET']); - } - - } } /** @@ -77,7 +70,11 @@ * Wrapper solves differences between php versions in order to provide * ngettext support. Should be used if translation uses ngettext * functions. - * @since 1.5.1 + * + * This also provides a bind_textdomain_codeset call to make sure the + * domain's encoding will not be overridden. + * + * @since 1.4.10 and 1.5.1 * @param string $domain gettext domain name * @param string $dir directory that contains all translations * @return string path to translation directory @@ -95,6 +92,19 @@ $dir=bindtextdomain($domain,$dir); + // set codeset in order to avoid gettext charset conversions + if (function_exists('bind_textdomain_codeset') + && isset($languages[$sm_notAlias]['CHARSET'])) { + + // Japanese translation uses different internal charset + if ($sm_notAlias == 'ja_JP') { + bind_textdomain_codeset ($domain_name, 'EUC-JP'); + } else { + bind_textdomain_codeset ($domain_name, $languages[$sm_notAlias]['CHARSET']); + } + + } + return $dir; } @@ -430,16 +440,6 @@ sq_bindtextdomain( 'squirrelmail', SM_PATH . 'locale/' ); sq_textdomain( 'squirrelmail' ); - // set codeset in order to avoid gettext charset conversions - if (function_exists('bind_textdomain_codeset')) { - // Japanese translation uses different internal charset - if ($sm_notAlias == 'ja_JP') { - bind_textdomain_codeset ('squirrelmail', 'EUC-JP'); - } else { - bind_textdomain_codeset ('squirrelmail', $languages[$sm_notAlias]['CHARSET'] ); - } - } - // Use LOCALE key, if it is set. if (isset($languages[$sm_notAlias]['LOCALE'])){ $longlocale=$languages[$sm_notAlias]['LOCALE']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-06-29 21:30:53
|
Revision: 12492 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12492&view=rev Author: pdontthink Date: 2007-06-29 14:30:52 -0700 (Fri, 29 Jun 2007) Log Message: ----------- Make dir parameter optional for sq_bindtextdomain() Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-06-29 12:53:40 UTC (rev 12491) +++ trunk/squirrelmail/include/languages.php 2007-06-29 21:30:52 UTC (rev 12492) @@ -76,12 +76,16 @@ * * @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 .= '/'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-06-29 23:29:11
|
Revision: 12494 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12494&view=rev Author: pdontthink Date: 2007-06-29 16:29:09 -0700 (Fri, 29 Jun 2007) Log Message: ----------- Make sq_change_text_domain() return previous text domain Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-06-29 21:34:20 UTC (rev 12493) +++ trunk/squirrelmail/include/languages.php 2007-06-29 23:29:09 UTC (rev 12494) @@ -40,28 +40,33 @@ * (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; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pdo...@us...> - 2007-06-29 23:38:36
|
Revision: 12496 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12496&view=rev Author: pdontthink Date: 2007-06-29 16:38:35 -0700 (Fri, 29 Jun 2007) Log Message: ----------- Fix syntax error Modified Paths: -------------- trunk/squirrelmail/include/languages.php Modified: trunk/squirrelmail/include/languages.php =================================================================== --- trunk/squirrelmail/include/languages.php 2007-06-29 23:31:47 UTC (rev 12495) +++ trunk/squirrelmail/include/languages.php 2007-06-29 23:38:35 UTC (rev 12496) @@ -89,7 +89,7 @@ function sq_bindtextdomain($domain,$dir='') { global $l10n, $gettext_flags, $sm_notAlias; - if (empty($dir)) $dir = SM_PATH . 'locale/' + if (empty($dir)) $dir = SM_PATH . 'locale/'; if ($gettext_flags==7) { // gettext extension without ngettext This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |