当前位置: 首页>>代码示例>>PHP>>正文


PHP WikiImporter::setRevisionCallback方法代码示例

本文整理汇总了PHP中WikiImporter::setRevisionCallback方法的典型用法代码示例。如果您正苦于以下问题:PHP WikiImporter::setRevisionCallback方法的具体用法?PHP WikiImporter::setRevisionCallback怎么用?PHP WikiImporter::setRevisionCallback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WikiImporter的用法示例。


在下文中一共展示了WikiImporter::setRevisionCallback方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: execute

 public function execute()
 {
     if (!($this->hasOption('file') ^ $this->hasOption('dump'))) {
         $this->error("You must provide a file or dump", true);
     }
     $this->checkOptions();
     if ($this->hasOption('file')) {
         $revision = new WikiRevision();
         $revision->setText(file_get_contents($this->getOption('file')));
         $revision->setTitle(Title::newFromText(rawurldecode(basename($this->getOption('file'), '.txt'))));
         $this->handleRevision($revision);
         return;
     }
     $this->startTime = microtime(true);
     if ($this->getOption('dump') == '-') {
         $source = new ImportStreamSource($this->getStdin());
     } else {
         $this->error("Sorry, I don't support dump filenames yet. Use - and provide it on stdin on the meantime.", true);
     }
     $importer = new WikiImporter($source);
     $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $this->from = $this->getOption('from', null);
     $this->count = 0;
     $importer->doImport();
     $this->conclusions();
     $delta = microtime(true) - $this->startTime;
     $this->error("Done {$this->count} revisions in " . round($delta, 2) . " seconds ");
     if ($delta > 0) {
         $this->error(round($this->count / $delta, 2) . " pages/sec");
     }
     # Perform the memory_get_peak_usage() when all the other data has been output so there's no damage if it dies.
     # It is only available since 5.2.0 (since 5.2.1 if you haven't compiled with --enable-memory-limit)
     $this->error("Memory peak usage of " . memory_get_peak_usage() . " bytes\n");
 }
开发者ID:Tarendai,项目名称:spring-website,代码行数:34,代码来源:dumpIterator.php

示例2: run

 function run()
 {
     $this->startTime = wfTime();
     $file = fopen('php://stdin', 'rt');
     $source = new ImportStreamSource($file);
     $importer = new WikiImporter($source);
     $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     return $importer->doImport();
 }
开发者ID:BackupTheBerlios,项目名称:shoutwiki-svn,代码行数:9,代码来源:renderDump.php

示例3: execute

 public function execute()
 {
     $this->outputDirectory = $this->getOption('output-dir');
     $this->startTime = wfTime();
     $source = new ImportStreamSource($this->getStdin());
     $importer = new WikiImporter($source);
     $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     return $importer->doImport();
 }
开发者ID:rocLv,项目名称:conference,代码行数:9,代码来源:renderDump.php

示例4: execute

 public function execute()
 {
     $this->outputDirectory = $this->getOption('output-dir');
     $this->prefix = $this->getOption('prefix', 'wiki');
     $this->startTime = microtime(true);
     if ($this->hasOption('parser')) {
         global $wgParserConf;
         $wgParserConf['class'] = $this->getOption('parser');
         $this->prefix .= "-{$wgParserConf['class']}";
     }
     $source = new ImportStreamSource($this->getStdin());
     $importer = new WikiImporter($source);
     $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $importer->doImport();
     $delta = microtime(true) - $this->startTime;
     $this->error("Rendered {$this->count} pages in " . round($delta, 2) . " seconds ");
     if ($delta > 0) {
         $this->error(round($this->count / $delta, 2) . " pages/sec");
     }
     $this->error("\n");
 }
开发者ID:nischayn22,项目名称:mediawiki-core,代码行数:21,代码来源:renderDump.php

示例5: importFromHandle

 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();
 }
开发者ID:xfstudio,项目名称:mediawiki,代码行数:26,代码来源:importDump.php

示例6: importFromHandle

 function importFromHandle($handle)
 {
     $this->startTime = wfTime();
     $source = new ImportStreamSource($handle);
     $importer = new WikiImporter($source);
     $importer->setPageCallback(array(&$this, 'reportPage'));
     $this->importCallback = $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $importer->doImport();
 }
开发者ID:BackupTheBerlios,项目名称:enotifwiki,代码行数:9,代码来源:importDump.php

示例7: importFromHandle

 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();
 }
开发者ID:claudinec,项目名称:galan-wiki,代码行数:34,代码来源:importDump.php

示例8: restoreText

 function restoreText($revIds, $xml)
 {
     global $wgTmpDirectory, $wgDBname;
     if (!count($revIds)) {
         return;
     }
     print "Restoring text from XML backup...\n";
     $revFileName = "{$wgTmpDirectory}/broken-revlist-{$wgDBname}";
     $filteredXmlFileName = "{$wgTmpDirectory}/filtered-{$wgDBname}.xml";
     // Write revision list
     if (!file_put_contents($revFileName, implode("\n", $revIds))) {
         echo "Error writing revision list, can't restore text\n";
         return;
     }
     // Run mwdumper
     echo "Filtering XML dump...\n";
     $exitStatus = 0;
     passthru('mwdumper ' . wfEscapeShellArg("--output=file:{$filteredXmlFileName}", "--filter=revlist:{$revFileName}", $xml), $exitStatus);
     if ($exitStatus) {
         echo "mwdumper died with exit status {$exitStatus}\n";
         return;
     }
     $file = fopen($filteredXmlFileName, 'r');
     if (!$file) {
         echo "Unable to open filtered XML file\n";
         return;
     }
     $dbr =& wfGetDB(DB_SLAVE);
     $dbw =& wfGetDB(DB_MASTER);
     $dbr->ping();
     $dbw->ping();
     $source = new ImportStreamSource($file);
     $importer = new WikiImporter($source);
     $importer->setRevisionCallback(array(&$this, 'importRevision'));
     $importer->doImport();
 }
开发者ID:BackupTheBerlios,项目名称:blahtex,代码行数:36,代码来源:checkStorage.php

示例9: importFromHandle

 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();
 }
开发者ID:amjadtbssm,项目名称:website,代码行数:12,代码来源:importDump.php

示例10: createArticlesFromXML

 /**
  * Creates or updates articles in this wiki based on the XML passed in $xml.
  * It is given in the format delivered by the export of Mediawiki.
  *
  * @param string $xml
  * 		XML representation of wiki articles.
  */
 private function createArticlesFromXML($xml)
 {
     $source = new ImportStringSource($xml);
     $importer = new WikiImporter($source);
     $importer->setDebug(true);
     $importer->setPageCallback(array(&$this, 'reportPage'));
     $this->mImportCallback = $importer->setRevisionCallback(array(&$this, 'handleRevision'));
     $importer->doImport();
 }
开发者ID:seedbank,项目名称:old-repo,代码行数:16,代码来源:IAI_ArticleImporter.php


注:本文中的WikiImporter::setRevisionCallback方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。