diff --git a/twe/b_currentCity.php b/twe/b_currentCity.php
index 9240e0d3..0c148417 100644
--- a/twe/b_currentCity.php
+++ b/twe/b_currentCity.php
@@ -137,9 +137,7 @@ $query = "select * from city where city='{$_REQUEST['citylist']}'"; // 도시
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$city = MYDB_fetch_array($cityresult);
-$query = "select nation,name,color from nation where nation='{$city['nation']}'";
-$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
-$nation = MYDB_fetch_array($result);
+$nation = getNationStaticInfo($city['nation']);
$query = "select name from general where no='{$city['gen1']}'"; // 태수 이름
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/twe/b_myCityInfo.php b/twe/b_myCityInfo.php
index 1502ef20..3f61a7e7 100644
--- a/twe/b_myCityInfo.php
+++ b/twe/b_myCityInfo.php
@@ -60,9 +60,7 @@ $query = "select nation from general where owner='{$_SESSION['noMember']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
-$query = "select color,capital from nation where nation='{$me['nation']}'";
-$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
-$nation = MYDB_fetch_array($result); //국가정보
+$nation = getNationStaticInfo($me['nation']); //국가정보
switch($type) {
case 1: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'"; break;
diff --git a/twe/b_myGenInfo.php b/twe/b_myGenInfo.php
index 48ce3f7b..b6175534 100644
--- a/twe/b_myGenInfo.php
+++ b/twe/b_myGenInfo.php
@@ -60,10 +60,8 @@ if($me['skin'] < 1) {
queryFirstField('select level from nation where nation = %i', $me['nation']);
switch($type) {
case 1: $query = "select npc,special,special2,personal,picture,imgsvr,name,level,dedication,experience,injury,leader,power,intel,gold,rice,belong,connect,killturn from general where nation='{$me['nation']}' order by level desc"; break;
case 2: $query = "select npc,special,special2,personal,picture,imgsvr,name,level,dedication,experience,injury,leader,power,intel,gold,rice,belong,connect,killturn from general where nation='{$me['nation']}' order by dedication desc"; break;
@@ -107,9 +105,9 @@ for($j=0; $j < $gencount; $j++) {
$general = MYDB_fetch_array($genresult);
if($general['level'] == 12) {
- $lbonus = $nation['level'] * 2;
+ $lbonus = $nationLevel * 2;
} elseif($general['level'] >= 5) {
- $lbonus = $nation['level'];
+ $lbonus = $nationLevel;
} else {
$lbonus = 0;
}
diff --git a/twe/c_vote.php b/twe/c_vote.php
index 7a2565d7..a7e957d1 100644
--- a/twe/c_vote.php
+++ b/twe/c_vote.php
@@ -60,10 +60,10 @@ if($btn == "수정" && $me['userlevel'] >= 5) {
$comment = trim($comment);
$comment = addslashes(SQ2DQ($comment));
- $query = "select name from nation where nation='{$me['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
- if($nation['name'] == "") { $nation['name'] = "재야"; }
+ $nation = getNationStaticInfo($me['nation']);
+ if($nation == null) {
+ $nation['name'] = "재야";
+ }
if($admin['votecomment'] != "") { $admin['votecomment'] .= "|"; }
$admin['votecomment'] .= "{$nation['name']}:{$me['name']}:{$comment}";
diff --git a/twe/event_1.php b/twe/event_1.php
index 32b70563..cc84f1c4 100644
--- a/twe/event_1.php
+++ b/twe/event_1.php
@@ -48,7 +48,7 @@ if($admin['isUnited'] == 0) {
}
// 수도가 이성인경우 옆으로 이전, 또는 랜덤
-$query = "select nation from nation where capital=63 or capital=64 or capital=65 or capital=66 or capital=67 or capital=68 or capital=69";
+$query = "select nation from nation where capital in (63,64,65,66,67,68,69)"; //NOTE: 이성의 여부가 하드코딩 되어있다. 물론 국가 수와 도시가 정해져있으므로 큰 문제는 없다.
$result = MYDB_query($query, $connect) or Error("scenario_194A ".MYDB_error($connect),"");
$count = MYDB_num_rows($result);
diff --git a/twe/func.php b/twe/func.php
index 50b18b2a..ecc7792a 100644
--- a/twe/func.php
+++ b/twe/func.php
@@ -350,9 +350,7 @@ function getTurn($connect, $general, $type, $font=1) {
case 25: //임관
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
if(!$nation['name']) { $nation['name'] = '????'; }
@@ -566,9 +564,7 @@ function getCoreTurn($connect, $nation, $level) {
case 51: //항복권고
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에게 항복 권고";
break;
@@ -577,9 +573,7 @@ function getCoreTurn($connect, $nation, $level) {
$third = $command[2];
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$fourth *= 1000;
$third *= 1000;
@@ -592,9 +586,7 @@ function getCoreTurn($connect, $nation, $level) {
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 【{$general['makenation']}】(으)로 통합 제의";
break;
@@ -602,36 +594,28 @@ function getCoreTurn($connect, $nation, $level) {
$third = $command[2];
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 {$third}년 불가침 제의";
break;
case 62: //선전 포고
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 선전 포고";
break;
case 63: //종전 제의
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 종전 제의";
break;
case 64: //파기 제의
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 파기 제의";
break;
@@ -676,9 +660,7 @@ function getCoreTurn($connect, $nation, $level) {
case 75: //피장파장
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 피장파장";
break;
@@ -688,18 +670,14 @@ function getCoreTurn($connect, $nation, $level) {
case 77: //이호경식
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 이호경식";
break;
case 78: //급습
$double = $command[1];
- $query = "select name from nation where nation='$double'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($double);
$str[$i] = "【{$nation['name']}】에 급습";
break;
@@ -734,9 +712,7 @@ function cityInfo($connect) {
// 도시 정보
$city = getCity($connect, $me['city']);
- $query = "select name,color from nation where nation='{$city['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($city['nation']);
$pop = $city['pop'] / $city['pop2'] * 100;
$rate = $city['rate'];
@@ -1037,9 +1013,7 @@ function commandTable($connect) {
$troop = getTroop($connect, $me['troop']);
$city = getCity($connect, $me['city']);
- $query = "select nation from nation";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nationcount = MYDB_num_rows($result);
+ $nationcount = count(getAllNationStaticInfo());
$query = "select city from city where nation='{$me['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1049,9 +1023,7 @@ function commandTable($connect) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result);
- $query = "select type,level from nation where nation='{$me['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($me['nation']);
$develcost = $admin['develcost'];
$develcostA = $admin['develcost']; $colorA = 0;
@@ -1380,9 +1352,7 @@ function generalInfo($connect, $no, $skin) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
- $query = "select nation,level,color from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
if($general['level'] == 12) {
$lbonus = $nation['level'] * 2;
@@ -1932,6 +1902,7 @@ function MyHistory($connect, $no, $skin) {
}
function addHistory($connect, $me, $history) {
+ //FIXME: update 쿼리만으로도 구성 가능해보임.
$me['history'] = "{$history}
{$me['history']}";
$query = "update general set history='{$me['history']}' where no='{$me['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1940,6 +1911,7 @@ function addHistory($connect, $me, $history) {
}
function addNationHistory($connect, $nation, $history) {
+ //FIXME: update 쿼리만으로도 구성 가능해보임.
$nation['history'] = "{$nation['history']}{$history}
";
$query = "update nation set history='{$nation['history']}' where nation='{$nation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -2553,13 +2525,8 @@ function checkDelay($connect) {
}
function updateOnline($connect) {
- $query = "select nation,name from nation";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $count = MYDB_num_rows($result);
-
//국가별 이름 매핑
- for($i=0; $i < $count; $i++) {
- $nation = MYDB_fetch_array($result);
+ foreach(getAllNationStaticInfo() as $nation) {
$nationname[$nation['nation']] = $nation['name'];
}
$nationname[0] = "재야";
@@ -3412,9 +3379,7 @@ function CheckHall($connect, $no) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
- $query = "select nation,name,color from nation where nation='{$general['nation']}'";
- $nationresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($nationresult);
+ $nation = getNationStaticInfo($general['nation']);
for($k=0; $k < 21; $k++) {
$query = "select * from hall where type='$k' order by data desc";
@@ -3545,11 +3510,9 @@ function uniqueItem($connect, $general, $log, $vote=0) {
$query = "update general set {$type}='$it' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $query = "select name from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
- if($nation['name'] == "") {
+ if($nation == null) {
$nation['name'] = "재야";
}
@@ -3746,9 +3709,7 @@ function deleteNation($connect, $general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select name from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
$history[count($history)] = "●>{$admin['year']}년 {$admin['month']}월:【멸망】>{$nation['name']}>은(는) 멸망>했습니다.";
diff --git a/twe/func_gamerule.php b/twe/func_gamerule.php
index 3f65873d..140bd349 100644
--- a/twe/func_gamerule.php
+++ b/twe/func_gamerule.php
@@ -391,22 +391,24 @@ function checkSupply($connect) {
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
//도시 있는 국가들
- $query = "select nation,capital from nation where level>'0'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nationNum = MYDB_num_rows($result);
$str = "city='0'";
- for($i=0; $i < $nationNum; $i++) {
- $nation = MYDB_fetch_array($result);
- //수도 있는 덩어리 도시들 1로 세팅
+
+ //TODO: in 을 쓰는게 낫다
+ foreach(getAllNationStaticInfo() as $nation){
+ if($nation['level'] <= 0){
+ continue;
+ }
+
$lbl = $label[$nation['capital']];
- for($k=1; $k <= $cityNum; $k++) {
- if($lbl == $label[$k]) {
+ for ($k=1; $k <= $cityNum; $k++) {
+ if ($lbl == $label[$k]) {
$str .= " or city='{$k}'";
}
}
}
+
$query = "update city set supply='1' where {$str}";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
@@ -736,12 +738,15 @@ function checkWander($connect) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
+ $needRefresh = false;
+
// 국가정보, 장수수
- $query = "select nation from nation where level=0";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nationcount = MYDB_num_rows($result);
- for($i=0; $i < $nationcount; $i++) {
- $nation = MYDB_fetch_array($result);
+ foreach(getAllNationStaticInfo() as $nation){
+ if($nation['level'] != 0){
+ continue;
+ }
+
+ $needRefresh = true;
$query = "select no,name,nation,level,history,turntime from general where nation='{$nation['nation']}' and level=12";
$kingResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -749,9 +754,12 @@ function checkWander($connect) {
$log[0] = "●>초반 제한후 방랑군은 자동 해산됩니다.";
pushGenLog($king, $log);
-
process_56($connect, $king);
}
+
+ if($needRefresh){
+ refreshNationStaticInfo();
+ }
}
function checkMerge($connect) {
@@ -791,6 +799,7 @@ function checkMerge($connect) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$npccount2 = MYDB_num_rows($result);
+ //TODO: 로그 기록에 대한 쿼리는 한번만 할 수 있다.
//피항복국 장수들 역사 기록 및 로그 전달
$query = "select no,name,nation,history from general where nation='{$you['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/twe/func_message.php b/twe/func_message.php
index 34908dc3..9a348496 100644
--- a/twe/func_message.php
+++ b/twe/func_message.php
@@ -289,11 +289,7 @@ function genList($connect) {
";
- $query = "select nation,name,color from nation order by binary(name)";
+ $query = "select nation,name,color from nation order by name";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$count = MYDB_num_rows($result);
for($i=1; $i <= $count; $i++) {
@@ -383,6 +379,7 @@ function MsgFile($skin, $bg, $nation=0, $level=0) {
// type : xx,xx(불가침기간,타입)
// who : xxxx,xxxx(발신인, 수신인)
function DecodeMsg($connect, $msg, $type, $who, $date, $bg, $num=0) {
+ //FIXME: 폐기
$query = "select skin,no,nation,name,picture,level from general where owner='{$_SESSION['noMember']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
@@ -403,9 +400,7 @@ function DecodeMsg($connect, $msg, $type, $who, $date, $bg, $num=0) {
$sndrnation['name'] = '재야';
$sndrnation['color'] = 'FFFFFF';
} else {
- $query = "select name,color from nation where nation='{$sndr['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $sndrnation = MYDB_fetch_array($result);
+ $sndrnation = getNationStaticInfo($sndr['nation']);
}
switch($bg) {
@@ -420,9 +415,7 @@ function DecodeMsg($connect, $msg, $type, $who, $date, $bg, $num=0) {
ShowMsg($me['skin'], $bgcolor, $category, $sndr['picture'], $sndr['imgsvr'], "{$sndr['name']}:{$sndrnation['name']}▶", $sndrnation['color'], $sndr['name'], $sndrnation['color'], $msg, $date, $num, $from, $term, $me['level'], $dip['reserved']);
} elseif($category <= 8) {
- $query = "select name,color from nation where nation='$to'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $rcvrnation = MYDB_fetch_array($result);
+ $rcvrnation = getNationStaticInfo($to);
ShowMsg($me['skin'], $bgcolor, $category, $sndr['picture'], $sndr['imgsvr'], "{$sndr['name']}:{$sndrnation['name']}▶", $sndrnation['color'], $rcvrnation['name'], $rcvrnation['color'], $msg, $date, $num, $from, $term, $me['level']);
} elseif($category <= 11) {
@@ -434,9 +427,7 @@ function DecodeMsg($connect, $msg, $type, $who, $date, $bg, $num=0) {
$rcvrnation['name'] = '재야';
$rcvrnation['color'] = 'FFFFFF';
} else {
- $query = "select name,color from nation where nation='{$rcvr['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $rcvrnation = MYDB_fetch_array($result);
+ $rcvrnation = getNationStaticInfo($rcvr['nation']);
}
ShowMsg($me['skin'], $bgcolor, $category, $sndr['picture'], $sndr['imgsvr'], "{$sndr['name']}:{$sndrnation['name']}▶", $sndrnation['color'], "{$rcvr['name']}:{$rcvrnation['name']}", $rcvrnation['color'], $msg, $date, $num, $from, $term);
}
diff --git a/twe/func_process.php b/twe/func_process.php
index 1921d43b..2a7e71e5 100644
--- a/twe/func_process.php
+++ b/twe/func_process.php
@@ -1059,9 +1059,7 @@ function process_14($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select level from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
$lbonus = setLeadershipBonus($general, $nation['level']);
@@ -1346,9 +1344,7 @@ function process_21($connect, &$general) {
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
if($general['level'] == 12) {
- $query = "select level from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
if($nation['level'] == 0) {
$query = "update general set city='$destination' where nation='{$general['nation']}'";
@@ -1895,9 +1891,7 @@ function process_28($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select level,capital from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
if($nation['level'] == 0) {
$log[count($log)] = "●>{$admin['month']}월:방랑군입니다. 귀환 실패. <1>$date>";
@@ -2242,9 +2236,7 @@ function process_30($connect, &$general) {
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
if($general['level'] == 12) {
- $query = "select level from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
if($nation['level'] == 0) {
$query = "update general set city='$destination' where nation='{$general['nation']}'";
@@ -2675,9 +2667,7 @@ function process_34($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$destcity = MYDB_fetch_array($result);
- $query = "select level,type from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $mynation = MYDB_fetch_array($result);
+ $mynation = getNationStaticInfo($general['nation']);
$query = "select nation,supply from city where city='{$general['city']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -2799,9 +2789,7 @@ function process_35($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$destcity = MYDB_fetch_array($result);
- $query = "select level,type from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $mynation = MYDB_fetch_array($result);
+ $mynation = getNationStaticInfo($general['nation']);
$lbonus = setLeadershipBonus($general, $mynation['level']);
@@ -2925,9 +2913,7 @@ function process_36($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$destcity = MYDB_fetch_array($result);
- $query = "select level,type from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $mynation = MYDB_fetch_array($result);
+ $mynation = getNationStaticInfo($general['nation']);
$lbonus = setLeadershipBonus($general, $mynation['level']);
@@ -3707,9 +3693,7 @@ function process_47($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select name,level from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
//현재 외교 진행중(평시, 불가침만 제외)일때
$query = "select state from diplomacy where me='{$general['nation']}' and state!='2' and state!='7'";
@@ -3876,9 +3860,7 @@ function process_49($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select level from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
$city = getCity($connect, $general['city']);
@@ -4379,14 +4361,14 @@ function process_55($connect, &$general) {
$nation = addNationHistory($connect, $nation, "●>{$admin['year']}년 {$admin['month']}월:{$general['name']}>(이)가 {$city['name']}>에서 거병");
// 외교테이블 추가
- $query = "select nation from nation where nation!='{$nation['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nationcount = MYDB_num_rows($result);
-
refreshNationStaticInfo();
- for($i=0; $i < $nationcount; $i++) {
- $younation = MYDB_fetch_array($result);
+ foreach(getAllNationStaticInfo() as $younation){
+ if($nation['nation'] == $you['nation']){
+ continue;
+ }
+
+ //FIXME: 쿼리 개선. foreach문은 굳이 필요없을것
$query = "insert into diplomacy (me, you, state, term) values ('{$nation['nation']}', '{$younation['nation']}', '2', '0')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "insert into diplomacy (me, you, state, term) values ('{$younation['nation']}', '{$nation['nation']}', '2', '0')";
@@ -4407,9 +4389,7 @@ function process_56($connect, &$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$admin = MYDB_fetch_array($result);
- $query = "select name from nation where nation='{$general['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($result);
+ $nation = getNationStaticInfo($general['nation']);
$query = "select city from city where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/twe/func_time_event.php b/twe/func_time_event.php
index f72d1743..8aa4c0ca 100644
--- a/twe/func_time_event.php
+++ b/twe/func_time_event.php
@@ -432,9 +432,7 @@ function getRiceIncome($connect, $nationNo, $rate, $admin_rate, $type) {
$level2[$gen['no']] = $gen['city'];
}
- $query = "select capital,level from nation where nation='$nationNo'"; // 수도
- $cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $nation = MYDB_fetch_array($cityresult);
+ $nation = getNationStaticInfo($nationNo);
$query = "select * from city where nation='$nationNo' and supply='1'"; // 도시 목록
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/twe/j_msgsubmit.php b/twe/j_msgsubmit.php
index 595c2c15..9f610f92 100644
--- a/twe/j_msgsubmit.php
+++ b/twe/j_msgsubmit.php
@@ -94,7 +94,7 @@ $src = [
'nation' => null
];
if($src['nation_id'] != 0) {
- $nation = $db->queryFirstRow('select nation,name,color from nation where nation=%i',$src_nation_id);
+ $nation = getNationStaticInfo($src_nation_id);
$src['nation'] = $nation['name'];
$src['color'] = '#'.$nation['color'];
$src['color'] = str_replace('##', '#', $src['color']); //FIXME: nation table에서 color가 #포함된 걸로 바뀔 경우를 대비
diff --git a/twe/processing.php b/twe/processing.php
index 362eea3e..8c67a287 100644
--- a/twe/processing.php
+++ b/twe/processing.php
@@ -1244,13 +1244,7 @@ function command_22($connect, $turn, $command) {
";
}
- $query = "select nation,name,color from nation where nation!='{$me['nation']}'";
- $result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
- $count = MYDB_num_rows($result);
-
- for($i=1; $i <= $count; $i++) {
- $nation = MYDB_fetch_array($result);
-
+ foreach(getAllNationStaticInfo() as $nation){
echo "";
$query = "select no,name,npc from general where nation='{$nation['nation']}' and level!='12' and npc<2 order by npc,binary(name)";
@@ -1959,12 +1953,10 @@ function command_46($connect, $turn, $command) {
$color = GetNationColors();
- $query = "select color from nation where level>0";
- $result = MYDB_query($query, $connect) or Error("command_46 ".MYDB_error($connect),"");
- $nationcount = MYDB_num_rows($result);
-
- for($i=0; $i < $nationcount; $i++) {
- $nation = MYDB_fetch_array($result);
+ foreach(getAllNationStaticInfo() as $nation){
+ if($nation['level'] <= 0){
+ continue;
+ }
$nationcolor[$i] = $nation['color'];
}
$validCount = count($color);
@@ -2214,9 +2206,7 @@ function command_52($connect, $turn, $command) {
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
- $query = "select nation,level from nation where nation='{$me['nation']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $mynation = MYDB_fetch_array($result);
+ $mynation = getNationStaticInfo($me['nation']);
echo "
타국에게 원조합니다.
@@ -2232,12 +2222,7 @@ function command_52($connect, $turn, $command) {