루트DB를 관리하는 방식을 통째로 변경

- DB 불러오는 방식을 기존의 set.php에서 conf.php의 getRootDB()를 이용하도록 변경
- ADODB 에 기반한 _DB 클래스 폐기
- DBS.php 폐기
- _Setting 클래스 용도 변경
- 서버 목록 정의 방식을 하나로 모음
- 로그인시 세션에 사용자 등급을 추가
- "참여"(donation) 관련 코드 전면 제거
- 서버 리셋시 부운영자 비밀번호 문제 수정
- 서버 오픈,닫힘 여부를 새 서버 목록 정의 방식에 따르도록 수정
- DBS.php가 폐기 되었으므로 서버 오픈시 기본 정보를 json으로 받아오도록 하기 위하여 기본 준비
-  기존에 남아있던 세부 서버 로그인 처리 파일을 제거(enterPost.php)
- DBS.php 삭제로 전콘 변경시에도 각 서버로 json 호출을 하도록 하는 방식으로 준비
- 전콘을 수동으로 서버에 올린뒤 처리할 수 있도록 하던 legacy 코드 제거
- general 테이블에서 userlevel 컬럼을 삭제하고, 세션에 기록된 userGrade를 이용하도록 변경
- 벌점 제한을 모든 유저 공통으로 하도록 수정
- 세부 서버 리셋을 json ajax로 처리하도록 준비
This commit is contained in:
2018-03-07 00:59:31 +09:00
parent e8a9f73611
commit 0c9be5c53f
115 changed files with 1169 additions and 2217 deletions
+14 -14
View File
@@ -21,19 +21,20 @@ $notice = util::array_get($_POST['notice'], '');
$server = util::array_get($_POST['server'], '');
$select = util::array_get($_POST['select'], '');
$db = getRootDB();
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$member = $db->queryFirstRow('SELECT `GRADE` FROM `MEMBER` WHERE `NO` = %i', $SESSION->NoMember());
function doServerModeSet($server, $select, &$response){
global $_serverDirs;
$serverDir = $_serverDirs[$server];
$serverPath = ROOT.W.$serverDir;
global $serverList;
$settingObj = $serverList[$server][2];
$serverDir = $settingObj->getShortName();
$serverPath = $settingObj->getBasePath();
$realServerPath = realpath(dirname(__FILE__)).W.$serverPath;
if($select == 0) { //폐쇄
$templates = new League\Plates\Engine('templates');
//TODO: .htaccess가 서버 오픈에도 사용될 수 있으니 별도의 방법이 필요함
$allow_ip = util::get_client_ip(false);
@@ -48,16 +49,16 @@ function doServerModeSet($server, $select, &$response){
$htaccess = $templates->render('block_htaccess',
['allow_ip' => $allow_ip, 'xforward_allow_ip' => $xforward_allow_ip]);
file_put_contents($realServerPath.'/.htaccess', $htaccess);
file_put_contents($serverPath.'/.htaccess', $htaccess);
} elseif($select == 1) {//리셋
if(file_exists($realServerPath.W.D_SETTING.W.SET.PHP)){
@unlink($realServerPath.W.D_SETTING.W.SET.PHP);
if(file_exists($serverPath.W.D_SETTING.W.'conf.php')){
@unlink($serverPath.W.D_SETTING.W.'conf.php');
}
$response['installURL'] = $serverPath.W."install.php";
$response['installURL'] = $serverDir.W."install.php";
} elseif($select == 2) {//오픈
if(file_exists($realServerPath.'.htaccess')){
@unlink($realServerPath.'.htaccess');
if(file_exists($serverPath.'.htaccess')){
@unlink($serverPath.'.htaccess');
}
}
return true;
@@ -72,7 +73,7 @@ function doAdminPost($member, $action, $notice, $server, $select){
}
if($action == 0) {
$DB->Update('SYSTEM', "NOTICE='{$notice}'", 'NO=1');
$db->update('SYSTEM', ['NOTICE'=>$notice], 'NO=1');
$response['result'] = 'SUCCESS';
return $response;
}
@@ -93,5 +94,4 @@ function doAdminPost($member, $action, $notice, $server, $select){
$response = doAdminPost($member, $action, $notice, $server, $select);
sleep(1);
echo json_encode($response);