코멘트 글쓸때 비회원 이미지 나오게 할려면..
본문
코멘트 이미지에 기본 이미지를 넣어두고
비회원이 글을 쓰면 콘멘트 목록에 기본 이미지가 나오게 하고 싶은데요
지금은 그냥 기본 이미지가 보이지 않고 엑박이 뜨네요..
아시는 분 좀 알려주세요..
http://ktcpg.com/bbs/bbs/board.php?bo_table=1&wr_id=17
아래는 소스
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script type="text/javascript">
// 글자수 제한
var char_min = parseInt(<?=$comment_min?>); // 최소
var char_max = parseInt(<?=$comment_max?>); // 최대
</script>
<!-- 코멘트 리스트 -->
<div id="commentContents" style=" position:relative; width:100%; ">
<h3 style=" margin:0 0 10px 0; padding:0 0 3px 0; letter-spacing:-1px; border-bottom:2px solid #ccc;">Comments <span style=" font-size:.8em; color:#ff4b0d;"><?=$view[comment_cnt]?></span></h3>
<?
for ($i=0; $i<count($list); $i++) {
$comment_id = $list[$i][wr_id];
$reply_len = strlen($list[$i][wr_comment_reply]);
$reply_begin = "".($reply_len * 25 + 72)."px";
$mb_dir = substr($list[$i]['mb_id'],0,2);
$photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id'];
?>
<a name="c_<?=$comment_id?>"></a>
<div class="list" style="position:relative; margin-left:<?=$reply_begin?>; padding-right:-<?=$reply_begin?>px; border:1px solid #ddd; margin-bottom:6px; border-radius:6px; -webkit-border-radius:6px; -moz-border-radius:6px;">
<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">
<img src="<?=$photo_file?>" width="60" height="60" /></div>
<div style="position:absolute; width:13px; height:16px; left:-12px; top:17px; background:url(<?=$board_skin_path?>/img/arrow_comment3.gif) 0 50% no-repeat;"></div>
<?
if ($list[$i][wr_comment_reply]){
echo "<span class=\"arrow\" style=\"position:absolute; width:12px; height:12px; top:10px; left:-87px; background:url({$board_skin_path}/img/arrow_comment.gif) 0 50% no-repeat;\"></span>";
}
?>
<div style="height:23px; line-height:28px; padding: 0 0 0 10px; margin:0; clear:both;" >
<div style="float:left;">
<strong><?=$list[$i][name]?></strong>
<span style="padding-left:5px; color:#333333; font-size:11px;"><?=$list[$i][datetime]?></span>
</div>
<div style="float:right; ">
<? if ($is_ip_view) { echo " <span style=\"color:#B2B2B2; font-size:11px;\">{$list[$i][ip]}</span>"; } ?>
<? if ($list[$i][is_reply]) { echo "<a href=\"javascript:comment_box('{$comment_id}', 'c');\"><img src='$board_skin_path/img/co_btn_reply.gif' border='0' align=absmiddle alt='답변'></a> "; } ?>
<? if ($list[$i][is_edit]) { echo "<a href=\"javascript:comment_box('{$comment_id}', 'cu');\"><img src='$board_skin_path/img/co_btn_modify.gif' border='0' align=absmiddle alt='수정'></a> "; } ?>
<? if ($list[$i][is_del]) { echo "<a href=\"javascript:comment_delete('{$list[$i][del_link]}');\"><img src='$board_skin_path/img/co_btn_delete.gif' border='0' align=absmiddle alt='삭제'></a> "; } ?>
</div>
</div><!-- //header -->
<!-- 코멘트 출력 -->
<div style=" line-height:20px; padding:10px 10px 10px 10px; word-break:break-all; overflow:hidden; clear:both; ">
<?
if (strstr($list[$i][wr_option], "secret")) echo "<span style='color:#ff6600;'>*</span> ";
$str = $list[$i][content];
if (strstr($list[$i][wr_option], "secret"))
$str = "<span style='color:#ff6600;'>$str</span>";
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
// FLASH XSS 공격에 의해 주석 처리 - 110406
//$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp)\:\/\/([^[:space:]]+)\.(swf)\".*\<\/a\>\]/i", "<script>doc_write(flash_movie('$1://$2.$3'));</script>", $str);
$str = preg_replace("/\[\<a\s*href\=\"(http|https|ftp)\:\/\/([^[:space:]]+)\.(gif|png|jpg|jpeg|bmp)\"\s*[^\>]*\>[^\s]*\<\/a\>\]/i", "<img src=\"$1://$2.$3\" id=\"target_resize_image[]\" onclick=\"image_window(this);\">", "$str");
echo $str;
?>
<? if ($list[$i][trackback]) { echo "<p>".$list[$i][trackback]."</p>"; } ?>
<span id="edit_<?=$comment_id?>" style="display:none;"></span><!-- 수정 -->
<span id="reply_<?=$comment_id?>" style="display:none;"></span><!-- 답변 -->
</div>
<input type="hidden" id="secret_comment_<?=$comment_id?>" value="<?=strstr($list[$i][wr_option],"secret")?>">
<textarea id="save_comment_<?=$comment_id?>" style="display:none;"><?=get_text($list[$i][content1], 0)?></textarea>
</div><!-- //list -->
<? } ?>
<? if ($is_comment_write) { ?>
<!-- 코멘트 입력 -->
<div id="comment_write" style=" position:relative; margin-left:72px; border:1px solid #d5d5d5; padding:0 10px 10px 10px; background:#F5F5F5; margin-bottom:6px; border-radius:6px; -webkit-border-radius:6px; -moz-border-radius:6px; display:none;">
<form name="fviewcomment" method="post" action="./write_comment_update.php" onsubmit="return fviewcomment_submit(this);" autocomplete="off" style=" position:relative; " >
<input type=hidden name=w id=w value="c">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=comment_id id="comment_id" value="">
<input type=hidden name=sca value="<?=$sca?>" >
<input type=hidden name=sfl value="<?=$sfl?>" >
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=page value="<?=$page?>">
<input type=hidden name=cwin value="<?=$cwin?>">
<input type=hidden name=is_good value="">
<div style=" position:absolute; width:70px; left:-82px; top:0;">
<?
$mb_dir = substr($member["mb_id"],0,2);
$photo_file = $g4["path"]."/data/member/".$mb_dir."/photo/".$member["mb_id"];
echo "<span style=\"position:absolute; width:13px; height:16px; top:50%; left:60px; background:url({$board_skin_path}/img/arrow_comment2.gif) 0 50% no-repeat;\"></span>";
if (file_exists($photo_file)) {
echo "<img src='".$photo_file."' style='border:3px solid #E3E3E3'>";
} else {
echo "<img src='".$board_skin_path."/img/member_noimg.gif' style='border:3px solid #E3E3E3'></span>";
}
?>
<? if($is_member){?>
<div style=" padding:5px 0 0 5px;"><a href="javascript:member_photo();" class="button">Edit</a></div>
<? }?>
</div>
<div class="wr_content" style=" margin-right:100px;">
<div style=" height:18px; padding:5px 0 5px 0; margin:0; vertical-align:top;">
<span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 5);" class="icon up"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 5);" class="icon init"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 5);" class="icon down"></span>
<input type=checkbox id="wr_secret" name="wr_secret" value="secret"><span style=" color:#333">Select</span>
</div>
<textarea id="wr_content" name="wr_content" rows="7" itemname="Comment" required <? if ($comment_min || $comment_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<? }?> style=" width:100%; border:1px solid #bebebe;"></textarea>
<? if ($comment_min || $comment_max) { ?><script type="text/javascript"> check_byte('wr_content', 'char_count'); </script><? }?>
<? if ($is_guest) { ?>
<p style=" margin-top:8px; ">
<span style=" color:#333">Name</span> <INPUT type=text maxLength=30 size=30 style="height:25px; width:80px" name="wr_name" itemname="Name" required />
<span style=" color:#333;">Password</span> <INPUT type=password maxLength=20 size=10 style="height:25px; width:80px" name="wr_password" itemname="Password" required />
<img id="kcaptcha_image" align="absmiddle"/>
<input title="왼쪽의 글자를 입력하세요." type="input" name="wr_key" size="10"style="height:25px; width:80px" itemname="Automatic registration protection" required />
</p>
<? } ?>
</div>
<div style=" position:absolute; top:27px; right:0; width:90px; ">
<input type="submit" value="Comment" accesskey="s" class="button" style=" width:90px; height:110px; float:right;" />
<!-- <a href="javascript:good_and_write()"><input type="submit" value="댓글+추천" accesskey="s" class="button" style=" width:90px; float:right; margin-top:2px;" /></a>-->
</div>
</form>
</div>
</div>
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/javascript">
function member_photo()
{
window.open("<?=$board_skin_path?>/plugin/member_photo/member.photo.php", "회원사진변경", "width=450, height=210, scrollbars=auto, menubar=no");
}
var save_before = '';
var save_html = document.getElementById('comment_write').innerHTML;
function good_and_write()
{
var f = document.fviewcomment;
if(fviewcomment_submit(f))
{
f.is_good.value = 1;
f.submit();
}
else
{
f.is_good.value = 0;
}
}
function fviewcomment_submit(f)
{
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
f.is_good.value = 0;
var subject = "";
var content = "";
$.ajax({
url: "<?=$board_skin_path?>/ajax.filter.php",
type: "POST",
data: {
"subject": "",
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
/*
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
f.wr_content.focus();
return false;
}
*/
// 양쪽 공백 없애기
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
if (char_min > 0 || char_max > 0)
{
check_byte('wr_content', 'char_count');
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("코멘트는 "+char_min+"글자 이상 쓰셔야 합니다.");
return false;
} else if (char_max > 0 && char_max < cnt)
{
alert("코멘트는 "+char_max+"글자 이하로 쓰셔야 합니다.");
return false;
}
}
else if (!document.getElementById('wr_content').value)
{
alert("코멘트를 입력하여 주십시오.");
return false;
}
if (typeof(f.wr_name) != 'undefined')
{
f.wr_name.value = f.wr_name.value.replace(pattern, "");
if (f.wr_name.value == '')
{
alert('이름이 입력되지 않았습니다.');
f.wr_name.focus();
return false;
}
}
if (typeof(f.wr_password) != 'undefined')
{
f.wr_password.value = f.wr_password.value.replace(pattern, "");
if (f.wr_password.value == '')
{
alert('패스워드가 입력되지 않았습니다.');
f.wr_password.focus();
return false;
}
}
if (!check_kcaptcha(f.wr_key)) {
return false;
}
return true;
}
function comment_box(comment_id, work)
{
var el_id;
// 코멘트 아이디가 넘어오면 답변, 수정
if (comment_id)
{
if (work == 'c')
el_id = 'reply_' + comment_id;
else
el_id = 'edit_' + comment_id;
}
else
el_id = 'comment_write';
if (save_before != el_id)
{
if (save_before)
{
document.getElementById(save_before).style.display = 'none';
document.getElementById(save_before).innerHTML = '';
}
document.getElementById(el_id).style.display = '';
document.getElementById(el_id).innerHTML = save_html;
// 코멘트 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
if (typeof char_count != 'undefined')
check_byte('wr_content', 'char_count');
if (document.getElementById('secret_comment_'+comment_id).value)
document.getElementById('wr_secret').checked = true;
else
document.getElementById('wr_secret').checked = false;
}
document.getElementById('comment_id').value = comment_id;
document.getElementById('w').value = work;
save_before = el_id;
}
if (typeof(wrestInitialized) != 'undefined')
wrestInitialized();
//jQuery(this).kcaptcha_load();
if (comment_id && work == 'c')
$.kcaptcha_run();
}
function comment_delete(url)
{
if (confirm("이 코멘트를 삭제하시겠습니까?")) location.href = url;
}
comment_box('', 'c'); // 코멘트 입력폼이 보이도록 처리하기위해서 추가 (root님)
</script>
<? } ?>
<? if($cwin==1) { ?>
<p align=center><a href="javascript:window.close();" class="button">창닫기</a><br><br>
<? }?>
답변 3
20번 라인을
수정전
$photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id'];
수정후
if($list[$i]['mb_id']){
$photo_file = $g4['path']."/data/member/".$mb_dir."/photo/".$list[$i]['mb_id'];
}else{
$photo_file = $board_skin_path."/img/member_noimg.gif";
}
22줄 부분에
<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">
<img src="<?=$photo_file?>" width="60" height="60" /></div>
부분을
<div style="position:absolute; left:-72px; top:0px;border:3px solid #E3E3E3;">
<? if($is_member) { ?>
<img src="<?=$photo_file?>" width="60" height="60" /></div>
<? } else { ?>
<img src="<?=$board_skin_path?>/img/member_noimg.gif"></div>
<? } ?>
으로 바꿔보시겠어요?
디렉토리와 파일을 못가져 오네요
$mb_dir = substr($member["mb_id"],0,2); 디렉토리를 substr를 써서 왜 자르지요?
$mb_dir = $list[$i]['mb_id'] 이렇게 해야 하는데요
$member[mb_id]로 하면 현재 로그인한 사람의 아이콘으로 모두 바껴요
$mb_dir이 아래에도 있는데 for문으로 감싸야 되요
비회원 이미지는 따로 /img 폴더에 저장하고 불러오면 될것 같은데요