diff --git a/.phan/config.php b/.phan/config.php index 649b51d7..80b5229a 100644 --- a/.phan/config.php +++ b/.phan/config.php @@ -32,7 +32,7 @@ return [ 'hwe/func_npc.php', 'hwe/func_process_chief.php', 'hwe/func_process_personnel.php', - 'hwe/func_process_trick.php', + 'hwe/func_process_sabotage.php', 'hwe/func_process.php', 'hwe/func_string.php', 'hwe/func_template.php', diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..4fe5c6ff --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Hide_D, 62che + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..a2107f3a --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# 삼국지 모의전투 HiDCHe + +삼국지 모의전투 유기체서버를 기반으로 더욱 더 진화한 서버입니다. + + +## 요구사항 + +* Apache2 + * mpm_event 권장 +* PHP 7.0 이상 + * php-fpm 권장 + * php에서 curl을 실행가능해야 합니다. +* MySQL 5.6 이상, 또는 MariaDB 10.0 이상 +* git +* curl + +Linux는 Ubuntu 16.04, Windows는 Windows 10에서 XAMPP를 사용한 환경에서 테스트되었습니다. + +Docker를 이용한 설치는 계획중입니다. + +## 설치 + +본 게임은 git을 이용한 업그레이드 시스템을 구현하였으므로, git이 필요합니다. +또한 웹 서비스 데몬을 운영중인 사용자(일반적으로 www-data, apache)에게 디렉토리 권한이 주어져야합니다. + +### 다운로드 + +웹 데몬 user가 www-data인 경우 다음과 같이 입력하여 최신 배포버전과 이미지 파일을 얻을 수 있습니다. + +``` +sudo -u www-data git clone ssh://git@storage.hided.net:2525/devsam/core.git +git clone ssh://git@storage.hided.net:2525/devsam/image.git +``` + +> 이미지는 별도의 업데이트 기능을 제공하지 않습니다. 수동으로 git pull을 해야합니다. + +### 설치 + +이후 해당 경로를 웹 브라우저를 통해 접근하여 설치를 진행할 수 있습니다. + +Database 수는 로그인 관리 서버 1개, 내부 서버 5개로, 총 6개의 Database가 필요합니다. 내부 설정을 고쳐서 서버 수를 늘리거나 줄일 경우 그에 맞는 Database 수가 필요합니다. 또한 Database마다 관리할 별도의 계정을 만드는 것을 추천합니다. + +설치 이후에는 서버관리 페이지에서 **업데이트** 명령을 통해 원 클릭 업데이트가 가능합니다. + + +## 카카오로그인 연동 + +현재 카카오로그인 API KEY를 입력하는 작업이 설치과정에 추가되어있지 않습니다. + +f_install/templates/KakaoKey.orig.phpd_setting/KakaoKey.php로 복사한 후 API 키를 입력하여야 합니다. + + +## 라이선스 + +본 게임을 수정하거나 재배포할 경우 다음 중 하나의 라이선스를 선택하여 적용할 수 있습니다. + +* MIT License +* GPL 2.0 또는 이후 + +만약 별도의 라이선스를 적용하고자 할 경우 Hide_D에게 문의하여 주십시오. \ No newline at end of file diff --git a/css/config.css b/css/config.css index 10e622c5..e80690c4 100644 --- a/css/config.css +++ b/css/config.css @@ -1,7 +1,7 @@ @charset "utf-8"; * { margin: 0px; padding: 0px; } -body { color:white; background-color:black; border-width:1; border-color:gray; } +body { color:white; background-color:black; border-width:1px; border-color:gray; } table { border: solid 1px; border-spacing: 0px; border-collapse: separate; border-top-color: gray; border-left-color: gray; border-right-color: black; border-bottom-color: black; padding: 0px; diff --git a/f_install/j_install_status.php b/f_install/j_install_status.php index 23e87164..15d7c65a 100644 --- a/f_install/j_install_status.php +++ b/f_install/j_install_status.php @@ -24,7 +24,7 @@ $rootDB->error_handler = function($params){ ]); }; -$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from MEMBER'); +$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from member'); if($memberCnt == 0){ Json::die([ 'step'=>'admin', diff --git a/f_install/templates/RootDB.orig.php b/f_install/templates/RootDB.orig.php index c59ce260..f41fbd15 100644 --- a/f_install/templates/RootDB.orig.php +++ b/f_install/templates/RootDB.orig.php @@ -29,6 +29,8 @@ class RootDB if (self::$uDB === null) { self::$uDB = new \MeekroDB(self::$host, self::$user, self::$password, self::$dbName, self::$port, self::$encoding); self::$uDB->connect_options[MYSQLI_OPT_INT_AND_FLOAT_NATIVE] = true; + + self::$uDB->error_handler= function(){}; self::$uDB->throw_exception_on_error = true; self::$uDB->throw_exception_on_nonsql_error = true; } diff --git a/f_install/templates/ServConfig.orig.php b/f_install/templates/ServConfig.orig.php index c24d8501..adb6b8be 100644 --- a/f_install/templates/ServConfig.orig.php +++ b/f_install/templates/ServConfig.orig.php @@ -11,18 +11,24 @@ class ServConfig public static $sharedIconPath = '_tK_sharedIconPath_'; public static $gameImagePath = "_tK_gameImagePath_"; - public static function getSharedIconPath() : string + public static function getSharedIconPath(string $filepath='') : string { + if($filepath){ + return static::$sharedIconPath."/{$filepath}"; + } return static::$sharedIconPath; } - public static function getUserIconPath() : string + public static function getUserIconPath(string $filepath='') : string { - return AppConf::getUserIconPathWeb(); + return AppConf::getUserIconPathWeb($filepath); } - public static function getGameImagePath() : string + public static function getGameImagePath(string $filepath='') : string { + if($filepath){ + return static::$gameImagePath."/{$filepath}"; + } return static::$gameImagePath; } diff --git a/hwe/_119_b.php b/hwe/_119_b.php index e6dfe110..34ba6505 100644 --- a/hwe/_119_b.php +++ b/hwe/_119_b.php @@ -24,6 +24,8 @@ $btn = Util::getReq('btn'); $minute = Util::getReq('minute', 'int'); $minute2 = Util::getReq('minute2', 'int'); +extractMissingPostToGlobals(); + $db = DB::db(); $connect=$db->get(); diff --git a/hwe/_admin1_submit.php b/hwe/_admin1_submit.php index 9a2c65de..88b4c4ac 100644 --- a/hwe/_admin1_submit.php +++ b/hwe/_admin1_submit.php @@ -22,6 +22,7 @@ if (!$v->validate()) { Error($v->errorStr()); } +$msg = Util::getReq('msg'); $btn = Util::getReq('btn'); $log = Util::getReq('log'); $starttime = Util::getReq('starttime', 'string', (new \DateTime())->format('Y-m-d H:i:s')); @@ -29,6 +30,8 @@ $maxgeneral = Util::getReq('maxgeneral', 'int', GameConst::$defaultMaxGeneral); $maxnation = Util::getReq('maxnation', 'int', GameConst::$defaultMaxNation); $startyear = Util::getReq('startyear', 'int', GameConst::$defaultStartYear); +extractMissingPostToGlobals(); + $db = DB::db(); $connect=$db->get(); diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php index fc568cc1..c36380c2 100644 --- a/hwe/_admin2_submit.php +++ b/hwe/_admin2_submit.php @@ -7,6 +7,8 @@ include "func.php"; $btn = Util::getReq('btn'); $weap = Util::getReq('weap', 'int'); +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireLogin()->loginGame()->setReadOnly(); @@ -24,281 +26,326 @@ $connect=$db->get(); switch($btn) { case "전체 접속허용": - $query = "update general set con=0"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $db->update('general', [ + 'con'=>0 + ], true); break; case "전체 접속제한": - $query = "update general set con=1000"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $db->update('general', [ + 'con'=>1000 + ], true); break; case "블럭 해제": + $db->update('general', [ + 'block'=>0 + ], '`no` IN %li', $genlist); DB::db()->query('update general set block=0 where no IN %li', $genlist); break; case "1단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set block=1,killturn=24 where no IN %li',$genlist); - //FIXME: subquery로 하는게 더 빠를 듯. - $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where no IN %ls', $date, $uid); + $db->update('general', [ + 'block'=>1, + 'killturn'=>24 + ], '`no` IN %li', $genlist); + $uid = $db->queryFirstColumn('SELECT `owner` FROM general WHERE `no` IN %li', $genlist); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "2단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set gold=0,rice=0,block=2,killturn=24 where no IN %li',$genlist); + $db->update('general', [ + 'gold'=>0, + 'rice'=>0, + 'block'=>2, + 'killturn'=>24 + ], '`no` IN %li', $genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "3단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set gold=0,rice=0,block=3,killturn=24 where no IN %li',$genlist); - $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + $db->update('general', [ + 'gold'=>0, + 'rice'=>0, + 'block'=>3, + 'killturn'=>24 + ], '`no` IN %li', $genlist); + $uid = $db->queryFirstColumn('SELECT `owner` from general where no IN %li', $genlist); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "무한삭턴": - DB::db()->query('update general set killturn=8000 where no IN %li',$genlist); + $db->update('general', [ + 'killturn'=>8000 + ], '`no` IN %li', $genlist); break; case "강제 사망": $date = date('Y-m-d H:i:s'); - DB::db()->query('update general set turn0=0,killturn=0,turntime=%s where no IN %li',$date, $genlist); + $db->update('general', [ + 'turn0'=>0, + 'killturn'=>0, + 'turntime'=>$date, + ], '`no` IN %li', $genlist); break; case "특기 부여": - $admin = DB::db()->queryFirstRow('select `year`, `month` from `game` where `no`=1'); + list($year, $month) = $db->queryFirstList('select `year`, `month` from `game` where `no`=1'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "특기 부여!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "select no,leader,power,intel from general where no='$genlist[$i]'"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $general = MYDB_fetch_array($result); + $src = MessageTarget::buildQuick($session->generalID); + $text = "특기 부여!"; - $special2 = getSpecial2($general['leader'], $general['power'], $general['intel']); + foreach($db->query("SELECT `no`,leader,power,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($general['no']), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); - $query = "update general set specage2=age,special2='$special2' where no='{$general['no']}'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - - $log[0] = "●특기 【".getGenSpecial($special2)."】(을)를 익혔습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:특기 【".getGenSpecial($special2)."】(을)를 습득"); - pushGenLog($general, $log); + $specialWar = SpecialityConst::pickSpecialWar($general); + $db->update('general', [ + 'specage2'=>$db->sqleval('age'), + 'special2'=>$specialWar + ], 'no=%i', $general['no']); + $specialWarName = SpecialityConst::WAR[$specialWar][0]; + pushGeneralHistory($general, "●{$year}년 {$month}월:특기 【{$specialWarName}】(을)를 습득"); + pushGenLog($general, ["●특기 【{$specialWarName}】(을)를 익혔습니다!"]); } + break; case "경험치1000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = $btn." 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set experience=experience+1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = $btn." 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'experience'=>$db->sqleval('experience+1000') + ], '`no` IN %li', $genlist); + break; case "공헌치1000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = $btn." 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dedication=dedication+1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = $btn." 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dedication'=>$db->sqleval('dedication+1000') + ], '`no` IN %li', $genlist); + break; case "보숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "보병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex0=dex0+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "보병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex0'=>$db->sqleval('dex0+10000') + ], '`no` IN %li', $genlist); break; case "궁숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "궁병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex10=dex10+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "궁병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex10'=>$db->sqleval('dex10+10000') + ], '`no` IN %li', $genlist); break; case "기숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "기병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex20=dex20+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "기병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex20'=>$db->sqleval('dex20+10000') + ], '`no` IN %li', $genlist); break; case "귀숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "귀병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex30=dex30+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "귀병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex30'=>$db->sqleval('dex30+10000') + ], '`no` IN %li', $genlist); break; case "차숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "차병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex40=dex40+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "차병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex40'=>$db->sqleval('dex40+10000') + ], '`no` IN %li', $genlist); break; case "접속 허용": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set con=0 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('genera',[ + 'con'=>0 + ], '`no` IN %li', $genlist); break; case "접속 제한": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set con=1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('genera',[ + 'con'=>1000 + ], '`no` IN %li', $genlist); break; case "메세지 전달": - //TODO:새 갠메 시스템으로 변경 - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + $text = $msg; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } break; case "무기지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "무기 회수!"; } - else { $msg = getWeapName($weap)." 지급!"; } - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + + if($weap == 0) { + $text = "무기 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set weap='0' where no='$genlist[$i]'"; - } else { - $query = "update general set weap='$weap' where no='$genlist[$i]' and weap<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getWeapName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'weap'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'weap'=>$weap + ], '`no` IN %li AND weap < %i', $genlist, $weap); } break; case "책지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "서적 회수!"; } - else { $msg = getBookName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "책 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set book='0' where no='$genlist[$i]'"; - } else { - $query = "update general set book='$weap' where no='$genlist[$i]' and book<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getBookName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'book'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'book'=>$weap + ], '`no` IN %li AND book < %i', $genlist, $weap); } break; case "말지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "말 회수!"; } - else { $msg = getHorseName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "말 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set horse='0' where no='$genlist[$i]'"; - } else { - $query = "update general set horse='$weap' where no='$genlist[$i]' and horse<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getHorseName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'horse'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'horse'=>$weap + ], '`no` IN %li AND horse < %i', $genlist, $weap); } break; case "도구지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "특수도구 회수!"; } - else { $msg = getItemName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "특수도구 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set item='0' where no='$genlist[$i]'"; - } else { - $query = "update general set item='$weap' where no='$genlist[$i]' and item<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getItemName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'item'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'item'=>$weap + ], '`no` IN %li AND item < %i', $genlist, $weap); } break; case "NPC해제": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set npc=1 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'npc'=>1 + ], '`no` IN %li', $genlist); break; case "하야입력": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set turn0='00000000000045' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'turn0'=>'00000000000045' + ], '`no` IN %li', $genlist); break; case "방랑해산": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set turn0='00000000000047',turn1='00000000000056' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'turn0'=>'00000000000047', + 'turn1'=>'00000000000056' + ], '`no` IN %li', $genlist); break; case "NPC설정": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set npc=2 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'npc'=>2 + ], '`no` IN %li', $genlist); break; case "00턴": - $query = "select turnterm from game limit 1"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $admin = MYDB_fetch_array($result); + $turnterm = $db->queryFirstField('SELECT turnterm FROM game LIMIT 1'); - for($i=0; $i < count($genlist); $i++) { - $turntime = getRandTurn($admin['turnterm']); - $cutTurn = cutTurn($turntime, $admin['turnterm']); - $query = "update general set turntime='$cutTurn' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + foreach($genlist as $generalID){ + $turntime = getRandTurn($turnterm); + $cutTurn = cutTurn($turntime, $turnterm); + $db->update('general', [ + 'turntime'=>$curTurn + ], '`no` IN %li', $genlist); } break; case "랜덤턴": - $query = "select turnterm from game limit 1"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $admin = MYDB_fetch_array($result); - - for($i=0; $i < count($genlist); $i++) { - $turntime = getRandTurn($admin['turnterm']); - $query = "update general set turntime='$turntime' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + foreach($genlist as $generalID){ + $turntime = getRandTurn($turnterm); + $db->update('general', [ + 'turntime'=>$turntime + ], '`no` IN %li', $genlist); } break; } diff --git a/hwe/_admin4_submit.php b/hwe/_admin4_submit.php index 61b4e71c..41dd5aca 100644 --- a/hwe/_admin4_submit.php +++ b/hwe/_admin4_submit.php @@ -12,7 +12,9 @@ if($session->userGrade < 5) { } $btn = Util::getReq('btn'); -$genlist = Util::getReq('genlist', 'int'); +$genlist = Util::getReq('genlist', 'array_int'); + +extractMissingPostToGlobals(); $db = DB::db(); $connect=$db->get(); @@ -29,21 +31,21 @@ switch($btn) { $db->query('update general set block=1,killturn=24 where no IN %li',$genlist); //FIXME: subquery로 하는게 더 빠를 듯. $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "2단계 블럭": $date = date('Y-m-d H:i:s'); $db = DB::db(); $db->query('update general set block=2,killturn=24 where no IN %li',$genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "3단계 블럭": $date = date('Y-m-d H:i:s'); $db = DB::db(); $db->query('update general set block=3,killturn=24 where no IN %li',$genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "무한삭턴": DB::db()->query('update general set killturn=8000 where no IN %li',$genlist); diff --git a/hwe/_admin5.php b/hwe/_admin5.php index e22c0b2f..e460fbc4 100644 --- a/hwe/_admin5.php +++ b/hwe/_admin5.php @@ -7,6 +7,15 @@ include "func.php"; $type = Util::getReq('type', 'int', 0); $type2 = Util::getReq('type2', 'int', 0); +if($type < 0 || $type > 17){ + $type = 0; +} +if($type2 < 0 || $type2 > 6){ + $type2 = 0; +} + +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -33,12 +42,6 @@ if($session->userGrade < 5) { $db = DB::db(); $connect=$db->get(); -if($type == 0) { - $type = 0; -} -if($type2 == 0) { - $type2 = 0; -} $sel = []; $sel2 = []; $sel[$type] = "selected"; @@ -155,7 +158,7 @@ SELECT A.chemi, A.color, A.tech, - A.tricklimit, + A.sabotagelimit, A.gold, A.rice, COUNT(B.nation) AS gennum, @@ -230,7 +233,7 @@ for($i=0; $i < $nationCount; $i++) {  {$gen['cnt']}   {$city['cnt']}   {$nation['tech']}  -  {$nation['tricklimit']}  +  {$nation['sabotagelimit']}   {$nation['gold']}   {$nation['rice']}   {$gen['avgg']}  @@ -260,7 +263,7 @@ for($i=0; $i < $nationCount; $i++) { ?> - +
diff --git a/hwe/_admin5_submit.php b/hwe/_admin5_submit.php index b5fa892c..4a3c60c9 100644 --- a/hwe/_admin5_submit.php +++ b/hwe/_admin5_submit.php @@ -7,6 +7,8 @@ include "func.php"; $btn = Util::getReq('btn'); $nation = Util::getReq('nation', 'int'); +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); diff --git a/hwe/_admin6.php b/hwe/_admin6.php index 4daeaad0..8ad66ef1 100644 --- a/hwe/_admin6.php +++ b/hwe/_admin6.php @@ -4,7 +4,11 @@ namespace sammo; include "lib.php"; include "func.php"; -$type = Util::getReq('type', 'int'); +$type = Util::getReq('type', 'int', 0); +if($type < 0 || $type > 4){ + $type = 0; +} +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -32,9 +36,6 @@ if($session->userGrade < 5) { $db = DB::db(); $connect=$db->get(); -if($type == 0) { - $type = 0; -} $sel[$type] = "selected"; ?> diff --git a/hwe/_admin7.php b/hwe/_admin7.php index 7610e758..8be7c7ff 100644 --- a/hwe/_admin7.php +++ b/hwe/_admin7.php @@ -6,7 +6,13 @@ include "func.php"; $btn = Util::getReq('btn'); $gen = Util::getReq('gen', 'int', 0); -$type = Util::getReq('type', 'int'); +$type = Util::getReq('type', 'int', 0); + +if($type < 0 || $type > 3){ + $type = 0; +} + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -38,9 +44,6 @@ if($btn == '정렬하기') { $gen = 0; } -if($type == 0) { - $type = 0; -} $sel[$type] = "selected"; ?> diff --git a/hwe/_admin8.php b/hwe/_admin8.php index 3c3bded4..cff5f832 100644 --- a/hwe/_admin8.php +++ b/hwe/_admin8.php @@ -6,7 +6,9 @@ include "func.php"; $btn = Util::getReq('btn'); $gen = Util::getReq('gen', 'int', 0); -$type = Util::getReq('type', 'int'); +$type = 0; + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -38,9 +40,6 @@ if ($btn == '정렬하기') { $gen = 0; } -if ($type == 0) { - $type = 0; -} $sel[$type] = "selected"; ?> @@ -82,9 +81,9 @@ foreach (getAllNationStaticInfo() as $nation) { $nationColor[$nation['nation']] = $nation['color']; } -switch ($type) { -case 0: $query = "select * from diplomacy where me < you order by state desc"; break; -} + +$query = "select * from diplomacy where me < you order by state desc"; + $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $dipcount = MYDB_num_rows($result); for ($i=0; $i < $dipcount; $i++) { diff --git a/hwe/a_bestGeneral.php b/hwe/a_bestGeneral.php index 18a62c8a..ddf18225 100644 --- a/hwe/a_bestGeneral.php +++ b/hwe/a_bestGeneral.php @@ -6,6 +6,8 @@ include "func.php"; $btn = Util::getReq('btn'); +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); @@ -55,13 +57,14 @@ if ($con >= 2) {
=2"; } else { $sel = "npc<2"; } -$nationName = []; -$nationColor = []; +$nationName = ['재야']; +$nationColor = ['#000000']; foreach (getAllNationStaticInfo() as $nation) { $nationName[$nation['nation']] = $nation['name']; $nationColor[$nation['nation']] = $nation['color']; @@ -134,9 +137,9 @@ for ($i=0; $i < 21; $i++) { if ($i != 2) { if (isset($gen)) { $name[$k] = $gen['name']; - $nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']]; + $nation[$k] = $nationName[$gen['nation']]; $data[$k] = $gen['data']; - $color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']]; + $color[$k] = $nationColor[$gen['nation']]; $pic[$k] = $gen['picture']; } else { $name[$k] = "-"; @@ -163,7 +166,7 @@ for ($i=0; $i < 21; $i++) { echo ""; } else { $imageTemp = GetImageURL($gen['imgsvr']); - echo ""; + echo ""; } } @@ -245,8 +248,8 @@ for ($i=0; $i < 4; $i++) { $gen = MYDB_fetch_array($result); if (isset($gen)) { $name[$k] = $gen['name']; - $nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']]; - $color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']]; + $nation[$k] = $nationName[$gen['nation']]; + $color[$k] = $nationColor[$gen['nation']]; $pic[$k] = $gen['picture']; } else { $name[$k] = "미발견"; @@ -264,7 +267,7 @@ for ($i=0; $i < 4; $i++) { echo ""; } else { $imageTemp = GetImageURL($gen['imgsvr']??0); - echo ""; + echo ""; } } @@ -297,8 +300,8 @@ for ($i=0; $i < 4; $i++) { $gen = MYDB_fetch_array($result); if (isset($gen)) { $name[$k] = $gen['name']; - $nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']]; - $color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']]; + $nation[$k] = $nationName[$gen['nation']]; + $color[$k] = $nationColor[$gen['nation']]; $pic[$k] = $gen['picture']; } else { $name[$k] = "미발견"; @@ -316,7 +319,7 @@ for ($i=0; $i < 4; $i++) { echo ""; } else { $imageTemp = GetImageURL($gen['imgsvr']??0); - echo ""; + echo ""; } } diff --git a/hwe/a_emperior.php b/hwe/a_emperior.php index b7e41e6a..c09d1205 100644 --- a/hwe/a_emperior.php +++ b/hwe/a_emperior.php @@ -6,6 +6,8 @@ include "func.php"; $select = Util::getReq('select', 'int', 0); +extractMissingPostToGlobals(); + $db = DB::db(); $connect=$db->get(); diff --git a/hwe/a_emperior2.php b/hwe/a_emperior2.php index 4f2996a0..eae1b186 100644 --- a/hwe/a_emperior2.php +++ b/hwe/a_emperior2.php @@ -6,6 +6,8 @@ include "func.php"; $select = Util::getReq('select', 'int', 0); +extractMissingPostToGlobals(); + $db = DB::db(); $connect=$db->get(); diff --git a/hwe/a_genList.php b/hwe/a_genList.php index 4bcec301..d7765c16 100644 --- a/hwe/a_genList.php +++ b/hwe/a_genList.php @@ -3,6 +3,11 @@ namespace sammo; include "lib.php"; include "func.php"; + +$type = Util::getReq('type', 'int', 9); + +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); @@ -13,17 +18,20 @@ $connect=$db->get(); increaseRefresh("장수일람", 2); $query = "select conlimit from game limit 1"; -$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); +$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $admin = MYDB_fetch_array($result); $query = "select con,turntime from general where owner='{$userID}'"; -$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); +$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $me = MYDB_fetch_array($result); $con = checkLimit($me['con'], $admin['conlimit']); -if($con >= 2) { printLimitMsg($me['turntime']); exit(); } +if ($con >= 2) { + printLimitMsg($me['turntime']); + exit(); +} -if(!isset($type) || $type == 0) { +if ($type <= 0 || $type > 15) { $type = 9; } @@ -68,12 +76,12 @@ if(!isset($type) || $type == 0) { $nationname = []; $nationlevel = []; $nationname[0] = "-"; -foreach(getAllNationStaticInfo() as $nation){ +foreach (getAllNationStaticInfo() as $nation) { $nationname[$nation['nation']] = $nation['name']; $nationlevel[$nation['nation']] = $nation['level']; } -switch($type) { +switch ($type) { //FIXME: $query 처리 조심. case 1: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by nation"; break; case 2: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by leader desc"; break; case 3: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by power desc"; break; @@ -82,6 +90,7 @@ switch($type) { case 6: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by dedication desc"; break; case 7: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by level desc"; break; case 8: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by killturn"; break; + default: case 9: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by connect desc"; break; case 10: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by experience desc"; break; case 11: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by personal"; break; @@ -90,7 +99,7 @@ switch($type) { case 14: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by age desc"; break; case 15: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by npc desc"; break; } -$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); +$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $gencount = MYDB_num_rows($genresult); echo" @@ -112,24 +121,24 @@ echo" "; -for($j=0; $j < $gencount; $j++) { +for ($j=0; $j < $gencount; $j++) { $general = MYDB_fetch_array($genresult); $nation = $nationname[$general['nation']]; - if($general['level'] == 12) { + if ($general['level'] == 12) { $lbonus = $nationlevel[$general['nation']] * 2; - } elseif($general['level'] >= 5) { + } elseif ($general['level'] >= 5) { $lbonus = $nationlevel[$general['nation']]; } else { $lbonus = 0; } - if($lbonus > 0) { + if ($lbonus > 0) { $lbonus = "+{$lbonus}"; } else { $lbonus = ""; } - if($general['injury'] > 0) { + if ($general['injury'] > 0) { $leader = intdiv($general['leader'] * (100 - $general['injury']), 100); $power = intdiv($general['power'] * (100 - $general['injury']), 100); $intel = intdiv($general['intel'] * (100 - $general['injury']), 100); @@ -142,16 +151,20 @@ for($j=0; $j < $gencount; $j++) { $intel = "{$general['intel']}"; } - if($general['npc'] >= 2) { $name = "{$general['name']}"; } - elseif($general['npc'] == 1) { $name = "{$general['name']}"; } - else { $name = "{$general['name']}"; } + if ($general['npc'] >= 2) { + $name = "{$general['name']}"; + } elseif ($general['npc'] == 1) { + $name = "{$general['name']}"; + } else { + $name = "{$general['name']}"; + } $general['connect'] = Util::round($general['connect'] / 10) * 10; $imageTemp = GetImageURL($general['imgsvr']); echo " - + @@ -160,12 +173,15 @@ for($j=0; $j < $gencount; $j++) { - + - + "; } echo " diff --git a/hwe/a_hallOfFame.php b/hwe/a_hallOfFame.php index 29e780b1..040534e2 100644 --- a/hwe/a_hallOfFame.php +++ b/hwe/a_hallOfFame.php @@ -21,7 +21,7 @@ increaseRefresh("명예의전당", 2); -
   삭턴 벌점
$name {$general['age']}세 ".getGenChar($general['personal'])."{$nation} ".getHonor($general['experience'])." ".getDed($general['dedication']).""; echo getLevel($general['level']); echo ""; + echo getLevel($general['level']); + echo " $leader $power $intel {$general['killturn']}{$general['connect']}"; echo "
【".getConnect($general['connect'])."】
{$general['connect']}"; + echo "
【".getConnect($general['connect'])."】
+
명 예 의 전 당
@@ -82,7 +82,7 @@ for ($i=0; $i < 21; $i++) { echo ""; } else { $imageTemp = GetImageURL($gen['imgsvr']); - echo ""; + echo ""; } */ } @@ -114,7 +114,7 @@ for ($i=0; $i < 21; $i++) { } ?>
 
- +
diff --git a/hwe/a_history.php b/hwe/a_history.php index 593e53c3..14a2ff9c 100644 --- a/hwe/a_history.php +++ b/hwe/a_history.php @@ -4,7 +4,9 @@ namespace sammo; include "lib.php"; include "func.php"; $btn = Util::getReq('btn'); -$yearmonth = Util::getReq('yearmonth'); +$yearmonth = Util::getReq('yearmonth', 'int'); + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -44,8 +46,8 @@ if (!$yearmonth) { $year = $admin['year']; $month = $admin['month'] - 1; } else { - $year = substr($yearmonth, 0, 3) - 0; - $month = substr($yearmonth, 3, 2) - 0; + $year = intdiv($yearmonth, 100); + $month = $yearmonth % 100; if ($btn == "◀◀ 이전달") { $month -= 1; diff --git a/hwe/a_npcList.php b/hwe/a_npcList.php index 42233b3a..09963a91 100644 --- a/hwe/a_npcList.php +++ b/hwe/a_npcList.php @@ -6,14 +6,17 @@ include "func.php"; $type = Util::getReq('type', 'int', 1); +extractMissingPostToGlobals(); + +if($type <= 0 || $type > 8){ + $type = 1; +} + $db = DB::db(); $connect=$db->get(); increaseRefresh("빙의일람", 2); -if($type == 0) { - $type = 1; -} $sel = []; $sel[$type] = "selected"; @@ -49,11 +52,12 @@ $sel[$type] = "selected"; 명성 계급 "; -for($j=0; $j < $gencount; $j++) { +for ($j=0; $j < $gencount; $j++) { $general = MYDB_fetch_array($genresult); $nation = $nationname[$general['nation']]; - if($general['npc'] >= 2) { $name = "{$general['name']}"; } - elseif($general['npc'] == 1) { $name = "{$general['name']}"; } - else { $name = "{$general['name']}"; } + if ($general['npc'] >= 2) { + $name = "{$general['name']}"; + } elseif ($general['npc'] == 1) { + $name = "{$general['name']}"; + } else { + $name = "{$general['name']}"; + } echo " diff --git a/hwe/a_traffic.php b/hwe/a_traffic.php index 9c6ae8b0..5cee826b 100644 --- a/hwe/a_traffic.php +++ b/hwe/a_traffic.php @@ -13,7 +13,7 @@ $query = "select year,month,refresh,maxrefresh,maxonline from game limit 1"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $game = MYDB_fetch_array($result); -$log = []; +$log = getRawFileLogRecent(__dir__.'/logs/_traffic.txt', 11, 100); $date = []; $year = []; @@ -22,8 +22,9 @@ $refresh = []; $online = []; $curonline = getOnlineNum(); -for ($i=0; $i < 11; $i++) { - $parse = explode("|", $log[count($log)-12+$i]); +$visibleLogs = min(11, count($log)); +for ($i=0; $i < $visibleLogs; $i++) { + $parse = explode("|", $log[count($log)-$visibleLogs+$i]); $date[$i] = trim($parse[0]); $year[$i] = trim($parse[1]); $month[$i] = trim($parse[2]); @@ -62,7 +63,7 @@ if ($game['maxonline'] < $curonline) { = 100) { $w -= 0.1; @@ -132,7 +133,7 @@ $dt = date('H:i');
접 속 량
= 100) { $w -= 0.1; diff --git a/hwe/a_vote.php b/hwe/a_vote.php index 8bb7cbe9..0ee75066 100644 --- a/hwe/a_vote.php +++ b/hwe/a_vote.php @@ -57,7 +57,7 @@ if ($session->userGrade >= 5) { - + "; } @@ -132,7 +132,7 @@ if ($session->userGrade >= 5) { - + "; } @@ -168,7 +168,7 @@ if ($me['no'] > 0) { - + "; } @@ -340,6 +340,7 @@ function getVoteColor($type) } switch ($type) { + default: case 0: $color = "black"; break; case 1: $color = "red"; break; case 2: $color = "orange"; break; diff --git a/hwe/b_auction.php b/hwe/b_auction.php index 8f584be9..9690c1ab 100644 --- a/hwe/b_auction.php +++ b/hwe/b_auction.php @@ -7,6 +7,8 @@ include "func.php"; $msg = Util::getReq('msg'); $msg2 = Util::getReq('msg2'); +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); diff --git a/hwe/b_battleCenter.php b/hwe/b_battleCenter.php index 1fe2ab0a..c147d6ad 100644 --- a/hwe/b_battleCenter.php +++ b/hwe/b_battleCenter.php @@ -9,8 +9,14 @@ $v->rule('required', 'gen') ->rule('integer', 'gen'); $btn = Util::getReq('btn'); -$gen = Util::getReq('gen', 'int'); -$type = Util::getReq('type', 'int'); +$gen = Util::getReq('gen', 'int', 0); +$type = Util::getReq('type', 'int', 0); + +if ($type < 0 || $type > 3) { + $type = 0; +} + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -61,9 +67,6 @@ if ($btn == '정렬하기') { $gen = 0; } -if ($type == 0) { - $type = 0; -} $sel = []; $sel[$type] = "selected"; @@ -96,6 +99,7 @@ $sel[$type] = "selected";
접 속 자
-
베 팅 장
- +
()
16강 상황
(전체 금액 : / 내 투자 금액 : )
- +
=50 order by grp, grp_no $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $cent = []; $line = []; +$gen = []; for ($i=0; $i < 1; $i++) { $cent[$i] = ""; } diff --git a/hwe/b_chiefboard.php b/hwe/b_chiefboard.php index b5568c62..d31d6007 100644 --- a/hwe/b_chiefboard.php +++ b/hwe/b_chiefboard.php @@ -37,11 +37,11 @@ if($me['level'] < 5) { diff --git a/hwe/b_chiefcenter.php b/hwe/b_chiefcenter.php index e23216ee..66b464dc 100644 --- a/hwe/b_chiefcenter.php +++ b/hwe/b_chiefcenter.php @@ -58,7 +58,7 @@ $nation = MYDB_fetch_array($result); $lv = getNationChiefLevel($nation['level']); $turn = []; -$gen = []; +$gen = [[],[],[],[],[],[],[],[],[],[],[],[]]; for($i=12; $i >= $lv; $i--) { $turn[$i] = getCoreTurn($nation, $i); @@ -105,7 +105,6 @@ for($i=12; $i >= $lv; $i--) { $turntime[$i] = substr($gen[$i]['turntime'], 14); } - //FIXME: 각 칸을 div로 놓으면 네개씩 출력하는 삽질이 필요없다. for($k=0; $k < 2; $k++) { @@ -118,22 +117,22 @@ for($k=0; $k < 2; $k++) { ]; } - if ($gen[$l4]['npc'] >= 2) { $gen[$l4]['name'] = "".$gen[$l4]['name'].""; } - elseif($gen[$l4]['npc'] == 1) { $gen[$l4]['name'] = "".$gen[$l4]['name'].""; } - if ($gen[$l3]['npc'] >= 2) { $gen[$l3]['name'] = "".$gen[$l3]['name'].""; } - elseif($gen[$l3]['npc'] == 1) { $gen[$l3]['name'] = "".$gen[$l3]['name'].""; } - if ($gen[$l2]['npc'] >= 2) { $gen[$l2]['name'] = "".$gen[$l2]['name'].""; } - elseif($gen[$l2]['npc'] == 1) { $gen[$l2]['name'] = "".$gen[$l2]['name'].""; } - if ($gen[$l1]['npc'] >= 2) { $gen[$l1]['name'] = "".$gen[$l1]['name'].""; } - elseif($gen[$l1]['npc'] == 1) { $gen[$l1]['name'] = "".$gen[$l1]['name'].""; } + if ($gen[$l4]['npc'] >= 2) { $gen[$l4]['name'] = "".($gen[$l4]['name']??'').""; } + elseif($gen[$l4]['npc'] == 1) { $gen[$l4]['name'] = "".($gen[$l4]['name']??'').""; } + if ($gen[$l3]['npc'] >= 2) { $gen[$l3]['name'] = "".($gen[$l3]['name']??'').""; } + elseif($gen[$l3]['npc'] == 1) { $gen[$l3]['name'] = "".($gen[$l3]['name']??'').""; } + if ($gen[$l2]['npc'] >= 2) { $gen[$l2]['name'] = "".($gen[$l2]['name']??'').""; } + elseif($gen[$l2]['npc'] == 1) { $gen[$l2]['name'] = "".($gen[$l2]['name']??'').""; } + if ($gen[$l1]['npc'] >= 2) { $gen[$l1]['name'] = "".($gen[$l1]['name']??'').""; } + elseif($gen[$l1]['npc'] == 1) { $gen[$l1]['name'] = "".($gen[$l1]['name']??'').""; } echo " - - - - + + + + "; @@ -144,14 +143,14 @@ for($k=0; $k < 2; $k++) { $turndate[$l2] = substr($totaldate[$l2]??'', 11, 5); $turndate[$l1] = substr($totaldate[$l1]??'', 11, 5); $j = $i + 1; - $td4 = $turndate[$l4] ?: "-"; - $td3 = $turndate[$l3] ?: "-"; - $td2 = $turndate[$l2] ?: "-"; - $td1 = $turndate[$l1] ?: "-"; - $tn4 = $turn[$l4][$i] ?? "-"; - $tn3 = $turn[$l3][$i] ?? "-"; - $tn2 = $turn[$l2][$i] ?? "-"; - $tn1 = $turn[$l1][$i] ?? "-"; + $td4 = $turndate[$l4]??"-"; + $td3 = $turndate[$l3]??"-"; + $td2 = $turndate[$l2]??"-"; + $td1 = $turndate[$l1]??"-"; + $tn4 = $turn[$l4][$i]??"-"; + $tn3 = $turn[$l3][$i]??"-"; + $tn2 = $turn[$l2][$i]??"-"; + $tn1 = $turn[$l1][$i]??"-"; echo " @@ -166,20 +165,20 @@ for($k=0; $k < 2; $k++) { "; - if($totaldate[$l4] != "") { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); } - if($totaldate[$l3] != "") { $totaldate[$l3] = addTurn($totaldate[$l3], $admin['turnterm']); } - if($totaldate[$l2] != "") { $totaldate[$l2] = addTurn($totaldate[$l2], $admin['turnterm']); } - if($totaldate[$l1] != "") { $totaldate[$l1] = addTurn($totaldate[$l1], $admin['turnterm']); } + if($totaldate[$l4]??'') { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); } + if($totaldate[$l3]??'') { $totaldate[$l3] = addTurn($totaldate[$l3], $admin['turnterm']); } + if($totaldate[$l2]??'') { $totaldate[$l2] = addTurn($totaldate[$l2], $admin['turnterm']); } + if($totaldate[$l1]??'') { $totaldate[$l1] = addTurn($totaldate[$l1], $admin['turnterm']); } } if($k == 0) { echo ""; + echo ""; } } diff --git a/hwe/b_currentCity.php b/hwe/b_currentCity.php index bbe29353..ca04b706 100644 --- a/hwe/b_currentCity.php +++ b/hwe/b_currentCity.php @@ -6,6 +6,8 @@ include "func.php"; $citylist = Util::getReq('citylist', 'int'); +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); @@ -30,7 +32,8 @@ $myNation = MYDB_fetch_array($result); 도시정보 - + + @@ -43,7 +46,7 @@ $myNation = MYDB_fetch_array($result); - - + + diff --git a/hwe/b_diplomacy.php b/hwe/b_diplomacy.php index 0b166c34..f91cc616 100644 --- a/hwe/b_diplomacy.php +++ b/hwe/b_diplomacy.php @@ -25,7 +25,6 @@ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"" $nationcount = MYDB_num_rows($result); $nationnum = []; $nationname = []; -$nationcolor = []; $nationStr = ""; $powerStr = ""; @@ -41,7 +40,6 @@ for($i=0; $i < $nationcount; $i++) { $nationnum[] = $nation['nation']; $nationname[$nation['nation']] = $nation['name']; - $nationcolor[$nation['nation']] = $nation['color']; $nationStr .= " {$nation['name']}
"; $powerStr .= "국력 {$nation['power']}
"; @@ -56,7 +54,7 @@ foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE confl $rawConflict )) { - $conflict = Json::decode($city['conflict']); + $conflict = Json::decode($rawConflict); if (count($conflict)<2) { continue; } @@ -64,9 +62,10 @@ foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE confl $sum = array_sum($conflict); foreach ($conflict as $nationID=>$killnum) { - $conflict['percent'] = round(100*$killnum / $sum, 1); - $conflict['name'] = $nationname[$nationID]; - $conflict['color'] = $nationcolor[$nationID]; + $conflict[$nationID] = ['killnum'=>$killnum]; + $conflict[$nationID]['percent'] = round(100*$killnum / $sum, 1); + $conflict[$nationID]['name'] = $nationname[$nationID]; + $conflict[$nationID]['color'] = getNationStaticInfo($nationID)['color']; } $realConflict[] = [$cityID, $cityName, $conflict]; @@ -120,7 +119,7 @@ if($nationcount != 0) { for($i=0; $i < $nationcount; $i++) { echo " -
"; + "; } echo " "; @@ -137,7 +136,7 @@ for($i=0; $i < $nationcount; $i++) { } echo " - "; + "; for($k=0; $k < $nationcount; $k++) { if($i == $k) { @@ -202,7 +201,7 @@ for($i=0; $i < $nationcount; $i++) { cellpadding=0 bordercolordark='gray' bordercolorlight='black' - style='font-size:13px;word-break:break-all;' + style='font-size:13px;word-break:break-all;width:100%;' class='bg0' > @@ -212,12 +211,10 @@ for($i=0; $i < $nationcount; $i++) { align=right style='color:;background-color:;' >  - - - + +
기 밀 실
- 제목 + 제목
-
+
.".getLevel($l4, $nation['level'])." : {$gen[$l4]['name']}".getLevel($l3, $nation['level'])." : {$gen[$l3]['name']}".getLevel($l2, $nation['level'])." : {$gen[$l2]['name']}".getLevel($l1, $nation['level'])." : {$gen[$l1]['name']}".getLevel($l4, $nation['level'])." : ".($gen[$l4]['name']??'')."".getLevel($l3, $nation['level'])." : ".($gen[$l3]['name']??'')."".getLevel($l2, $nation['level'])." : ".($gen[$l2]['name']??'')."".getLevel($l1, $nation['level'])." : ".($gen[$l1]['name']??'')." .
$j$j
"; echo CoreTurnTable(); echo " - - + +
"; CoreCommandTable(); - echo "
도시선택 : - 0) {
국 가 방 침 & 임관 권유 메세지
국가 방침 maxlength=500 style=color:white;background-color:black;width:830; name=msg value=''> name=btn value=국가방침>
임관 권유 maxlength=500 style=color:white;background-color:black;width:830; name=scoutmsg value=''> name=btn value=임관권유>
국가 방침 maxlength=500 style=color:white;background-color:black;width:830px; name=msg value=''> name=btn value=국가방침>
임관 권유 maxlength=500 style=color:white;background-color:black;width:830px; name=scoutmsg value=''> name=btn value=임관권유>
900 x 200px 넘는 크기를 점유할 시 통보없이 제한될 수 있습니다.
예 산 & 정 책
{$nationname[$nationnum[$i]]}{$nationname[$nationnum[$i]]}
{$nationname[$nationnum[$i]]}{$nationname[$nationnum[$i]]}%' - style='background-color:;' - >
%;background-color:;' + > 
diff --git a/hwe/b_genList.php b/hwe/b_genList.php index 957239f3..209d6305 100644 --- a/hwe/b_genList.php +++ b/hwe/b_genList.php @@ -4,7 +4,12 @@ namespace sammo; include "lib.php"; include "func.php"; -$type = Util::getReq('type', 'int'); +$type = Util::getReq('type', 'int', 7); +if ($type <= 0 || $type > 8) { + $type = 7; +} + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -38,9 +43,6 @@ if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretli exit(); } -if ($type == 0) { - $type = 7; -} $sel = []; $sel[$type] = "selected"; diff --git a/hwe/b_myBossInfo.php b/hwe/b_myBossInfo.php index 5c681115..06fe7f51 100644 --- a/hwe/b_myBossInfo.php +++ b/hwe/b_myBossInfo.php @@ -81,18 +81,18 @@ echo " "; for($i=12; $i >= $lv; $i-=2) { $i1 = $i; $i2 = $i - 1; - $imageTemp1 = GetImageURL($level[$i1]['imgsvr']); - $imageTemp2 = GetImageURL($level[$i2]['imgsvr']); - echo " + $imageTemp1 = GetImageURL($level[$i1]['imgsvr']??0); + $imageTemp2 = GetImageURL($level[$i2]['imgsvr']??0); + ?> - ".getLevel($i1, $nation['level'])." -   - ";echo $level[$i1]['name']==''?"-":$level[$i1]['name']; echo " ({$level[$i1]['belong']}년) - ".getLevel($i2, $nation['level'])." -   - ";echo $level[$i2]['name']==''?"-":$level[$i2]['name']; echo " ({$level[$i2]['belong']}년) + + ");background-size:64px;'> + (년) + + ");background-size:64px;'> + (년) - "; + 12) { + $type = 10; +} + +extractMissingPostToGlobals(); + //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); @@ -21,9 +29,6 @@ if ($me['level'] == 0) { exit(); } -if ($type == 0) { - $type = 10; -} $sel = [$type => "selected"]; ?> @@ -66,19 +71,21 @@ $me = MYDB_fetch_array($result); $nation = getNationStaticInfo($me['nation']); //국가정보 +$query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'"; + switch ($type) { - case 1: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'"; break; - case 2: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by pop desc"; break; - case 3: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by poprate desc"; break; - case 4: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by rate desc"; break; - case 5: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by agri desc"; break; - case 6: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by comm desc"; break; - case 7: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by secu desc"; break; - case 8: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by def desc"; break; - case 9: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by wall desc"; break; - case 10: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by trade desc"; break; - case 11: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by region,level desc"; break; - case 12: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by level desc, region"; break; + case 1: break; + case 2: $query .= " order by pop desc"; break; + case 3: $query .= " order by poprate desc"; break; + case 4: $query .= " order by rate desc"; break; + case 5: $query .= " order by agri desc"; break; + case 6: $query .= " order by comm desc"; break; + case 7: $query .= " order by secu desc"; break; + case 8: $query .= " order by def desc"; break; + case 9: $query .= " order by wall desc"; break; + case 10: $query .= " order by trade desc"; break; + case 11: $query .= " order by region,level desc"; break; + case 12: $query .= " order by level desc, region"; break; } $cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $citycount = MYDB_num_rows($cityresult); diff --git a/hwe/b_myGenInfo.php b/hwe/b_myGenInfo.php index a873e5e7..270fd0de 100644 --- a/hwe/b_myGenInfo.php +++ b/hwe/b_myGenInfo.php @@ -4,7 +4,12 @@ namespace sammo; include "lib.php"; include "func.php"; -$type = Util::getReq('type', 'int'); +$type = Util::getReq('type', 'int', 1); +if($type <= 0 || $type > 15) { + $type = 1; +} + +extractMissingPostToGlobals(); //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -24,10 +29,6 @@ if($me['level'] == 0) { exit(); } - -if($type == 0) { - $type = 1; -} $sel = [$type => "selected"]; ?> @@ -167,7 +168,7 @@ for($j=0; $j < $gencount; $j++) { $imageTemp = GetImageURL($general['imgsvr']); echo " - + $name "; echo getLevel($general['level'], $nationLevel); echo " ".getDed($general['dedication'])." diff --git a/hwe/b_myPage.php b/hwe/b_myPage.php index 98002afd..eb3cbde5 100644 --- a/hwe/b_myPage.php +++ b/hwe/b_myPage.php @@ -5,6 +5,23 @@ include "lib.php"; include "func.php"; $btn = Util::getReq('btn'); +$map = Util::getReq('map', 'int', 0); +$mode = Util::getReq('mode', 'int', 2); +$tnmt = Util::getReq('tnmt', 'int', 1); + +extractMissingPostToGlobals(); + +if($map < 0 || $map > 2){ + $map = 0; +} + +if($mode < 0 || $mode > 2){ + $mode = 2; +} + +if($tnmt < 0 || $tnmt > 1){ + $tnmt = 1; +} //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); @@ -89,11 +106,11 @@ function go(type) { >○(훈사60) >× 】

-      name=btn style=background-color:;color:white;width:160;height:30;font-size:13px; value=설정저장>
+      name=btn style=background-color:;color:white;width:160px;height:30px;font-size:13px; value=설정저장>
    ∞설정저장은 이달중 회 남았습니다.

    휴 가 신 청
-     ;color:white;width:160;height:30;font-size:13px; value=휴가신청 onclick='go(0)'> +     ;color:white;width:160px;height:30px;font-size:13px; value=휴가신청 onclick='go(0)'> diff --git a/hwe/b_nationboard.php b/hwe/b_nationboard.php index 1d36fdd1..d9884269 100644 --- a/hwe/b_nationboard.php +++ b/hwe/b_nationboard.php @@ -32,11 +32,11 @@ $me = MYDB_fetch_array($result); 회 의 실
- 제목 + 제목 -
+
diff --git a/hwe/b_nationrule.php b/hwe/b_nationrule.php index 5ed87881..df85b7e9 100644 --- a/hwe/b_nationrule.php +++ b/hwe/b_nationrule.php @@ -39,12 +39,12 @@ $nation = MYDB_fetch_array($result); if($me['level'] >= 5) { echo " -
+
"; } else { echo " -
"; +
"; } ?> diff --git a/hwe/b_tournament.php b/hwe/b_tournament.php index 9c88f178..d06b5d78 100644 --- a/hwe/b_tournament.php +++ b/hwe/b_tournament.php @@ -28,6 +28,7 @@ if ($con >= 2) { } switch ($admin['tnmt_type']) { +default: throw new \RuntimeException('invalid tnmt_type'); case 0: $tnmt_type = "전력전"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break; case 1: $tnmt_type = "통솔전"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break; case 2: $tnmt_type = "일기토"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break; @@ -44,7 +45,7 @@ case 3: $tnmt_type = "설전"; $tp = "itl"; $tp2 = " 토너먼트