Skip to content

Commit

Permalink
Возможность определения секретного слова, которое будет использоватьс…
Browse files Browse the repository at this point in the history
…я в качестве опциональной соли для генерации идентификатора приложения.
  • Loading branch information
vizh committed Dec 20, 2017
1 parent 7d123c5 commit 3aa9df5
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion framework/base/CApplication.php
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ abstract class CApplication extends CModule
* @var string the class used to get locale data. Defaults to 'CLocale'.
*/
public $localeClass='CLocale';
/**
* @var string
*/
public $secret='';

private $_id;
private $_basePath;
Expand Down Expand Up @@ -160,6 +164,7 @@ public function __construct($config=null)

$this->preinit();

$this->initEnvironment();
$this->initSystemHandlers();
$this->registerCoreComponents();

Expand Down Expand Up @@ -234,7 +239,7 @@ public function getId()
if($this->_id!==null)
return $this->_id;
else
return $this->_id=sprintf('%x',crc32($this->getBasePath().$this->name));
return $this->_id=sprintf('%x',crc32($this->getBasePath().$this->name.$this->secret));
}

/**
Expand Down Expand Up @@ -954,6 +959,27 @@ public function displayException($exception)
}
}

protected function initEnvironment()
{
// Загрузка переменных окружения
if (false !== $environment = @parse_ini_file($this->getBasePath().DIRECTORY_SEPARATOR.'.env', INI_SCANNER_RAW)) {
foreach ($environment as $param => $value) {
// Если проект запущен под apache используя mod_php и переопределяет наше значение
if (true === function_exists('apache_setenv') && false !== apache_getenv($param)) {
apache_setenv($param, $param);
}
// Для FastCGI используется другой способ
if (true === function_exists('putenv')) {
putenv("{$param}={$value}");
}
// Ну и для пущей уверенности
$_ENV[$param] = $value;
}
} else {
die('Опаньки! Отсутствует файл .env-файл. Подробности в README.md');
}
}

/**
* Initializes the error handlers.
*/
Expand Down

0 comments on commit 3aa9df5

Please sign in to comment.