필드 추가 문의
php 완전 초보입니다.
이전에 질문 내용이 부족해 다시 질문 올립니다.
켈리얀님의 상품소개용 스킨을 쓰고 있는 중인데,
아래의 소스를 write.php 파일에 추가하라고 하는데, 어느 부분에 추가해야 되는지 알려주세요.
아래 소스가 없어서 수정시 항목이 공란으로 나오는 것 같습니다.
수정할 때 마다 일일이 내용을 다시 넣기가 불편합니다.
조언 바랍니다.
추가해야 되는 소스--------------------------------------------------------------
$wr_1 = $write[wr_1]; $wr_2 = $write[wr_2]; $wr_3 = $write[wr_3]; $wr_4 = $write[wr_4]; $wr_5 = $write[wr_5]; $wr_6 = $write[wr_6]; $wr_7 = $write[wr_7]; if ($w == ""){ $content = $board[bo_insert_content]; $content2 = $board[bo_insert_content]; $content3 = $board[bo_insert_content]; }else if ($w == "r") { //if (!$write[wr_html]) { if (!strstr($write[wr_option], "html")) { $content = "\n\n\n>" //. "\n> $write[wr_datetime], \"$write[wr_name]\"님이 쓰신 글입니다. ↓" . "\n>" . "\n> " . preg_replace("/\n/", "\n> ", get_text($write[wr_content], 0)) . "\n>" . "\n"; $content2 = "\n\n\n>" //. "\n> $write[wr_datetime], \"$write[wr_name]\"님이 쓰신 글입니다. ↓" . "\n>" . "\n> " . preg_replace("/\n/", "\n> ", get_text($write[wr_8], 0)) . "\n>" . "\n"; $content3 = "\n\n\n>" //. "\n> $write[wr_datetime], \"$write[wr_name]\"님이 쓰신 글입니다. ↓" . "\n>" . "\n> " . preg_replace("/\n/", "\n> ", get_text($write[wr_9], 0)) . "\n>" . "\n"; } } else{ $content = get_text($write[wr_content], 0); $content2 = get_text($write[wr_8], 0); $content3 = get_text($write[wr_9], 0); } -----------------------------------------------------------------------------
위의 소스를 bbs 경로의 white.php에 붙여 넣으라고 합니다.
white.php 소스 전체를 올립니다.
어느 위치에 어떻게 붙여 넣어야 될 지 조언 부탁드립니다.
white.php파일 원본-------------------------------------------------------------------------------------
// 090713 if (!$board[bo_table]) { if ($cwin) // 코멘트 보기 alert_close("존재하지 않는 게시판입니다.", $g4[path]); else alert("존재하지 않는 게시판입니다.", $g4[path]); }
if (!$bo_table) alert("bo_table 값이 넘어오지 않았습니다.\\n\\nwrite.php?bo_table=code 와 같은 방식으로 넘겨 주세요.", $g4[path]);
@include_once ("$g4[path]/skin/board/write.head.skin.php"); @include_once ("$board_skin_path/write.head.skin.php");
$notice_array = explode("\n", trim($board[bo_notice]));
if ($w == "") { if (isset($wr_id)) alert("글쓰기에는 \$wr_id 값을 사용하지 않습니다.", "$g4[bbs_path]/board.php?bo_table=$bo_table");
if ($member[mb_level] < $board[bo_write_level]) { if ($member[mb_id]) alert("글을 쓸 권한이 없습니다."); else alert("글을 쓸 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?bo_table=$bo_table")); }
/* if ($member[mb_point] + $board[bo_write_point] < 0 && !$is_admin) alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글쓰기(".number_format($board[bo_write_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글쓰기 해 주십시오."); */
// 음수도 true 인것을 왜 이제야 알았을까? //$tmp_point = $member[mb_point] ? $member[mb_point] : 0; $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 = "글쓰기"; } 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[PHP_SELF]?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 ($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[PHP_SELF]?bo_table=$bo_table")); }
/* if ($member[mb_point] + $board[bo_comment_point] < 0) alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글답변(".number_format($board[bo_comment_point]).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 글답변 해 주십시오."); */
$tmp_point = $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 = "글답변"; } else alert("w 값이 제대로 넘어오지 않았습니다.");
// 그룹접근 가능 if ($group[gr_use_access]) { if (!$member[mb_id]) alert("접근 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "login.php?$qstr&url=".urlencode("$_SERVER[PHP_SELF]?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 $g4[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궁금하신 사항은 관리자에게 문의 바랍니다."); } }
$g4[title] = "$group[gr_subject] > $board[bo_subject] > " . $title_msg;
if (($w == "u" || $w == "r") && !$write[wr_id]) alert("글이 존재하지 않습니다.\\n\\n삭제되었거나 이동된 경우입니다.", $g4[path]);
$is_notice = false; if ($is_admin && $w != "r") { $is_notice = true;
if ($w == "u") { // 답변 수정시 공지 체크 없음 if ($write[wr_reply]) $is_notice = false; else { $notice_checked = ""; //if (preg_match("/^".$wr_id."/m", trim($board[bo_notice]))) //if (preg_match("/[^0-9]{0,1}{$wr_id}[\r]{0,1}/",$board[bo_notice])) 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;
/* // 에서 무조건 비밀글 사용으로 인한 코드 수정 : 061021 $is_secret = false; if ($board[bo_use_secret]) $is_secret = true; */ $is_secret = $board[bo_use_secret]; // DHTML 에디터 사용 선택 가능하게 수정 : 061021 //$is_dhtml_editor = $board[bo_use_dhtml_editor]; // 090713 if ($board[bo_use_dhtml_editor] && $member[mb_level] >= $board[bo_html_level]) $is_dhtml_editor = true; else $is_dhtml_editor = false;
$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; if (!$member[mb_id] || ($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; if ($board[bo_use_category]) { $ca_name = $write[ca_name]; $category_option = get_category_option($bo_table); $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;
// 트랙백 $is_trackback = false; if ($board[bo_use_trackback] && $member[mb_level] >= $board[bo_trackback_level]) $is_trackback = true;
if ($w == "" || $w == "r") { if ($member[mb_id]) { $name = get_text(cut_str($write[wr_name],20)); $email = $member[mb_email]; $homepage = get_text($member[mb_homepage]); } }
if ($w == "") $password_required = "required"; else if ($w == "u") { $password_required = "";
if (!$is_admin) { if (!($member[mb_id] && $member[mb_id] == $write[mb_id])) if (sql_password($wr_password) != $write[wr_password]) alert("패스워드가 틀립니다."); }
$name = get_text(cut_str($write[wr_name],20)); $email = $write[wr_email]; $homepage = get_text($write[wr_homepage]);
for ($i=1; $i<=$g4[link_count]; $i++) $link[$i] = $write["wr_link".$i];
$trackback = $write[wr_trackback];
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"; } else $html_value = "";
if (strstr($write[wr_option], "secret")) $secret_checked = "checked";
$file = get_file($bo_table, $wr_id); } else if ($w == "r") { if (strstr($write[wr_option], "secret")) { $is_secret = true; $secret_checked = "checked"; }
$password_required = "required"; }
$subject = preg_replace("/\"/", """, get_text(cut_str($write[wr_subject], 255), 0)); if ($w == "") $content = $board[bo_insert_content]; else if ($w == "r") { //if (!$write[wr_html]) { if (!strstr($write[wr_option], "html")) { $content = "\n\n\n>" //. "\n> $write[wr_datetime], \"$write[wr_name]\"님이 쓰신 글입니다. ↓" . "\n>" . "\n> " . preg_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 .= '%';
// 글자수 제한 설정값 if ($is_admin) { $write_min = $write_max = 0; } else { $write_min = (int)$board[bo_write_min]; $write_max = (int)$board[bo_write_max]; }
include_once("$g4[path]/head.sub.php"); include_once("./board_head.php");
// 자동등록방지 //include_once ("./norobot.inc.php");
//-------------------------------------------------------------------------- // 가변 파일 $file_script = ""; $file_length = -1; // 수정의 경우 파일업로드 필드가 가변적으로 늘어나야 하고 삭제 표시도 해주어야 합니다. if ($w == "u") { for ($i=0; $i<$file[count]; $i++) { $row = sql_fetch(" select bf_file, bf_content from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' "); if ($row[bf_file]) { $file_script .= "add_file(\"{$file[$i][source]}({$file[$i][size]}) 파일 삭제"; if ($is_file_content) //$file_script .= " "; // 첨부파일설명에서 ' 또는 " 입력되면 오류나는 부분 수정 $file_script .= " "; $file_script .= "\");\n"; } else $file_script .= "add_file('');\n"; } $file_length = $file[count] - 1; }
if ($file_length < 0) { $file_script .= "add_file('');\n"; $file_length = 0; } //--------------------------------------------------------------------------
include_once ("$board_skin_path/write.skin.php");
if (!$member[mb_id]) echo "\n";
// 필터 //echo "\n"; //echo "\n";
include_once("./board_tail.php"); include_once("$g4[path]/tail.sub.php");
@include_once ("$board_skin_path/write.tail.skin.php"); ?> --------------------------------------------------------------------------------------------------끝
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
덕분에 해결했습니다.