From 49429e1e7e505de4ca0b1d3e08533dff0b0d7aef Mon Sep 17 00:00:00 2001 From: Hide_D Date: Thu, 6 Jul 2023 18:38:50 +0000 Subject: [PATCH] refac, wip: con -> refreshScore --- hwe/_admin2_submit.php | 20 +++++++-------- hwe/a_genList.php | 9 ++++--- hwe/a_kingdomList.php | 9 ++++--- hwe/b_betting.php | 11 +++++--- hwe/b_genList.php | 11 +++++--- hwe/b_tournament.php | 12 +++++---- hwe/func.php | 25 +++++++++---------- hwe/func_converter.php | 24 +++++++++--------- hwe/func_gamerule.php | 4 +-- hwe/j_board_article_add.php | 11 +++++--- hwe/j_board_comment_add.php | 11 +++++--- hwe/j_board_get_articles.php | 12 +++++---- hwe/j_diplomacy_destroy_letter.php | 9 ++++--- hwe/j_diplomacy_get_letter.php | 12 +++++---- hwe/j_diplomacy_respond_letter.php | 9 ++++--- hwe/j_diplomacy_rollback_letter.php | 9 ++++--- hwe/j_diplomacy_send_letter.php | 9 ++++--- hwe/j_general_log_old.php | 11 +++++--- hwe/j_set_npc_control.php | 5 +++- hwe/old_index.php | 11 ++++---- hwe/sammo/API/Betting/GetBettingList.php | 9 ++++--- hwe/sammo/API/General/GetFrontInfo.php | 6 ++--- hwe/sammo/API/Global/GeneralList.php | 9 ++++--- hwe/sammo/API/Global/GetHistory.php | 9 ++++--- hwe/sammo/API/Message/GetOldMessage.php | 2 +- hwe/sammo/API/Message/GetRecentMessage.php | 2 +- hwe/sammo/API/Message/SendMessage.php | 11 +++++--- hwe/sammo/API/Nation/GeneralList.php | 9 ++++--- hwe/sammo/API/Nation/GetGeneralLog.php | 8 +++--- .../API/NationCommand/GetReservedCommand.php | 9 ++++--- hwe/sammo/Event/Action/InvaderEnding.php | 2 +- hwe/sammo/ResetHelper.php | 2 +- hwe/sammo/TurnExecutionHelper.php | 4 ++- hwe/t_diplomacy.php | 9 ++++--- hwe/v_NPCControl.php | 9 ++++--- hwe/v_auction.php | 3 --- hwe/v_board.php | 9 +------ hwe/v_history.php | 3 --- hwe/v_nationStratFinan.php | 9 ++++--- 39 files changed, 209 insertions(+), 149 deletions(-) diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php index a5359528..968d34d4 100644 --- a/hwe/_admin2_submit.php +++ b/hwe/_admin2_submit.php @@ -38,13 +38,13 @@ if ($genlist) { } switch ($btn) { case "전체 접속허용": - $db->update('general', [ - 'con' => 0 + $db->update('general_access_log', [ + 'refresh_score' => 0 ], true); break; case "전체 접속제한": - $db->update('general', [ - 'con' => 1000 + $db->update('general_access_log', [ + 'refresh_score' => 1000 ], true); break; case "블럭 해제": @@ -186,14 +186,14 @@ switch ($btn) { ], '`no` IN %li', $genlist); break; case "접속 허용": - $db->update('general', [ - 'con' => 0 - ], '`no` IN %li', $genlist); + $db->update('general_access_log', [ + 'refresh_score' => 0 + ], '`general_id` IN %li', $genlist); break; case "접속 제한": - $db->update('general', [ - 'con' => 1000 - ], '`no` IN %li', $genlist); + $db->update('general_access_log', [ + 'refresh_score' => 1000 + ], '`general_id` IN %li', $genlist); break; case "메세지 전달": $text = $msg ?? ''; diff --git a/hwe/a_genList.php b/hwe/a_genList.php index aebeac24..68c6bcbf 100644 --- a/hwe/a_genList.php +++ b/hwe/a_genList.php @@ -16,10 +16,13 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("장수일람", 2); -$me = $db->queryFirstRow('SELECT con,turntime FROM general WHERE owner = %i', $userID); +$me = $db->queryFirstRow( + 'SELECT refresh_score,turntime FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner = %i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } diff --git a/hwe/a_kingdomList.php b/hwe/a_kingdomList.php index 7f45c2c9..d54444cc 100644 --- a/hwe/a_kingdomList.php +++ b/hwe/a_kingdomList.php @@ -13,10 +13,13 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor->cacheValues(['killturn', 'autorun_user', 'turnterm']); increaseRefresh("세력일람", 2); -$me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT refresh_score, turntime FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } diff --git a/hwe/b_betting.php b/hwe/b_betting.php index d97c5a96..7fdd8ecd 100644 --- a/hwe/b_betting.php +++ b/hwe/b_betting.php @@ -21,12 +21,15 @@ $generalID = $session->generalID; -$me = $db->queryFirstRow('SELECT no,tournament,con,turntime from general where owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no,tournament,refresh_score,turntime FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id where owner=%i', $userID +); $admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'turnterm', 'develcost']); $turnTerm = $admin['turnterm']; -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } @@ -107,7 +110,7 @@ if ($str3) { ?> - diff --git a/hwe/b_genList.php b/hwe/b_genList.php index 5725b7b2..0cbae607 100644 --- a/hwe/b_genList.php +++ b/hwe/b_genList.php @@ -19,12 +19,15 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("암행부", 1); -$me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,permission,penalty from general where owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no,nation,officer_level,refresh_score,turntime,belong,permission,penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); $nationLevel = $db->queryFirstField('SELECT level FROM nation WHERE nation=%i', $me['nation']); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } @@ -45,7 +48,7 @@ $templates = new \League\Plates\Engine('templates'); ?> - diff --git a/hwe/b_tournament.php b/hwe/b_tournament.php index ea74537a..461c18d1 100644 --- a/hwe/b_tournament.php +++ b/hwe/b_tournament.php @@ -14,14 +14,16 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("토너먼트", 1); TurnExecutionHelper::executeAllCommand(); -$me = $db->queryFirstRow('select no,tournament,con,turntime from general where owner=%i', $userID); -$generalID = $session->generalID; +$me = $db->queryFirstRow( + 'SELECT no,tournament,refresh_score,turntime from `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id where owner=%i', $userID +); $admin = $gameStor->getValues(['tournament', 'phase', 'turnterm', 'tnmt_msg', 'tnmt_type', 'develcost', 'tnmt_trig']); $turnTerm = $admin['turnterm']; -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } @@ -100,7 +102,7 @@ $globalBetTotal = array_sum($globalBet); ?> - diff --git a/hwe/func.php b/hwe/func.php index b1ed51b6..90f5da0a 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -105,10 +105,9 @@ function GetImageURL($imgsvr, $filepath = '') } /** - * @param null|int $con 장수의 벌점 - * @param null|int $conlimit 최대 벌점 + * @param null|int $refreshScore 장수의 벌점 */ -function checkLimit($con = null) +function checkLimit($refreshScore = null) { $session = Session::getInstance(); if ($session->userGrade >= 4) { @@ -118,15 +117,15 @@ function checkLimit($con = null) $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); - if ($con === null) { - $con = $db->queryFirstField('SELECT con FROM general WHERE `owner`=%i', Session::getUserID()); + if ($refreshScore === null) { + $refreshScore = $db->queryFirstField('SELECT refresh_score FROM general_access_log WHERE `general_id`=%i', Session::getGeneralID()); } - $conlimit = $gameStor->conlimit; + $refreshLimit = $gameStor->refreshLimit; - if ($con > $conlimit) { + if ($refreshScore > $refreshLimit) { return 2; //접속제한 90%이면 경고문구 - } elseif ($con > $conlimit * 0.9) { + } elseif ($refreshScore > $refreshLimit * 0.9) { return 1; } else { return 0; @@ -753,7 +752,7 @@ function generalInfo(General $generalObj) 부대 {$troopInfo} 벌점 - " . getRefreshScoreText($refreshScoreTotal) . " {$refreshScoreTotal}({$generalObj->getVar('con')}) + " . getRefreshScoreText($refreshScoreTotal) . " {$refreshScoreTotal}({$generalObj->getVar('refresh_score')}) "; } @@ -1087,13 +1086,13 @@ function CheckOverhead() //서버정보 $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); - list($turnterm, $conlimit) = $gameStor->getValuesAsArray(['turnterm', 'conlimit']); + [$turnterm, $refreshLimit] = $gameStor->getValuesAsArray(['turnterm', 'refreshLimit']); - $con = Util::round(pow($turnterm, 0.6) * 3) * 10; + $nextRefreshLimit = Util::round(pow($turnterm, 0.6) * 3) * 10; - if ($con != $conlimit) { - $gameStor->conlimit = $con; + if ($nextRefreshLimit != $refreshLimit) { + $gameStor->refreshLimit = $nextRefreshLimit; } } diff --git a/hwe/func_converter.php b/hwe/func_converter.php index 84bbf0ca..97d60796 100644 --- a/hwe/func_converter.php +++ b/hwe/func_converter.php @@ -133,19 +133,19 @@ function getNationType(?string $type) { } -function getRefreshScoreText($con) { - if($con < 50) $conname = '안함'; - elseif($con < 100) $conname = '무관심'; - elseif($con < 200) $conname = '가끔'; - elseif($con < 400) $conname = '보통'; - elseif($con < 800) $conname = '자주'; - elseif($con < 1600) $conname = '열심'; - elseif($con < 3200) $conname = '중독'; - elseif($con < 6400) $conname = '폐인'; - elseif($con < 12800) $conname = '경고'; - else $conname = '헐...'; +function getRefreshScoreText($score) { + if($score < 50) $scoreName = '안함'; + elseif($score < 100) $scoreName = '무관심'; + elseif($score < 200) $scoreName = '가끔'; + elseif($score < 400) $scoreName = '보통'; + elseif($score < 800) $scoreName = '자주'; + elseif($score < 1600) $scoreName = '열심'; + elseif($score < 3200) $scoreName = '중독'; + elseif($score < 6400) $scoreName = '폐인'; + elseif($score < 12800) $scoreName = '경고'; + else $scoreName = '헐...'; - return $conname; + return $scoreName; } function getNationType2(?string $type) { diff --git a/hwe/func_gamerule.php b/hwe/func_gamerule.php index bc4f491c..465c97eb 100644 --- a/hwe/func_gamerule.php +++ b/hwe/func_gamerule.php @@ -698,7 +698,7 @@ function checkEmperior() $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); - $admin = $gameStor->getValues(['year', 'month', 'isunited', 'conlimit']); + $admin = $gameStor->getValues(['year', 'month', 'isunited', 'refreshLimit']); if ($admin['isunited'] != 0) { return; } @@ -760,7 +760,7 @@ function checkEmperior() } $gameStor->isunited = 2; - $gameStor->conlimit = $gameStor->conlimit * 100; + $gameStor->refreshLimit = $gameStor->refreshLimit * 100; foreach ($db->queryFirstColumn('SELECT no FROM general WHERE npc<2 AND age>=%i', GameConst::$minPushHallAge) as $hallGeneralNo) { CheckHall($hallGeneralNo); diff --git a/hwe/j_board_article_add.php b/hwe/j_board_article_add.php index 4b4b3a89..35ea3ae6 100644 --- a/hwe/j_board_article_add.php +++ b/hwe/j_board_article_add.php @@ -17,10 +17,13 @@ $text = Util::getPost('text'); increaseRefresh("회의실", 1); -$me = $db->queryFirstRow('SELECT no, nation, name, officer_level, permission, con, turntime, belong, penalty, `picture`,`imgsvr` FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, name, officer_level, permission, refresh_score, turntime, belong, penalty, `picture`,`imgsvr` FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' @@ -50,7 +53,7 @@ if($permission < 0){ 'result'=>false, 'reason'=>'국가에 소속되어있지 않습니다.' ]); - + } else if ($isSecretBoard && $permission < 2) { Json::die([ diff --git a/hwe/j_board_comment_add.php b/hwe/j_board_comment_add.php index 12ada898..4fc660be 100644 --- a/hwe/j_board_comment_add.php +++ b/hwe/j_board_comment_add.php @@ -16,10 +16,13 @@ $text = Util::getPost('text'); increaseRefresh("회의실", 1); -$me = $db->queryFirstRow('SELECT no, nation, name, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, name, officer_level, permission, refresh_score, turntime, belong, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' @@ -58,7 +61,7 @@ if($permission < 0){ 'result'=>false, 'reason'=>'국가에 소속되어있지 않습니다.' ]); - + } else if ($isSecretBoard && $permission < 2) { Json::die([ diff --git a/hwe/j_board_get_articles.php b/hwe/j_board_get_articles.php index 9b902cf4..5a740f23 100644 --- a/hwe/j_board_get_articles.php +++ b/hwe/j_board_get_articles.php @@ -16,11 +16,14 @@ $isSecretBoard = Util::getPost('isSecret', 'bool', false); increaseRefresh("회의실", 1); -$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, officer_level, permission, refresh_score, turntime, belong, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' @@ -33,7 +36,7 @@ if($permission < 0){ 'result'=>false, 'reason'=>'국가에 소속되어있지 않습니다.' ]); - + } else if ($isSecretBoard && $permission < 2) { Json::die([ @@ -72,4 +75,3 @@ Json::die([ 'articles'=>$articles, 'reason'=>'success' ]); - diff --git a/hwe/j_diplomacy_destroy_letter.php b/hwe/j_diplomacy_destroy_letter.php index fec91ff8..f7ed149e 100644 --- a/hwe/j_diplomacy_destroy_letter.php +++ b/hwe/j_diplomacy_destroy_letter.php @@ -17,10 +17,13 @@ $letterNo = Util::getPost('letterNo', 'int'); increaseRefresh("외교부", 1); -$me = $db->queryFirstRow('SELECT no, name, nation, officer_level, permission, con, turntime, belong, penalty, picture, imgsvr FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, name, nation, officer_level, permission, refresh_score, turntime, belong, penalty, picture, imgsvr FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' diff --git a/hwe/j_diplomacy_get_letter.php b/hwe/j_diplomacy_get_letter.php index 39aed480..425eb7d7 100644 --- a/hwe/j_diplomacy_get_letter.php +++ b/hwe/j_diplomacy_get_letter.php @@ -16,11 +16,14 @@ $isSecretBoard = Util::getPost('isSecret', 'bool', false); increaseRefresh("외교부", 1); -$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, officer_level, permission, refresh_score, turntime, belong, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' @@ -33,7 +36,7 @@ if($permission < 0){ 'result'=>false, 'reason'=>'국가에 소속되어있지 않습니다.' ]); - + } $letters = []; @@ -83,4 +86,3 @@ Json::die([ 'myNationID'=>$me['nation'], 'reason'=>'success' ]); - diff --git a/hwe/j_diplomacy_respond_letter.php b/hwe/j_diplomacy_respond_letter.php index 42a30ab1..ce8c4d8f 100644 --- a/hwe/j_diplomacy_respond_letter.php +++ b/hwe/j_diplomacy_respond_letter.php @@ -22,10 +22,13 @@ $reason = Util::getPost('reason', 'string', ''); increaseRefresh("외교부", 1); -$me = $db->queryFirstRow('SELECT no, name, nation, officer_level, permission, con, turntime, belong, penalty, picture, imgsvr FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, name, nation, officer_level, permission, refresh_score, turntime, belong, penalty, picture, imgsvr FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' diff --git a/hwe/j_diplomacy_rollback_letter.php b/hwe/j_diplomacy_rollback_letter.php index 5908776d..f8bc1f9b 100644 --- a/hwe/j_diplomacy_rollback_letter.php +++ b/hwe/j_diplomacy_rollback_letter.php @@ -17,10 +17,13 @@ $letterNo = Util::getPost('letterNo', 'int'); increaseRefresh("외교부", 1); -$me = $db->queryFirstRow('SELECT no, name, nation, officer_level, permission, con, turntime, belong, penalty, picture, imgsvr FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, name, nation, officer_level, permission, refresh_score, turntime, belong, penalty, picture, imgsvr FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' diff --git a/hwe/j_diplomacy_send_letter.php b/hwe/j_diplomacy_send_letter.php index 728759bd..ea05671e 100644 --- a/hwe/j_diplomacy_send_letter.php +++ b/hwe/j_diplomacy_send_letter.php @@ -24,10 +24,13 @@ if($prevNo < 1){ $prevNo = null; } -$me = $db->queryFirstRow('SELECT no, name, nation, officer_level, permission, con, turntime, belong, penalty, picture, imgsvr FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, name, nation, officer_level, permission, refresh_score, turntime, belong, penalty, picture, imgsvr FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' diff --git a/hwe/j_general_log_old.php b/hwe/j_general_log_old.php index 0779fef3..99860480 100644 --- a/hwe/j_general_log_old.php +++ b/hwe/j_general_log_old.php @@ -33,12 +33,15 @@ if($generalID <= 0 || $reqTo <= 0){ $db = DB::db(); -$me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,permission,penalty from general where owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no,nation,officer_level,refresh_score,turntime,belong,permission,penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); $nationID = $me['nation']; -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { Json::die([ 'result'=>false, 'reason'=>'접속 제한입니다.' @@ -61,7 +64,7 @@ if($generalID !== $targetID){ 'reason'=>'권한이 부족합니다. 수뇌부가 아니거나 사관년도가 부족합니다.' ]); } - + if($testGeneralNationID !== $nationID){ Json::die([ 'result'=>false, diff --git a/hwe/j_set_npc_control.php b/hwe/j_set_npc_control.php index a59d1d85..bc8d0a96 100644 --- a/hwe/j_set_npc_control.php +++ b/hwe/j_set_npc_control.php @@ -39,7 +39,10 @@ if (!$data || !is_array($data)) { $db = DB::db(); -$me = $db->queryFirstRow('SELECT no, name, npc, nation, city, officer_level, con, turntime, belong, permission, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, name, npc, nation, city, officer_level, refresh_score, turntime, belong, permission, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); $nationID = $me['nation']; diff --git a/hwe/old_index.php b/hwe/old_index.php index 173bed68..704d994f 100644 --- a/hwe/old_index.php +++ b/hwe/old_index.php @@ -29,7 +29,8 @@ if (!$session->isGameLoggedIn()) { } $me = $db->queryFirstRow( - 'SELECT no,con,turntime,newmsg,newvote,`officer_level` from general where owner = %i', + 'SELECT no,refresh_score,turntime,newmsg,newvote,`officer_level` FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner = %i', $userID ); @@ -51,8 +52,8 @@ if ($me['newmsg'] == 1 || $me['newvote'] == 1) { $plock = boolval($db->queryFirstField('SELECT plock FROM plock WHERE `type`="GAME" LIMIT 1')); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } @@ -198,7 +199,7 @@ if ($lastVoteID) {
전체 접속자 수 : online_user_cnt ?> 명
-
턴당 갱신횟수 : conlimit ?>회
+
턴당 갱신횟수 : refreshLimit ?>회
@@ -367,7 +368,7 @@ if ($lastVoteID) {
userID; - $me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,penalty,permission FROM general WHERE owner=%i', $userID); - $con = checkLimit($me['con']); - if ($con >= 2) { + $me = $db->queryFirstRow( + 'SELECT no,nation,officer_level,refresh_score,turntime,belong,penalty,permission FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID + ); + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return "접속 제한중입니다."; } diff --git a/hwe/sammo/API/General/GetFrontInfo.php b/hwe/sammo/API/General/GetFrontInfo.php index dfddd964..43def670 100644 --- a/hwe/sammo/API/General/GetFrontInfo.php +++ b/hwe/sammo/API/General/GetFrontInfo.php @@ -174,7 +174,7 @@ class GetFrontInfo extends \sammo\BaseAPI 'online_nation', 'online_user_cnt', 'year', 'month', 'startyear', 'maxgeneral', - 'conlimit', + 'refreshLimit', 'server_cnt', ]); @@ -537,8 +537,8 @@ class GetFrontInfo extends \sammo\BaseAPI $nationID = $general->getNationID(); $cityID = $general->getCityID(); - $con = checkLimit($general->getVar('con')); - if ($con >= 2) { + $limitState = checkLimit($general->getVar('refresh_score') ?? 0); + if ($limitState >= 2) { return [ 'result' => false, 'reason' => '접속 제한중입니다.', diff --git a/hwe/sammo/API/Global/GeneralList.php b/hwe/sammo/API/Global/GeneralList.php index 5355bb2d..27a558a5 100644 --- a/hwe/sammo/API/Global/GeneralList.php +++ b/hwe/sammo/API/Global/GeneralList.php @@ -42,9 +42,12 @@ class GeneralList extends \sammo\BaseAPI $userID = $session->userID; if ($session->isGameLoggedIn()) { increaseRefresh("장수일람", 2); - $me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner=%i', $userID); - $con = checkLimit($me['con']); - if ($con >= 2) { + $me = $db->queryFirstRow( + 'SELECT refresh_score, turntime FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID + ); + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return '접속 제한중입니다. 1턴 이내에 너무 많은 갱신을 하셨습니다.'; } } else { diff --git a/hwe/sammo/API/Global/GetHistory.php b/hwe/sammo/API/Global/GetHistory.php index 068d883b..c91257b5 100644 --- a/hwe/sammo/API/Global/GetHistory.php +++ b/hwe/sammo/API/Global/GetHistory.php @@ -148,13 +148,16 @@ class GetHistory extends \sammo\BaseAPI } increaseRefresh("연감", 1); - $me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner = %i', $session->userID); + $me = $db->queryFirstRow( + 'SELECT refresh_score, turntime FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner = %i', $session->userID + ); if (!$me) { return '장수가 사망했습니다.'; } - $con = checkLimit($me['con']); - if ($con >= 2) { + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return templateLimitMsg($me['turntime']); } } diff --git a/hwe/sammo/API/Message/GetOldMessage.php b/hwe/sammo/API/Message/GetOldMessage.php index e683d086..c4c93f17 100644 --- a/hwe/sammo/API/Message/GetOldMessage.php +++ b/hwe/sammo/API/Message/GetOldMessage.php @@ -75,7 +75,7 @@ class GetOldMessage extends \sammo\BaseAPI $db = DB::db(); - $me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`con`,`picture`,`imgsvr`,penalty,permission FROM general WHERE `owner`=%i', $userID); + $me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`picture`,`imgsvr`,penalty,permission FROM general WHERE `owner`=%i', $userID); if ($me === null) { return '장수가 사망했습니다.'; diff --git a/hwe/sammo/API/Message/GetRecentMessage.php b/hwe/sammo/API/Message/GetRecentMessage.php index ae535db0..41c74a4d 100644 --- a/hwe/sammo/API/Message/GetRecentMessage.php +++ b/hwe/sammo/API/Message/GetRecentMessage.php @@ -73,7 +73,7 @@ class GetRecentMessage extends \sammo\BaseAPI $db = DB::db(); - $me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`con`,`picture`,`imgsvr`,penalty,permission FROM general WHERE `owner`=%i', $userID); + $me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`picture`,`imgsvr`,penalty,permission FROM general WHERE `owner`=%i', $userID); if ($me === null) { return '장수가 사망했습니다.'; diff --git a/hwe/sammo/API/Message/SendMessage.php b/hwe/sammo/API/Message/SendMessage.php index cc740342..9937bf36 100644 --- a/hwe/sammo/API/Message/SendMessage.php +++ b/hwe/sammo/API/Message/SendMessage.php @@ -108,7 +108,7 @@ class SendMessage extends \sammo\BaseAPI $unlimited = new \DateTime('9999-12-31'); $db = DB::db(); - $destUser = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`con`,`picture`,`imgsvr`,permission,penalty FROM general WHERE `no`=%i', $destGeneralID); + $destUser = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`picture`,`imgsvr`,permission,penalty FROM general WHERE `no`=%i', $destGeneralID); if (!$destUser) { return '존재하지 않는 유저입니다.'; @@ -160,15 +160,18 @@ class SendMessage extends \sammo\BaseAPI } $db = DB::db(); - $me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`officer_level`,`con`,`picture`,`imgsvr`,penalty,permission,belong FROM general WHERE `owner`=%i', $userID); + $me = $db->queryFirstRow( + 'SELECT `no`,`name`,`nation`,`officer_level`,`refresh_score`,`picture`,`imgsvr`,penalty,permission,belong FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE `owner`=%i', $userID + ); if (!$me) { $session->logoutGame(); return '장수가 없습니다.'; } - $con = checkLimit($me['con']); - if ($con >= 2) { + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return '접속 제한입니다.'; } diff --git a/hwe/sammo/API/Nation/GeneralList.php b/hwe/sammo/API/Nation/GeneralList.php index 17c9011d..28f17547 100644 --- a/hwe/sammo/API/Nation/GeneralList.php +++ b/hwe/sammo/API/Nation/GeneralList.php @@ -146,9 +146,12 @@ class GeneralList extends \sammo\BaseAPI $gameStor = \sammo\KVStorage::getStorage($db, 'game_env'); $env = $gameStor->getValues(['year', 'month', 'turntime', 'turnterm', 'autorun_user', 'killturn']); - $me = $db->queryFirstRow('SELECT con, turntime, belong, nation, officer_level, permission, penalty FROM general WHERE owner=%i', $session->getUserID()); - $con = checkLimit($me['con']); - if ($con >= 2) { + $me = $db->queryFirstRow( + 'SELECT refresh_score, turntime, belong, nation, officer_level, permission, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $session->getUserID() + ); + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return '접속 제한중입니다. 1턴 이내에 너무 많은 갱신을 하셨습니다.'; } diff --git a/hwe/sammo/API/Nation/GetGeneralLog.php b/hwe/sammo/API/Nation/GetGeneralLog.php index 1be029b2..a9d556f9 100644 --- a/hwe/sammo/API/Nation/GetGeneralLog.php +++ b/hwe/sammo/API/Nation/GetGeneralLog.php @@ -109,10 +109,12 @@ class GetGeneralLog extends \sammo\BaseAPI $reqTo = $this->args['reqTo'] ?? null; $db = DB::db(); - $me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,permission,penalty from general where owner=%i', $userID); + $me = $db->queryFirstRow( + 'SELECT no,nation,officer_level,refresh_score,turntime,belong,permission,penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID); - $con = checkLimit($me['con']); - if ($con >= 2) { + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return '접속 제한입니다.'; } diff --git a/hwe/sammo/API/NationCommand/GetReservedCommand.php b/hwe/sammo/API/NationCommand/GetReservedCommand.php index 5eb77e1a..06abcb99 100644 --- a/hwe/sammo/API/NationCommand/GetReservedCommand.php +++ b/hwe/sammo/API/NationCommand/GetReservedCommand.php @@ -39,12 +39,15 @@ class GetReservedCommand extends \sammo\BaseAPI $gameStor = KVStorage::getStorage($db, 'game_env'); $userID = $session->userID; - $me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,penalty,permission FROM general WHERE owner=%i', $userID); + $me = $db->queryFirstRow( + 'SELECT no,nation,officer_level,refresh_score,turntime,belong,penalty,permission FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID + ); $nationLevel = $db->queryFirstField('SELECT level FROM nation WHERE nation = %i', $me['nation']); $nationID = $me['nation']; - $con = checkLimit($me['con']); - if ($con >= 2) { + $limitState = checkLimit($me['refresh_score']); + if ($limitState >= 2) { return "접속 제한중입니다. 1턴 이내에 너무 많은 갱신을 하셨습니다. (다음 갱신 가능 시각 : {$me['turntime']})"; } diff --git a/hwe/sammo/Event/Action/InvaderEnding.php b/hwe/sammo/Event/Action/InvaderEnding.php index d4d5888a..aa458fbc 100644 --- a/hwe/sammo/Event/Action/InvaderEnding.php +++ b/hwe/sammo/Event/Action/InvaderEnding.php @@ -63,7 +63,7 @@ class InvaderEnding extends \sammo\Event\Action{ $gameStor->setValue('isunited', 3); $logger->flush(); - $gameStor->conlimit = $gameStor->conlimit * 100; + $gameStor->refreshLimit = $gameStor->refreshLimit * 100; $eventID = Util::array_get($env['currentEventID']); $db->delete('event', 'id = %i', $eventID); diff --git a/hwe/sammo/ResetHelper.php b/hwe/sammo/ResetHelper.php index 917cb2ba..a6cb8003 100644 --- a/hwe/sammo/ResetHelper.php +++ b/hwe/sammo/ResetHelper.php @@ -280,7 +280,7 @@ class ResetHelper{ 'msg'=>'공지사항',//TODO:공지사항 'maxgeneral'=>GameConst::$defaultMaxGeneral, 'maxnation'=>GameConst::$defaultMaxNation, - 'conlimit'=>30000, + 'refreshLimit'=>30000, 'develcost'=>$develcost, 'turntime'=>$turntime, 'starttime'=>$starttime, diff --git a/hwe/sammo/TurnExecutionHelper.php b/hwe/sammo/TurnExecutionHelper.php index c20a1a76..5621ce2b 100644 --- a/hwe/sammo/TurnExecutionHelper.php +++ b/hwe/sammo/TurnExecutionHelper.php @@ -175,7 +175,9 @@ class TurnExecutionHelper $general = $this->getGeneral(); $generalID = $general->getID(); $logger = $general->getLogger(); - $general->setVar('con', 0); + $db->update('general_access_log', [ + 'refresh_score' => 0, + ], 'general_id=%i', $generalID); $generalName = $general->getName(); diff --git a/hwe/t_diplomacy.php b/hwe/t_diplomacy.php index 1969d018..dc4f6c81 100644 --- a/hwe/t_diplomacy.php +++ b/hwe/t_diplomacy.php @@ -13,11 +13,14 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("내무부", 1); -$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, officer_level, permission, refresh_score, turntime, belong, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } diff --git a/hwe/v_NPCControl.php b/hwe/v_NPCControl.php index 6500ccd9..366ecef4 100644 --- a/hwe/v_NPCControl.php +++ b/hwe/v_NPCControl.php @@ -15,13 +15,16 @@ $gameStor->cacheValues(['autorun_user', 'develcost']); increaseRefresh("NPC 정책", 1); -$me = $db->queryFirstRow('SELECT no, npc, nation, city, officer_level, con, turntime, belong, permission, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, npc, nation, city, officer_level, refresh_score, turntime, belong, permission, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); $nationID = $me['nation']; $nation = $db->queryFirstRow('SELECT nation,level,name,color,type,gold,rice,bill,tech,rate,scout,war,secretlimit,capital FROM nation WHERE nation = %i', $nationID); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); } diff --git a/hwe/v_auction.php b/hwe/v_auction.php index dac367e7..820d6b14 100644 --- a/hwe/v_auction.php +++ b/hwe/v_auction.php @@ -12,9 +12,6 @@ $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); $isResAuction = Util::getReq('type') !== 'unique'; - -$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); - ?> diff --git a/hwe/v_board.php b/hwe/v_board.php index f552a145..2e87beba 100644 --- a/hwe/v_board.php +++ b/hwe/v_board.php @@ -15,14 +15,7 @@ $isSecretBoard = Util::getReq('isSecret', 'bool', false); //increaseRefresh("회의실", 1); -$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID); - - -$con = checkLimit($me['con']); -if ($con >= 2) { - printLimitMsg($me['turntime']); - exit(); -} +$me = $db->queryFirstRow('SELECT no, nation, officer_level, permission, turntime, belong, penalty FROM general WHERE owner=%i', $userID); $permission = checkSecretPermission($me); if ($permission < 0) { diff --git a/hwe/v_history.php b/hwe/v_history.php index aafc1452..7b4113e7 100644 --- a/hwe/v_history.php +++ b/hwe/v_history.php @@ -31,9 +31,6 @@ else{ [$currentYear, $currentMonth] = [$l_year, $l_month]; } - -$me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner = %i', $userID); - ?> diff --git a/hwe/v_nationStratFinan.php b/hwe/v_nationStratFinan.php index c2c2647a..bcc1c6f3 100644 --- a/hwe/v_nationStratFinan.php +++ b/hwe/v_nationStratFinan.php @@ -13,10 +13,13 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("내무부", 1); -$me = $db->queryFirstRow('SELECT no, nation, officer_level, con, turntime, belong, permission, penalty FROM general WHERE owner=%i', $userID); +$me = $db->queryFirstRow( + 'SELECT no, nation, officer_level, refresh_score, turntime, belong, permission, penalty FROM `general` + LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID +); -$con = checkLimit($me['con']); -if ($con >= 2) { +$limitState = checkLimit($me['refresh_score']); +if ($limitState >= 2) { printLimitMsg($me['turntime']); exit(); }