Пример #1
0
 function getComment($document_srl, $comment_srl)
 {
     $args->comment_srl = $comment_srl;
     $args->document_srl = $document_srl;
     $result = new Object();
     // 전체 개수
     $output = executeQuery('socialxe.getCommentCount', $args);
     if (!$output->toBool()) {
         $result->add('list', array());
         $result->add('total', 0);
         return $result;
     }
     $total = $output->data->count;
     // 댓글을 가져온다
     $output = executeQueryArray('socialxe.getComment', $args);
     // 쿼리 결과에서 오류가 생기면 그냥 return
     if (!$output->toBool()) {
         $result->add('list', array());
         $result->add('total', 0);
         return $result;
     }
     $comment_list = $output->data;
     if (!$comment_list) {
         $comment_list = array();
     }
     if (!is_array($comment_list)) {
         $comment_list = array($comment_list);
     }
     // 소셜 댓글 아이템을 생성
     $socialCommentList = array();
     foreach ($comment_list as $comment) {
         if (!$comment->comment_srl) {
             continue;
         }
         unset($oSocialComment);
         $oSocialComment = new socialCommentItem();
         $oSocialComment->setAttribute($comment);
         if ($is_admin) {
             $oSocialComment->setGrant();
         }
         $socialCommentList[$comment->comment_srl] = $oSocialComment;
     }
     $result->add('total', $total);
     $result->add('use_comment_srl', true);
     // 결과가 없으면 그냥 전체 댓글 리스트를 반환한다.
     if (!count($socialCommentList)) {
         return $this->getCommentList($document_srl);
     } else {
         $result->add('list', $socialCommentList);
         return $result;
     }
 }
 function procSocialxeDeleteComment()
 {
     $comment_srl = Context::get('comment_srl');
     if (!$comment_srl) {
         return $this->stop('msg_invalid_request');
     }
     // 우선 SocialCommentItem을 만든다.
     // DB에서 읽어오게 되지만, 어차피 권한 체크하려면 읽어야 한다.
     $oComment = new socialCommentItem($comment_srl);
     // comment 모듈의 controller 객체 생성
     $oCommentController =& getController('comment');
     $output = $oCommentController->deleteComment($comment_srl, $oComment->isGranted());
     if (!$output->toBool()) {
         return $output;
     }
     // 위젯에서 화면 갱신에 사용할 정보 세팅
     $this->add('skin', Context::get('skin'));
     $this->add('document_srl', Context::get('document_srl'));
     $this->add('comment_srl', Context::get('comment_srl'));
     $this->add('list_count', Context::get('list_count'));
     $this->add('content_link', Context::get('content_link'));
     $this->setMessage('success_deleted');
 }