From 3dd52942d28b8f20ce321bd8c4a9134488c12b11 Mon Sep 17 00:00:00 2001 From: hide_d Date: Fri, 16 Aug 2019 22:16:28 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=EB=8C=80=20=EB=AA=85=EB=A0=B9?= =?UTF-8?q?=EC=9D=84=20json=20api=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/b_troop.php | 56 +++++++++++++--- hwe/c_troop.php | 66 ------------------- hwe/j_troop.php | 165 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 211 insertions(+), 76 deletions(-) delete mode 100644 hwe/c_troop.php create mode 100644 hwe/j_troop.php diff --git a/hwe/b_troop.php b/hwe/b_troop.php index be02541c..dfa673c1 100644 --- a/hwe/b_troop.php +++ b/hwe/b_troop.php @@ -81,6 +81,42 @@ uasort($troops, function($lhs, $rhs){ + @@ -88,7 +124,7 @@ uasort($troops, function($lhs, $rhs){
부 대 편 성
-
+ @@ -102,9 +138,9 @@ uasort($troops, function($lhs, $rhs){ @@ -133,7 +169,7 @@ foreach ($troops as $troopNo=>$troop) { - + @@ -152,15 +188,15 @@ foreach ($troops as $troopNo=>$troop) {
- + - +
'>'>
");background-size:64px;'>  - "; - +
- + @@ -181,11 +217,11 @@ foreach ($troops as $troopNo=>$troop) { - + - + - +
부 대 명
diff --git a/hwe/c_troop.php b/hwe/c_troop.php deleted file mode 100644 index faed759b..00000000 --- a/hwe/c_troop.php +++ /dev/null @@ -1,66 +0,0 @@ -setReadOnly(); -$userID = $session::getUserID(); - -$db = DB::db(); - -$me = $db->queryFirstRow('SELECT `no`, nation, troop FROM general WHERE `owner`=%i', $userID); - -$name = trim($name); -if($btn == "부 대 창 설" && $name != "" && $me['troop'] == 0) { - $db->insert('troop',[ - 'name'=>$name, - 'nation'=>$me['nation'], - 'no'=>$me['no'] - ]); - $troopID = $db->insertId(); - - $db->update('general', [ - 'troop'=>$troopID - ], 'no=%i',$me['no']); -} elseif($btn == "부 대 변 경" && $name != "") { - $db->update('troop', [ - 'name'=>$name - ], 'no=%i',$me['no']); -} elseif($btn == "부 대 추 방" && $gen != 0) { - $db->update('general', [ - 'troop'=>0 - ], 'no=%i AND troop=(SELECT troop FROM troop WHERE no = %i)', $gen, $me['no']); -} elseif($btn == "부 대 가 입" && $troop != 0) { - $troopLeader = $db->queryFirstField('SELECT `no` FROM troop WHERE troop=%i', $troop); - $troopLeaderNation = $db->queryFirstField('SELECT `nation` FROM `general` WHERE `no`=%i AND `nation`=%i', $troopLeader, $me['nation']); - if($troopLeaderNation){ - $db->update('general', [ - 'troop'=>$troop - ], 'no=%i', $me['no']); - } -} elseif($btn == "부 대 탈 퇴") { - $troopLeader = $db->queryFirstField('SELECT `no` FROM troop WHERE troop=%i', $me['troop']); - - //부대장일 경우 - if($troopLeader == $me['no']) { - // 모두 탈퇴 - $db->update('general', [ - 'troop'=>0 - ], 'troop=%i',$me['troop']); - // 부대 삭제 - $db->delete('troop', 'troop=%i', $me['troop']); - } else { - $db->update('general', [ - 'troop'=>0 - ], 'no=%i', $me['no']); - } -} - -header('Location:b_troop.php', true, 303); diff --git a/hwe/j_troop.php b/hwe/j_troop.php new file mode 100644 index 00000000..431f228c --- /dev/null +++ b/hwe/j_troop.php @@ -0,0 +1,165 @@ +setReadOnly(); +$userID = $session::getUserID(); + +$db = DB::db(); + +$me = $db->queryFirstRow('SELECT `no`, name, nation, troop FROM general WHERE `owner`=%i', $userID); + + + +if($action == '부대창설'){ + $name = trim($name); + if(!$name){ + Json::die([ + 'result'=>false, + 'reason'=>'부대 이름이 없습니다.' + ]); + } + if($me['troop'] != 0){ + Json::die([ + 'result'=>false, + 'reason'=>'이미 부대에 가입해있습니다.' + ]); + } + $db->insert('troop',[ + 'name'=>$name, + 'nation'=>$me['nation'], + 'no'=>$me['no'] + ]); + $troopID = $db->insertId(); + + $db->update('general', [ + 'troop'=>$troopID + ], 'no=%i',$me['no']); + + Json::die([ + 'result'=>true, + 'reason'=>'success' + ]); +} + +if($action == '부대변경'){ + $name = trim($name); + if(!$name){ + Json::die([ + 'result'=>false, + 'reason'=>'부대 이름이 없습니다.' + ]); + } + + $db->update('troop', [ + 'name'=>$name + ], 'no=%i',$me['no']); + + if($db->affectedRows() == 0){ + Json::die([ + 'result'=>false, + 'reason'=>'부대장이 아닙니다.' + ]); + } + + Json::die([ + 'result'=>true, + 'reason'=>'success' + ]); +} + +if($action == '부대추방'){ + if (!$gen){ + Json::die([ + 'result'=>false, + 'reason'=>'장수를 지정해야 합니다.' + ]); + } + + $db->update('general', [ + 'troop'=>0 + ], 'no=%i AND troop=(SELECT troop FROM troop WHERE no = %i)', $gen, $me['no']); + + if($db->affectedRows() == 0){ + Json::die([ + 'result'=>false, + 'reason'=>'부대장이 아니거나, 장수를 잘못 지정했습니다.' + ]); + } + + Json::die([ + 'result'=>true, + 'reason'=>'success' + ]); +} + +if ($action == '부대가입') { + if(!$troop){ + Json::die([ + 'result'=>false, + 'reason'=>'부대를 지정해야 합니다.' + ]); + } + + $troopLeader = $db->queryFirstField('SELECT `no` FROM troop WHERE troop=%i', $troop)?:0; + $troopLeaderNation = $db->queryFirstField('SELECT `nation` FROM `general` WHERE `no`=%i AND `nation`=%i', $troopLeader, $me['nation']); + + if (!$troopLeaderNation) { + Json::die([ + 'result'=>false, + 'reason'=>'올바른 부대장이 아닙니다.' + ]); + } + + $db->update('general', [ + 'troop'=>$troop + ], 'no=%i', $me['no']); + + Json::die([ + 'result'=>true, + 'reason'=>'success' + ]); +} + +if($action == "부대탈퇴") { + + if($me['troop'] == 0){ + Json::die([ + 'result'=>false, + 'reason'=>'부대에 속해있지 않습니다.' + ]); + } + $troopLeader = $db->queryFirstField('SELECT `no` FROM troop WHERE troop=%i', $me['troop']); + + //부대장일 경우 + if($troopLeader == $me['no']) { + // 모두 탈퇴 + $db->update('general', [ + 'troop'=>0 + ], 'troop=%i',$me['troop']); + // 부대 삭제 + $db->delete('troop', 'troop=%i', $me['troop']); + } else { + $db->update('general', [ + 'troop'=>0 + ], 'no=%i', $me['no']); + } + + Json::die([ + 'result'=>true, + 'reason'=>'success' + ]); +} + +Json::die([ + 'result'=>false, + 'reason'=>'올바르지 않은 명령입니다.' +]); \ No newline at end of file