[급합니다 ^^] 이 소스를 쓸 수 있는 방법을 모르겠습니다.. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

[급합니다 ^^] 이 소스를 쓸 수 있는 방법을 모르겠습니다.. 정보

[급합니다 ^^] 이 소스를 쓸 수 있는 방법을 모르겠습니다..

본문

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=10588

파아란기쁨님이 활용팁란에 올려주신 소스입니다.
나름 이리저리 적용해봤는데 안되더라구요..
구문에는 워낙 잼뱅이라 고수님들이 도움이 절실합니다..
이번 주말까지 꼭 이 스킨을 활용하고 싶은데 부탁드립니다 ^^

소스의 윗부분은 함수이고 아래부분은 스킨 화일이라고 하셨는데..
함수 부분을 어떻게 넣어야 하는지를 모르겠습니다.

lib폴더에 특정 이름으로 저장해서 스킨에서 불러와야 하는건지..
스킨화일 상단에 <? 와 ?>사이에 복사해서 넣어야 하는건지..
도저히 모르겠네요..
그리고 <? echo Rank5("rank5", 5, 8, ""); ?> 이것이 사용법이라고 하셨는데
<? include once....?> 등의 방법은 알겠는데 위처럼 하게되면
스킨화일의 저장은 어떻게 해야하는지도 모르겠습니다..

소스를 공개하셨는데도 받아먹지 못하는 제가 스스로 답답합니다...쩝..^^

고수님들 이 소스를 어떻게 활용해서 써야 하는지 도움을 받고싶습니다..
조금 귀찮으시더라도 꼭 해결좀 해주십시오..^^


아래는 위 링크의 소스 원본입니다..

=====================================================================================

//Rank Top5 추출
function Rank5($skin_dir="", $rows=5, $subject_len=8, $options="")
{
    global $g4;
    global $g_id;
   
    $year = date("Y");
$month = date("m");
$day = date("d");

$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$lastmonth = date("Y-m",$tmp);

    if ($skin_dir)
        $skin_path = "$g4[path]/skin/top10/$skin_dir";
    else
        $skin_path = "$g4[path]/skin/top10/rank5";

    $Writelist = array();
    $Commentlist = array();
    $Visitlist = array();

//글쓰기 랭킹
$sql_common = " from  $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id = a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";


$sql = " SELECT b.mb_nick,count(*) cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0,$rows";

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

    $Writelist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Writelist[$i][mb_cnt] = $row[cnt];
}

//코멘트 랭킹
$sql_common = " from  $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id <> a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";

$sql = " SELECT b.mb_nick,count(*)cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0, $rows";

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

    $Commentlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Commentlist[$i][mb_cnt] = $row[cnt];
}

//방문자 랭킹
$sql_common = " from  $g4[point_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.po_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and po_rel_table = '@login' ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";

$sql = " SELECT b.mb_nick,count(*)cnt
          $sql_common
          group by b.mb_nick
          $sql_order
          limit 0, $rows";

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

    $Visitlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
    $Visitlist[$i][mb_cnt] = $row[cnt];
}
   
    ob_start();
    include "$skin_path/rank.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}

=======================================================================
여기까지가 함수 이구요...
=======================================================================

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<script>
function switchRank(code){
document.getElementById('wr').style.display = 'none';
document.getElementById('co').style.display = 'none';
document.getElementById('vi').style.display = 'none';
document.getElementById('btnwr').style.color = '#bbbbbb';
document.getElementById('btnco').style.color = '#bbbbbb';
document.getElementById('btnvi').style.color = '#bbbbbb';

document.getElementById(code).style.display = 'block';
code = 'btn'+code;
document.getElementById(code).style.color = '#333333';
}
</script>
<fieldset style="padding:3; border:1 solid #dddddd;">
<style type="text/css">
.Btn{
float:left;
width:32%;
text-align:center;
}
.RankContent{
clear:both;
border:.5pt solid #eeeeee;
}
.bg{
background:#eeeeee;
}
</style>

<table width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<tr>
<td style="text-overflow:ellipsis;overflow:hidden;padding-left:2"><nobr>
<div class="Btn">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnwr" onmouseover="javascript:switchRank('wr');" style="color:#333333"> 게시글 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnco" onmouseover="javascript:switchRank('co');" style="color:#bbbbbb"> 코멘트 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnvi" onmouseover="javascript:switchRank('vi');" style="color:#bbbbbb"> 출석 </a></div></div>
</td>
</tr>
</table>
<table id="wr" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<? for ($i=0; $i<count($Writelist); $i++) { ?>
        <tr>
        <td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
                          <div style='margin-left:10px;'> <? echo $Writelist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
              <div style="margin-right:10px;"> <? echo $Writelist[$i]['mb_cnt']; ?> </div>
              </td>
        </tr>
<? } ?>

</table>

<table id="co" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">

<? for ($i=0; $i<count($Commentlist); $i++) { ?>
        <tr>
        <td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
                          <div style='margin-left:10px;'> <? echo $Commentlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
              <div style="margin-right:10px;"> <? echo $Commentlist[$i]['mb_cnt']; ?> </div>
              </td>
        </tr>
<? } ?>


</table>

<table id="vi" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">

<? for ($i=0; $i<count($Visitlist); $i++) { ?>
        <tr>
        <td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
                          <div style='margin-left:10px;'> <? echo $Visitlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
              <div style="margin-right:10px;"> <? echo $Visitlist[$i]['mb_cnt']; ?> </div>
              </td>
        </tr>
<? } ?>


</table>

</fieldset>


======================================================================
요기가 rank.skin.php 입니다...
======================================================================

사용법은

<? echo Rank5("rank5", 5, 8, ""); ?>
입니다.


그냥 함 만들어 봤는데 맞는지 어쩌는지 모르겠네요...


http://www.momnpapa.com/
여기에 지난달 rank5 위치입니다.
활성화가 많이 안되어 있어서...ㅎㅎ

댓글 전체

//Rank Top5 추출
이 함수 부분을 화일로 만들어(예: ranking.php) extend 디렉토리에 넣으세요
그렇게 하면 <? echo Rank5("rank5", 5, 8, ""); ?>
이 부분은 include common.php 가 들어가는 페이지 어느 곳에 두어도 랭킹이 출력 됩니다
균이님 감사드립니다 ^^
균이님 덕분에 해결하였습니다.
함수 화일을 extend 폴더에 넣는 것이 핵심이군요..
조금 더 공부를 해서 함수부분에서 출력 범위를 정하는 것도 공부해봐야겠습니다.
한달이 아니라 지난주나 지난 보름이나..

한걸음 더 나아갈 수 있게되서 너무 감사드립니다 ^^
전체 66 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT