유아원님 전체검색 설치하려는데 약간의 문제가 어디를 수정해야 하나요?? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

유아원님 전체검색 설치하려는데 약간의 문제가 어디를 수정해야 하나요?? 정보

유아원님 전체검색 설치하려는데 약간의 문제가 어디를 수정해야 하나요??

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 : 1) http://yiwulife.com/bbs/search.php?sfl=wr_subject%7C%7Cwr_content&sop=and&gr_id=&stx=%B1%D7%B4%A9

http://yiwulife.com/bbs/search.php?gr_id=site_arry&stx=%B1%D7%B4%A9&page=1


저번에 유아원님 전체검색 설치하려다 실패했는데 이번에는 플러스더보기를 눌러도 넘어가는데

플러스,사이트더보기를 누르면 사이즈가 너무크고 좌측에 로그인(2번링크)이 보여서

더욱 이상합니다. 아래 소스중 어디를 수정해야 하나요?? 처음 검색(1번링크)했을때 화면 같으면 좋을것 같은데요??

어제 오누리1.6.1로 업그레이드 하려다 자료 다 날려먹고 새로 설치중입니다. ㅠㅠ
잠도 못 자고 고생중이네요. 업그레이드가 무서워~~~


1) search.php 소스

<?
include_once("./_common.php");

//if (!$stx) alert("검색어가 없습니다.");

$g4[title] = "검색 : " . $stx;

include_once("$g4[path]/lib/blog.lib.php");
include_once("./_head.php");

