From 6d72728249899d679ec3cf9192c28872be72f7d2 Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Tue, 22 Mar 2016 23:41:03 -0400 Subject: [PATCH] pick world automatically when only one is present --- web/chunkymap.php | 48 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/web/chunkymap.php b/web/chunkymap.php index 282f861..1d92ab8 100644 --- a/web/chunkymap.php +++ b/web/chunkymap.php @@ -1519,21 +1519,47 @@ function check_world() { global $world_name; global $chunkymapdata_worlds_path; global $auto_choose_enable; + $non_world_world_count = 0; + $world_count = 0; + $non_world_world_name = null; + $last_world_name = null; - - if ($auto_choose_enable===true) { - if (!isset($world_name)) { - if ($handle = opendir($chunkymapdata_worlds_path)) { - while (false !== ($file_name = readdir($handle))) { - if (substr($file_name, 0, 1) != ".") { - $file_path = $chunkymapdata_worlds_path."/".$file_name; - if (is_dir($file_path)) { - $world_name=$file_name; - break; + if (!isset($world_name)) { + if ($handle = opendir($chunkymapdata_worlds_path)) { + while (false !== ($file_name = readdir($handle))) { + if (substr($file_name, 0, 1) != ".") { + $file_path = $chunkymapdata_worlds_path."/".$file_name; + if (is_dir($file_path)) { + //$world_name=$file_name; + //break; + if ($file_name!="world") { + $non_world_world_name = $file_name; + if ($auto_choose_enable===true) { + $world_name = $file_name; + } + $non_world_world_count++; } + $last_world_name = $file_name; + $world_count++; } } - closedir($handle); + } + closedir($handle); + } + if ($world_count==1) { + $world_name = $last_world_name; + } + //elseif ($non_world_world_count==1) { //assumes you want the one not called world (not a great assumption) + // $world_name = $non_world_world_name; + //} + else { + if ($auto_choose_enable===true) { + if ($non_world_world_name==null) { + $world_name = $last_world_name; + } + else { + $world_name = $non_world_world_name; + } } } }