diff --git a/inc/actions.php b/inc/actions.php index 01d1d29d492069865392a5b1a89ad2973d622b05..6ce67eb9aa3ec1bfe6164e75cd458b12859ececa 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -474,8 +474,7 @@ function act_edit($act){ $TEXT = rawWiki($ID,$REV); } } else { - $data = array($ID); - $TEXT = trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); + $TEXT = pageTemplate($ID); } } diff --git a/inc/common.php b/inc/common.php index 0d5efbee9176a7246c67dc396bb5a082ade5c41d..6601ae4781794358737d5b9603be620a549d4ea9 100644 --- a/inc/common.php +++ b/inc/common.php @@ -809,14 +809,16 @@ function rawWiki($id,$rev=''){ /** * Returns the pagetemplate contents for the ID's namespace * + * @triggers COMMON_PAGE_FROMTEMPLATE * @author Andreas Gohr <andi@splitbrain.org> */ -function pageTemplate($data){ - $id = $data[0]; +function pageTemplate($id){ global $conf; - $path = dirname(wikiFN($id)); + if (is_array($id)) $id = $id[0]; + $path = dirname(wikiFN($id)); + $tpl = ''; if(@file_exists($path.'/_template.txt')){ $tpl = io_readFile($path.'/_template.txt'); }else{ @@ -830,15 +832,20 @@ function pageTemplate($data){ $path = substr($path, 0, strrpos($path, '/')); } } - return isset($tpl) ? parsePageTemplate($tpl, $id) : ''; + $data = compact('tpl', 'id'); + trigger_event('COMMON_PAGE_FROMTEMPLATE', $data, 'parsePageTemplate', true); + return $data['tpl']; } /** * Performs common page template replacements + * This is the default action for COMMON_PAGE_FROMTEMPLATE * * @author Andreas Gohr <andi@splitbrain.org> */ -function parsePageTemplate($tpl, $id) { +function parsePageTemplate($data) { + extract($data); + global $USERINFO; global $conf; diff --git a/inc/html.php b/inc/html.php index ae3e56e0a77f7dee7bb56d3d0eeced3c7f80cb61..cfa4dbe3da2703643216bae4bdb36d5b4d4233b0 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1127,7 +1127,6 @@ function html_updateprofile(){ /** * Preprocess edit form data * - * @triggers HTML_PAGE_FROMTEMPLATE * @author Andreas Gohr <andi@splitbrain.org> */ function html_edit(){ diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index a29a4061275a7ade62afe93664678de637a1865a..155812d22878d28f10c790f61d628e73212d9c29 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -290,8 +290,7 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { } $text = rawWiki($id,$rev); if(!$text) { - $data = array($id); - return trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); + return pageTemplate($id); } else { return $text; }