xref: /plugin/approve/action/revisions.php (revision dc2fc90d5308ddb76c89d201c2db2474e1d7b6f3)
1<?php
2
3if(!defined('DOKU_INC')) die();
4
5class action_plugin_approve_revisions extends DokuWiki_Action_Plugin {
6
7    private $hlp;
8    function __construct(){
9        $this->hlp = plugin_load('helper', 'approve');
10    }
11
12	function register(Doku_Event_Handler $controller) {
13		$controller->register_hook('HTML_REVISIONSFORM_OUTPUT', 'BEFORE', $this, 'handle_revisions', array());
14		$controller->register_hook('HTML_RECENTFORM_OUTPUT', 'BEFORE', $this, 'handle_revisions', array());
15	}
16
17	function handle_revisions(Doku_Event $event, $param) {
18		global $ID;
19		global $INFO;
20
21		if ($this->hlp->in_namespace($this->getConf('no_apr_namespaces'), $ID)) return;
22
23		$member = NULL;
24		foreach ($event->data->_content as $key => $ref) {
25			if(isset($ref['_elem']) && $ref['_elem'] == 'opentag' && $ref['_tag'] == 'div' && $ref['class'] == 'li')
26				$member = $key;
27
28			if (is_string($ref) && strstr($ref, 'Approved'))
29				$event->data->_content[$member]['class'] = 'li approved_yes';
30		}
31
32		return true;
33	}
34
35}
36