1<?php 2 3 4use ComboStrap\PluginUtility; 5use ComboStrap\TplConstant; 6use ComboStrap\TplUtility; 7 8/** 9 * Class action_plugin_combo_hidden 10 * Hide page 11 */ 12class action_plugin_combo_hiddenpage extends DokuWiki_Action_Plugin 13{ 14 15 16 const CANONICAL = ""; 17 18 public function register(Doku_Event_Handler $controller) 19 { 20 /** 21 * https://www.dokuwiki.org/devel:event:pageutils_id_hidepage 22 */ 23 $controller->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'handleIsHidden', array()); 24 } 25 26 function handleIsHidden(&$event, $param) 27 { 28 global $conf; 29 30 /** 31 * Caching the strap bars and private namespace 32 */ 33 $pattern = "(" . $conf['sidebar'] . "|" . PluginUtility::COMBOSTRAP_NAMESPACE_NAME; 34 if ($conf['template'] == PluginUtility::TEMPLATE_STRAP_NAME) { 35 $loaded = PluginUtility::loadStrapUtilityTemplate(); 36 if ($loaded) { 37 if (defined('ComboStrap\TplUtility::CONF_FOOTER')) { 38 $footer = tpl_getConf(TplUtility::CONF_FOOTER); 39 $pattern .= "|" . $footer; 40 } 41 if (defined('ComboStrap\TplUtility::CONF_SIDEKICK')) { 42 $sidekick = tpl_getConf(TplUtility::CONF_SIDEKICK); 43 $pattern .= "|" . $sidekick; 44 } 45 if (defined('ComboStrap\TplUtility::CONF_HEADER')) { 46 $header = tpl_getConf(TplUtility::CONF_HEADER); 47 $pattern .= "|" . $header; 48 } 49 } 50 } 51 $pattern .= ")"; 52 if (preg_match('/' . $pattern . '/ui', ':' . $event->data['id'])) { 53 $event->data['hidden'] = true; 54 } 55 56 } 57 58 59} 60