[ZB4] 멀티갤러리 통합추출 팁 > 온라인강의

본문 바로가기
 
 
 
오늘 1,463
어제 2,008
최대 2,526
전체 3,631,084

최근 방문자

1263
2029
2149
2193
2008
1463
19 20 21 22 23 24
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

제로보드 | [ZB4] 멀티갤러리 통합추출 팁

페이지 정보

작성일2006-06-26 19:01 조회7,283회 댓글0건

본문

통합게시물 추출 소스입니다.
원저작권자는 배상봉 님 이시며, 그 코드를 바탕으로 사용에 대한 추가 설명을 적어봅니다.

두개의 파일에 각각의 부분을 삽입하시면 오케이

최근갤러리를 사용할 html 문서와  제로보드/outlogin.php  를 준비합니다.




최근갤러리를 사용할 HTML 파일    :    예) abc.html
<?
  // 제로보드 디렉토리 설정부분        아웃로그인
  // 주의: 아래부분의 설정은 자신의 계정에 맞게 고쳐주세요.
  $_zb_url = "http://junbe.com/zeroboard/";
  $_zb_path = "/home/junbe/zeroboard/";
  include $_zb_path."outlogin.php";
?>
<html>
<head>
<title></title>
</head>

<body>
<?
    //출력하고픈 게시판의 아이디를 적어줍니다. 예: $mb_id = array("gallery1", "gallery2");
    $mb_id = array("gallery1", "gallery2");
    $mb_title = array("통합 추출된 갤러리");  // 타이틀이 필요없으시면 삭제해도 됩니다.
    $mb_conf[sortBy] = 0; //정렬하는 방식을 지정합니다. 0: 시간순  1: 조회순  2: 추천순
    //추출 함수 호출, 설명: recent_gallery(갤러리스킨이름, 제목, 출력할그림수, 그림넓이, 그림높이, 한줄에표시될그림수);
    recent_gallery("default/default_gallery", "갤러리 통합추출", 4);   
?>
</body>
</html>




두번째 수정할 파일  :  제로보드 / outlogin.php
파일을 오픈한후 페이지 끝부분에 아래 코드를 삽입
삽입시 주의사항  ?>  위쪽에 코드를 추가합니다.

//////////////////////////////////////////////////
// 통합겔러리 추출함수
///////////////////////////////////////////////////
       
function recent_gallery($skinname, $title, $num=10, $xsize=80, $ysize=80, $xnum=10) {
global $_zb_path, $_zb_url, $connect, $t_board, $t_comment, $admin_table, $mb_id, $mb_conf, $mb_title;

//////////////////////////////////////
// 스킨의 존재여부 검사

$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
        echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
        return;
}

//////////////////////////////////////
// 필요한 변수 받아내기

$textlen=100;
$datetype="Y년m월d일";
$id = $mb_id; // id 받기
$idTitle = $mb_title; //각 게시판의 이름 받기   
$cutTime_Mode = $mb_conf[Time_Mode]; // 최근 게시물 시간 범위
$sortBy = $mb_conf[sortBy]; // 0: 시간, 1: 조회, 2: 추천   
$orderBy = $sortBy == 1 ? "hit" : ($sortBy == 2 ? "vote" : "no"); // 데이타베이스 검색어 관련부분
$myTitle = $mb_conf[mytitle];

for( $i = 0; $i < sizeof($id); $i++){   
    $setup = mysql_fetch_array(mysql_query("select use_alllist, use_category from $admin_table where name='".$id[$i]."'"));
    if($setup[use_alllist])
        $target[$id[$i]] = "zboard.php?id=";
    else
        $target[$id[$i]] = "http://www.happyjung.com/bbs/view.php";
    if($setup[use_category]) $use_category[$id[$i]] = 1;
    $idTitle[$id[$i]] = $mb_title[$i];
}

//////////////////////////////////////
// 처리 시작

$tc = 0; //전체 데이타 카운터
$icon_new = "<img src='".$_zb_url."images/new_writing.gif'>";
$time_new = time() - 3600 * 24;

/* 뽑을 게시물 시간범위 관련 설정 시작 */
// $cutTime_Mode가 1 이면 24시간 이내의 게시물 추출
// $cutTime_Mode가 2 이면 오늘 새벽 0시0분부터 올라온 게시물 추출
// $cutTime_Mode가 0 혹은 기타 수일 때 그냥 최근올려진 순서로 추출(시간제한 없음)

if($cutTime_Mode == 1){
  $cut_time = time() - 3600 * 24;  // 24시간이내
}else if($cutTime_Mode == 2){
  $cut_time = mktime(0,0,0,date("m"),date("d"),date("Y")); // 오늘 아침 0시부터
}else{
  $cut_time = 0;
}
/* 뽑을 게시물 시간범위 관련 설정 끝. */   

