Files
core/twe/index.php
T
Hide_D 0c9be5c53f 루트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로 처리하도록 준비
2018-03-07 00:59:31 +09:00

306 lines
12 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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">서신전달&amp;갱신</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}과 유니크템을 드립니다! (우측 상단 설문조사 메뉴)"); }