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(