xref: /plugin/davcal/action/cache.php (revision 13b16484544ce9af366ba2deb0a3e1be2c3f2947)
14ed26d55SAndreas Boehler<?php
24ed26d55SAndreas Boehler
34ed26d55SAndreas Boehler/**
4*13b16484SAndreas Boehler * DokuWiki DAVCal PlugIn - Cache component
54ed26d55SAndreas Boehler */
64ed26d55SAndreas Boehler
74ed26d55SAndreas Boehlerif(!defined('DOKU_INC')) die();
84ed26d55SAndreas Boehler
94ed26d55SAndreas Boehlerclass action_plugin_davcal_cache extends DokuWiki_Action_Plugin {
104ed26d55SAndreas Boehler
114ed26d55SAndreas Boehler    /**
124ed26d55SAndreas Boehler     * @var helper_plugin_davcal
134ed26d55SAndreas Boehler     */
144ed26d55SAndreas Boehler    private $hlp = null;
154ed26d55SAndreas Boehler
164ed26d55SAndreas Boehler    function __construct() {
174ed26d55SAndreas Boehler        $this->hlp =& plugin_load('helper','davcal');
184ed26d55SAndreas Boehler    }
194ed26d55SAndreas Boehler
204ed26d55SAndreas Boehler    function register(Doku_Event_Handler $controller) {
214ed26d55SAndreas Boehler        $controller->register_hook('PARSER_CACHE_USE', 'BEFORE', $this, 'handle_parser_cache_use');
224ed26d55SAndreas Boehler    }
234ed26d55SAndreas Boehler
244ed26d55SAndreas Boehler    function handle_parser_cache_use(&$event, $param) {
254ed26d55SAndreas Boehler      global $ID;
264ed26d55SAndreas Boehler      $cache = &$event->data;
274ed26d55SAndreas Boehler      if(!isset($cache->page)) return;
284ed26d55SAndreas Boehler
294ed26d55SAndreas Boehler      $davcalMeta = p_get_metadata($ID, 'plugin_davcal');
304ed26d55SAndreas Boehler      if(!$davcalMeta)
314ed26d55SAndreas Boehler        return;
324ed26d55SAndreas Boehler
334ed26d55SAndreas Boehler      if(isset($davcalMeta['table']) && $davcalMeta['table'] === true)
344ed26d55SAndreas Boehler      {
354ed26d55SAndreas Boehler            $event->preventDefault();
364ed26d55SAndreas Boehler            $event->stopPropagation();
374ed26d55SAndreas Boehler            $event->result = false;
384ed26d55SAndreas Boehler      }
394ed26d55SAndreas Boehler    }
404ed26d55SAndreas Boehler
414ed26d55SAndreas Boehler}