commit 898b885c5438529bde0874120a5ce45b068cde87 Author: Arcturus Date: Sat Oct 19 08:14:55 2024 +0900 init diff --git a/_common.php b/_common.php new file mode 100644 index 0000000..a2c4579 --- /dev/null +++ b/_common.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/ajax.filter.php b/ajax.filter.php new file mode 100644 index 0000000..2dbe7b6 --- /dev/null +++ b/ajax.filter.php @@ -0,0 +1,72 @@ + diff --git a/inc.list_main.php b/inc.list_main.php new file mode 100644 index 0000000..7b4c99b --- /dev/null +++ b/inc.list_main.php @@ -0,0 +1,17 @@ + diff --git a/inc.stat.php b/inc.stat.php new file mode 100644 index 0000000..d06fae2 --- /dev/null +++ b/inc.stat.php @@ -0,0 +1,150 @@ + +
+ ▶ 통계 +
+
+
+

지난 1014일 (일별)

+ + + "; + ?> + + ";} + ?> +
> +

+

+
+
+
+

(오늘)

+ + + "; + ?> + + "; + if($k==23) echo ""; + }?> + +
+

+

+
+
+
+

(어제)

+ + + "; + ?> + + "; + if($k==23) echo ""; + }?> + +
+

+

+
+
+
+

(2일전)

+ + + "; + ?> + + "; + if($k==23) echo ""; + }?> + +
+

+

+
+
+
+

(3일전)

+ + + "; + ?> + + "; + if($k==23) echo ""; + }?> + +
+

+

+
+
+
+
+
+ \ No newline at end of file diff --git a/list.skin.php b/list.skin.php new file mode 100644 index 0000000..a856c49 --- /dev/null +++ b/list.skin.php @@ -0,0 +1,387 @@ +', 0); + +$width=$board['bo_width'] ? $board['bo_width'] : 100; +if($width<=100) $width=$width."%"; +else $width=$width."px"; + + +$clap_max=10; +if($board['bo_1']!='') $clap_max=$board['bo_1']; +$clap_t=sql_fetch("select sum(cl_cnt) as sum from {$g5['clap_table']} where date_format(cl_date, '%Y-%m-%d')='".G5_TIME_YMD."' and cl_ip='{$_SERVER['REMOTE_ADDR']}'"); +$cl_cnt=$clap_t['sum']; + +?> + +
+ +

관리자


