예제 #1
0
 function importFromHandle($handle)
 {
     $this->startTime = microtime(true);
     $source = new ImportStreamSource($handle);
     $importer = new WikiImporter($source, $this->getConfig());
     if ($this->hasOption('debug')) {
         $importer->setDebug(true);
     }
     if ($this->hasOption('no-updates')) {
         $importer->setNoUpdates(true);
     }
     $importer->setPageCallback(array(&$this, 'reportPage'));
     $this->importCallback = $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $this->uploadCallback = $importer->setUploadCallback(array(&$this, 'handleUpload'));
     $this->logItemCallback = $importer->setLogItemCallback(array(&$this, 'handleLogItem'));
     if ($this->uploads) {
         $importer->setImportUploads(true);
     }
     if ($this->imageBasePath) {
         $importer->setImageBasePath($this->imageBasePath);
     }
     if ($this->dryRun) {
         $importer->setPageOutCallback(null);
     }
     return $importer->doImport();
 }
예제 #2
0
 function importFromHandle($handle)
 {
     $this->startTime = microtime(true);
     $source = new ImportStreamSource($handle);
     $importer = new WikiImporter($source, $this->getConfig());
     if ($this->hasOption('debug')) {
         $importer->setDebug(true);
     }
     if ($this->hasOption('no-updates')) {
         $importer->setNoUpdates(true);
     }
     if ($this->hasOption('rootpage')) {
         $statusRootPage = $importer->setTargetRootPage($this->getOption('rootpage'));
         if (!$statusRootPage->isGood()) {
             // Die here so that it doesn't print "Done!"
             $this->error($statusRootPage->getMessage()->text(), 1);
             return false;
         }
     }
     $importer->setPageCallback([$this, 'reportPage']);
     $this->importCallback = $importer->setRevisionCallback([$this, 'handleRevision']);
     $this->uploadCallback = $importer->setUploadCallback([$this, 'handleUpload']);
     $this->logItemCallback = $importer->setLogItemCallback([$this, 'handleLogItem']);
     if ($this->uploads) {
         $importer->setImportUploads(true);
     }
     if ($this->imageBasePath) {
         $importer->setImageBasePath($this->imageBasePath);
     }
     if ($this->dryRun) {
         $importer->setPageOutCallback(null);
     }
     return $importer->doImport();
 }
예제 #3
0
	/**
	 * @param WikiImporter $importer
	 * @param $upload
	 * @param $interwiki
	 * @param string|bool $reason
	 */
	function __construct( $importer, $upload, $interwiki, $reason = false ) {
		$this->mOriginalPageOutCallback =
			$importer->setPageOutCallback( array( $this, 'reportPage' ) );
		$this->mOriginalLogCallback =
			$importer->setLogItemCallback( array( $this, 'reportLogItem' ) );
		$importer->setNoticeCallback( array( $this, 'reportNotice' ) );
		$this->mPageCount = 0;
		$this->mIsUpload = $upload;
		$this->mInterwiki = $interwiki;
		$this->reason = $reason;
	}
예제 #4
0
 function importFromHandle($handle)
 {
     $this->startTime = wfTime();
     $source = new ImportStreamSource($handle);
     $importer = new WikiImporter($source);
     $importer->setDebug($this->debug);
     $importer->setPageCallback(array(&$this, 'reportPage'));
     $this->importCallback = $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $this->uploadCallback = $importer->setUploadCallback(array(&$this, 'handleUpload'));
     $this->logItemCallback = $importer->setLogItemCallback(array(&$this, 'handleLogItem'));
     return $importer->doImport();
 }