BUGFIX: Always choosing translatable default language in CMSMain->init() for TinyMCE spell checking. Always setting ->Locale in order to have it available for the spell checking (from r81716)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.3@87867 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2009-10-01 03:36:43 +00:00
parent 816ae894d9
commit 8d51ecadea

View File

@ -85,7 +85,6 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
// Locale" attribute is either explicitly added by LeftAndMain Javascript logic, // Locale" attribute is either explicitly added by LeftAndMain Javascript logic,
// or implied on a translated record (see {@link Translatable->updateCMSFields()}). // or implied on a translated record (see {@link Translatable->updateCMSFields()}).
if(Translatable::is_enabled()) {
// $Lang serves as a "context" which can be inspected by Translatable - hence it // $Lang serves as a "context" which can be inspected by Translatable - hence it
// has the same name as the database property on Translatable. // has the same name as the database property on Translatable.
if($this->getRequest()->requestVar("Locale")) { if($this->getRequest()->requestVar("Locale")) {
@ -96,20 +95,12 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
$this->Locale = Translatable::default_locale(); $this->Locale = Translatable::default_locale();
} }
Translatable::set_current_locale($this->Locale); Translatable::set_current_locale($this->Locale);
}
// collect languages for TinyMCE spellchecker plugin // collect languages for TinyMCE spellchecker plugin.
if(Translatable::is_enabled()) { // see http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker
$spellcheckLangs = Translatable::get_existing_content_languages(); $lang = i18n::get_lang_from_locale($this->Locale);
} else { $langName = i18n::get_locale_name($this->Locale);
$defaultLang = Translatable::default_locale(); HtmlEditorConfig::get('cms')->setOption('spellchecker_languages', "+{$langName}={$lang}");
$spellcheckLangs = array($defaultLang => i18n::get_locale_name($defaultLang));
}
$spellcheckSpec = array();
foreach($spellcheckLangs as $lang => $title) $spellcheckSpec[] = "{$title}={$lang}";
// Set custom options for TinyMCE specific to CMSMain
HtmlEditorConfig::get('cms')->setOption('spellchecker_languages', '+' . implode(',', $spellcheckSpec));
Requirements::javascript(CMS_DIR . '/javascript/CMSMain.js'); Requirements::javascript(CMS_DIR . '/javascript/CMSMain.js');
Requirements::javascript(CMS_DIR . '/javascript/CMSMain_left.js'); Requirements::javascript(CMS_DIR . '/javascript/CMSMain_left.js');