Move plugin name regex to a constant as suggested by @glensc
This commit is contained in:
parent
30c1351e81
commit
7521090b08
3 changed files with 4 additions and 2 deletions
|
@ -95,7 +95,7 @@ function load_autoload($name){
|
|||
}
|
||||
|
||||
// Plugin loading
|
||||
if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_([a-zA-Z0-9\x7f-\xff]+)(?:_([^_]+))?$/',
|
||||
if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_('.DOKU_PLUGIN_NAME_REGEX.')(?:_([^_]+))?$/',
|
||||
$name, $m)) {
|
||||
// try to load the wanted plugin file
|
||||
$c = ((count($m) === 4) ? "/{$m[3]}" : '');
|
||||
|
|
|
@ -156,7 +156,7 @@ class Doku_Plugin_Controller {
|
|||
} else {
|
||||
$all_plugins[$plugin] = 1;
|
||||
}
|
||||
if ($all_plugins[$plugin] == 1 && preg_match('/^[a-zA-Z0-9\x7f-\xff]+$/', $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);
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
// plugin related constants
|
||||
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
|
||||
// note that only [a-z0-9]+ is officially supported, this is only to support plugins that don't follow these conventions, too
|
||||
if(!defined('DOKU_PLUGIN_NAME_REGEX')) define('DOKU_PLUGIN_NAME_REGEX', '[a-zA-Z0-9\x7f-\xff]+');
|
||||
|
||||
/**
|
||||
* Original plugin functions, remain for backwards compatibility
|
||||
|
|
Loading…
Reference in a new issue