서버 커스터마이징 가능
This commit is contained in:
@@ -204,7 +204,15 @@ $result = Util::generateFileUsingSimpleTemplate(
|
||||
'sharedIconPath' => $sharedIconPath,
|
||||
'gameImagePath' => $gameImagePath,
|
||||
'imageRequestPath' => $imageRequestPath,
|
||||
'imageRequestKey' => $imageRequestKey
|
||||
'imageRequestKey' => $imageRequestKey,
|
||||
'serverList' => [
|
||||
['che', '체', 'white'],
|
||||
['kwe', '퀘', 'yellow'],
|
||||
['pwe', '풰', 'orange'],
|
||||
['twe', '퉤', 'magenta'],
|
||||
['nya', '냐', '#e67e22'],
|
||||
['pya', '퍄', '#9b59b6']
|
||||
]
|
||||
],
|
||||
true
|
||||
);
|
||||
|
||||
@@ -13,6 +13,7 @@ class ServConfig
|
||||
public static $gameImagePath = "_tK_gameImagePath_";
|
||||
public static $imageRequestPath = "_tK_imageRequestPath_";
|
||||
public static $imageRequestKey = '_tK_imageRequestKey_';
|
||||
private static $serverList = null;
|
||||
|
||||
public static function getSharedIconPath(string $filepath = ''): string
|
||||
{
|
||||
@@ -42,6 +43,24 @@ class ServConfig
|
||||
return static::$imageRequestPath . "?req={$req_hash}&time={$now}";
|
||||
}
|
||||
|
||||
/**
|
||||
* 서버 설정 반환
|
||||
*
|
||||
* @return \sammo\Setting[]
|
||||
*/
|
||||
public static function getServerList(): array{
|
||||
$servKeyList = [/*_tK_serverList_*/];
|
||||
$servKeyList[] = ['hwe', '훼', 'red'];
|
||||
|
||||
if (self::$serverList === null) {
|
||||
self::$serverList = [];
|
||||
foreach($servKeyList as [$servKey, $servNick, $servColor]){
|
||||
self::$serverList[] = new Setting(ROOT.'/'.$servKey, $servNick, $servColor);
|
||||
}
|
||||
}
|
||||
return self::$serverList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 서버 주소 반환. 서버의 경로가 하부 디렉토리인 경우에 하부 디렉토리까지 포함
|
||||
|
||||
+4
-4
@@ -52,7 +52,7 @@ else if(
|
||||
$now->getTimestamp() - $lastTurn->getTimestamp() > $reservedDate->getTimestamp() - $now->getTimestamp()
|
||||
){
|
||||
//정지 상태 & 중간 넘음
|
||||
AppConf::getList()[DB::prefix()]->closeServer();
|
||||
ServConfig::getServerList()[DB::prefix()]->closeServer();
|
||||
$status = 'closed';
|
||||
}
|
||||
else if(
|
||||
@@ -60,12 +60,12 @@ else if(
|
||||
$now->getTimestamp() - $lastTurn->getTimestamp() > ($reservedDate->getTimestamp() - $now->getTimestamp()) * 2
|
||||
){
|
||||
//천통 & 비정지 상태 & 2/3 넘음
|
||||
AppConf::getList()[DB::prefix()]->closeServer();
|
||||
ServConfig::getServerList()[DB::prefix()]->closeServer();
|
||||
$status = 'closed';
|
||||
}
|
||||
else if($reservedDate->getTimestamp() - $now->getTimestamp() <= 60*10){
|
||||
//어쨌든 간에 10분 남았다면.
|
||||
AppConf::getList()[DB::prefix()]->closeServer();
|
||||
ServConfig::getServerList()[DB::prefix()]->closeServer();
|
||||
$status = 'closed';
|
||||
}
|
||||
|
||||
@@ -96,6 +96,6 @@ $result = ResetHelper::buildScenario(
|
||||
$result['affected']=1;
|
||||
|
||||
$prefix = DB::prefix();
|
||||
AppConf::getList()[$prefix]->openServer();
|
||||
ServConfig::getServerList()[$prefix]->openServer();
|
||||
|
||||
Json::die($result);
|
||||
+1
-1
@@ -187,7 +187,7 @@ if($reserve_open){
|
||||
'options'=>Json::encode($reserveInfo),
|
||||
'date'=>$open_date
|
||||
]);
|
||||
AppConf::getList()[DB::prefix()]->closeServer();
|
||||
ServConfig::getServerList()[DB::prefix()]->closeServer();
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
'reason'=>'예약'
|
||||
|
||||
@@ -95,7 +95,7 @@ if($result !== true){
|
||||
|
||||
ResetHelper::clearDB();
|
||||
|
||||
AppConf::getList()[$prefix]->closeServer();
|
||||
ServConfig::getServerList()[$prefix]->closeServer();
|
||||
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
|
||||
@@ -71,7 +71,7 @@ class ResetHelper{
|
||||
}
|
||||
|
||||
$prefix = DB::prefix();
|
||||
AppConf::getList()[$prefix]->closeServer();
|
||||
ServConfig::getServerList()[$prefix]->closeServer();
|
||||
|
||||
$db = DB::db();
|
||||
$mysqli_obj = $db->get();
|
||||
@@ -95,7 +95,7 @@ class ResetHelper{
|
||||
$servRoot.'/d_setting/UniqueConst.orig.php',
|
||||
$servRoot.'/d_setting/UniqueConst.php',[
|
||||
'serverID'=>$serverID,
|
||||
'serverName'=>AppConf::getList()[$prefix]->getKorName(),
|
||||
'serverName'=>ServConfig::getServerList()[$prefix]->getKorName(),
|
||||
'seasonIdx'=>$seasonIdx,
|
||||
], true
|
||||
);
|
||||
@@ -348,7 +348,7 @@ class ResetHelper{
|
||||
LogHistory(1);
|
||||
|
||||
$prefix = DB::prefix();
|
||||
AppConf::getList()[$prefix]->closeServer();
|
||||
ServConfig::getServerList()[$prefix]->closeServer();
|
||||
opcache_reset();
|
||||
|
||||
return [
|
||||
|
||||
@@ -47,7 +47,7 @@ if($member['grade'] == 6) {
|
||||
$acl = [];
|
||||
//TODO: Acl을 관리하기 위한 별도의 객체 필요
|
||||
foreach(Json::decode($member['acl']??'{}') as $serverName=>$aclList){
|
||||
$serverKorName = AppConf::getList()[$serverName]->getKorName();
|
||||
$serverKorName = ServConfig::getServerList()[$serverName]->getKorName();
|
||||
$aclTextList = array_map(function($aclName){
|
||||
$aclText = "알수없음[{$aclName}]";
|
||||
switch($aclName){
|
||||
|
||||
@@ -41,7 +41,7 @@ foreach($db->query('SELECT member.*, max(member_log.date) as loginDate from memb
|
||||
}
|
||||
|
||||
$serverList = [];
|
||||
foreach(AppConf::getList() as $serverName => $setting){
|
||||
foreach(ServConfig::getServerList() as $serverName => $setting){
|
||||
if($setting->isRunning()){
|
||||
$serverList[] = $serverName;
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ if(!is_uploaded_file($image['tmp_name'])) {
|
||||
|
||||
$servers = [];
|
||||
|
||||
foreach(AppConf::getList() as $key=>$setting){
|
||||
foreach(ServConfig::getServerList() as $key=>$setting){
|
||||
if($setting->isRunning()){
|
||||
$servers[] = [$key, $setting->getKorName()];
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ if($dt == $rf) {
|
||||
|
||||
$servers = [];
|
||||
|
||||
foreach(AppConf::getList() as $key=>$setting){
|
||||
foreach(ServConfig::getServerList() as $key=>$setting){
|
||||
|
||||
if($setting->isRunning()){
|
||||
$servers[] = [$key, $setting->getKorName()];
|
||||
|
||||
@@ -32,7 +32,7 @@ if($userGrade < 5 && !$acl) {
|
||||
|
||||
function doServerModeSet($server, $action, &$response, $session){
|
||||
|
||||
$serverList = AppConf::getList();
|
||||
$serverList = ServConfig::getServerList();
|
||||
$settingObj = $serverList[$server];
|
||||
$serverAcl = $session->acl[$server]??[];
|
||||
$userGrade = $session->userGrade;
|
||||
|
||||
@@ -20,9 +20,9 @@ $server = [];
|
||||
$storage = new \sammo\KVStorage(RootDB::db(), 'git_path');
|
||||
$serverGitPath = $storage->getAll();
|
||||
|
||||
$rootServer = Util::array_last(AppConf::getList())->getShortName();
|
||||
$rootServer = Util::array_last(ServConfig::getServerList())->getShortName();
|
||||
|
||||
foreach (AppConf::getList() as $setting) {
|
||||
foreach (ServConfig::getServerList() as $setting) {
|
||||
$serverColor = $setting->getColor();
|
||||
$serverKorName = $setting->getKorName();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ require(__DIR__.'/../vendor/autoload.php');
|
||||
// 외부 파라미터
|
||||
$response['server'] = [];
|
||||
|
||||
foreach(AppConf::getList() as $setting){
|
||||
foreach(ServConfig::getServerList() as $setting){
|
||||
|
||||
$serverObj = [
|
||||
'color'=>$setting->getColor(),
|
||||
|
||||
+3
-3
@@ -71,7 +71,7 @@ if (!$allowFullUpdate || !$target) {
|
||||
$target = $request['target'];
|
||||
}
|
||||
|
||||
$baseServerName = Util::array_last_key(AppConf::getList());
|
||||
$baseServerName = Util::array_last_key(ServConfig::getServerList());
|
||||
|
||||
if (!$target && $server != $baseServerName) {
|
||||
Json::die([
|
||||
@@ -83,7 +83,7 @@ if (!$target && $server != $baseServerName) {
|
||||
|
||||
$targetDir = $target . ':' . $baseServerName;
|
||||
|
||||
if (!key_exists($server, AppConf::getList())) {
|
||||
if (!key_exists($server, ServConfig::getServerList())) {
|
||||
Json::die([
|
||||
'result' => false,
|
||||
'reason' => '불가능한 서버 이름입니다.'
|
||||
@@ -230,7 +230,7 @@ $result = Util::generateFileUsingSimpleTemplate(
|
||||
);
|
||||
|
||||
$storage->$server = [$target, $version];
|
||||
//AppConf::getList()[$server]->closeServer();
|
||||
//ServConfig::getServerList()[$server]->closeServer();
|
||||
opcache_reset();
|
||||
|
||||
Json::die([
|
||||
|
||||
+2
-12
@@ -11,22 +11,12 @@ class AppConf
|
||||
/**
|
||||
* 서버 설정 반환
|
||||
*
|
||||
* @deprecated
|
||||
* @return \sammo\Setting[]
|
||||
*/
|
||||
public static function getList()
|
||||
{
|
||||
if (self::$serverList === null) {
|
||||
self::$serverList = [
|
||||
'che'=>new Setting(ROOT.'/che', '체', 'white'),
|
||||
'kwe'=>new Setting(ROOT.'/kwe', '퀘', 'yellow'),
|
||||
'pwe'=>new Setting(ROOT.'/pwe', '풰', 'orange'),
|
||||
'twe'=>new Setting(ROOT.'/twe', '퉤', 'magenta'),
|
||||
'nya'=>new Setting(ROOT.'/nya', '냐', '#e67e22'),
|
||||
'pya'=>new Setting(ROOT.'/pya', '퍄', '#9b59b6'),
|
||||
'hwe'=>new Setting(ROOT.'/hwe', '훼', 'red')
|
||||
];
|
||||
}
|
||||
return self::$serverList;
|
||||
return ServConfig::getServerList();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-1
@@ -150,7 +150,13 @@ class Util extends \utilphp\util
|
||||
|
||||
$text = file_get_contents($srcFilePath);
|
||||
foreach ($params as $key => $value) {
|
||||
$text = str_replace("_tK_{$key}_", $value, $text);
|
||||
if(is_array($value)){
|
||||
$text = str_replace("[/*_tK_{$key}_*/]", var_export($value, true), $text);
|
||||
}
|
||||
else{
|
||||
$text = str_replace("_tK_{$key}_", $value, $text);
|
||||
}
|
||||
|
||||
}
|
||||
file_put_contents($destFilePath, $text);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user