From 7efc03813b7f13d84314430e61f7fc2fb4bd8671 Mon Sep 17 00:00:00 2001 From: hide_d Date: Mon, 26 Feb 2018 01:46:13 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=84=EB=8B=A8=ED=95=9C=20=EA=B5=AD?= =?UTF-8?q?=EA=B0=80=20=EC=A0=95=EB=B3=B4=EB=A5=BC=20=EA=B0=80=EC=A0=B8?= =?UTF-8?q?=EC=98=A4=EB=8A=94=20=EC=BD=94=EB=93=9C=EB=93=A4=EC=9D=84=20?= =?UTF-8?q?=EC=9D=BC=EB=B6=80=20=ED=86=B5=ED=95=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- twe/b_currentCity.php | 4 +- twe/b_myCityInfo.php | 4 +- twe/b_myGenInfo.php | 8 ++-- twe/c_vote.php | 8 ++-- twe/event_1.php | 2 +- twe/func.php | 83 +++++++++----------------------- twe/func_gamerule.php | 37 +++++++++------ twe/func_message.php | 21 +++------ twe/func_process.php | 52 +++++++------------- twe/func_time_event.php | 4 +- twe/j_msgsubmit.php | 2 +- twe/processing.php | 102 +++++++++++++++------------------------- twe/queue.php | 1 + twe/schema.php | 2 +- 14 files changed, 120 insertions(+), 210 deletions(-) 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)"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $count = MYDB_num_rows($result); - for($i=1; $i <= $count; $i++) { - $nation = MYDB_fetch_array($result); + foreach(getAllNationStaticInfo() as $nation) { $nationNation[$nation['nation']] = $nation['nation']; $nationName[$nation['nation']] = $nation['name']; $nationColor[$nation['nation']] = $nation['color']; @@ -321,7 +317,7 @@ function genList($connect) { echo " "; - $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) {
대상 국가