+ + 0 && !$board['bo_3']){ + shuffle($img_list); + ?> +
+ +
+ + +
+ + +
+ +
+
+ + + + +
+
+ + + + + +
+
+ +
+ +

* 통계 확인 및 웹박수 랜덤이미지 등록을 위해 아래 공지 체크후 메시지를 작성해주세요.
* 랜덤 이미지는 글 등록 후 수정(M)을 눌러 이미지를 업로드 해주시면 됩니다.
+ * 공지글로 작성한 내용은 노출되지 않습니다.

+
+ + +
+ +
+
+ +
+
    + +
  • +
    +
    + + + + + + + + + + + +

    오늘: / 전체:

    + +

    + + + D + M + + + +

    + + 0){?> + ▶ 랜덤이미지 확인 + + +

    * 수정(M)을 눌러 웹박수 랜덤이미지를 등록 해주세요.

    + + + +

    + + + + + + + D + R + + +

    +
    "> + + [SECRET]
    + + + + +
    + +
    + +
    +
  • + +
+ + + +
+ +
+ +
+ +
+ + + + +
+ + + + + + + + + + + + + +
+ \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..cc64cc0 --- /dev/null +++ b/readme.md @@ -0,0 +1,14 @@ +## Amber 용 게시판 Webclap 스킨 + +작성자: 대하 (Extra Shot) +원본주소: https://extrashot.tistory.com/77 + +모든 아보카도 버전에 호환됩니다. + +## 설치방법 + +아보카도가 설치된 폴더의 하위 폴더인 `skin/board/` 에 `webclap` 라는 폴더를 생성하고 파일을 업로드합니다. + +``` +php 최소 버전: 5.6 +``` diff --git a/style.css b/style.css new file mode 100644 index 0000000..555b039 --- /dev/null +++ b/style.css @@ -0,0 +1,127 @@ +@charset "utf-8"; + +textarea {display:block;} + +/* 본문 */ +#page_board_content { padding: 0 10px; } + +.board-notice { max-width: 430px; padding: 20px; margin: 0 auto; text-align: center;} /* 상단공지 */ + +.clap_box button.clap {height:40px;line-height:38px;} /* 박수! 버튼 */ + +.ui-write-box { /* 메시지 남기기 영역 */ + position:relative; + margin: 0 auto;padding-right:101px; + width: 90%; + box-sizing:border-box; + overflow: hidden; +} +.ui-write-box textarea { /* 메시지 남기기 텍스트박스 */ + width: 100%; height: 100px; + padding: 10px; + box-sizing: border-box; +} +.ui-write-box #btn_submit { /* 메시지 남기기 버튼 */ + padding:30px 0;position:absolute;right:0;top:0; + width:100px;height:100px;line-height:20px; + } + +.ui-control { padding-top: 5px; overflow: hidden; text-align: right; } +.ui-control .files {position:relative;display:flex;margin:5px 0;} +.ui-control .files dt {width:100px;flex-shrink:0;} +.ui-control .files dd {margin:0;width:100%;} + +.ui-qna-list { position: relative; clear: both; } /* 메시지 리스트 전체 영역 */ +.ui-qna-list li { position: relative; padding: 15px 0; } /* 각 메시지 영역 */ +.ui-qna-list li p { clear: both; margin: 0 0 10px; line-height: 1.5em;} +.ui-qna-list li p.txt-center {padding:20px 0 10px;} +.ui-qna-list li p.notice {margin:0;} +.ui-qna-list li p.notice strong {position:absolute;top:10px;right:15px;} +.ui-qna-list li p strong a { + display: block; padding: 2px 5px; margin-right:5px; float: right; + font-size:9px; font-family: 'dotum', sans-serif;font-weight: normal; +} + +.ui-qna-list li .ui-btn.small { + margin-top:5px;margin-left:8px;padding:0 6px; + height:20px;line-height:18px; + font-size:11px; font-family:'dotum',sans-serif; + border-radius:2px;opacity:0.8; +} +.ui-qna-list li .qna-content.guest {opacity:0;} +.ui-qna-list li .qna-content.guest::selection {opacity:1;} +.ui-qna-list li .qna-content { margin:0 15px 5px; } +.ui-qna-list li .qna-content a { word-break:break-all; } +.ui-qna-list li .qna-comment-content { position:relative;padding:5px 15px; } +.ui-qna-list li .qna-comment-content p {padding:0;margin:0;} + +.ui-qna-list li ul li { padding: 0; } +.ui-qna-list li ul li .clear {text-align:right;} +.ui-qna-list li ul li .clear a {display:inline-block;float:none;} + +.ui-qna-list li div.ui-write-area { padding:5px 0 0; margin-bottom: 10px;} +.ui-qna-list li div.ui-write-area button { white-space:nowrap; height: 28px; line-height: 28px; padding: 0 25px; margin-top: 10px; } + +.ui-qna-list .ui-qna-list-password label { padding-right: 10px; } +.ui-qna-list .ui-qna-list-password label.blur { text-shadow: none; } +.ui-qna-list .ui-qna-list-password input { position: relative; z-index: 1; } +.ui-qna-list .ui-qna-list-password button { + height: 28px; line-height: 28px; padding: 0 25px; + font-family: 'Dotum'; margin-left: -5px; border-left-width: 0; +} + +.ui-qna-list .no-data { text-align: center; line-height: 100px; } + +.search-box { clear: both; float: right; margin-bottom: 10px; } + + +/*통계 섹션*/ +#clap_wrap {display:none;max-height:340px;overflow-y:auto;} +/* #clap_wrap::-webkit-scrollbar{display:none;} */ +#stat_total {text-align:center;padding: 10px 0; font-size:13px;margin-bottom:0;} +.clap_container {display:flex;flex-wrap:wrap;justify-content:space-evenly;} +.clap_container section {display:flex; flex-direction: column;justify-content: space-between;margin:10px 0;} +#clap_wrap .clap_stat_daily {width:300px;} +#clap_wrap .clap_stat_weekly {width:65%;} + +#clap_wrap h3 {margin-bottom:5px;padding:8px 0;background:rgba(100,100,100,0.1);} +#clap_wrap h3 .less {display:none;} +#clap_wrap table {width:100%; margin:0 auto;} + +#clap_wrap table td { + position:relative;padding:0 0 18px;height:140px; + vertical-align:bottom; text-align:center; line-height:1; + font-family:'dotum',sans-serif;font-size:11px; + box-sizing:border-box;border-bottom:1px solid rgba(100,100,100,0.1); +} +#clap_wrap .clap_stat_weekly table td {height:280px;} + +#clap_wrap table td p {line-height:18px; display:block; padding:0;margin:0 auto;} +#clap_wrap table td .bar {width:12px;cursor:pointer;} +#clap_wrap table td .bar i { + display:none; + position:absolute;bottom:30%; + white-space:nowrap; + transform:translateX(-50%); + opacity:1; +} +#clap_wrap table td .bar:hover i { display:block; } +#clap_wrap table td .num {position:absolute;bottom:0;left:0;right:0;height:18px;} +@media all and (max-width: 800px) { + #clap_wrap .clap_stat_weekly {width:100%;} +} +@media all and (max-width: 480px) { + .ui-control input[type="text"], + .ui-control input[type="password"] { display: block; clear: both; width: 100%; margin-top: 10px; } + .ui-qna-list li { padding: 10px 0; } + #clap_wrap table td.old {width:0;overflow:hidden;} + #clap_wrap h3 .less {display:inline;} + #clap_wrap h3 .full, #clap_wrap table td .num .year {display:none;} +} + +@media all and (max-width: 380px) { + .ui-qna-list .ui-qna-list-password { position: relative; padding-right: 90px; } + .ui-qna-list .ui-qna-list-password label { display: none; } + .ui-qna-list .ui-qna-list-password .ui-submit { position: absolute; top: 0; right: 0; width: 90px; } + .ui-qna-list .ui-qna-list-password input { width: 100%; } +} diff --git a/update_hit.php b/update_hit.php new file mode 100644 index 0000000..220ce58 --- /dev/null +++ b/update_hit.php @@ -0,0 +1,13 @@ +0 && $cl_cnt<$clap_max)){ + sql_query("insert into {$g5['clap_table']} + set cl_ip='{$_SERVER['REMOTE_ADDR']}', + cl_date='".date("Y-m-d H",strtotime(G5_TIME_YMDHIS))."' + "); +} +if($return_url) +goto_url($return_url); +?> diff --git a/view.skin.php b/view.skin.php new file mode 100644 index 0000000..0e9e07a --- /dev/null +++ b/view.skin.php @@ -0,0 +1,7 @@ + diff --git a/view_comment.php b/view_comment.php new file mode 100644 index 0000000..42c0103 --- /dev/null +++ b/view_comment.php @@ -0,0 +1,114 @@ += $board['bo_comment_level']) + $is_comment_write = true; + +// 코멘트 출력 +$sql = " select * from {$write_table} where wr_parent = '{$wr_id}' and wr_is_comment = 1 order by wr_comment, wr_comment_reply "; +$result = sql_query($sql); +for ($i=0; $c_row=sql_fetch_array($result); $i++) +{ + $list[$i] = $c_row; + + //$list[$i]['name'] = get_sideview($c_row['mb_id'], cut_str($c_row['wr_name'], 20, ''), $c_row['wr_email'], $c_row['wr_homepage']); + + $tmp_name = get_text(cut_str($c_row['wr_name'], $config['cf_cut_name'])); // 설정된 자리수 만큼만 이름 출력 + if ($board['bo_use_sideview']) + $list[$i]['name'] = get_sideview($c_row['mb_id'], $tmp_name, $c_row['wr_email'], $c_row['wr_homepage']); + else + $list[$i]['name'] = ''.$tmp_name.''; + + + + // 공백없이 연속 입력한 문자 자르기 (way 보드 참고. way.co.kr) + //$list[$i]['content'] = eregi_replace("[^ \n<>]{130}", "\\0\n", $c_row['wr_content']); + + $list[$i]['content'] = $list[$i]['content1']= '비밀글 입니다.'; + if (!strstr($c_row['wr_option'], 'secret') || + $is_admin || + ($write['mb_id']==$member['mb_id'] && $member['mb_id']) || + ($c_row['mb_id']==$member['mb_id'] && $member['mb_id'])) { + $list[$i]['content1'] = $c_row['wr_content']; + $list[$i]['content'] = conv_content($c_row['wr_content'], 0, 'wr_content'); + $list[$i]['content'] = search_font($stx, $list[$i]['content']); + } else { + $ss_name = 'ss_secret_comment_'.$bo_table.'_'.$list[$i]['wr_id']; + + if(!get_session($ss_name)) + $list[$i]['content'] = '댓글내용 확인'; + else { + $list[$i]['content'] = conv_content($c_row['wr_content'], 0, 'wr_content'); + $list[$i]['content'] = search_font($stx, $list[$i]['content']); + } + } + + $list[$i]['datetime'] = substr($c_row['wr_datetime'],2,14); + + // 관리자가 아니라면 중간 IP 주소를 감춘후 보여줍니다. + $list[$i]['ip'] = $c_row['wr_ip']; + if (!$is_admin) + $list[$i]['ip'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $c_row['wr_ip']); + + $list[$i]['is_reply'] = false; + $list[$i]['is_edit'] = false; + $list[$i]['is_del'] = false; + if ($is_comment_write || $is_admin) + { + $token = ''; + + if ($member['mb_id']) + { + if ($c_row['mb_id'] == $member['mb_id'] || $is_admin) + { + set_session('ss_delete_comment_'.$c_row['wr_id'].'_token', $token = uniqid(time())); + $list[$i]['del_link'] = './delete_comment.php?bo_table='.$bo_table.'&comment_id='.$c_row['wr_id'].'&token='.$token.'&page='.$page.$qstr; + $list[$i]['is_edit'] = true; + $list[$i]['is_del'] = true; + } + } + else + { + if (!$c_row['mb_id']) { + $list[$i]['del_link'] = './password.php?w=x&bo_table='.$bo_table.'&comment_id='.$c_row['wr_id'].'&page='.$page.$qstr; + $list[$i]['is_del'] = true; + } + } + + if (strlen($c_row['wr_comment_reply']) < 5) + $list[$i]['is_reply'] = true; + } + + // 05.05.22 + // 답변있는 코멘트는 수정, 삭제 불가 + if ($i > 0 && !$is_admin) + { + if ($c_row['wr_comment_reply']) + { + $tmp_comment_reply = substr($c_row['wr_comment_reply'], 0, strlen($c_row['wr_comment_reply']) - 1); + if ($tmp_comment_reply == $list[$i-1]['wr_comment_reply']) + { + $list[$i-1]['is_edit'] = false; + $list[$i-1]['is_del'] = false; + } + } + } +} + +// 코멘트수 제한 설정값 +if ($is_admin) +{ + $comment_min = $comment_max = 0; +} +else +{ + $comment_min = (int)$board['bo_comment_min']; + $comment_max = (int)$board['bo_comment_max']; +} + +include($board_skin_path.'/view_comment.skin.php'); + +?> \ No newline at end of file diff --git a/view_comment.skin.php b/view_comment.skin.php new file mode 100644 index 0000000..f85e5d9 --- /dev/null +++ b/view_comment.skin.php @@ -0,0 +1,107 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/write.php b/write.php new file mode 100644 index 0000000..69a9f96 --- /dev/null +++ b/write.php @@ -0,0 +1,413 @@ + 0) ? $member['mb_point'] : 0; + if ($tmp_point + $board['bo_write_point'] < 0 && !$is_admin) { + alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글쓰기('.number_format($board['bo_write_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글쓰기 해 주십시오.'); + } + } + + $title_msg = '글쓰기'; +} else if ($w == 'u') { + // 김선용 1.00 : 글쓰기 권한과 수정은 별도로 처리되어야 함 + //if ($member['mb_level'] < $board['bo_write_level']) { + if($member['mb_id'] && $write['mb_id'] == $member['mb_id']) { + ; + } else if ($member['mb_level'] < $board['bo_write_level']) { + if ($member['mb_id']) { + alert('글을 수정할 권한이 없습니다.'); + } else { + alert('글을 수정할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); + } + } + + $len = strlen($write['wr_reply']); + if ($len < 0) $len = 0; + $reply = substr($write['wr_reply'], 0, $len); + + // 원글만 구한다. + $sql = " select count(*) as cnt from {$write_table} + 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); + if ($row['cnt'] && !$is_admin) + alert('이 글과 관련된 답변글이 존재하므로 수정 할 수 없습니다.\\n\\n답변글이 있는 원글은 수정할 수 없습니다.'); + + // 코멘트 달린 원글의 수정 여부 + $sql = " select count(*) as cnt from {$write_table} + where wr_parent = '{$wr_id}' + and mb_id <> '{$member['mb_id']}' + and wr_is_comment = 1 "; + $row = sql_fetch($sql); + if ($board['bo_count_modify'] && $row['cnt'] >= $board['bo_count_modify'] && !$is_admin) + alert('이 글과 관련된 댓글이 존재하므로 수정 할 수 없습니다.\\n\\n댓글이 '.$board['bo_count_modify'].'건 이상 달린 원글은 수정할 수 없습니다.'); + + $title_msg = '글수정'; +} else if ($w == 'r') { + if ($member['mb_level'] < $board['bo_reply_level']) { + if ($member['mb_id']) + alert('글을 답변할 권한이 없습니다.'); + else + alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); + } + + $tmp_point = isset($member['mb_point']) ? $member['mb_point'] : 0; + if ($tmp_point + $board['bo_write_point'] < 0 && !$is_admin) + alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글답변('.number_format($board['bo_comment_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글답변 해 주십시오.'); + + //if (preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice'])) + if (in_array((int)$wr_id, $notice_array)) + alert('공지에는 답변 할 수 없습니다.'); + + //---------- + // 4.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'] || $is_admin)) + alert('비밀글에는 자신 또는 관리자만 답변이 가능합니다.'); + } else { + // 비회원의 경우는 비밀글에 답변이 불가함 + if (!$is_admin) + alert('비회원의 비밀글에는 답변이 불가합니다.'); + } + } + //---------- + + // 게시글 배열 참조 + $reply_array = &$write; + + // 최대 답변은 테이블에 잡아놓은 wr_reply 사이즈만큼만 가능합니다. + if (strlen($reply_array['wr_reply']) == 10) + alert('더 이상 답변하실 수 없습니다.\\n\\n답변은 10단계 까지만 가능합니다.'); + + $reply_len = strlen($reply_array['wr_reply']) + 1; + if ($board['bo_reply_order']) { + $begin_reply_char = 'A'; + $end_reply_char = 'Z'; + $reply_number = +1; + $sql = " select MAX(SUBSTRING(wr_reply, {$reply_len}, 1)) as reply from {$write_table} 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 MIN(SUBSTRING(wr_reply, {$reply_len}, 1)) as reply from {$write_table} where wr_num = '{$reply_array['wr_num']}' and SUBSTRING(wr_reply, {$reply_len}, 1) <> '' "; + } + if ($reply_array['wr_reply']) $sql .= " and wr_reply like '{$reply_array['wr_reply']}%' "; + $row = sql_fetch($sql); + + if (!$row['reply']) + $reply_char = $begin_reply_char; + else if ($row['reply'] == $end_reply_char) // A~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']; +} + +// 그룹접근 가능 +if (!empty($group['gr_use_access'])) { + if ($is_guest) { + alert("접근 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", 'login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); + } + + if ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'] || $board['bo_admin'] == $member['mb_id']) { + ; // 통과 + } else { + // 그룹접근 + $sql = " select gr_id from {$g5['group_member_table']} where gr_id = '{$board['gr_id']}' and mb_id = '{$member['mb_id']}' "; + $row = sql_fetch($sql); + if (!$row['gr_id']) + alert('접근 권한이 없으므로 글쓰기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.'); + } +} + +// 본인확인을 사용한다면 +if ($config['cf_cert_use'] && !$is_admin) { + // 인증된 회원만 가능 + if ($board['bo_use_cert'] != '' && $is_guest) { + alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', 'login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); + } + + if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) { + alert('이 게시판은 본인확인 하신 회원님만 글쓰기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL); + } + + if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) { + alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글쓰기가 가능합니다.\\n\\n성인인데 글쓰기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL); + } + + if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') { + alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL); + } + + if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) { + alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL); + } +} + +// 글자수 제한 설정값 +if ($is_admin || $board['bo_use_dhtml_editor']) +{ + $write_min = $write_max = 0; +} +else +{ + $write_min = (int)$board['bo_write_min']; + $write_max = (int)$board['bo_write_max']; +} + +$g5['title'] = ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$title_msg; + +$is_notice = false; +$notice_checked = ''; +if ($is_admin && $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'; + } + } + } +} + +$is_html = false; +if ($member['mb_level'] >= $board['bo_html_level']) + $is_html = true; + +$is_secret = $board['bo_use_secret']; + +$is_mail = false; +if ($config['cf_email_use'] && $board['bo_use_email']) + $is_mail = true; + +$recv_email_checked = ''; +if ($w == '' || strstr($write['wr_option'], 'mail')) + $recv_email_checked = 'checked'; + +$is_name = false; +$is_password = false; +$is_email = false; +$is_homepage = false; +if ($is_guest || ($is_admin && $w == 'u' && $member['mb_id'] != $write['mb_id'])) { + $is_name = true; + $is_password = true; + $is_email = true; + $is_homepage = true; +} + +$is_category = false; +$category_option = ''; +if ($board['bo_use_category']) { + $ca_name = ""; + if (isset($write['ca_name'])) + $ca_name = $write['ca_name']; + $category_option = get_category_option($bo_table, $ca_name); + $is_category = true; +} + +$is_link = false; +if ($member['mb_level'] >= $board['bo_link_level']) { + $is_link = true; +} + +$is_file = false; +if ($member['mb_level'] >= $board['bo_upload_level']) { + $is_file = true; +} + +$is_file_content = false; +if ($board['bo_use_file_content']) { + $is_file_content = true; +} + +$file_count = (int)$board['bo_upload_count']; + +$name = ""; +$email = ""; +$homepage = ""; +if ($w == "" || $w == "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'])); + } +} + +$html_checked = ""; +$html_value = ""; +$secret_checked = ""; + +if ($w == '') { + $password_required = 'required'; +} else if ($w == 'u') { + $password_required = ''; + + if (!$is_admin) { + if (!($is_member && $member['mb_id'] == $write['mb_id'])) { + if (!check_password($wr_password, $write['wr_password'])) { + 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($bo_table, $wr_id); + if($file_count < $file['count']) + $file_count = $file['count']; +} else if ($w == 'r') { + 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]); + } +} + +set_session('ss_bo_table', $_REQUEST['bo_table']); +set_session('ss_wr_id', $_REQUEST['wr_id']); + +$subject = ""; +if (isset($write['wr_subject'])) { + $subject = str_replace("\"", """, get_text(cut_str($write['wr_subject'], 255), 0)); +} + +$content = ''; +if ($w == '') { + $content = $board['bo_insert_content']; +} else if ($w == 'r') { + if (!strstr($write['wr_option'], 'html')) { + $content = "\n\n\n > " + ."\n > " + ."\n > ".str_replace("\n", "\n> ", get_text($write['wr_content'], 0)) + ."\n > " + ."\n > "; + + } +} else { + $content = get_text($write['wr_content'], 0); +} + +$upload_max_filesize = number_format($board['bo_upload_size']) . ' 바이트'; + +$width = $board['bo_table_width']; +if ($width <= 100) + $width .= '%'; +else + $width .= 'px'; + + +$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; + +// 모바일에서는 G5_IS_MOBILE_DHTML_USE 설정에 따라 DHTML 에디터 적용 +if ($config['cf_editor'] && $is_dhtml_editor_use && $board['bo_use_dhtml_editor'] && $member['mb_level'] >= $board['bo_html_level']) { + $is_dhtml_editor = true; + + if(is_file(G5_EDITOR_PATH.'/'.$config['cf_editor'].'/autosave.editor.js')) + $editor_content_js = ''.PHP_EOL; +} +$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']); + +$action_url = https_url(G5_BBS_DIR)."/write_update.php"; + +echo ''; +include_once ($board_skin_path.'/write.skin.php'); + +?> \ No newline at end of file diff --git a/write.skin.php b/write.skin.php new file mode 100644 index 0000000..766c413 --- /dev/null +++ b/write.skin.php @@ -0,0 +1,122 @@ +'."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + //$option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= "\n".''."\n".''; + } +} + +echo $option_hidden; +add_stylesheet('', 0); +$clap_o=sql_fetch("select sum(cl_cnt) as sum from {$g5['clap_table']} where date_format(cl_date, '%Y-%m-%d')='".G5_TIME_YMD."' and cl_ip='{$_SERVER['REMOTE_ADDR']}'"); +?> +
+ + + + + + + + + + + + + + + +
+ + +
+    + + + /> + + + +
+
+ + " target="_blank"> + "> + +
+
+ + + + + + + +
+
+ + +
+
+
+ + diff --git a/write_update.skin.php b/write_update.skin.php new file mode 100644 index 0000000..d6f5d83 --- /dev/null +++ b/write_update.skin.php @@ -0,0 +1,9 @@ +