외교서신 응답

This commit is contained in:
2019-04-07 22:17:46 +09:00
parent 25dcf426b1
commit 9e1bb50d78
4 changed files with 97 additions and 7 deletions
+3 -2
View File
@@ -68,6 +68,7 @@ $db->insert('board', [
]);
Json::die([
'result'=>false,
'reason'=>'success'
'result'=>true,
'reason'=>'success',
'row_id'=>$db->insertId()
]);
+3 -2
View File
@@ -76,6 +76,7 @@ $db->insert('comment', [
]);
Json::die([
'result'=>false,
'reason'=>'success'
'result'=>true,
'reason'=>'success',
'row_id'=>$db->insertId()
]);
+84
View File
@@ -0,0 +1,84 @@
<?php
namespace sammo;
include "lib.php";
include "func.php";
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$letterNo = Util::getReq('letterNo', 'int');
$isAgree = Util::getReq('isAgree', 'bool', false);
$reason = Util::getReq('reason', 'string', '');
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'=>'접속 제한입니다.'
]);
}
if($letterNo === null){
Json::die([
'result'=>false,
'reason'=>'올바르지 않은 입력입니다.'
]);
}
$permission = checkSecretPermission($me);
if ($permission < 4) {
Json::die([
'result'=>false,
'reason'=>'권한이 부족합니다. 수뇌부가 아닙니다.'
]);
}
$reason = trim($reason);
$letter = $db->queryFirstRow('SELECT * FROM ng_diplomacy WHERE no=%i AND dest_nation_id = %i AND state = \'proposed\'', $letterNo, $me['nation']);
if(!$letter){
Json::die([
'result'=>false,
'reason'=>'서신이 없습니다.'
]);
}
$aux = Json::decode($letter['aux']);
if($isAgree){
$aux['dest']['generalName'] = $me['name'];
$db->update('ng_diplomacy', [
'state'=>'activated',
'dest_signer'=>$me['no'],
'aux'=>Json::encode($aux)
], 'no=%i', $letterNo);
//TODO: 외교 서신에 대한 메시지를 양국에 발송해야함
}
else{
$aux['reason'] = [
'who'=>$me['no'],
'action'=>'disagree',
'reason'=>$reason
];
$db->update('ng_diplomacy', [
'state'=>'cancelled',
'aux'=>Json::encode($aux)
]);
//TODO: 외교 서신에 대한 메시지를 양국에 발송해야함
}
Json::die([
'result'=>true,
'reason'=>'success'
]);
+7 -3
View File
@@ -52,7 +52,7 @@ if(!$textBrief){
$permission = checkSecretPermission($me);
if ($permission < 2) {
if ($permission < 4) {
Json::die([
'result'=>false,
'reason'=>'권한이 부족합니다. 수뇌부가 아닙니다.'
@@ -89,7 +89,8 @@ if($prevNo !== null){
$prevAux = Json::decode($prevLetter['aux']);
$prevAux['reason'] = [
'who'=>$me['no'],
'action'=>'new_letter'
'action'=>'new_letter',
'reason'=>'new_letter'
];
$db->update('ng_diplomacy', [
'state'=>'cancelled',
@@ -131,8 +132,11 @@ $db->insert('ng_diplomacy', [
]),
]);
//TODO: 외교 서신에 대한 메시지를 양국에 발송해야함
Json::die([
'result'=>false,
'result'=>true,
'reason'=>'success',
'row_id'=>$db->insertId()
]);