summaryrefslogtreecommitdiff
path: root/lib/plugins/config/admin.php
diff options
context:
space:
mode:
authorchris <chris@jalakai.co.uk>2006-01-28 02:16:05 +0100
committerchris <chris@jalakai.co.uk>2006-01-28 02:16:05 +0100
commit89d74a2fd7d0dc4b48e7df429bea2ddb84a5dba6 (patch)
treeccc82a752d09fcca015eefc1a930b42831efd9b5 /lib/plugins/config/admin.php
parentd66434c45239932da5af0bab47079ac96f7a6347 (diff)
downloadrpg-89d74a2fd7d0dc4b48e7df429bea2ddb84a5dba6.tar.gz
rpg-89d74a2fd7d0dc4b48e7df429bea2ddb84a5dba6.tar.bz2
config plugin update, fix php5 warnings + other improvements
darcs-hash:20060128011605-9b6ab-38b917f8e1b311ff319d1cfd356369e428e95c3e.gz
Diffstat (limited to 'lib/plugins/config/admin.php')
-rw-r--r--lib/plugins/config/admin.php40
1 files changed, 39 insertions, 1 deletions
diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php
index 41ec9cbbe..39af573ae 100644
--- a/lib/plugins/config/admin.php
+++ b/lib/plugins/config/admin.php
@@ -30,6 +30,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
var $_changed = false; // set to true if configuration has altered
var $_error = false;
var $_session_started = false;
+ var $_localised_prompts = false;
/**
* return some info
@@ -91,6 +92,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
global $lang;
if (is_null($this->_config)) { $this->_config = new configuration($this->_file); }
+ $this->setupLocale(true);
print $this->locale_xhtml('intro');
@@ -165,9 +167,45 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
return true;
}
-
+
function _close_session() {
if ($this->_session_started) session_write_close();
}
+
+ function setupLocale($prompts=false) {
+
+ parent::setupLocale();
+ if (!$prompts || $this->_localised_prompts) return;
+
+ $this->_setup_localised_plugin_prompts();
+ $this->_localised_prompts = true;
+
+ }
+
+ function _setup_localised_plugin_prompts() {
+ global $conf;
+
+ $langfile = '/lang/'.$conf[lang].'/settings.php';
+ $enlangfile = '/lang/en/settings.php';
+
+ $lang = array();
+
+ if ($dh = opendir(DOKU_PLUGIN)) {
+ while (false !== ($plugin = readdir($dh))) {
+ if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp' || $plugin == 'config') continue;
+ if (is_file(DOKU_PLUGIN.$plugin)) continue;
+
+ if (@file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){
+ @include(DOKU_PLUGIN.$plugin.$enlangfile);
+ if ($conf['lang'] != 'en') @include(DOKU_PLUGIN.$plugin.$langfile);
+ }
+ }
+ closedir($dh);
+
+ $this->lang = array_merge($lang, $this->lang);
+ }
+
+ return true;
+ }
}