From 7b4365a732a993fcabe66b9ff4b4c85afb5ae367 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Sat, 1 Aug 2015 02:20:13 +0200 Subject: TPL_ACTION_UNKNOWN event for building action/button links --- inc/template.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index f918d1a04..5508233ae 100644 --- a/inc/template.php +++ b/inc/template.php @@ -647,6 +647,8 @@ function tpl_get_action($type) { $params = array('do' => $type); $nofollow = true; $replacement = ''; + + $unknown = false; switch($type) { case 'edit': // most complicated type - we need to decide on current action @@ -771,9 +773,23 @@ function tpl_get_action($type) { //$type = 'media'; break; default: - return '[unknown %s type]'; + //unknown type + $unknown = true; } - return compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow', 'replacement'); + + $data = compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow', 'replacement'); + + $evt = new Doku_Event('TPL_ACTION_UNKNOWN', $data); + if($evt->advise_before()) { + //handle unknown types + if($unknown) { + $data = '[unknown %s type]'.$type; + } + } + $evt->advise_after(); + unset($evt); + + return $data; } /** -- cgit v1.2.3