summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/load.php2
-rw-r--r--inc/plugincontroller.class.php5
2 files changed, 4 insertions, 3 deletions
diff --git a/inc/load.php b/inc/load.php
index 57295bd8a..8df68d1b3 100644
--- a/inc/load.php
+++ b/inc/load.php
@@ -95,7 +95,7 @@ function load_autoload($name){
}
// Plugin loading
- if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_([a-z0-9]+)(?:_([^_]+))?$/',
+ if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_([a-zA-Z0-9\x7f-\xff]+)(?:_([^_]+))?$/',
$name, $m)) {
// try to load the wanted plugin file
$c = ((count($m) === 4) ? "/{$m[3]}" : '');
diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php
index 0d3080250..9d7b51e14 100644
--- a/inc/plugincontroller.class.php
+++ b/inc/plugincontroller.class.php
@@ -156,8 +156,9 @@ class Doku_Plugin_Controller {
} else {
$all_plugins[$plugin] = 1;
}
- if ($all_plugins[$plugin] == 1 && preg_match('/^[a-z0-9]+$/', $plugin) !== 1) {
- msg(sprintf("Plugin name '%s' is not a valid plugin name, only the characters a-z and 0-9 are allowed.", hsc($plugin)), -1);
+ if ($all_plugins[$plugin] == 1 && preg_match('/^[a-zA-Z0-9\x7f-\xff]+$/', $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;