first commit

This commit is contained in:
pakerpale
2020-06-10 06:21:34 +09:00
commit 20c9739ba9
1913 changed files with 266257 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
<?php
class Comment extends MY_Controller
{
private $policy;
public function __construct()
{
parent::__construct();
$this->policy = [
'anyone' => true
];
}
public function index()
{
if ($this->authorization()) {
$this->load->model('comment_model');
$this->{$this->uri->segment(2)}();
} else {
$this->response(array('code' => 405, 'error' => '로그인 하세요'));
}
}
private function authorization()
{
$resource = $this->uri->segment(2);
$comment = $this->input->post('comment');
if ($resource == 'new' || $resource == 'reply') {
return (mb_strlen($comment, 'UTF-8') <= 10 && $this->policy['anyone']) || getSessionUser()->is;
} else if ($resource == 'delete') {
return getSessionUser()->is;
}
return true;
}
private function replies()
{
$commentId = $this->uri->segment(3);
$replies = $this->comment_model->getRepliesByCommentId($commentId)
->join('cm_user', 'cm_comment.userID=cm_user.userID', 'left')
->select('*, 0 like, 0 bad, 0 replies')->get()->result();
$this->comment_model->getRepliesAndRankings($replies);
$this->response(array('code' => 200, 'replies' => $replies));
}
private function new()
{
$data = [
'postID' => $this->input->post('postId'),
'userID' => getSessionUser()->is ? getSessionUser()->userID : 0,
'comment' => $this->input->post('comment'),
'datePosted' => date('Y-m-d H:i:s')
];
if ($insertId = $this->comment_model->save($data)) {
$this->response(array('code' => 200, 'commentId' => $insertId, 'datePosted' => $data['datePosted'], 'nickname' => getSessionUser()->is ? getSessionUser()->userName : ''));
} else {
$this->response(array('code' => 500, 'error' => '서버오류가 발생했습니다'));
}
}
private function reply()
{
$data = [
'postID' => $this->input->post('postId'),
'userID' => getSessionUser()->is ? getSessionUser()->userID : 0,
'parentID' => $this->input->post('parentId'),
'comment' => $this->input->post('comment'),
'datePosted' => date('Y-m-d H:i:s')
];
if ($insertId = $this->comment_model->save($data)) {
$this->response(array('code' => 200, 'commentId' => $insertId, 'datePosted' => $data['datePosted'], 'nickname' => getSessionUser()->is ? getSessionUser()->userName : ''));
} else {
$this->response(array('code' => 500, 'error' => '서버오류가 발생했습니다'));
}
}
private function rating()
{
$data = [
'userID' => getSessionUser()->is ? getSessionUser()->userID : 0,
'commentID' => $this->input->post('commentId'),
'title' => $this->input->post('title')
];
if ($this->comment_model->rating($data)) {
$this->response(array('code' => 200, 'ranking' => $this->comment_model->getCountRatingByCommentIdAndTitle($data['commentID'], $data['title'])));
} else {
lq();
$this->response(array('code' => 500, 'error' => '서버오류가 발생했습니다'));
}
}
private function delete()
{
if (getSessionUser()->userID == $this->comment_model->getOne($this->input->post('commentId'))->userID) {
if ($this->comment_model->delete($this->input->post('commentId'))) {
$this->response(array('code' => 200));
} else {
$this->response(array('code' => 500, 'error' => '서버오류가 발생했습니다'));
}
} else {
$this->response(array('code' => 405, 'error' => '잘못된 요청입니다.'));
}
}
private function update()
{
if (getSessionUser()->userID == $this->comment_model->getOne($this->input->post('commentId'))->userID) {
if ($this->comment_model->update([
'commentID' => $this->input->post('commentID'),
'comment' => $this->input->post('comment')
])) {
$this->response(array('code' => 200));
} else {
$this->response(array('code' => 500, 'error' => '서버오류가 발생했습니다'));
}
} else {
$this->response(array('code' => 405, 'error' => '잘못된 요청입니다.'));
}
}
}