본문
-----------------------------
전체 속도개선: 목록,최근글등에서 첨부파일을 사용하지 않는경우 처리
common.lib.php 의 function get_list() 함수 수정
//파일첨부가 가능한경우에만 검사 $g4[skip_check_file]일 경우면 검사안함.
if (!$g4[skip_check_file]&&$board[bo_upload_count]) {
// 가변 파일
$list['file'] = get_file($board['bo_table'], $list['wr_id']);
if ($list['file']['count'])
$list['icon_file'] = "<img src='$skin_path/img/icon_file.gif' align='absmiddle'>";
}
------------------------------
검색속도 개선 : 검색어에서 확장 필드등을 검색할때 like %...% 대신 = 를 사용하게 하라..
common.lib.php 의 function get_sql_search() 수정
$op2 = "";
for ($k=0; $k<count($field); $k++) { // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
$str .= $op2;
if (substr($field[$k],0,4)=="inx_") {
$str .= " ".substr($field[$k],4). "= '$s[$i]' ";
}
else {
switch ($field[$k]) {
case "mb_id" :
case "wr_name" :
$str .= " $field[$k] = '$s[$i]' ";
break;
case "wr_hit" :
case "wr_good" :
case "wr_nogood" :
$str .= " $field[$k] >= '$s[$i]' ";
break;
// 번호는 해당 검색어에 -1 을 곱함
case "wr_num" :
$str .= "$field[$k] = ".((-1)*$s[$i]);
break;
// LIKE 보다 INSTR 속도가 빠름
default :
if (preg_match("/[a-zA-Z]/", $search_str))
$str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
else
$str .= "INSTR($field[$k], '$search_str')";
break;
}
}
$op2 = " or ";
}
$str .= ")";
검색 사용에서는 ..
list.skin.php 에서 inx_wr_subject 등으로 필드명을 주면된다.
<select name="sfl">
<option value="inx_wr_subject">유저아이디</option>
<option value="wr_subject">아이디검색</option>
<option value="wr_content">내용</option>
<option value="wr_subject||wr_content">제목+내용</option>
<option value="mb_id,1">회원아이디</option>
<option value="mb_id,0">회원아이디(코)</option>
<option value="wr_name,1">글쓴이</option>
<option value="wr_name,0">글쓴이(코)</option>
</select>
utf-8 환경에서 회원가입시 AJAX 오류를 수정하기 위해
/skin/member/basic/ajax*.php 에서
상단에 chartset을 명시해야 정상동작된다.
include_once("_common.php");
header("Content-type: text/html;charset=$g4[charset]"); // 이줄 추가..2009-11-15 김성대
-----------------------------------
다운로드 시 UTF-8 버젼 공백문자 처리개선
그누보드/bbs/download.php : 60라인에서 $original = urlencode($file[bf_source]); 를 다음으로 변경
$original = str_replace("+","%20", urlencode($file[bf_source]));
언제까지나님: http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=22223&page=&sca=&sfl=&stx=&spt=0&cwin=#c_22264
----------------------------------------------------
js/common.js 에서 width=616 을 찾아 width=620 으로 바꿔주면, 쪽지창, 포인트창, 패스워트찾기창, 스크랩창들의 가로스크롤이 없어집니다
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=21484
-------------
/style.css 에서 img {border:0px none;-ms-interpolation-mode: bicubic;} IE7 에서 계단현상없어짐
http://www.actrun.com/bbs/board.php?bo_table=tip_gnu&wr_id=90
-------------
/bbs/index.php를 다음과 같이 만들면 .. /bbs/?bd=test 과 같이 사용가능하다.
<?
if (!$_REQUEST[bo_table]&&$_GET[bd]) $_GET[bo_table]=$_GET[bd];
include_once "./board.php";
?>
-------------
/bbs/move_update.php 댓글 이동 패치:http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=18926
$sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id ";
-------------
관리자모드에서 게시판 복사등에서 alert() 창 메시지 깨어질때.
/adm/board_copy_update.php
에서 javascript:alert() 위에
include_once "$g4[path]/head.sub.php"; 넣어준다.
------------------
본문이 길경우 기존의 wr_content 타입이 text 이기때문에 뒷부분은 짤린다.
그래서 타입을 자동으로 늘려준다.
/bbs/write_update.php 의 상단부분에
넣어준다.
//내용이 64K보다 길면 MEDIUMTEXT 타입으로 변경한다.
if (strlen($_POST[wr_content])>64*1024) {
$result2 = sql_query("SELECT wr_content FROM $write_table limit 1");
if (mysql_field_type($result2, 0)!="blob"||mysql_field_len($result2,0)<50331645) {
sql_query("ALTER TABLE $write_table CHANGE wr_content wr_content MEDIUMTEXT");
}
}
write_update.php 에서.. 업로드파일존재여부는 갱신일때만 확인하면 된다.
// 업로드된 파일 내용에서 가장 큰 번호를 얻어 거꾸로 확인해 가면서
// 파일 정보가 없다면 테이블의 내용을 삭제합니다.
// 등록일때만 확인하면된다.
if ($w=='u') {
$row = sql_fetch(" select max(bf_no) as max_bf_no from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' ");
for ($i=(int)$row[max_bf_no]; $i>=0; $i--)
{
$row2 = sql_fetch(" select bf_file from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
// 정보가 있다면 빠집니다.
if ($row2[bf_file]) break;
// 그렇지 않다면 정보를 삭제합니다.
sql_query(" delete from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$i' ");
}
}
댓글목록
등록된 댓글이 없습니다.