묻고답하기

php 초짜라 머리가 아픕니다;;;
어디서 어떻게 문제를 해결해야 할지 몰라서 고수님들의 지혜를 빌리고자 합니다.


현재 저는 제로보드에서, 여러 게시판에서 통합적으로 최근게시물을 뽑아서 사용하고 있습니다.
위 소스는 제로보드 폴더 안에 article.php파일이구요


문제가 되는 부분은

$new = " ";
$check_time=(time()-$data[reg_date])/60/60;
if($check_time>24)$new.=" ";
if($check_time<=24)$new.="<img src='".$_zb_url."images/new.gif' border='0' align='absmiddle'>";

if($data[is_secret]=="1"){        
$new ="<img src='".$_zb_url."images/secret_head.gif' border='0' align='absmiddle'>";
}

입니다.

이 중 비밀글을 목록에 보이게 하기 위해
소스 마지막 부분에 저렇게 3줄 추가해서 만들어보기는 했습니다만..

맨 마지막 비밀글 일때 new대신 secret_head.gif 파일을 띄우고 싶은데
현재는 제로보드 이미지 폴더에서 모두 똑같은 secret을 붙이고 있거든요.

그런데 게시판 특성상 각각 secret_head.gif 가 다른 모양이라서
- 어떤 게시판은 그냥 비밀글이고, 다른 게시판은 등급제한이라 성격이 다릅니다-
게시판 스킨에서 직접 secret_head.gif 를 추출하고 싶습니다.

article.php는 zboard 폴더에 있고
스킨은 각각 zboard/skin/(스킨각각이름들) 폴더에 있으니
어떻게 접근해야 할지 몰라서요...

url을 '".$_zb_url."skin/$setup[skinname]/secret_head.gif' 이런식으로 바꾸어도
중간의 스킨네임을 읽지를 못합니다.

도와주세요 ㅠ_ㅠ




아래는 참고로 소스 전체 입니다.

--------------------------------------------

