diff --git a/inc/template.php b/inc/template.php index f918d1a047019690c2f909dedb7f268db2243517..5508233ae7c5a45aaef9817e7d66b1eb43491698 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; } /**