/**
  * 댓글 입력
  */
 public function insert()
 {
     $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
     $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
     header("Content-Type: text/html; charset=UTF-8");
     if (!stristr($referer, $host)) {
         wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard-comments'));
     }
     $content = isset($_POST['content']) ? $_POST['content'] : '';
     $comment_content = isset($_POST['comment_content']) ? $_POST['comment_content'] : '';
     $member_display = isset($_POST['member_display']) ? $_POST['member_display'] : '';
     $password = isset($_POST['password']) ? $_POST['password'] : '';
     $captcha_text = isset($_POST['captcha']) ? $_POST['captcha'] : '';
     if (!class_exists('KBCaptcha')) {
         include_once KBOARD_DIR_PATH . '/class/KBCaptcha.class.php';
     }
     $captcha = new KBCaptcha();
     $content = $content ? $content : $comment_content;
     $content_uid = isset($_POST['content_uid']) ? intval($_POST['content_uid']) : '';
     $parent_uid = isset($_POST['parent_uid']) ? intval($_POST['parent_uid']) : '';
     $member_uid = isset($_POST['member_uid']) ? intval($_POST['member_uid']) : '';
     if (!is_user_logged_in() && !$member_display) {
         die("<script>alert('" . __('Please enter a author.', 'kboard-comments') . "');history.go(-1);</script>");
     } else {
         if (!is_user_logged_in() && !$password) {
             die("<script>alert('" . __('Please enter a password.', 'kboard-comments') . "');history.go(-1);</script>");
         } else {
             if (!$captcha->textCheck($captcha_text)) {
                 die("<script>alert('" . __('The CAPTCHA code is not valid. Please enter the CAPTCHA code.', 'kboard-comments') . "');history.go(-1);</script>");
             } else {
                 if (!$content_uid) {
                     die("<script>alert('" . __('No document UID.', 'kboard-comments') . "');history.go(-1);</script>");
                 } else {
                     if (!$content) {
                         die("<script>alert('" . __('Type the content of the comment.', 'kboard-comments') . "');history.go(-1);</script>");
                     }
                 }
             }
         }
     }
     $document = new KBContent();
     $document->initWithUID($content_uid);
     $setting = new KBoardMeta($document->board_id);
     if (!is_user_logged_in() && $setting->permission_comment_write == '1') {
         die('<script>alert("' . __('You do not have permission.', 'kboard-comments') . '");history.go(-1);</script>');
     }
     $commentList = new KBCommentList($content_uid);
     $commentList->add($parent_uid, $member_uid, $member_display, $content, $password);
     header("Location:{$referer}");
     exit;
 }
