This commit is contained in:
2018-01-09 19:54:49 +09:00
commit 7b3201548a
518 changed files with 174188 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
function Entrance_Import() {
ImportAction(HOME+I+ENTRANCE+W+MANAGE+W+ACTION);
EntranceManage_Import();
}
function Entrance_Init() {
EntranceManage_Init();
$("#Entrance_000101").click(Entrance_Manage);
$("#Entrance_000102").click(Entrance_Logout);
}
function Entrance_Update() {
Entrance_UpdateServer();
}
function Entrance_UpdateServer() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+SERVERLIST+POST, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Entrance_ServerList(response.serverCount, response.servers);
Entrance_ServerListPosition();
Popup_WaitHide();
} else {
Popup_WaitShow("서버목록 로드 실패!");
}
}
)
});
}
function Entrance_ServerList(serverCount, servers) {
$("#Entrance_000002").html(servers);
$("#Entrance_000002").height(serverCount*64);
}
function Entrance_ServerListPosition() {
var heightTitle = $("#Entrance_000000").height();
var heightSub = $("#Entrance_000001").height();
var heightList = $("#Entrance_000002").height();
var heightComment = $("#Entrance_000003").height();
var top = heightTitle+heightSub+heightList+5;
$("#Entrance_000003").css("top", top+"px");
top += heightComment;
$("#Entrance_0000").height(top+2);
top = 20 + top;
$("#Entrance_0001").css("top", top+"px");
top = 20 + top + $("#Entrance_0001").height();
$("#Entrance_0002").css("top", top+"px");
top = 20 + top + $("#Entrance_0002").height();
$("#Entrance_0003").css("top", top+"px");
}
function Entrance_Manage() {
$("#Entrance_00").hide();
$("#EntranceManage_00").show();
EntranceManage_Update();
}
function Entrance_Logout() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+LOGOUT+POST, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitHide();
ReplaceFrame(HOME);
} else {
Popup_WaitShow("로그아웃 실패!");
}
}
)
});
}
function Entrance_Enter(serverDir) {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+"enter"+POST, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
var form = $("<form></form>");
$(form).attr("action", HOME+serverDir);
$(form).attr("method", "post");
var id = $("<input type='hidden' name='id'>");
$(id).attr("value", response.id);
var pw = $("<input type='hidden' name='pw'>");
$(pw).attr("value", response.pw);
var conmsg = $("<input type='hidden' name='conmsg'>");
$(conmsg).attr("value", response.conmsg);
$(form).append(id).append(pw).append(conmsg);
$("body").append(form);
$(form).submit();
} else {
Popup_WaitShow("입장 실패!");
}
}
)
});
}
+69
View File
@@ -0,0 +1,69 @@
<?
require_once('_common.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('NOTICE', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
$rs = $DB->Select('ID, GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
?>
<? include(MANAGE.W.FRAME); ?>
<?
if($member['GRADE'] >= 6) {
include(DONATION.W.FRAME);
include(MEMBER.W.FRAME);
}
?>
<div id="Entrance_00">
<div id="Entrance_0007"><font color=orange size=6><?=$system['NOTICE'];?></font></div>
<div id="Entrance_0004">심의</div>
<? $banner_id = $member['ID']; ?>
<div id="Entrance_0005">
<? include(ROOT.W.'i_banner/banner.php'); ?>
</div>
<div id="Entrance_0006">
<? include(ROOT.W.'i_banner/banner.php'); ?>
</div>
<div id="Entrance_0000" class="bg0">
<div id="Entrance_000000" class="bg2">서 버 선 택</div>
<div id="Entrance_000001">
<div id="Entrance_00000000" class="bg1">서 버</div>
<div id="Entrance_00000001" class="bg1">정 보</div>
<div id="Entrance_00000002" class="bg1">캐 릭 터</div>
<div id="Entrance_00000003" class="bg1">선 택</div>
</div>
<div id="Entrance_000002">
</div>
<div id="Entrance_000003">
<pre><font class="Entrance_Alert">★ 1명이 1개 넘는 계정을 접속하거나 대턴(대신 턴 입력)행위는 당연히 불법입니다.</font>
<font class="Entrance_Alert">★ 접속장소를 못적고 로그인 한 경우, 바로 다시 잘 적고 로그인 하시면 문제없습니다.</font>
계정은 한번 등록으로 계속 사용합니다. 각 서버 리셋시 캐릭터만 새로 생성하면 됩니다.
<font class="Entrance_Che">체섭</font> : 메인서버입니다. 천하통일에 도전하여 왕조일람과 명예의전당에 올라봅시다! (주로 1턴=60분)
<font class="Entrance_Kwe">퀘섭</font> : 역사의 한 순간에 뛰어들어, 실제 장수가 되어 가상의 역사를 만들어 봅시다! (주로 1턴=30분)
<font class="Entrance_Pwe">풰섭</font> : 역사의 한 순간에 뛰어들어, 실제 장수들과 어울려 사실적 역사를 체험해 봅시다! (주로 1턴=20분)
<font class="Entrance_Twe">퉤섭</font> : 주로 패치사항 미리보기 테스트 서버입니다. 600여명의 NPC들과 경쟁해 보세요! (주로 1턴=10분)
<font class="Entrance_Hwe">훼섭</font> : 1일천하 서버. 또는 운영자 테스트용 서버입니다. (주로 1턴=1분)</pre>
</div>
</div>
<div id="Entrance_0001" class="bg0">
<div id="Entrance_000100" class="bg2">계 정 관 리</div>
<input id="Entrance_000101" type="button" value="비밀번호 & 전콘 & 탈퇴">
<input id="Entrance_000102" type="button" value="로 그 아 웃">
</div>
<?
if($member['GRADE'] >= 6) {
include(ADMIN.INC);
}
?>
</div>
+181
View File
@@ -0,0 +1,181 @@
@charset "utf-8";
@import url("manage/Style.css");
#Entrance_00 {
width: 800px;
position: absolute; top: 50px; left: 50%;
margin-left: -400px;
border: none;
}
#Entrance_0004 {
width: 52px; height: 52px;
position: absolute; top: 0px; left: -62px;
border: 1px solid white;
}
#Entrance_0005 {
width: 160px; height: 600px;
position: absolute; top: 62px; left: -170px;
}
#Entrance_0006 {
width: 160px; height: 600px;
position: absolute; top: 62px; left: 810px;
}
#Entrance_0007 {
width: 800px; height: 50px;
position: absolute; top: -50px; left: 50%;
margin-left: -400px;
border: none;
}
#Entrance_0000 {
width: 800px; height: 134px;
position: absolute; top: 0px; left: 0px;
}
#Entrance_000000 {
width: 798px; height: 50px;
position: absolute; top: 0px; left: 0px;
font-size: 30px; font-weight: bold;
}
#Entrance_000001 {
width: 798px; height: 20px;
position: absolute; top: 52px; left: 0px;
border: none;
}
#Entrance_00000000 {
width: 98px; height: 20px;
position: absolute; top: 0px; left: 0px;
}
#Entrance_00000001 {
width: 398px; height: 20px;
position: absolute; top: 0px; left: 100px;
}
#Entrance_00000002 {
width: 178px; height: 20px;
position: absolute; top: 0px; left: 500px;
}
#Entrance_00000003 {
width: 118px; height: 20px;
position: absolute; top: 0px; left: 680px;
}
#Entrance_000002 {
width: 798px; height: 64px;
position: absolute; top: 74px; left: 0px;
border: none;
}
.Entrance_ServerList {
width: 800px; height: 64px;
border: none;
float: left;
}
.Entrance_ServerListServer {
width: 98px; height: 64px;
float: left;
}
.Entrance_ServerListDown {
width: 698px; height: 64px;
float: left;
}
.Entrance_ServerListInfo {
width: 398px; height: 64px;
float: left;
}
.Entrance_ServerListBlock {
width: 298px; height: 64px;
float: left;
line-height: 64px;
}
.Entrance_ServerListNoRegister {
width: 178px; height: 64px;
float: left;
line-height: 64px;
}
.Entrance_ServerListCharacter {
width: 64px; height: 64px;
float: left;
}
.Entrance_ServerListName {
width: 112px; height: 64px;
float: left;
line-height: 64px;
}
.Entrance_ServerListSelect {
width: 120px; height: 32px;
float: left;
}
.Entrance_ServerListLogin {
width: 120px; height: 64px;
float: left;
}
#Entrance_000003 {
width: 798px; height: 155px;
position: absolute; top: 138px; left: 0px;
text-align: left;
}
.Entrance_Alert {
color: red; font-size: 15px; font-weight: bold;
}
.Entrance_Che {
color: white; font-size: 15px; font-weight: bold;
}
.Entrance_Kwe {
color: yellow; font-size: 15px; font-weight: bold;
}
.Entrance_Pwe {
color: orange; font-size: 15px; font-weight: bold;
}
.Entrance_Twe {
color: magenta; font-size: 15px; font-weight: bold;
}
.Entrance_Hwe {
color: red; font-size: 15px; font-weight: bold;
}
#Entrance_0001 {
width: 800px; height: 130px;
position: absolute; top: 154px; left: 0px;
}
#Entrance_000100 {
width: 798px; height: 50px;
position: absolute; top: 0px; left: 0px;
font-size: 30px; font-weight: bold;
}
#Entrance_000101 {
width: 200px; height: 50px;
position: absolute; top: 65px; left: 150px;
}
#Entrance_000102 {
width: 200px; height: 50px;
position: absolute; top: 65px; left: 450px;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+88
View File
@@ -0,0 +1,88 @@
function Entrance_AdminImport() {
}
function Entrance_AdminInit() {
$("#Entrance_000201").click(Entrance_Donation);
$("#Entrance_000202").click(Entrance_Member);
$("#Entrance_000204").click(Entrance_AdminChangeNotice);
}
function Entrance_AdminUpdate() {
}
function Entrance_Donation() {
$("#Entrance_00").hide();
$("#EntranceDonation_00").show();
EntranceDonation_Update();
}
function Entrance_Member() {
$("#Entrance_00").hide();
$("#EntranceMember_00").show();
EntranceMember_Update();
}
function Entrance_AdminChangeNotice() {
var notice = $("#Entrance_000203").val();
Popup_Confirm('정말 실행하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+ADMIN+POST, {
action: 0,
notice: notice
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitHide();
Replace(ENTRANCE+PHP);
} else {
Popup_WaitShow(response.msg);
}
}
)
})
});
}
function Entrance_AdminPost(server, select) {
Popup_Confirm('정말 실행하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+ADMIN+POST, {
action: 1,
server: server,
select: select
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitHide();
if(select == 1) {
ReplaceFrame(response.installURL);
} else {
Replace(ENTRANCE+PHP);
}
} else {
Popup_WaitShow(response.msg);
}
}
)
})
});
}
function Entrance_AdminNPCLogin(serverDir) {
ReplaceFrame(serverDir+W+'npc_login'+PHP);
}
function Entrance_AdminNPCCreate(serverDir) {
ReplaceFrame(serverDir+W+'npc_join'+PHP);
}
function Entrance_AdminClosedLogin(serverDir) {
ReplaceFrame(serverDir+'_close'+W+'npc_login'+PHP);
}
function Entrance_AdminOpen119(serverDir) {
Open(serverDir+W+'119'+PHP);
}
+83
View File
@@ -0,0 +1,83 @@
<?
// 외부 파라미터
require_once('_common.php');
?>
<script type="text/javascript">
ImportStyle("<?=ROOT;?>"+W+I+ENTRANCE+W+ADMIN+STYLE);
ImportAction("<?=ROOT;?>"+W+I+ENTRANCE+W+ADMIN+ACTION);
Entrance_AdminImport();
Entrance_AdminInit();
Entrance_AdminUpdate();
</script>
<div id="Entrance_0002" class="bg0">
<div id="Entrance_000200" class="bg2">회 원 관 리</div>
<input id="Entrance_000201" type="button" value="참 여 기 록">
<input id="Entrance_000202" type="button" value="회 원 관 리">
<input id="Entrance_000203" type="text" value="<?=$system['NOTICE'];?>">
<input id="Entrance_000204" type="button" value="공 지 변 경">
</div>
<div id="Entrance_0003" class="bg0">
<div id="Entrance_000300" class="bg2">서 버 관 리</div>
<div id="Entrance_000301">
<div id="Entrance_00030000" class="bg1">서버(접속)</div>
<div id="Entrance_00030001" class="bg1">상 태</div>
<div id="Entrance_00030002" class="bg1">선 택</div>
</div>
<div id="Entrance_000302">
<?
$i = 0;
foreach($_serverDirs as $serverDir) {
if(is_dir(ROOT.W.$serverDir.'_close') && is_dir(ROOT.W.$serverDir.'_rest')) {
// 이상함
$state = '상태이상, 01';
} elseif(!is_dir(ROOT.W.$serverDir.'_close') && !is_dir(ROOT.W.$serverDir.'_rest')) {
// 이상함
$state = '상태이상, 02';
} else {
if(is_dir(ROOT.W.$serverDir.'_close')) {
// 폐쇄중
if(file_exists(ROOT.W.$serverDir.'_close'.W.D_SETTING.W.SET.PHP)) {
// 폐쇄중, 설정있음
$state = '폐쇄중, 설정있음';
} else {
// 폐쇄중, 설정없음
$state = '폐쇄중, 설정없음';
}
} elseif(is_dir(ROOT.W.$serverDir)) {
// 오픈중
if(file_exists(ROOT.W.$serverDir.W.D_SETTING.W.SET.PHP)) {
// 서비스중
$state = '서비스중';
} else {
// 오픈중, 설정없음
$state = '오픈중, 설정없음';
}
} else {
// 이상함
$state = '상태이상, 03';
}
}
?>
<div class="Entrance_ServerAdminList">
<div class="Entrance_ServerAdminListServer"><?=$serverDir;?></div>
<div class="Entrance_ServerAdminListState"><?=$state;?></div>
<div class="Entrance_ServerAdminListSelect">
<input type="button" class="Entrance_ServerAdminListSelectButton1" value="폐쇄" onclick="Entrance_AdminPost(<?=$i;?>, 0);">
<input type="button" class="Entrance_ServerAdminListSelectButton1" value="리셋" onclick="Entrance_AdminPost(<?=$i;?>, 1);">
<input type="button" class="Entrance_ServerAdminListSelectButton1" value="오픈" onclick="Entrance_AdminPost(<?=$i;?>, 2);">
<input type="button" class="Entrance_ServerAdminListSelectButton2" value="N로그인" onclick="Entrance_AdminNPCLogin('../<?=$serverDir;?>');">
<input type="button" class="Entrance_ServerAdminListSelectButton2" value="N생성" onclick="Entrance_AdminNPCCreate('../<?=$serverDir;?>');">
<input type="button" class="Entrance_ServerAdminListSelectButton3" value="폐쇄중로그인" onclick="Entrance_AdminClosedLogin('../<?=$serverDir;?>');">
<input type="button" class="Entrance_ServerAdminListSelectButton2" value="119" onclick="Entrance_AdminOpen119('../<?=$serverDir;?>');">
</div>
</div>
<?
$i++;
}
?>
</div>
</div>
+53
View File
@@ -0,0 +1,53 @@
<?
// 외부 파라미터
// $_POST['action'] : 0: 공지, 1: 서버
// $_POST['notice'] : 공지
// $_POST['server'] : 서버 인덱스
// $_POST['select'] : 0: 폐쇄, 1: 리셋, 2: 오픈
$action = $_POST['action'];
$notice = $_POST['notice'];
$server = $_POST['server'];
$select = $_POST['select'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$response['result'] = 'FAIL';
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
if($action == 0) {
$DB->Update('SYSTEM', "NOTICE='{$notice}'", 'NO=1');
$response['result'] = 'SUCCESS';
} elseif($action == 1) {
$serverDir = $_serverDirs[$server];
if($select == 0) {
rename(ROOT.W.$serverDir, ROOT.W.$serverDir.'_close');
rename(ROOT.W.$serverDir.'_rest', ROOT.W.$serverDir);
$response['result'] = 'SUCCESS';
} elseif($select == 1) {
@unlink(ROOT.W.$serverDir.'_close'.W.D_SETTING.W.SET.PHP);
$response['installURL'] = ROOT.W."{$serverDir}_close/install.php";
$response['result'] = 'SUCCESS';
} elseif($select == 2) {
rename(ROOT.W.$serverDir, ROOT.W.$serverDir."_rest");
rename(ROOT.W.$serverDir."_close", ROOT.W.$serverDir);
$response['result'] = 'SUCCESS';
}
} else {
$response['result'] = 'FAIL';
$response['msg'] = '알 수 없는 명령입니다.';
}
}
sleep(1);
echo json_encode($response);
?>
+112
View File
@@ -0,0 +1,112 @@
@charset "utf-8";
#Entrance_0002 {
width: 800px; height: 170px;
position: absolute; top: 304px; left: 0px;
}
#Entrance_000200 {
width: 798px; height: 50px;
position: absolute; top: 0px; left: 0px;
font-size: 30px; font-weight: bold;
}
#Entrance_000201 {
width: 200px; height: 50px;
position: absolute; top: 65px; left: 150px;
}
#Entrance_000202 {
width: 200px; height: 50px;
position: absolute; top: 65px; left: 450px;
}
#Entrance_000203 {
width: 590px; height: 20px;
position: absolute; top: 130px; left: 50px;
}
#Entrance_000204 {
width: 100px; height: 20px;
position: absolute; top: 130px; left: 650px;
}
#Entrance_0003 {
width: 800px; height: 176px;
position: absolute; top: 494px; left: 0px;
}
#Entrance_000300 {
width: 798px; height: 50px;
position: absolute; top: 0px; left: 0px;
font-size: 30px; font-weight: bold;
}
#Entrance_000301 {
width: 798px; height: 20px;
position: absolute; top: 52px; left: 0px;
border: none;
}
#Entrance_00030000 {
width: 98px; height: 20px;
position: absolute; top: 0px; left: 0px;
}
#Entrance_00030001 {
width: 198px; height: 20px;
position: absolute; top: 0px; left: 100px;
}
#Entrance_00030002 {
width: 498px; height: 20px;
position: absolute; top: 0px; left: 300px;
}
#Entrance_00030003 {
width: 118px; height: 20px;
position: absolute; top: 0px; left: 680px;
}
#Entrance_000302 {
width: 798px;
position: absolute; top: 74px; left: 0px;
border: none;
}
.Entrance_ServerAdminList {
width: 800px; height: 20px;
border: none;
float: left;
}
.Entrance_ServerAdminListServer {
width: 98px; height: 20px;
float: left;
}
.Entrance_ServerAdminListState {
width: 198px; height: 20px;
float: left;
}
.Entrance_ServerAdminListSelect {
width: 498px; height: 20px;
float: left;
}
.Entrance_ServerAdminListSelectButton1 {
width: 50px; height: 20px;
float: left;
}
.Entrance_ServerAdminListSelectButton2 {
width: 80px; height: 20px;
float: left;
}
.Entrance_ServerAdminListSelectButton3 {
width: 100px; height: 20px;
float: left;
}
+96
View File
@@ -0,0 +1,96 @@
function EntranceDonation_Import() {
}
function EntranceDonation_Init() {
$("#EntranceDonation_0001").click(EntranceDonation_Back);
$("#EntranceDonation_000200").click(function() { EntranceDonation_Calculate(); });
$("#EntranceDonation_000308").click(function() { EntranceDonation_Donate(); });
}
function EntranceDonation_Update() {
EntranceDonation_UpdateDonation();
}
function EntranceDonation_Back() {
$("#EntranceDonation_00").hide();
$("#Entrance_00").show();
Entrance_Update();
}
function EntranceDonation_UpdateDonation() {
Popup_Wait(function() {
GetJSON(
HOME+I+ENTRANCE+W+DONATION+W+GET, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#EntranceDonation_0005").html(response.donations);
$("#EntranceDonation_000301").val(response.date);
Popup_WaitHide();
} else {
Popup_WaitShow("처리 실패!");
}
}
)
});
}
function EntranceDonation_Calculate() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+DONATION+W+"calculate"+POST, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#EntranceDonation_000301").val("");
$("#EntranceDonation_000302").val("");
$("#EntranceDonation_000303").val("");
$("#EntranceDonation_000304").val("");
$("#EntranceDonation_000305").val("");
$("#EntranceDonation_000306").val("");
Popup_WaitHide();
EntranceDonation_UpdateDonation();
} else {
Popup_WaitShow("처리 실패!");
}
}
)
});
}
function EntranceDonation_Donate() {
var date = $("#EntranceDonation_000301").val();
var id = $("#EntranceDonation_000302").val();
var name = $("#EntranceDonation_000303").val();
var rname = $("#EntranceDonation_000304").val();
var subname = $("#EntranceDonation_000305").val();
var amount = $("#EntranceDonation_000306").val();
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+DONATION+W+POST, {
date: date,
id: id,
name: name,
rname: rname,
subname: subname,
amount: amount
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#EntranceDonation_000301").val("");
$("#EntranceDonation_000302").val("");
$("#EntranceDonation_000303").val("");
$("#EntranceDonation_000304").val("");
$("#EntranceDonation_000305").val("");
$("#EntranceDonation_000306").val("");
Popup_WaitHide();
EntranceDonation_UpdateDonation();
} else {
Popup_WaitShow("처리 실패!");
}
}
)
});
}
+44
View File
@@ -0,0 +1,44 @@
<?
require_once('_common.php');
?>
<script type="text/javascript">
ImportStyle("<?=ROOT;?>"+W+I+ENTRANCE+W+DONATION+W+STYLE);
ImportAction("<?=ROOT;?>"+W+I+ENTRANCE+W+DONATION+W+ACTION);
EntranceDonation_Import();
EntranceDonation_Init();
</script>
<div id="EntranceDonation_00">
<div id="EntranceDonation_0000" class="bg2 font4">
참 여 기 록
</div>
<input id="EntranceDonation_0001" type="button" value="돌아가기">
<div id="EntranceDonation_0002" class="bg0">
<input id="EntranceDonation_000200" type="button" value="통계계산">
</div>
<div id="EntranceDonation_0003" class="bg0">
<div id="EntranceDonation_000300">-</div>
<input id="EntranceDonation_000301" type="text">
<input id="EntranceDonation_000302" type="text">
<input id="EntranceDonation_000303" type="text">
<input id="EntranceDonation_000304" type="text">
<input id="EntranceDonation_000305" type="text">
<input id="EntranceDonation_000306" type="text">
<div id="EntranceDonation_000307">-</div>
<input id="EntranceDonation_000308" type="button" value="기록">
</div>
<div id="EntranceDonation_0004" class="bg1">
<div id="EntranceDonation_000400">순번</div>
<div id="EntranceDonation_000401">일자</div>
<div id="EntranceDonation_000402">ID</div>
<div id="EntranceDonation_000403">이름</div>
<div id="EntranceDonation_000404">입금자</div>
<div id="EntranceDonation_000405">닉네임</div>
<div id="EntranceDonation_000406">금액</div>
<div id="EntranceDonation_000407">개인누적</div>
<div id="EntranceDonation_000408">총누적</div>
</div>
<div id="EntranceDonation_0005">
</div>
</div>
+45
View File
@@ -0,0 +1,45 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
$response['donations'] = '<table id="EntranceDonation_000500" class="bg0">';
$rs = $DB->Select('NO, ID, NAME, RNAME, SUBNAME, DATE, AMOUNT, CUMUL, TOTAL', 'DONATION', '1 ORDER BY DATE DESC, NO DESC');
while($DB->HasNext($rs)) {
$donation = $DB->Next($rs);
$response['donations'] .= "
<tr>
<td class='EntranceDonation_00050000'>{$donation['NO']}</td>
<td class='EntranceDonation_00050001'>{$donation['DATE']}</td>
<td class='EntranceDonation_00050002'>{$donation['ID']}</td>
<td class='EntranceDonation_00050003'>{$donation['NAME']}</td>
<td class='EntranceDonation_00050004'>{$donation['RNAME']}</td>
<td class='EntranceDonation_00050005'>{$donation['SUBNAME']}</td>
<td class='EntranceDonation_00050006'>{$donation['AMOUNT']}</td>
<td class='EntranceDonation_00050007'>{$donation['CUMUL']}</td>
<td class='EntranceDonation_00050008'>{$donation['TOTAL']}</td>
</tr>";
}
$response['donations'] .= '</table>';
$response['date'] = _Time::DateToday();
$response['result'] = 'SUCCESS';
}
sleep(1);
echo json_encode($response);
?>
+58
View File
@@ -0,0 +1,58 @@
<?
// 외부 파라미터
// $_POST['date'] : 일자
// $_POST['id'] : ID
// $_POST['name'] : 이름
// $_POST['rname'] : 입금자
// $_POST['subname'] : 닉네임
// $_POST['amount'] : 금액
$date = $_POST['date'];
$id = $_POST['id'];
$name = $_POST['name'];
$rname = $_POST['rname'];
$subname = $_POST['subname'];
$amount = $_POST['amount'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
if($subname == "") {
$rs = $DB->Select('NAME', 'MEMBER', "ID='{$id}'");
$donator = $DB->Get($rs);
$subname = $donator['NAME'];
}
$rs = $DB->Select('SUM(AMOUNT) AS CUM', 'DONATION', "ID='{$id}'");
$donator = $DB->Get($rs);
$cumul = $donator['CUM'] + $amount;
$rs = $DB->Select('SUM(AMOUNT) AS TOT', 'DONATION');
$donator = $DB->Get($rs);
$total = $donator['TOT'] + $amount;
$DB->InsertArray('DONATION', array(
ID => $id,
NAME => $name,
RNAME => $rname,
SUBNAME => $subname,
DATE => $date,
AMOUNT => $amount,
CUMUL => $cumul,
TOTAL => $total
));
$response['result'] = 'SUCCESS';
}
echo json_encode($response);
?>
+178
View File
@@ -0,0 +1,178 @@
@charset "utf-8";
#EntranceDonation_00 {
width: 800px; height: 20px;
border: none;
position: absolute;
top: 20px; left: 50%;
margin-left: -400px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
display: none;
z-index: 2;
}
#EntranceDonation_0000 {
width: 800px; height: 50px;
position: absolute; top: 0px; left: 0px;
}
#EntranceDonation_0001 {
width: 100px; height: 30px;
position: absolute; top: 10px; left: 650px;
}
#EntranceDonation_0002 {
width: 800px; height: 20px;
position: absolute; top: 52px; left: 0px;
}
#EntranceDonation_000200 {
width: 100px; height: 20px;
}
#EntranceDonation_0003 {
width: 800px; height: 20px;
position: absolute; top: 74px; left: 0px;
border: none;
}
#EntranceDonation_000300 {
width: 48px; height: 20px;
float: left;
}
#EntranceDonation_000301 {
width: 96px; height: 16px;
float: left;
}
#EntranceDonation_000302 {
width: 96px; height: 16px;
float: left;
}
#EntranceDonation_000303 {
width: 96px; height: 16px;
float: left;
}
#EntranceDonation_000304 {
width: 96px; height: 16px;
float: left;
}
#EntranceDonation_000305 {
width: 96px; height: 16px;
float: left;
}
#EntranceDonation_000306 {
width: 66px; height: 16px;
float: left;
}
#EntranceDonation_000307 {
width: 78px; height: 20px;
float: left;
}
#EntranceDonation_000308 {
width: 100px; height: 20px;
float: left;
}
#EntranceDonation_0004 {
width: 800px; height: 20px;
position: absolute; top: 96px; left: 0px;
border: none;
}
#EntranceDonation_000400 {
width: 48px; height: 20px;
float: left;
}
#EntranceDonation_000401 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_000402 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_000403 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_000404 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_000405 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_000406 {
width: 68px; height: 20px;
float: left;
}
#EntranceDonation_000407 {
width: 78px; height: 20px;
float: left;
}
#EntranceDonation_000408 {
width: 98px; height: 20px;
float: left;
}
#EntranceDonation_0005 {
width: 800px; height: 20px;
position: absolute; top: 118px; left: 0px;
border: none;
}
#EntranceDonation_000500 {
border: none;
}
.EntranceDonation_00050000 {
width: 48px;
}
.EntranceDonation_00050001 {
width: 98px;
}
.EntranceDonation_00050002 {
width: 98px;
}
.EntranceDonation_00050003 {
width: 98px;
}
.EntranceDonation_00050004 {
width: 98px;
}
.EntranceDonation_00050005 {
width: 98px;
}
.EntranceDonation_00050006 {
width: 68px;
}
.EntranceDonation_00050007 {
width: 78px;
}
.EntranceDonation_00050008 {
width: 98px;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '../..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+46
View File
@@ -0,0 +1,46 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
//개인누적계산
$rs = $DB->Select('ID', 'DONATION', '1', 'ID');
while($DB->HasNext($rs)) {
$donator = $DB->Next($rs);
$cumul = 0;
$rs2 = $DB->Select('NO, AMOUNT', 'DONATION', "ID='{$donator['ID']}' ORDER BY DATE, NO");
while($DB->HasNext($rs2)) {
$donation = $DB->Next($rs2);
$cumul += $donation['AMOUNT'];
$DB->Update('DONATION', "CUMUL='{$cumul}'", "NO='{$donation['NO']}'");
}
}
$total = 0;
//총누적계산
$rs = $DB->Select('NO, AMOUNT', 'DONATION', '1 ORDER BY DATE, NO');
while($DB->HasNext($rs)) {
$donation = $DB->Next($rs);
$total += $donation['AMOUNT'];
$DB->Update('DONATION', "TOTAL='{$total}'", "NO='{$donation['NO']}'");
}
$response['result'] = 'SUCCESS';
}
echo json_encode($response);
?>
+23
View File
@@ -0,0 +1,23 @@
<?
// 외부 파라미터
// $_POST['serverDir'] : 로그인할 서버 디렉토리
$serverDir = $_POST['serverDir'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('ID, PW, CONMSG', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$response['id'] = $member['ID'];
$response['pw'] = $member['PW'].md5(rand()%100000000);;
$response['conmsg'] = $member['CONMSG'];
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
?>
+51
View File
@@ -0,0 +1,51 @@
<?
require_once('_common.php');
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
?>
<!DOCTYPE html>
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>서버목록</title>
<!-- 스타일 -->
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.CONFIG.CSS;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.APP.CSS;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.POPUP.W.STYLE;?>>
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.ENTRANCE.W.STYLE;?>>
<!-- 액션 -->
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.JQUERY;?>></script>
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.MD5;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.CONFIG.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.APP.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.F_FUNC.W.FUNC.JS;?>></script>
<script type="text/javascript" src=<?=ROOT.W.I.POPUP.W.ACTION;?>></script>
<script type="text/javascript" src=<?=ROOT.W.I.ENTRANCE.W.ACTION;?>></script>
<script type="text/javascript">
$(document).ready(Entrance);
function Entrance() {
ImportView("body", "<?=ROOT;?>"+W+I+POPUP+W+FRAME);
ImportView("body", FRAME);
Popup_Import();
Popup_Init();
Popup_Update();
Entrance_Import();
Entrance_Init();
Entrance_Update();
}
</script>
<? require('../i_banner/analytics.php'); ?>
</head>
<body <?=BLOCKBODY;?>>
</body>
</html>
+16
View File
@@ -0,0 +1,16 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$SESSION->Logout();
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
?>
+159
View File
@@ -0,0 +1,159 @@
function EntranceManage_Import() {
}
function EntranceManage_Init() {
$("#EntranceManage_0001").click(EntranceManage_Back);
$("#EntranceManage_000603").click(EntranceManage_ChangePw);
$("#EntranceManage_001600").attr("disabled", "true");
$("#EntranceManage_001601").change(EntranceManage_SelectIcon);
$("#EntranceManage_001602").click(EntranceManage_ChangeIcon);
$("#EntranceManage_001603").click(EntranceManage_DeleteIcon);
$("#EntranceManage_0019").click(EntranceManage_Quit);
if($.browser.mozilla == true) {
$("#EntranceManage_001601").css("left", "10px");
} else {
$("#EntranceManage_001600").show();
}
}
function EntranceManage_Update() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+MANAGE+W+GET, {
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
EntranceManage_UpdateInfo(response);
Popup_WaitHide();
} else {
Popup_WaitShow("정보 로드 실패!");
}
}
)
});
}
function EntranceManage_Back() {
$("#EntranceManage_00").hide();
$("#Entrance_00").show();
Entrance_Update();
}
function EntranceManage_SelectIcon() {
$("#EntranceManage_001600").val($("#EntranceManage_001601").val());
}
function EntranceManage_UpdateInfo(member) {
$("#EntranceManage_0004").text(member.id);
$("#EntranceManage_0008").text(member.name);
$("#EntranceManage_0010").text(member.grade);
$("#EntranceManage_001500").attr("src", member.picture0);
$("#EntranceManage_001501").attr("src", member.picture1);
$("#EntranceManage_0020").html(member.donation);
}
function EntranceManage_ChangePw() {
var pw = $("#EntranceManage_000600").val();
var pw1 = $("#EntranceManage_000601").val();
var pw2 = $("#EntranceManage_000602").val();
if(pw.length < 4 || pw.length > 12) {
Popup_Alert("비밀번호 길이가 부적합합니다!", function() {
$("#EntranceManage_000600").val("");
$("#EntranceManage_000600").focus();
});
return false;
}
if(pw1.length < 4 || pw1.length > 12) {
Popup_Alert("비밀번호 길이가 부적합합니다!", function() {
$("#EntranceManage_000601").val("");
$("#EntranceManage_000601").focus();
});
return false;
}
if(pw1 != pw2) {
Popup_Alert("비밀번호가 일치하지 않습니다!", function() {
$("#EntranceManage_000601").val("");
$("#EntranceManage_000601").focus();
});
return false;
}
Popup_Confirm('정말 실행하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+MANAGE+W+"password"+POST, {
pw: hex_md5(pw+""+pw),
newPw: hex_md5(pw1+""+pw1)
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
$("#EntranceManage_000600").val("");
$("#EntranceManage_000601").val("");
$("#EntranceManage_000602").val("");
});
}
)
})
});
}
function EntranceManage_ChangeIcon() {
if($("#EntranceManage_001601").val() == "") {
Popup_Alert("파일을 선택해 주세요!");
} else {
Popup_Wait(function() {
$("#formIcon").submit();
});
}
}
function EntranceManage_DeleteIcon() {
Popup_Confirm('정말 실행하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+MANAGE+W+"delete"+POST, {
},
function(response, textStatus) {
Popup_WaitShow(response.msg, function() {
EntranceManage_Update();
});
}
)
})
});
}
function EntranceManage_Quit() {
var pw = $("#EntranceManage_000600").val();
if(pw.length < 4 || pw.length > 12) {
Popup_Alert("현재 비밀번호를 입력해주세요.", function() {
$("#EntranceManage_000600").val("");
$("#EntranceManage_000600").focus();
});
return false;
}
Popup_Confirm('정말 탈퇴하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+MANAGE+W+"quit"+POST, {
pw: hex_md5(pw+""+pw)
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitShow(response.msg, function() {
ReplaceFrame(HOME);
});
} else {
Popup_WaitShow(response.msg, function() {
EntranceManage_Update();
});
}
}
)
})
});
}
+56
View File
@@ -0,0 +1,56 @@
<?
require_once('_common.php');
?>
<div id="EntranceManage_00" class="bg0">
<div id="EntranceManage_0000" class="bg2 font4">계 정 관 리</div>
<input id="EntranceManage_0001" type="button" value="돌아가기">
<div id="EntranceManage_0002" class="bg1 font3">회 원 정 보</div>
<div id="EntranceManage_0003" class="bg1 font2">ID</div>
<div id="EntranceManage_0004"></div>
<input id="EntranceManage_0019" type="button" value="탈퇴신청">
<div id="EntranceManage_0005" class="bg1 font2">비밀번호</div>
<div id="EntranceManage_0006">
현재비번: <input id="EntranceManage_000600" type="password" maxlength="12">
바꿀비번: <input id="EntranceManage_000601" type="password" maxlength="12">
다시입력: <input id="EntranceManage_000602" type="password" maxlength="12">
<input id="EntranceManage_000603" type="button" value="비밀번호 변경">
</div>
<div id="EntranceManage_0007" class="bg1 font2">닉네임</div>
<div id="EntranceManage_0008"></div>
<div id="EntranceManage_0009" class="bg1 font2">등급</div>
<div id="EntranceManage_0010"></div>
<div id="EntranceManage_0011" class="bg1 font2">-</div>
<div id="EntranceManage_0012" class="bg1 font2">기존 / 신규</div>
<div id="EntranceManage_0013" class="bg1 font2">전용아이콘 올리기</div>
<div id="EntranceManage_0014" class="bg1 font2">전용사진</div>
<div id="EntranceManage_0015">
<img id="EntranceManage_001500">
<img id="EntranceManage_001501">
</div>
<div id="EntranceManage_0016">
<input id="EntranceManage_001600" type="text">
<form id="formIcon" action="<?=ROOT.W.I.ENTRANCE.W.MANAGE.W;?>iconPost.php" method="POST" enctype="multipart/form-data">
<input id="EntranceManage_001601" name="picture" type="file" size="15">
</form>
<input id="EntranceManage_001602" type="button" value="전콘변경">
<input id="EntranceManage_001603" type="button" value="전콘제거">
</div>
<div id="EntranceManage_0017" class="bg1 font2">도움말</div>
<div id="EntranceManage_0018">
<pre>jpg파일 64 x 64 크기만 가능합니다.
서버최적화를 위해 신규에서 기존으로 약 월1회 저장됩니다.
<font color=cyan>브라우저의 임시파일을 삭제하셔야 제대로 나옵니다.
새로 캐릭터를 생성할때부터 적용됩니다.</font>
<font color=magenta>탈퇴신청시 1개월간 정보가 보존되며,
1개월간 재가입이 불가능합니다.</font></pre>
</div>
<div id="EntranceManage_0020">
</div>
</div>
+78
View File
@@ -0,0 +1,78 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('ID, NAME, GRADE, PICTURE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$response['id'] = $member['ID'];
$response['name'] = $member['NAME'];
if($member['GRADE'] == 6) {
$response['grade'] = '운영자';
} elseif($member['GRADE'] == 5) {
$response['grade'] = '부운영자';
} elseif($member['GRADE'] == 4) {
$response['grade'] = '특별회원';
} elseif($member['GRADE'] == 3) {
$response['grade'] = '참여회원';
} elseif($member['GRADE'] == 2) {
$response['grade'] = '참여회원';
} elseif($member['GRADE'] == 1) {
$response['grade'] = '일반회원';
} elseif($member['GRADE'] == 0) {
$response['grade'] = '블럭회원';
}
if($member['PICTURE'] == '') {
$response['picture0'] = IMAGE.W.'default.jpg';
$response['picture1'] = IMAGE.W.'default.jpg';
} else {
$response['picture0'] = IMAGE.W.$member['PICTURE'];
$response['picture1'] = '../d_pic/'.$member['PICTURE'];
}
$response['donation'] = '';
$rs = $DB->Select('DATE, AMOUNT, CUMUL', 'DONATION', "ID='{$member[ID]}'");
$count = $DB->Count($rs);
if($count > 0) {
$response['donation'] = '
<table id="EntranceManage_002000" class="bg0">
<th id="EntranceManage_00200000" class="bg2" colspan="4">참 여 기 록</th>
<tr>
<td class="EntranceManage_Sequence bg1">순번</td>
<td class="EntranceManage_Date bg1">일자</td>
<td class="EntranceManage_Amount bg1">금액</td>
<td class="EntranceManage_Cumul bg1">누적</td>
</tr>
';
$i = 1;
while($DB->HasNext($rs)) {
$donation = $DB->Next($rs);
$response['donation'] .= "
<tr>
<td class='EntranceManage_Sequence'>{$i}</td>
<td class='EntranceManage_Date'>{$donation['DATE']}</td>
<td class='EntranceManage_Amount'>{$donation['AMOUNT']}</td>
<td class='EntranceManage_Cumul'>{$donation['CUMUL']}</td>
</tr>
";
$i++;
}
$response['donation'] .= '
</table>
';
}
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
?>
+199
View File
@@ -0,0 +1,199 @@
@charset "utf-8";
#EntranceManage_00 {
width: 500px; height: 409px;
position: absolute;
top: 50px; left: 50%;
margin-left: -256px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
display: none;
z-index: 2;
}
#EntranceManage_0000 {
width: 498px; height: 50px;
position: absolute; top: 0px; left: 0px;
}
#EntranceManage_0001 {
width: 100px; height: 30px;
position: absolute; top: 10px; left: 350px;
}
#EntranceManage_0002 {
width: 498px; height: 25px;
position: absolute; top: 50px; left: 0px;
}
#EntranceManage_0003 {
width: 98px; height: 84px;
position: absolute; top: 75px; left: 0px;
line-height: 84px;
}
#EntranceManage_0004 {
width: 148px; height: 84px;
position: absolute; top: 75px; left: 100px;
line-height: 84px;
}
#EntranceManage_0005 {
width: 98px; height: 84px;
position: absolute; top: 75px; left: 250px;
line-height: 84px;
}
#EntranceManage_0006 {
width: 148px; height: 84px;
position: absolute; top: 75px; left: 350px;
text-align: left;
}
#EntranceManage_000600 {
width: 80px; height: 17px;
}
#EntranceManage_000601 {
width: 80px; height: 17px;
}
#EntranceManage_000602 {
width: 80px; height: 17px;
}
#EntranceManage_000603 {
width: 144px; height: 20px;
}
#EntranceManage_0007 {
width: 98px; height: 64px;
position: absolute; top: 159px; left: 0px;
line-height: 64px;
}
#EntranceManage_0008 {
width: 148px; height: 64px;
position: absolute; top: 159px; left: 100px;
line-height: 64px;
}
#EntranceManage_0009 {
width: 98px; height: 64px;
position: absolute; top: 159px; left: 250px;
line-height: 64px;
}
#EntranceManage_0010 {
width: 148px; height: 64px;
position: absolute; top: 159px; left: 350px;
line-height: 64px;
}
#EntranceManage_0011 {
width: 98px; height: 20px;
position: absolute; top: 223px; left: 0px;
}
#EntranceManage_0012 {
width: 148px; height: 20px;
position: absolute; top: 223px; left: 100px;
}
#EntranceManage_0013 {
width: 248px; height: 20px;
position: absolute; top: 223px; left: 250px;
}
#EntranceManage_0014 {
width: 98px; height: 64px;
position: absolute; top: 243px; left: 0px;
line-height: 64px;
}
#EntranceManage_0015 {
width: 148px; height: 64px;
position: absolute; top: 243px; left: 100px;
}
#EntranceManage_001500 {
width: 64px; height: 64px;
position: absolute; top: 0px; left: 0px;
}
#EntranceManage_001501 {
width: 64px; height: 64px;
position: absolute; top: 0px; left: 85px;
}
#EntranceManage_0016 {
width: 248px; height: 64px;
position: absolute; top: 243px; left: 250px;
}
#EntranceManage_001600 {
width: 100px; height: 16px;
position: absolute; top: 10px; left: 10px;
display: none;
}
#EntranceManage_001601 {
width: 70px; height: 20px;
position: absolute; top: 10px; left: 120px;
}
#EntranceManage_001602 {
width: 85px; height: 20px;
position: absolute; top: 35px; left: 10px;
}
#EntranceManage_001603 {
width: 85px; height: 20px;
position: absolute; top: 35px; left: 105px;
}
#EntranceManage_0017 {
width: 98px; height: 100px;
position: absolute; top: 307px; left: 0px;
line-height: 100px;
}
#EntranceManage_0018 {
width: 398px; height: 100px;
position: absolute; top: 307px; left: 100px;
text-align: left;
}
#EntranceManage_0019 {
width: 149px; height: 20px;
position: absolute; top: 139px; left: 101px;
}
#EntranceManage_0020 {
width: 500px; height: 20px;
position: absolute; top: 409px; left: -1px;
border: none;
}
#EntranceManage_002000 {
width: 500px;
position: absolute; top: 0px; left: 0px;
}
#EntranceManage_00200000 {
width: 498px; height: 20px;
}
.EntranceManage_Sequence {
width: 48px; height: 20px;
}
.EntranceManage_Date {
width: 148px; height: 20px;
}
.EntranceManage_Amount {
width: 148px; height: 20px;
}
.EntranceManage_Cumul {
width: 148px; height: 20px;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '../..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+47
View File
@@ -0,0 +1,47 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'DBS'.PHP);
require_once(ROOT.W.F_CONFIG.W.SETTINGS.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$dest = ROOT.W.D."pic/pic_{$SESSION->NoMember()}.jpg";
$rs = $DB->Select('ID, PICTURE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$dt = substr($member['PICTURE'], -8);
$rf = date('Ymd');
$response['result'] = 'FAIL';
$response['msg'] = '요청이 올바르지 않습니다!';
if($dt == $rf) {
//갱신날짜 검사
$response['msg'] = '1일 1회 변경 가능합니다!';
$response['result'] = 'FAIL';
} else {
$DB->Update('MEMBER', "PICTURE='', IMGSVR=0", "NO='{$SESSION->NoMember()}'");
@unlink($dest);
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$rs = $DBS[$i]->Select('IMG', 'game', "NO='1'");
$game = $DBS[$i]->Get($rs);
if($game['IMG'] > 0) {
// 엔장선택 제외하고 업데이트
$DBS[$i]->Update('general', "PICTURE='default.jpg', IMGSVR=0", "NPC=0 AND USER_ID='{$member['ID']}'");
}
}
}
$response['msg'] = '제거에 성공했습니다!';
$response['result'] = 'SUCCESS';
}
sleep(1);
echo json_encode($response);
?>
+79
View File
@@ -0,0 +1,79 @@
<?
// 외부 파라미터
// $_FILES['picture'] : 사진파일
require_once('_common.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'DBS'.PHP);
require_once(ROOT.W.F_CONFIG.W.SETTINGS.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$image = $_FILES['picture'];
$ext = strrchr($image['name'], ".");
$size = getImageSize($image['tmp_name']);
$dest = ROOT.W.D."pic/pic_{$SESSION->NoMember()}.jpg";
$rs = $DB->Select('ID, PICTURE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$dt = substr($member['PICTURE'], -8);
$rf = date('Ymd');
$response['result'] = 'FAIL';
$response['msg'] = '요청이 올바르지 않습니다!';
if(!is_uploaded_file($image['tmp_name'])) {
//진짜 전송된 파일인지 검증
$response['msg'] = '업로드가 되지 않았습니다!';
$response['result'] = 'FAIL';
} elseif($ext != '.jpg' && $ext != '.JPG') {
//확장자 검사
$response['msg'] = '잘못된 확장자입니다!';
$response['result'] = 'FAIL';
} elseif($image['type'] != 'image/jpg' && $image['type'] != 'image/jpeg' && $image['type'] != 'image/pjpeg') {
//파일종류 검사
$response['msg'] = 'jpg 파일이 아닙니다!';
$response['result'] = 'FAIL';
} elseif($image['size'] > 10000) {
//파일크기 검사
$response['msg'] = '10kb 이하로 올려주세요!';
$response['result'] = 'FAIL';
} elseif($size[0] != 64 || $size[1] != 64) {
//이미지크기 검사
$response['msg'] = '64x64 크기로 올려주세요!';
$response['result'] = 'FAIL';
} elseif($dt == $rf) {
//갱신날짜 검사
$response['msg'] = '1일 1회 변경 가능합니다!';
$response['result'] = 'FAIL';
} else {
//이미지 저장
if(!move_uploaded_file($image['tmp_name'], $dest)) {
$response['msg'] = '업로드에 실패했습니다!';
$response['result'] = 'FAIL';
} else {
$pic = 'pic_'.$SESSION->NoMember().".jpg?={$rf}";
$DB->Update('MEMBER', "PICTURE='{$pic}', IMGSVR=1", "NO='{$SESSION->NoMember()}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$rs = $DBS[$i]->Select('IMG', 'game', "NO='1'");
$game = $DBS[$i]->Get($rs);
if($game['IMG'] > 0) {
// 엔장선택 제외하고 업데이트
$DBS[$i]->Update('general', "PICTURE='{$pic}', IMGSVR=1", "NPC=0 AND USER_ID='{$member['ID']}'");
}
}
}
$response['msg'] = '업로드에 성공했습니다!';
$response['result'] = 'SUCCESS';
}
}
sleep(1);
echo "<script type='text/javascript'>
alert('{$response['msg']}');
location.replace('".ROOT.W.I.ENTRANCE.W.ENTRANCE.PHP."');
</script>";
?>
+39
View File
@@ -0,0 +1,39 @@
<?
// 외부 파라미터
// $_POST['pw'] : PW
// $_POST['newPw'] : 새 PW
$pw = $_POST['pw'];
$newPw = $_POST['newPw'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'DBS'.PHP);
require_once(ROOT.W.F_CONFIG.W.SETTINGS.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$response['result'] = 'FAIL';
$rs = $DB->Select('ID, PW', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['PW'] != $pw) {
$response['result'] = 'FAIL';
$response['msg'] = '실패: 현재 비밀번호가 일치하지 않습니다.';
} else {
$DB->Update('MEMBER', "PW='{$newPw}'", "NO='{$SESSION->NoMember()}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', "PASSWORD='{$newPw}'", "USER_ID='{$member['ID']}'");
}
}
$response['result'] = 'SUCCESS';
$response['msg'] = "정상적으로 비밀번호가 수정되었습니다.";
}
sleep(1);
echo json_encode($response);
?>
+36
View File
@@ -0,0 +1,36 @@
<?
// 외부 파라미터
// $_POST['pw'] : PW
$pw = $_POST['pw'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$response['result'] = 'FAIL';
$rs = $DB->Select('PW', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['PW'] != $pw) {
$response['result'] = 'FAIL';
$response['msg'] = '실패: 현재 비밀번호가 일치하지 않습니다.';
} else {
$DB->UpdateArray('MEMBER', array(
QUIT => 'Y',
REG_DATE=> _Time::DatetimeNow()
), "NO='{$SESSION->NoMember()}'");
$SESSION->Logout();
$response['result'] = 'SUCCESS';
$response['msg'] = "정상적으로 탈퇴신청 되었습니다.";
}
sleep(1);
echo json_encode($response);
?>
+85
View File
@@ -0,0 +1,85 @@
function EntranceMember_Import() {
}
function EntranceMember_Init() {
$("#EntranceMember_0001").click(EntranceMember_Back);
$("#EntranceMember_000201").click(EntranceMember_Order);
$("#EntranceMember_000601").click(function() { EntranceMember_Post(8); });
$("#EntranceMember_000602").click(function() { EntranceMember_Post(9); });
$("#EntranceMember_000603").click(function() { EntranceMember_Post(10); });
$("#EntranceMember_000604").click(function() { EntranceMember_Post(11); });
$("#EntranceMember_000605").click(function() { EntranceMember_Post(12); });
$("#EntranceMember_000606").click(function() { EntranceMember_Post(13); });
$("#EntranceMember_000607").click(function() { EntranceMember_Post(14); });
$("#EntranceMember_000301").click(function() { EntranceMember_Post(0); });
$("#EntranceMember_000302").click(function() { EntranceMember_Post(1); });
$("#EntranceMember_000303").click(function() { EntranceMember_Post(2); });
$("#EntranceMember_000304").click(function() { EntranceMember_Post(3); });
$("#EntranceMember_000305").click(function() { EntranceMember_Post(4); });
$("#EntranceMember_000306").click(function() { EntranceMember_Post(5); });
$("#EntranceMember_000307").click(function() { EntranceMember_Post(6); });
$("#EntranceMember_000308").click(function() { EntranceMember_Post(7); });
}
function EntranceMember_Update() {
EntranceMember_UpdateMember(0);
}
function EntranceMember_Back() {
$("#EntranceMember_00").hide();
$("#Entrance_00").show();
Entrance_Update();
}
function EntranceMember_Order() {
EntranceMember_UpdateMember($("#EntranceMember_000200").val());
}
function EntranceMember_UpdateMember(select) {
Popup_Wait(function() {
GetJSON(
HOME+I+ENTRANCE+W+MEMBER+W+GET, {
select: select
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
$("#EntranceMember_000000").text(response.count);
$("#EntranceMember_000300").html(response.lists);
$("#EntranceMember_0005").html(response.members);
$("#EntranceMember_000600").html(response.state);
Popup_WaitHide();
} else {
Popup_WaitShow("처리 실패!");
}
}
)
});
}
function EntranceMember_Post(select) {
var no = $("#EntranceMember_000300").val();
var sel = $("#EntranceMember_000200").val();
Popup_Confirm('정말 실행하시겠습니까?', function() {
Popup_Wait(function() {
PostJSON(
HOME+I+ENTRANCE+W+MEMBER+W+POST, {
select: select,
no: no
},
function(response, textStatus) {
if(response.result == "SUCCESS") {
Popup_WaitHide();
EntranceMember_UpdateMember(sel);
} else {
Popup_WaitShow("처리 실패!");
}
}
)
})
});
}
+74
View File
@@ -0,0 +1,74 @@
<?
require_once('_common.php');
?>
<script type="text/javascript">
ImportStyle("<?=ROOT;?>"+W+I+ENTRANCE+W+MEMBER+W+STYLE);
ImportAction("<?=ROOT;?>"+W+I+ENTRANCE+W+MEMBER+W+ACTION);
EntranceMember_Import();
EntranceMember_Init();
</script>
<div id="EntranceMember_00">
<div id="EntranceMember_0000" class="bg2 font4">
회 원 정 보
<font id="EntranceMember_000000">(0/0)</font>
</div>
<input id="EntranceMember_0001" type="button" value="돌아가기">
<div id="EntranceMember_0006" class="bg2 font2">
<div id="EntranceMember_000600"></div>
<input id="EntranceMember_000601" type="button" value="가입허용">
<input id="EntranceMember_000602" type="button" value="가입금지">
<input id="EntranceMember_000603" type="button" value="로그인허용">
<input id="EntranceMember_000604" type="button" value="로그인금지">
<input id="EntranceMember_000605" type="button" value="탈퇴처리(1개월)">
<input id="EntranceMember_000606" type="button" value="오래된계정(6개월)">
<input id="EntranceMember_000607" type="button" value="이미지업로드">
</div>
<div id="EntranceMember_0002" class="bg2 font2">
선택:
<select id="EntranceMember_000200" size="1">
<option value="0">순서</option>
<option value="1">ID</option>
<option value="2">장수</option>
<option value="3">민번</option>
<option value="4">IP</option>
<option value="5">등급</option>
<option value="6">등록</option>
<option value="7">최근</option>
</select>
<input id="EntranceMember_000201" type="button" value="정렬">
</div>
<div id="EntranceMember_0003" class="bg2 font2">
선택:
<select id="EntranceMember_000300" size="1">
</select>
<input id="EntranceMember_000301" type="button" value="블럭회원">
<input id="EntranceMember_000302" type="button" value="일반회원">
<input id="EntranceMember_000303" type="button" value="참여회원">
<input id="EntranceMember_000304" type="button" value="유효회원">
<input id="EntranceMember_000305" type="button" value="특별회원">
<input id="EntranceMember_000306" type="button" value="전콘제거">
<input id="EntranceMember_000307" type="button" value="비번초기화">
<input id="EntranceMember_000308" type="button" value="회원삭제">
</div>
<div id="EntranceMember_0004" class="bg1">
<div id="EntranceMember_000400">순번</div>
<div id="EntranceMember_000401">ID</div>
<div id="EntranceMember_000402">민번</div>
<div id="EntranceMember_000403">닉네임</div>
<div id="EntranceMember_000404">IP</div>
<div id="EntranceMember_000405">블럭</div>
<div id="EntranceMember_000406">최근블럭일</div>
<div id="EntranceMember_000407">등록</div>
<div id="EntranceMember_000408">최근등록일</div>
<div id="EntranceMember_000409">등급</div>
<div id="EntranceMember_000410">총참여</div>
<div id="EntranceMember_000411">최근참여일</div>
<div id="EntranceMember_000412">사진</div>
<div id="EntranceMember_000413">SVR</div>
<div id="EntranceMember_000414">탈퇴</div>
</div>
<div id="EntranceMember_0005">
</div>
</div>
+90
View File
@@ -0,0 +1,90 @@
<?
// 외부 파라미터
// $_GET['select'] : 정렬선택
$select = $_GET['select'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
$rs = $DB->Select('ID, CUMUL, DATE', 'DONATION', '1 ORDER BY NO');
while($DB->HasNext($rs)) {
$donation = $DB->Next($rs);
$donCumul[$donation['ID']] = $donation['CUMUL'];
$donDate[$donation['ID']] = $donation['DATE'];
}
$whereStr = '';
switch($select) {
case 0: $whereStr = '1 ORDER BY NO'; break;
case 1: $whereStr = '1 ORDER BY ID'; break;
case 2: $whereStr = '1 ORDER BY NAME'; break;
case 3: $whereStr = '1 ORDER BY PID'; break;
case 4: $whereStr = '1 ORDER BY IP'; break;
case 5: $whereStr = '1 ORDER BY GRADE DESC'; break;
case 6: $whereStr = '1 ORDER BY REG_NUM DESC'; break;
case 7: $whereStr = '1 ORDER BY REG_DATE DESC'; break;
}
$response['lists'] = '';
$response['members'] = '<table id="EntranceMember_000500" class="bg0">';
$rs = $DB->Select('NO, ID, PID, NAME, IP, PICTURE, IMGSVR, GRADE, REG_NUM, REG_DATE, BLOCK_NUM, BLOCK_DATE, QUIT', 'MEMBER', $whereStr);
$count = $DB->Count($rs);
while($DB->HasNext($rs)) {
$member = $DB->Next($rs);
$member['PID'] = substr($member['PID'], 0, 8);
$member['PICTURE'] = substr($member['PICTURE'], -8);
if($member['GRADE'] == 2) { $member['GRADE'] = "<font color=skyblue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 3) { $member['GRADE'] = "<font color=limegreen>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 4) { $member['GRADE'] = "<font color=cyan>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 5) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
if($member['GRADE'] == 6) { $member['GRADE'] = "<font color=blue>{$member['GRADE']}</font>"; }
$response['lists'] .= "<option value='{$member['NO']}'>{$member['NAME']}</option>";
$response['members'] .= "
<tr>
<td class='EntranceMember_00050000'>{$member['NO']}</td>
<td class='EntranceMember_00050001'>{$member['ID']}</td>
<td class='EntranceMember_00050002'>{$member['PID']}</td>
<td class='EntranceMember_00050003'>{$member['NAME']}</td>
<td class='EntranceMember_00050004'>{$member['IP']}</td>
<td class='EntranceMember_00050005'>{$member['BLOCK_NUM']}</td>
<td class='EntranceMember_00050006'>{$member['BLOCK_DATE']}</td>
<td class='EntranceMember_00050007'>{$member['REG_NUM']}</td>
<td class='EntranceMember_00050008'>{$member['REG_DATE']}</td>
<td class='EntranceMember_00050009'>{$member['GRADE']}</td>
<td class='EntranceMember_00050010'>{$donCumul[$member['ID']]}</td>
<td class='EntranceMember_00050011'>{$donDate[$member['ID']]}</td>
<td class='EntranceMember_00050012'>{$member['PICTURE']}</td>
<td class='EntranceMember_00050013'>{$member['IMGSVR']}</td>
<td class='EntranceMember_00050014'>{$member['QUIT']}</td>
</tr>";
}
$response['members'] .= '</table>';
$response['count'] = "(0000/{$count})";
$rs = $DB->Select('REG, LOGIN', 'SYSTEM', "NO='1'");
$system = $DB->Get($rs);
$response['state'] = "가입: {$system['REG']}, 로그인: {$system['LOGIN']}";
$response['result'] = 'SUCCESS';
}
sleep(1);
echo json_encode($response);
?>
+121
View File
@@ -0,0 +1,121 @@
<?
// 외부 파라미터
// $_POST['select'] : 처리종류
// $_POST['no'] : NO
$select = $_POST['select'];
$no = $_POST['no'];
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.'DBS'.PHP);
require_once(ROOT.W.F_CONFIG.W.SETTINGS.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
if($member['GRADE'] < 6) {
$response['result'] = 'FAIL';
$response['msg'] = '운영자 권한이 없습니다.';
} else {
$rs = $DB->Select('ID', 'MEMBER', "NO='{$no}'");
$member = $DB->Get($rs);
if($select == 0) {
// 블럭회원
$DB->Update('MEMBER', 'GRADE=0', "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'USERLEVEL=0', "USER_ID='{$member['ID']}'");
}
}
} elseif($select == 1) {
// 일반회원
$DB->Update('MEMBER', 'GRADE=1', "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'USERLEVEL=1', "USER_ID='{$member['ID']}'");
}
}
} elseif($select == 2) {
// 참여회원
$DB->Update('MEMBER', 'GRADE=2', "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'USERLEVEL=2', "USER_ID='{$member['ID']}'");
}
}
} elseif($select == 3) {
// 유효회원
$DB->Update('MEMBER', 'GRADE=3', "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'USERLEVEL=3', "USER_ID='{$member['ID']}'");
}
}
} elseif($select == 4) {
// 특별회원
$DB->Update('MEMBER', 'GRADE=4', "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'USERLEVEL=4', "USER_ID='{$member['ID']}'");
}
}
} elseif($select == 5) {
// 전콘제거
$DB->Update('MEMBER', "PICTURE='', IMGSVR=0", "NO='{$no}'");
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', "PICTURE='default.jpg', IMGSVR=0", "NPC=0 AND USER_ID='{$member['ID']}'");
}
}
} elseif($select == 6) {
// 비번초기화
$pw = md5('11111111');
$DB->Update('MEMBER', "PW='{$pw}'", "NO='{$no}'");
} elseif($select == 7) {
// 회원삭제
$DB->Delete('MEMBER', "NO='{$no}'");
} elseif($select == 8) {
// 가입허용
$DB->Update('SYSTEM', "REG='Y'", "NO='1'");
} elseif($select == 9) {
// 가입금지
$DB->Update('SYSTEM', "REG='N'", "NO='1'");
} elseif($select == 10) {
// 로그인허용
$DB->Update('SYSTEM', "LOGIN='Y'", "NO='1'");
} elseif($select == 11) {
// 로그인금지
$DB->Update('SYSTEM', "LOGIN='N'", "NO='1'");
} elseif($select == 12) {
// 탈퇴처리(1개월)
$DB->Delete('MEMBER', "QUIT='Y' AND GRADE<'5' AND REG_DATE<DATE_SUB(NOW(), INTERVAL 1 MONTH)");
} elseif($select == 13) {
// 오래된계정(6개월)
$DB->Delete('MEMBER', "GRADE<'5' AND REG_DATE<DATE_SUB(NOW(), INTERVAL 6 MONTH)");
} elseif($select == 14) {
// 이미지업로드
$DB->Update('MEMBER', 'IMGSVR=0');
for($i=0; $i < $_serverCount; $i++) {
if($SETTINGS[$i]->IsExist()) {
$DBS[$i]->Update('general', 'IMGSVR=0');
}
}
}
$response['result'] = 'SUCCESS';
}
sleep(1);
echo json_encode($response);
?>
+202
View File
@@ -0,0 +1,202 @@
@charset "utf-8";
#EntranceMember_00 {
width: 1100px; height: 20px;
border: none;
position: absolute;
top: 20px; left: 50%;
margin-left: -550px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
display: none;
z-index: 2;
}
#EntranceMember_0000 {
width: 1098px; height: 50px;
position: absolute; top: 0px; left: 0px;
}
#EntranceMember_0001 {
width: 100px; height: 30px;
position: absolute; top: 10px; left: 750px;
}
#EntranceMember_0006 {
width: 1098px; height: 20px;
position: absolute; top: 52px; left: 0px;
}
#EntranceMember_000600 {
width: 200px; height: 20px;
position: absolute; top: 0px; left: 0px;
border: 0px;
line-height: 20px;
}
#EntranceMember_0002 {
width: 1098px; height: 20px;
position: absolute; top: 74px; left: 0px;
}
#EntranceMember_000200 {
width: 70px; height: 20px;
}
#EntranceMember_000201 {
width: 50px; height: 20px;
}
#EntranceMember_0003 {
width: 1098px; height: 20px;
position: absolute; top: 96px; left: 0px;
}
#EntranceMember_0004 {
width: 1100px; height: 20px;
position: absolute; top: 118px; left: 0px;
border: none;
}
#EntranceMember_000400 {
width: 38px; height: 20px;
float: left;
}
#EntranceMember_000401 {
width: 98px; height: 20px;
float: left;
}
#EntranceMember_000402 {
width: 68px; height: 20px;
float: left;
}
#EntranceMember_000403 {
width: 88px; height: 20px;
float: left;
}
#EntranceMember_000404 {
width: 98px; height: 20px;
float: left;
}
#EntranceMember_000405 {
width: 38px; height: 20px;
float: left;
}
#EntranceMember_000406 {
width: 138px; height: 20px;
float: left;
}
#EntranceMember_000407 {
width: 38px; height: 20px;
float: left;
}
#EntranceMember_000408 {
width: 138px; height: 20px;
float: left;
}
#EntranceMember_000409 {
width: 38px; height: 20px;
float: left;
}
#EntranceMember_000410 {
width: 58px; height: 20px;
float: left;
}
#EntranceMember_000411 {
width: 78px; height: 20px;
float: left;
}
#EntranceMember_000412 {
width: 88px; height: 20px;
float: left;
}
#EntranceMember_000413 {
width: 28px; height: 20px;
float: left;
}
#EntranceMember_000414 {
width: 38px; height: 20px;
float: left;
}
#EntranceMember_0005 {
width: 1100px; height: 20px;
position: absolute; top: 140px; left: 0px;
border: none;
}
#EntranceMember_000500 {
border: none;
}
.EntranceMember_00050000 {
width: 38px;
}
.EntranceMember_00050001 {
width: 98px;
}
.EntranceMember_00050002 {
width: 68px;
}
.EntranceMember_00050003 {
width: 88px;
}
.EntranceMember_00050004 {
width: 98px;
}
.EntranceMember_00050005 {
width: 38px;
}
.EntranceMember_00050006 {
width: 138px;
}
.EntranceMember_00050007 {
width: 38px;
}
.EntranceMember_00050008 {
width: 138px;
}
.EntranceMember_00050009 {
width: 38px;
}
.EntranceMember_00050010 {
width: 58px;
}
.EntranceMember_00050011 {
width: 78px;
}
.EntranceMember_00050012 {
width: 88px;
}
.EntranceMember_00050013 {
width: 28px;
}
.EntranceMember_00050014 {
width: 38px;
}
+8
View File
@@ -0,0 +1,8 @@
<?
define(ROOT, '../..');
require_once(ROOT.'/f_config/config.php');
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
CustomHeader();
?>
+154
View File
@@ -0,0 +1,154 @@
<?
// 외부 파라미터
require_once('_common.php');
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
require_once(ROOT.W.F_CONFIG.W.DBS.PHP);
require_once(ROOT.W.F_CONFIG.W.SETTINGS.PHP);
require_once(ROOT.W.F_CONFIG.W.SESSION.PHP);
$rs = $DB->Select('ID, GRADE', 'MEMBER', "NO='{$SESSION->NoMember()}'");
$member = $DB->Get($rs);
$response['serverCount'] = $_serverCount;
$response['servers'] = '';
for($i=0; $i < $_serverCount; $i++) {
if(!$SETTINGS[$i]->IsExist()) {
$response['servers'] .= "
<div class='Entrance_ServerList'>
<div class='Entrance_ServerListServer'><br>{$_serverNames[$i]}</div>
<div class='Entrance_ServerListDown'><br>- 폐 쇄 중 -</div>
</div>
";
//<br>(참여금이 모여 운영비가 마련될수록 많은 서버가 열립니다!)
} else {
$rs = $DBS[$i]->Select('ISUNITED, NPCMODE, YEAR, MONTH, SCENARIO, MAXGENERAL, TURNTERM', 'game', "NO='1'");
$game = $DBS[$i]->Get($rs);
$rs = $DBS[$i]->Select('COUNT(*) AS CNT', 'nation', "LEVEL>'0'");
$nation = $DBS[$i]->Get($rs);
$rs = $DBS[$i]->Select('COUNT(*) AS CNT', 'general', "NPC<'2'");
$gen = $DBS[$i]->Get($rs);
$rs = $DBS[$i]->Select('COUNT(*) AS CNT', 'general', "NPC>='2'");
$npc = $DBS[$i]->Get($rs);
unset($me);
$rs = $DBS[$i]->Select('NAME, PICTURE, IMGSVR', 'general', "USER_ID='{$member['ID']}'");
$me = $DBS[$i]->Get($rs);
if($game['ISUNITED'] == 2) { $state = "§천하통일§"; }
else { $state = "&lt;{$nation['CNT']}국 경쟁중&gt;"; }
$state = "<font size=2>{$state}</font>";
if($me) { $site = "login_process.php"; }
elseif($game['NPCMODE'] == 1) { $site = "selection.php"; }
else { $site = "join.php"; }
$info = "서기 {$game['YEAR']}{$game['MONTH']}월 (<font color=orange>".getScenario($game['SCENARIO'])."</font>)<br>
유저 : {$gen['CNT']} / {$game['MAXGENERAL']}명 <font color=cyan>NPC : {$npc['CNT']}명</font> (<font color=limegreen>".getTurnTerm($game['TURNTERM'])."</font>)";
if($member['GRADE'] == 0) {
$character = "<div class='Entrance_ServerListBlock'>- 계정 블럭 -</div>";
} elseif($_serverLevels[$i] == 2 && $member['GRADE'] < 2) {
$character = "<div class='Entrance_ServerListBlock'>- 클로즈 테스트중 -</div>";
} elseif($_serverLevels[$i] == 3 && $member['GRADE'] < 3) {
$character = "<div class='Entrance_ServerListBlock'>- 클로즈 테스트중 -</div>";
} elseif($_serverLevels[$i] == 4 && $member['GRADE'] < 4) {
$character = "<div class='Entrance_ServerListBlock'>- 클로즈 테스트중 -</div>";
} elseif($_serverLevels[$i] == 5 && $member['GRADE'] < 5) {
$character = "<div class='Entrance_ServerListBlock'>- 부운영자 테스트중 -</div>";
} elseif($_serverLevels[$i] >= 6 && $member['GRADE'] < 6) {
$character = "<div class='Entrance_ServerListBlock'>- 운영자 테스트중 -</div>";
} elseif($me) {
if($me['PICTURE'] == '') {
$picture = '<img src="'.IMAGE.W.'default.jpg">';
} else {
if($me['IMGSVR'] == 0) {
$picture = '<img src="'.IMAGE.W."{$me['PICTURE']}\">";
} else {
$picture = '<img src="../d_pic/'.W."{$me['PICTURE']}\">";
}
}
$character = "
<div class='Entrance_ServerListCharacter'>{$picture}</div>
<div class='Entrance_ServerListName'>{$me['NAME']}</div>
<input class='Entrance_ServerListLogin' type='button' value='입장' onclick='Entrance_Enter(\"{$_serverDirs[$i]}/login_process.php\")'>
";
} elseif($gen['CNT'] >= $game['MAXGENERAL']) {
$character = "<div class='Entrance_ServerListBlock'>- 장수 등록 마감 -</div>";
} else {
$character = "<div class='Entrance_ServerListNoRegister'>- 미 등 록 -</div>";
if($game['NPCMODE'] == 1) {
$character .= "<input class='Entrance_ServerListSelect' type='button' value='장수선택' onclick='Entrance_Enter(\"{$_serverDirs[$i]}/select_npc.php\")'>";
$character .= "<input class='Entrance_ServerListSelect' type='button' value='장수생성' onclick='Entrance_Enter(\"{$_serverDirs[$i]}/join.php\")'>";
} else {
$character .= "<input class='Entrance_ServerListLogin' type='button' value='장수생성' onclick='Entrance_Enter(\"{$_serverDirs[$i]}/join.php\")'>";
}
}
$response['servers'] .= "
<div class='Entrance_ServerList'>
<div class='Entrance_ServerListServer'><br>{$_serverNames[$i]}<br>{$state}</div>
<div class='Entrance_ServerListInfo'><br>{$info}</div>
{$character}
</div>
";
}
}
$response['result'] = 'SUCCESS';
sleep(1);
echo json_encode($response);
function getScenario($scenario) {
switch($scenario) {
case 0: $str = "공백지모드"; break;
case 1: $str = "역사모드1 : 184년 황건적의 난"; break;
case 2: $str = "역사모드2 : 190년 반동탁연합"; break;
case 3: $str = "역사모드3 : 194년 군웅할거"; break;
case 4: $str = "역사모드4 : 196년 황제는 허도로"; break;
case 5: $str = "역사모드5 : 200년 관도대전"; break;
case 6: $str = "역사모드6 : 202년 원가의 분열"; break;
case 7: $str = "역사모드7 : 207년 적벽대전"; break;
case 8: $str = "역사모드8 : 213년 익주 공방전"; break;
case 9: $str = "역사모드9 : 219년 삼국정립"; break;
case 10: $str = "역사모드10 : 225년 칠종칠금"; break;
case 11: $str = "역사모드11 : 228년 출사표"; break;
case 12: $str = "IF모드1 : 191년 백마장군의 위세"; break;
case 20: $str = "가상모드1 : 180년 영웅 난무"; break;
case 21: $str = "가상모드1 : 180년 영웅 집결"; break;
case 22: $str = "가상모드2 : 179년 훼신 집결"; break;
case 23: $str = "가상모드3 : 180년 영웅 시대"; break;
case 24: $str = "가상모드4 : 180년 결사항전"; break;
case 25: $str = "가상모드5 : 180년 영웅독존"; break;
case 26: $str = "가상모드6 : 180년 무풍지대"; break;
case 27: $str = "가상모드7 : 180년 가요대잔치"; break;
case 28: $str = "가상모드8 : 180년 확산성 밀리언 아서"; break;
default: $str = "시나리오?"; break;
}
return $str;
}
function getTurnTerm($term) {
switch($term) {
case 0: $str = "120분 턴 서버"; break;
case 1: $str = "60분 턴 서버"; break;
case 2: $str = "30분 턴 서버"; break;
case 3: $str = "20분 턴 서버"; break;
case 4: $str = "10분 턴 서버"; break;
case 5: $str = "5분 턴 서버"; break;
case 6: $str = "2분 턴 서버"; break;
case 7: $str = "1분 턴 서버"; break;
}
return $str;
}
?>