js2ts: entrance, webpack(entrance/dist_js)

This commit is contained in:
2021-08-26 01:25:58 +09:00
parent 3961ff5185
commit b02bf2e596
21 changed files with 474 additions and 446 deletions
+3 -3
View File
@@ -17,8 +17,8 @@ require(__DIR__.'/../vendor/autoload.php');
<?=WebUtil::printCSS('../css/admin_member.css')?>
<?=WebUtil::printJS('../d_shared/common_path.js') ?>
<?=WebUtil::printJS('../js/vendors.js') ?>
<?=WebUtil::printJS('../js/common.js') ?>
<?=WebUtil::printJS('../dist_js/vendors.js') ?>
<?=WebUtil::printJS('../dist_js/common.js') ?>
<?=WebUtil::printJS('../js/admin_member.js')?>
</head>
<body>
@@ -27,7 +27,7 @@ require(__DIR__.'/../vendor/autoload.php');
<div class="card-header">
<a href="entrance.php"><button type="button" class="btn btn-primary" style="float:right;">돌아가기</button></a>
<h3>회원 관리</h3>
</div>
<div class="card-body">
가입 허용&nbsp;
+6 -9
View File
@@ -28,18 +28,15 @@ $acl = $session->acl;
<?=WebUtil::printCSS('../d_shared/common.css')?>
<?=WebUtil::printCSS('../css/config.css')?>
<?=WebUtil::printCSS('../css/entrance.css')?>
<?=WebUtil::printCSS('../css/admin_server.css')?>
<!-- 액션 -->
<script>
var isAdmin = <?=($userGrade >= 5 || $acl)?'true':'false'?>;
</script>
<?=WebUtil::printJS('../d_shared/common_path.js') ?>
<?=WebUtil::printJS('../js/vendors.js') ?>
<?=WebUtil::printJS('../js/common.js') ?>
<?=WebUtil::printJS('../js/entrance.js')?>
<?php if ($userGrade >= 5 || $acl): ?>
<!-- 운영자 -->
<?=WebUtil::printCSS('../css/admin_server.css')?>
<?=WebUtil::printJS('../js/admin_server.js')?>
<?php endif; ?>
<?=WebUtil::printJS('../dist_js/vendors.js') ?>
<?=WebUtil::printJS('../dist_js/entrance.js')?>
</head>
<body>
+86 -53
View File
@@ -1,7 +1,8 @@
<?php
namespace sammo;
require(__DIR__.'/../vendor/autoload.php');
require(__DIR__ . '/../vendor/autoload.php');
WebUtil::requireAJAX();
@@ -23,93 +24,125 @@ $userGrade = $session->userGrade;
$acl = $session->acl;
$session->setReadOnly();
if($userGrade < 5 && !$acl) {
if ($userGrade < 5 && !$acl) {
Json::die([
'result'=>'FAIL',
'msg'=>'운영자 권한이 없습니다.'
'result' => false,
'reason' => '운영자 권한이 없습니다.'
]);
}
function doServerModeSet($server, $action, &$response, $session){
function doServerModeSet($server, $action, Session $session): array
{
$serverList = ServConfig::getServerList();
$settingObj = $serverList[$server];
$serverAcl = $session->acl[$server]??[];
$serverAcl = $session->acl[$server] ?? [];
$userGrade = $session->userGrade;
$serverDir = $settingObj->getShortName();
$serverPath = $settingObj->getBasePath();
$realServerPath = realpath(dirname(__FILE__)).'/'.$serverPath;
$realServerPath = realpath(dirname(__FILE__)) . '/' . $serverPath;
if($action == 'close') { //폐쇄
if ($action == 'close') { //폐쇄
$doClose = false;
if($userGrade >= 5){
if ($userGrade >= 5) {
$doClose = true;
}
else if(in_array('openClose', $serverAcl)){
} else if (in_array('openClose', $serverAcl)) {
$doClose = true;
}
if(!$doClose && in_array('reset', $serverAcl) && file_exists($serverPath.'/d_setting/DB.php')){
require($serverPath.'/lib.php');
if (!$doClose && in_array('reset', $serverAcl) && file_exists($serverPath . '/d_setting/DB.php')) {
require($serverPath . '/lib.php');
$localGameStorage = KVStorage::getStorage(DB::db(), 'game_env');
//천통 이후, 오픈 직후는 닫을 수 있음
$localGameStorage->cacheValues(['isunited', 'startyear', 'year']);
if($localGameStorage->isunited){
if ($localGameStorage->isunited) {
$doClose = true;
}
else if($localGameStorage->year < $localGameStorage->startyear + 2){
} else if ($localGameStorage->year < $localGameStorage->startyear + 2) {
$doClose = true;
} else{
return [
'result' => false,
'reason' => '서버 시작 직후, 또는 천하통일 이후에만 닫을 수 있습니다.'
];
}
}
if(!$doClose){
if(in_array('reset', $serverAcl)){
$response['msg'] = '서버 시작 직후, 또는 천하통일 이후에만 닫을 수 있습니다.';
}
else{
$response['msg'] = '서버 닫기 권한이 부족합니다.';
}
return false;
if (!$doClose) {
return [
'result' => false,
'reason' => '서버 닫기 권한이 부족합니다.'
];
}
return $settingObj->closeServer();
} elseif($action == 'reset' && $userGrade >= 6) {//리셋
//FIXME: reset, reset_full 구현
if(file_exists($serverPath.'/d_setting/DB.php')){
@unlink($serverPath.'/d_setting/DB.php');
if (!$settingObj->closeServer()) {
return [
'result' => false,
'reason' => '닫기 실패'
];
}
$response['installURL'] = $serverDir."/install.php";
} elseif($action == 'open' && ($userGrade >= 5 || in_array('openClose', $serverAcl))) {//오픈
return $settingObj->openServer();
} else{
$response['msg'] = '올바르지 않은 요청입니다';
return false;
return [
'result' => true,
'reason' => 'success'
];
}
return true;
if ($action == 'reset' && $userGrade >= 6) { //리셋
//FIXME: reset, reset_full 구현
if (file_exists($serverPath . '/d_setting/DB.php')) {
@unlink($serverPath . '/d_setting/DB.php');
}
return [
'result' => true,
'reason' => 'success',
'installURL' => $serverDir . "/install.php"
];
}
if ($action == 'open') { //오픈
if($userGrade < 5 && !in_array('openClose', $serverAcl)){
return [
'result' => false,
'reason' => '서버 열기 권한이 부족합니다.'
];
}
if (!$settingObj->openServer()) {
return [
'result' => false,
'reason' => '오픈 실패'
];
}
return [
'result' => true,
'reason' => 'success'
];
}
return [
'result' => false,
'reason' => '올바르지 않은 요청입니다'
];
}
function doAdminPost($action, $notice, $server, $session){
$response = ['result' => 'FAIL'];
function doAdminPost($action, $notice, $server, Session $session): array
{
$response = ['result' => false];
$globalAcl = $session->acl['global']??[];
$globalAcl = $session->acl['global'] ?? [];
$userGrade = $session->userGrade;
if($action == 'notice' && ($userGrade >= 5 || in_array('notice', $globalAcl))) {
RootDB::db()->update('system', ['NOTICE'=>$notice], true);
$response['result'] = 'SUCCESS';
return $response;
}
if(doServerModeSet($server, $action, $response, $session)){
$response['result'] = 'SUCCESS';
return $response;
if ($action == 'notice' && ($userGrade >= 5 || in_array('notice', $globalAcl))) {
RootDB::db()->update('system', ['NOTICE' => $notice], true);
return [
'result' => true,
'reason' => 'success',
];
}
return $response;
return doServerModeSet($server, $action, $session);
}
$response = doAdminPost($action, $notice, $server, $session);
+5 -5
View File
@@ -19,8 +19,8 @@ require(__DIR__.'/../vendor/autoload.php');
<!-- 액션 -->
<?=WebUtil::printJS('../d_shared/common_path.js') ?>
<?=WebUtil::printJS('../js/vendors.js') ?>
<?=WebUtil::printJS('../js/user_info.js')?>
<?=WebUtil::printJS('../dist_js/vendors.js') ?>
<?=WebUtil::printJS('../dist_js/user_info.js')?>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
@@ -141,8 +141,8 @@ require(__DIR__.'/../vendor/autoload.php');
<input type="file" id="image_upload" name="image_upload" accept=".jpg,.jpeg,.png,.gif"><br>
<input class="with_skin" id="btn_image_submit" type="submit" value="아이콘 변경"> <button id="btn_remove_icon" class="with_skin">아이콘 제거</button>
</form>
</td>
</tr>
</tbody>
@@ -170,7 +170,7 @@ require(__DIR__.'/../vendor/autoload.php');
</button>
</div>
<div class="modal-body">
<form id="chooseServerForm">
</form>