diff options
author | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
---|---|---|
committer | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
commit | 0f8ac4e8c5872a6b68b350f96a9ecde0291edefa (patch) | |
tree | ad7938bb4143d5e5a38fd7a8d131e4171aec657d /inc/plugincontroller.class.php | |
parent | 58ec8fa9128e4581749955de87530f432e387588 (diff) | |
parent | b31fcef02fd24b3e746c9618e77152c7b84c2f2a (diff) | |
download | rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.gz rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.bz2 |
Merge branch 'master' into stable
Diffstat (limited to 'inc/plugincontroller.class.php')
-rw-r--r-- | inc/plugincontroller.class.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 734331c94..968d47a5c 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -70,7 +70,6 @@ class Doku_Plugin_Controller { //we keep all loaded plugins available in global scope for reuse global $DOKU_PLUGINS; - global $lang; list($plugin,$component) = $this->_splitName($name); @@ -97,7 +96,7 @@ class Doku_Plugin_Controller { $dir = $this->get_directory($plugin); $inf = confToHash(DOKU_PLUGIN."$dir/plugin.info.txt"); if($inf['base'] && $inf['base'] != $plugin){ - msg(sprintf($lang['plugin_install_err'],hsc($plugin),hsc($inf['base'])),-1); + msg(sprintf("Plugin installed incorrectly. Rename plugin directory '%s' to '%s'.", hsc($plugin), hsc($inf['base'])), -1); } return null; } @@ -137,6 +136,7 @@ class Doku_Plugin_Controller { // the plugin was disabled by rc2009-01-26 // disabling mechanism was changed back very soon again // to keep everything simple we just skip the plugin completely + continue; } elseif (@file_exists(DOKU_PLUGIN.$plugin.'/disabled')) { // treat this as a default disabled plugin(over-rideable by the plugin manager) // deprecated 2011-09-10 (usage of disabled files) @@ -156,6 +156,10 @@ class Doku_Plugin_Controller { } else { $all_plugins[$plugin] = 1; } + if ($all_plugins[$plugin] == 1 && preg_match('/^'.DOKU_PLUGIN_NAME_REGEX.'$/', $plugin) !== 1) { + msg(sprintf("Plugin name '%s' is not a valid plugin name, only the characters a-z and 0-9 are allowed. ". + 'Maybe the plugin has been installed in the wrong directory?', hsc($plugin)), -1); + } } $this->tmp_plugins = $all_plugins; if (!file_exists($this->last_local_config_file)) { @@ -168,7 +172,7 @@ class Doku_Plugin_Controller { $plugins = array(); foreach($files as $file) { if(file_exists($file)) { - @include_once($file); + include_once($file); } } return $plugins; |