xref: /plugin/combo/action/hiddenpage.php (revision 4bbe70e0e63375508803b6a252b35e0d1549a0e9)
1007225e5Sgerardnico<?php
2007225e5Sgerardnico
3007225e5Sgerardnico
4007225e5Sgerardnicouse ComboStrap\PluginUtility;
5007225e5Sgerardnicouse ComboStrap\TplConstant;
621913ab3SNickeauuse ComboStrap\TplUtility;
7007225e5Sgerardnico
8007225e5Sgerardnico/**
9007225e5Sgerardnico * Class action_plugin_combo_hidden
10007225e5Sgerardnico * Hide page
11007225e5Sgerardnico */
12007225e5Sgerardnicoclass action_plugin_combo_hiddenpage extends DokuWiki_Action_Plugin
13007225e5Sgerardnico{
14007225e5Sgerardnico
15007225e5Sgerardnico
1621913ab3SNickeau    const CANONICAL = "";
1721913ab3SNickeau
18007225e5Sgerardnico    public function register(Doku_Event_Handler $controller)
19007225e5Sgerardnico    {
20007225e5Sgerardnico        /**
21007225e5Sgerardnico         * https://www.dokuwiki.org/devel:event:pageutils_id_hidepage
22007225e5Sgerardnico         */
23007225e5Sgerardnico        $controller->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'handleIsHidden', array());
24007225e5Sgerardnico    }
25007225e5Sgerardnico
26007225e5Sgerardnico    function handleIsHidden(&$event, $param)
27007225e5Sgerardnico    {
28007225e5Sgerardnico        global $conf;
29007225e5Sgerardnico
30007225e5Sgerardnico        /**
31007225e5Sgerardnico         * Caching the strap bars and private namespace
32007225e5Sgerardnico         */
33007225e5Sgerardnico        $pattern = "(" . $conf['sidebar'] . "|" . PluginUtility::COMBOSTRAP_NAMESPACE_NAME;
34007225e5Sgerardnico        if ($conf['template'] == PluginUtility::TEMPLATE_STRAP_NAME) {
35*4bbe70e0Sgerardnico            $loaded = PluginUtility::loadStrapUtilityTemplate();
36*4bbe70e0Sgerardnico            if ($loaded) {
37*4bbe70e0Sgerardnico                if (defined('ComboStrap\TplUtility::CONF_FOOTER')) {
3821913ab3SNickeau                    $footer = tpl_getConf(TplUtility::CONF_FOOTER);
39*4bbe70e0Sgerardnico                    $pattern .= "|" . $footer;
40*4bbe70e0Sgerardnico                }
41*4bbe70e0Sgerardnico                if (defined('ComboStrap\TplUtility::CONF_SIDEKICK')) {
4221913ab3SNickeau                    $sidekick = tpl_getConf(TplUtility::CONF_SIDEKICK);
43*4bbe70e0Sgerardnico                    $pattern .= "|" . $sidekick;
44*4bbe70e0Sgerardnico                }
45*4bbe70e0Sgerardnico                if (defined('ComboStrap\TplUtility::CONF_HEADER')) {
4621913ab3SNickeau                    $header = tpl_getConf(TplUtility::CONF_HEADER);
47*4bbe70e0Sgerardnico                    $pattern .= "|" . $header;
48*4bbe70e0Sgerardnico                }
49*4bbe70e0Sgerardnico            }
50007225e5Sgerardnico        }
51007225e5Sgerardnico        $pattern .= ")";
52007225e5Sgerardnico        if (preg_match('/' . $pattern . '/ui', ':' . $event->data['id'])) {
53007225e5Sgerardnico            $event->data['hidden'] = true;
54007225e5Sgerardnico        }
55007225e5Sgerardnico
56007225e5Sgerardnico    }
57007225e5Sgerardnico
58007225e5Sgerardnico
59007225e5Sgerardnico}
60