diff --git a/lib/WebGUI/Operation/International.pm b/lib/WebGUI/Operation/International.pm
index 98da6b623..aa785f2d8 100644
--- a/lib/WebGUI/Operation/International.pm
+++ b/lib/WebGUI/Operation/International.pm
@@ -182,29 +182,36 @@ sub www_editInternationalMessageSave {
#-------------------------------------------------------------------
sub www_editLanguage {
- my ($output, %data, $f);
+ my ($output, $slash, $dir, @files, $file, %data, $f, %options);
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
tie %data, 'Tie::CPHash';
- if (WebGUI::Privilege::isInGroup(3)) {
- if ($session{form}{lid} eq "new") {
- $data{characterSet} = "ISO-8859-1";
- $data{toolbar} = "default";
- } else {
- %data = WebGUI::SQL->quickHash("select * from language where languageId=".$session{form}{lid});
- }
- $output = '
'.WebGUI::International::get(589).'
';
- $f = WebGUI::HTMLForm->new;
- $f->readOnly($session{form}{lid},WebGUI::International::get(590));
- $f->hidden("lid",$session{form}{lid});
- $f->hidden("op","editLanguageSave");
- $f->text("language",WebGUI::International::get(591),$data{language});
- $f->text("characterSet",WebGUI::International::get(592),$data{characterSet});
- $f->text("toolbar",WebGUI::International::get(746),$data{toolbar});
- $f->submit;
- $output .= $f->print;
- return _submenu($output);
+ $slash = ($^O =~ /Win/i) ? "\\" : "/";
+ $dir = $session{config}{webguiRoot}.$slash."www".$slash."extras".$slash."toolbar";
+ opendir (DIR,$dir) or WebGUI::ErrorHandler::warn("Can't open toolbar directory!");
+ @files = readdir(DIR);
+ foreach $file (@files) {
+ if ($file ne ".." && $file ne ".") {
+ $options{$file} = $file;
+ }
+ }
+ closedir(DIR);
+ if ($session{form}{lid} eq "new") {
+ $data{characterSet} = "ISO-8859-1";
+ $data{toolbar} = "default";
} else {
- return WebGUI::Privilege::adminOnly();
+ %data = WebGUI::SQL->quickHash("select * from language where languageId=".$session{form}{lid});
}
+ $output = ''.WebGUI::International::get(589).'
';
+ $f = WebGUI::HTMLForm->new;
+ $f->readOnly($session{form}{lid},WebGUI::International::get(590));
+ $f->hidden("lid",$session{form}{lid});
+ $f->hidden("op","editLanguageSave");
+ $f->text("language",WebGUI::International::get(591),$data{language});
+ $f->text("characterSet",WebGUI::International::get(592),$data{characterSet});
+ $f->select("toolbar",\%options,WebGUI::International::get(746),[$data{toolbar}]);
+ $f->submit;
+ $output .= $f->print;
+ return _submenu($output);
}
#-------------------------------------------------------------------
@@ -214,7 +221,8 @@ sub www_editLanguageSave {
$session{form}{lid} = getNextId("languageId");
WebGUI::SQL->write("insert into language (languageId) values ($session{form}{lid})");
}
- WebGUI::SQL->write("update language set language=".quote($session{form}{language}).", characterSet=".quote($session{form}{characterSet})."
+ WebGUI::SQL->write("update language set language=".quote($session{form}{language}).",
+ characterSet=".quote($session{form}{characterSet}).", toolbar=".quote($session{form}{toolbar})."
where languageId=".$session{form}{lid});
return www_editLanguage();
} else {