1007225e5Sgerardnico<?php 2007225e5Sgerardnico 3007225e5Sgerardnico 4*4cadd4f8SNickeauuse ComboStrap\ExceptionCombo; 5007225e5Sgerardnicouse ComboStrap\PluginUtility; 6*4cadd4f8SNickeauuse ComboStrap\Site; 7007225e5Sgerardnicouse ComboStrap\TplConstant; 821913ab3SNickeauuse ComboStrap\TplUtility; 9007225e5Sgerardnico 10007225e5Sgerardnico/** 11007225e5Sgerardnico * Class action_plugin_combo_hidden 12007225e5Sgerardnico * Hide page 1385e82846SNickeau * 1485e82846SNickeau * 1585e82846SNickeau * More on the official [[doku>config:hidepages|DokuWiki documentation]] 16007225e5Sgerardnico */ 17007225e5Sgerardnicoclass action_plugin_combo_hiddenpage extends DokuWiki_Action_Plugin 18007225e5Sgerardnico{ 19007225e5Sgerardnico 20007225e5Sgerardnico 2121913ab3SNickeau const CANONICAL = ""; 2221913ab3SNickeau 23007225e5Sgerardnico public function register(Doku_Event_Handler $controller) 24007225e5Sgerardnico { 25007225e5Sgerardnico /** 26007225e5Sgerardnico * https://www.dokuwiki.org/devel:event:pageutils_id_hidepage 27007225e5Sgerardnico */ 28007225e5Sgerardnico $controller->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'handleIsHidden', array()); 29007225e5Sgerardnico } 30007225e5Sgerardnico 31007225e5Sgerardnico function handleIsHidden(&$event, $param) 32007225e5Sgerardnico { 33007225e5Sgerardnico global $conf; 34007225e5Sgerardnico 35007225e5Sgerardnico /** 3685e82846SNickeau * Caching the slot and private namespace 37007225e5Sgerardnico */ 38007225e5Sgerardnico $pattern = "(" . $conf['sidebar'] . "|" . PluginUtility::COMBOSTRAP_NAMESPACE_NAME; 39007225e5Sgerardnico if ($conf['template'] == PluginUtility::TEMPLATE_STRAP_NAME) { 40*4cadd4f8SNickeau try { 41*4cadd4f8SNickeau Site::loadStrapUtilityTemplateIfPresentAndSameVersion(); 42*4cadd4f8SNickeau } catch (ExceptionCombo $e) { 43*4cadd4f8SNickeau return; 44*4cadd4f8SNickeau } 45531e725cSNickeau 46531e725cSNickeau $pattern .= "|" . TplUtility::getFooterSlotPageName(); 47531e725cSNickeau $pattern .= "|" . TplUtility::getSideKickSlotPageName(); 48531e725cSNickeau $pattern .= "|" . TplUtility::getHeaderSlotPageName(); 49*4cadd4f8SNickeau $pattern .= "|" . TplUtility::getMainFooterSlotName(); 50*4cadd4f8SNickeau $pattern .= "|" . TplUtility::getMainHeaderSlotName(); 51531e725cSNickeau 524bbe70e0Sgerardnico } 53007225e5Sgerardnico $pattern .= ")"; 54007225e5Sgerardnico if (preg_match('/' . $pattern . '/ui', ':' . $event->data['id'])) { 55007225e5Sgerardnico $event->data['hidden'] = true; 56007225e5Sgerardnico } 57007225e5Sgerardnico 58007225e5Sgerardnico } 59007225e5Sgerardnico 60007225e5Sgerardnico 61007225e5Sgerardnico} 62