From f8f58e6f1b23282eb2c269f6d97ec8dce7fd1402 Mon Sep 17 00:00:00 2001 From: Arcturus Date: Fri, 18 Oct 2024 11:25:52 +0900 Subject: [PATCH] update and fix code --- list.skin.php | 802 +++++++++++++++++++++++------------------- moonday.php | 460 ++++++++++++------------ readme.md | 4 + view.skin.php | 461 ++++++++++++------------ write.php | 495 +++++++++++++------------- write.skin.php | 325 ++++++++--------- write_update.skin.php | 31 +- 7 files changed, 1345 insertions(+), 1233 deletions(-) diff --git a/list.skin.php b/list.skin.php index bdc1a65..804cc40 100644 --- a/list.skin.php +++ b/list.skin.php @@ -1,366 +1,436 @@ -', 0); - -$width=$board['bo_table_width'] ? $board['bo_table_width'] : 1000; -if($width>100) $width.="px"; -else $width.="%"; -$gall_w=$board['bo_1'] ? $board['bo_1'] : 400; -$gall_h=$board['bo_2'] ? $board['bo_2'] : 300; -?> - -
- - -
-
-
-

/

-
- 관리자 -
- - - - - - - - - - - - - - '; - $html_day[$start_day].= ''.$start_day.''; - $html_day[$start_day].=''; - } - - // 달력의 틀을 보여주는 부분 - - $temp = 7- (($lastday[$month]+$dayoftheweek)%7); - - if ($temp == 7) $temp = 0; - $lastcount = $lastday[$month]+$dayoftheweek + $temp; - - for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다. - $bgcolor = "days"; // 쭉 흰색으로 칠하고 - if ($b_year==$year && $b_mon==$month && $b_day==$cday) $bgcolor = "today"; // 오늘날짜 표기 - $re=$iz%7; - if ($re == 1) echo (""); // 주당 7개씩 한쎌씩을 쌓는다. - if ($dayoftheweek < $iz && $iz <= $lastday[$month]+$dayoftheweek) { - // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨 - // 즉 11월 달에서 1일부터 30 일까지만 해당 - $daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지 - //$daytext 은 셀에 써질 날짜 숫자 넣을 공간 - - // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고 - // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다. - if($re==0) $col="right"; - else if($re==1) $col="left"; - else $col=""; - $fr_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday); - echo (""); // 한칸을 마무리 - $cday++; // 날짜를 카운팅 - } - // 유효날짜가 아니면 그냥 회색을 칠한다. - else { echo (""); } - if ($re == 0) echo (""); - } // 반복구문이 끝남 - unset($row); - ?> - -
"); - - - // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정 - if (strlen($month) == 1) { - $monthp = "0".$month ; - } else { - $monthp = $month ; - } - if (strlen($cday) == 1) { - $cdayp = "0".$cday ; - } else { - $cdayp = $cday ; - } - $memday = $year.$monthp.$cdayp; - $daycont = "" ; - - // 기념일(양력) 표시 - /* - for($i=0 ; $i < sizeof($dayfile) ; $i++) { // 파일 첫 행부터 끝행까지 루프 - $arrDay = explode("|", $dayfile[$i]); - if($memday == $year.$arrDay[0]) { - $daycont = $arrDay[1]; - $daycontcolor = $arrDay[2]; - if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시 - } - } - */ - /* - // 석봉운님의 음력날짜 변수선언 - $myarray = soltolun($year,$month,$cday); - if ($myarray[day]==1 || $myarray[day]==11 || $myarray[day]==21) { - $moonday =" (음)$myarray[month].$myarray[day]$myarray[leap]"; - } else { - $moonday=""; - } - - include($file_index."/lunar.txt"); ### 음력 기념일 파일 지정 - - if ($annivmoonday&&$daycont) $blank="
"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔 - else $blank=""; - */ - if($html_day[$cday]){ - echo $html_day[$cday]; - }else { - if($write_href){ $wlink="get_info('".$fr_date."');"; $cursor="";} - else {$wlink=""; $cursor=" default";} - $html_day[$cday].= ''; - $html_day[$cday].= ''.$daytext.''; - $html_day[$cday].=''; - echo $html_day[$cday]; - } - echo ("
 
