3.36 업데이트 이후 검색부분에 오류가 있는 듯 정보
그누보드 3.36 업데이트 이후 검색부분에 오류가 있는 듯
본문
업데이트하고 이것저것 테스트 중입니다만...
1. 영문 검색시 대문자로 검색을 하면 인식을 못합니다.
예를 들어 AMD 라는 단어를 찾는다고 할때
소문자 amd 로 검색을 하면 AMD 가 검색이 되지만 대문자 AMD 로 검색을 하면 검색결과가 없다고 나옵니다. -_-;
2. 검색시 지정한 부분이 아닌 곳의 단어도 색지정이 됩니다.
예를 들어 내용 항목에서만 검색하도록 하여 검색을 했을 경우 제목부분에 같은 단어가 있을 경우에도 색지정이 되어 표시가 됩니다.
==========================================================
저는 계정 자체를 아주 갈아엎고 새로 깔아버린 상태에서 테스트하였습니다만 아마 비슷하리라 봅니다.
관리자님 및 많은 선배여러분 도움을....
1. 영문 검색시 대문자로 검색을 하면 인식을 못합니다.
예를 들어 AMD 라는 단어를 찾는다고 할때
소문자 amd 로 검색을 하면 AMD 가 검색이 되지만 대문자 AMD 로 검색을 하면 검색결과가 없다고 나옵니다. -_-;
2. 검색시 지정한 부분이 아닌 곳의 단어도 색지정이 됩니다.
예를 들어 내용 항목에서만 검색하도록 하여 검색을 했을 경우 제목부분에 같은 단어가 있을 경우에도 색지정이 되어 표시가 됩니다.
==========================================================
저는 계정 자체를 아주 갈아엎고 새로 깔아버린 상태에서 테스트하였습니다만 아마 비슷하리라 봅니다.
관리자님 및 많은 선배여러분 도움을....
댓글 전체
$str .= " (INSTR(LOWER($field), LOWER('$s[$i]')) > 0) ";
이부분 추가로 버그가 해결된것 같습니다. 감사합니다..
이부분 추가로 버그가 해결된것 같습니다. 감사합니다..
3.36 에서 대대적으로 서치부분을 업데이트하면서 문제가 생긴 듯합니다. 관리자님께서 수정해주실때까지는 어떻게 방법이 없을 것 같네요. ;;;
lib/gnuboard.lib.php 의 get_sql_search() 함수를 아래와 같이 수정해 주십시오.
// 검색 구문을 얻는다.
function get_sql_search($field, $stext, $soperator=0)
{
// 검색필드에 , 가 있다면 ,' ', 로 만든다 concat()
$field = preg_replace("/,/", ",' ',", $field);
$op = "";
$str = " and ( ";
// 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(" ", $stext);
for ($i=0; $i<count($s); $i++) {
$str .= " $op ";
switch ($field) {
case "wr_subject|wr_content" :
$str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%') ";
break;
case "ca_id" :
$str .= " ($field = '$s[$i]') ";
break;
case "wr_hit" :
case "wr_good" :
case "wr_nogood" :
$str .= " ($field >= '$s[$i]') ";
break;
case "wr_num" :
$str .= " ($field = ".((-1)*$s[$i]).") ";
break;
default :
//$str .= " ($field like '%$s[$i]%') ";
// 3.36
$str .= " (INSTR(LOWER($field), LOWER('$s[$i]')) > 0) ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$str .= " ) ";
return $str;
}
// 검색 구문을 얻는다.
function get_sql_search($field, $stext, $soperator=0)
{
// 검색필드에 , 가 있다면 ,' ', 로 만든다 concat()
$field = preg_replace("/,/", ",' ',", $field);
$op = "";
$str = " and ( ";
// 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(" ", $stext);
for ($i=0; $i<count($s); $i++) {
$str .= " $op ";
switch ($field) {
case "wr_subject|wr_content" :
$str .= " (wr_subject like '%$s[$i]%' or wr_content like '%$s[$i]%') ";
break;
case "ca_id" :
$str .= " ($field = '$s[$i]') ";
break;
case "wr_hit" :
case "wr_good" :
case "wr_nogood" :
$str .= " ($field >= '$s[$i]') ";
break;
case "wr_num" :
$str .= " ($field = ".((-1)*$s[$i]).") ";
break;
default :
//$str .= " ($field like '%$s[$i]%') ";
// 3.36
$str .= " (INSTR(LOWER($field), LOWER('$s[$i]')) > 0) ";
break;
}
$op = ($soperator) ? " and " : " or ";
}
$str .= " ) ";
return $str;
}
칠쟁이님도 같은 현상 있습니다. -_- 제가 말을 잘못 쓴건가요. 아니면 테스트 해본 몇개의 컴퓨터들이 잘못된 건가요.
자료실에 있는 자료 말씀인가요. 업데이트해도 동일 현상이...
아꽈님 홈도 동일한 현상 있습니다. 제대로 확인 부탁드립니다.
재미있는 것은 아꽈님 홈은 저와 완전히 동일한 현상인데 카이루님 홈은 제목+내용 항목선택하여 할 때는 첫번째 문제는 없네요. 두번째 문제(색상지정)는 두분 모두 있었습니다만...
재미있는 것은 아꽈님 홈은 저와 완전히 동일한 현상인데 카이루님 홈은 제목+내용 항목선택하여 할 때는 첫번째 문제는 없네요. 두번째 문제(색상지정)는 두분 모두 있었습니다만...
어제 이 부분이 수정되었는데 따로 공지하지는 않았습니다.
lib/gnuboard.lib.php 만 업로드 해주세요.
lib/gnuboard.lib.php 만 업로드 해주세요.
위의 링크는 한가지 항목 선택시 대소문자 구분못하는 것이고 아래 링크는 내용에서 검색을 선택했는데도 제목의 동일 단어에 까지 색상이 입혀지는 것입니다. 확인 부탁드립니다.
http://esindi.com/?doc=bbs%2Fgnuboard.php&bo_table=esindi0c1&sselect=wr_content&stext=xp&soperator=0&soperator=1&x=19&y=17
http://esindi.com/?doc=bbs%2Fgnuboard.php&bo_table=esindi0c1&sselect=wr_content&stext=xp&soperator=0&soperator=1&x=19&y=17
스킨 쪽에 영향이 있는 문제 일까요... 아니면.... 아... 머리 복잡해~
저두 무지 잘됨.
음... 제 홈도 잘 되는것 같은데요? 3.36 업데이트 했습니다.
이글 보자마자 해 봤는데 제 홈은 되는것 같습니다..