diff --git a/system/pancake/config/database.php b/system/pancake/config/database.php index 9f5fe11..f04aad9 100755 --- a/system/pancake/config/database.php +++ b/system/pancake/config/database.php @@ -41,22 +41,52 @@ $active_group = 'default'; $active_record = TRUE; -$db['default']['hostname'] = 'localhost'; -$db['default']['username'] = 'root'; -$db['default']['password'] = '3QU5eA&U^Y&3DQm6'; -$db['default']['database'] = 'pancake'; -$db['default']['dbdriver'] = 'mysqli'; -$db['default']['dbprefix'] = 'pancake_'; -$db['default']['pconnect'] = FALSE; -$db['default']['db_debug'] = TRUE; -$db['default']['cache_on'] = FALSE; -$db['default']['cachedir'] = ''; -$db['default']['char_set'] = 'utf8mb4'; -$db['default']['dbcollat'] = 'utf8mb4_general_ci'; -$db['default']['swap_pre'] = ''; -$db['default']['autoinit'] = TRUE; -$db['default']['stricton'] = TRUE; -$db['default']['port'] = 3306; +if (!function_exists('pancake_env')) { + function pancake_env($key, $default = null) { + $value = getenv($key); + return $value === false ? $default : $value; + } +} + +if (!function_exists('pancake_env_bool')) { + function pancake_env_bool($key, $default = false) { + $value = getenv($key); + if ($value === false) { + return $default; + } + + $filtered = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); + return $filtered === null ? $default : $filtered; + } +} + +if (!function_exists('pancake_env_int')) { + function pancake_env_int($key, $default = null) { + $value = getenv($key); + if ($value === false || !is_numeric($value)) { + return $default; + } + + return (int) $value; + } +} + +$db['default']['hostname'] = pancake_env('PANCAKE_DB_HOST', 'localhost'); +$db['default']['username'] = pancake_env('PANCAKE_DB_USERNAME', 'root'); +$db['default']['password'] = pancake_env('PANCAKE_DB_PASSWORD', '3QU5eA&U^Y&3DQm6'); +$db['default']['database'] = pancake_env('PANCAKE_DB_NAME', 'pancake'); +$db['default']['dbdriver'] = pancake_env('PANCAKE_DB_DRIVER', 'mysqli'); +$db['default']['dbprefix'] = pancake_env('PANCAKE_DB_PREFIX', 'pancake_'); +$db['default']['pconnect'] = pancake_env_bool('PANCAKE_DB_PCONNECT', FALSE); +$db['default']['db_debug'] = pancake_env_bool('PANCAKE_DB_DEBUG', TRUE); +$db['default']['cache_on'] = pancake_env_bool('PANCAKE_DB_CACHE_ON', FALSE); +$db['default']['cachedir'] = pancake_env('PANCAKE_DB_CACHEDIR', ''); +$db['default']['char_set'] = pancake_env('PANCAKE_DB_CHARSET', 'utf8mb4'); +$db['default']['dbcollat'] = pancake_env('PANCAKE_DB_COLLATION', 'utf8mb4_general_ci'); +$db['default']['swap_pre'] = pancake_env('PANCAKE_DB_SWAP_PRE', ''); +$db['default']['autoinit'] = pancake_env_bool('PANCAKE_DB_AUTOINIT', TRUE); +$db['default']['stricton'] = pancake_env_bool('PANCAKE_DB_STRICTON', TRUE); +$db['default']['port'] = pancake_env_int('PANCAKE_DB_PORT', 3306); /* End of file database.php */ /* Location: ./application/config/database.php */ \ No newline at end of file