Ejemplo n.º 2
0
 /**
  * 게시글을 등록/수정한다.
  */
 public function execute()
 {
     $this->parent_uid = isset($_POST['parent_uid']) ? intval($_POST['parent_uid']) : 0;
     $this->member_uid = isset($_POST['member_uid']) ? intval($_POST['member_uid']) : 0;
     $this->member_display = isset($_POST['member_display']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['member_display']))) : '';
     $this->title = isset($_POST['title']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['title']))) : '';
     $this->content = isset($_POST['kboard_content']) ? kboard_safeiframe(kboard_xssfilter(trim($_POST['kboard_content']))) : '';
     $this->date = isset($_POST['date']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['date']))) : '';
     $this->category1 = isset($_POST['category1']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['category1']))) : '';
     $this->category2 = isset($_POST['category2']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['category2']))) : '';
     $this->secret = isset($_POST['secret']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['secret']))) : '';
     $this->notice = isset($_POST['notice']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['notice']))) : '';
     $this->search = isset($_POST['wordpress_search']) ? intval($this->secret && $_POST['wordpress_search'] == 1 ? '2' : $_POST['wordpress_search']) : '3';
     $this->password = isset($_POST['password']) ? kboard_xssfilter(kboard_htmlclear(trim($_POST['password']))) : '';
     if ($this->uid && $this->date) {
         // 기존게시물 업데이트
         $this->updateContent();
         $this->setThumbnail($this->uid);
         $this->update_options($this->uid);
         $this->update_attach($this->uid);
         /*
          * 게시글 수정 액션 훅 실행
          */
         do_action('kboard_document_update', $this->uid, $this->board_id);
         return $this->uid;
     } else {
         if (!$this->uid && $this->title) {
             // captcha 코드 확인
             include_once 'KBCaptcha.class.php';
             $captcha = new KBCaptcha();
             $captcha_text = isset($_POST['captcha']) ? $_POST['captcha'] : '';
             if (!$captcha->textCheck($captcha_text)) {
                 die("<script>alert('" . __('The CAPTCHA code is not valid. Please enter the CAPTCHA code.', 'kboard') . "');history.go(-1);</script>");
             }
             // 신규게시물 등록
             $uid = $this->insertContent();
             if ($uid) {
                 $this->setThumbnail($uid);
                 $this->update_options($uid);
                 $this->update_attach($uid);
                 // 게시판 설정에 알림 이메일이 설정되어 있으면 메일을 보낸다.
                 $meta = new KBoardMeta($this->board_id);
                 if ($meta->latest_alerts) {
                     /*
                      * http://www.cosmosfarm.com/threads/document/3025
                      * 메일 제목에 게시글이 등록된 게시판 이름 추가해서 보낸다.
                      */
                     $board = new KBoard();
                     $board->setID($this->board_id);
                     $url = new KBUrl();
                     include_once 'KBMail.class.php';
                     $mail = new KBMail();
                     $mail->to = explode(',', $meta->latest_alerts);
                     $mail->title = '[' . __('KBoard new document', 'kboard') . '] ' . $board->board_name . ' - ' . $this->title;
                     $mail->content = $this->content;
                     $mail->url = $url->getDocumentRedirect($uid);
                     $mail->send();
                 }
                 /*
                  * 게시글 입력 액션 훅 실행
                  */
                 do_action('kboard_document_insert', $uid, $this->board_id);
             }
             return $uid;
         }
     }
     return '';
 }
Ejemplo n.º 3
0
 /**
  * 게시글을 등록/수정한다.
  */
 public function execute()
 {
     $this->parent_uid = intval($_POST['parent_uid']);
     $this->member_uid = intval($_POST['member_uid']);
     $this->member_display = kboard_xssfilter(kboard_htmlclear(trim($_POST['member_display'])));
     $this->title = kboard_xssfilter(kboard_htmlclear(trim($_POST['title'])));
     $this->content = kboard_xssfilter(trim($_POST['kboard_content']));
     $this->date = kboard_xssfilter(kboard_htmlclear(trim($_POST['date'])));
     $this->category1 = kboard_xssfilter(kboard_htmlclear(trim($_POST['category1'])));
     $this->category2 = kboard_xssfilter(kboard_htmlclear(trim($_POST['category2'])));
     $this->secret = kboard_xssfilter(kboard_htmlclear(trim($_POST['secret'])));
     $this->notice = kboard_xssfilter(kboard_htmlclear(trim($_POST['notice'])));
     $this->search = intval($this->secret == 'true' && $_POST['wordpress_search'] == 1 ? '2' : $_POST['wordpress_search']);
     $this->password = kboard_xssfilter(kboard_htmlclear(trim($_POST['password'])));
     if ($this->uid && $this->date) {
         // 기존게시물 업데이트
         $this->_updateContent();
         $this->setThumbnail($this->uid);
         $this->update_options($this->uid);
         $this->update_attach($this->uid);
         /*
          * 게시글 수정 액션 훅 실행
          */
         do_action('kboard_document_update', $this->uid);
         return $this->uid;
     } else {
         if (!$this->uid && $this->title) {
             // captcha 코드 확인
             include_once 'KBCaptcha.class.php';
             $captcha = new KBCaptcha();
             if (!$captcha->textCheck($_POST['captcha'])) {
                 die("<script>alert('" . __('The CAPTCHA code is not valid. Please enter the CAPTCHA code.', 'kboard') . "');history.go(-1);</script>");
             }
             // 신규게시물 등록
             $uid = $this->_insertContent();
             if ($uid) {
                 $this->setThumbnail($uid);
                 $this->update_options($uid);
                 $this->update_attach($uid);
                 // 게시판 설정에 알림 이메일이 설정되어 있으면 메일을 보낸다.
                 $meta = new KBoardMeta($this->board_id);
                 if ($meta->latest_alerts) {
                     include 'KBMail.class.php';
                     $mail = new KBMail();
                     $mail->to = explode(',', $meta->latest_alerts);
                     $mail->title = $this->title;
                     $mail->content = $this->content;
                     $mail->send();
                 }
                 /*
                  * 게시글 입력 액션 훅 실행
                  */
                 do_action('kboard_document_insert', $uid);
             }
             return $uid;
         }
     }
     return '';
 }
