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


PHP ApiPageSet::execute方法代码示例

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


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

示例1: testHandleNormalization

 public function testHandleNormalization()
 {
     $context = new RequestContext();
     $context->setRequest(new FauxRequest(['titles' => "a|B|å"]));
     $main = new ApiMain($context);
     $pageSet = new ApiPageSet($main);
     $pageSet->execute();
     $this->assertSame([0 => ['A' => -1, 'B' => -2, 'Å' => -3]], $pageSet->getAllTitlesByNamespace());
     $this->assertSame([['fromencoded' => true, 'from' => 'a%CC%8A', 'to' => 'å'], ['fromencoded' => false, 'from' => 'a', 'to' => 'A'], ['fromencoded' => false, 'from' => 'å', 'to' => 'Å']], $pageSet->getNormalizedTitlesAsResult());
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:10,代码来源:ApiPageSetTest.php

示例2: execute

 /**
  * Query execution happens in the following steps:
  * #1 Create a PageSet object with any pages requested by the user
  * #2 If using a generator, execute it to get a new ApiPageSet object
  * #3 Instantiate all requested modules.
  *    This way the PageSet object will know what shared data is required,
  *    and minimize DB calls.
  * #4 Output all normalization and redirect resolution information
  * #5 Execute all requested modules
  */
 public function execute()
 {
     $this->mParams = $this->extractRequestParams();
     // Instantiate requested modules
     $allModules = array();
     $this->instantiateModules($allModules, 'prop');
     $propModules = array_keys($allModules);
     $this->instantiateModules($allModules, 'list');
     $this->instantiateModules($allModules, 'meta');
     // Filter modules based on continue parameter
     $continuationManager = new ApiContinuationManager($this, $allModules, $propModules);
     $this->setContinuationManager($continuationManager);
     $modules = $continuationManager->getRunModules();
     if (!$continuationManager->isGeneratorDone()) {
         // Query modules may optimize data requests through the $this->getPageSet()
         // object by adding extra fields from the page table.
         foreach ($modules as $module) {
             $module->requestExtraData($this->mPageSet);
         }
         // Populate page/revision information
         $this->mPageSet->execute();
         // Record page information (title, namespace, if exists, etc)
         $this->outputGeneralPageInfo();
     } else {
         $this->mPageSet->executeDryRun();
     }
     $cacheMode = $this->mPageSet->getCacheMode();
     // Execute all unfinished modules
     /** @var $module ApiQueryBase */
     foreach ($modules as $module) {
         $params = $module->extractRequestParams();
         $cacheMode = $this->mergeCacheMode($cacheMode, $module->getCacheMode($params));
         $module->execute();
         Hooks::run('APIQueryAfterExecute', array(&$module));
     }
     // Set the cache mode
     $this->getMain()->setCacheMode($cacheMode);
     // Write the continuation data into the result
     $this->setContinuationManager(null);
     if ($this->mParams['rawcontinue']) {
         $data = $continuationManager->getRawContinuation();
         if ($data) {
             $this->getResult()->addValue(null, 'query-continue', $data, ApiResult::ADD_ON_TOP | ApiResult::NO_SIZE_CHECK);
         }
     } else {
         $continuationManager->setContinuationIntoResult($this->getResult());
     }
     /// @todo: Remove this after a suitable period of time. When REL1_26 is cut, if not before.
     if ($this->mParams['continue'] === null && !$this->mParams['rawcontinue'] && $this->getResult()->getResultData('continue') !== null) {
         $this->setWarning('Formatting of continuation data has changed. ' . 'To receive raw query-continue data, use the \'rawcontinue\' parameter. ' . 'To silence this warning, pass an empty string for \'continue\' in the initial query.');
     }
 }
开发者ID:jpena88,项目名称:mediawiki-dokku-deploy,代码行数:62,代码来源:ApiQuery.php

示例3: execute

 /**
  * Query execution happens in the following steps:
  * #1 Create a PageSet object with any pages requested by the user
  * #2 If using a generator, execute it to get a new ApiPageSet object
  * #3 Instantiate all requested modules.
  *    This way the PageSet object will know what shared data is required,
  *    and minimize DB calls.
  * #4 Output all normalization and redirect resolution information
  * #5 Execute all requested modules
  */
 public function execute()
 {
     $this->mParams = $this->extractRequestParams();
     // Instantiate requested modules
     $allModules = [];
     $this->instantiateModules($allModules, 'prop');
     $propModules = array_keys($allModules);
     $this->instantiateModules($allModules, 'list');
     $this->instantiateModules($allModules, 'meta');
     // Filter modules based on continue parameter
     $continuationManager = new ApiContinuationManager($this, $allModules, $propModules);
     $this->setContinuationManager($continuationManager);
     $modules = $continuationManager->getRunModules();
     if (!$continuationManager->isGeneratorDone()) {
         // Query modules may optimize data requests through the $this->getPageSet()
         // object by adding extra fields from the page table.
         foreach ($modules as $module) {
             $module->requestExtraData($this->mPageSet);
         }
         // Populate page/revision information
         $this->mPageSet->execute();
         // Record page information (title, namespace, if exists, etc)
         $this->outputGeneralPageInfo();
     } else {
         $this->mPageSet->executeDryRun();
     }
     $cacheMode = $this->mPageSet->getCacheMode();
     // Execute all unfinished modules
     /** @var $module ApiQueryBase */
     foreach ($modules as $module) {
         $params = $module->extractRequestParams();
         $cacheMode = $this->mergeCacheMode($cacheMode, $module->getCacheMode($params));
         $module->execute();
         Hooks::run('APIQueryAfterExecute', [&$module]);
     }
     // Set the cache mode
     $this->getMain()->setCacheMode($cacheMode);
     // Write the continuation data into the result
     $this->setContinuationManager(null);
     if ($this->mParams['rawcontinue']) {
         $data = $continuationManager->getRawNonContinuation();
         if ($data) {
             $this->getResult()->addValue(null, 'query-noncontinue', $data, ApiResult::ADD_ON_TOP | ApiResult::NO_SIZE_CHECK);
         }
         $data = $continuationManager->getRawContinuation();
         if ($data) {
             $this->getResult()->addValue(null, 'query-continue', $data, ApiResult::ADD_ON_TOP | ApiResult::NO_SIZE_CHECK);
         }
     } else {
         $continuationManager->setContinuationIntoResult($this->getResult());
     }
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:62,代码来源:ApiQuery.php

示例4: executeGeneratorModule

 /**
  * For generator mode, execute generator, and use its output as new
  * ApiPageSet
  * @param $generator ApiQueryGeneratorBase Generator Module
  * @param $modules array of module objects
  */
 protected function executeGeneratorModule($generator, $modules)
 {
     // Generator results
     $resultPageSet = new ApiPageSet($this, $this->redirects, $this->convertTitles);
     // Add any additional fields modules may need
     $generator->requestExtraData($this->mPageSet);
     $this->addCustomFldsToPageSet($modules, $resultPageSet);
     // Populate page information with the original user input
     $this->mPageSet->execute();
     // populate resultPageSet with the generator output
     $generator->profileIn();
     $generator->executeGenerator($resultPageSet);
     wfRunHooks('APIQueryGeneratorAfterExecute', array(&$generator, &$resultPageSet));
     $resultPageSet->finishPageSetGeneration();
     $generator->profileOut();
     // Swap the resulting pageset back in
     $this->mPageSet = $resultPageSet;
 }
开发者ID:laiello,项目名称:media-wiki-law,代码行数:24,代码来源:ApiQuery.php

示例5: execute

 /**
  * Query execution happens in the following steps:
  * #1 Create a PageSet object with any pages requested by the user
  * #2 If using a generator, execute it to get a new ApiPageSet object
  * #3 Instantiate all requested modules.
  *    This way the PageSet object will know what shared data is required,
  *    and minimize DB calls.
  * #4 Output all normalization and redirect resolution information
  * #5 Execute all requested modules
  */
 public function execute()
 {
     $this->mParams = $this->extractRequestParams();
     // Instantiate requested modules
     $allModules = array();
     $this->instantiateModules($allModules, 'prop');
     $propModules = array_keys($allModules);
     $this->instantiateModules($allModules, 'list');
     $this->instantiateModules($allModules, 'meta');
     // Filter modules based on continue parameter
     list($generatorDone, $modules) = $this->getResult()->beginContinuation($this->mParams['continue'], $allModules, $propModules);
     if (!$generatorDone) {
         // Query modules may optimize data requests through the $this->getPageSet()
         // object by adding extra fields from the page table.
         foreach ($modules as $module) {
             $module->requestExtraData($this->mPageSet);
         }
         // Populate page/revision information
         $this->mPageSet->execute();
         // Record page information (title, namespace, if exists, etc)
         $this->outputGeneralPageInfo();
     } else {
         $this->mPageSet->executeDryRun();
     }
     $cacheMode = $this->mPageSet->getCacheMode();
     // Execute all unfinished modules
     /** @var $module ApiQueryBase */
     foreach ($modules as $module) {
         $params = $module->extractRequestParams();
         $cacheMode = $this->mergeCacheMode($cacheMode, $module->getCacheMode($params));
         $module->profileIn();
         $module->execute();
         wfRunHooks('APIQueryAfterExecute', array(&$module));
         $module->profileOut();
     }
     // Set the cache mode
     $this->getMain()->setCacheMode($cacheMode);
     // Write the continuation data into the result
     $this->getResult()->endContinuation($this->mParams['continue'] === null ? 'raw' : 'standard');
 }
开发者ID:whysasse,项目名称:kmwiki,代码行数:50,代码来源:ApiQuery.php

示例6: execute

 /**
  * Query execution happens in the following steps:
  * #1 Create a PageSet object with any pages requested by the user
  * #2 If using a generator, execute it to get a new ApiPageSet object
  * #3 Instantiate all requested modules.
  *    This way the PageSet object will know what shared data is required,
  *    and minimize DB calls.
  * #4 Output all normalization and redirect resolution information
  * #5 Execute all requested modules
  */
 public function execute()
 {
     $this->mParams = $this->extractRequestParams();
     // $pagesetParams is a array of parameter names used by the pageset generator
     //   or null if pageset has already finished and is no longer needed
     // $completeModules is a set of complete modules with the name as key
     $this->initContinue($pagesetParams, $completeModules);
     // Instantiate requested modules
     $allModules = array();
     $this->instantiateModules($allModules, 'prop');
     $propModules = $allModules;
     // Keep a copy
     $this->instantiateModules($allModules, 'list');
     $this->instantiateModules($allModules, 'meta');
     // Filter modules based on continue parameter
     $modules = $this->initModules($allModules, $completeModules, $pagesetParams !== null);
     // Execute pageset if in legacy mode or if pageset is not done
     if ($completeModules === null || $pagesetParams !== null) {
         // Populate page/revision information
         $this->mPageSet->execute();
         // Record page information (title, namespace, if exists, etc)
         $this->outputGeneralPageInfo();
     } else {
         $this->mPageSet->executeDryRun();
     }
     $cacheMode = $this->mPageSet->getCacheMode();
     // Execute all unfinished modules
     /** @var $module ApiQueryBase */
     foreach ($modules as $module) {
         $params = $module->extractRequestParams();
         $cacheMode = $this->mergeCacheMode($cacheMode, $module->getCacheMode($params));
         $module->profileIn();
         $module->execute();
         wfRunHooks('APIQueryAfterExecute', array(&$module));
         $module->profileOut();
     }
     // Set the cache mode
     $this->getMain()->setCacheMode($cacheMode);
     if ($completeModules === null) {
         return;
         // Legacy continue, we are done
     }
     // Reformat query-continue result section
     $result = $this->getResult();
     $qc = $result->getData();
     if (isset($qc['query-continue'])) {
         $qc = $qc['query-continue'];
         $result->unsetValue(null, 'query-continue');
     } elseif ($this->mGeneratorContinue !== null) {
         $qc = array();
     } else {
         // no more "continue"s, we are done!
         return;
     }
     // we are done with all the modules that do not have result in query-continue
     $completeModules = array_merge($completeModules, array_diff_key($modules, $qc));
     if ($pagesetParams !== null) {
         // The pageset is still in use, check if all props have finished
         $incompleteProps = array_intersect_key($propModules, $qc);
         if (count($incompleteProps) > 0) {
             // Properties are not done, continue with the same pageset state - copy current parameters
             $main = $this->getMain();
             $contValues = array();
             foreach ($pagesetParams as $param) {
                 // The param name is already prefix-encoded
                 $contValues[$param] = $main->getVal($param);
             }
         } elseif ($this->mGeneratorContinue !== null) {
             // Move to the next set of pages produced by pageset, properties need to be restarted
             $contValues = $this->mGeneratorContinue;
             $pagesetParams = array_keys($contValues);
             $completeModules = array_diff_key($completeModules, $propModules);
         } else {
             // Done with the pageset, finish up with the the lists and meta modules
             $pagesetParams = null;
         }
     }
     $continue = '||' . implode('|', array_keys($completeModules));
     if ($pagesetParams !== null) {
         // list of all pageset parameters to use in the next request
         $continue = implode('|', $pagesetParams) . $continue;
     } else {
         // we are done with the pageset
         $contValues = array();
         $continue = '-' . $continue;
     }
     $contValues['continue'] = $continue;
     foreach ($qc as $qcModule) {
         foreach ($qcModule as $qcKey => $qcValue) {
             $contValues[$qcKey] = $qcValue;
//.........这里部分代码省略.........
开发者ID:Tarendai,项目名称:spring-website,代码行数:101,代码来源:ApiQuery.php

示例7: execute

 public function execute()
 {
     $user = $this->getUser();
     if ($user->isAnon()) {
         $this->dieUsage('Anonymous users cannot use watchlist change notifications', 'notloggedin');
     }
     $params = $this->extractRequestParams();
     $this->requireMaxOneParameter($params, 'timestamp', 'torevid', 'newerthanrevid');
     $pageSet = new ApiPageSet($this);
     $args = array_merge(array($params, 'entirewatchlist'), array_keys($pageSet->getAllowedParams()));
     call_user_func_array(array($this, 'requireOnlyOneParameter'), $args);
     $dbw = $this->getDB(DB_MASTER);
     $timestamp = null;
     if (isset($params['timestamp'])) {
         $timestamp = $dbw->timestamp($params['timestamp']);
     }
     if (!$params['entirewatchlist']) {
         $pageSet->execute();
     }
     if (isset($params['torevid'])) {
         if ($params['entirewatchlist'] || $pageSet->getGoodTitleCount() > 1) {
             $this->dieUsage('torevid may only be used with a single page', 'multpages');
         }
         $title = reset($pageSet->getGoodTitles());
         $timestamp = Revision::getTimestampFromId($title, $params['torevid']);
         if ($timestamp) {
             $timestamp = $dbw->timestamp($timestamp);
         } else {
             $timestamp = null;
         }
     } elseif (isset($params['newerthanrevid'])) {
         if ($params['entirewatchlist'] || $pageSet->getGoodTitleCount() > 1) {
             $this->dieUsage('newerthanrevid may only be used with a single page', 'multpages');
         }
         $title = reset($pageSet->getGoodTitles());
         $revid = $title->getNextRevisionID($params['newerthanrevid']);
         if ($revid) {
             $timestamp = $dbw->timestamp(Revision::getTimestampFromId($title, $revid));
         } else {
             $timestamp = null;
         }
     }
     $apiResult = $this->getResult();
     $result = array();
     if ($params['entirewatchlist']) {
         // Entire watchlist mode: Just update the thing and return a success indicator
         $dbw->update('watchlist', array('wl_notificationtimestamp' => $timestamp), array('wl_user' => $user->getID()), __METHOD__);
         $result['notificationtimestamp'] = is_null($timestamp) ? '' : wfTimestamp(TS_ISO_8601, $timestamp);
     } else {
         // First, log the invalid titles
         foreach ($pageSet->getInvalidTitles() as $title) {
             $r = array();
             $r['title'] = $title;
             $r['invalid'] = '';
             $result[] = $r;
         }
         foreach ($pageSet->getMissingPageIDs() as $p) {
             $page = array();
             $page['pageid'] = $p;
             $page['missing'] = '';
             $page['notwatched'] = '';
             $result[] = $page;
         }
         foreach ($pageSet->getMissingRevisionIDs() as $r) {
             $rev = array();
             $rev['revid'] = $r;
             $rev['missing'] = '';
             $rev['notwatched'] = '';
             $result[] = $rev;
         }
         // Now process the valid titles
         $lb = new LinkBatch($pageSet->getTitles());
         $dbw->update('watchlist', array('wl_notificationtimestamp' => $timestamp), array('wl_user' => $user->getID(), $lb->constructSet('wl', $dbw)), __METHOD__);
         // Query the results of our update
         $timestamps = array();
         $res = $dbw->select('watchlist', array('wl_namespace', 'wl_title', 'wl_notificationtimestamp'), array('wl_user' => $user->getID(), $lb->constructSet('wl', $dbw)), __METHOD__);
         foreach ($res as $row) {
             $timestamps[$row->wl_namespace][$row->wl_title] = $row->wl_notificationtimestamp;
         }
         // Now, put the valid titles into the result
         foreach ($pageSet->getTitles() as $title) {
             $ns = $title->getNamespace();
             $dbkey = $title->getDBkey();
             $r = array('ns' => intval($ns), 'title' => $title->getPrefixedText());
             if (!$title->exists()) {
                 $r['missing'] = '';
             }
             if (isset($timestamps[$ns]) && array_key_exists($dbkey, $timestamps[$ns])) {
                 $r['notificationtimestamp'] = '';
                 if ($timestamps[$ns][$dbkey] !== null) {
                     $r['notificationtimestamp'] = wfTimestamp(TS_ISO_8601, $timestamps[$ns][$dbkey]);
                 }
             } else {
                 $r['notwatched'] = '';
             }
             $result[] = $r;
         }
         $apiResult->setIndexedTagName($result, 'page');
     }
     $apiResult->addValue(null, $this->getModuleName(), $result);
//.........这里部分代码省略.........
开发者ID:seedbank,项目名称:old-repo,代码行数:101,代码来源:ApiSetNotificationTimestamp.php

示例8: execute

 public function execute()
 {
     // The data is hot but user-dependent, like page views, so we set vary cookies
     $this->getMain()->setCacheMode('anon-public-user-private');
     // Get parameters
     $params = $this->extractRequestParams();
     $text = $params['text'];
     $title = $params['title'];
     if ($title === null) {
         $titleProvided = false;
         // A title is needed for parsing, so arbitrarily choose one
         $title = 'API';
     } else {
         $titleProvided = true;
     }
     $page = $params['page'];
     $pageid = $params['pageid'];
     $oldid = $params['oldid'];
     $model = $params['contentmodel'];
     $format = $params['contentformat'];
     if (!is_null($page) && (!is_null($text) || $titleProvided)) {
         $this->dieUsage('The page parameter cannot be used together with the text and title parameters', 'params');
     }
     $prop = array_flip($params['prop']);
     if (isset($params['section'])) {
         $this->section = $params['section'];
         if (!preg_match('/^((T-)?\\d+|new)$/', $this->section)) {
             $this->dieUsage("The section parameter must be a valid section id or 'new'", "invalidsection");
         }
     } else {
         $this->section = false;
     }
     // The parser needs $wgTitle to be set, apparently the
     // $title parameter in Parser::parse isn't enough *sigh*
     // TODO: Does this still need $wgTitle?
     global $wgParser, $wgTitle;
     $redirValues = null;
     // Return result
     $result = $this->getResult();
     if (!is_null($oldid) || !is_null($pageid) || !is_null($page)) {
         if ($this->section === 'new') {
             $this->dieUsage('section=new cannot be combined with oldid, pageid or page parameters. ' . 'Please use text', 'params');
         }
         if (!is_null($oldid)) {
             // Don't use the parser cache
             $rev = Revision::newFromId($oldid);
             if (!$rev) {
                 $this->dieUsage("There is no revision ID {$oldid}", 'missingrev');
             }
             if (!$rev->userCan(Revision::DELETED_TEXT, $this->getUser())) {
                 $this->dieUsage("You don't have permission to view deleted revisions", 'permissiondenied');
             }
             $titleObj = $rev->getTitle();
             $wgTitle = $titleObj;
             $pageObj = WikiPage::factory($titleObj);
             $popts = $this->makeParserOptions($pageObj, $params);
             // If for some reason the "oldid" is actually the current revision, it may be cached
             // Deliberately comparing $pageObj->getLatest() with $rev->getId(), rather than
             // checking $rev->isCurrent(), because $pageObj is what actually ends up being used,
             // and if its ->getLatest() is outdated, $rev->isCurrent() won't tell us that.
             if ($rev->getId() == $pageObj->getLatest()) {
                 // May get from/save to parser cache
                 $p_result = $this->getParsedContent($pageObj, $popts, $pageid, isset($prop['wikitext']));
             } else {
                 // This is an old revision, so get the text differently
                 $this->content = $rev->getContent(Revision::FOR_THIS_USER, $this->getUser());
                 if ($this->section !== false) {
                     $this->content = $this->getSectionContent($this->content, 'r' . $rev->getId());
                 }
                 // Should we save old revision parses to the parser cache?
                 $p_result = $this->content->getParserOutput($titleObj, $rev->getId(), $popts);
             }
         } else {
             // Not $oldid, but $pageid or $page
             if ($params['redirects']) {
                 $reqParams = array('redirects' => '');
                 if (!is_null($pageid)) {
                     $reqParams['pageids'] = $pageid;
                 } else {
                     // $page
                     $reqParams['titles'] = $page;
                 }
                 $req = new FauxRequest($reqParams);
                 $main = new ApiMain($req);
                 $pageSet = new ApiPageSet($main);
                 $pageSet->execute();
                 $redirValues = $pageSet->getRedirectTitlesAsResult($this->getResult());
                 $to = $page;
                 foreach ($pageSet->getRedirectTitles() as $title) {
                     $to = $title->getFullText();
                 }
                 $pageParams = array('title' => $to);
             } elseif (!is_null($pageid)) {
                 $pageParams = array('pageid' => $pageid);
             } else {
                 // $page
                 $pageParams = array('title' => $page);
             }
             $pageObj = $this->getTitleOrPageId($pageParams, 'fromdb');
             $titleObj = $pageObj->getTitle();
//.........这里部分代码省略.........
开发者ID:huatuoorg,项目名称:mediawiki,代码行数:101,代码来源:ApiParse.php

示例9: execute

 /**
  * Purges the cache of a page
  */
 public function execute()
 {
     $user = $this->getUser();
     $params = $this->extractRequestParams();
     if (!$user->isAllowed('purge') && !$this->getMain()->isInternalMode() && !$this->getRequest()->wasPosted()) {
         $this->dieUsageMsg(array('mustbeposted', $this->getModuleName()));
     }
     $forceLinkUpdate = $params['forcelinkupdate'];
     $pageSet = new ApiPageSet($this);
     $pageSet->execute();
     $result = array();
     foreach ($pageSet->getInvalidTitles() as $title) {
         $r = array();
         $r['title'] = $title;
         $r['invalid'] = '';
         $result[] = $r;
     }
     foreach ($pageSet->getMissingPageIDs() as $p) {
         $page = array();
         $page['pageid'] = $p;
         $page['missing'] = '';
         $result[] = $page;
     }
     foreach ($pageSet->getMissingRevisionIDs() as $r) {
         $rev = array();
         $rev['revid'] = $r;
         $rev['missing'] = '';
         $result[] = $rev;
     }
     foreach ($pageSet->getTitles() as $title) {
         $r = array();
         ApiQueryBase::addTitleInfo($r, $title);
         if (!$title->exists()) {
             $r['missing'] = '';
             $result[] = $r;
             continue;
         }
         $page = WikiPage::factory($title);
         $page->doPurge();
         // Directly purge and skip the UI part of purge().
         $r['purged'] = '';
         if ($forceLinkUpdate) {
             if (!$user->pingLimiter()) {
                 global $wgParser, $wgEnableParserCache;
                 $popts = $page->makeParserOptions('canonical');
                 $p_result = $wgParser->parse($page->getRawText(), $title, $popts, true, true, $page->getLatest());
                 # Update the links tables
                 $updates = $p_result->getSecondaryDataUpdates($title);
                 DataUpdate::runUpdates($updates);
                 $r['linkupdate'] = '';
                 if ($wgEnableParserCache) {
                     $pcache = ParserCache::singleton();
                     $pcache->save($p_result, $page, $popts);
                 }
             } else {
                 $error = $this->parseMsg(array('actionthrottledtext'));
                 $this->setWarning($error['info']);
                 $forceLinkUpdate = false;
             }
         }
         $result[] = $r;
     }
     $apiResult = $this->getResult();
     $apiResult->setIndexedTagName($result, 'page');
     $apiResult->addValue(null, $this->getModuleName(), $result);
 }
开发者ID:seedbank,项目名称:old-repo,代码行数:69,代码来源:ApiPurge.php


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