- 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로 처리하도록 준비
306 lines
12 KiB
PHP
306 lines
12 KiB
PHP
<?php
|
||
include "lib.php";
|
||
include "func.php";
|
||
|
||
|
||
$connect = dbConn();
|
||
increaseRefresh("메인", 2);
|
||
checkTurn($connect);
|
||
|
||
$db = getDB();
|
||
|
||
//로그인 검사
|
||
if(!isSigned()){
|
||
header('Location:../');
|
||
die();
|
||
}
|
||
|
||
$userID = getUserID();
|
||
if(!$userID){
|
||
header('Location:../');
|
||
die();
|
||
}
|
||
|
||
$me = $db->queryFirstRow('select no,skin,con,turntime,newmsg,newvote,map from general where owner = %i', $userID);
|
||
|
||
//그새 사망이면
|
||
if($me === null) {
|
||
resetSessionGeneralValues();
|
||
header('Location: ../');
|
||
die();
|
||
}
|
||
|
||
if($me['newmsg'] == 1 && $me['newvote'] == 1) {
|
||
$query = "update general set newmsg=0,newvote=0 where owner='{$_SESSION['noMember']}'";
|
||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
} elseif($me['newmsg'] == 1) {
|
||
$query = "update general set newmsg=0 where owner='{$_SESSION['noMember']}'";
|
||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
} elseif($me['newvote'] == 1) {
|
||
$query = "update general set newvote=0 where owner='{$_SESSION['noMember']}'";
|
||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
}
|
||
|
||
$query = "select develcost,online,conlimit,tournament,tnmt_type,turnterm,scenario,extend,fiction,npcmode,vote from game where no=1";
|
||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
$admin = MYDB_fetch_array($result);
|
||
|
||
$query = "select plock from plock where no=1";
|
||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
$plock = MYDB_fetch_array($result);
|
||
|
||
$con = checkLimit($me['con'], $admin['conlimit']);
|
||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||
|
||
if($me['skin'] < 1) {
|
||
$tempColor = $_basecolor; $tempColor2 = $_basecolor2; $tempColor3 = $_basecolor3; $tempColor4 = $_basecolor4;
|
||
$_basecolor = "000000"; $_basecolor2 = "000000"; $_basecolor3 = "000000"; $_basecolor4 = "000000";
|
||
}
|
||
|
||
$scenario = getScenario();
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>메인</title>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
||
<script src="js/common.js"></script>
|
||
<script src="js/main.js"></script>
|
||
<script src="js/base_map.js"></script>
|
||
<script src="js/map.js"></script>
|
||
<script>
|
||
$(function(){
|
||
reloadWorldMap({
|
||
hrefTemplate:'b_currentCity.php?citylist={0}'
|
||
});
|
||
});
|
||
</script>
|
||
<link href="css/normalize.css" rel="stylesheet">
|
||
<link href="css/common.css" rel="stylesheet">
|
||
<link href="css/main.css" rel="stylesheet">
|
||
<link href="css/map.css" rel="stylesheet">
|
||
|
||
<?php require('analytics.php'); ?>
|
||
</head>
|
||
<body>
|
||
|
||
<div id="container">
|
||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 style=font-size:13px;word-break:break-all; id=bg0>
|
||
<tr><td colspan=5><?=allButton()?></td></tr>
|
||
<tr height=50>
|
||
<td colspan=5 align=center><font size=4>삼국지 모의전투 PHP 유기체서버 (<font color=<?=$me['skin']>0?"cyan":"white";?>><?=$scenario;?></font>)</font></td>
|
||
</tr>
|
||
<?php
|
||
$valid = 0;
|
||
if($admin['extend'] == 0) { $extend = "표준"; }
|
||
else { $extend = "확장"; $valid = 1; }
|
||
if($admin['fiction'] == 0) { $fiction = "사실"; }
|
||
else { $fiction = "가상"; $valid = 1; }
|
||
if($admin['npcmode'] == 0) { $npcmode = "불가능"; }
|
||
else { $npcmode = "가능"; $valid = 1; }
|
||
if($me['skin'] > 0) { $color = "cyan"; }
|
||
else { $color = "white"; }
|
||
if($valid == 1) {
|
||
echo "
|
||
<tr height=30>
|
||
<td width=398 colspan=2 align=center><font color={$color}>{$scenario}</font></td>
|
||
<td width=198 align=center><font color={$color}>NPC수 : {$extend}</font></td>
|
||
<td width=198 align=center><font color={$color}>NPC상성 : {$fiction}</font></td>
|
||
<td width=198 align=center><font color={$color}>NPC선택 : {$npcmode}</font></td>
|
||
</tr>";
|
||
}
|
||
?>
|
||
|
||
<tr height=30>
|
||
<td width=198 align=center><?php info($connect, 2, $me['skin']); ?></td>
|
||
<td width=198 align=center>전체 접속자 수 : <?=$admin['online'];?> 명</td>
|
||
<td width=198 align=center>턴당 갱신횟수 : <?=$admin['conlimit'];?>회</td>
|
||
<td width=398 colspan=2 align=center><?php info($connect, 3, $me['skin']); ?></td>
|
||
</tr>
|
||
<tr height=30>
|
||
<td align=center>
|
||
<?php
|
||
if($plock['plock'] == 0) { echo "<marquee scrollamount=2><font color=cyan>서버 가동중</font></marquee>"; }
|
||
else { echo "<font color=magenta>서버 동결중</font>"; }
|
||
|
||
echo "
|
||
</td>
|
||
<td align=center>
|
||
";
|
||
|
||
switch($admin['tnmt_type']) {
|
||
case 0: $str = "전력전"; break;
|
||
case 1: $str = "통솔전"; break;
|
||
case 2: $str = "일기토"; break;
|
||
case 3: $str = "설전"; break;
|
||
}
|
||
$str2 = getTournament($admin['tournament']);
|
||
$str3 = getTournamentTime($connect);
|
||
if($admin['tournament'] == 0) { echo "<font color=magenta>현재 토너먼트 경기 없음</font>"; }
|
||
else { echo "<marquee scrollamount=2>↑<font color=cyan>{$str}</font> {$str2} {$str3}↑</marquee>"; }
|
||
|
||
echo "
|
||
</td>
|
||
<td align=center>
|
||
";
|
||
|
||
$query = "select no from auction";
|
||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||
$auctionCount = MYDB_num_rows($result);
|
||
if($auctionCount > 0) { echo "<marquee scrollamount=2><font color=cyan>{$auctionCount}건</font> 거래 진행중</marquee>"; }
|
||
else { echo "<font color=magenta>진행중 거래 없음</font>"; }
|
||
|
||
echo "
|
||
</td>
|
||
<td colspan=2 align=center>
|
||
";
|
||
|
||
$vote = explode("|", $admin['vote']);
|
||
$vote[0] = Tag2Code($vote[0]);
|
||
if($vote[0] == "") { echo "<font color=magenta>진행중 설문 없음</font>"; }
|
||
else { echo "<marquee scrollamount=3><font color=cyan>설문 진행중</font> : $vote[0]</marquee>"; }
|
||
|
||
|
||
echo "
|
||
</td>
|
||
</tr>";
|
||
?>
|
||
<tr><td colspan=5>접속중인 국가: <?=onlinenation($connect);?></td></tr>
|
||
<tr><td colspan=5><?php adminMsg($connect, $me['skin']); ?></td></tr>
|
||
<tr><td colspan=5>【 국가방침 】<?php nationMsg($connect, $me['skin']); ?></td></tr>
|
||
<tr><td colspan=5>【 접속자 】<?=onlinegen($connect);?></td></tr>
|
||
<?php
|
||
if(getUserGrade() >= 5) {
|
||
echo "
|
||
<tr><td colspan=5>
|
||
<input type=button value=게임관리 onclick=location.replace('_admin1.php')>
|
||
<input type=button value=회원관리 onclick=location.replace('_admin2.php')>
|
||
<input type=button value=멀티관리 onclick=location.replace('_admin4.php')>
|
||
<input type=button value=일제정보 onclick=window.open('_admin5.php')>
|
||
<input type=button value=접속정보 onclick=window.open('_admin6.php')>
|
||
<input type=button value=로그정보 onclick=window.open('_admin7.php')>
|
||
<input type=button value=외교정보 onclick=window.open('_admin8.php')>
|
||
<input type=button value=시뮬 onclick=window.open('_simul.php')>
|
||
<input type=button value=119 onclick=window.open('_119.php')>
|
||
</td></tr>
|
||
";
|
||
}
|
||
|
||
?>
|
||
|
||
</table>
|
||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 style=font-size:13px;word-break:break-all; id=bg0>
|
||
<tr>
|
||
<td width=698 height=520 colspan=2>
|
||
<?=getMapHtml()?>
|
||
</td>
|
||
<td width=298 rowspan=4><iframe name=commandlist src='commandlist.php' width=298 height=700 frameborder=0 marginwidth=0 marginheight=0 topmargin=0 scrolling=no></iframe></td>
|
||
</tr>
|
||
<form name=form2 action=preprocessing.php method=post target=commandlist>
|
||
<tr>
|
||
<td rowspan=3 width=50 valign=top><?=turnTable()?></td>
|
||
<td width=646><?php cityInfo($connect); ?></td>
|
||
</tr>
|
||
<tr>
|
||
<td width=646 align=right>
|
||
<font color=<?=$me['skin']>0?"cyan":"white";?>><b>←</b> Ctrl, Shift, 드래그로 복수선택 가능 반복&수정<b>→</b></font>
|
||
<select name=sel size=1 style=color:white;background-color:black;font-size:13px;>
|
||
<option value=1>1턴</option>
|
||
<option value=2>2턴</option>
|
||
<option value=3>3턴</option>
|
||
<option value=4>4턴</option>
|
||
<option value=5>5턴</option>
|
||
<option value=6>6턴</option>
|
||
<option value=7>7턴</option>
|
||
<option value=8>8턴</option>
|
||
<option value=9>9턴</option>
|
||
<option value=10>10턴</option>
|
||
<option value=11>11턴</option>
|
||
<option value=12>12턴</option>
|
||
</select><input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:50;font-size:13px; value='반복' onclick='refreshing(2,0)'><input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:80;font-size:13px; value='▼미루기' onclick='refreshing(2,1)'><input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:80;font-size:13px; value='▲당기기' onclick='refreshing(2,2)'>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td width=646 align=right>
|
||
<?php commandTable($connect); ?>
|
||
<input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:110;font-size:13px; value='실 행' onclick='refreshing(3,form2)'><input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:110;font-size:13px; value='갱 신' onclick='refreshing(0,0)'><input type=button style=background-color:<?=$_basecolor2;?>;color:white;width:160;font-size:13px; value='로그아웃' onclick=location.replace('logout_process.php')><br>
|
||
</td>
|
||
</tr>
|
||
</form>
|
||
</table>
|
||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 style=font-size:13px;word-break:break-all; id=bg0>
|
||
<tr>
|
||
<td width=498><?php myNationInfo($connect); ?></td>
|
||
<td width=498><?php myInfo($connect); ?></td>
|
||
</tr>
|
||
<tr><td colspan=2><?=commandButton()?></td></tr>
|
||
</table>
|
||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 style=font-size:13px;word-break:break-all; id=bg0>
|
||
<tr>
|
||
<td width=498 align=center id=bg1><b>장수 동향</b></td>
|
||
<td width=498 align=center id=bg1><b>개인 기록</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td width=498 ><?php AllLog(15, $me['skin']); ?></td>
|
||
<td width=498 ><?php MyLog($me['no'], 15, $me['skin']); ?></td>
|
||
</tr>
|
||
<tr><td width=998 colspan=2 align=center id=bg1><b>중원 정세</b></td></tr>
|
||
<tr><td width=998 colspan=2><?php History(15, $me['skin']); ?></td></tr>
|
||
</table>
|
||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 style=font-size:13px;word-break:break-all; id=bg0>
|
||
<tr>
|
||
<td colspan=2>
|
||
<div class="message_input_form bg0">
|
||
<select id="mailbox_list" size="1">
|
||
|
||
<select name="genlist" size="1" style="color:white;background-color:black;font-size:13">
|
||
</select>
|
||
<input type="textarea" id="msg_input" maxlength="99">
|
||
<button id="msg_submit">서신전달&갱신</button>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr><td colspan=2><?=allButton()?></td></tr>
|
||
<tr><td colspan=2>
|
||
<div id="message_board">
|
||
<div class="board_side">
|
||
<div class="board_header bg0">전체 메시지(최고99자)</div>
|
||
<section class="public_message">
|
||
|
||
</section>
|
||
<div class="board_header bg0">개인 메시지(최고99자)</div>
|
||
<section class="private_message">
|
||
|
||
</section>
|
||
</div>
|
||
<div class="board_side">
|
||
<section class="diplomacy_message">
|
||
|
||
</section>
|
||
<div class="board_header bg0">국가 메시지(최고99자)</div>
|
||
<section class="national_message">
|
||
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</td></tr>
|
||
<tr><td colspan=2>
|
||
|
||
<?php
|
||
echo allButton();
|
||
echo banner();
|
||
?>
|
||
|
||
</td></tr>
|
||
</table>
|
||
<?php PrintElapsedTime(); ?>
|
||
</div>
|
||
</body>
|
||
</html>
|
||
<?php
|
||
if($con == 1) { MessageBox("접속제한이 얼마 남지 않았습니다!"); }
|
||
if($me['newmsg'] == 1) { MessageBox("개인 서신이 도착했습니다!"); }
|
||
if($me['newvote'] == 1) { $develcost = $admin['develcost']*5; MessageBox("설문조사에 참여하시면 금{$develcost}과 유니크템을 드립니다! (우측 상단 설문조사 메뉴)"); }
|