summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/actions.php12
-rw-r--r--inc/config_cascade.php9
-rw-r--r--inc/html.php3
-rw-r--r--inc/lang/ar/lang.php2
-rw-r--r--inc/plugin.php10
-rw-r--r--inc/template.php11
6 files changed, 30 insertions, 17 deletions
diff --git a/inc/actions.php b/inc/actions.php
index 321d928b3..fa11bb7f1 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -18,6 +18,7 @@ if(!defined('DOKU_INC')) die('meh.');
function act_dispatch(){
global $ACT;
global $ID;
+ global $INFO;
global $QUERY;
global $lang;
global $conf;
@@ -134,8 +135,15 @@ function act_dispatch(){
$pluginlist = plugin_list('admin');
if (in_array($_REQUEST['page'], $pluginlist)) {
// attempt to load the plugin
- if ($plugin =& plugin_load('admin',$_REQUEST['page']) !== null)
- $plugin->handle();
+ if ($plugin =& plugin_load('admin',$_REQUEST['page']) !== null){
+ if($plugin->forAdminOnly() && !$INFO['isadmin']){
+ // a manager tried to load a plugin that's for admins only
+ unset($_REQUEST['page']);
+ msg('For admins only',-1);
+ }else{
+ $plugin->handle();
+ }
+ }
}
}
}
diff --git a/inc/config_cascade.php b/inc/config_cascade.php
index 32001be81..48ed5a000 100644
--- a/inc/config_cascade.php
+++ b/inc/config_cascade.php
@@ -49,10 +49,11 @@ $config_cascade = array_merge(
'local' => array(DOKU_CONF.'wordblock.local.conf'),
),
'userstyle' => array(
- 'default' => DOKU_CONF.'userstyle.css',
- 'print' => DOKU_CONF.'printstyle.css',
- 'feed' => DOKU_CONF.'feedstyle.css',
- 'all' => DOKU_CONF.'allstyle.css',
+ 'screen' => DOKU_CONF.'userstyle.css',
+ 'rtl' => DOKU_CONF.'userrtl.css',
+ 'print' => DOKU_CONF.'userprint.css',
+ 'feed' => DOKU_CONF.'userfeed.css',
+ 'all' => DOKU_CONF.'userall.css',
),
'userscript' => array(
'default' => DOKU_CONF.'userscript.js'
diff --git a/inc/html.php b/inc/html.php
index 080beb01a..fcfa54b6c 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -284,7 +284,8 @@ function html_hilight($html,$phrases){
$regex = join('|',array_map('ft_snippet_re_preprocess', array_map('preg_quote_cb',$phrases)));
if ($regex === '') return $html;
- $html = preg_replace_callback("/((<[^>]*)|$regex)/ui",'html_hilight_callback',$html);
+ if (!utf8_check($regex)) return $html;
+ $html = @preg_replace_callback("/((<[^>]*)|$regex)/ui",'html_hilight_callback',$html);
return $html;
}
diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php
index 300ec3b9a..cc2de9e8b 100644
--- a/inc/lang/ar/lang.php
+++ b/inc/lang/ar/lang.php
@@ -45,7 +45,7 @@ $lang['btn_resendpwd'] = 'ارسل كلمة سر جديدة';
$lang['btn_draft'] = 'حرر المسودة';
$lang['btn_recover'] = 'استرجع المسودة';
$lang['btn_draftdel'] = 'احذف المسوّدة';
-$lang['btn_revert'] = 'استعد
+$lang['btn_revert'] = 'استعد';
$lang['btn_register'] = 'سجّل';
$lang['loggedinas'] = 'داخل باسم';
$lang['user'] = 'اسم المستخدم';
diff --git a/inc/plugin.php b/inc/plugin.php
index 628ae39b0..ec94433b6 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -33,7 +33,15 @@ class DokuWiki_Plugin {
$parts = explode('_',get_class($this));
$info = DOKU_PLUGIN.'/'.$parts[2].'/plugin.info.txt';
if(@file_exists($info)) return confToHash($info);
- trigger_error('getInfo() not implemented in '.get_class($this).' and '.$info.' not found', E_USER_WARNING);
+
+ msg('getInfo() not implemented in '.get_class($this).
+ ' and '.$info.' not found.<br />This is a bug in the '.
+ $parts[2].' plugin and should be reported to the '.
+ 'plugin author.',-1);
+ return array(
+ 'date' => '0000-00-00',
+ 'name' => $parts[2].' plugin',
+ );
}
// plugin introspection methods
diff --git a/inc/template.php b/inc/template.php
index d29e3e779..0f0fb92a0 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -209,14 +209,9 @@ function tpl_admin(){
}
if ($plugin !== null){
- if($plugin->forAdminOnly() && !$INFO['isadmin']){
- msg('For admins only',-1);
- html_admin();
- }else{
- if(!is_array($TOC)) $TOC = $plugin->getTOC(); //if TOC wasn't requested yet
- if($INFO['prependTOC']) tpl_toc();
- $plugin->html();
- }
+ if(!is_array($TOC)) $TOC = $plugin->getTOC(); //if TOC wasn't requested yet
+ if($INFO['prependTOC']) tpl_toc();
+ $plugin->html();
}else{
html_admin();
}