C y B o a r d ($id : $code) SQL Error $which Error Code$ls_errno Error Text$ls_error Error SQL$sql "; return false; } else { return true; } } //----------------------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------- // re_no 최대 최소값 구하는 함수 // ----------------------------------------------------------------------------------------------------------------------- function f_min_max($li_re_no) { // 원본 re_no의 소수점 이하 문자열 길이와 최소, 최대 값을 구함 $str_arr = explode(".", $li_re_no); $li_pos = strlen($str_arr[1]); //echo "원본 문자열의 길이[$li_pos]
"; $lb_min = $li_re_no; if ($lb_min == 0) { $lb_max = 1; } else { $lb_first = "0.".substr($str_arr[1], 0, $li_pos-1); $lb_last = substr($str_arr[1], $li_pos-1, 1); if ($lb_last != 9) { $lb_max = $lb_first.($lb_last+1); } else { $lb_max = $lb_min."1"; } } // 원본 re_no의 소수점 이하 문자열 길이와 최소, 최대 값을 구함 return $lb_max; } //------------------------------------------------------------------------------------------------------------------------ // ----------------------------------------------------------------------------------------------------------------------- // Uniq Code 생성 // ----------------------------------------------------------------------------------------------------------------------- function uniq_code() { // 파일명을 새로 만들어준다. $w=date("Ymd_his"); srand((double)microtime()*1000000); $r= rand(1, 100000); return $w."_".$r; } //------------------------------------------------------------------------------------------------------------------------ //----------------------------------------------------------------------------------------------------------------------- // 페이지 리스트 출력 함수 //----------------------------------------------------------------------------------------------------------------------- function f_page_print($page, $total_record_all, $ls_limit, $ls_block, $link) { $ln_total_page = ceil($total_record_all/$ls_limit); // 페이지 리스트의 첫 페이지 $ln_first_page = (ceil($page / $ls_block) * $ls_block + 1) - $ls_block; // 페이지 리스트의 마지막 페이지 $ln_last_page = $ln_first_page + $ls_block - 1; if ($ln_total_page < $ln_last_page) { $ln_last_page = $ln_total_page; if ($ls_block > $ln_total_page) $ln_first_page = 1; else $ln_first_page = $ln_last_page - $ls_block + 1; } $urlstr = "list_seq=$list_seq&list_no=$list_no"; $page_list = ""; // 리스트 처음으로 //if ( $ln_first_page > 1 ) //$page_list .= ""; // 리스트 전 블럭 if ( $ln_first_page > 1 ) { $ln_prev_page = $ln_first_page - 1; $page_list .= ""; } else { $page_list .= ""; } //리스트 페이징 $page_list .= " "; // 리스트 다음 블럭 if ($ln_last_page < $ln_total_page) { $ln_next_page = $ln_last_page + 1; $page_list .= " "; } else { $page_list .= ""; } // 리스트 마지막 페이지 //if ($ln_last_page < $ln_total_page) //$page_list .= ""; //if ($ln_total_page != 0) $page_list .= " (총페이지 : $page/$ln_total_page)"; $page_list .= "
${ln_prev_page} 페이지 ${ln_prev_page} 페이지 "; for($i=$ln_first_page;$i<=$ln_last_page;$i++) { if ($page == $i) $page_list .= "$i "; else $page_list .= "$i "; } $page_list .= "${ln_next_page} 페이지 ${ln_total_page} 페이지
"; echo $page_list; } //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // history.go(-1) //----------------------------------------------------------------------------------------------------------------------- function f_go($ls_str, $li_go, $ls_link) { $ls_js .= " "; echo $ls_js; if ($ls_link == "" and $li_go == 0) { exit; } } //----------------------------------------------------------------------------------------------------------------------- // 게시물 정보($write_row)를 출력하기 위하여 $list로 가공된 정보를 복사 및 가공 function get_list($write_row, $url, $Category, $subject_len=40) { //$t = get_microtime(); // 배열전체를 복사 $list = $write_row; unset($write_row); if ($subject_len) $list['Title'] = conv_subject($list['Title'], $subject_len, "…"); else $list['Title'] = conv_subject($list['Title'], "20", "…"); $list['href'] = $url."?no=".$list['no']."&Category=".$list['Category']."&Category1=".$list['Category1']; // 당일인 경우 시간으로 표시함 $list['RegDate1'] = substr($list['RegDate'],0,10); $list['RegDate2'] = $list['RegDate']; if ($list['RegDate1'] == date("Y-m-d")) $list['RegDate2'] = substr($list['RegDate'],11,5); else $list['RegDate2'] = substr($list['RegDate'],5,5); $list['Homepage'] = get_text(addslashes($list['Homepage'])); $tmp_name = get_text(cut_str($list['Name'], "5")); // 설정된 자리수 만큼만 이름 출력 $list['icon_new'] = ""; if ($list['RegDate'] >= date("Y-m-d H:i:s", time() - (24 * 3600))) $list['icon_new'] = ""; return $list; } //----------------------------------------------------------------------------------------------------------------------- // 한글, 영문 문자열 자르기 // $str : 대상문자열, $len : 자르고싶은 문자수 //----------------------------------------------------------------------------------------------------------------------- // 제목을 변환 function conv_subject($subject, $len, $suffix="") { return cut_str(get_text($subject), $len, $suffix); } // 한글 한글자(2byte, 유니코드 3byte)는 길이 2, 공란.영숫자.특수문자는 길이 1 function cut_str($str, $len, $suffix="…") { global $ib; $s = substr($str, 0, $len); $cnt = 0; for ($i=0; $i 127) $cnt++; if (strtoupper($ib['charset']) == 'UTF-8') $s = substr($s, 0, $len - ($cnt % 3)); else $s = substr($s, 0, $len - ($cnt % 2)); if (strlen($s) >= strlen($str)) $suffix = ""; return $s . $suffix; } // TEXT 형식으로 변환 function get_text($str, $html=0) { /* 3.22 막음 (HTML 체크 줄바꿈시 출력 오류때문) $source[] = "/ /"; $target[] = "  "; */ // 3.31 // TEXT 출력일 경우 &   등의 코드를 정상으로 출력해 주기 위함 if ($html == 0) { $str = html_symbol($str); } $source[] = "//"; $target[] = ">"; //$source[] = "/\"/"; //$target[] = """; $source[] = "/\'/"; $target[] = "'"; //$source[] = "/}/"; $target[] = "}"; if ($html) { $source[] = "/\n/"; $target[] = "
"; } return preg_replace($source, $target, $str); } // HTML SYMBOL 변환 //   & · 등을 정상으로 출력 function html_symbol($str) { return preg_replace("/\&([a-z0-9]{1,20}|\#[0-9]{0,3});/i", "&\\1;", $str); } // mysql_query 와 mysql_error 를 한꺼번에 처리 function sql_query($sql, $error=TRUE) { if ($error) $result = @mysql_query($sql) or die("

$sql

" . mysql_errno() . " : " . mysql_error() . "

error file : $_SERVER[PHP_SELF]"); else $result = @mysql_query($sql); return $result; } // 쿼리를 실행한 후 결과값에서 한행을 얻는다. function sql_fetch($sql, $error=TRUE) { $result = sql_query($sql, $error); //$row = @sql_fetch_array($result) or die("

$sql

" . mysql_errno() . " : " . mysql_error() . "

error file : $_SERVER[PHP_SELF]"); $row = sql_fetch_array($result); return $row; } // 결과값에서 한행 연관배열(이름으로)로 얻는다. function sql_fetch_array($result) { $row = @mysql_fetch_assoc($result); return $row; } // 게시글에 첨부된 파일을 얻는다. (배열로 반환) function get_file($bo_table, $wr_id) { global $ib; $file["count"] = 0; $sql = " select * from ib_board_file where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no "; $result = sql_query($sql); while ($row = sql_fetch_array($result)) { $no = $row[bf_no]; //$file[$no][href] = "./download.php?bo_table=$bo_table&wr_id=$wr_id&no=$no" . $qstr; $file[$no][download] = $row[bf_download]; $file[$no][path] = "$ib[uploaddir]/data/$bo_table"; $file[$no][size] = get_filesize($row[bf_filesize]); $file[$no][datetime] = $row[bf_datetime]; $file[$no][source] = $row[bf_source]; $file[$no][bf_content] = $row[bf_content]; $file[$no][content] = get_text($row[bf_content]); //$file[$no][view] = view_file_link($row[bf_file], $row[bf_width], $row[bf_height], $file[$no][content]); $file[$no][file] = $row[bf_file]; $file[$no][image_width] = $row[bf_width] ? $row[bf_width] : 640; $file[$no][image_height] = $row[bf_height] ? $row[bf_height] : 480; $file[$no][image_type] = $row[bf_type]; $file["count"]++; } return $file; } // 파일의 용량을 구한다. //function get_filesize($file) function get_filesize($size) { //$size = @filesize(addslashes($file)); if ($size >= 1048576) { $size = number_format($size/1048576, 1) . "M"; } else if ($size >= 1024) { $size = number_format($size/1024, 1) . "K"; } else { $size = number_format($size, 0) . "byte"; } return $size; } // 최신글 추출 function latest($url, $board_table, $Category, $Category1, $rows=10, $subject_len=40, $options="") { global $root; $list = array(); if($Category) $Where = " and Category = '$Category'"; if($Category1) $Where .= " and Category1 = '$Category1'"; $sql = " select * from $board_table where Title <> '' ".$Where." order by Thread desc, Depth desc limit 0, $rows "; $result = mysql_query($sql); for ($i=0; $row = mysql_fetch_array($result); $i++) $list[$i] = get_list($row, $url, $Category, $subject_len); include "$root/inc/latest.inc.php"; } //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // 타이틀을 변환해서 리턴하는 함수 //----------------------------------------------------------------------------------------------------------------------- function f_title_conv($title) { $ls_title = htmlspecialchars($title); $ls_title = stripslashes($ls_title); return $ls_title; } //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // 쓰기 금지 체크 //----------------------------------------------------------------------------------------------------------------------- function f_writeno($o_write_no, $o_write) { if ($o_write_no != "") { $o_write_no_arr = explode(" ", $o_write_no); foreach ($o_write_no_arr as $ls_matche) { if (eregi($ls_matche, $o_write)) { echo " "; exit; } } } } //----------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------- // 파일 사이즈를 kb, mb에 맞추어서 변환해서 리턴 //----------------------------------------------------------------------------------------------------------------------- function getfilesize($size) { if (!$size) { return ("0 Byte"); } if ($size < 1024) { return ($size." Byte"); } elseif ($size > 1024 && $size < (1024*1024)) { return sprintf("%0.1f KB", $size/1024); } else { return sprintf("%0.2f MB", $size/(1024*1024)); } } //----------------------------------------------------------------------------------------------------------------------- // 리스트에서 본문 내용 미리보기 function simpleview ($content) { $content = ereg_replace("[\r|\n]+", " ", $content); $content = ereg_replace("^ +", "", $content); $content = tagdel($content); //$content = htmlchars(curstring($content, 200)); $content = htmlchars(stringcut($ls_title, 200, "", 0)); return $content; } function tagdel ($str) { $str = ereg_replace("<[^>]*(>|$)", "", $str); return $str; } function htmlchars($str) { $str = htmlspecialchars($str); // 확장완성형 처리 return eregi_replace("&#", "&#", $str); } //실아이피주소를 가져온다 function get_userip() { $first_ip = getenv(REMOTE_ADDR); $second_ip = getenv(HTTP_X_FORWARDED_FOR); // 방화벽 + 사설아이피 $third_ip = getenv(HTTP_CLIENT_IP); // 방화벽 + 공인아이피 if (!$second_ip && !$third_ip) { return $first_ip; } else { if($second_ip){ return "$first_ip/$second_ip"; } else { return "$first_ip/$third_ip"; } } } //----------------------------------------------------------------------------------------------------------------------- // 태그 삭제 하는 함수. //----------------------------------------------------------------------------------------------------------------------- function scriptdel($str) { // PHP, JavaScript 등에서 사용되는 // 태그 해석 금지 $str = ereg_replace("<\?", "<?", $str); $str = ereg_replace("\?>", "?>", $str); $str = ereg_replace("<\%", "<%", $str); $str = ereg_replace("\%>", "%>", $str); $str = ereg_replace("'", "\'", $str); $str = eregi_replace("<(SCRIPT)([^>]*)>", "<\\1\\2>", $str); $str = eregi_replace("", "</\\1>", $str); return $str; } //----------------------------------------------------------------------------------------------------------------------- // URL을 붙여 주는 함수. //----------------------------------------------------------------------------------------------------------------------- function urlautolink ($str) { $str = ereg_replace("<", "\t_lt_\t", $str); $str = ereg_replace(">", "\t_gt_\t", $str); $str = ereg_replace("&", "&", $str); $str = ereg_replace(""", "\"", $str); $str = eregi_replace("([^(http://)]|\(|^)(www\.[a-zA-Z0-9\.-]+\.[a-zA-Z0-9\.:&#=_\?/~\+%@;-]+)", "\\1\\2", $str); $str = eregi_replace("([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news)://[a-zA-Z0-9\.-]+\.[a-zA-Z0-9\.:&#=_\?/~\+%@;-]+)", "\\1\\2", $str); $str = eregi_replace("([^(HREF=)]|\(|^)\"?'?([a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]+)", "\\1\\2", $str); $str = ereg_replace("\t_lt_\t", "<", $str); $str = ereg_replace("\t_gt_\t", ">", $str); return $str; } //----------------------------------------------------------------------------------------------------------------------- // 엔터키 변환 함수 //----------------------------------------------------------------------------------------------------------------------- function newlineconv($str) { $str = ereg_replace("\r\n", "\n", $str); // Windows(CR,LF) -> LF $str = ereg_replace("\r", "\n", $str); // Mac(CR) -> LF return $str; } function msgconv ($content, $html_kind) { // 탭문자 변환 $content = ereg_replace("\t", " ", $content); // JavaScript, PHP 코드 등 무력화 $content = scriptdel($content); // URL 자동 링크 $content = urlautolink($content); // 공백없이 연속 입력한 문자 자르기 //$content = eregi_replace("[^ \n<>]{80}", "\\0\n", $content); // 링크용 URL인 경우 다섯줄 까지는 다시 붙이기 $content = eregi_replace("(HREF=\"?'?[^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)", "\\1\\2\\3\\4\\5", $content); $content = eregi_replace("(SRC=\"?'?[^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)\n?([^\n\"']+)", "\\1\\2\\3\\4\\5", $content); // 줄바꿈문자 변환 $content = newlineconv($content); // TABLE 태그 조작(
비적용) $content = eregi_replace("<(/?(TABLE|TR|TH|TD)[^>]*)> *\n", "<\\1>\t_nl_\t", $content); $content = eregi_replace(" *<(/?(TABLE|TR|TH|TD)+)", "<\\1", $content); // 열린태그 붙이기 $content = ereg_replace("<([^><\n]*)\n+([^><\n]*)>", "<\\1 \\2>", $content); // html 문서가 아닐 경우 아래 실행 if ($html_kind == 0) { $content = ereg_replace("\n", "
\n", $content); // 공백 처리 $content = ereg_replace(" ", "  ", $content); $content = ereg_replace(" ", "  ", $content); $content = ereg_replace("\n ", "\n ", $content); } $content = ereg_replace("\t_nl_\t", "\n", $content); return $content; } //숫자를 000001 식의 형태로 만들기 function getCodeMake($intCode, $intCodeLen) { $intLengthEnd = $intCodeLen - strlen($intCode); $strCode = ""; for ($intLength = 0; $intLength < $intLengthEnd; $intLength++) { $strCode .= "0"; } $strCode .= $intCode; return $strCode; } //아이디로 회원명을 구한다. function memberName($UserId) { $sql1 = "SELECT UserName FROM ib_member WHERE UserId = '" . $UserId . "' "; $resul = mysql_query($sql1); if ($resul) { if ($arrData = mysql_fetch_row($resul)) { return $arrData[0]; } } return ""; } function CategoryBName($Category, $table) { $sql = " select BigName from $table where BigCategory = '$Category' "; $result = mysql_query($sql); if ($result) { if ($arrData = mysql_fetch_row($result)) { return $arrData[0]; } } return ""; } function CategorySName($Category, $table) { $sql = " select smallName from $table where smallCategory = '$Category' "; $result = mysql_query($sql); if ($result) { if ($arrData = mysql_fetch_row($result)) { return $arrData[0]; } } return ""; } //신청상태 function orderStates($State) { switch ($State) { case "N" : return "상담중"; break; case "A" : return "작업중"; break; case "Y" : return "작업완료"; break; } } //결제방법 function priceKindStates($State) { switch ($State) { case "BANK" : return "무통장"; break; } } function printAlertMove($strMsg, $strUrl) { global $ib; echo ""; echo ""; exit; } function printAlertMeta($strMsg,$strUrl) { global $ib; echo ""; echo ""; echo ""; exit; } function printMovePage($strUrl) { global $ib; echo ""; echo ""; exit; } function printAlertClose($strMsg) { global $ib; echo ""; echo ""; exit; } function printMeta($strUrl) { global $ib; echo ""; echo ""; exit; } function printErrorBack($strMsg) { global $ib; echo ""; echo ""; exit; } function printAlert($strMsg) { global $ib; echo ""; echo ""; exit; } //-------------------------------------------------------------------------------------------------------- ?>