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


PHP ApiBase::isWriteMode方法代码示例

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


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

示例1: checkExecutePermissions

 /**
  * Check for sufficient permissions to execute
  * @param ApiBase $module An Api module
  */
 protected function checkExecutePermissions($module)
 {
     $user = $this->getUser();
     if ($module->isReadMode() && !User::isEveryoneAllowed('read') && !$user->isAllowed('read')) {
         $this->dieUsageMsg('readrequired');
     }
     if ($module->isWriteMode()) {
         if (!$this->mEnableWrite) {
             $this->dieUsageMsg('writedisabled');
         }
         if (!$user->isAllowed('writeapi')) {
             $this->dieUsageMsg('writerequired');
         }
         if (wfReadOnly()) {
             $this->dieReadOnly();
         }
     }
     // Allow extensions to stop execution for arbitrary reasons.
     $message = false;
     if (!Hooks::run('ApiCheckCanExecute', array($module, $user, &$message))) {
         $this->dieUsageMsg($message);
     }
 }
开发者ID:soumyag213,项目名称:mediawiki,代码行数:27,代码来源:ApiMain.php

示例2: checkReadOnly

 /**
  * Check if the DB is read-only for this user
  * @param ApiBase $module An Api module
  */
 protected function checkReadOnly($module)
 {
     if (wfReadOnly()) {
         $this->dieReadOnly();
     }
     if ($module->isWriteMode() && in_array('bot', $this->getUser()->getGroups()) && wfGetLB()->getServerCount() > 1) {
         // Figure out how many servers have passed the lag threshold
         $numLagged = 0;
         $lagLimit = $this->getConfig()->get('APIMaxLagThreshold');
         foreach (wfGetLB()->getLagTimes() as $lag) {
             if ($lag > $lagLimit) {
                 ++$numLagged;
             }
         }
         // If a majority of slaves are too lagged then disallow writes
         $slaveCount = wfGetLB()->getServerCount() - 1;
         if ($numLagged >= ceil($slaveCount / 2)) {
             $parsed = $this->parseMsg(array('readonlytext'));
             $this->dieUsage($parsed['info'], $parsed['code'], 0, array('readonlyreason' => "Waiting for {$numLagged} lagged database(s)"));
         }
     }
 }
开发者ID:huatuoorg,项目名称:mediawiki,代码行数:26,代码来源:ApiMain.php

示例3: setRequestExpectations

 /**
  * Set database connection, query, and write expectations given this module request
  * @param ApiBase $module
  */
 protected function setRequestExpectations(ApiBase $module)
 {
     $limits = $this->getConfig()->get('TrxProfilerLimits');
     $trxProfiler = Profiler::instance()->getTransactionProfiler();
     if ($this->getRequest()->wasPosted()) {
         if ($module->isWriteMode()) {
             $trxProfiler->setExpectations($limits['POST'], __METHOD__);
         } else {
             $trxProfiler->setExpectations($limits['POST-nonwrite'], __METHOD__);
         }
     } else {
         $trxProfiler->setExpectations($limits['GET'], __METHOD__);
     }
 }
开发者ID:OrBin,项目名称:mediawiki,代码行数:18,代码来源:ApiMain.php

示例4: setRequestExpectations

 /**
  * Set database connection, query, and write expectations given this module request
  * @param ApiBase $module
  */
 protected function setRequestExpectations(ApiBase $module)
 {
     $limits = $this->getConfig()->get('TrxProfilerLimits');
     $trxProfiler = Profiler::instance()->getTransactionProfiler();
     $trxProfiler->setLogger(LoggerFactory::getInstance('DBPerformance'));
     if ($this->getRequest()->hasSafeMethod()) {
         $trxProfiler->setExpectations($limits['GET'], __METHOD__);
     } elseif ($this->getRequest()->wasPosted() && !$module->isWriteMode()) {
         $trxProfiler->setExpectations($limits['POST-nonwrite'], __METHOD__);
         $this->getRequest()->markAsSafeRequest();
     } else {
         $trxProfiler->setExpectations($limits['POST'], __METHOD__);
     }
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:18,代码来源:ApiMain.php


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