global $_head_php_excuted,$_zb_lib_included,$HTTP_SESSION_VARS;
global $_outlogin_include, $table_name;

        /*******************************************************
         * 최근목록 보여주기를 위한 함수 지정(outlogin.php파일 수정...)
         * 여러게시판의 게시물을 정리하기 위해 수정을 가했습니다.
         * 모든 변수나 함수,db테이블은 제로보드것을 그대로 사용하게 했습니다.
         ******************************************************/
        
        // outlogin.php 파일이 include 되었는지를 체크
        if(!$_outlogin_include) {
                $_outlogin_include = TRUE;
        } else {
                return FALSE;
        }
        
        // 처음에 include 되었을때 필요한 파일을 include 하는 부분
        if(!$_head_php_excuted&&!$_zb_lib_included) {

                // 제로보드 디렉토리 인지 체크
                if(!file_exists($_zb_path."lib.php")) {
                        echo "제로보드 디렉토리가 아닙니다";
                        return;
                }

                // _head.php 읽음
                @include $_zb_path."_head.php";

        }
                
        // 최근 글 목록 (일반 게시판 형)
         function print_tmp($skinname, $title, $choice="reg_date", $num=5, $textlen=30, $datetype="Y/m/d") {
                global $_zb_path, $_zb_url, $connect, $t_board, $admin_table;
                
                table_make("tmp");
                
                if(!$skinname||!$title) return;

                $str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
                if(!$str) {
                        echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
                        return;
                }
                $result = mysql_query("select * from zetyx_tmp order by $choice desc limit $num", $connect) or die(mysql_error());

                $tmpStr = explode("[loop]",$str);
                $header = $tmpStr[0];
                $tmpStr2 = explode("[/loop]",$tmpStr[1]);
                $loop = $tmpStr2[0];
                $footer = $tmpStr2[1];
                // 공지사항 형식을 만들때 사용
                if(eregi("[notice_",$header)) {
                        $data=mysql_fetch_array($result);
                        $memo = stripslashes($data[memo]);
                        if($data[use_html]<2) $memo = nl2br($memo);
                        else $memo = strip_tags($memo);
                        $filename1 = $data[file_name1];
                        $filename2 = $data[file_name2];
                        if(eregi(".gif|.jpg",$filename1))$uploadimage1 = "<img src=".$_zb_url.$filename1." border=0><br>"; else $uploadimage1="";
                        if(eregi(".gif|.jpg",$filename2))$uploadimage2 = "<img src=".$_zb_url.$filename1." border=0><br>"; else $uploadimage2="";
                        $memo = autolink($uploadimage1.$uploadimage2.$memo);
                        if($data[ismember]) {
                                $imageBoxPattern = "/[img:(.+?).(jpg|gif),align=([a-z]){0,},width=([0-9]+),height=([0-9]+),vspace=([0-9]+),hspace=([0-9]+),border=([0-9]+)]/i";
                                $memo=preg_replace($imageBoxPattern,"<img src='".$_zb_url."icon/member_image_box/$data[ismember]/\1.\2' align='\3' width='\4' height='\5' vspace='\6' hspace='\7' border='\8'>", stripslashes($memo));
                        }
                        $subject = cut_str(stripslashes($data[subject]),$textlen)."</font></b>";
                        $date = date($datetype, $data[reg_date]);
                        $header = str_replace("[notice_memo]",$memo,$header);
                        $header = str_replace("[notice_subject]",$subject,$header);
                        $header = str_replace("[notice_date]",$date,$header);
                }

                $main_data = "";
                while($data=mysql_fetch_array($result)) {
                        $name = stripslashes($data[name]);
                        $subject = cut_str(stripslashes($data[subject]),$textlen)."</font></b>";
                        $date = date($datetype, $data[reg_date]);
                        $boardtitle = stripslashes($data[boardtitle]);
                    $id = stripslashes($data[board]);
                        $hit = $data[hit];
                        $download1 = $data[download1];
                        $download2 = $data[download2];

                        $setup = mysql_fetch_array(mysql_query("select use_alllist from $admin_table where name='$id'",$connect));
                    if($setup[use_alllist]) $target = "zboard.php?id=".$id;
                    else $target = "view.php?id=".$id;

                        if($data[total_comment]) $comment = "[".$data[total_comment]."]"; else $comment="";
                        
                        $new = " ";
                        $check_time=(time()-$data[reg_date])/60/60;
                        if($check_time>24)$new.=" ";
                        if($check_time<=24)$new.="<img src='".$_zb_url."images/new.gif' border='0' align='absmiddle'>";
                        if($data[is_secret]=="1"){        
                        $new ="<img src='".$_zb_url."images/secret_head.gif' border='0' align='absmiddle'>";
                        }

                        $main = $loop;
                        $main = str_replace("[name]",$name,$main);
                        $main = str_replace("[date]",$date,$main);
                        $main = str_replace("[subject]","<a href='".$_zb_url.$target."&no=$data[no]'>".$subject."</a>",$main);
                        $main = str_replace("[comment]",$comment,$main);
                        $main = str_replace("[boardtitle]",$boardtitle,$main);
                        $main = str_replace("[boardtitle2]","<a href='".$_zb_url."zboard.php?id=".$id."'>".$boardtitle."</a>",$main);
                        $main = str_replace("[new]",$new,$main);
                        $main = str_replace("[hit]",$hit,$main);
                        $main = str_replace("[download1]",$download1,$main);
                        $main = str_replace("[download2]",$download2,$main);
                        $main_data .= "n".$main;
                }
                $list = $header.$main_data.$footer;
                $list = str_replace("[title]",$title,$list);
                $list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);

                echo $list;
                
         }
        
        
        // 갤러리 이미지 뽑아오는 스킨
         function print_tmp_gallery($skinname, $title, $choice="reg_date", $num=10, $xsize=80, $ysize=80, $xnum=10) {
                global $_zb_path, $_zb_url, $connect, $t_board, $admin_table, $HTTP_SESSION_VARS;
                
                table_make("tmp_gallery");
                
                if(!$skinname) return;

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

                $result = mysql_query("select * from zetyx_tmp_gallery order by $choice desc limit $num",$connect) or die(mysql_error());

                $i = 0;
                while($data=mysql_fetch_array($result)) {
                        
                        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="";
                        
                        $id = stripslashes($data[board]);
                        $boardtitle = stripslashes($data[boardtitle]); //추가부분입니다..
                        $tmpResult = mysql_query("select use_alllist from $admin_table where name='+ '+ '$id'",$connect) or die(mysql_error());
                        $setup = mysql_fetch_array($tmpResult);
                        if($setup[use_alllist]) $target = "zboard.php?id=".$id;
                        else $target = "view.php?id=".$id;

                        if($filename) $imgList.="<a href='".$_zb_url.$target."&no=$data[no]'><img src='$filename' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";
                        else $imgList.="<a href='".$_zb_url.$target."&no=$data[no]'+ '><img src='[dir]t.gif' border=1 style=border-color:black width=$xsize height=$ysize vspacing=10 hspacing=10></a>";
                        $i++;
                        if($i>=$xnum) {
                                $imgList.="<br>";
                                $i=0;
                        } else {
                                $imgList.=" ";
                        }
                }
                
                $new = " ";
                $check_time=(time()-$data[reg_date])/60/60;
                if($check_time>24)$new.=" ";
                if($check_time<=24)$new.="<img src='".$_zb_url."images/new.gif' border='0' align='absmiddle'>";
                
                $str = str_replace("[title]",$title,$str);
                $str = str_replace("[img]",$imgList,$str);
                $str = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$str);
                $str = str_replace("[boardtitle]",$boardtitle,$str);
                $str = str_replace("[boardtitle2]","<a href='".$_zb_url."zboard.php?id=".$id."'>".$boardtitle."</a>",$str);
                $str = str_replace("[new]",$new,$str);
                $str = str_replace("[hit]",$hit,$str);
                $str = str_replace("[download1]",$download1,$str);
                $str = str_replace("[download2]",$download2,$str);
                echo $str;
                
         }
        
        function table_make($table_name)        
                {
                global $connect,$zb_bbs,$zb_gallery;
                
                $Query = "show tables like 'zetyx_$table_name'";
                $RS = mysql_query($Query);
                if ($RS != NULL) {
                mysql_query("DROP TABLE zetyx_$table_name");
                }
                //남아 있는 테이블 지우기..        
                
                // TEMPORARY TABLE MAKE
                $tmp_table_schema =
                "create temporary table zetyx_$table_name (
        num int(20) unsigned default '0' not null auto_increment primary key,
        board varchar(40) not null,
        no int(20) NOT NULL,
                ismember int(20) default '0' not null,

                memo text,

                name varchar(20) not null,
                subject varchar(250) not null,
                boardtitle char(255),
                use_html char(1) default '0',
                is_secret char(1) not null default '0',
                file_name1 varchar(255),
                file_name2 varchar(255),
                download1 int(11) default '0' not null,
                download2 int(11) default '0' not null,
                reg_date int(13) not null default '0',
                hit int(11) not null default '0',
                vote int(11) not null default '0',
                total_comment int(11) not null default '0',

                KEY name (name),
                KEY board (board),
                KEY reg_date (reg_date),
                KEY hit (hit),
                KEY vote (vote),
                KEY download1 (download1),
                KEY download2 (download2)
        )";
                
                mysql_query($tmp_table_schema,$connect) or Error("임시 테이블(zetyx_$table_name)생성에 실패했습니다.");
                
                if ($table_name == "tmp") {
                        $board=array_keys($zb_bbs);  
                        $boardtitle=array_values($zb_bbs);
                        }
                elseif($table_name == "tmp_gallery") {
                        $board=array_keys($zb_gallery);
                        $boardtitle=array_values($zb_gallery);
                        }
                else {
                        print "error";
                }
                $board_total = count($board);
                
                for($i=0;$i<$board_total;$i++) {
                        $list_result=mysql_query("select * from zetyx_board_$board[$i]");
                        $list_result_total=mysql_affected_rows();
                for($j=0;$j<$list_result_total;$j++) {
                 mysql_data_seek($list_result,$j);
                        $row = mysql_fetch_array($list_result);
                        $insert=mysql_query("insert into zetyx_$table_name
               (board,no,ismember,memo,name,subject,boardtitle,use_html,is_secret,file_name1,file_name2,download1,download2,reg_date,hit,vote,total_comment)
                values
         ('$board[$i]','$row[no]','$row[ismember]','$row[memo]','$row[name]','$row[subject]','$boardtitle[$i]','$row[use_html]'+ ','$row[is_secret]','$row[file_name1]','$row[file_name2]','$row[download1]','$row[download2]','$row[reg_date]','$row[hit]','$row[vote]'+ ','$row[total_comment]')
                ");                
                        }
                }

                
                }// end func
