메인페이지 최근글 오류에 관하여....질문2 > 그누3질답

그누3질답

메인페이지 최근글 오류에 관하여....질문2 정보

메인페이지 최근글 오류에 관하여....질문2

본문

메인페이지에 최근게시물을 띄우면서 에러가 나는부분에 질문을 올린후
다시 자세히보니 최근게시물의 링크가 일반 링크와 약간 차이가 있네요.

첨부한 파일을 보시면
 로컬호스트/gnu3/게시판명....이렇게 되면 정상으로 뜨고
최근게시물같이 로컬호스트/게시판명....으로 되면 해당페이지를 그자리에 다시 띄우는듯....

또한 메인에 인클루드시킨 원소스파일(new.php)도 별도로 열어서 링크확인해보면
 로컬호스트/gnu3/게시판명....이런식으로 되어있군요.

거기서 클릭하면 이상없이 해당게시판이나 해당글이 뜨는데요....

물론 최근게시물은 제가 만든것이 아니고 그누3 팁란을 인용한것입니다. 실력이 안되서 ^^;

그런데  로컬호스트/gnu3/게시판명....과 같이 gnu3을 넣어볼려고해도 어디를 건드려야 할지 몰라서 못하고 있네요....

이긍...
  • 복사

댓글 전체

텍와이드님! 감사합니다.
말씀대로 new.php를 메일로 보내드렸읍니다.
아...이곳에 소스올려도 됐나? ^^;;
혹 메일 못보실수도 있으니 이곳에 다시 올릴께요...
new.php

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "STYLE"); //헤드와 푸터 불러오는 부분
$html_title = "그누보드 로그인과 최근게시물";
include "./lib/latest.lib.php"; //최근 게시물 불러올때 꼭!! 들어가야함
?>

<table border="0" width="100%" cellpadding="0" cellspacing="0">
    <tr>
        <td width=80%target='_new'>
            <?=latest('basic','common', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80% height="10">
        </td>
    </tr>
    <tr>
        <td width=80%>
            <?=latest('basic','infor', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80% height="10">
        </td>
    </tr> 
    <tr>
        <td width=80%>
            <?=latest('basic','free_pds', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80% height="10">
        </td>
    </tr> 
    <tr>
        <td width=80%>
            <?=latest('basic','free_bo', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80% height="10">
        </td>
    </tr>
    <tr>
        <td width=80%>
            <?=latest('basic','adv_bo', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80%>
            <?=latest('basic','dawoo_bo', 3, 30);?>
        </td>
    </tr>
    <tr>
        <td width=80% height="10">
        </td>
    </tr> 
</table>
문제가 new.php가 아니고 gnu3/lib/latest.lib.php 입니다.
이 파일에 ./?doc=bbs/gnuboard.php 를 /gnu3/?doc=gnuboard.php 로 수정하시면 됩니다.
수정할 부분이 여러군데 됩니다.
안될리가 없다는게 제 생각입니다.
그러고 보니 위 수정건에 버그가 있군요.

gnu3/lib/latest.lib.php 파일에 ./?doc=bbs/gnuboard.php 를 /gnu3/?doc=bbs/gnuboard.php 로 수정하시면 됩니다.

수정한 소스를 올려 봅니다.

<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);

//==============================================================================
//  최신글 관련 함수
//==============================================================================


// 최신글 추출
function latest($skin_dir='', $bo_table, $rows=10, $len=40)
{
    global $latest_skin, $cfg;

    $tmp_latest_skin = $latest_skin;

    // 스킨디렉토리값이 넘어왔다면
    if ($skin_dir) {
        $latest_skin = "./bbs/skin/latest/$skin_dir";
    }

    $sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
    $bo = sql_fetch($sql);
    $bo_subject = $bo[bo_subject];

    $sql = " select *
              from {$cfg[write_table_prefix]}{$bo_table}
              where wr_comment = 0
              order by wr_id desc limit 0, $rows ";
    $result = sql_query($sql);
    for ($i=0; $row = mysql_fetch_array($result); $i++) {
        $list[$i] = $row;

        $list[$i][href] = "/gnu3/?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";

        // 코멘트 카운트
        $list[$i][commentcnt] = "";
        if ($row[wr_commentcnt] > 0) {
            $list[$i][commentcnt] = "($row[wr_commentcnt])";
        }

        $list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
        $list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
        $list[$i][content] = get_text($row[wr_content]);
        $list[$i][date] = substr($row[wr_datetime],2,8);

        $list[$i][icon_new] = "";
        if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
            $list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
        }

        for ($k=1; $k<=$cfg[file_count]; $k++) {
            if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
                $list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
            }
        }

        for ($k=1; $k<=$cfg[link_count]; $k++) {
            if ($row["wr_link".$k]) {
                $link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
                $link[$i]["link_href".$k] = "/gnu3/?doc=bbs/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
            }
        }
    }
    mysql_free_result($result);
   
    include "$latest_skin/latest.skin.php";

    $latest_skin = $tmp_latest_skin;
}
?
© SIRSOFT
현재 페이지 제일 처음으로