if ($stx)
{
    //$stx = trim($stx);
    $stx = preg_replace("/\//", "\/", trim($stx));
    $sop = strtolower($sop);
    if (!$sop || !($sop == "and" || $sop == "or")) $sop = "and"; // 연산자 and , or
    if (!$srows) $srows = 10; // 한페이지에 출력하는 검색 행수

    unset($g4_search[tables]);
    unset($g4_search[read_level]);
    $sql = " select gr_id, bo_table, bo_read_level
              from $g4[board_table]
              where bo_use_search = '1'
                and bo_list_level <= '$member[mb_level]'
                and bo_1 != 'cafe_memo' ";
    //            and bo_read_level <= '$member[mb_level]' ";
    if ($gr_id)
        $sql .= " and gr_id = '$gr_id' ";
    if ($onetable) // 하나의 게시판만 검색한다면
        $sql .= " and bo_table = '$onetable' ";
    $sql .= " order by bo_order_search, gr_id, bo_table ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++)
    {
        if ($is_admin != "super")
        {
            // 그룹접근 사용에 대한 검색 차단
            $sql2 = " select gr_use_access, gr_admin from $g4[group_table] where gr_id = '$row[gr_id]' ";
            $row2 = sql_fetch($sql2);
            // 그룹접근을 사용한다면
            if ($row2[gr_use_access])
            {
                // 그룹관리자가 있으며 현재 회원이 그룹관리자라면 통과
                if ($row2[gr_admin] && $row2[gr_admin] == $member[mb_id])
                    ;
                else
                {
                    $sql3 = " select count(*) as cnt from $g4[group_member_table]
                              where gr_id = '$row[gr_id]'
                                and mb_id = '$member[mb_id]'
                                and mb_id <> '' ";
                    $row3 = sql_fetch($sql3);
                    if (!$row3[cnt])
                        continue;
                }
            }
        }
        $g4_search[tables][] = $row[bo_table];
        $g4_search[read_level][] = $row[bo_read_level];
    }

    $search_query = "sfl=".urlencode($sfl)."&stx=".urlencode($stx)."&sop=$sop";


    $text_stx = get_text(stripslashes($stx));

    $op1 = "";

    // 검색어를 구분자로 나눈다. 여기서는 공백
    $s = explode(" ", $stx);

    // 검색필드를 구분자로 나눈다. 여기서는 +
    $field = explode("||", trim($sfl));

    $str = "(";
    for ($i=0; $i<count($s); $i++)
    {
        //$search_str = strtolower($s[$i]);
        $search_str = $s[$i];
        $str .= $op1;
        $str .= "(";
       
        $op2 = "";
        for ($k=0; $k<count($field); $k++) // 필드의 수만큼 다중 필드 검색 가능 (필드1+필드2...)
        {
            $str .= $op2;
            switch ($field[$k])
            {
                case "mb_id" :
                case "mb_name" :
                    $str .= "$field[$k] = '$s[$i]'";
                    break;
                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 .= ")";

        $op1 = " $sop ";

        // 인기검색어
        $sql = " insert into $g4[popular_table]
                    set pp_word = '$search_str',
                        pp_date = '$g4[time_ymd]',
                        pp_ip = '$_SERVER[REMOTE_ADDR]' ";
        sql_query($sql, FALSE);
    }
    $str .= ")";

    //$sql_search = $str . " and wr_option not like '%secret%' "; // 비밀글은 제외
    $sql_search = $str;

    $str_board_list = "";
    $board_count = 0;

    $time1 = get_microtime();

    $total_count = 0;
    for ($i=0; $i<count($g4_search[tables]); $i++)
    {
        $tmp_write_table  = $g4[write_prefix] . $g4_search[tables][$i];
       
        $sql = " select wr_id from $tmp_write_table where $sql_search ";
        $result = sql_query($sql, false);
        $row[cnt] = @mysql_num_rows($result);

        //$sql = " select count(*) as cnt from $tmp_write_table where $sql_search ";
        //$row = sql_fetch($sql);

        $total_count += $row[cnt];
        if ($row[cnt])
        {
            $board_count++;
            $search_table[] = $g4_search[tables][$i];
            $read_level[]  = $g4_search[read_level][$i];
            $search_table_count[] = $total_count;

            $sql2 = " select bo_subject from $g4[board_table] where bo_table = '{$g4_search[tables][$i]}' ";
            $row2 = sql_fetch($sql2);
            $str_board_list .= "<a href='$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&onetable={$g4_search[tables][$i]}'>$row2[bo_subject]</a>($row[cnt])&nbsp;&nbsp;";
        }
    }

    $rows = $srows;
    $total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
    if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
    $from_record = ($page - 1) * $rows; // 시작 열을 구함

    for ($i=0; $i<count($search_table); $i++)
    {
        if ($from_record < $search_table_count[$i])
        {
            $table_index = $i;
            $from_record = $from_record - $search_table_count[$i-1];
            break;
        }
    }

    $bo_subject = array();
    $list = array();

    $k=0;
    for ($idx=$table_index; $idx<count($search_table); $idx++)
    {
        $sql = " select bo_subject from $g4[board_table] where bo_table = '$search_table[$idx]' ";
        $row = sql_fetch($sql);
        $bo_subject[$idx] = $row[bo_subject];

        $tmp_write_table = $g4[write_prefix] . $search_table[$idx];

        $sql = " select * from $tmp_write_table where $sql_search order by wr_id desc limit $from_record, $rows ";
        $result = sql_query($sql);
        for ($i=0; $row=sql_fetch_array($result); $i++)
        {
            // 검색어까지 링크되면 게시판 부하가 일어남
            $list[$idx][$i] = $row;
            $list[$idx][$i][href] = "./board.php?bo_table=$search_table[$idx]&wr_id=$row[wr_parent]";

            if ($row[wr_is_comment])
            {
                $link .= "#c{$row[wr_id]}";
                $sql2 = " select wr_subject, wr_option from $tmp_write_table where wr_id = '$row[wr_parent]' ";
                $row2 = sql_fetch($sql2);
                //$row[wr_subject] = $row2[wr_subject];
                $row[wr_subject] = get_text($row2[wr_subject]);
            }

            // 비밀글은 검색 불가
            if (strstr($row[wr_option].$row2[wr_option], "secret"))
                $row[wr_content] = "[비밀글 입니다.]";

            $subject = $row[wr_subject];
            if (strstr($sfl, "wr_subject"))
                $subject = search_font($stx, $subject);

            if ($read_level[$idx] <= $member[mb_level])
            {
                $content = cut_str(strip_tags($row[wr_content]),300,"…");
                if (strstr($sfl, "wr_content"))
                    $content = search_font($stx, $content);
            }
            else
                $content = '';

            $list[$idx][$i][subject] = $subject;
            $list[$idx][$i][content] = $content;
            $list[$idx][$i][name] = get_sideview($row[mb_id], cut_str($row[wr_name], $config[cf_cut_name]), $row[wr_email], $row[wr_homepage]);
           
            $k++;
            if ($k >= $rows)
                break;
        }
        sql_free_result($result);
       
        if ($k >= $rows)
            break;

        $from_record = 0;
    }

    $write_pages = get_paging($config[cf_write_pages], $page, $total_page, "$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&srows=$srows&onetable=$onetable&page=");

    echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>";
}

$group_select = "<select id='gr_id' name='gr_id' class=select><option value=''>통합검색<option value=''>--------<option value='site_arry'>사이트<option value=''>--------<option value='plus_arry'>플러스<option value=''>--------";
$sql = " select gr_id, gr_subject from $g4[group_table] where gr_1 != 'cafe' order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
    $group_select .= "<option value='$row[gr_id]'>$row[gr_subject]";
$group_select .= "</select>";

if (!$sfl) $sfl = "wr_subject";
if (!$sop) $sop = "or";

$search_skin_path = "$g4[path]/skin/search/$config[cf_search_skin]";
include_once("$search_skin_path/search.skin.php");

include_once("./_tail.php");
?>

======================================================================================================

2) search.skin.php 소스

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/search.lib.php");
include_once("$g4[path]/lib/search7.lib.php");
include_once("$g4[path]/gblog.config.php");

//아이피 검색 차단
if ($sfl == 'wr_ip') {
alert("잘못된 접근입니다.", "$g4[path]");
}
?>
<link rel="stylesheet" type="text/css" href="<?=$search_skin_path?>/search_style.css">
<script type="text/javascript" language="JavaScript" src="<?=$g4['path']?>/js/suggest.js"></script>

<style type="text/css">
#tabmenu{position:relative;width:880px}
#tabnav {position:absolute;list-style:none;margin:0;padding:0;height:26px;display:inline;overflow:hidden;width:900px}
#tabnav li {background-repeat:no-repeat;margin:0;padding:0;display:inline;list-style-type:none}
#tabnav a {
 background-repeat:no-repeat;
 float:left;
 padding:26px 0 0 0;
 height:0px !important;
 height :26px;
 font-size:9px
}
#tabnav a.third {background-position:0 -26px;background-repeat:no-repeat}
#tabnav a.third:hover{background-position:0 -104px;background-repeat:no-repeat}
#tabnav a:hover {background-position:0 -78px}
#mtong, #mtong a {width:72px;background:url('<?=$search_skin_path?>/img/tm_tong.gif')}
#mweb, #mweb a{width:60px;background:url('<?=$search_skin_path?>/img/tm_web.gif')}
#msite, #msite a{width:61px;background:url('<?=$search_skin_path?>/img/tm_site.gif');}
#mnews, #mnews a{width:50px;background:url('<?=$search_skin_path?>/img/tm_news.gif');margin-right:5px}
#mkdaq, #mkdaq a{width:48px;background:url('<?=$search_skin_path?>/img/tm_kdaq.gif')}
#mblog, #mblog a{width:61px;background:url('<?=$search_skin_path?>/img/tm_blog.gif');}
#mboard, #mboard a{width:63px;background:url('<?=$search_skin_path?>/img/tm_board.gif');margin-right:5px}
#mimage, #mimage a{width:60px;background:url('<?=$search_skin_path?>/img/tm_image.gif')}
#mvideo, #mvideo a{width:63px;background:url('<?=$search_skin_path?>/img/tm_video.gif');margin-right:5px}
#mdic, #mdic a{width:50px;background:url('<?=$search_skin_path?>/img/tm_dic.gif')}
#mbook, #mbook a{width:41px;background:url('<?=$search_skin_path?>/img/tm_book.gif');margin-right:5px}
#mcom, #mcom a{width:75px;background:url('<?=$search_skin_path?>/img/tm_com.gif');margin-right:5px}
#mmusic, #mmusic a{width:53px;background:url('<?=$search_skin_path?>/img/tm_music.gif');margin-right:5px}
#mspecial, #mspecial a{width:75px;background:url('<?=$search_skin_path?>/img/tm_special.gif');margin-right:5px}
#mreal, #mreal a{width:64px;background:url('<?=$search_skin_path?>/img/tm_real.gif');margin-right:5px}
#mlocal, #mlocal a{width:51px;background:url('<?=$search_skin_path?>/img/tm_local.gif');margin-right:5px}
#mjob, #mjob a{width:51px;background:url('<?=$search_skin_path?>/img/tm_job.gif');margin-right:5px}
#mpeople, #mpeople a{width:51px;background:url('<?=$search_skin_path?>/img/tm_people.gif');margin-right:5px}
#mconcert, #mconcert a{width:51px;background:url('<?=$search_skin_path?>/img/tm_concert.gif');margin-right:5px}
#mdvd, #mdvd a{width:51px;background:url('<?=$search_skin_path?>/img/tm_dvd.gif');margin-right:5px}
#mshopping, #mshopping a{width:51px;background:url('<?=$search_skin_path?>/img/tm_shopping2.gif') top left no-repeat;margin-right:5px}
#mtab, #mtab a{width:78px;background:url('<?=$search_skin_path?>/img/tm_tab.gif')}

