[급합니다 ^^] 이 소스를 쓸 수 있는 방법을 모르겠습니다.. 정보
[급합니다 ^^] 이 소스를 쓸 수 있는 방법을 모르겠습니다..
본문
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 위치입니다.
활성화가 많이 안되어 있어서...ㅎㅎ
파아란기쁨님이 활용팁란에 올려주신 소스입니다.
나름 이리저리 적용해봤는데 안되더라구요..
구문에는 워낙 잼뱅이라 고수님들이 도움이 절실합니다..
이번 주말까지 꼭 이 스킨을 활용하고 싶은데 부탁드립니다 ^^
소스의 윗부분은 함수이고 아래부분은 스킨 화일이라고 하셨는데..
함수 부분을 어떻게 넣어야 하는지를 모르겠습니다.
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 가 들어가는 페이지 어느 곳에 두어도 랭킹이 출력 됩니다
이 함수 부분을 화일로 만들어(예: ranking.php) extend 디렉토리에 넣으세요
그렇게 하면 <? echo Rank5("rank5", 5, 8, ""); ?>
이 부분은 include common.php 가 들어가는 페이지 어느 곳에 두어도 랭킹이 출력 됩니다

균이님 감사드립니다 ^^
균이님 덕분에 해결하였습니다.
함수 화일을 extend 폴더에 넣는 것이 핵심이군요..
조금 더 공부를 해서 함수부분에서 출력 범위를 정하는 것도 공부해봐야겠습니다.
한달이 아니라 지난주나 지난 보름이나..
한걸음 더 나아갈 수 있게되서 너무 감사드립니다 ^^
균이님 덕분에 해결하였습니다.
함수 화일을 extend 폴더에 넣는 것이 핵심이군요..
조금 더 공부를 해서 함수부분에서 출력 범위를 정하는 것도 공부해봐야겠습니다.
한달이 아니라 지난주나 지난 보름이나..
한걸음 더 나아갈 수 있게되서 너무 감사드립니다 ^^