<?php
/**
 * Prolog plug-in : Rule-based System for Groupware.
 * 
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * @author     Paweł Kupka <pawel.kupka@gmail.com>
 */
 
// must be run within Dokuwiki
if (!defined('DOKU_INC')) die();
if (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/');
require_once (DOKU_PLUGIN . 'action.php');
 
class action_plugin_prolog extends DokuWiki_Action_Plugin {
 
	/**
	 * Returns the information about action prolog plug-in
	 */
	function getInfo() {
		return array 
					 (
						 'author' => 'Paweł Kupka',
						 'email'  => 'pawel.kupka@gmail.com',
						 'date'   => '2008-05-02',
						 'name'   => 'Action prolog plug-in',
						 'desc'   => 'Rule-based System for Groupware.',
						 'url'    => 'https://ai.ia.agh.edu.pl'
					 );
	}
 
	/**
	 * Registers its procedures of event operations in the DokuWiki controller
	 * @param object $controller DokuWiki's event controller object. Also available as global $EVENT_HANDLER
	 */
	function register(&$controller) 
	{
		$controller->register_hook('PARSER_CACHE_USE', 'BEFORE', $this, '_preventCache', array ());
	}
 
	/**
	 * Prevents page caching
	 * @param mixed $param the parameters passed to register_hook when this handler was registered
	 * @param object $event event object by reference
	 */
	function _preventCache(&$event, $param) 
	{
		$event->preventDefault();
		$event->stopPropagation();
		$event->result = false;
	}
}