public function getLists() { $titleStr = $this->request->getVal('title', null); $title = Title::newFromText($titleStr, NS_RELATED_VIDEOS); $relatedVideosNSData = RelatedVideosNamespaceData::newFromTitle($title); $this->setVal('data', $relatedVideosNSData->getData()); }
/** * Purge RelatedVideos namespace article after an edit * * @param WikiPage $article */ public static function onArticleSaveComplete(&$article, &$user, $text, $summary, $minoredit, $watchthis, $sectionanchor, &$flags, $revision, &$status, $baseRevId) { wfProfileIn(__METHOD__); $title = $article->getTitle(); if (!empty($title)) { switch ($title->getNamespace()) { case NS_RELATED_VIDEOS: $relatedVideosNSData = RelatedVideosNamespaceData::newFromTitle($title); $relatedVideosNSData->purge(); break; case NS_MEDIAWIKI: if (empty(F::app()->wg->relatedVideosPartialRelease)) { if ($title->getText() == RelatedVideosNamespaceData::GLOBAL_RV_LIST) { $relatedVideosNSData = RelatedVideosNamespaceData::newFromTitle($title); $relatedVideosNSData->purge(); } } break; } } wfProfileOut(__METHOD__); return true; }
$db = wfGetDB( DB_SLAVE, array(), $dbname ); $result = $db->select( array( 'page' ), array( 'page_id', 'page_title' ), array( 'page_namespace' => 1100 ), __METHOD__ ); while ( $row = $db->fetchObject($result) ) { echo "Article: $row->page_title\n"; $title = Title::newFromText( $row->page_title, NS_RELATED_VIDEOS ); $relatedVideoList = RelatedVideosNamespaceData::newFromTitle( $title ); if ( !empty($relatedVideoList) && $relatedVideoList->exists() ) { $totalNewVideos = 0; $videoData = $relatedVideoList->getData(); // get videos from RelatedVideos article foreach( $markers as $marker ) { echo "$marker: \n"; $videoList = array(); foreach( $videoData['lists'][$marker] as $video ) { // check if video is duplicate if ( !in_array($video['title'], $globalVideos) ) { printText( "\tNEW: $video[title]\n" ); $videoList[] = $video;