1007225e5Sgerardnico<?php 2007225e5Sgerardnico 3007225e5Sgerardnico 4007225e5Sgerardnicouse ComboStrap\PluginUtility; 5007225e5Sgerardnicouse ComboStrap\TplConstant; 621913ab3SNickeauuse ComboStrap\TplUtility; 7007225e5Sgerardnico 8007225e5Sgerardnico/** 9007225e5Sgerardnico * Class action_plugin_combo_hidden 10007225e5Sgerardnico * Hide page 11*85e82846SNickeau * 12*85e82846SNickeau * 13*85e82846SNickeau * More on the official [[doku>config:hidepages|DokuWiki documentation]] 14007225e5Sgerardnico */ 15007225e5Sgerardnicoclass action_plugin_combo_hiddenpage extends DokuWiki_Action_Plugin 16007225e5Sgerardnico{ 17007225e5Sgerardnico 18007225e5Sgerardnico 1921913ab3SNickeau const CANONICAL = ""; 2021913ab3SNickeau 21007225e5Sgerardnico public function register(Doku_Event_Handler $controller) 22007225e5Sgerardnico { 23007225e5Sgerardnico /** 24007225e5Sgerardnico * https://www.dokuwiki.org/devel:event:pageutils_id_hidepage 25007225e5Sgerardnico */ 26007225e5Sgerardnico $controller->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'handleIsHidden', array()); 27007225e5Sgerardnico } 28007225e5Sgerardnico 29007225e5Sgerardnico function handleIsHidden(&$event, $param) 30007225e5Sgerardnico { 31007225e5Sgerardnico global $conf; 32007225e5Sgerardnico 33007225e5Sgerardnico /** 34*85e82846SNickeau * Caching the slot and private namespace 35007225e5Sgerardnico */ 36007225e5Sgerardnico $pattern = "(" . $conf['sidebar'] . "|" . PluginUtility::COMBOSTRAP_NAMESPACE_NAME; 37007225e5Sgerardnico if ($conf['template'] == PluginUtility::TEMPLATE_STRAP_NAME) { 38531e725cSNickeau $loaded = PluginUtility::loadStrapUtilityTemplateIfPresentAndSameVersion(); 394bbe70e0Sgerardnico if ($loaded) { 40531e725cSNickeau 41531e725cSNickeau $pattern .= "|" . TplUtility::getFooterSlotPageName(); 42531e725cSNickeau $pattern .= "|" . TplUtility::getSideKickSlotPageName(); 43531e725cSNickeau $pattern .= "|" . TplUtility::getHeaderSlotPageName(); 44531e725cSNickeau 454bbe70e0Sgerardnico } 46007225e5Sgerardnico } 47007225e5Sgerardnico $pattern .= ")"; 48007225e5Sgerardnico if (preg_match('/' . $pattern . '/ui', ':' . $event->data['id'])) { 49007225e5Sgerardnico $event->data['hidden'] = true; 50007225e5Sgerardnico } 51007225e5Sgerardnico 52007225e5Sgerardnico } 53007225e5Sgerardnico 54007225e5Sgerardnico 55007225e5Sgerardnico} 56