<?
// 통합검색, 게시판 검색 제외
if ($gr_id == '' && !$onetable) {
echo "#mtong, #mtong a {background: url('{$search_skin_path}/img/tm_tong_s.gif')}";
}
else if ($gr_id == 'ucs_arry') {
echo "#mtong, #mtong a {background: url('{$search_skin_path}/img/tm_tong_s.gif')}";
}
else if ($gr_id == 'plus_arry') {
echo "#msite, #msite a {background: url('{$search_skin_path}/img/tm_site_s.gif')}";
}
else if ($gr_id == 'site_arry') {
echo "#msite, #msite a {background: url('{$search_skin_path}/img/tm_site_s.gif')}";
}
else if ($gr_id == 'blog_arry') {
echo "#mblog, #mblog a {background: url('{$search_skin_path}/img/tm_blog_s.gif')}";
}
else {
echo "#mtong, #mtong a {background: url('{$search_skin_path}/img/tm_tong_s.gif')}";
}
?>
</style>

<div id="search">
 <div id="key_box">

 <div id="list_box">
  <div id="search_box">
<?
//그룹을 제어하기 위하여 다음 조건일 때 통과
if (!$onetable && $stx != '' && $gr_id == '' || $gr_id == 'ucs_arry' || $gr_id == 'plus_arry' || $gr_id == 'blog_arry' || $gr_id == 'site_arry') {

//검색어 코딩
$str = $stx;
$urldecode = urldecode($str);
$urlencode = urlencode($str);

// 바로가기 START (더보기 차단)
if ($stx != '' && $gr_id != 'ucs_arry' && $gr_id != 'site_arry' && $gr_id != 'plus_arry' && $gr_id != 'blog_arry') {

// 체크 데이터
$sql_this = " select ws_name from $g4[site_table] where ws_name = '$urldecode' and ws_level = '1' order by ws_heart desc ";
$this_chk = sql_fetch($sql_this);

// 전체 체크
if (stristr($this_chk[ws_name], $urldecode)) {
?>
  <div id="t_s_t"><span class="sch_l_t">바로가기</span></div>
<?
// 바로가기 리스트 출력
$sql_this2 = " select ws_url, ws_name, ws_memo from $g4[site_table] where ws_name = '$urldecode' and ws_level = '1' ";
$result_this = sql_query($sql_this2);

for ($i=0; $row_this = sql_fetch_array($result_this); $i++) {
?>
  <div id="t_s_l">
<a href="<?=set_http($row_this['ws_url']);?>" target="_blank"><span class="sch_n"><u><?=$row_this['ws_name']?></u></span></a> - <a href="<?=set_http($row_this['ws_url']);?>" target="_blank"><span class="sch_u"><?=set_http($row_this['ws_url']);?></span></a><p>
  </div>
  <div id="t_bar"></div>
<?
} // for end
} // 전체 체크 end
} // 바로가기 end

// PLUS START (블로그, 사이트 더보기 차단)
if ($stx != '' && $gr_id != 'ucs_arry' && $gr_id != 'blog_arry' && $gr_id != 'site_arry') {

// 체크
$sql_plus = " select ws_name, ws_memo, ws_cate, ws_plus from $g4[site_table] where ws_plus LIKE '%$urldecode%' and ws_level = '1' ";
$plus_chk = sql_fetch($sql_plus);

if (stristr($plus_chk[ws_plus], $urldecode)) {
?>
  <div id="s_l_t"><span class="sch_l_t">플러스</span></div>
<?
// plus list start
if ($gr_id != 'plus_arry') {
$sql_plus2 = " select ws_url, ws_name, ws_memo, ws_cate from $g4[site_table] where ws_plus LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc limit 0,5 ";
$result_plus = sql_query($sql_plus2);

for ($i=0; $row_plus = sql_fetch_array($result_plus); $i++) {

// 플러스 치환
$plus_memo = $row_plus['ws_memo'];
$plus_memo = strip_tags($plus_memo);
$plus_memo = cut_str($plus_memo, 300);
$plus_memo = str_replace($urldecode, "<b>$urldecode</b>", $plus_memo);

$plus_name = $row_plus['ws_name'];
$plus_name = strip_tags($plus_name);
$plus_name = cut_str($plus_name, 100);
$plus_name = str_replace($urldecode, "<b>$urldecode</b>", $plus_name);
?>
  <div id="s_l_l">
<a href="<?=set_http($row_plus['ws_url']);?>" target="_blank"><span class="sch_n2"><u><?=$plus_name?></u></span></a> - <span class="sch_m"><?=$plus_memo?></span><br><a href="<?=set_http($row_plus['ws_url']);?>" target="_blank"><span class="sch_u"><?=set_http($row_plus['ws_url']);?></span></a></span>&nbsp;<span class="sch_cg"><?=$row_plus['ws_cate']?></span><p>
  </div>
<?
} // for end
} // plus list end

// plus arry start
if ($gr_id == 'plus_arry') {

// 페이지
$sql = " select count(*) as cnt from $g4[site_table] where ws_plus LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc ";
$row = sql_fetch($sql);

$total_count = $row[cnt];

$rows = $config[cf_page_rows]; // 환경설정 페이지
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

// 처음 출력
$sql = " select * from $g4[site_table] where ws_plus LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc limit $from_record, $rows ";
$result = sql_query($sql);

for ($i=0; $row_arry = sql_fetch_array($result); $i++) {

// 플러스 치환
$plus_memo = $row_arry['ws_memo'];
$plus_memo = strip_tags($plus_memo);
$plus_memo = cut_str($plus_memo, 300);
$plus_memo = str_replace($urldecode, "<b>$urldecode</b>", $plus_memo);

$plus_name = $row_arry['ws_name'];
$plus_name = strip_tags($plus_name);
$plus_name = cut_str($plus_name, 100);
$plus_name = str_replace($urldecode, "<b>$urldecode</b>", $plus_name);

// 아이콘
if ($row_arry['ws_heart'] >= '100000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart07.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '50000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart06.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '10000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart05.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '3000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart04.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '1000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart03.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '100') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart02.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '0') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart01.gif' width='34' height='5' border='0' align='absmiddle'>";
}
?>
  <div id="s_l_a_l">
<a href="<?=set_http($row_arry['ws_url']);?>" target="_blank"><span class="sch_n2"><u><?=$plus_name?></u></span></a> - <span class="sch_m"><?=$plus_memo?></span><br><a href='javascript:void(0);' onclick="javascript:window.open('<?=$g4['path']?>/service/gift/heart/gift.php?s_id=<?=$row_arry['ws_id']?>&s_name=<?=$row_arry['ws_name']?>&s_url=<?=set_http($row_arry['ws_url']);?>', 'gift_heart','width=450,height=300,top=200,left=300,scrollbars=no');"><?=$site_arry_hot?></a> <a href="<?=set_http($row_arry['ws_url']);?>" target="_blank"><span class="sch_u"><?=set_http($row_arry['ws_url']);?></span></a><br><span class="sch_cg"><?=$row_arry['ws_cate']?></span><p>
  </div>
<?
} // plus arry for end
?>
  <div id="page">
<?
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=plus_arry&stx=$urlencode&page=");
?>
  </div>
<?
} // plus arry end

// plus arry bar start
if ($gr_id != 'plus_arry') {
?>
  <div id="s_l_a"><img src="<?=$search_skin_path?>/img/btn_more.gif" width="11" height="11" align="absmiddle">&nbsp;<a href="./search.php?gr_id=plus_arry&stx=<?=$urlencode?>&page=1"><span class="sch_more">플러스 더보기</span></a></div>
  <div id="t_bar"></div>
<?
} // plus arry bar end
} // plus arry end
} // PLUS END

// SITE START (플러스, 블로그 더보기 차단)
if ($stx != '' && $gr_id != 'ucs_arry' && $gr_id != 'plus_arry' && $gr_id != 'blog_arry') {

// 체크
$sql_site = " select ws_name, ws_memo, ws_keyword, ws_cate from $g4[site_table] where ws_memo LIKE '%$urldecode%' or ws_name LIKE '%$urldecode%' or ws_keyword LIKE '%$urldecode%' and ws_level = '1' ";
$site_chk = sql_fetch($sql_site);

if (stristr($site_chk[ws_memo], $urldecode) || stristr($site_chk[ws_name], $urldecode) || stristr($site_chk[ws_keyword], $urldecode)) {
?>
  <div id="s_l_t"><span class="sch_l_t">사이트</span></div>
<?
// site list start
if ($gr_id != 'site_arry') {
$sql_site2 = " select ws_url, ws_name, ws_memo, ws_cate from $g4[site_table] where ws_memo LIKE '%$urldecode%' or ws_name LIKE '%$urldecode%' or ws_keyword LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc limit 0,5 ";
$result_site = sql_query($sql_site2);

for ($i=0; $row_site = sql_fetch_array($result_site); $i++) {

// 사이트 치환
$site_memo = $row_site['ws_memo'];
$site_memo = strip_tags($site_memo);
$site_memo = cut_str($site_memo, 300);
$site_memo = str_replace($urldecode, "<b>$urldecode</b>", $site_memo);

$site_name = $row_site['ws_name'];
$site_name = strip_tags($site_name);
$site_name = cut_str($site_name, 100);
$site_name = str_replace($urldecode, "<b>$urldecode</b>", $site_name);
?>
  <div id="s_l_l">
<a href="<?=set_http($row_site['ws_url']);?>" target="_blank"><span class="sch_n2"><u><?=$site_name?></u></span></a> - <span class="sch_m"><?=$site_memo?></span><br><a href="<?=set_http($row_site['ws_url']);?>" target="_blank"><span class="sch_u"><?=set_http($row_site['ws_url']);?></span></a></span>&nbsp;<span class="sch_cg"><?=$row_site['ws_cate']?></span><p>
  </div>
<?
} // for end
} // site list end

// site arry start
if ($gr_id == 'site_arry') {

// 페이지
$sql = " select count(*) as cnt from $g4[site_table] where ws_memo LIKE '%$urldecode%' or ws_name LIKE '%$urldecode%' or ws_keyword LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc ";
$row = sql_fetch($sql);

$total_count = $row[cnt];

$rows = $config[cf_page_rows]; // 환경설정 페이지
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

// 처음 출력
$sql = " select * from $g4[site_table] where ws_memo LIKE '%$urldecode%' or ws_name LIKE '%$urldecode%' or ws_keyword LIKE '%$urldecode%' and ws_level = '1' order by ws_heart desc limit $from_record, $rows ";
$result = sql_query($sql);

for ($i=0; $row_arry = sql_fetch_array($result); $i++) {

// 사이트 치환
$site_memo = $row_arry['ws_memo'];
$site_memo = strip_tags($site_memo);
$site_memo = cut_str($site_memo, 300);
$site_memo = str_replace($urldecode, "<b>$urldecode</b>", $site_memo);

$site_name = $row_arry['ws_name'];
$site_name = strip_tags($site_name);
$site_name = cut_str($site_name, 100);
$site_name = str_replace($urldecode, "<b>$urldecode</b>", $site_name);

// 아이콘
if ($row_arry['ws_heart'] >= '100000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart07.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '50000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart06.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '10000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart05.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '3000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart04.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '1000') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart03.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '100') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart02.gif' width='34' height='5' border='0' align='absmiddle'>";
}
else if ($row_arry['ws_heart'] >= '0') {
$site_arry_hot = "<img src='{$search_skin_path}/img/icon_heart01.gif' width='34' height='5' border='0' align='absmiddle'>";
}
?>
  <div id="s_l_a_l">
<a href="<?=set_http($row_arry['ws_url']);?>" target="_blank"><span class="sch_n2"><u><?=$site_name?></u></span></a> - <span class="sch_m"><?=$site_memo?></span><br><a href='javascript:void(0);' onclick="javascript:window.open('<?=$g4['path']?>/service/gift/heart/gift.php?s_id=<?=$row_arry['ws_id']?>&s_name=<?=$row_arry['ws_name']?>&s_url=<?=set_http($row_arry['ws_url']);?>', 'gift_heart','width=450,height=300,top=200,left=300,scrollbars=no');"><?=$site_arry_hot?></a> <a href="<?=set_http($row_arry['ws_url']);?>" target="_blank"><span class="sch_u"><?=set_http($row_arry['ws_url']);?></span></a><br><span class="sch_cg"><?=$row_arry['ws_cate']?></span><p>
  </div>
<?
} // site arry for end
?>
  <div id="page">
<?
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=site_arry&stx=$urlencode&page=");
?>
  </div>
<?
} // site arry end

// site arry bar start
if ($gr_id != 'site_arry') {
?>
  <div id="s_l_a"><img src="<?=$search_skin_path?>/img/btn_more.gif" width="11" height="11" align="absmiddle">&nbsp;<a href="./search.php?gr_id=site_arry&stx=<?=$urlencode?>&page=1"><span class="sch_more">사이트 더보기</span></a></div>
  <div id="t_bar"></div>
<?
} // site arry bar end
} // site arry end
} // SITE END

} //그룹을 제어하기 위하여 다음 조건일 때 통과 END

