protected function getForm() { if (!$this->isPageAssignedToProject()) { throw new ErrorPageError('ar-approvalform-generalerror', 'ar-approvalform-pageunassigned'); } if (!$this->userCanApprovePage()) { throw new ErrorPageError('ar-approvalform-badaccess', 'ar-approvalform-badaccess-group', ApprovedRevs::getGroupName($this->getTitle())); } if (ApprovedRevs::isLatestRevisionApproved($this->getTitle())) { throw new ErrorPageError('ar-approvalform-generalerror', 'ar-approvalform-alreadyapproved', ApprovedRevs::getGroupName($this->getTitle())); } return parent::getForm(); }
/** * @param ParserOutput $parserOutput * * @return true * */ public static function onContentAlterParserOutput($content, $title, $parserOutput) { if (ApprovedRevsHooks::$categoryAdded === true || $title === null || !ApprovedRevs::isAssignedToProject($title)) { return true; } // Add tracking categories, one general for all assigned pages and another for (un?)approved $trackingCat = 'approvedrevs-tracking-category'; $parserOutput->addTrackingCategory($trackingCat, $title); $trackingCat .= ApprovedRevs::isLatestRevisionApproved($title) ? '-approved' : '-unapproved'; $parserOutput->addTrackingCategory($trackingCat, $title); //ApprovedRevsHooks::$categoryAdded = true; return true; }