From 7de74415dfd8a77ed3ead79dc4a99f1b650a7205 Mon Sep 17 00:00:00 2001 From: Pavel Shevaev Date: Wed, 25 Oct 2023 20:28:19 +0300 Subject: [PATCH] Missing environments are now reported --- env.inc.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/env.inc.php b/env.inc.php index 5b04592..737dc43 100644 --- a/env.inc.php +++ b/env.inc.php @@ -7,14 +7,19 @@ $GLOBALS['TASKMAN_ROOT_ENV_NAME'] = 'gamectl.props.php'; task('envs', function() { global $GAME_ROOT; - $dir = $GAME_ROOT."/env/"; + $dir = normalize_path($GAME_ROOT."/env/", true); echo "=== Available envs ===\n"; $results = scan_files_rec(array($dir), array(".props.php")); foreach($results as $file) - echo str_replace(".props.php", "", str_replace($dir, "", $file)) . "\n"; + { + $file = str_replace($dir, '', normalize_path($file, true)); + $file = str_replace(".props.php", '', $file); + $file = ltrim($file, '/'); + echo $file . "\n"; + } }); function put_env(&$argv) @@ -63,12 +68,9 @@ function include_env() global $GAME_ROOT; $env_filename = get_env_file(); - $root_env = get_root_env_name(); if($env_filename && !file_exists($env_filename)) - throw new Exception("Error setting environment. No such env file $env_filename"); - else if($env_filename === null && file_exists("$GAME_ROOT/$root_env")) - $env_filename = "$GAME_ROOT/$root_env"; + throw new Exception("No env file '$env_filename'"); if($env_filename) include($env_filename); @@ -83,13 +85,14 @@ function get_env_file() $env = getenv("GAME_ENV"); if($env) + { $env_filename = "$GAME_ROOT/env/$env.props.php"; - else - $env_filename = "$GAME_ROOT/" . get_root_env_name(); - - if(file_exists($env_filename)) return $env_filename; + } + + //checking optional env.file + $env_filename = "$GAME_ROOT/" . get_root_env_name(); - return null; + return file_exists($env_filename) ? $env_filename : null; }