if ($c_data[ismember] == $member[no] || $is_admin || $member[level] <= $setup[grant_delete]) { $a_del = "<a onfocus=blur() href='del_comment.php?{$href}{$sort}&no={$no}&c_no={$c_data['no']}'>"; } else { $a_del = " <Zeroboard "; } } else { $a_del = "<a onfocus=blur() href='del_comment.php?{$href}{$sort}&no={$no}&c_no={$c_data['no']}'>"; } // 이름앞에 붙는 아이콘 정의;; $c_face_image = get_face($c_data); if ($is_admin) { $show_ip = " title='{$c_data['ip']}' "; } else { $show_ip = ""; } if ($setup[use_formmail] && check_zbLayer($c_data)) { $comment_name = "<span {$show_ip} onMousedown=\"ZB_layerAction('zbLayer{$_zbCheckNum}','visible')\" style=cursor:hand>{$comment_name}</span>"; } else { if ($c_data[ismember]) { $comment_name = "<a onfocus=blur() href=\"javascript:void(window.open('view_info.php?id={$id}&member_no={$c_data['ismember']}','mailform','width=400,height=510,statusbar=no,scrollbars=yes,toolbar=no'))\" {$show_ip}>{$comment_name}</a>"; } else { $comment_name = "<div {$show_ip}>{$comment_name}</div>"; } } $_skinTimeStart = getmicrotime(); include $dir . "/view_comment.php"; $_skinTime += getmicrotime() - $_skinTimeStart; flush(); } if ($member[level] <= $setup[grant_comment]) { $_skinTimeStart = getmicrotime();
function list_check(&$data, $view_check = 0) { global $keyword, $sn, $ss, $sc, $setup, $member, $href, $id, $dir, $category_data, $is_admin, $_zbResizeCheck, $name, $email, $subject, $sort, $prev_no, $no, $homepage, $memo, $hit, $vote, $ip, $comment_num, $sitelink1, $sitelink2, $file_name1, $file_name2, $file_download1, $file_download2, $file_size1, $file_size2, $upload_image1, $upload_image2, $category_name, $date, $reg_date, $insert, $icon, $face_image, $number, $loop_number, $a_file_link1, $a_file_link2, $a_reply, $a_delete, $a_modify, $zbLayer, $_zbCheckNum, $_listCheckTime; $_listCheckTimeStart = getmicrotime(); if ($view_check) { $setup[only_board] = 0; } // 제목에 5줄로 툴바 만듬 if ($setup[use_status]) { $tmpData = explode("\n", stripslashes($data[memo])); $totalCommentLineNum = count($tmpData); if ($totalCommentLineNum > 10) { $showCommentStr_tail .= "\n" . ($totalCommentLineNum - 10) . " lines more... (total : {$totalCommentLineNum} lines)"; $tmpData_Count = 10; } else { $tmpData_Count = $totalCommentLineNum; } $showCommentStr = ""; for ($i = 0; $i < $tmpData_Count; $i++) { $tmpStr = trim($tmpData[$i]); if ($tmpStr) { $showCommentStr .= $tmpStr . "\n"; } } $showCommentStr = str_replace("'", "", $showCommentStr); $showCommentStr = str_replace("\"", "", $showCommentStr); $showCommentStr .= $showCommentStr_tail; } $_zbCount = check_zbLayer($data); // HTML 사용일 경우 현재 회원의 html 권한이 없거나 관리자가 아니라면 style 속성을 제거 if ($data[use_html] && $data[islevel] > $setup[grant_html]) { $style_pattern = "/(\\<.*?)style=(.*?)(\\>?)/i"; $data[memo] = preg_replace($style_pattern, "\\1\\3", $data[memo]); } // 검색어에 해당하는 글자를 빨간;; 색으로 바꾸어줌;; if ($keyword) { $keyword_pattern = "/{$keyword}/i"; if ($sn == "on") { $data[name] = preg_replace($keyword_pattern, "<font color=FF001E style=background-color:FFF000;>{$keyword}</font>", $data[name]); } if ($ss == "on") { $data[subject] = preg_replace($keyword_pattern, "<font color=FF001E style=background-color:FFF000;>{$keyword}</font>", $data[subject]); } if ($ss == "on" && $setup[cut_length] > 0) { $setup[cut_length] = $setup[cut_length] + 52; } } // ' 등의 특수문자때문에 붙인 \(역슬래쉬)를 떼어낸다 $name = $data[name] = stripslashes($data[name]); // 이름 $temp_name = get_private_icon($data[ismember], "2"); if ($temp_name) { $name = "<img src='{$temp_name}' border=0 align=absmiddle>"; } $subject = $data[subject] = stripslashes($data[subject]); // 제목 //$subject=$data[subject]; $subject = cut_str($subject, $setup[cut_length]); // 제목 자르는 부분 $hit = $data[hit]; // 조회수 $vote = $data[vote]; // 투표수 $comment_num = "[" . $data[total_comment] . "]"; // 간단한 답글 수 if ($data[total_comment] == 0) { $comment_num = ""; } if ($setup[use_alllist]) { $view_file = "zboard.php"; } else { $view_file = "view.php"; } // 제목에 링크 거는 부분; if ($member[level] <= $setup[grant_view] || $is_admin) { //if($setup[use_status]&&!$data[is_secret]) $addShowComment = " onMouseOver=\"showComment('$showCommentStr',true)\" onMouseOut=\"showComment('',false)\" "; if ($setup[use_status] && !$data[is_secret]) { $addShowComment = " title=\"{$showCommentStr}\" "; } $subject = "<a href=\"" . $view_file . "?{$href}{$sort}&no={$data['no']}\" {$addShowComment} >" . $subject . "</a>"; } if (!$setup[only_board]) { $homepage = $data[homepage] = stripslashes($data[homepage]); if ($homepage) { $homepage = "<a href='{$homepage}' target=_blank>{$homepage}</a>"; } // 이미지 박스 사용을 위해서 정규표현식 사용 if ($data[ismember]) { $imageBoxPattern = "/\\[img\\:(.+?)\\.(jpg|gif)\\,align\\=([a-z]){0,}\\,width\\=([0-9]+)\\,height\\=([0-9]+)\\,vspace\\=([0-9]+)\\,hspace\\=([0-9]+)\\,border\\=([0-9]+)\\]/i"; $data[memo] = preg_replace($imageBoxPattern, "<img src='icon/member_image_box/{$data['ismember']}/\\1.\\2' align='\\3' width='\\4' height='\\5' vspace='\\6' hspace='\\7' border='\\8'>", stripslashes($data[memo])); } else { $data[memo] = stripslashes($data[memo]); } if ($data[use_html] < 2) { $memo = $data[memo] = nl2br($data[memo]); } $memo = $data[memo]; // 자동링크 거는 부분;; if ($setup[use_autolink]) { $memo = autolink($memo); } $memo .= "<!--\"<-->"; // 검색어가 있을경우 내용의 키워드를 변경 if ($sc == "on" && $keyword) { $keyword_pattern = "/([^<]*){$keyword}([^>]*)/i"; $memo = preg_replace($keyword_pattern, "\\1<font color=FF001E style=background-color:FFF000;>{$keyword}</font>\\2", $memo); $keyword_pattern2 = "/<img(.*)<font color=FF001E style=background-color:FFF000;>{$keyword}<\\/font>(.*)>/i"; $memo = preg_replace($keyword_pattern2, "<img\\1{$keyword}\\2>", $memo); } // 이미지 리사이즈를 위해서 처리하는 부분 $memo = preg_replace("/(\\<img)(.*)(\\>?)/i", "\\1 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src) \\2 \\3", $memo); $memo = "<table border=0 cellspacing=0 cellpadding=0 width=100% style=\"table-layout:fixed;\"><col width=100%></col><tr><td valign=top>" . $memo . "</table>"; $_zbResizeCheck = true; // 아이피 if ($is_admin) { $ip = "IP Address : " . $data[ip] . " "; } $sitelink1 = $data[sitelink1] = stripslashes($data[sitelink1]); $sitelink2 = $data[sitelink2] = stripslashes($data[sitelink2]); if ($sitelink1) { $sitelink1 = "<a href='{$sitelink1}' target=_blank>{$sitelink1}</a>"; } if ($sitelink2) { $sitelink2 = "<a href='{$sitelink2}' target=_blank>{$sitelink2}</a>"; } $file_name1 = $data[s_file_name1]; $file_name2 = $data[s_file_name2]; $file_download1 = $data[download1]; $file_download2 = $data[download2]; if ($file_name1) { $file_size1 = @GetFileSize(filesize($data[file_name1])); $a_file_link1 = "<a href='download.php?{$href}{$sort}&no={$data['no']}&filenum=1'>"; } else { $file_size1 = 0; $a_file_link1 = "<Zeroboard"; } if ($file_name2) { $file_size2 = @GetFileSize(filesize($data[file_name2])); $a_file_link2 = "<a href='download.php?{$href}{$sort}&no={$data['no']}&filenum=2'>"; } else { $file_size2 = 0; $a_file_link2 = "<Zeroboard"; } $upload_image1 = $upload_image2 = ""; if (eregi("\\.jpg", $file_name1) || eregi("\\.gif", $file_name1) || eregi("\\.png", $file_name1)) { $upload_image1 = "<img src={$data['file_name1']} border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>"; } if (eregi("\\.jpg", $file_name2) || eregi("\\.gif", $file_name2) || eregi("\\.png", $file_name2)) { $upload_image2 = "<img src={$data['file_name2']} border=0 name=zb_target_resize style=\"cursor:hand\" onclick=window.open(this.src)><br>"; } } // 카테고리의 이름을 구함 if ($data[category] && $setup[use_category]) { $category_name = $category_data[$data[category]]; } else { $category_name = " "; } // 글쓴 시간을 년월일 시분초 로 변환함 $reg_date = "<span title='" . date("Y년 m월 d일 H시 i분 s초", $data[reg_date]) . "'>" . date("Y/m/d", $data[reg_date]) . "</span>"; $date = date("Y-m-d H:i:s", $data[reg_date]); // 폼메일을 사용하고 관련메뉴가 생성이 되면 레이어오픈 if ($_zbCount && $setup[use_formmail]) { $name = "<span onMousedown=\"ZB_layerAction('zbLayer{$_zbCheckNum}','visible')\" style=cursor:hand>{$name}</span>"; // 폼메일을 사용안할 경우 무조건 메일링크 } else { if ($data[email]) { $name = "<a href=\"javascript:void(window.open('open_window.php?mode=m&str=" . urlencode(base64_encode($data[email])) . "','ZBremote','width=1,height=1,left=1,top=1'))\">{$name}</a>"; } //$name="<a href=\"javascript:void(window.open('view_info.php?to=$email&id=$id&member_no=$data[ismember]','mailform','width=400,height=510,statusbar=no,scrollbars=yes,toolbar=no'))\">$name</a>"; } // Depth에 의한 들임값을 정함 $insert = ""; if ($data[depth] > 15) { $data[depth] = 15; } for ($z = 0; $z < $data[depth]; $z++) { $insert .= " "; } $icon = get_icon($data); // 이름앞에 붙는 아이콘 정의;; $face_image = get_face($data); $number = $loop_number; // 바로 전에 본 글인 경우 번호를 아이콘으로 바꿈 if ($prev_no == $data[no]) { $number = "<img src={$dir}/arrow.gif border=0 align=absmiddle>"; } elseif ($number != " ") { $number = $loop_number; } // 답글 버튼 if (($is_admin || $member[level] <= $setup[grant_reply]) && $data[headnum] > -2000000000 && $data[headnum] != -1) { $a_reply = "<a href='write.php?{$href}{$sort}&no={$data['no']}&mode=reply'>"; } else { $a_reply = "<Zeroboard"; } // 삭제버튼 if (($is_admin || $member[level] <= $setup[grant_delete] || $data[ismember] == $member[no] || !$data[ismember]) && !$data[child]) { $a_delete = "<a href='delete.php?{$href}{$sort}&no={$data['no']}'>"; } else { $a_delete = "<Zeroboard"; } // 수정버튼 if ($is_admin || $member[level] <= $setup[grant_delete] || $data[ismember] == $member[no] || !$data[ismember]) { $a_modify = "<a href='write.php?{$href}{$sort}&no={$data['no']}&mode=modify'>"; } else { $a_modify = "<Zeroboard"; } // 스팸메일러 금지 $mail = $data[email] = ""; $_listCheckTime += getmicrotime() - $_listCheckTimeStart; }