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}