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

본문 바로가기
 
 
 
오늘 1,200
어제 1,674
최대 2,526
전체 3,400,767

최근 방문자

1706
1573
932
869
1674
1200
22 23 24 25 26 27
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

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

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

페이지 정보

작성일2006-06-26 19:01 조회7,036회 댓글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,007건 1 페이지
온라인강의 목록
번호 제목
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기