// 최근 글 순으로 게시물 뽑음
for( $i = 0; $i < sizeof($id); $i++){
    $query = "select * from ".$t_board."_".$id[$i]." where is_secret=0 and reg_date > $cut_time order by ".$orderBy." desc limit $num";
    $result = mysql_query($query, $connect) or die(mysql_error());
                while($data=mysql_fetch_array($result)){
            $imgList = "";
           
            if(eregi("\\.gif|\\.jpg",$data[file_name1])) $filename = $_zb_url.$data[file_name1];
            elseif(eregi("\\.gif|\\.jpg",$data[file_name2])) $filename = $_zb_url.$data[file_name2];
            else $filename="";

            $ad[$tc][image] = $filename;           
                    $ad[$tc][name] = stripslashes($data[name]);
                    $ad[$tc][subject] = cut_str(stripslashes($data[subject]), $textlen);
                    $ad[$tc][date] = date($datetype, $data[reg_date]);
                    $ad[$tc][reg_date] = $data[reg_date];

                    $last_comment = mysql_fetch_array(mysql_query("select * from $t_comment"."_$id[$i] where parent='$data[no]' order by reg_date desc limit 1"));
                    $ad[$tc][comment] = $data[total_comment] ? $data[total_comment] : 0;
                               
                    $ad[$tc][icon] = $data[reg_date] > $time_new ? $icon_new : "";
                    $ad[$tc][target] = $_zb_url.$target[$id[$i]].$id[$i]."&no=".$data[no];
            $ad[$tc][catelink] = $_zb_url."zboard.php?id=".$id[$i]."&category=".$data[category];
                    $ad[$tc][id] = $id[$i];
                    $ad[$tc][no] = $data[no];
            $ad[$tc][hit] = $data[hit]; // 2003.06.04 추가, 조회수
            $ad[$tc][vote] = $data[vote]; // 2003.06.04 추가, 추천수
                    $category = $data[category];
                    $result_category = mysql_query("select * from zetyx_board_category_".$id[$i]." where no='$category'") or die(mysql_error());
                    $category = mysql_fetch_array($result_category);
                    $ad[$tc][cate] = $category[name];
           
            // 정열하기 위한 배열
            if($sortBy == 1){ // 조회별 정열
                $tm[$tc] = $data[hit].".".$tc;
            }else if($sortBy * 1 == 2){ // 추천별 정열
                    $tm[$tc] = $data[vote].".".$tc;
            }else{ //시간별 정열
                            $tm[$tc] = $data[reg_date].".".$tc;               
            }
           
            // 역 참조 만들기
                    $map[$tm[$tc]] = $tc;
                    $tc++;
                }
}

///////////////
// output


// 모든게시물을 정렬
if($tc)   
  sort($tm);

// 스킨관련 부분
// $mbName, $mbDate, $mbSubject, $mbComment, $mbCategory;

$imgList = "";
$cnt = 0;

// 최근 게시물 순으로 $num만큼 출력
for($i = sizeof($tm)-1; $i >= sizeof($tm)-$num && $i >= 0; $i--){
        $n = $map[$tm[$i]];

        $mbComment = $ad[$n][comment];
        $mbName    = $ad[$n][name];
        $mbDate    = $ad[$n][date];
        $mbImage  = $ad[$n][image];
    $mbTitle  = "제목:".$ad[$n][subject]."\\n게시판:".$idTitle[$ad[$n][id]]."\\n카테고리:".$ad[$n] [cate]."\\n작성자:".$ad[$n][name]." \\n작성일:".$ad[$n][date]."\\n조회:".$ad[$n][hit]."\\n코멘트:".$ad[$n][comment]."개 ";
   
        if($mbImage) $imgList.="<a href='".$ad[$n][target]."'><img src='$mbImage' alt='".$mbTitle."' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";
        else $imgList.="<a href='".$ad[$n][target]."'><img src='[dir]t.gif' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";
           
    $cnt++;
        if($cnt>=$xnum) {
                $imgList.="<br>";
                $cnt=0;
        } else {
                $imgList.=" ";
        }           
   
        $main = $str;
        $main = str_replace("[name]",$mbName,$main);
        $main = str_replace("[date]",$mbDate,$main);
        $main = str_replace("[subject]",$mbSubject,$main);
        $main = str_replace("[comment]",$mbComment,$main);
        $main = str_replace("[category]",$mbCategory,$main);
        $main_data .= "\\n";
        $showList .= $main;
}
        $str = str_replace("[img]", $imgList, $str);
        $str = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$str);
        $str = str_replace("[title]","<font color=green><b>".$title."</b></font>",$str);

// 출력
echo $str;
}


자료출처
http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&no=4875 
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,126건 1 페이지
온라인강의 목록
번호 제목
2126
2125
2124
2123
2122
2121
2120
2119
2118
2117
2116
2115
2114
2113
2112
2111
2110
2109
MySQL Not Acceptable (up.2017-11-02 17:42) Hit.298
2108
2107
2106
2105
2104
2103
2102
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기