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