네이버블로그로 보내기
본문
게시판 설정에서 sns로 보내기에 체크하고 하단에 보면 트위터, 페이스북등에 보내기가 됩니다.
그런데 네이버의 블로그로 보낼수 있는 방법은 없을까요??
답변 4
xmlrpc를 이용하신다면 블로그로 글 보내기를 하실 수 있습니다.
그누보드4를 사용하신다면 말러83님께서 제작하신 플러그인이 있습니다.
그것을 이용하시면 될듯싶습니다.
답변 감사 드립니다.
말씀같이 말러님 사이트 들어가 어렵게 찾아 찾아서 설치 했습니다. 그런데
글쓰기에는 $wr_id값을 사용하지 않습니다. 라는 에러 문구가 떳습니다.
사용하는 빌더가 js빌더라서 js웹지기께서 올린대로 수정 하려했으나
---------------------------------------------------------------
글쓰기에는 $wr_id값을 사용하지 않습니다. 라는 에러 문구가 출력 되는데...
이는 그누보드의 업데이트로 인하여 일부 구버전 스킨일때 나타나는 현상 입니다. 위와 같은 에러 문구가 나타날때는 bbs폴더에 write.php 와 view_comment.php를 에디터로 열고 //필터 //echo "<script type='text/javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n"; //echo "<script type='text/javascript' src='$g4[path]/js/filter.js'></script>\n"; 위 부분을 찾아서 아래와 같이 // 주석을 제거하시면 정상 작동이 가능 합니다.. //필터 echo "<script type='text/javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n"; echo "<script type='text/javascript' src='$g4[path]/js/filter.js'></script>\n"; 또는 // 필터 if (!file_exists("$board_skin_path/ajax.filter.php")) { echo "<script type='text/javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n"; echo "<script type='text/javascript' src='$g4[path]/js/filter.js'></script>\n"; } JS빌더의 경우에는 첫번째 방법을 먼저 수정해 보시는것을 추천 합니다. -------------------------------------------------------------------------------
// 주석이 제거되어 있네요. 답답~~~하네요.
아래는 write.php 와 view_comment.php
입니다...고수님들 한번 봐주세요. ** write.php
<?
include_once("./_common.php"); set_session('ss_bo_table', $_REQUEST['bo_table']);
set_session('ss_wr_id', $_REQUEST['wr_id']); // 090713
if (!$board[bo_table]) { if ($cwin) // 코멘트 보기 alert_close("존재하지 않는 게시판입니다.", $g4[path]); else alert("존재하지 않는 게시판입니다.", $g4[path]); } $nDateTime = mktime(0,0,0,date("m"),date("d"),date("Y")); //오늘일자
$sDateTime = strtotime($member[mb_limit_s]); //시작일자 $eDateTime = strtotime($member[mb_limit_e]); //종료일자 //오늘일자가 기간내이면 제한값(2) 무조건 세팅 if ($member[mb_limit] == '2'){ if (!empty($member[mb_limit_s]) && !empty($member[mb_limit_e]) && $nDateTime >= $sDateTime && $nDateTime <= $eDateTime){ alert("$member[mb_nick]님은 $member[mb_limit_s] 부터 $member[mb_limit_e]까지 사이트 이용이 제한되어 있습니다."); } } 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++) {
$write["wr_link".$i] = get_text($write["wr_link".$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";
for ($i=1; $i<=$g4[link_count]; $i++) {
$write["wr_link".$i] = get_text($write["wr_link".$i]); } } $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(\"<input type='checkbox' name='bf_file_del[$i]' value='1'><a href='{$file[$i][href]}'>{$file[$i][source]}({$file[$i][size]})</a> 파일 삭제"; if ($is_file_content) //$file_script .= "<br><input type='text' class=ed size=50 name='bf_content[$i]' value='{$row[bf_content]}' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>"; // 첨부파일설명에서 ' 또는 " 입력되면 오류나는 부분 수정 $file_script .= "<br><input type='text' class=ed size=50 name='bf_content[$i]' value='".addslashes(get_text($row[bf_content]))."' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>"; $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 "<script type='text/javascript' src='$g4[path]/js/md5.js'></script>\n"; // 필터
echo "<script type='text/javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n"; echo "<script type='text/javascript' src='$g4[path]/js/filter.js'></script>\n"; include_once("./board_tail.php");
include_once("$g4[path]/tail.sub.php"); @include_once ("$board_skin_path/write.tail.skin.php");
?> ** view_comment.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 @include_once("$board_skin_path/view_comment.head.skin.php");
// 자동등록방지
include_once ("./norobot.inc.php"); // 코멘트를 새창으로 여는 경우 세션값이 없으므로 생성한다.
if ($is_admin && !$token) { set_session("ss_delete_token", $token = uniqid(time())); } $list = array();
$is_comment_write = false;
if ($member[mb_level] >= $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 desc, wr_comment_reply "; $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; $row=sql_fetch_array($result); $i++) { $list[$i] = $row; //$list[$i][name] = get_sideview($row[mb_id], cut_str($row[wr_name], 20, ''), $row[wr_email], $row[wr_homepage]);
$tmp_name = get_text(cut_str($row[wr_name], $config[cf_cut_name])); // 설정된 자리수 만큼만 이름 출력
if ($board[bo_use_sideview]) $list[$i][name] = get_sideview($row[mb_id], $tmp_name, $row[wr_email], $row[wr_homepage]); else $list[$i][name] = "<span class='".($row[mb_id]?'member':'guest')."'>$tmp_name</span>"; // 공백없이 연속 입력한 문자 자르기 (way 보드 참고. way.co.kr) //$list[$i][content] = eregi_replace("[^ \n<>]{130}", "\\0\n", $row[wr_content]); $list[$i][content] = $list[$i][content1]= "비밀글 입니다.";
if (!strstr($row[wr_option], "secret") || $is_admin || ($write[mb_id]==$member[mb_id] && $member[mb_id]) || ($row[mb_id]==$member[mb_id] && $member[mb_id])) { $list[$i][content1] = $row[wr_content]; $list[$i][content] = conv_content($row[wr_content], 0, 'wr_content'); $list[$i][content] = search_font($stx, $list[$i][content]); } $list[$i][trackback] = url_auto_link($row[wr_trackback]);
$list[$i][datetime] = substr($row[wr_datetime],2,14); // 관리자가 아니라면 중간 IP 주소를 감춘후 보여줍니다.
$list[$i][ip] = $row[wr_ip]; if (!$is_admin) $list[$i][ip] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $row[wr_ip]); $list[$i][is_reply] = false;
$list[$i][is_edit] = false; $list[$i][is_del] = false; if ($is_comment_write || $is_admin) { if ($member[mb_id]) { if ($row[mb_id] == $member[mb_id] || $is_admin) { $list[$i][del_link] = "./delete_comment.php?bo_table=$bo_table&comment_id=$row[wr_id]&token=$token&cwin=$cwin&page=$page".$qstr; $list[$i][is_edit] = true; $list[$i][is_del] = true; } } else { if (!$row[mb_id]) { $list[$i][del_link] = "./password.php?w=x&bo_table=$bo_table&comment_id=$row[wr_id]&cwin=$cwin&page=$page".$qstr; $list[$i][is_del] = true; } } if (strlen($row[wr_comment_reply]) < 5)
$list[$i][is_reply] = true; } // 05.05.22
// 답변있는 코멘트는 수정, 삭제 불가 if ($i > 0 && !$is_admin) { if ($row[wr_comment_reply]) { $tmp_comment_reply = substr($row[wr_comment_reply], 0, strlen($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; } } } } // 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; // 코멘트수 제한 설정값
if ($is_admin) { $comment_min = $comment_max = 0; } else { $comment_min = (int)$board[bo_comment_min]; $comment_max = (int)$board[bo_comment_max]; } include_once("$board_skin_path/view_comment.skin.php");
// 필터
echo "<script language='javascript'> var g4_cf_filter = '$config[cf_filter]'; </script>\n"; echo "<script language='javascript' src='$g4[path]/js/filter.js'></script>\n"; if (!$member[mb_id]) // 비회원일 경우에만
echo "<script language='javascript' src='$g4[path]/js/md5.js'></script>\n"; @include_once("$board_skin_path/view_comment.tail.skin.php"); ?> | ||
|
잘 해결하셨다니 축하 드립니다.
아니 아니 해결 된것이 아니라 위와 같이 문제점이 생겼다는 겁니다...ㅠㅠ
글쓰기에는 $wr_id값을 사용하지 않습니다. 라는 에러 문구가 출력 되는데...
답변을 작성하시기 전에 로그인 해주세요.