11aeb2b4dSghi<?php 21aeb2b4dSghi 3*bab76148SSzymon Olewniczakuse dokuwiki\plugin\approve\meta\ApproveConst; 4*bab76148SSzymon Olewniczak 51aeb2b4dSghiif(!defined('DOKU_INC')) die(); 61aeb2b4dSghi 71aeb2b4dSghiclass action_plugin_approve_revisions extends DokuWiki_Action_Plugin { 81aeb2b4dSghi 9*bab76148SSzymon Olewniczak /** @var DokuWiki_PluginInterface */ 10*bab76148SSzymon Olewniczak protected $hlp; 11*bab76148SSzymon Olewniczak 1250481663SSzymon Olewniczak function __construct(){ 1350481663SSzymon Olewniczak $this->hlp = plugin_load('helper', 'approve'); 1450481663SSzymon Olewniczak } 1550481663SSzymon Olewniczak 1650481663SSzymon Olewniczak 1750481663SSzymon Olewniczak function register(Doku_Event_Handler $controller) { 181aeb2b4dSghi $controller->register_hook('HTML_REVISIONSFORM_OUTPUT', 'BEFORE', $this, 'handle_revisions', array()); 197efbcc93Sghi $controller->register_hook('HTML_RECENTFORM_OUTPUT', 'BEFORE', $this, 'handle_revisions', array()); 201aeb2b4dSghi } 211aeb2b4dSghi 22d0c5854eSSzymon Olewniczak function handle_revisions(Doku_Event $event, $param) { 231aeb2b4dSghi global $ID; 241aeb2b4dSghi 2550481663SSzymon Olewniczak if ($this->hlp->in_namespace($this->getConf('no_apr_namespaces'), $ID)) return; 2650481663SSzymon Olewniczak 271aeb2b4dSghi $member = NULL; 281aeb2b4dSghi foreach ($event->data->_content as $key => $ref) { 291aeb2b4dSghi 3055f447f4SSzymon Olewniczak if (is_array($ref) && isset($ref['_elem']) && $ref['_elem'] == 'opentag' && $ref['_tag'] == 'div' && $ref['class'] == 'li') { 3155f447f4SSzymon Olewniczak $member = $key; 32*bab76148SSzymon Olewniczak } elseif (is_string($ref) && strstr($ref, ApproveConst::APPROVED)) { 3355f447f4SSzymon Olewniczak $event->data->_content[$member]['class'] .= ' plugin__approve_green'; 3455f447f4SSzymon Olewniczak } 3555f447f4SSzymon Olewniczak 361aeb2b4dSghi } 371aeb2b4dSghi 381aeb2b4dSghi return true; 391aeb2b4dSghi } 401aeb2b4dSghi 411aeb2b4dSghi} 42