[1ddce7ac2e]게시물 구조 설정
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
$isSecretBoard = Util::getReq('isSecret', 'bool', false);
|
||||
|
||||
increaseRefresh("회의실", 1);
|
||||
|
||||
$me = $db->queryFirstRow('SELECT no, nation, level, permission, con, turntime, belong, penalty FROM general WHERE owner=%i', $userID);
|
||||
|
||||
|
||||
$con = checkLimit($me['con']);
|
||||
if ($con >= 2) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'접속 제한입니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
$permission = checkSecretPermission($me);
|
||||
if($permission < 0){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'국가에 소속되어있지 않습니다.'
|
||||
]);
|
||||
|
||||
}
|
||||
else if ($isSecretBoard && $permission < 2) {
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'권한이 부족합니다. 수뇌부가 아닙니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
$articles = [];
|
||||
|
||||
foreach(
|
||||
$db->query(
|
||||
'SELECT * FROM board WHERE nation_no = %i AND is_secret = %i ORDER BY date desc',
|
||||
$me['nation'],
|
||||
$isSecretBoard
|
||||
) as $article
|
||||
){
|
||||
//TODO:아이콘 받아오기
|
||||
$article['comment'] = [];
|
||||
$articles[$article['no']] = $article;
|
||||
}
|
||||
|
||||
foreach(
|
||||
$db->query(
|
||||
'SELECT * FROM comment WHERE nation_no = %i AND is_secret = %i ORDER BY date asc',
|
||||
$me['nation'],
|
||||
$isSecretBoard
|
||||
) as $comment
|
||||
){
|
||||
//TODO:아이콘 받아오기?
|
||||
$articles[$article['no']]['comment'] = $comment;
|
||||
}
|
||||
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
'articles'=>$articles,
|
||||
'reason'=>'success'
|
||||
]);
|
||||
|
||||
@@ -4,6 +4,11 @@ DROP TABLE IF EXISTS `general_turn`;
|
||||
# 국가 테이블 삭제
|
||||
DROP TABLE IF EXISTS nation;
|
||||
DROP TABLE IF EXISTS `nation_turn`;
|
||||
|
||||
# 회의실 테이블 삭제
|
||||
DROP TABLE IF EXISTS board;
|
||||
DROP TABLE IF EXISTS comment;
|
||||
|
||||
# 도시 테이블 삭제
|
||||
DROP TABLE IF EXISTS city;
|
||||
|
||||
|
||||
+28
-1
@@ -329,6 +329,33 @@ CREATE TABLE `nation_turn` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `nation` (`nation_id`, `level`, `turn_idx`),
|
||||
INDEX `action` (`action`, `turn_idx`, `nation_id`, `level`)
|
||||
##회의실
|
||||
CREATE TABLE `board` (
|
||||
`no` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`nation_no` INT(11) NOT NULL,
|
||||
`is_secret` TINYINT(1) NOT NULL,
|
||||
`date` DATETIME NOT NULL,
|
||||
`general_no` INT(11) NOT NULL,
|
||||
`author` VARCHAR(32) NOT NULL,
|
||||
`title` TEXT NOT NULL,
|
||||
`text` TEXT NOT NULL,
|
||||
PRIMARY KEY (`no`),
|
||||
INDEX `nation_no` (`nation_no`, `is_secret`, `date`)
|
||||
)
|
||||
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE `comment` (
|
||||
`no` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`nation_no` INT(11) NOT NULL,
|
||||
`is_secret` TINYINT(1) NOT NULL,
|
||||
`date` DATETIME NOT NULL,
|
||||
`document_no` INT(11) NOT NULL,
|
||||
`general_no` INT(11) NOT NULL,
|
||||
`author` VARCHAR(32) NOT NULL,
|
||||
`text` TEXT NOT NULL,
|
||||
PRIMARY KEY (`no`),
|
||||
INDEX `nation_no` (`nation_no`, `is_secret`, `date`),
|
||||
INDEX `document_no` (`document_no`, `date`)
|
||||
)
|
||||
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
@@ -732,4 +759,4 @@ CREATE TABLE IF NOT EXISTS `storage` (
|
||||
UNIQUE INDEX `key` (`namespace`, `key`)
|
||||
)
|
||||
COLLATE='utf8mb4_general_ci'
|
||||
ENGINE=MyISAM
|
||||
ENGINE=MyISAM
|
||||
Reference in New Issue
Block a user