function handle_io_write(Doku_Event &$event, $param) { # This is the only hook I could find which runs on save, # but late enough to have lastmod set (ACTION_ACT_PREPROCESS # is too early) global $ACT; global $INPUT; if ($ACT != 'show') { return; } if (!$INPUT->has('publish_approve')) { return; } if (!$this->helper->canApprove()) { msg($this->getLang('wrong permissions to approve'), -1); return; } $this->addApproval(); return; }
private function showApproveAction() { global $ID; global $REV; global $USERINFO; if (!$this->hlp->canApprove()) { return; } $approvals = $this->hlp->getApprovalsOnRevision($this->hlp->getRevision()); foreach ($approvals as $approve) { if ($approve[1] == $_SERVER['REMOTE_USER']) { return; } if ($approve[1] == $USERINFO['mail']) { return; } } echo '<span class="approval_action">'; echo '<a href="' . wl($ID, array('rev' => $REV, 'publish_approve' => 1)) . '">'; echo $this->getLang('approve action'); echo '</a>'; echo '</span> '; }