/** * Gets the site config * * @param STDClass $C the config variable * * @returns the config object * @since ADD MVC 0.0 */ static function config(STDClass $C = null) { if ($C) { $config_array = (array) $C; $full_default_config_array = (array) self::default_config(); $default_config_array = array_diff_key($full_default_config_array, $config_array); $merge_config_array = array_intersect_key($config_array, $full_default_config_array); $config_array = array_merge($default_config_array, $config_array); foreach ($merge_config_array as $key => $value) { if (is_object($value)) { $value = (array) $value; } if (is_array($value)) { $config_array[$key] = array_merge((array) $value, (array) $full_default_config_array[$key]); } else { $config_array[$key] = $value; } } self::$C = $GLOBALS[self::CONFIG_VARNAME] = (object) $config_array; self::$environment_status = self::$C->environment_status; # Convert to object foreach (self::$C as &$var) { if (is_array($var)) { $var = (object) $var; } } } return self::$C; }
/** * Gets the site config * * @param STDClass $C the config variable * * @returns the config object * @since ADD MVC 0.0 */ static function config(STDClass $C = null) { if ($C) { self::$C = $C; $GLOBALS[self::CONFIG_VARNAME] = self::$C; } return self::$C; }