/** * Insert assessment records after page is saved * @param LinksUpdate $linksUpdate */ public static function onLinksUpdateComplete(&$linksUpdate) { $pOut = $linksUpdate->getParserOutput(); if ($pOut->getExtensionData('ext-pageassessment-assessmentdata') !== null) { $assessmentData = $pOut->getExtensionData('ext-pageassessment-assessmentdata'); } else { // Even if there is no assessment data, we still need to run doUpdates // in case any assessment data was deleted from the page. $assessmentData = []; } $title = $linksUpdate->getTitle(); // In most cases $title will be a talk page, but we want to associate the // assessment data with the subject page. $subjectTitle = $title->getSubjectPage(); PageAssessmentsBody::doUpdates($subjectTitle, $assessmentData); }
/** * LinksUpdate hook handler * @see https://www.mediawiki.org/wiki/Manual:Hooks/LinksUpdate * @param LinksUpdate $linksUpdate */ public static function onLinksUpdate(&$linksUpdate) { global $wgUseDumbLinkUpdate; $out = $linksUpdate->getParserOutput(); $data = array(); if (isset($out->geoData)) { $geoData = $out->geoData; $data = $geoData->getAll(); } if ($wgUseDumbLinkUpdate || !count($data)) { self::doDumbUpdate($data, $linksUpdate->mId); } else { self::doSmartUpdate($data, $linksUpdate->mId); } return true; }
/** * LinksUpdate hook handler - saves a count of h2 elements that occur in the WikiPage * @see https://www.mediawiki.org/wiki/Manual:Hooks/LinksUpdate * * @param LinksUpdate $lu * @return bool */ public static function onLinksUpdate(LinksUpdate $lu) { if ($lu->getTitle()->isTalkPage()) { $parserOutput = $lu->getParserOutput(); $sections = $parserOutput->getSections(); $numTopics = 0; foreach ($sections as $section) { if ($section['toclevel'] == 1) { $numTopics += 1; } } if ($numTopics) { $lu->mProperties['page_top_level_section_count'] = $numTopics; } } return true; }
/** * Modifies ParserOutput * @param \LinksUpdate $linksUpdate * @return bool */ public static function onLinksUpdate(\LinksUpdate $linksUpdate) { $linksUpdate->mParserOutput = (new \FlagsController())->modifyParserOutputWithFlags($linksUpdate->getParserOutput(), $linksUpdate->getTitle()->getArticleID()); return true; }