Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

QA

그누보드5 최신글 랜덤으로 출력할수 있는 라이브러리 함수 없나요?

답변 1

본문

새로고침할때마다 순서를 랜덤으로 땡겨와서 다르게 보이고 싶습니다~

 

하단의 소스로 하니 한번 불러오고 나서는 그다음부턴 안바뀌네요

 

고수님들 답변부탁좀 드리겠습니다 ㅎㅎ

 

// 최신글 랜덤 추출

function latest_rand($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="") {

    global $g5;

    //static $css = array();

 

    if (!$skin_dir) $skin_dir = 'basic';

 

    if(G5_IS_MOBILE) {

        $latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;

        $latest_skin_url  = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;

    } else {

        $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;

        $latest_skin_url  = G5_SKIN_URL.'/latest/'.$skin_dir;

    }

 

    $cache_fwrite = false;

    if(G5_USE_CACHE) {

        $cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-rand-{$skin_dir}-{$rows}-{$subject_len}.php";

 

        if(!file_exists($cache_file)) {

            $cache_fwrite = true;

        } else {

            if($cache_time > 0) {

                $filetime = filemtime($cache_file);

                if($filetime && $filetime < (G5_SERVER_TIME - 3600 * $cache_time)) {

                    @unlink($cache_file);

                    $cache_fwrite = true;

                }

            }

 

            if(!$cache_fwrite)

                include_once($cache_file);

        }

    }

 

    if(!G5_USE_CACHE || $cache_fwrite) {

        $list = array();

 

        $sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";

        $board = sql_fetch($sql);

        $bo_subject = get_text($board['bo_subject']);

 

        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름

        $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by rand() desc limit 0, {$rows} ";

        $result = sql_query($sql);

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

            $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);

        }

 

        if($cache_fwrite) {

            $handle = fopen($cache_file, 'w');

            $cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject=\"".$bo_subject."\";\n\$list=".var_export($list, true)."?>";

            fwrite($handle, $cache_content);

            fclose($handle);

        }

    }

 

    /*

    // 같은 스킨은 .css 를 한번만 호출한다.

    if (!in_array($skin_dir, $css) && is_file($latest_skin_path.'/style.css')) {

        echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';

        $css[] = $skin_dir;

    }

    */

 

    ob_start();

    include $latest_skin_path.'/latest.skin.php';

    $content = ob_get_contents();

    ob_end_clean();

 

    return $content;

이 질문에 댓글 쓰기 :

답변 1

캐시 기능 때문에 그럴 수 있습니다.

config.php 에서 캐시를 끄고 확인해보세요. (false로 설정)

define('G5_USE_CACHE',  false); // 최신글등에 cache 기능 사용 여부

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로