diff --git a/hwe/func.php b/hwe/func.php index bb2781b8..14345068 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -271,6 +271,11 @@ function myNationInfo() { $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $nation = MYDB_fetch_array($result); + if(!$nation){ + $nation = getNationStaticInfo(0); + $nation['tech'] = 0; + } + $query = "select COUNT(*) as cnt, SUM(pop) as totpop, SUM(pop2) as maxpop from city where nation='{$nation['nation']}'"; // 도시 이름 목록 $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $city = MYDB_fetch_array($result); @@ -341,6 +346,7 @@ function myNationInfo() { $techCall = getTechCall($nation['tech']); + if(TechLimit($admin['startyear'], $admin['year'], $nation['tech'])) { $nation['tech'] = "{$nation['tech']}"; } else { $nation['tech'] = "{$nation['tech']}"; } diff --git a/src/sammo/StringUtil.php b/src/sammo/StringUtil.php index a6fec0b0..e2f8fff6 100644 --- a/src/sammo/StringUtil.php +++ b/src/sammo/StringUtil.php @@ -183,19 +183,19 @@ class StringUtil } public static function uniord(string $c) { - if (ord($c{0}) >=0 && ord($c{0}) <= 127) - return ord($c{0}); - if (ord($c{0}) >= 192 && ord($c{0}) <= 223) - return (ord($c{0})-192)*64 + (ord($c{1})-128); - if (ord($c{0}) >= 224 && ord($c{0}) <= 239) - return (ord($c{0})-224)*4096 + (ord($c{1})-128)*64 + (ord($c{2})-128); - if (ord($c{0}) >= 240 && ord($c{0}) <= 247) - return (ord($c{0})-240)*262144 + (ord($c{1})-128)*4096 + (ord($c{2})-128)*64 + (ord($c{3})-128); - if (ord($c{0}) >= 248 && ord($c{0}) <= 251) - return (ord($c{0})-248)*16777216 + (ord($c{1})-128)*262144 + (ord($c{2})-128)*4096 + (ord($c{3})-128)*64 + (ord($c{4})-128); - if (ord($c{0}) >= 252 && ord($c{0}) <= 253) - return (ord($c{0})-252)*1073741824 + (ord($c{1})-128)*16777216 + (ord($c{2})-128)*262144 + (ord($c{3})-128)*4096 + (ord($c{4})-128)*64 + (ord($c{5})-128); - if (ord($c{0}) >= 254 && ord($c{0}) <= 255) // error + if (ord($c[0]) >=0 && ord($c[0]) <= 127) + return ord($c[0]); + if (ord($c[0]) >= 192 && ord($c[0]) <= 223) + return (ord($c[0])-192)*64 + (ord($c[1])-128); + if (ord($c[0]) >= 224 && ord($c[0]) <= 239) + return (ord($c[0])-224)*4096 + (ord($c[1])-128)*64 + (ord($c[2])-128); + if (ord($c[0]) >= 240 && ord($c[0]) <= 247) + return (ord($c[0])-240)*262144 + (ord($c[1])-128)*4096 + (ord($c[2])-128)*64 + (ord($c[3])-128); + if (ord($c[0]) >= 248 && ord($c[0]) <= 251) + return (ord($c[0])-248)*16777216 + (ord($c[1])-128)*262144 + (ord($c[2])-128)*4096 + (ord($c[3])-128)*64 + (ord($c[4])-128); + if (ord($c[0]) >= 252 && ord($c[0]) <= 253) + return (ord($c[0])-252)*1073741824 + (ord($c[1])-128)*16777216 + (ord($c[2])-128)*262144 + (ord($c[3])-128)*4096 + (ord($c[4])-128)*64 + (ord($c[5])-128); + if (ord($c[0]) >= 254 && ord($c[0]) <= 255) // error return FALSE; return 0; }