From a1556212bcb17fda10475a46abdec1e2a10e7b18 Mon Sep 17 00:00:00 2001 From: hide_d Date: Fri, 15 Mar 2019 15:00:12 +0900 Subject: [PATCH 01/10] =?UTF-8?q?=EC=9D=B8=ED=83=90=20=ED=99=95=EB=A5=A0?= =?UTF-8?q?=20=ED=95=AB=ED=94=BD=EC=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/func_process_personnel.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hwe/func_process_personnel.php b/hwe/func_process_personnel.php index cc8fcead..d760727c 100644 --- a/hwe/func_process_personnel.php +++ b/hwe/func_process_personnel.php @@ -315,9 +315,13 @@ function process_29(&$general) { $gen_cnt = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc <= 2 AND nation = %i', $general['nation']); $npc_cnt = $db->queryFirstField('SELECT count(`no`) FROM general WHERE 3 <= npc AND npc <= 4 AND nation = %i', $general['nation']); + $nation_cnt = $db->queryFirstField('SELECT count(`nation`) FROM nation WHERE `level` > 0'); + $curr_cnt = Util::toInt($total_gen_cnt + $total_npc_cnt / 2); $remain_slot = $max_gen_cnt - $curr_cnt; + $avg_cnt = $curr_cnt / $nation_cnt; + $found_prop_main = pow($remain_slot / $max_gen_cnt, 6); $found_prop_small = 1 / ($total_npc_cnt / 3 + 1); $found_prop_big = 1 / $max_gen_cnt; @@ -361,7 +365,7 @@ function process_29(&$general) { $name = "{$name}{$count}"; } - $join_prop = 0.3 + 0.7 * (($gen_cnt + $npc_cnt / 2) / $curr_cnt); + $join_prop = 0.7 * $avg_cnt / ($gen_cnt + $npc_cnt / 2); if($nation['scout'] != 0 || !Util::randBool($join_prop)) { $scoutType = "발견"; From d21e69689293c2943bb1fb16a639cc72e785c03c Mon Sep 17 00:00:00 2001 From: hide_d Date: Fri, 15 Mar 2019 15:15:00 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=ED=99=95=EB=A5=A0=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/func_process_personnel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hwe/func_process_personnel.php b/hwe/func_process_personnel.php index d760727c..c1f28636 100644 --- a/hwe/func_process_personnel.php +++ b/hwe/func_process_personnel.php @@ -365,7 +365,7 @@ function process_29(&$general) { $name = "{$name}{$count}"; } - $join_prop = 0.7 * $avg_cnt / ($gen_cnt + $npc_cnt / 2); + $join_prop = 0.55 * $avg_cnt / ($gen_cnt + $npc_cnt / 2); if($nation['scout'] != 0 || !Util::randBool($join_prop)) { $scoutType = "발견"; From 3dd4e06fbe3ccfebca11d0cb0ca4788f9b70a809 Mon Sep 17 00:00:00 2001 From: hide_d Date: Fri, 22 Mar 2019 09:26:52 +0900 Subject: [PATCH 03/10] =?UTF-8?q?session=5Fcache=5Flimiter=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C.=20no-cache=EA=B0=80=20=EA=B8=B0=EB=B3=B8=EA=B0=92?= =?UTF-8?q?=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/lib.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/hwe/lib.php b/hwe/lib.php index 455f1b9b..5ba3a90d 100644 --- a/hwe/lib.php +++ b/hwe/lib.php @@ -26,8 +26,6 @@ define('STEP_LOG', true); define('PROCESS_LOG', true); ob_start(); -session_cache_limiter('nocache');//NOTE: 캐시가 가능하도록 설정해야 할 수도 있음. 주의! -//FIXME: 이곳에서 설정하면 안될 듯 하다. 옮기자. // 에러 메세지 출력 function Error($message='', $url="") From 1c56fe0f1ab709a7381519b07d4be9d3f23baa44 Mon Sep 17 00:00:00 2001 From: hide_d Date: Fri, 22 Mar 2019 09:30:24 +0900 Subject: [PATCH 04/10] =?UTF-8?q?cache=20control=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sammo/WebUtil.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sammo/WebUtil.php b/src/sammo/WebUtil.php index c4798b78..2ceaab80 100644 --- a/src/sammo/WebUtil.php +++ b/src/sammo/WebUtil.php @@ -21,6 +21,7 @@ class WebUtil { if (!headers_sent()) { header('Expires: Wed, 01 Jan 2014 00:00:00 GMT'); + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); From 9106d1f39b307e3364d572bd91d30ebf4227f00e Mon Sep 17 00:00:00 2001 From: hide_d Date: Tue, 26 Mar 2019 15:36:38 +0900 Subject: [PATCH 05/10] =?UTF-8?q?=EB=AA=85=EC=A0=84=20=EB=93=B1=EB=A1=9D?= =?UTF-8?q?=EC=8B=9C=20=EB=AC=B8=EC=9E=90=20=EB=AC=B8=EC=A0=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/func.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hwe/func.php b/hwe/func.php index 6d8aad66..f1e73e96 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -2208,7 +2208,7 @@ function CheckHall($no) { 'value'=>$general[$typeName]??0, 'aux'=>$jsonAux ], - 'server_id = %s AND scenario = %i AND general_no = %i AND type = %i AND value < %?', + 'server_id = %s AND scenario = %i AND general_no = %i AND type = %i AND value < %d', UniqueConst::$serverID, $scenarioIdx, $no, From 74f20c2a5d1f2faba1009b9566653640ba9529d8 Mon Sep 17 00:00:00 2001 From: hide_d Date: Tue, 26 Mar 2019 15:44:04 +0900 Subject: [PATCH 06/10] =?UTF-8?q?=EB=AA=85=EC=A0=84=20=EC=9E=AC=20?= =?UTF-8?q?=EA=B0=B1=EC=8B=A0=20=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/_admin_force_rehall.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 hwe/_admin_force_rehall.php diff --git a/hwe/_admin_force_rehall.php b/hwe/_admin_force_rehall.php new file mode 100644 index 00000000..a02d652b --- /dev/null +++ b/hwe/_admin_force_rehall.php @@ -0,0 +1,26 @@ +setReadOnly(); + +if($session->userGrade < 5) { + header('location:_admin4.php'); + die(); +} + +$db = DB::db(); +$gameStor = KVStorage::getStorage($db, 'game_env'); + +if(!$gameStor->isunited){ + die('아직 천통하지 않았습니다'); +} + +foreach($db->queryFirstColumn( + 'SELECT no FROM general WHERE npc != 0 and age >= %i', + GameConst::$retirementYear +) as $generalNo){ + CheckHall($generalNo); +} \ No newline at end of file From 9a78eac0ffb7efedcd25a89bf6397e18c18d694b Mon Sep 17 00:00:00 2001 From: hide_d Date: Tue, 26 Mar 2019 15:47:17 +0900 Subject: [PATCH 07/10] =?UTF-8?q?=EC=98=A4=ED=83=80(=3F)=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/_admin_force_rehall.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hwe/_admin_force_rehall.php b/hwe/_admin_force_rehall.php index a02d652b..7fba7fdd 100644 --- a/hwe/_admin_force_rehall.php +++ b/hwe/_admin_force_rehall.php @@ -7,8 +7,7 @@ include "func.php"; $session = Session::requireGameLogin()->setReadOnly(); if($session->userGrade < 5) { - header('location:_admin4.php'); - die(); + die('권한 부족'); } $db = DB::db(); From 18aef77c4ad97122a5574ca47a7cef3b53064ba5 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sat, 6 Apr 2019 14:25:12 +0900 Subject: [PATCH 08/10] =?UTF-8?q?=EC=B2=9C=ED=86=B5=EC=8B=9C=20=EC=9E=A5?= =?UTF-8?q?=EC=88=98=20=EC=9D=BC=EB=9E=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/a_genList.php | 56 ++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/hwe/a_genList.php b/hwe/a_genList.php index b5a0627f..f57b2156 100644 --- a/hwe/a_genList.php +++ b/hwe/a_genList.php @@ -30,6 +30,13 @@ if ($type <= 0 || $type > 15) { $type = 9; } +$ownerNameList = []; +if($gameStor->isunited){ + foreach(RootDB::db()->queryAllLists('SELECT no, name FROM member') as [$ownerID, $ownerName]){ + $ownerNameList[$ownerID] = $ownerName; + } +} + ?> @@ -82,26 +89,26 @@ foreach (getAllNationStaticInfo() as $nation) { $nationlevel[$nation['nation']] = $nation['level']; } -switch ($type) { //FIXME: $query 처리 조심. - case 1: $query = "select no,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 no,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 no,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; - case 4: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by intel desc"; break; - case 5: $query = "select no,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 6: $query = "select no,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 no,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 no,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 no,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 no,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 no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by personal"; break; - case 12: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special desc"; break; - case 13: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special2 desc"; break; - case 14: $query = "select no,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 no,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), ""); -$gencount = MYDB_num_rows($genresult); + +[$orderKey, $orderDesc] = [ + 1=>['nation', false], + 2=>['leader', true], + 3=>['power', true], + 4=>['intel', true], + 5=>['experience', true], + 6=>['dedication', true], + 7=>['level', true], + 8=>['killturn', false], + 9=>['connect', true], + 10=>['experience', true], + 11=>['personal', true], + 12=>['special', true], + 13=>['special2', true], + 14=>['age', true], + 15=>['npc', true], +][$type]; + +$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by %b %l', $orderKey, $orderDesc?'desc':''); echo" @@ -122,8 +129,7 @@ echo" "; -for ($j=0; $j < $gencount; $j++) { - $general = MYDB_fetch_array($genresult); +foreach($generalList as $general){ $nation = $nationname[$general['nation']]; if ($general['level'] == 12) { @@ -152,6 +158,8 @@ for ($j=0; $j < $gencount; $j++) { $intel = "{$general['intel']}"; } + + if ($general['npc'] >= 2) { $name = "{$general['name']}"; } elseif ($general['npc'] == 1) { @@ -160,6 +168,10 @@ for ($j=0; $j < $gencount; $j++) { $name = "{$general['name']}"; } + if(key_exists($general['owner'], $ownerNameList)){ + $name = $name.'
('.$ownerNameList[$general['owner']].')'; + } + $general['connect'] = Util::round($general['connect'] / 10) * 10; $imageTemp = GetImageURL($general['imgsvr']); From c9ee477c081dcf8df3a4287784028e0381fa5744 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sat, 6 Apr 2019 14:46:07 +0900 Subject: [PATCH 09/10] =?UTF-8?q?=EC=84=B8=EB=A0=A5=EC=9E=A5=EC=88=98=20?= =?UTF-8?q?=EB=B3=B8=EB=8B=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/b_myGenInfo.php | 78 ++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 44 deletions(-) diff --git a/hwe/b_myGenInfo.php b/hwe/b_myGenInfo.php index 9dbe9f41..180947ea 100644 --- a/hwe/b_myGenInfo.php +++ b/hwe/b_myGenInfo.php @@ -14,6 +14,7 @@ $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); $db = DB::db(); +$gameStor = KVStorage::getStorage($db, 'game_env'); $connect=$db->get(); increaseRefresh("세력장수", 1); @@ -29,6 +30,14 @@ if($me['level'] == 0) { $sel = [$type => "selected"]; +$ownerNameList = []; +if($gameStor->isunited){ + foreach(RootDB::db()->queryAllLists('SELECT no, name FROM member') as [$ownerID, $ownerName]){ + $ownerNameList[$ownerID] = $ownerName; + } +} + + ?> @@ -74,48 +83,26 @@ $sel = [$type => "selected"]; queryFirstField('select level from nation where nation = %i', $me['nation']); -$orderByText = '';//FIXME: 쿼리 재작성 -switch($type) { - case 1: $orderByText = " order by level desc"; break; - case 2: $orderByText = " order by dedication desc"; break; - case 3: $orderByText = " order by experience desc"; break; - case 4: $orderByText = " order by leader desc"; break; - case 5: $orderByText = " order by power desc"; break; - case 6: $orderByText = " order by intel desc"; break; - case 7: $orderByText = " order by gold desc"; break; - case 8: $orderByText = " order by rice desc"; break; - case 9: $orderByText = " order by crew desc"; break; - case 10: $orderByText = " order by connect desc"; break; - case 11: $orderByText = " order by personal"; break; - case 12: $orderByText = " order by special desc"; break; - case 13: $orderByText = " order by special2 desc"; break; - case 14: $orderByText = " order by belong desc"; break; - case 15: $orderByText = " order by npc desc"; break; -} -$query = - "select - npc, - special, - special2, - personal, - picture, - imgsvr, - name, - level, - dedication, - experience, - injury, - leader, - power, - intel, - gold, - rice, - belong, - connect, - killturn - from general where nation='{$me['nation']}' ".$orderByText; -$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); -$gencount = MYDB_num_rows($genresult); + +[$orderKey, $orderDesc] = [ + 1=>['level', true], + 2=>['dedication', true], + 3=>['experience', true], + 4=>['leader', true], + 5=>['power', true], + 6=>['intel', true], + 7=>['gold', true], + 8=>['rice', true], + 9=>['crew', true], + 10=>['connect', true], + 11=>['personal', true], + 12=>['special', true], + 13=>['special2', true], + 14=>['belong', true], + 15=>['npc', true], +][$type]; + +$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect,gold,rice,crew,belong from general order by %b %l', $orderKey, $orderDesc?'desc':''); echo"
삭턴 벌점
@@ -136,8 +123,7 @@ echo" "; -for($j=0; $j < $gencount; $j++) { - $general = MYDB_fetch_array($genresult); +foreach($generalList as $general){ if($general['level'] == 12) { $lbonus = $nationLevel * 2; @@ -169,6 +155,10 @@ for($j=0; $j < $gencount; $j++) { elseif($general['npc'] == 1) { $name = "{$general['name']}"; } else { $name = "{$general['name']}"; } + if(key_exists($general['owner'], $ownerNameList)){ + $name = $name.'
('.$ownerNameList[$general['owner']].')'; + } + $imageTemp = GetImageURL($general['imgsvr']); echo " From f6eae2274f6d56403c0644829042ce4d72b80ec9 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 7 Apr 2019 17:15:16 +0900 Subject: [PATCH 10/10] =?UTF-8?q?=EC=84=B8=EB=A0=A5=20=EC=9E=A5=EC=88=98?= =?UTF-8?q?=20=EC=BF=BC=EB=A6=AC=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/b_myGenInfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hwe/b_myGenInfo.php b/hwe/b_myGenInfo.php index 180947ea..a750a15e 100644 --- a/hwe/b_myGenInfo.php +++ b/hwe/b_myGenInfo.php @@ -102,7 +102,7 @@ $nationLevel = DB::db()->queryFirstField('select level from nation where nation 15=>['npc', true], ][$type]; -$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect,gold,rice,crew,belong from general order by %b %l', $orderKey, $orderDesc?'desc':''); +$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect,gold,rice,crew,belong from general where nation = %i order by %b %l', $me['nation'], $orderKey, $orderDesc?'desc':''); echo"
사 관 벌점