게시물 구조 설정

This commit is contained in:
2019-01-17 03:12:26 +09:00
parent 74d5f021cd
commit 8e56a457f1
3 changed files with 108 additions and 1 deletions
+73
View File
@@ -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
View File
@@ -4,6 +4,10 @@ DROP TABLE IF EXISTS general;
#
DROP TABLE IF EXISTS nation;
#
DROP TABLE IF EXISTS board;
DROP TABLE IF EXISTS comment;
#
DROP TABLE IF EXISTS city;
+31 -1
View File
@@ -437,6 +437,36 @@ CREATE TABLE `nation` (
)
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
##
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;
###########################################################################
##
###########################################################################
@@ -836,4 +866,4 @@ CREATE TABLE IF NOT EXISTS `storage` (
UNIQUE INDEX `key` (`namespace`, `key`)
)
COLLATE='utf8mb4_general_ci'
ENGINE=MyISAM
ENGINE=MyISAM