// 내부검색 START (플러스, 블로그, 사이트 차단)
if ($gr_id != 'ucs_arry' && $gr_id != 'plus_arry' && $gr_id != 'blog_arry' && $gr_id != 'site_arry') {

// 검색어가 있을경우만 출력
if ($stx || $stx == '') {
?>
  <div id="g_s_l">
<?
echo "<b>검색된 리스트</b> (<b>{$board_count}</b>개의 리스트, <b>".number_format($total_count)."</b>개의 게시글, <b>".number_format($page)."/".number_format($total_page)."</b> 페이지)<p>";
if ($board_count) {
if ($onetable)
echo "<a href='?$search_query&gr_id=$gr_id'>전체 검색</a><p>";
echo $str_board_list;
} else {
echo "<p>검색 결과가 없습니다.";
}
?>
  </div>
  <div id="t_bar"></div>
<?
}

$k=0;
for ($idx=$table_index, $k=0; $idx<count($search_table) && $k<$rows; $idx++)
{
?>
  <div id="g_l_t"><span class='sch_l_t'><?=$bo_subject[$idx]?></span></div>
<?
$comment_href = "";
for ($i=0; $i<count($list[$idx]) && $k<$rows; $i++, $k++)
//썸네일 코드 시작
{
//이미지 출력 시작
$img = $list[$idx][$i][wr_id];
$roo = sql_fetch(" select bf_file from $g4[board_file_table] where bo_table = '$search_table[$idx]' and wr_id = '$img' and bf_no = '0' ");
if (preg_match("/\.($config[cf_image_extension])$/i", $roo[bf_file])) {
$imgser = "<img src='$g4[path]/data/file/$search_table[$idx]/$roo[bf_file]' width=80 height=100 border=0>";
}

$data_path = $g4['path'] . "/data/file/{$search_table[$idx]}";//라이브러리 파일 참조
$thumb_path = $data_path . '/thumb_80_100';

$sch_w = 80; //썸네일 가로사이즈
$sch_h = 100; //썸네일 세로사이즈
$sch_q = 100; //썸네일 퀼리티

if (!is_dir($thumb_path)) {
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);
}
    $filename = $roo[bf_file]; //파일명
    $thumb = $thumb_path.'/'.$filename; //썸네일
    if (!file_exists($thumb))
    {
 $file = $data_path.'/'.$filename; //원본
        if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file))
        {
            $size = getimagesize($file);
            if ($size[2] == 1)
                $src = imagecreatefromgif($file);
            else if ($size[2] == 2)
                $src = imagecreatefromjpeg($file);
            else if ($size[2] == 3)
                $src = imagecreatefrompng($file);
            else
                continue;

            $rate = $sch_w / $size[0];
            $height = (int)($size[1] * $rate);

            if ($height < $sch_h)
                $dst = imagecreatetruecolor($sch_w, $height);
            else
                $dst = imagecreatetruecolor($sch_w, $sch_h);
            imagecopyresampled($dst, $src, 0, 0, 0, 0, $sch_w, $height, $size[0], $size[1]);
            imagejpeg($dst, $thumb_path.'/'.$filename, $sch_q);
            chmod($thumb_path.'/'.$filename, 0707);
        }
    }

    if (file_exists($thumb)) {
        $img = "<img src='$thumb' align='absmiddle' border='0'>";
    }
