Skip to content

그누보드4(G4) 변수들

Tip 조회 수 51922 추천 수 0 2013.01.22 02:02:42
==========================  board/basic/list.skin.php  ================================

1. 카테고리 불러오기
<? if ($is_category) { ?>
<a href="<?=$list[$i][ca_name_href]?>"><?=$list[$i][ca_name]?></a>
<? } ?>

2. 글작성일
<?=$list[$i][datetime]?>

3. 링크1 방문자수
<?=$list[$i][wr_link1_hit]?>

4. 조회수
<?=$list[$i][wr_hit]?>

5. 이미지출력
<?
$image = urlencode($list[$i][file][0][file]);
if (preg_match("/\.(gif|jpg|png)$/i", $image)) {  // 첫번째 파일이 이미지라면 ?>
<a href='<?=$list[$i][href]?>'><img src='<?=$g4[path]?>/data/file/<?=$bo_table?>/<?=$image?>' width='100' title='<?=$list[$i][wr_subject]?>' border=1 style='border-color:#dddbdb;'></a>
<? } ?>

6. 이미지출력(noimage)
<?
$image = urlencode($list[$i][file][0][file]);
if (preg_match("/\.(gif|jpg|png)$/i", $image)) {  // 첫번째 파일이 이미지라면 ?>
<a href='<?=$list[$i][href]?>'><img src='<?=$g4[path]?>/data/file/<?=$bo_table?>/<?=$image?>' width='$image_width' height='$image_height' title='<?=$list[$i][wr_subject]?>' border=1 style='border-color:#dddbdb;'></a>
<? } else { ?>
<img src='<?=$board_skin_path?>/img/noimage.gif' width='$image_width' height='$image_height' style='border:#cdcdcd solid 1px'></a>
<? } ?>

7. 지정한 길이만큼 자르기
<?=cut_str($list[$i][wr_content],300,"...");?>

8. 링크1 출력
<? if ($list[$i][wr_link1]) { ?>
<a href='<?=$list[$i][link_href][1]?>' target=_blank><?=cut_str($list[$i][wr_link1], 35)?></a>
<?}?>

9. 현재위치표시
<!-- 현재위치표시 -->
현재위치 : <a href='<?=$g4[path]?>'>Home</a>
<?
if($bo_table) {  //게시판에 들어 갔을 경우
if($group[gr_subject]!=''){ echo " > <a href='$g4[path]/bbs/group.php?gr_id=$group[gr_id]'>$group[gr_subject]</a>"; }// 그룹이름 출력
if($board[bo_subject]!='') {                                      // 게시판이름 출력
echo " > <a href='$g4[path]/bbs/board.php?bo_table=$board[bo_table]'>$board[bo_subject]</a>";
}
} else {
echo " >$html_title"; }//일반페이지에 접속했을 경우
// echo cut_str($write[wr_subject], 25);  // 게시물 제목 출력, 현재는 미표시, #제거하면 표시
?>

<? if ($is_category) { ?>
 > <select name=sca onchange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select>
<? } ?>

10. 한줄 카테고리 (1)
<? if ($is_category) {  ?>

<?
    $cnt = 1;
    $sql = " SELECT bo_category_list FROM $g4[board_table] WHERE bo_table = '$bo_table' ";
    $row = sql_fetch($sql);
    $arr = explode("|", $row[bo_category_list]); // 구분자가 , 로 되어 있음
    $str = "";
    $str .= "<tr>";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))  {
$sql1 = " SELECT count(*) as cCount FROM $write_table WHERE ca_name = '$arr[$i]' and wr_comment >= 0 ";
    $row1 = sql_fetch($sql1);       
            $str .= "<td><a href='./board.php?bo_table=$bo_table&sca=$arr[$i]'>$arr[$i] ($row1[cCount])</a></td>";
if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= "</tr><tr>"; }
    $cnt++;
    }
   
    $sql2 = " SELECT count(*) as cCount FROM $write_table WHERE wr_comment >= 0 ";
    $row2 = sql_fetch($sql2);
    $Total_Cat = $row2[cCount]
?>

<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td class=list_line style="height:2px;"></td></tr>
</table>

