diff --git a/hwe/a_bestGeneral.php b/hwe/a_bestGeneral.php
index 18a62c8a..fb765ac1 100644
--- a/hwe/a_bestGeneral.php
+++ b/hwe/a_bestGeneral.php
@@ -55,6 +55,7 @@ if ($con >= 2) {
=2";
} else {
$sel = "npc<2";
diff --git a/hwe/a_genList.php b/hwe/a_genList.php
index 4bcec301..1b0a9dee 100644
--- a/hwe/a_genList.php
+++ b/hwe/a_genList.php
@@ -3,6 +3,9 @@ namespace sammo;
include "lib.php";
include "func.php";
+
+$type = Util::getReq('type', 'int', 9);
+
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
@@ -13,17 +16,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 +74,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 +88,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 +97,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 +119,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,9 +149,13 @@ 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;
@@ -160,12 +171,15 @@ for($j=0; $j < $gencount; $j++) {
{$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'])."】
";
}
echo "
diff --git a/hwe/a_history.php b/hwe/a_history.php
index 593e53c3..8d4a42d9 100644
--- a/hwe/a_history.php
+++ b/hwe/a_history.php
@@ -4,7 +4,7 @@ namespace sammo;
include "lib.php";
include "func.php";
$btn = Util::getReq('btn');
-$yearmonth = Util::getReq('yearmonth');
+$yearmonth = Util::getReq('yearmonth', 'int');
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
@@ -44,8 +44,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..e120155a 100644
--- a/hwe/a_npcList.php
+++ b/hwe/a_npcList.php
@@ -6,14 +6,15 @@ include "func.php";
$type = Util::getReq('type', 'int', 1);
+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 +50,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_vote.php b/hwe/a_vote.php
index 8bb7cbe9..56f9b63f 100644
--- a/hwe/a_vote.php
+++ b/hwe/a_vote.php
@@ -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_battleCenter.php b/hwe/b_battleCenter.php
index 1fe2ab0a..89caa475 100644
--- a/hwe/b_battleCenter.php
+++ b/hwe/b_battleCenter.php
@@ -9,8 +9,8 @@ $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);
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
@@ -61,7 +61,7 @@ if ($btn == '정렬하기') {
$gen = 0;
}
-if ($type == 0) {
+if ($type <= 0 || $type > 3) {
$type = 0;
}
$sel = [];
@@ -96,6 +96,7 @@ $sel[$type] = "selected";
= 2) {
}
switch ($admin['tnmt_type']) {
+default: throw new \RuntimeException('Invalid tnmt_type');break;
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;
@@ -96,6 +97,7 @@ $query = "select npc,name,win from tournament where grp>=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_genList.php b/hwe/b_genList.php
index 957239f3..07565e93 100644
--- a/hwe/b_genList.php
+++ b/hwe/b_genList.php
@@ -4,7 +4,7 @@ namespace sammo;
include "lib.php";
include "func.php";
-$type = Util::getReq('type', 'int');
+$type = Util::getReq('type', 'int', 7);
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
@@ -38,7 +38,7 @@ if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretli
exit();
}
-if ($type == 0) {
+if ($type <= 0 || $type > 8) {
$type = 7;
}
$sel = [];
diff --git a/hwe/b_myCityInfo.php b/hwe/b_myCityInfo.php
index 6a462002..575fe3f8 100644
--- a/hwe/b_myCityInfo.php
+++ b/hwe/b_myCityInfo.php
@@ -3,6 +3,9 @@ namespace sammo;
include "lib.php";
include "func.php";
+
+$type = Util::getReq('type', 'int', 10);
+
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
@@ -21,7 +24,7 @@ if ($me['level'] == 0) {
exit();
}
-if ($type == 0) {
+if ($type <= 0 || $type > 12) {
$type = 10;
}
$sel = [$type => "selected"];
diff --git a/hwe/b_myGenInfo.php b/hwe/b_myGenInfo.php
index a873e5e7..8e28b10a 100644
--- a/hwe/b_myGenInfo.php
+++ b/hwe/b_myGenInfo.php
@@ -4,7 +4,7 @@ namespace sammo;
include "lib.php";
include "func.php";
-$type = Util::getReq('type', 'int');
+$type = Util::getReq('type', 'int', 1);
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
@@ -25,7 +25,7 @@ if($me['level'] == 0) {
}
-if($type == 0) {
+if($type <= 0 || $type > 15) {
$type = 1;
}
$sel = [$type => "selected"];
diff --git a/hwe/b_myPage.php b/hwe/b_myPage.php
index 98002afd..409e515a 100644
--- a/hwe/b_myPage.php
+++ b/hwe/b_myPage.php
@@ -5,6 +5,21 @@ 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);
+
+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();
diff --git a/hwe/b_tournament.php b/hwe/b_tournament.php
index 9c88f178..724e0988 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;
@@ -219,6 +220,7 @@ for ($i=0; $i < 1; $i++) {
$cent[$i] = "";
}
$line = [];
+$gen = [];
for ($i=0; $i < 2; $i++) {
//FIXME: 다시 작성. null인 경우엔 어쩌려고?
$general = MYDB_fetch_array($result) ?? [
diff --git a/hwe/c_betting.php b/hwe/c_betting.php
index d073b653..c8238d0a 100644
--- a/hwe/c_betting.php
+++ b/hwe/c_betting.php
@@ -7,6 +7,7 @@ include "func.php";
// $btn0~15, $gold0~15
+//FIXME: 으악!!!!! 왜?! idx를 지정하고 gold를 지정하라고!
$betTarget = -1;
$betGold = -1;
for($i=0;$i<16;$i++){
diff --git a/hwe/c_chiefboard.php b/hwe/c_chiefboard.php
index b830d829..c089b9c0 100644
--- a/hwe/c_chiefboard.php
+++ b/hwe/c_chiefboard.php
@@ -17,39 +17,42 @@ $userID = Session::getUserID();
$db = DB::db();
$connect=$db->get();
-if(getBlockLevel() != 1 && getBlockLevel() != 3) {
- $query = "select no,nation from general where owner='{$userID}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $me = MYDB_fetch_array($result);
+if (getBlockLevel() == 1 || getBlockLevel() == 3) {
+ header('location:b_chiefboard.php');
+ die();
+}
- $title = str_replace("|", " ", $title);
- $msg = str_replace("|", " ", $msg);
- $reply = str_replace("|", " ", $reply);
- $title = trim($title);
- $msg = trim($msg);
- $reply = trim($reply);
+$query = "select no,nation from general where owner='{$userID}'";
+$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+$me = MYDB_fetch_array($result);
- $nation = getNation($me['nation']);
+$title = str_replace("|", " ", $title);
+$msg = str_replace("|", " ", $msg);
+$reply = str_replace("|", " ", $reply);
+$title = trim($title);
+$msg = trim($msg);
+$reply = trim($reply);
- //새글 추가시
- if($num == -1 && $title != "" && $msg != "") {
- $num = $nation['coreindex'] + 1;
- if($num >= 20) { $num = 0; }
- $msg = $title."|".$msg;
- $msg = addslashes(SQ2DQ($msg));
- $date = date('Y-m-d H:i:s');
- $query = "update nation set coreboard{$num}='$msg',coreboard{$num}_who='{$me['no']}',coreboard{$num}_when='$date' where nation='{$me['nation']}'";
- MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $query = "update nation set coreindex='$num' where nation='{$me['nation']}'";
- MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- //$num에 댓글시
- } elseif($num >= 0 && $reply != "") {
- $newmsg = $nation["coreboard{$num}"]."|".$me['no']."|".$reply;
- $newmsg = addslashes(SQ2DQ($newmsg));
+$nation = getNation($me['nation']);
- $query = "update nation set coreboard{$num}='$newmsg' where nation='{$me['nation']}'";
- MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- }
+//새글 추가시
+if($num == -1 && $title != "" && $msg != "") {
+ $num = $nation['coreindex'] + 1;
+ if($num >= 20) { $num = 0; }
+ $msg = $title."|".$msg;
+ $msg = addslashes(SQ2DQ($msg));
+ $date = date('Y-m-d H:i:s');
+ $query = "update nation set coreboard{$num}='$msg',coreboard{$num}_who='{$me['no']}',coreboard{$num}_when='$date' where nation='{$me['nation']}'";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $query = "update nation set coreindex='$num' where nation='{$me['nation']}'";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+//$num에 댓글시
+} elseif($num >= 0 && $reply != "") {
+ $newmsg = $nation["coreboard{$num}"]."|".$me['no']."|".$reply;
+ $newmsg = addslashes(SQ2DQ($newmsg));
+
+ $query = "update nation set coreboard{$num}='$newmsg' where nation='{$me['nation']}'";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
header('location:b_chiefboard.php');
\ No newline at end of file
diff --git a/hwe/c_double.php b/hwe/c_double.php
index 138d1ce1..97868cae 100644
--- a/hwe/c_double.php
+++ b/hwe/c_double.php
@@ -33,9 +33,6 @@ if($command < 0) { $command = 0; }
if($double < 0) { $double = 0; }
if($third < 0) { $third = 0; }
if($fourth < 0) { $fourth = 0; }
-$double = Util::round($double);
-$third = Util::round($third);
-$fourth = Util::round($fourth);
if($command > 99) { $command = 0; }
if($double > 9999) { $double = 9999; }
if($third > 9999) { $third = 9999; }
diff --git a/hwe/c_myBossInfo.php b/hwe/c_myBossInfo.php
index fa210030..ed166ef9 100644
--- a/hwe/c_myBossInfo.php
+++ b/hwe/c_myBossInfo.php
@@ -43,6 +43,11 @@ if($btn == "임명") {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
+ if(!$general){
+ header('location:b_myBossInfo.php');
+ exit();
+ }
+
//임명할사람이 군주이면 불가, 내가 수뇌부이어야함, 공석아닌때는 국가가 같아야함
if($general['level'] == 12 || $meLevel < 5 || ($general['nation'] != $me['nation'] && $genlist != 0)) {
@@ -54,6 +59,11 @@ if($btn == "임명") {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
+ if(!$general){
+ header('location:b_myBossInfo.php');
+ exit();
+ }
+
//추방할사람이 군주이면 불가, 내가 수뇌부이어야함, 공석아닌때는 국가가 같아야함
if($general['level'] == 12 || $meLevel < 5 || ($general['nation'] != $me['nation'] && $outlist != 0)) {
header('location:b_myBossInfo.php');
diff --git a/hwe/c_nationrule.php b/hwe/c_nationrule.php
index 4b5d718c..26932a63 100644
--- a/hwe/c_nationrule.php
+++ b/hwe/c_nationrule.php
@@ -4,6 +4,7 @@ namespace sammo;
include "lib.php";
include "func.php";
// $msg
+$msg = Util::getReq('msg');
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
diff --git a/hwe/c_tournament.php b/hwe/c_tournament.php
index 53b33245..8173c19c 100644
--- a/hwe/c_tournament.php
+++ b/hwe/c_tournament.php
@@ -6,12 +6,13 @@ include "func.php";
// $btn, $msg
$btn = Util::getReq('btn');
$msg = Util::getReq('msg');
-$gen = Util::getReq('gen', 'int');
-$sel = Util::getReq('sel', 'int');
//관리자용
-$auto = Util::getReq('gen', 'int');
+$auto = Util::getReq('auto', 'int');
$type = Util::getReq('type', 'int');
+$gen = Util::getReq('gen', 'int');
+$sel = Util::getReq('sel', 'int');
+$trig = Util::getReq('trig', 'int');
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
@@ -35,22 +36,71 @@ case 2: $tp = "power"; $tp2 = "일기토"; $tp3 = "power"; break;
case 3: $tp = "intel"; $tp2 = "설전"; $tp3 = "intel"; break;
}
-if($me['tournament'] == 1 && $session->userGrade < 5) {
- header('locatoin:b_tournament.php');
+if($btn == '참가') {
+ $query = "select no,name,npc,leader,power,intel,explevel,gold,horse,weap,book from general where no='{$me['no']}'";
+ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $general = MYDB_fetch_array($result);
+
+ //{$admin['develcost']}원 참가비
+ if($general['gold'] < $admin['develcost']) {
+ header('location:b_tournament.php');
+ exit(1);
+ }
+ $general['gold'] -= $admin['develcost'];
+
+ $query = "select grp from tournament where grp<10 group by grp having count(*)=8";
+ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $grpCount = MYDB_num_rows($result);
+ $occupied = [];
+ for($i=0; $i < $grpCount; $i++) {
+ $grp = MYDB_fetch_array($result);
+ $occupied[$grp['grp']] = 1;
+ }
+ $map = [];
+ for($i=0; $i < 8; $i++) {
+ if($occupied[$i] == 0) {
+ $map[] = $i;
+ }
+ }
+
+ if($grpCount < 8) {
+ $grp = $map[rand() % count($map)];
+ $query = "select grp from tournament where grp='$grp'";
+ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $grpCount = MYDB_num_rows($result);
+ $query = "insert into tournament (no, npc, name, ldr, pwr, itl, lvl, grp, grp_no, h, w, b) values ('{$general['no']}', '{$general['npc']}', '{$general['name']}', '{$general['leader']}', '{$general['power']}', '{$general['intel']}', '{$general['explevel']}', '$grp', '$grpCount', '{$general['horse']}', '{$general['weap']}', '{$general['book']}')";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $query = "update general set tournament=1,gold='{$general['gold']}' where no='{$general['no']}'";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ }
+
+ $query = "select grp from tournament where grp<10 group by grp having count(*)=8";
+ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ $grpCount = MYDB_num_rows($result);
+ if($grpCount >= 8) {
+ $query = "update game set tournament=2, phase=0";
+ MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+ }
+ header('location:b_tournament.php');
+ die();
+}
+
+if($session->userGrade < 5) {
+ header('location:b_tournament.php');
exit();
}
-if($btn == "자동개최설정" && $session->userGrade >= 5) {
+if($btn == "자동개최설정") {
$db->update('game', ['tnmt_trig'=>$trig], true);
-} elseif($btn == "개최" && $session->userGrade >= 5) {
+} elseif($btn == "개최") {
startTournament($auto, $type);
-} elseif($btn == "중단" && $session->userGrade >= 5) {
+} elseif($btn == "중단") {
$db->update('game', [
'tnmt_auto'=>0,
'tournament'=>0,
'phase'=>0
], true);
-} elseif((($btn == "투입" || $btn == "무명투입" || $btn == "쪼렙투입" || $btn == "일반투입" || $btn == "굇수투입" || $btn == "랜덤투입") && $session->userGrade >= 5) || $btn == "참가") {
+} elseif($btn == "투입" || $btn == "무명투입" || $btn == "쪼렙투입" || $btn == "일반투입" || $btn == "굇수투입" || $btn == "랜덤투입") {
if($btn == "투입") {
$query = "select no,name,npc,leader,power,intel,explevel,gold,horse,weap,book from general where no='$gen'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -100,17 +150,6 @@ if($btn == "자동개최설정" && $session->userGrade >= 5) {
$general = MYDB_fetch_array($result);
$general['gold'] -= $admin['develcost'];
//참가
- } else {
- $query = "select no,name,npc,leader,power,intel,explevel,gold,horse,weap,book from general where no='{$me['no']}'";
- $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
- $general = MYDB_fetch_array($result);
-
- //{$admin['develcost']}원 참가비
- if($general['gold'] < $admin['develcost']) {
- header('location:b_tournament.php');
- exit(1);
- }
- $general['gold'] -= $admin['develcost'];
}
$query = "select grp from tournament where grp<10 group by grp having count(*)=8";
@@ -146,7 +185,8 @@ if($btn == "자동개최설정" && $session->userGrade >= 5) {
$query = "update game set tournament=2, phase=0";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
-} elseif(($btn == "쪼렙전부투입" || $btn == "일반전부투입" || $btn == "굇수전부투입" || $btn == "랜덤전부투입") && $session->userGrade >= 5) {
+
+} elseif($btn == "쪼렙전부투입" || $btn == "일반전부투입" || $btn == "굇수전부투입" || $btn == "랜덤전부투입") {
$z = 0;
$code = [];
for($i=0; $i < 8; $i++) {
@@ -201,25 +241,39 @@ if($btn == "자동개최설정" && $session->userGrade >= 5) {
$query = "update game set tournament=2, phase=0";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
-} elseif($btn == "무명전부투입" && $session->userGrade >= 5) { fillLowGenAll();
-} elseif($btn == "예선" && $session->userGrade >= 5) { qualify($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "예선전부" && $session->userGrade >= 5) { qualifyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "추첨" && $session->userGrade >= 5) { selection($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "추첨전부" && $session->userGrade >= 5) { selectionAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "본선" && $session->userGrade >= 5) { finallySingle($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "본선전부" && $session->userGrade >= 5) { finallyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "배정" && $session->userGrade >= 5) { final16set();
-} elseif($btn == "베팅마감" && $session->userGrade >= 5) {
+} elseif($btn == "무명전부투입") {
+ fillLowGenAll();
+} elseif($btn == "예선") {
+ qualify($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "예선전부") {
+ qualifyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "추첨") {
+ selection($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "추첨전부") {
+ selectionAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "본선") {
+ finallySingle($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "본선전부") {
+ finallyAll($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "배정") {
+ final16set();
+} elseif($btn == "베팅마감") {
$dt = date("Y-m-d H:i:s", time() + 60);
$query = "update game set tournament='7',phase='0',tnmt_time='$dt'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
-} elseif($btn == "16강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 16);
-} elseif($btn == "8강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 8);
-} elseif($btn == "4강" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 4);
-} elseif($btn == "결승" && $session->userGrade >= 5) { finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 2);
-} elseif($btn == "포상" && $session->userGrade >= 5) { setGift($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
-} elseif($btn == "회수" && $session->userGrade >= 5) { setRefund();
-} elseif($btn == "메시지" && $session->userGrade >= 5) {
+} elseif($btn == "16강") {
+ finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 16);
+} elseif($btn == "8강") {
+ finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 8);
+} elseif($btn == "4강") {
+ finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 4);
+} elseif($btn == "결승") {
+ finalFight($admin['tnmt_type'], $admin['tournament'], $admin['phase'], 2);
+} elseif($btn == "포상") {
+ setGift($admin['tnmt_type'], $admin['tournament'], $admin['phase']);
+} elseif($btn == "회수") {
+ setRefund();
+} elseif($btn == "메시지") {
$msg = addslashes(SQ2DQ($msg));
$query = "update game set tnmt_msg='$msg'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/hwe/c_troop.php b/hwe/c_troop.php
index 0be9c8e5..44c00b1a 100644
--- a/hwe/c_troop.php
+++ b/hwe/c_troop.php
@@ -17,7 +17,6 @@ $db = DB::db();
$me = $db->queryFirstRow('SELECT `no`, nation, troop FROM general WHERE `owner`=%i', $userID);
$name = trim($name);
-$name = addslashes(SQ2DQ($name));
if($btn == "부 대 창 설" && $name != "" && $me['troop'] == 0) {
$db->insert('troop',[
'name'=>$name,
diff --git a/hwe/d_scout.php b/hwe/d_scout.php
index 9ffc35b7..0b634d47 100644
--- a/hwe/d_scout.php
+++ b/hwe/d_scout.php
@@ -10,6 +10,8 @@ include "lib.php";
include "func.php";
//로그인 검사
+$gen = Util::getReq('gen', 'int');
+
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
//FIXME: 망했음. CriticalFailure. 재 구현.
diff --git a/hwe/join_post.php b/hwe/join_post.php
index b32e63bb..a27dc090 100644
--- a/hwe/join_post.php
+++ b/hwe/join_post.php
@@ -53,8 +53,6 @@ $leader = Util::getReq('leader', 'int', 50);
$power = Util::getReq('power', 'int', 50);
$intel = Util::getReq('intel', 'int', 50);
-$mylog = [];
-
$rootDB = RootDB::db();
//회원 테이블에서 정보확인
$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM MEMBER WHERE no=%i', $userID);
@@ -179,7 +177,7 @@ if ($lastconnect >= $turntime) {
}
//특회 전콘
-if ($admin['show_img_level'] >= 1 && $member['grade'] >= 1 && $member['picture'] != "" && $pic == 1) {
+if ($admin['show_img_level'] >= 1 && $member['grade'] >= 1 && $member['picture'] != "" && $pic) {
$face = $member['picture'];
$imgsvr = $member['imgsvr'];
} else {
@@ -235,12 +233,14 @@ $me = [
'no'=>$generalID
];
+$log = [];
+$mylog = [];
+
if ($genius) {
$log[0] = "●>{$admin['month']}월:{$cityname} >에서 {$name}>(이)라는 기재가 천하에 이름을 알립니다.";
$log[1] = "●>{$admin['month']}월:".getGenSpecial($special2)."> 특기를 가진 천재>의 등장으로 온 천하가 떠들썩합니다.";
- $history[0] = "●>{$admin['year']}년 {$admin['month']}월:【천재】 >{$cityname} >에 천재가 등장했습니다.";
- pushWorldHistory($history, $admin['year'], $admin['month']);
+ pushWorldHistory(["●>{$admin['year']}년 {$admin['month']}월:【천재】 >{$cityname} >에 천재가 등장했습니다."], $admin['year'], $admin['month']);
} else {
$log[0] = "●>{$admin['month']}월:{$cityname} >에서 {$name}>(이)라는 호걸이 천하에 이름을 알립니다.";
}