Ejemplo n.º 4
0
$comment_content = isset($_POST['comment_content']) ? $_POST['comment_content'] : '';
$member_display = isset($_POST['member_display']) ? $_POST['member_display'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
$captcha_text = isset($_POST['captcha']) ? $_POST['captcha'] : '';
$captcha = new KBCaptcha();
$content = $content ? $content : $comment_content;
$content_uid = isset($_POST['content_uid']) ? intval($_POST['content_uid']) : '';
$parent_uid = isset($_POST['parent_uid']) ? intval($_POST['parent_uid']) : '';
$member_uid = isset($_POST['member_uid']) ? intval($_POST['member_uid']) : '';
if (!is_user_logged_in() && !$member_display) {
    die("<script>alert('" . __('Please enter a author.', 'kboard-comments') . "');history.go(-1);</script>");
} else {
    if (!is_user_logged_in() && !$password) {
        die("<script>alert('" . __('Please enter a password.', 'kboard-comments') . "');history.go(-1);</script>");
    } else {
        if (!$captcha->textCheck($captcha_text)) {
            die("<script>alert('" . __('The CAPTCHA code is not valid. Please enter the CAPTCHA code.', 'kboard-comments') . "');history.go(-1);</script>");
        } else {
            if (!$content_uid) {
                die("<script>alert('" . __('No document UID.', 'kboard-comments') . "');history.go(-1);</script>");
            } else {
                if (!$content) {
                    die("<script>alert('" . __('Type the content of the comment.', 'kboard-comments') . "');history.go(-1);</script>");
                }
            }
        }
    }
}
$document = new KBContent();
$document->initWithUID($content_uid);
$setting = new KBoardMeta($document->board_id);
Ejemplo n.º 5
0
include $path . DIRECTORY_SEPARATOR . 'wp-load.php';
include KBOARD_DIR_PATH . '/class/KBCaptcha.class.php';
header("Content-Type: text/html; charset=UTF-8");
if (!stristr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) {
    wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard-comments'));
}
$userdata = get_userdata($user_ID);
$captcha = new KBCaptcha();
$content = $_POST['content'] ? $_POST['content'] : $_POST['comment_content'];
if (!$userdata->id && !$_POST['member_display']) {
    die("<script>alert('" . __('Please enter a author.', 'kboard-comments') . "');history.go(-1);</script>");
} else {
    if (!$userdata->id && !$_POST['password']) {
        die("<script>alert('" . __('Please enter a password.', 'kboard-comments') . "');history.go(-1);</script>");
    } else {
        if (!$captcha->textCheck($_POST['captcha'])) {
            die("<script>alert('" . __('The CAPTCHA code is not valid. Please enter the CAPTCHA code.', 'kboard-comments') . "');history.go(-1);</script>");
        } else {
            if (!$_POST['content_uid'] && !$_POST['parent_uid']) {
                die("<script>alert('" . __('No document UID.', 'kboard-comments') . "');history.go(-1);</script>");
            } else {
                if (!$content) {
                    die("<script>alert('" . __('Type the content of the comment.', 'kboard-comments') . "');history.go(-1);</script>");
                }
            }
        }
    }
}
$commentList = new KBCommentList($_POST['content_uid']);
$commentList->add($_POST['parent_uid'], $_POST['member_uid'], $_POST['member_display'], $content, $_POST['password']);
// 댓글 입력 완료 후 이전 페이지로 이동