<table width=99% cellspacing=1 cellpadding=4>
<col width=100></col>
<col width=8></col>
<col width=10></col>
<col width=></col>
<tr valign=top bgcolor=white>
<td>
<table width=100% border=0 cellspacing=0 cellpadding=0 style=table-layout:fixed>
<tr>
<td align=center><NOBR><a href='./board.php?bo_table=<?=$bo_table?>'>전체</a><BR>(<?=$Total_Cat?>)</NOBR></td>
</tr>
</table>
</td>
<td width=8 class=list_line style="padding:0px;"></td>
<td></td>
<td style='word-break:break-all;'>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td><span class="content"><?=$str?></span></td></tr>
</table>
</td>
</tr>
</table>

<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td class="list_line" style="height:1px;"></td></tr>
<tr><td height=10></td></tr>
</table>
<? } ?>

11. 한줄 카테고리 (2)
<? if ($is_category) {  ?>
<?
    $cnt = 1;
    $sql = " SELECT bo_category_list FROM $g4[board_table] WHERE bo_table = '$bo_table' ";
    $row = sql_fetch($sql);
    $arr = explode("|", $row[bo_category_list]); // 구분자가 , 로 되어 있음
    $str .= "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))  {
$sql1 = " SELECT count(*) as cCount FROM $write_table WHERE ca_name = '$arr[$i]' and wr_comment >= 0 ";
    $row1 = sql_fetch($sql1);       
            $str .= "<a href='./board.php?bo_table=$bo_table&sca=$arr[$i]'>$arr[$i] ($row1[cCount])</a>  ";
if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= ""; }
    $cnt++;
    }
   
    $sql2 = " SELECT count(*) as cCount FROM $write_table WHERE wr_comment >= 0 ";
    $row2 = sql_fetch($sql2);
    $Total_Cat = $row2[cCount]
?>

<a href='./board.php?bo_table=<?=$bo_table?>'>전체(<?=$Total_Cat?>)</a>  <?=$str?>
<? } ?>

12. 여분필드
<?=$list[$i][wr_1]?>

13. 리스트에서 바로 자료 다운
echo "<a href="\".$g4[bbs_path]."/download.php?bo_table=".$bo_table."&wr_id=".$list[$i][wr_id]."&no=".$j."\">";

$j ==>> 첫번째 파일을 받고 싶을경우  $j 대신 1로 대입하면 된다.
//sir 카이루님
===================================================================================

=======================  board/basic/view.skin.php  =========================

1. 작성일
<?=substr($view[wr_datetime],2,14)?>

2. 글쓴이
<?=$view[name]?>

3. 제목
<?=$view[subject]?>

4. 카테고리
<? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?>

5. IP
<? if ($is_ip_view) { echo " ($ip)"; } ?>

6. 조회
<?=$view[wr_hit]?>

7. 추천
<? if ($is_good) echo "<b>추천</b>($view[wr_good])";?>

8. 비추천
<? if ($is_nogood) echo "<b>비추천</b>($view[wr_nogood])";?>

9. 첨부파일보기 - 일반게시판 -
        <?
        // 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";
        }
        ?>

10. 첨부파일보기 - 답사기 형식 -
        <table width=100% border=0 cellpadding=0 cellspacing=0>
        <tr>
        <?
        echo "\n";
        $td_width = (int)(100 / $mod);
        // 파일 출력
        $k = 0;
        for ($i=0; $i<=count($view[file]); $i++)
        {
            if (!$view[file][$i][view]) continue;

            if ($k>0 && $k%$mod==0)
                echo "</tr><tr>\n";

            //preg_match("/\{설명\:$k\:([^\}]*)\}/e", $view[wr_content], $m); echo $m[1];
            echo <<<HEREDOC
            <td width='{$td_width}%' valign=top>
            <table width=100% cellpadding=4>
            <tr><td align=center>{$view[file][$i][view]}</td></tr>
            <tr><td><span class="content">{$view[file][$i][content]}</span></td></tr>
            </table>
            </td>
HEREDOC;
            $k++;
        }
        ?>
        </tr>
        </table>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$image_width?>');
    var image_height = 0;

    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}

window.onload = resize_image;
</script>

11. 추가필드
<?=$view[wr_1]?>

12. 현재글의 스크랩 카운트
<?
// 현재글의 스크랩 카운트를 구한다
$sql = "select count(*) as cnt from $g4[scrap_table] where bo_table='$bo_table' and wr_id = $wr_id";
$row=sql_fetch($sql);
$scrap_count=$row[cnt];
?>

그리고 갯수를 표시하고 싶은곳에 다음처럼 처리한다.

<? if($scrap_count > 0) echo "이글의 스크랩 카운트 : $scrap_count"; ?>

//sir root님

