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