예제 #1
0
 protected function prepareEnvironment()
 {
     global $wgMemc;
     // Don't share DB, storage, or memcached connections
     wfGetLBFactory()->destroyInstance();
     FileBackendGroup::destroySingleton();
     LockManagerGroup::destroySingletons();
     ObjectCache::clear();
     $wgMemc = null;
 }
예제 #2
0
 protected function prepareEnvironment()
 {
     global $wgMemc;
     // Don't share DB, storage, or memcached connections
     MediaWikiServices::resetChildProcessServices();
     FileBackendGroup::destroySingleton();
     LockManagerGroup::destroySingletons();
     JobQueueGroup::destroySingletons();
     ObjectCache::clear();
     RedisConnectionPool::destroySingletons();
     $wgMemc = null;
 }
예제 #3
0
 /**
  * Constructor, always call this from child classes.
  */
 public function __construct()
 {
     global $wgMessagesDirs, $wgUser;
     // Disable the i18n cache
     Language::getLocalisationCache()->disableBackend();
     // Disable LoadBalancer and wfGetDB etc.
     LBFactory::disableBackend();
     // Disable object cache (otherwise CACHE_ANYTHING will try CACHE_DB and
     // SqlBagOStuff will then throw since we just disabled wfGetDB)
     $GLOBALS['wgMemc'] = new EmptyBagOStuff();
     ObjectCache::clear();
     $emptyCache = array('class' => 'EmptyBagOStuff');
     $GLOBALS['wgObjectCaches'] = array(CACHE_NONE => $emptyCache, CACHE_DB => $emptyCache, CACHE_ANYTHING => $emptyCache, CACHE_MEMCACHED => $emptyCache);
     // Load the installer's i18n.
     $wgMessagesDirs['MediawikiInstaller'] = __DIR__ . '/i18n';
     // Having a user with id = 0 safeguards us from DB access via User::loadOptions().
     $wgUser = User::newFromId(0);
     $this->settings = $this->internalDefaults;
     foreach ($this->defaultVarNames as $var) {
         $this->settings[$var] = $GLOBALS[$var];
     }
     $this->doEnvironmentPreps();
     $this->compiledDBs = array();
     foreach (self::getDBTypes() as $type) {
         $installer = $this->getDBInstaller($type);
         if (!$installer->isCompiled()) {
             continue;
         }
         $this->compiledDBs[] = $type;
     }
     $this->parserTitle = Title::newFromText('Installer');
     $this->parserOptions = new ParserOptions();
     // language will be wrong :(
     $this->parserOptions->setEditSection(false);
 }
예제 #4
0
 protected function prepareEnvironment()
 {
     global $wgMemc;
     // Don't share DB or memcached connections
     wfGetLBFactory()->destroyInstance();
     ObjectCache::clear();
     $wgMemc = null;
 }
예제 #5
0
<?php

/**
 * The sweeter tweet reader agent handles the background requests when given a proper nonce.
 */
require_once '../sweeter_tweet_reader.php';
if (isset($_REQUEST['sweeter_tweet_reader_nonce'])) {
    // retrieve the model and config from the nonce
    $sweet_tweet = new SweeterTweetReader();
    $update = new ObjectCache($_REQUEST['sweeter_tweet_reader_nonce'], 999999999);
    $data = $update->fetch();
    if (!empty($data)) {
        $sweet_tweet->set($data['model']);
        $sweet_tweet->config($data['config']);
        $sweet_tweet->update();
    }
    $update->clear();
}
예제 #6
0
 /**
  * Resets some well known services that typically have state that may interfere with unit tests.
  * This is a lightweight alternative to resetGlobalServices().
  *
  * @note There is no guarantee that no references remain to stale service instances destroyed
  * by a call to doLightweightServiceReset().
  *
  * @throws MWException if called outside of PHPUnit tests.
  *
  * @see resetGlobalServices()
  */
 private function doLightweightServiceReset()
 {
     global $wgRequest;
     JobQueueGroup::destroySingletons();
     ObjectCache::clear();
     $services = MediaWikiServices::getInstance();
     $services->resetServiceForTesting('MainObjectStash');
     $services->resetServiceForTesting('LocalServerObjectCache');
     $services->getMainWANObjectCache()->clearProcessCache();
     FileBackendGroup::destroySingleton();
     // TODO: move global state into MediaWikiServices
     RequestContext::resetMain();
     if (session_id() !== '') {
         session_write_close();
         session_id('');
     }
     $wgRequest = new FauxRequest();
     MediaWiki\Session\SessionManager::resetCache();
 }
예제 #7
0
 /**
  * Resets some well known services that typically have state that may interfere with unit tests.
  * This is a lightweight alternative to resetGlobalServices().
  *
  * @note There is no guarantee that no references remain to stale service instances destroyed
  * by a call to doLightweightServiceReset().
  *
  * @throws MWException if called outside of PHPUnit tests.
  *
  * @see resetGlobalServices()
  */
 private function doLightweightServiceReset()
 {
     global $wgRequest;
     JobQueueGroup::destroySingletons();
     ObjectCache::clear();
     FileBackendGroup::destroySingleton();
     // TODO: move global state into MediaWikiServices
     RequestContext::resetMain();
     MediaHandler::resetCache();
     if (session_id() !== '') {
         session_write_close();
         session_id('');
     }
     $wgRequest = new FauxRequest();
     MediaWiki\Session\SessionManager::resetCache();
 }