Commit c13b54da1de36c1db6cdb9d380867094c580c997

Authored by Administrator
1 parent 89ecf44a

add local config

Showing 2 changed files with 30 additions and 1 deletions   Show diff stats
.gitignore
... ... @@ -4,3 +4,4 @@
4 4 /www-backend/*
5 5 /www-arktika/list_images/*
6 6 .idea
  7 +/src/config/global-local.php
7 8 \ No newline at end of file
... ...
src/lib/config.php
... ... @@ -32,7 +32,10 @@ namespace
32 32 */
33 33 public function __construct()
34 34 {
35   - $this->config = require( ROOT_PATH.'config/global.php' );
  35 + $this->config = self::merge(
  36 + require( ROOT_PATH.'config/global.php' ),
  37 + require( ROOT_PATH.'config/global-local.php' )
  38 + );
36 39 }
37 40  
38 41 ///////////////////////////////////////////////////////////////////////
... ... @@ -270,6 +273,31 @@ namespace
270 273 {
271 274 return ROOT_PATH.'log/';
272 275 }
  276 +
  277 +
  278 + public static function merge($a, $b)
  279 + {
  280 + $args = func_get_args();
  281 + $res = array_shift($args);
  282 + while (!empty($args)) {
  283 + $next = array_shift($args);
  284 + foreach ($next as $k => $v) {
  285 + if (is_int($k)) {
  286 + if (isset($res[$k])) {
  287 + $res[] = $v;
  288 + } else {
  289 + $res[$k] = $v;
  290 + }
  291 + } elseif (is_array($v) && isset($res[$k]) && is_array($res[$k])) {
  292 + $res[$k] = self::merge($res[$k], $v);
  293 + } else {
  294 + $res[$k] = $v;
  295 + }
  296 + }
  297 + }
  298 +
  299 + return $res;
  300 + }
273 301  
274 302 ///////////////////////////////////////////////////////////////////////
275 303 }
... ...