사령부 UI 간결화, (구현은 아직), 일부 변수명 변경

This commit is contained in:
2018-11-24 22:22:27 +09:00
parent b0cc200df7
commit 52fd932fd8
17 changed files with 265 additions and 286 deletions
+60 -148
View File
@@ -7,64 +7,6 @@ include "func.php";
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
increaseRefresh("사령부", 1);
$me = $db->queryFirstRow('SELECT no,nation,level,con,turntime,belong FROM general WHERE owner=%i', $userID);
[$nationLevel, $secretLimit] = $db->queryFirstList('SELECT level, secretlimit FROM nation WHERE nation = %i', $me['nation']);
$con = checkLimit($me['con']);
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
if($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $secretLimit)) {
echo "수뇌부가 아니거나 사관년도가 부족합니다.";
exit();
}
if($me['level'] >= 5) { $btn = "submit"; $btn2 = "button"; }
else { $btn = "hidden"; $btn2 = "hidden"; }
$date = TimeUtil::now();
// 명령 목록
$admin = $gameStor->getValues(['year','month','turnterm']);
$lv = getNationChiefLevel($nationLevel);
$turn = [];
$generals = [];
foreach($db->query('SELECT no,name,turntime,npc,city,nation,level FROM general WHERE nation = %i AND level >= 5') as $rawGeneral){
$generals[$rawGeneral['level']] = new General($rawGeneral, null, $admin['year'], $admin['month'], false);
}
$nationTurnList = [];
foreach(
$db->queryAllLists(
'SELECT level, turn_idx, action, arg FROM nation_turn WHERE nation_id = %i ORDER BY level DESC, turn_idx ASC',
$me['nation']
) as [$level, $turn_idx, $action, $arg]
){
if(!key_exists($level, $nationTurnList)){
$nationTurnList[$level] = [];
}
$nationTurnList[$level][$turn_idx] = [$action, Json::decode($arg)];
}
$nationTurnBrief = [];
foreach($nationTurnList as $level=>$turnList){
if(!key_exists($level, $generals)){
$general = Util::array_first($generals);
}
else{
$general = $generals[$level];
}
$nationTurnBrief[$level] = getNationTurnBrief($general, $turnList);
}
?>
<!DOCTYPE html>
<html>
@@ -79,107 +21,77 @@ foreach($nationTurnList as $level=>$turnList){
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../d_shared/common.css')?>
<?=WebUtil::printCSS('css/common.css')?>
<?=WebUtil::printCSS('css/chiefCenter.css')?>
<script type="text/javascript">
function turn(type) {
if(type == 0) location.replace('turn_push_core.php');
else if(type == 1) location.replace('turn_pop_core.php');
}
var maxChiefTurn = <?=GameConst::$maxChiefTurn?>;
</script>
</head>
<body>
<table align=center width=1000 class='tb_layout bg0'>
<tr><td>사 령 부<input type=button value='갱신' onclick=location.replace('b_chiefcenter.php')><br><?=backButton()?></td></tr>
<tr><td>사 령 부<input id='refreshChiefTurn' type=button value='갱신'><br><?=backButton()?></td></tr>
</table>
<table align=center width=1000 class='tb_layout bg0'>
<tr><td colspan=10 align=center bgcolor=skyblue>수뇌부 일정</td></tr>
<tr><td colspan=10 align=center>
<?php
$year = $admin['year'];
$month = $admin['month'];
$date = substr(TimeUtil::now(), 14);
$totaldate = [];
$turntime = [];
$turndate = [];
for($i=12; $i >= $lv; $i--) {
$totaldate[$i] = $gen[$i]['turntime'];
$turntime[$i] = substr($gen[$i]['turntime'], 14);
}
//FIXME: 각 칸을 div로 놓으면 네개씩 출력하는 삽질이 필요없다.
//TODO: 새롭게 제작한 $nationTurnBrief와 $generals를 이용하여 출력. div로 변경(사실상 새로 짜라!)
for($k=0; $k < 2; $k++) {
$l4 = 12 - $k; $l3 = 10 - $k; $l2 = 8 - $k; $l1 = 6 - $k;
if ($gen[$l4]['npc'] >= 2) { $gen[$l4]['name'] = "<font color=cyan>".($gen[$l4]['name']??'')."</font>"; }
elseif($gen[$l4]['npc'] == 1) { $gen[$l4]['name'] = "<font color=skyblue>".($gen[$l4]['name']??'')."</font>"; }
if ($gen[$l3]['npc'] >= 2) { $gen[$l3]['name'] = "<font color=cyan>".($gen[$l3]['name']??'')."</font>"; }
elseif($gen[$l3]['npc'] == 1) { $gen[$l3]['name'] = "<font color=skyblue>".($gen[$l3]['name']??'')."</font>"; }
if ($gen[$l2]['npc'] >= 2) { $gen[$l2]['name'] = "<font color=cyan>".($gen[$l2]['name']??'')."</font>"; }
elseif($gen[$l2]['npc'] == 1) { $gen[$l2]['name'] = "<font color=skyblue>".($gen[$l2]['name']??'')."</font>"; }
if ($gen[$l1]['npc'] >= 2) { $gen[$l1]['name'] = "<font color=cyan>".($gen[$l1]['name']??'')."</font>"; }
elseif($gen[$l1]['npc'] == 1) { $gen[$l1]['name'] = "<font color=skyblue>".($gen[$l1]['name']??'')."</font>"; }
echo "
<tr>
<td align=center id=bg1>.</td>
<td colspan=2 align=center id=bg1><b>".getLevel($l4, $nationLevel)." : ".($gen[$l4]['name']??'')."</b></td>
<td colspan=2 align=center id=bg1><b>".getLevel($l3, $nationLevel)." : ".($gen[$l3]['name']??'')."</b></td>
<td colspan=2 align=center id=bg1><b>".getLevel($l2, $nationLevel)." : ".($gen[$l2]['name']??'')."</b></td>
<td colspan=2 align=center id=bg1><b>".getLevel($l1, $nationLevel)." : ".($gen[$l1]['name']??'')."</b></td>
<td align=center id=bg1>.</td>
<thead><tr><td colspan=10 align=center bgcolor=skyblue>수뇌부 일정</td></tr></thead>
<tbody>
<tr>
<td class='bg1 center'>.</td>
<td colspan=2 class='bg1 chiefNamePlate level12'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level10'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level8'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level6'>- :</td>
<td class='bg1 center'>.</td>
</tr>
<?php foreach([12, 10, 8, 6] as $turnIdx): ?>
<tr class='turnIdx<?=$turnIdx?>'>
<td class='bg0 center turnIdxHeader'><?=($turnIdx+1)?></td>
<td class='chiefTurnTime level12'></td>
<td class='chiefTurnText level12 bg2'>-</td>
<td class='chiefTurnTime level10'></td>
<td class='chiefTurnText level10 bg2'>-</td>
<td class='chiefTurnTime level8'></td>
<td class='chiefTurnText level8 bg2'>-</td>
<td class='chiefTurnTime level6'></td>
<td class='chiefTurnText level6 bg2'>-</td>
<td class='bg0 center turnIdxHeader'><?=($turnIdx+1)?></td>
</tr>
";
for($i=0; $i < 12; $i++) {
$turndate[$l4] = substr($totaldate[$l4]??'', 11, 5);
$turndate[$l3] = substr($totaldate[$l3]??'', 11, 5);
$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]??"-";
echo "
<tr>
<td width=20 align=center id=bg0><b>$j</b></td>
<td width=43 align=center bgcolor=black><b>$td4</b></td>
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn4</td>
<td width=43 align=center bgcolor=black><b>$td3</b></td>
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn3</td>
<td width=43 align=center bgcolor=black><b>$td2</b></td>
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn2</td>
<td width=43 align=center bgcolor=black><b>$td1</b></td>
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn1</td>
<td width=20 align=center id=bg0><b>$j</b></td>
<?php endforeach; ?>
<tr>
<td colspan="5" style='text-align:right;'>
<?=chiefTurnTable()?>
</td>
<td colspan="5" style='text-align:left;'>
<input id='turnPush' type='hidden' style=background-color:<?=GameConst::$basecolor2?>;color:white;width:58px;font-size:13px; value='미루기▼' onclick='turn(0)'>
<input id='turnPull' type='hidden' style=background-color:<?=GameConst::$basecolor2?>;color:white;width:58px;font-size:13px; value='▲당기기' onclick='turn(1)'>
<br>
<?=chiefCommandTable()?>
<input id='setCommand' type='hidden' style='background-color:<?=GameConst::$basecolor2?>;color:white;width:55px;font-size:13px;' value='실 행'>
</td>
</tr>
<tr>
<td class='bg1 center'>.</td>
<td colspan=2 class='bg1 chiefNamePlate level12'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level10'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level8'>- :</td>
<td colspan=2 class='bg1 chiefNamePlate level6'>- :</td>
<td class='bg1 center'>.</td>
</tr>
<?php foreach([11, 9, 7, 5] as $turnIdx): ?>
<tr class='turnIdx<?=$turnIdx?>'>
<td class='bg0 center turnIdxHeader'><?=($turnIdx+1)?></td>
<td class='chiefTurnTime level11'></td>
<td class='chiefTurnText level11 bg2'>-</td>
<td class='chiefTurnTime level9'></td>
<td class='chiefTurnText level9 bg2'>-</td>
<td class='chiefTurnTime level7'></td>
<td class='chiefTurnText level7 bg2'>-</td>
<td class='chiefTurnTime level5'></td>
<td class='chiefTurnText level5 bg2'>-</td>
<td class='bg0 center turnIdxHeader'><?=($turnIdx+1)?></td>
</tr>
";
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 "<form action=processing.php method=post><tr><td colspan=5 align=right>";
echo CoreTurnTable();
echo "</td><td colspan=5>
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58px;font-size:13px; value='미루기▼' onclick='turn(0)'>
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58px;font-size:13px; value='▲당기기' onclick='turn(1)'>
<br>";
CoreCommandTable();
echo "<input type={$btn} style=background-color:".GameConst::$basecolor2.";color:white;width:55px;font-size:13px; value='실 행'></td></tr></form>";
}
}
?>
<?php endforeach; ?>
</tbody>
</table>
<table align=center width=1000 class='tb_layout bg0'>
<tr><td><?=backButton()?></td></tr>