Showing
2 changed files
with
12 additions
and
10 deletions
| ... | @@ -70,10 +70,10 @@ create table comment( | ... | @@ -70,10 +70,10 @@ create table comment( |
| 70 | >UPDATE board SET idx = @COUNT:=@COUNT+1; | 70 | >UPDATE board SET idx = @COUNT:=@COUNT+1; |
| 71 | 71 | ||
| 72 | --- | 72 | --- |
| 73 | -### 최종 수정: 2021-11-26 16:26<br> | 73 | +### 최종 수정: 2021-11-26 19:48<br> |
| 74 | ### 수정 내용: | 74 | ### 수정 내용: |
| 75 | 0. 채팅 중 서버 재시작시 기존 참여자들 리셋시키기 이슈 | 75 | 0. 채팅 중 서버 재시작시 기존 참여자들 리셋시키기 이슈 |
| 76 | -1. 채팅 구현 | 76 | +1. 채팅 구현(팝업) |
| 77 | 2. 시간 실시간 반영 | 77 | 2. 시간 실시간 반영 |
| 78 | 3. 프로필 사진 추가 | 78 | 3. 프로필 사진 추가 |
| 79 | 4. 프로필 검색 추가 | 79 | 4. 프로필 검색 추가 |
| ... | @@ -81,4 +81,4 @@ create table comment( | ... | @@ -81,4 +81,4 @@ create table comment( |
| 81 | 6. 채팅(socket) 사용 중 서버 재시작 시 서버 오류 해결 | 81 | 6. 채팅(socket) 사용 중 서버 재시작 시 서버 오류 해결 |
| 82 | 7. 코드 다듬음 | 82 | 7. 코드 다듬음 |
| 83 | 8. 버그 수정 | 83 | 8. 버그 수정 |
| 84 | -9. 댓글 등록, 열람 기능 구현. 삭제 기능 불완전함(달린 댓글이 1개일 때만 삭제기능 동작) | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 84 | +9. 댓글 등록, 열람, 삭제 기능 구현 및 버그 픽스 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -103,6 +103,7 @@ router.post('/write', function(req,res,next){ | ... | @@ -103,6 +103,7 @@ router.post('/write', function(req,res,next){ |
| 103 | 103 | ||
| 104 | router.get('/read/:idx', function(req,res,next){ | 104 | router.get('/read/:idx', function(req,res,next){ |
| 105 | var ip = requestIp.getClientIp(req); | 105 | var ip = requestIp.getClientIp(req); |
| 106 | + | ||
| 106 | var idx = req.params.idx | 107 | var idx = req.params.idx |
| 107 | var sql = "select idx, nickname, title, content, date_format(modidate,'%Y-%m-%d %H:%i:%s') modidate, " + | 108 | var sql = "select idx, nickname, title, content, date_format(modidate,'%Y-%m-%d %H:%i:%s') modidate, " + |
| 108 | "date_format(regdate,'%Y-%m-%d %H:%i:%s') regdate, hit, ID from board where idx=?"; | 109 | "date_format(regdate,'%Y-%m-%d %H:%i:%s') regdate, hit, ID from board where idx=?"; |
| ... | @@ -152,9 +153,11 @@ router.post('/read/commentwrite', function(req,res,next){ | ... | @@ -152,9 +153,11 @@ router.post('/read/commentwrite', function(req,res,next){ |
| 152 | }) | 153 | }) |
| 153 | 154 | ||
| 154 | router.post('/read/commentdelete', function(req,res,next){ | 155 | router.post('/read/commentdelete', function(req,res,next){ |
| 156 | + | ||
| 157 | + | ||
| 155 | var ip = requestIp.getClientIp(req); | 158 | var ip = requestIp.getClientIp(req); |
| 156 | var idx = req.body.idxcomment; | 159 | var idx = req.body.idxcomment; |
| 157 | - var idxbulletin = req.body.idx; | 160 | + var idxbulletin = (req.headers.referer).split('/')[5]; |
| 158 | var ID = req.user.ID; | 161 | var ID = req.user.ID; |
| 159 | var datas = [ID, idx] | 162 | var datas = [ID, idx] |
| 160 | 163 | ||
| ... | @@ -174,22 +177,21 @@ router.post('/read/commentdelete', function(req,res,next){ | ... | @@ -174,22 +177,21 @@ router.post('/read/commentdelete', function(req,res,next){ |
| 174 | if(err__) console.error(err__) | 177 | if(err__) console.error(err__) |
| 175 | 178 | ||
| 176 | var nickname = req.user.nickname; | 179 | var nickname = req.user.nickname; |
| 177 | - res.send("<script>alert('댓글이 운영자에 의해 삭제되었습니다.');history.back();</script>"); | 180 | + console.log(logString+"[Admin] "+req.user.ID+'('+nickname+') 유저가 '+idxbulletin+'번 글에서 '+idx+'번 댓글을 삭제했습니다.('+ip+')') |
| 178 | - console.log(logString+"[Admin] "+req.user.ID+'('+nickname+') 유저가 '+idx+'번 댓글을 삭제했습니다.('+ip+')') | 181 | + res.redirect('/board/read/'+idxbulletin) |
| 179 | }) | 182 | }) |
| 180 | } | 183 | } |
| 181 | else{ // 작성자도, 운영자도 아니면 | 184 | else{ // 작성자도, 운영자도 아니면 |
| 182 | var nickname = req.user.nickname; | 185 | var nickname = req.user.nickname; |
| 183 | - console.log(logString+req.user.ID+'('+nickname+') 유저의 '+idx+'번 댓글 삭제를 거부했습니다.(권한없음 // '+ip+')') | 186 | + console.log(logString+req.user.ID+'('+nickname+') 유저의 '+idxbulletin+'번 글의 '+idx+'번 댓글 삭제를 거부했습니다.(권한없음 // '+ip+')') |
| 184 | res.send("<script>alert('댓글 작성자가 아닙니다');history.back();</script>"); | 187 | res.send("<script>alert('댓글 작성자가 아닙니다');history.back();</script>"); |
| 185 | } | 188 | } |
| 186 | }) | 189 | }) |
| 187 | } | 190 | } |
| 188 | else{ // 작성자인 경우 | 191 | else{ // 작성자인 경우 |
| 189 | - var id = req.user.ID; | ||
| 190 | var nickname = req.user.nickname; | 192 | var nickname = req.user.nickname; |
| 191 | - res.send("<script>alert('댓글이 삭제되었습니다.');history.back();</script>"); | 193 | + console.log(logString+req.user.ID+'('+nickname+') 유저가 '+idxbulletin+'번 글에서 '+idx+'번 댓글을 삭제했습니다.('+ip+')') |
| 192 | - console.log(logString+req.user.ID+'('+nickname+') 유저가 '+idx+'번 댓글을 삭제했습니다.('+ip+')') | 194 | + res.redirect('/board/read/'+idxbulletin) |
| 193 | } | 195 | } |
| 194 | }) | 196 | }) |
| 195 | 197 | ... | ... |
-
Please register or login to post a comment