-
- -
-
- -
- - -
-
- -
-
- -
-
-
- -
-
-

//

-

- MD -

-
-
-
"> -
- - - -
-
-

-
-
-
-
-
- -
-
-
-
-
- -
-
-
- \ No newline at end of file +', 0); + +$width = $board['bo_table_width'] ? $board['bo_table_width'] : 1000; +if ($width > 100) + $width .= "px"; +else + $width .= "%"; +$gall_w = $board['bo_1'] ? $board['bo_1'] : 400; +$gall_h = $board['bo_2'] ? $board['bo_2'] : 300; + +$year_pre = 0; +$month_pre = 0; +?> +
+ + +
+
+
+

/

+
+ 관리자 +
+ + + + + + + + + + + + + + '; + $html_day[$start_day] .= '' . $start_day . ''; + $html_day[$start_day] .= ''; + } + + // 달력의 틀을 보여주는 부분 + + $temp = 7 - (($lastday[$month] + $dayoftheweek) % 7); + + if ($temp == 7) + $temp = 0; + $lastcount = $lastday[$month] + $dayoftheweek + $temp; + + for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다. + $bgcolor = "days"; // 쭉 흰색으로 칠하고 + if ($b_year == $year && $b_mon == $month && $b_day == $cday) + $bgcolor = "today"; // 오늘날짜 표기 + $re = $iz % 7; + if ($re == 1) + echo (""); // 주당 7개씩 한쎌씩을 쌓는다. + if ($dayoftheweek < $iz && $iz <= $lastday[$month] + $dayoftheweek) { + // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨 + // 즉 11월 달에서 1일부터 30 일까지만 해당 + $daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지 + //$daytext 은 셀에 써질 날짜 숫자 넣을 공간 + + // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고 + // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다. + if ($re == 0) + $col = "right"; + else if ($re == 1) + $col = "left"; + else + $col = ""; + $fr_date = $year . sprintf("%02d", $month) . sprintf("%02d", $cday); + echo (""); // 한칸을 마무리 + $cday++; // 날짜를 카운팅 + } + // 유효날짜가 아니면 그냥 회색을 칠한다. + else { + echo (""); + } + if ($re == 0) + echo (""); + } // 반복구문이 끝남 + unset($row); + ?> + +
"); + + + // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정 + if (strlen($month) == 1) { + $monthp = "0" . $month; + } else { + $monthp = $month; + } + if (strlen($cday) == 1) { + $cdayp = "0" . $cday; + } else { + $cdayp = $cday; + } + $memday = $year . $monthp . $cdayp; + $daycont = ""; + + // 기념일(양력) 표시 + /* + for($i=0 ; $i < sizeof($dayfile) ; $i++) { // 파일 첫 행부터 끝행까지 루프 + $arrDay = explode("|", $dayfile[$i]); + if($memday == $year.$arrDay[0]) { + $daycont = $arrDay[1]; + $daycontcolor = $arrDay[2]; + if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시 + } + } + */ + // 석봉운님의 음력날짜 변수선언 + /* + $myarray = soltolun($year,$month,$cday); + if ($myarray[day]==1 || $myarray[day]==11 || $myarray[day]==21) { + $moonday =" (음)$myarray[month].$myarray[day]$myarray[leap]"; + } else { + $moonday=""; + } + + include($file_index."/lunar.txt"); ### 음력 기념일 파일 지정 + + if ($annivmoonday&&$daycont) $blank="
"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔 + else $blank=""; + */ + if ($html_day[$cday]) { + echo $html_day[$cday]; + } else { + if ($write_href) { + $wlink = "get_info('" . $fr_date . "');"; + $cursor = ""; + } else { + $wlink = ""; + $cursor = " default"; + } + $html_day[$cday] .= ''; + $html_day[$cday] .= '' . $daytext . ''; + $html_day[$cday] .= ''; + echo $html_day[$cday]; + } + echo ("
 