?>

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
성기동 미니홈피 open소스가 있나요..?  
경문규 PHP와 HTML이 섞여있는 경우, [2] 2007.08.10
강경욱 메일링을 한번 만들고 싶어서...(고수님부탁합니다)  
강정환 나이 40넘은 초보자인데 최근게시물 질문좀 하겠습니다. [2] 2007.08.10
경문규 이 사이트 핑좀 봐주세요. [1] 2007.08.10
도로도로 (PHP) if 조건문에서 and/or 사용하기.. [2] 2007.08.10
서종득 아이프레임 안의 문서를 랜덤으로..부르는 방법...  
재민 최근게시물 올리기가 안되네요... [1] 2007.08.10
lee 이걸 대체 어떻게 하는지 가르침을 주십시요..  
시몬 로그인 폼을 수정하려 합니닷!! [1] 2007.08.10
misty 웹페이지 제작시 윈도우 XP에서 이미지를 저장합니다 라는 메세지 뜨지 않게 하기 [1] 2007.08.10
무지개 잘 되던 제로카운터와 아웃로그인 기능이 Linux Redhat 9.X랑 APM을 업그레이드 한후에.....  
불량펭귄 두개의 파일이름을 비교해서 틀린 이름의 파일을 삭제 하는 부분  
Gmuse 일러스트레이터 질문좀 드리겠습니다 ;; [2] 2007.08.10
신우섭 웹디자인 관련 문의  
불꽃검 포토샵으로 배너를 어떻게 만들죠? [2] 2007.08.10
레인 노프레임 홈페이지에서 전체 소스중 한 부분만 변환시키는..?  
dasrum 미니홈피 제작에서 프로그램밍만 의뢰하면...  
파파민 사진파일 검색 프로그램 추천바랍니다.  
유강국 컴퓨터 부팅후 익스플로러를 자동 실행시키기 [1] 2007.08.10
The -A- 완성된 문서내에 프레임삽입 가능할까요?  
혜림 화면 전환할때 블록모양처럼 변하는 스크립트 [3] 2007.08.10
이상한김밥 프레임이 보였다 안보였다?? 궁금합니다.  
한지영 서브메뉴 레이어 위치조절.ㅠ  
윤숙희 [왕초보]서브 메뉴를 만들고 싶습니다. [1] 2007.08.10
tomi 궁금하네염.. [2] 2007.08.10
콩나물 주소접근법이 문제입니다. [1] 2007.08.10
조재일 보드 쪽지관련...쪽지가 온 상태에서 보드 로그인하면 쪽지창이 뜨는데 쪽지창이 에러가 납니다  
함종태 변수의 띄어쓰기를 다른 글자로 바꾸기? [2] 2007.08.10
황영미 [php]체크박스값 넘기고 보여주기인데 왜 체크박스 값이 안보일까요? [2] 2007.08.10