mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Ensure Configure::boostrap() doesn't overwrite existing configs under 'App' key.
Fixes #3874
This commit is contained in:
parent
6da0a37e11
commit
b7cee8ff57
3 changed files with 36 additions and 11 deletions
|
@ -67,13 +67,7 @@ class Configure {
|
|||
*/
|
||||
public static function bootstrap($boot = true) {
|
||||
if ($boot) {
|
||||
self::write('App', array(
|
||||
'base' => false,
|
||||
'baseUrl' => false,
|
||||
'dir' => APP_DIR,
|
||||
'webroot' => WEBROOT_DIR,
|
||||
'www_root' => WWW_ROOT
|
||||
));
|
||||
self::_appDefaults();
|
||||
|
||||
if (!include APP . 'Config' . DS . 'core.php') {
|
||||
trigger_error(__d('cake_dev', "Can't find application core file. Please create %score.php, and make sure it is readable by PHP.", APP . 'Config' . DS), E_USER_ERROR);
|
||||
|
@ -109,6 +103,20 @@ class Configure {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set app's default configs
|
||||
* @return void
|
||||
*/
|
||||
protected static function _appDefaults() {
|
||||
self::write('App', (array)self::read('App') + array(
|
||||
'base' => false,
|
||||
'baseUrl' => false,
|
||||
'dir' => APP_DIR,
|
||||
'webroot' => WEBROOT_DIR,
|
||||
'www_root' => WWW_ROOT
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to store a dynamic variable in Configure.
|
||||
*
|
||||
|
|
|
@ -69,6 +69,23 @@ class ConfigureTest extends CakeTestCase {
|
|||
Configure::drop('test');
|
||||
}
|
||||
|
||||
/**
|
||||
* Test to ensure bootrapping doesn't overwrite prior configs set under 'App' key
|
||||
* @return void
|
||||
*/
|
||||
public function testBootstrap() {
|
||||
$expected = array(
|
||||
'foo' => 'bar'
|
||||
);
|
||||
Configure::write('App', $expected);
|
||||
|
||||
Configure::bootstrap(true);
|
||||
$result = Configure::read('App');
|
||||
|
||||
$this->assertEquals($expected['foo'], $result['foo']);
|
||||
$this->assertFalse($result['base']);
|
||||
}
|
||||
|
||||
/**
|
||||
* testRead method
|
||||
*
|
||||
|
|
|
@ -150,10 +150,6 @@ App::uses('Cache', 'Cache');
|
|||
App::uses('Object', 'Core');
|
||||
App::uses('Multibyte', 'I18n');
|
||||
|
||||
App::$bootstrapping = true;
|
||||
|
||||
Configure::bootstrap(isset($boot) ? $boot : true);
|
||||
|
||||
/**
|
||||
* Full URL prefix
|
||||
*/
|
||||
|
@ -172,6 +168,10 @@ if (!defined('FULL_BASE_URL')) {
|
|||
unset($httpHost, $s);
|
||||
}
|
||||
|
||||
App::$bootstrapping = true;
|
||||
|
||||
Configure::bootstrap(isset($boot) ? $boot : true);
|
||||
|
||||
if (function_exists('mb_internal_encoding')) {
|
||||
$encoding = Configure::read('App.encoding');
|
||||
if (!empty($encoding)) {
|
||||
|
|
Loading…
Reference in a new issue