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