DB 계정을 입력하지 않고도 리셋이 가능한 옵션 추가

- 이미 기능이 사라진 N생성 버튼 제거
- 기존의 DB까지 포함한 초기화를 '완전 리셋'
- 제대로 동작하지 않던 폐쇄중 로그인 변경
- 리셋 프로세스에 권한을 제대로 검사하지 않는 문제 해결
This commit is contained in:
2018-03-11 03:55:54 +09:00
parent 086b579fb5
commit 14e5e14597
12 changed files with 132 additions and 54 deletions
+34 -16
View File
@@ -3,22 +3,38 @@ include "lib.php";
include "schema.sql";
include "func.php";
if(file_exists("d_setting/set.php")) error("이미 set.php가 생성되어 있습니다.<br><br>재설치하려면 해당 파일을 지우세요");
$justReset = isset($_POST['just_reset'])?intval($_POST['just_reset']):0;
// 호스트네임, 아이디, DB네임, 비밀번호의 공백여부 검사
if(isBlank($hostname)) Error("HostName을 입력하세요","");
if(isBlank($user_id)) Error("User ID 를 입력하세요","");
if(isBlank($dbname)) Error("DB NAME을 입력하세요","");
// DB에 커넥트 하고 DB NAME으로 select DB
$connect = MYDB_connect($hostname,$user_id,$password) or Error("MySQL-DB Connect<br>Error!!!","");
if(MYDB_error($connect)) Error(__LINE__.MYDB_error($connect),"");
MYDB_select_db($dbname, $connect) or Error("MySQL-DB Select<br>Error!!!","");
if(file_exists("d_setting/set.php")){
$connect = dbConn();
requireUserLevel($connect, 5);
if(!$justReset){
error("이미 set.php가 생성되어 있습니다.<br><br>재설치하려면 해당 파일을 지우세요");
}
}
else{
$justReset = 0;
}
if(!$justReset){
// 호스트네임, 아이디, DB네임, 비밀번호의 공백여부 검사
if(isBlank($hostname)) Error("HostName을 입력하세요","");
if(isBlank($user_id)) Error("User ID 를 입력하세요","");
if(isBlank($dbname)) Error("DB NAME을 입력하세요","");
// DB에 커넥트 하고 DB NAME으로 select DB
$connect = MYDB_connect($hostname,$user_id,$password) or Error("MySQL-DB Connect<br>Error!!!","");
if(MYDB_error($connect)) Error(__LINE__.MYDB_error($connect),"");
MYDB_select_db($dbname, $connect) or Error("MySQL-DB Select<br>Error!!!","");
}
delInDir("logs");
delInDir("data/session");
@unlink("data/connected.php");
// 관리자 테이블 삭제
if(isTable($connect, "game", $dbname)) @MYDB_query("drop table game", $connect) or Error("drop ".MYDB_error($connect),"");
// 락 테이블 삭제
@@ -77,13 +93,15 @@ if(!isTable($connect, "statistic",$dbname)) @MYDB_query($statistic_schema, $conn
// 연감 테이블 생성
if(!isTable($connect, "history",$dbname)) @MYDB_query($history_schema, $connect) or Error("create history ".MYDB_error($connect),"");
// 파일로 DB 정보 저장
$file=@fopen("d_setting/set.php","w") or Error("set.php 파일 생성 실패<br><br>디렉토리의 퍼미션을 707로 주십시요","");
@fwrite($file,"<?\n$hostname\n$user_id\n$password\n$dbname\n?>\n") or Error("set.php 파일 생성 실패<br><br>디렉토리의 퍼미션을 707로 주십시요","");
@fclose($file);
@mkdir("data",0707);
@chmod("data",0707);
@chmod("d_setting/set.php",0707);
if(!$justReset){
// 파일로 DB 정보 저장
$file=@fopen("d_setting/set.php","w") or Error("set.php 파일 생성 실패<br><br>디렉토리의 퍼미션을 707로 주십시요","");
@fwrite($file,"<?\n$hostname\n$user_id\n$password\n$dbname\n?>\n") or Error("set.php 파일 생성 실패<br><br>디렉토리의 퍼미션을 707로 주십시요","");
@fclose($file);
@mkdir("data",0707);
@chmod("data",0707);
@chmod("d_setting/set.php",0707);
}
$temp=MYDB_fetch_array(MYDB_query("select count(*) from general where level = '1'", $connect));