+
+ +
+
+ +
+ + +
+
+ +
+
+ +
+
+
+ +
+
+

+ // +

+

+ MD + +

+
+
+
"> +
+ + + +
+
+

+ + +

+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ diff --git a/moonday.php b/moonday.php index 79dc031..25878a4 100644 --- a/moonday.php +++ b/moonday.php @@ -1,244 +1,268 @@ 0) { - $yoon = ""; - switch($kk[$i]) { - case 1 : - $mm = 29; - break; - case 2 : - $mm = 30; - break; - case 3 : - $mm = 29; - $ymm = 29; - if($temptd > 29) { - $temptd -= 29; - $yoon = "*"; - } - break; - case 4 : - $mm = 29; - $ymm = 30; - if($temptd > 30) { - $temptd -= 30; - $yoon = "*"; - } - break; - case 5 : - $mm = 30; - $ymm = 29; - if($temptd > 29) { - $temptd -= 29; - $yoon = "*"; - } - break; - case 6 : - $mm = 30; - $ymm = 30; - if($temptd > 30) { - $temptd -= 30; - $yoon = "*"; - } - break; + $td_result = alltd($sy); + $td = $td_result[0]; + $feb_days = febdays($sy); + $md[1] = $feb_days[0]; + for ($i = 0; $i < $sm - 1; $i++) + $td += $md[$i]; + $td += $sd; + $i = 0; + $temptd = $td; + while ($temptd > 0) { + $yoon = ""; + switch ($kk[$i]) { + case 1: + $mm = 29; + break; + case 2: + $mm = 30; + break; + case 3: + $mm = 29; + $ymm = 29; + if ($temptd > 29) { + $temptd -= 29; + $yoon = "*"; } - $temptd -=$mm; - - $i++; - if($i%12 == 1) $ly += 1; + break; + case 4: + $mm = 29; + $ymm = 30; + if ($temptd > 30) { + $temptd -= 30; + $yoon = "*"; + } + break; + case 5: + $mm = 30; + $ymm = 29; + if ($temptd > 29) { + $temptd -= 29; + $yoon = "*"; + } + break; + case 6: + $mm = 30; + $ymm = 30; + if ($temptd > 30) { + $temptd -= 30; + $yoon = "*"; + } + break; } - if($temptd <= 0) { - if($yoon=="*") $temptd += $ymm; - else $temptd +=$mm; - } - $ly += 1840; - $lm = $i % 12; - if($lm==0) $lm=12; - $ld = $temptd; + $temptd -= $mm; - /* output */ - $myarray["year"] = $ly; - $myarray["month"] = $lm; - $myarray["day"] = $ld; - $myarray["leap"] = $yoon; - return $myarray; + $i++; + if ($i % 12 == 1) + $ly += 1; + } + if ($temptd <= 0) { + if ($yoon == "*") + $temptd += $ymm; + else + $temptd += $mm; + } + $ly += 1840; + $lm = $i % 12; + if ($lm == 0) + $lm = 12; + $ld = $temptd; + + /* output */ + $myarray = array( + "year" => $ly, + "month" => $lm, + "day" => $ld, + "leap" => $yoon + ); + return $myarray; } -function luntosol($ly, $lm, $ld) { - global $kk; - global $md; +function luntosol($ly, $lm, $ld, $leapyes = "") +{ + global $kk, $md; - $temptd = 0; - $dm = ($ly-1841)*12 + ($lm-1) -1; - for($i=$dm;$i>=0;$i--) { - switch($kk[$i]) { - case 1 : - $temptd += 29; - break; - case 2 : - $temptd += 30; - break; - case 3 : - $temptd += 58; - break; - case 4 : - case 5 : - $temptd += 59; - break; - case 6 : - $temptd += 60; - break; - } + $temptd = 0; + $dm = ($ly - 1841) * 12 + ($lm - 1) - 1; + for ($i = $dm; $i >= 0; $i--) { + switch ($kk[$i]) { + case 1: + $temptd += 29; + break; + case 2: + $temptd += 30; + break; + case 3: + $temptd += 58; + break; + case 4: + case 5: + $temptd += 59; + break; + case 6: + $temptd += 60; + break; } - $dm = ($ly-1841)*12 + ($lm) -1; - if($leapyes == "yoon") { - switch($kk[$dm]) { - case 1 : - case 2 : break; - case 3 : - case 4 : - $temptd += 29; - break; - case 5 : - case 6 : - $temptd += 30; - break; - } + } + + $dm = ($ly - 1841) * 12 + ($lm) - 1; + + if ($leapyes == "yoon") { + switch ($kk[$dm]) { + case 1: + case 2: + break; + case 3: + case 4: + $temptd += 29; + break; + case 5: + case 6: + $temptd += 30; + break; } + } - $temptd += $ld; - $temptd += 22; - $td = $temptd; - $tempsy = 1841; - while(1) { - list($md[1]) = febdays($tempsy); - for($tempsm=0;$tempsm<=11;$tempsm++) { - $temptd -= $md[$tempsm]; - if($temptd <= 0) break; - } - if($temptd <= 0) { - $temptd += $md[$tempsm]; - $tempsd = $temptd; - break; - } - $tempsy++; + $temptd += $ld; + $temptd += 22; + $td = $temptd; + $tempsy = 1841; + while (1) { + $feb_days = febdays($tempsy); + $md[1] = $feb_days[0]; + for ($tempsm = 0; $tempsm <= 11; $tempsm++) { + $temptd -= $md[$tempsm]; + if ($temptd <= 0) + break; } + if ($temptd <= 0) { + $temptd += $md[$tempsm]; + $tempsd = $temptd; + break; + } + $tempsy++; + } - $sy = $tempsy; - $sm = $tempsm + 1; - $sd = $tempsd; + $sy = $tempsy; + $sm = $tempsm + 1; + $sd = $tempsd; - /* output */ - $myyarray["year"] = $sy; - $myyarray["month"] = $sm; - $myyarray["day"] = $sd; - $myyarray["leap"] = $yoob; - return $myyarray; + /* output */ + $myyarray = array( + "year" => $sy, + "month" => $sm, + "day" => $sd + ); + return $myyarray; } - -?> \ No newline at end of file diff --git a/readme.md b/readme.md index 1b515d8..768e373 100644 --- a/readme.md +++ b/readme.md @@ -10,3 +10,7 @@ ``` php 최소 버전: 5.3 ``` + +## 설치방법 + +아보카도가 설치된 폴더의 하위 폴더인 `skin/board/` 에 `diary` 라는 폴더를 생성하고 파일을 업로드합니다. diff --git a/view.skin.php b/view.skin.php index e564d30..d5e069c 100644 --- a/view.skin.php +++ b/view.skin.php @@ -1,229 +1,232 @@ -', 0); -?> - - - - -
-
-

- -

- - - - - - -
-

첨부파일

- -
- - - - - - - - - - -
-

본문

- - \n"; - - for ($i=0; $i<=count($view['file']); $i++) { - if ($view['file'][$i]['view']) { - //echo $view['file'][$i]['view']; - echo get_view_thumbnail($view['file'][$i]['view']); - } - } - - echo "\n"; - } - ?> - - -
- - - -
- - - - - -
-
- - - - - - - -
- - -
- - - - - - \ No newline at end of file +', 0); +?> + + + + +
+
+

+ +

+ + + + + + +
+

첨부파일

+ +
+ + + + + + + + + + +
+

본문

+ + \n"; + + for ($i = 0; $i <= count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
+ + + +
+ + + + + +
+
+ + + + + + + +
+ + +
+ + + + + + diff --git a/write.php b/write.php index 241f2b8..c87d9b2 100644 --- a/write.php +++ b/write.php @@ -3,11 +3,11 @@ include_once('./_common.php'); include_once(G5_EDITOR_LIB); if (!$board['bo_table']) { - alert('존재하지 않는 게시판입니다.', G5_URL); + alert('존재하지 않는 게시판입니다.', G5_URL); } if (!$bo_table) { - alert("bo_table 값이 넘어오지 않았습니다.\\nwrite.php?bo_table=code 와 같은 방식으로 넘겨 주세요.", G5_URL); + alert("bo_table 값이 넘어오지 않았습니다.\\nwrite.php?bo_table=code 와 같은 방식으로 넘겨 주세요.", G5_URL); } check_device($board['bo_device']); @@ -15,340 +15,339 @@ check_device($board['bo_device']); $notice_array = explode(',', trim($board['bo_notice'])); if (!($w == '' || $w == 'u' || $w == 'r')) { - alert('w 값이 제대로 넘어오지 않았습니다.'); + alert('w 값이 제대로 넘어오지 않았습니다.'); } if ($w == 'u' || $w == 'r') { - if ($write['wr_id']) { - // 가변 변수로 $wr_1 .. $wr_10 까지 만든다. - for ($i=1; $i<=10; $i++) { - $vvar = "wr_".$i; - $$vvar = $write['wr_'.$i]; - } - } else { - alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL); + if ($write['wr_id']) { + // 가변 변수로 $wr_1 .. $wr_10 까지 만든다. + for ($i = 1; $i <= 10; $i++) { + $vvar = "wr_" . $i; + $$vvar = $write['wr_' . $i]; } + } else { + alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL); + } } if ($w == '') { - if ($wr_id) { - alert('글쓰기에는 \$wr_id 값을 사용하지 않습니다.', G5_BBS_URL.'/board.php?bo_table='.$bo_table); - } + if ($wr_id) { + alert('글쓰기에는 \$wr_id 값을 사용하지 않습니다.', G5_BBS_URL . '/board.php?bo_table=' . $bo_table); + } - if ($member['mb_level'] < $board['bo_write_level']) { - if ($member['mb_id']) { - alert('글을 쓸 권한이 없습니다.'); - } else { - alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", './login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table)); - } + if ($member['mb_level'] < $board['bo_write_level']) { + if ($member['mb_id']) { + alert('글을 쓸 권한이 없습니다.'); + } else { + alert("글을 쓸 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.", './login.php?' . $qstr . '&url=' . urlencode($_SERVER['SCRIPT_NAME'] . '?bo_table=' . $bo_table)); } + } - // 음수도 true 인것을 왜 이제야 알았을까? - if ($is_member) { - $tmp_point = ($member['mb_point'] > 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포인트를 적립하신 후 다시 글쓰기 해 주십시오.'); - } + // 음수도 true 인것을 왜 이제야 알았을까? + if ($is_member) { + $tmp_point = ($member['mb_point'] > 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 = '글쓰기'; + $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)); - } + // 김선용 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); + $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} + // 원글만 구한다. + $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답변글이 있는 원글은 수정할 수 없습니다.'); + $row = sql_fetch($sql); + if ($row['cnt'] && !$is_admin) + alert('이 글과 관련된 답변글이 존재하므로 수정 할 수 없습니다.\\n\\n답변글이 있는 원글은 수정할 수 없습니다.'); - // 코멘트 달린 원글의 수정 여부 - $sql = " select count(*) as cnt from {$write_table} + // 코멘트 달린 원글의 수정 여부 + $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'].'건 이상 달린 원글은 수정할 수 없습니다.'); + $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 = '글수정'; + $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개 까지만 가능합니다.'); + if ($member['mb_level'] < $board['bo_reply_level']) { + if ($member['mb_id']) + alert('글을 답변할 권한이 없습니다.'); else - $reply_char = chr(ord($row['reply']) + $reply_number); + alert('답변글을 작성할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?' . $qstr . '&url=' . urlencode($_SERVER['SCRIPT_NAME'] . '?bo_table=' . $bo_table)); + } - $reply = $reply_array['wr_reply'] . $reply_char; + $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포인트를 적립하신 후 다시 글답변 해 주십시오.'); - $title_msg = '글답변'; + //if (preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board['bo_notice'])) + if (in_array((int) $wr_id, $notice_array)) + alert('공지에는 답변 할 수 없습니다.'); - $write['wr_subject'] = 'Re: '.$write['wr_subject']; + //---------- + // 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_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 ($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'] != '' && $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'] == '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'] == '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-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 ($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']; +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; +$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; + $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 ($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_html = true; $is_secret = $board['bo_use_secret']; $is_mail = false; if ($config['cf_email_use'] && $board['bo_use_email']) - $is_mail = true; + $is_mail = true; $recv_email_checked = ''; if ($w == '' || strstr($write['wr_option'], 'mail')) - $recv_email_checked = 'checked'; + $recv_email_checked = 'checked'; -$is_name = false; +$is_name = false; $is_password = false; -$is_email = 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_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; + $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_link = true; } $is_file = false; if ($member['mb_level'] >= $board['bo_upload_level']) { - $is_file = true; + $is_file = true; } $is_file_content = false; if ($board['bo_use_file_content']) { - $is_file_content = true; + $is_file_content = true; } -$file_count = (int)$board['bo_upload_count']; +$file_count = (int) $board['bo_upload_count']; -$name = ""; -$email = ""; +$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'])); + 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 = ""; +$html_checked = ""; +$html_value = ""; $secret_checked = ""; if ($w == '') { - $password_required = 'required'; + $password_required = 'required'; } else if ($w == 'u') { - $password_required = ''; + $password_required = ''; - if (!$is_admin) { - if (!($is_member && $member['mb_id'] == $write['mb_id'])) { - if (!check_password($wr_password, $write['wr_password'])) { - alert('비밀번호가 틀립니다.'); - } - } + 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'])); + $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]; - } + 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'], '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'; - } + 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']; + $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'; - } + if (strstr($write['wr_option'], 'secret')) { + $is_secret = true; + $secret_checked = 'checked'; + } - $password_required = "required"; + $password_required = "required"; - for ($i=1; $i<=G5_LINK_COUNT; $i++) { - $write['wr_link'.$i] = get_text($write['wr_link'.$i]); - } + 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']); @@ -356,46 +355,46 @@ 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)); + $subject = str_replace("\"", """, get_text(cut_str($write['wr_subject'], 255), 0)); } $content = ''; if ($w == '') { - $content = $board['bo_insert_content']; + $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 > "; + 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); + $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 .= '%'; + $width .= '%'; else - $width .= 'px'; + $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; +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; + $is_dhtml_editor = true; - if(is_file(G5_EDITOR_PATH.'/'.$config['cf_editor'].'/autosave.editor.js')) - $editor_content_js = ''.PHP_EOL; + 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 = ''; @@ -405,9 +404,9 @@ $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"; +$action_url = https_url(G5_BBS_DIR) . "/write_update.php"; -echo ''; -include_once ($board_skin_path.'/write.skin.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 index ac9c79c..0991190 100644 --- a/write.skin.php +++ b/write.skin.php @@ -1,157 +1,168 @@ -', 0); -?> -
-
- -
- - - - - - - - - - - - -
-
- -

- - -

- - -

- - class="frm_input " maxlength="20"> -

- - -

- -

- - -

- -

- -

- - -

-
-
- ">"> -
- - -
- - - -
-
-
- -
- - - \ No newline at end of file +', 0); +?> +
+
+ +
+ + + + + + + + + + + + +
+
+ +

+ + +

+ + +

+ + + class="frm_input " maxlength="20"> +

+ + +

+ +

+ + +

+ +

+ +

+ + +

+
+
+ ">"> +
+ + +
+ + + +
+
+
+ +
+ + + diff --git a/write_update.skin.php b/write_update.skin.php index ca2cdd9..72ab4f1 100644 --- a/write_update.skin.php +++ b/write_update.skin.php @@ -1,15 +1,16 @@ - +