?>
  <div id="g_l_l">
<table width="750" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<?
//이미지가 있을 때
if ($roo[bf_file] && file_exists($thumb)) {
?>
 <td width="100" valign="top">
<?
echo "<a href='{$list[$idx][$i][href]}{$comment_href}' target='_blank'>{$img}</a>";
?></td>
<? } ?>
 <td valign="top" style="padding:0 10 0 0px;">
<?
if ($list[$idx][$i][wr_is_comment])
{
echo "<font color=999999>[코멘트]</font> ";
$comment_href = "#c_".$list[$idx][$i][wr_id];
}
echo "<a href='{$list[$idx][$i][href]}{$comment_href}' target='_blank'><span class='sch_l_s'>{$list[$idx][$i][subject]}</span></a>";
echo "&nbsp;&nbsp;&nbsp;<font color=#999999>".substr($list[$idx][$i][wr_datetime],0,16)."</font><br>";
//echo "&nbsp;&nbsp;&nbsp;{$list[$idx][$i][name]}";
echo "<span class='sch_l_c'>{$list[$idx][$i][content]}</span>";
?></td>
</tr>
</table>
  </div>
<? } ?>
<? if (!$onetable) { ?>
  <div id="g_l_a"><img src="<?=$search_skin_path?>/img/btn_more.gif" width="11" height="11" align="absmiddle">&nbsp;<a href="./search.php?sfl=wr_subject%7C%7Cwr_content&stx=<?=$urlencode?>&sop=<?=$sop?>&gr_id=<?=$gr_id?>&onetable=<?=$search_table[$idx]?>"><span class="sch_more"><?=$bo_subject[$idx]?> 더 보기</span></a></div>
  <div id="t_bar"></div>
<?
} // one table end
} // for end
} //내부검색 END
?>
  <div id="page"><?=$write_pages?></div>
  </div>
  <div id="keyword_box">
<table width="180" cellpadding="0" cellspacing="0" border="0" align="center" valign="top">
 <tr>
  <td width="180"><?=search("search");?></td>
 </tr>
 <tr><td height="20"></td></tr>
 <tr>
  <td width="180"><?=search7("search7");?></td>
 </tr>
</table>
  </div>
 </div>
</div>

<script language="JavaScript">
    document.fsearch.stx.obj =
        sug_set_properties(document.fsearch.stx, '<?=$search_skin_path?>/suggest_search.php', true, false, true);
</script>

댓글 전체

1) search.php 소스

<?
include_once("./_common.php");

//if (!$stx) alert("검색어가 없습니다.");

$g4[title] = "검색 : " . $stx;

include_once("$g4[path]/lib/blog.lib.php");
include_once("./_head.php");

 이부분에서요  include_once("./_head.php");  이부분의 head.php 부분이 있는데요.
head.php 파일말구요 예를 들어  search_head.php 이런식으로 만드셔서 로그인바 없애시고
include_once("./search_head.php"); 이런식으로 serach.php 파일에 인크루드하시면 됩니다.
http://www.totalnara.com사이트도 같은방식이구요, 토탈빌더도 같은방식입니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT