<?php

/*
=====================================================================

  프로젝트 이름 : 피리 카페 심플

  만든사람 : 피리 PIREE ( tosports@naver.com )

  홈페이지 : https://piree.kr/nett_dev

  작성날짜 : 2024년 04월 14일 일요일 오후 18시 30분 / 맑음, 26.5, 건조주의보, 28, 9, 0%, 0%, 2.4ms / 양호, 33, 12, 0.005

  저 작 권 : Copyright ⓒ 2024 피리 piree.kr All right reserved
              그누보드 외에 추가된 소스는~
              만든사람의 허락없이 무단으로 사용할수 없습니다.
              사용하고자 할 경우 만든사람의 허락을 받아야 합니다.
              http://.piree.kr 에 문의해 주세요.

=====================================================================
 피리 카페 심플 > 프로그램 > 피리 카페 관리 > 내 카페 > 게시판 > 게시글 쓰기
=====================================================================

*/

  include_once('./_common.php');

  include_once(G5_EDITOR_LIB);

  include_once(G5_CAPTCHA_PATH.'/captcha.lib.php' );

  include_once( piree__path($piree_prog_a[770000]['num'], 'form.lib.php') );

  $piree_cafe_board_write_action_u = https_url_get( piree__url($piree_prog_a[770099]['num'], 'piree.cafe.board.write_update.php') );

  include_once( piree__path($piree_prog_a[770099]['num'], '_CAFE.INFO.CHECK.inc.php') );

  check_device($board_cate_list_a[$board_cate_n]['bca_device']);

  $notice_array = explode(',', trim($board_cate_list_a[$board_cate_n]['bca_notice']));

  IF ( !($w == '' || $w == 'u' || $w == 'r') )
  {
    alert('w 값이 제대로 넘어오지 않았습니다.');
  }

  SWITCH ( $w )
  {

    CASE 'u' :

      IF ( $write['wr_id'] )
      {

// $wr_1 .. $wr_10 까지 만든다.
          FOR ( $i=1; $i<=10; $i++ )
          {
              $vvar = "wr_".$i;
              $$vvar = $write['wr_'. $i];
          }
// $wr_1 .. $wr_10 까지 만든다.

      }
      ELSE
      {
          alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);
      }

//('bbs_write', $board, $wr_id, $w);
      run_event('cafe_board_write', $piree_cafe_n, $board_cate_n, $wr_id, $w);

// .00 : 글쓰기 권한과 수정은 별도로 처리되어야 함

// .00 : 글쓰기 권한과 수정은 별도로 처리되어야 함
      IF ( $member['mb_id'] && $write['mb_id'] === $member['mb_id'] )
      {

        ;

      }
      ELSE IF ( $cafe_member_a['cafe_mem_level_n'] < $board_cate_list_a[$board_cate_n]['bca_write_level'] )
      {

        IF ( $member['mb_id'] )
        {
          alert('글을 수정할 권한이 없습니다.');
        }
        ELSE
        {
          alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'. $qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='. $piree['cafe_board_code']));
        }

      }
// .00 : 글쓰기 권한과 수정은 별도로 처리되어야 함

      $len = strlen($write['wr_reply']);

      IF ( $len < 0 )
      {
        $len = 0;
      }

      $reply = substr($write['wr_reply'], 0, $len);

      $sql_select  = "SELECT COUNT(*) AS cnt FROM `". $piree['cafe_article'] ."` ";
      $sql_select .= "WHERE `wr_reply` like '". $reply ."%' AND `wr_id` <> '". $write['wr_id'] ."' AND `wr_num` = '". $write['wr_num'] ."' AND `wr_is_comment` = '0'";
      $row = sql_fetch($sql_select);

      IF ( $row['cnt'] && !piree_cafe_auth_get() )
      {
        alert('이 글과 관련된 답변글이 존재하므로 수정 할 수 없습니다.\\n\\n답변글이 있는 원글은 수정할 수 없습니다.');
      }

// 원글의 수정 여부
      $sql_select  = "SELECT COUNT(*) AS cnt FROM `". $piree['cafe_article'] ."` ";
      $sql_select .= "WHERE `wr_parent` = '". $wr_id ."' AND `mb_id` <> '". $member['mb_id'] ."' AND `wr_is_comment` = '1'";
      $row = sql_fetch($sql);

      IF ( $board_cate_list_a[$board_cate_n]['bca_count_modify'] && $row['cnt'] >= $board_cate_list_a[$board_cate_n]['bca_count_modify'] && !piree_cafe_auth_get() )
      {
        alert('이 글과 관련된 댓글이 존재하므로 수정 할 수 없습니다.\\n\\n댓글이 '. $board_cate_list_a[$board_cate_n]['bca_count_modify'].'건 이상 달린 원글은 수정할 수 없습니다.');
      }

      $title_msg = '글수정';

    BREAK;

    CASE 'r' :

      IF ( $write['wr_id'] )
      {

// $wr_1 .. $wr_10 까지 만든다.
          FOR ( $i=1; $i<=10; $i++ )
          {
              $vvar = "wr_".$i;
              $$vvar = $write['wr_'. $i];
          }
// $wr_1 .. $wr_10 까지 만든다.

      }
      ELSE
      {

          alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);

      }

//('bbs_write', $board, $wr_id, $w);
      run_event('cafe_board_write', $piree_cafe_n, $board_cate_n, $wr_id, $w);

      IF ( $cafe_member_a['cafe_mem_level_n'] < $board_cate_list_a[$board_cate_n]['bca_reply_level'] )
      {

          IF ( $member['mb_id'] )
          {
              alert('글을 답변할 권한이 없습니다.');
          }
          ELSE
          {
              alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?'. $qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='. $piree['cafe_board_code']));
          }

      }

      $tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0;

      IF ( $tmp_point + $board_cate_list_a[$board_cate_n]['bca_write_point'] < 0 && !piree_cafe_auth_get() )
      {
          alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글답변('.number_format($board_cate_list_a[$board_cate_n]['bca_comment_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글답변 해 주십시오.');
      }

// ( preg_match("/[^0-9]{0,1}". $wr_id ."[\r]{0,1}/", $board_cate_list_a[$board_cate_n]['bca_notice']) )

      IF ( in_array((int)$wr_id, $notice_array) )
      {
          alert('공지에는 답변 할 수 없습니다.');
      }

//----------
//.06.13 : 비밀글을 타인이 열람할 수 있는 오류 수정 (헐랭이, 플록님께서 알려주셨습니다.)
// 답변이 불가하므로

      IF ( $write['wr_is_comment'])
      {
          alert('정상적인 접근이 아닙니다.');
      }

      IF ( strstr($write['wr_option'], 'secret') )
      {

          IF ( $write['mb_id'] )
          {

              IF ( !($write['mb_id'] === $member['mb_id'] || piree_cafe_auth_get()) )
              {
                  alert('비밀글에는 자신 또는 관리자만 답변이 가능합니다.');
              }

          }
          ELSE
          {

              IF ( !piree_cafe_auth_get() )
              {
                  alert('비회원의 비밀글에는 답변이 불가합니다.');
              }

          }

      }

      $reply_array = &$write;

      IF ( strlen($reply_array['wr_reply']) == 10 )
      {
          alert('더 이상 답변하실 수 없습니다.\\n\\n답변은 10단계 까지만 가능합니다.');
      }

      $reply_len = strlen($reply_array['wr_reply']) + 1;

      IF ( $board_cate_list_a[$board_cate_n]['bca_reply_order'] )
      {
          $begin_reply_char = 'A';
          $end_reply_char = 'Z';
          $reply_number = +1;
          $sql_select  = "SELECT MAX(SUBSTRING(wr_reply, ". $reply_len .", 1)) AS `reply` ";
          $sql_select .= "FROM `". $piree['cafe_article'] ."` WHERE `wr_num` = '". $reply_array['wr_num'] ."' AND SUBSTRING(`wr_reply`, ". $reply_len .", 1) <> '' ";
      }
      ELSE
      {
          $begin_reply_char = 'Z';
          $end_reply_char = 'A';
          $reply_number = -1;
          $sql_select = "SELECT MIN(SUBSTRING(wr_reply, ". $reply_len .", 1)) AS `reply` ";
          $sql_select .= "FROM `". $piree['cafe_article'] ."` WHERE `wr_num` = '". $reply_array['wr_num'] ."' AND SUBSTRING(`wr_reply`, ". $reply_len .", 1) <> '' ";
      }

      IF ( $reply_array['wr_reply'] )
      {
        $sql_select .= " AND `wr_reply` LIKE '". $reply_array['wr_reply'] ."%' ";
      }

      $row = sql_fetch($sql_select);

      IF ( !$row['reply'] )
      {
          $reply_char = $begin_reply_char;
      }
      ELSE IF ( $row['reply'] == $end_reply_char )
      {
//~Z은 26 입니다.
          alert('더 이상 답변하실 수 없습니다.\\n\\n답변은 26개 까지만 가능합니다.');
      }
      ELSE
      {
          $reply_char = chr(ord($row['reply']) + $reply_number);
      }

      $reply = $reply_array['wr_reply'] . $reply_char;

      $title_msg = '글답변';

      $write['wr_subject'] = 'Re: '. $write['wr_subject'];

    BREAK;

    DEFAULT :

// $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성  (다온테마님,210806)
      FOR ( $i=1; $i<=10; $i++ )
      {
          $vvar = "wr_".$i;
          $$vvar = '';
      }
// $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성  (다온테마님,210806)

//('bbs_write', $board, $wr_id, $w);
      run_event('cafe_board_write', $piree_cafe_n, $board_cate_n, $wr_id, $w);

      IF ( $wr_id )
      {
          alert('글쓰기에는 \$wr_id 값을 사용하지 않습니다.', go_piree_cafe_board('', $piree_cafe_n, $board_cate_n));
      }

      IF ( $cafe_member_a['cafe_mem_level_n'] < $board_cate_list_a[$board_cate_n]['bca_write_level'] )
      {

        IF ( $member['mb_id'] )
        {
            alert('글을 쓸 권한이 없습니다.');
        }
        ELSE
        {
            alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", G5_BBS_URL.'/login.php?'. $qstr.'&amp;url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='. $piree['cafe_board_code']));
        }

      }

      IF ( $is_member )
      {

          $tmp_point = ($member['mb_point'] > 0) ? $member['mb_point'] : 0;

          IF ( $tmp_point + $board_cate_list_a[$board_cate_n]['bca_write_point'] < 0 && !piree_cafe_auth_get() )
          {
              alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글쓰기('.number_format($board_cate_list_a[$board_cate_n]['bca_write_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글쓰기 해 주십시오.');
          }

      }

      $title_msg = '글쓰기';

    BREAK;

  }

  IF ( $board_cate_list_a[$board_cate_n]['bca_use_cert'] != '' && $config['cf_cert_use'] && !piree_cafe_auth_get() )
  {

    IF ( $is_guest) {
        alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='. $wr_id.$qstr.'&amp;url='.urlencode(go_piree_cafe_board('', $piree_cafe_n, $board_cate_n, $wr_id) .'&amp;'. $qstr));
    }

    IF ( strlen($member['mb_dupinfo']) == 64 && $member['mb_certify'] )
    {
        goto_url(G5_BBS_URL."/member_cert_refresh.php?url=". urlencode(go_piree_cafe_board('', $piree_cafe_n, $board_cate_n, $wr_id) .'&amp;'. $qstr));
    }

    IF ( $board_cate_list_a[$board_cate_n]['bca_use_cert'] == 'cert' && !$member['mb_certify'] )
    { 
        alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
    }

    IF ( $board_cate_list_a[$board_cate_n]['bca_use_cert'] == 'adult' && !$member['mb_adult'] )
    {
        alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
    }

  }

    $g5['title'] = ((G5_IS_MOBILE && $board_cate_list_a[$board_cate_n]['bca_mobile_subject']) ? $board_cate_list_a[$board_cate_n]['bca_mobile_subject'] : $board_cate_list_a[$board_cate_n]['bca_cate_s']).' '. $title_msg;

    $notice_checked = '';

    $is_notice = false;

    IF ( piree_cafe_auth_get() && $w != 'r' )
    {

      $is_notice = true;

      IF ( $w == 'u' )
      {

        IF ( $write['wr_reply'] )
        {

            $is_notice = false;

        }
        ELSE
        {

            IF ( in_array((int)$wr_id, $notice_array) )
            {
                $notice_checked = 'checked';
            }

        }

      }

    }

    IF ( piree_cafe_auth_get() || $board_cate_list_a[$board_cate_n]['bca_use_dhtml_editor'])
    {
      $write_min = $write_max = 0;
    }
    ELSE
    {
      $write_min = (int)$board_cate_list_a[$board_cate_n]['bca_write_min'];
      $write_max = (int)$board_cate_list_a[$board_cate_n]['bca_write_max'];
    }

    $is_html = false;

    IF ( $cafe_member_a['cafe_mem_level_n'] >= $board_cate_list_a[$board_cate_n]['bca_html_level'] )
    {
      $is_html = true;
    }

    $is_mail = false;

    $recv_email_checked = '';

    IF ( $config['cf_email_use'] && $board_cate_list_a[$board_cate_n]['bca_use_email'] )
    {
      $is_mail = true;
    }

    IF ( $w == '' || strstr($write['wr_option'], 'mail') )
    {
        $recv_email_checked = 'checked';
    }

    $is_secret = $board_cate_list_a[$board_cate_n]['bca_use_secret'];

    $is_name = false;

    $is_password = false;

    $is_email = false;

    $is_homepage = false;

    $is_link = false;

    $is_file = false;

    $is_file_content = false;

    IF ( $is_guest || (piree_cafe_auth_get() && $w == 'u' && $member['mb_id'] !== $write['mb_id']) )
    {

      $is_name     = true;
      $is_password = true;
      $is_email    = true;
      $is_homepage = true;

    }

    IF ( $cafe_member_a['cafe_mem_level_n'] >= $board_cate_list_a[$board_cate_n]['bca_link_level'] )
    {
      $is_link = true;
    }

    IF ( $cafe_member_a['cafe_mem_level_n'] >= $board_cate_list_a[$board_cate_n]['bca_upload_level'] )
    {
      $is_file = true;
    }

    IF ( $board_cate_list_a[$board_cate_n]['bca_use_file_content'] )
    {
      $is_file_content = true;
    }

    $file_count = (int)$board_cate_list_a[$board_cate_n]['bca_upload_count'];

    $name = "";

    $email = "";

    $homepage = "";

    $content = '';

    SWITCH ( $w )
    {

      CASE 'u' :

        $password_required = '';

        IF ( !piree_cafe_auth_get() )
        {

            IF ( !($is_member && $member['mb_id'] === $write['mb_id']) )
            {

                IF ( !check_password($wr_password, $write['wr_password']) )
                {
                    $is_wrong = run_replace('invalid_password', false, 'write', $write);
                    IF (!$is_wrong) alert('비밀번호가 틀립니다.');
                }

            }

        }

        $name = get_text(cut_str(stripslashes($write['wr_name']),20));

        $email = get_email_address($write['wr_email']);

        $homepage = get_text(stripslashes($write['wr_homepage']));

        FOR ( $i=1; $i<=G5_LINK_COUNT; $i++ )
        {

            $write['wr_link'. $i] = get_text($write['wr_link'. $i]);

            $link[$i] = $write['wr_link'. $i];

        }

        IF ( strstr($write['wr_option'], 'html1') )
        {

            $html_checked = 'checked';

            $html_value = 'html1';

        }
        ELSE IF ( ( strstr($write['wr_option'], 'html2') ) )
        {

            $html_checked = 'checked';

            $html_value = 'html2';

        }

        IF ( strstr($write['wr_option'], 'secret') )
        {
            $secret_checked = 'checked';
        }

        $file = get_file($piree['cafe_board_code'], $wr_id);

        IF ($file_count < $file['count'] )
        {
            $file_count = $file['count'];
        }

        FOR ( $i=0;$i<$file_count;$i++ )
        {

            IF ( !isset($file[$i]) )
            {

                $file[$i] = array('file'=>null, 'source'=>null, 'size'=>null, 'bf_content' => null);

            }

        }

        $content = get_text($write['wr_content'], 0);

      BREAK;

      CASE 'r' :

        IF ( $is_member )
        {

            IF ( isset($write['wr_name']) )
            {
              $name = get_text(cut_str(stripslashes($write['wr_name']),20));
            }

            $email = get_email_address($member['mb_email']);

            $homepage = get_text(stripslashes($member['mb_homepage']));

        }

        IF ( strstr($write['wr_option'], 'secret') )
        {
            $is_secret = true;
            $secret_checked = 'checked';
        }

        $password_required = "required";

        FOR ( $i=1; $i<=G5_LINK_COUNT; $i++ )
        {

            $write['wr_link'. $i] = get_text($write['wr_link'. $i]);

        }

        IF ( !strstr($write['wr_option'], 'html') )
        {
          $content = "\n\n\n &gt; "
                   ."\n &gt; "
                   ."\n &gt; ".str_replace("\n", "\n> ", get_text($write['wr_content'], 0))
                   ."\n &gt; "
                   ."\n &gt; ";
        }

      BREAK;

      DEFAULT :

        IF ( $is_member )
        {

            IF ( isset($write['wr_name']) )
            {
              $name = get_text(cut_str(stripslashes($write['wr_name']),20));
            }

            $email = get_email_address($member['mb_email']);

            $homepage = get_text(stripslashes($member['mb_homepage']));

        }

        $password_required = 'required';

        $content = html_purifier($board_cate_list_a[$board_cate_n]['bca_insert_content']);

      BREAK;

    }

    $html_checked   = "";

    $html_value = "";

    $secret_checked = "";

    set_session('ss_bo_table', $piree['cafe_board_code']);

    set_session('ss_wr_id', $wr_id);

    $subject = "";

    IF (isset($write['wr_subject']) )
    {
      $subject = str_replace("\"", "&#034;", get_text(cut_str($write['wr_subject'], 255), 0));
    }

    $upload_max_filesize = number_format($board_cate_list_a[$board_cate_n]['bca_upload_size']) . ' 바이트';

    $width = $board_cate_list_a[$board_cate_n]['bca_table_width'];

    IF ( $width <= 100 )
    {
      $width .= '%';
    }
    ELSE
    {
      $width .= 'px';
    }

    $captcha_html = '';

    $captcha_js = '';

    $is_use_captcha = ((($board_cate_list_a[$board_cate_n]['bca_use_captcha'] && $w !== 'u') || $is_guest) && !piree_cafe_auth_get()) ? 1 : 0;

    IF ( $is_use_captcha )
    {

      $captcha_html = captcha_html();

      $captcha_js   = chk_captcha_js();

    }

    $is_dhtml_editor = false;

    $is_dhtml_editor_use = false;

    $editor_content_js = '';

    IF ( !is_mobile() || defined('G5_IS_MOBILE_DHTML_USE' ) && G5_IS_MOBILE_DHTML_USE )
    {
      $is_dhtml_editor_use = true;
    }

// 설정에 따라 DHTML 에디터 적용
    IF ( $config['cf_editor'] && $is_dhtml_editor_use && $board_cate_list_a[$board_cate_n]['bca_use_dhtml_editor'] && $cafe_member_a['cafe_mem_level_n'] >= $board_cate_list_a[$board_cate_n]['bca_html_level'] )
    {

      $is_dhtml_editor = true;

      IF ( $w == 'u' && (! $is_member || ! piree_cafe_auth_get() || $write['mb_id'] !== $member['mb_id']) )
      {

          $content = get_text(html_purifier($write['wr_content']), 0);

      }

      IF ( is_file(G5_EDITOR_PATH.'/'. $config['cf_editor'] .'/autosave.editor.js') )
      {

          $editor_content_js = '<script src="'.G5_EDITOR_URL.'/'. $config['cf_editor'] .'/autosave.editor.js"></script>'.PHP_EOL;

      }

    }
// 설정에 따라 DHTML 에디터 적용

    $editor_html = editor_html('wr_content', $content, $is_dhtml_editor);

    $editor_js  = '';
    $editor_js .= get_editor_js('wr_content', $is_dhtml_editor);
    $editor_js .= chk_editor_js('wr_content', $is_dhtml_editor);

    $autosave_count = autosave_count($member['mb_id']);

    include_once( get_cafe_skin_file('path', 'basic', '_head.sub.php') );

    @include_once ($board_cate_list_a[$board_cate_n]['board_skin_p'] .'/write.head.skin.php' );

    include_once( get_cafe_skin_file('path', 'basic', '_head.skin.php') );

?>
    <script>

      var piree_cafe_url = "<?php echo piree__url($piree_prog_a[770099]['num'], ''); ?>";

    </script>
<?php

  // add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
    add_javascript('<script src="'.  piree__url($piree_prog_a[770099]['num'], 'piree.cafe.board.js')  .'"></script>', 0);

    include_once ($board_cate_list_a[$board_cate_n]['board_skin_p'] .'/piree.cafe.write.skin.php' );

    echo '<!-- skin : '.(G5_IS_MOBILE ? $board_cate_list_a[$board_cate_n]['bca_mobile_skin'] : $board_cate_list_a[$board_cate_n]['bca_skin']).' -->';

    include_once( get_cafe_skin_file('path', 'basic', '_tail.skin.php') );

    @include_once ($board_cate_list_a[$board_cate_n]['board_skin_p'] .'/write.tail.skin.php' );

    include_once( get_cafe_skin_file('path', 'basic', '_tail.sub.php') );

?>