>>>>>>>>>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
