>>>>>>>>>change safe_mode_allowed_env_vars to PHP_, LC_, LANG then edit
>>>>>>>>>functions.i18n.php to remove "!((bool)ini_get('safe_mode')) &&"
>>>>>>>>> from line 258
>>>>>>>>>
>>>>It is still NOT my server... Havent changed anything except for
>>>> deleting
>>>>the 1.4.4 and put 1.4.5 instead because the 1.4.4 was fucked up :-(
>>>
>>>Could you install 1.4.4 and check if you have language issues there?
>>>
>>
>> I wished that people would read my mails... I just removed 1.4.4 and it
>> worked...!
>
> he's just asking you to check if 1.4.4 still works - maybe something was
> changed on the server just when you upgraded? (longshot, yeah ;)
>
> anyhoo.. have you tried removing the above mentioned test from i18n.php?
> maybe you don't need access to LC_*, LANG, LANGUAGE like thomas said..
>
> actually, reviewing his email, he said on BSD systems.. is your hotel a
> BSD box?

first email said linux, later it was freebsd 5.4. If OS is Linux, 1.4.4
and 1.4.5 translations work same way that does not depend on safe_mode.
1.4.5 uses additional code that makes it work on Mandrake.

SquirrelMail sets locale in two places. First place - sq_setlocale() and
setlocale() calls. Second place - putenv calls that work only when
safe_mode is not turned on. setlocale() calls set locale to the one that
does not return 'false'. If setlocale() works, returned locale name is
used in putenv calls. If setlocale() can't find working locale, only
putenv() calls are used. Putenv code uses locale name stores in
$languages['translation_code']['LOCALE'], if it is string and not array.
If 'LOCALE' stores array, translation code is used. SquirrelMail 1.4.4
code differs from 1.4.5 code. In 1.4.4 scripts use only one locale name.
In Danish translation it is 'da_DK.ISO8859-1'. In 1.4.5+ scripts use array
with more than one locale name. In Danish translation it is
'da_DK.ISO8859-1','da_DK.ISO-8859-1','da_DK'.

If safe_mode is on, SquirrelMail uses only setlocale() calls. If
setlocale() calls work on BSD according to PHP documentation, then code
execution does not differ in 1.4.4 and 1.4.5. First setlocale call sets
'da_DK.ISO8859-1' and it should not fail on FreeBSD. Other locale names
are used only when previous setlocale() call fails and they are not
compatible with FreeBSD.

If BSD systems do use setlocale() functionality and return false instead
of locale name, contact BSD developers. http://www.php.net/setlocale.
"Setlocale returns the new current locale, or FALSE if the locale
functionality is not implemented on your platform, ...". Yes, there is
also "The return value of setlocale() depends on the system that PHP is
running.", but why they return FALSE, if locale functionality is
implemented.

If you want to revert SquirrelMail 1.4.5 Danish translation to 1.4.4
locale setup sequence, open functions/i18n.php file and find

$languages['da_DK']['LOCALE']  =
array('da_DK.ISO8859-1','da_DK.ISO-8859-1','da_DK');

change it to

$languages['da_DK']['LOCALE'] = 'da_DK.ISO8859-1';

Currently I can't test FreeBSD 5.4. Sourceforge compile farm provides
access only to FreeBSD 4.8, OpenBSD 3.4 and NetBSD 1.6.1.

-- 
Tomas


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
--
squirrelmail-users mailing list
Posting Guidelines: 
http://www.squirrelmail.org/wiki/MailingListPostingGuidelines
List Address: [email protected]
List Archives: 
http://news.gmane.org/thread.php?group=gmane.mail.squirrelmail.user
List Archives:  http://sourceforge.net/mailarchive/forum.php?forum_id=2995
List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-users

Reply via email to