13. 첨부파일 분리
<?
// 첫번째 파일 불러오기
for ($i=0; $i<=0; $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>

<?
// 두번째 파일부터 출력
for ($i=1; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>

<? if ($view[file][1][view]) { //만약 두번째 파일이 있다면 그 이후의 파일들을 출력?>
<table width=100% cellpadding=0 cellspacing=5 bgcolor=efefef><tr><td>
<table width=100% cellpadding=8 cellspacing=0 style='border:1px solid #cccccc'><tr><td bgcolor=ffffff>

        <table width=100% cellpadding=2>
        <tr>
            <td style='word-break:break-all;' class='lh' height=100 valign='top'>
<div align=center>
<?
// 두번째 파일부터 출력
for ($i=1; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>
</div>
            </td>
        </tr>
        </table>
</td></tr></table>
</td></tr></table>

<br>
<? } ?>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$image_width?>');
    var image_height = 0;

    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}

window.onload = resize_image;
</script>
===================================================================================

===========================  board/basic/write.skin.php  ===========================
1. 추가필드
<input name=wr_1 itemname="wr_1" value="<?=$write[wr_1]?>">
//sir root님
===================================================================================

==========================  outlogin/basic/outlogin.skin.2.php  =========================
1. 아웃로그인스킨에서 회원이 스크랩 한 글이 몇개인지
outlogin.skin.2.php 소스의 PHP부분에 아래 소스를 넣고
<?
// 스크랩 전체 갯수알아옴
$scrap = mysql_fetch_array(mysql_query("select count(ms_id) from $g4[scrap_table] where mb_id='$member[mb_id]'"));
$scrap = $scrap[0];
?>

나타낼곳에 아래의 소스 삽입
<a href="javascript:win_scrap();">스크랩 : <?=$scrap?>개</a>

//sir 착한아이님

2. 아웃로그인에 회원 아이콘 보이기
<?
$mb_id=$member[mb_id];
$mb_dir="$g4[path]/data/member/".substr($mb_id,0,2);
$mb_icon="$mb_dir/$mb_id.gif";
if(file_exists($mb_icon)) $mb_icon="<img src="\"$mb_dir/$mb_id.gif\" border=0 alt=$mb_id align=absmiddle>";
else $mb_icon="";
?>
<strong><?=$mb_icon?> <?=$nick?></strong>님

//sir 그리고님
===================================================================================

=========================  member/basic/register_form.skin.php ====================
1. 여분필드(mb_x) 회원 가입/수정에 사용하기
<input type=text name='mb_1' itemname='mb_1' value='<?=$member[mb_1]?>'>
<input type=text name='mb_2' itemname='mb_2' value='<?=$member[mb_2]?>'>

2. 여분필드(mb_x) input type이 checkbox인것
<input type=checkbox name=mb_1 value='1' <?=($w=='' || $member[mb_1])?'checked':'';?>>mb_1
<input type=checkbox name=mb_2 value='1' <?=($w=='' || $member[mb_2])?'checked':'';?>>mb_2
========================================================================================

=========================  일반페이지 ====================
1. 지정레벨 이하면 경고문구
<?
if ($member[mb_level] < 5) {
    echo "
    <script language='javascript'>
        alert('지정된 회원만 이용가능합니다.');
        history.go(-1);
    </script>";
    exit;
}
?>
========================================================================================

===================  G4에서 가, 감 및 변경된 변수와 필드들(g3 => g4)  ======================

$cfg[write_table_prefix] => $g4[write_prefix]
mysql_fetch_array => sql_fetch_array
$sselect => $sfl
$stext => $stx
$ssort => $sst
$sorder => $sod

$cfg[write_table_prefix] = "gb_write_"; // 게시판 테이블의 접두사
=>
$g4[table_prefix]        = "g4_"; // 테이블명 접두사
$g4[write_prefix]        = $g4[table_prefix] . "write_"; // 게시판 테이블명 접두사

변경된 테이블
$cfg[table_default]            =>  $g4[config_table]        // 기본환경설정 테이블
$cfg[table_group]              =>  $g4[group_table]        // 그룹 설정 테이블
$cfg[table_group_member] =>  $g4[group_member_table]  // 그룹회원 설정 테이블
$cfg[table_board]              =>  $g4[board_table]          // 게시판 설정 테이블
$cfg[table_login]              =>  $g4[login_table]          // 로그인 테이블 (접속자수)
$cfg[table_member]          =>  $g4[member_table]        // 회원 테이블
$cfg[table_memo]            =>  $g4[memo_table]          // 메모 테이블
$cfg[table_zip]                  =>  $g4[zip_table]            // 우편번호 테이블
$cfg[table_vote]                =>  $g4[poll_table]          // 투표 테이블
$cfg[table_vote_etc]          =>  $g4[poll_etc_table]      // 투표 기타의견 테이블
$cfg[table_point]              =>  $g4[point_table]          // 포인트 테이블
$cfg[table_count]              =>  $g4[visit_table]        // 카운터 테이블
$cfg[table_count_sum]      =>  $g4[visit_sum_table]      // 카운터 합계 테이블

추가된 테이블
$g4[auth_table]              =  $g4[table_prefix] . "auth";          // 관리권한 설정 테이블
$g4[board_file_table]      =  $g4[table_prefix] . "board_file";    // 게시판 첨부파일 테이블
$g4[board_new_table]    =  $g4[table_prefix] . "board_new";    // 게시판 새글 테이블
$g4[mail_table]              =  $g4[table_prefix] . "mail";          // 회원메일 테이블
$g4[popular_table]          =  $g4[table_prefix] . "popular";      // 인기검색어 테이블
$g4[scrap_table]            =  $g4[table_prefix] . "scrap";        // 게시글 스크랩 테이블

bo_total_count => bo_count_write
                    => bo_count_comment

bo_gallery_width => bo_gallery_cols
{$cfg[write_table_prefix]}{$row[bo_table]} => {$g4[write_prefix]}{$row[bo_table]}

글 : wr_is_comment = 0, wr_comment > 0
코멘트 : wr_is_comment = 1, wr_comment < 0

///////////////////////////////////////////////////////////// 
profile

I see no changes, wake up in the morning and I ask myself

Is life worth living should I blast myself

Things would never be the same.

엮인글 :
http://adminplay.com/166163/1c6/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수
27 Tip 마우스 드래그시 영역 색상 변경 [selection pseudo-element(dropped)] file l2zeo 2013-01-23 4237
26 Tip css 폰트 설정시 브라우저 제약없이 비슷하게 보이게 하는방법은?? file l2zeo 2013-01-23 5278
» Tip 그누보드4(G4) 변수들 l2zeo 2013-01-22 51922
24 Tip DTD(Document Type Definition) 란? l2zeo 2012-10-02 5259
23 Tip 서버이전후 Warning: Cannot modify header information - headers already sent by... 뜰때 l2zeo 2012-09-30 7877
22 Tip 그누보드내에서 링크를 이용할때 \ 값이 자동 생성될때는? l2zeo 2012-09-30 5234
21 Tip SSL 보안인증 로그인,회원가입 적용하기 [1] l2zeo 2012-08-15 11803
20 Tip 출석시 과거 특정날짜 자동출석 인정하는 방법 - 미션출석부 l2zeo 2012-03-12 9325
19 최적화 그누보드에서 효율적으로 디비에 쿼리수 줄이기 ADMINPLAY 2012-01-16 9007
18 Tip 그누보드 회원 포인트 일괄삭제 하기 (mb_point + 포인트 내역) ADMINPLAY 2012-01-16 9587
17 Tip 오늘의 주인공 onfocus="this.blur();"와 a:visited를 소개합니다. ADMINPLAY 2012-01-16 9996
16 Tip 공지사항 리스트에 이중 출력 안되도록. ADMINPLAY 2012-01-16 10408
15 Tip 포인트 반복 차감 기간 제한 ADMINPLAY 2012-01-16 8051
14 Tip 투표(설문) 새창 띄우기 ADMINPLAY 2012-01-16 8834
13 플러그인 네이버 스타일 아웃로그인 스킨(?) file ADMINPLAY 2012-01-16 11840
12 Tip 효율적으로 디비 쿼리수 줄이기 Tip ADMINPLAY 2012-01-16 8021
11 플러그인 코멘트 Ajax 처리 - 아직도 코멘트(댓글)쓰고 전체 페이지 로딩되나요? ADMINPLAY 2012-01-16 16639
10 플러그인 게시물 순위를 이전과 비교해서 등수 출력 file ADMINPLAY 2012-01-16 11500
9 플러그인 게시판의 정렬을 이용한 최신글 file ADMINPLAY 2012-01-16 28516
8 플러그인 그누보드 내글 모니터 (쿠키 및 구글 스타일 변환) file ADMINPLAY 2012-01-16 13178

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234