From 89d74a2fd7d0dc4b48e7df429bea2ddb84a5dba6 Mon Sep 17 00:00:00 2001 From: chris Date: Sat, 28 Jan 2006 02:16:05 +0100 Subject: config plugin update, fix php5 warnings + other improvements darcs-hash:20060128011605-9b6ab-38b917f8e1b311ff319d1cfd356369e428e95c3e.gz --- lib/plugins/config/admin.php | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'lib/plugins/config/admin.php') 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; + } } -- cgit v1.2.3