public function addVideo($articleId, $url) { wfProfileIn(__METHOD__); if (empty($articleId)) { wfProfileOut(__METHOD__); return wfMsg('related-videos-error-no-article-id'); } /* $targetTitle = F::build('Title', array($articleId), 'newFromId'); if (!$targetTitle->exists()) { wfProfileOut( __METHOD__ ); return wfMsg('related-videos-error-unknown', 876462); } // check permission $permErrors = $targetTitle->getUserPermissionsErrors( 'edit', F::app()->wg->user ); if ($permErrors) { wfProfileOut( __METHOD__ ); return wfMsg('related-videos-error-permission-article'); }*/ $videoService = F::build('VideoService'); $retval = $videoService->addVideo($url); if (!is_array($retval)) { wfProfileOut(__METHOD__); return $retval; } list($videoTitle, $videoPageId, $videoProvider) = $retval; // add to article's whitelist //$rvn = F::build( 'RelatedVideosNamespaceData', array( $targetTitle ), 'newFromTargetTitle' ); $rvn = RelatedVideosNamespaceData::newFromGeneralMessage(); if (empty($rvn)) { $rvn = RelatedVideosNamespaceData::createGlobalList(); } $entry = $rvn->createEntry($videoTitle->getText(), $videoProvider == self::V_WIKIAVIDEO); $retval = $rvn->addToList(RelatedVideosNamespaceData::WHITELIST_MARKER, array($entry), $articleId); if (is_array($rvn->entries)) { $entry = end($rvn->entries); } if (is_object($retval)) { if ($retval->ok) { $data = $entry; $data['articleId'] = $videoPageId; $data['title'] = $videoTitle->getText(); $data['external'] = $videoProvider == self::V_WIKIAVIDEO; wfProfileOut(__METHOD__); return $data; } else { } } wfProfileOut(__METHOD__); return $retval; }
echo " ($dbname): \n"; $total = 0; $add = 0; $dup = 0; $user = User::newFromName('WikiaBot'); $markers = array( RelatedVideosNamespaceData::WHITELIST_MARKER, RelatedVideosNamespaceData::BLACKLIST_MARKER ); echo "GlobalList: \n"; $globalList = RelatedVideosNamespaceData::newFromGeneralMessage(); // get all global videos $globalVideos = array(); if ( empty($globalList) ) { $globalList = RelatedVideosNamespaceData::createGlobalList(); } else { $globalData = $globalList->getData(); foreach( $markers as $marker ) { foreach( $globalData['lists'][$marker] as $video ) { $globalVideos[] = $video['title']; } echo "\tTotal $marker videos: ".count($globalData['lists'][$marker])."\n"; } } // get RelatedVideos articles $db = wfGetDB( DB_SLAVE, array(), $dbname ); $result = $db->select(