Development

Changeset 8550

You must first sign up to be able to contribute.

Changeset 8550

Show
Ignore:
Timestamp:
04/19/08 03:23:52 (1 year ago)
Author:
fabien
Message:

added a sfApplicationConfiguration::activate() method to pop/push sfConfig values when changing context (closes #3354)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.1/lib/config/sfApplicationConfiguration.class.php

    r8450 r8550  
    2323    $application = null, 
    2424    $environment = null, 
    25     $debug       = false; 
     25    $debug       = false, 
     26    $config      = array(); 
    2627 
    2728  /** 
     
    5657 
    5758    $this->initialize(); 
     59 
     60    // store current sfConfig values 
     61    $this->config = sfConfig::getAll(); 
    5862  } 
    5963 
     
    7680  } 
    7781 
     82  public function activate() 
     83  { 
     84    sfConfig::clear(); 
     85    sfConfig::add($this->config); 
     86  } 
     87 
    7888  /** 
    7989   * @see sfProjectConfiguration 
     
    8292  { 
    8393    // in debug mode, start global timer 
    84     if ($this->isDebug()
     94    if ($this->isDebug() && !sfConfig::get('sf_timer_start')
    8595    { 
    8696      sfConfig::set('sf_timer_start', microtime(true)); 
  • branches/1.1/lib/util/sfContext.class.php

    r8465 r8550  
    172172  public static function switchTo($name) 
    173173  { 
     174    if (!isset(self::$instances[$name])) 
     175    { 
     176      $currentConfiguration = sfContext::getInstance()->getConfiguration(); 
     177      sfContext::createInstance(ProjectConfiguration::getApplicationConfiguration($name, $currentConfiguration->getEnvironment(), $currentConfiguration->isDebug())); 
     178    } 
     179 
    174180    self::$current = $name; 
     181 
     182    sfContext::getInstance()->getConfiguration()->activate(); 
    175183  } 
    176184 

The Sensio Labs Network

Since 1998, Sensio Labs has been promoting the Open-Source software movement by providing quality web application development, training, consulting, and supporting several large Open-Source projects.