suthida โพสต์ 2008-12-18 15:16:09

Toplist Top 10 For 7.0

แก้ไขล่าสุด suthida เมื่อ 2009-1-27 11:25

ชื่อ : Toplist Top 10 For 7.0
เครดิต : hxxp://www.dishack.cn/thread-686-1-1.html
ไฟล์ที่ต้องแก้ไข : index.php, discuz.htm

ขั้นตอนอัพโหลดไฟล์ และทำการแก้ไขไฟล์ 2 ไฟล์ค่ะ
หรือสำหรับใครที่ยังไม่ได้ปรับแต่งเว็บบอร์ดอะไรมากนัก ก็ดาวน์โหลดและนำไปทับตำแหน่งเดิมได้เลยค่ะ

ตัวอย่าง
http://uppic.thaifreehost.net/img/tfh12295873317d19c0b3.png

เปิดไฟล์ index.php
ค้นหา

$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;


ใส่โค๊ดนี้บรรทัดต่อไป

//----Toplist
$colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
//โพสใหม่
$hack_cut_str = 28; //ความยาวของหัวข้อ
$hack_cut_strauthor = 9;
$new_post_threadlist = array();
$nthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.dateline DESC LIMIT 0, 10");
while($nthread = $db->fetch_array($query)) {
      $nthread['forumname'] = ereg_replace('<[^>]*>','',$nthread['name']);
      $nthread['view_subject'] = cutstr($nthread['subject'],$hack_cut_str);
      $nthread['view_author'] = cutstr($nthread['author'],$hack_cut_strauthor);
      $nthread['date']= gmdate("$dateformat $timeformat", $nthread['dateline'] + $timeoffset * 3600);
      $nthread['lastreplytime']= gmdate("$dateformat $timeformat", $nthread + ($timeoffset * 3600));
      if($nthread['highlight']) {
                $string = sprintf('%02d', $nthread['highlight']);
                $stylestr = sprintf('%03b', $string);
                $nthread['highlight'] = 'style="';
                $nthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $nthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $nthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $nthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $nthread['highlight'] .= '"';
      } else {
                $nthread['highlight'] = '';
      }
      $new_post_threadlist[] = $nthread;
}
//ตอบใหม่
$hack_cut_str = 28; //ความยาวของหัวข้อ
$hack_cut_strauthor = 9;
$new_reply_threadlist = array();
$rthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fidAND t.closed NOT LIKE 'moved|%' AND t.replies !=0 AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.lastpost DESC LIMIT 0, 10");
while($rthread = $db->fetch_array($query)) {
      $rthread['forumname'] = ereg_replace('<[^>]*>','',$rthread['name']);
      $rthread['view_subject'] = cutstr($rthread['subject'],$hack_cut_str);
      $rthread['view_lastposter'] = cutstr($rthread['lastposter'],$hack_cut_strauthor);
$rthread['date']= gmdate("$dateformat $timeformat", $rthread['dateline'] + $timeoffset * 3600);
      $rthread['lastreplytime']= gmdate("$dateformat $timeformat", $rthread + ($timeoffset * 3600));
      if($rthread['highlight']) {
                $string = sprintf('%02d', $rthread['highlight']);
                $stylestr = sprintf('%03b', $string);
                $rthread['highlight'] = 'style="';
                $rthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $rthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $rthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $rthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $rthread['highlight'] .= '"';
      } else {
                $rthread['highlight'] = '';
      }
      $new_reply_threadlist[] = $rthread;
}
//หัวข้อเด่นประจำสัปดาห์
$hack_cut_str = 30; //ความยาวของหัวข้อ
$hack_cut_strauthor = 9;
$new_hot_threadlist = array();
$mthread = array();
$ctime=$timestamp-3600*24*7;//ื๎บ๓7สวฬ์สฮชฑพึ
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fidAND t.closed NOT LIKE 'moved|%' AND t.replies !=0 AND t.dateline>$ctime AND f.fid not in (0) AND t.displayorder not in (-1,-2) ORDER BY t.replies DESC LIMIT 0, 10");
while($mthread = $db->fetch_array($query)) {
      $mthread['forumname'] = ereg_replace('<[^>]*>','',$mthread['name']);
      $mthread['view_subject'] = cutstr($mthread['subject'],$hack_cut_str);
      $mthread['view_lastposter'] = cutstr($mthread['lastposter'],$hack_cut_strauthor);
$mthread['date']= gmdate("$dateformat $timeformat", $mthread['dateline'] + $timeoffset * 3600);
      $mthread['lastreplytime']= gmdate("$dateformat $timeformat", $mthread + ($timeoffset * 3600));
      if($mthread['highlight']) {
                $string = sprintf('%02d', $mthread['highlight']);
                $stylestr = sprintf('%03b', $string);
                $mthread['highlight'] = 'style="';
                $mthread['highlight'] .= $stylestr ? 'font-weight: bold;' : '';
                $mthread['highlight'] .= $stylestr ? 'font-style: italic;' : '';
                $mthread['highlight'] .= $stylestr ? 'text-decoration: underline;' : '';
                $mthread['highlight'] .= $string ? 'color: '.$colorarray[$string] : '';
                $mthread['highlight'] .= '"';
      } else {
                $mthread['highlight'] = '';
      }
      $new_hot_threadlist[] = $mthread;
}
//ฝ๑ศีทขฬ๙ลละะ
$tomonth=date(n);
$todate=date(j);
$toyear=date(Y);
$time=mktime(0,0,0,$tomonth,$todate,$toyear);
$query=$db->query("select count(pid) as num,authorid,author from $tablepre"."posts where dateline>=$time group by authorid order by num desc limit 0,10");
while($result=$db->fetch_array($query)){
$poststar.="<a href=space.php?uid=".$result.">".cutstr($result,8)."</a><font color=red>[".$result."]</font>&nbsp; ";
}
//----Toplist


เปิดไฟล์ discuz.htm
ค้นหา

function announcementScrollnext(time) {
   $('annbody').scrollTop++;
   anncount++;
   if(anncount != time) {
    annst = setTimeout('announcementScrollnext(' + time + ')', 10);
   } else {
    annrowcount++;
    annst = setTimeout('announcementScroll()', anndelay);
   }
}
</script>
<!--{/if}-->
</div>


เพิ่มโค๊ดนี้บรรทัดต่อไป

<!-- Toplist -->
<div class="mainbox forumlist" style="padding:0;">
<table cellspacing="0" cellpadding="0">
<thead class="category">
<tr>
   <td align="center" style="padding:0 1px 0 0"><h3>≡ รูปจากระดานข่าว≡</h3></td>
   <td align="center" style="padding:0"><h3>≡ กระทู้ล่าสุด≡</h3></td>
   <td align="center" style="padding:0 1px 0 1px"><h3>≡ โพสล่าสุด≡</h3></td>
   <td align="center" style="padding:0"><h3>≡ กระทู้จากสมาชิก≡</h3></td>
   <td></td>
</tr>
</thead>
<tr>
   <td width="24%">
    <script type="text/javascript" src="pic.php"></script>
   </td>
   <td width="25%">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr valign="top">
      <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
      <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
      <!--{loop $new_post_threadlist $nthread}-->
       <!--{if $nthread}-->
      <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$nthread" $nthread['highlight'] title='หัวข้อใหม่ {LF}กระดาน: $nthread{LF}ชื่อกระทู้: $nthread {LF}โพสโดย: $nthread{LF}โพสเมื่อ: $nthread{LF}ดูแล้ว: $nthread คน {LF}ตอบแล้ว: $nthread คน{LF}ตอบล่าสุด: $nthread{LF}{lang lastpost}: $nthread'>$nthread</a></div>
                   <!--{else}-->
      <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$nthread" $nthread['highlight'] title='หัวข้อใหม่ {LF}กระดาน: $nthread{LF}ชื่อกระทู้: $nthread {LF}โพสโดย: $nthread{LF}โพสเมื่อ: $nthread{LF}ดูแล้ว: $nthread คน {LF}ตอบแล้ว: $nthread คน{LF}ตอบล่าสุด: ไม่มี'>$nthread</a></div>
       <!--{/if}-->
      <!--{/loop}-->
      </td>
   </tr>
    </table>
   </td>
   <td width="25%">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr valign="top">
      <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
      <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
      <!--{loop $new_reply_threadlist $rthread}-->
       <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$rthread" $rthread['highlight'] title='โพสล่าสุด {LF}กระดาน: $rthread{LF}ชื่อกระทู้: $rthread{LF}โพสโดย: $rthread{LF}โพสเมื่อ: $rthread{LF}ดูแล้ว: $rthread คน{LF}ตอบแล้ว: $rthread คน{LF}ตอบล่าสุด: $rthread{LF}{lang lastpost}: $rthread'>$rthread</a></div>
      <!--{/loop}-->
      </td>
   </tr>
    </table>
   </td>
   <td width="26%">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr valign="top">
      <td width="24" style="padding:0;border-top:0px;"><img src="images/list.gif" border="0" /></td>
      <td background="images/listbg.gif" style="line-height:20px;padding:0;border-top:0px;background-repeat: repeat-y" width="100%">
      <!--{loop $new_hot_threadlist $mthread}-->
       <div style="overflow: hidden;height: 20px;width: 100%;"><a href="viewthread.php?tid=$mthread" $mthread['highlight'] title='กระทู้จากสมาชิก {LF}กระดาน: $mthread{LF}ชื่อกระทู้: $mthread{LF}โพสโดย: $mthread{LF}โพสเมื่อ: $mthread{LF}ดูแล้ว: $mthread คน{LF}ตอบแล้ว: $mthread คน{LF}ตอบล่าสุด: $mthread{LF}{lang lastpost}: $mthread'>$mthread</a></div>
      <!--{/loop}-->
      </td>
   </tr>
    </table>
   </td>
   <td>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr valign="top">
      <td></td>
      <td>
      
      </td>
   </tr>
    </table>
   </td>
</tr>
</table>
<table cellspacing="2" cellpadding="2">
<tr>
<td><font color=red><b>Top10: </b></font>$poststar</td>
</tr>
</table>
</div>
<!-- Toplist -->


เสร็จเรียบร้อยค่ะ แล้วอย่าลืม อัพเดทแคชด้วยนะคะ :)

**แก้ไขนิดนะคะ สำหรับใครดาวน์โหลดไปแล้วเอาไฟล์ที่ชื่อ discuz.htm ไปไว้ที่ templates\default\discuz.htm**


ปัญหาที่พบปล่อยในการแสดงผลของภาพ
1. การแก้ไขไฟล์ pic.php เป็นการกำหนด ขอบเขตของการแสดงภาพ fid ของกระดาน
ถ้าหากต้องการให้รันแสดงภาพทุกๆกระทู้ก็ให้ปล่อยว่างไว้ค่ะไม่ต้องใส่ตัวเลข fid
2. และก็อีกกรณี ใช้ FF แนบไฟล์รูปอาดทำให้ภาพไม่แสดงค่ะ แต่ถ้าใช้ IE แนบไฟล์ ภาพจะแสดงค่ะ อันนี้เทสแล้วเป็นจริงค่ะ
3. กรณีใช้โฮสฟรีรูปไม่ขึ้น ให้เปิดไฟล์ pic.php

ค้นหา
filetype='image/pjpeg'
แทนที่ด้วย
filetype LIKE 'image/%'

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

แก้ไขข้อที่ 1 ไฟล์ pic เพื่อกำหนด fid เปิดไฟล์ pic.php ค่ะ
ค้นหา $searchfid      = ' ';//

ในช่อง ' 'ให้คุณใส่ fid ของกระดานข่าวที่อัพโหลดรูปไว้ค่ะเช่น fid ที่ 21 และ 22 คือ 2 ฟรั่อมค่ะ
$searchfid      = '21,22';//

ตัวอย่าง fid ของกระดานข่าว
http://www.discuzthai.com/forum-21-1.html

fid = 21

buachompoox โพสต์ 2008-12-18 15:29:44

คงมีหลายคนหาตัวนี้อยู่ หุๆๆๆ {:14_648:}

trickstertik โพสต์ 2008-12-18 17:35:18

ขอบคุณครับ

uismyfriend โพสต์ 2008-12-19 15:59:41

ขอบคุณนะคะพี่ก้อย

new2007 โพสต์ 2008-12-19 17:56:52

ขอบคุณนะงับ

thailivezone โพสต์ 2008-12-22 00:44:10

ขอบคุณมากครับผมไม่เห็นต้องแก้โค้ดเลยนิครับแก้โค้ดมาแล้ว

แค่อัพทับก็แสดงทอปลิสแล้ว

เยี่ยมไปเลยครับ ขอบคุณจริงๆ

samz โพสต์ 2008-12-22 00:53:20

ขอบคุณมากครับ คุณก้อย

flukenakrab โพสต์ 2008-12-22 08:06:45

ขอบคุณครับ

phoom2526 โพสต์ 2008-12-23 07:13:05

โห แก้มาให้เรียร้อย เจ๋งอ่ะ ขอบคุณครับ

jaideejung007 โพสต์ 2008-12-23 13:46:10

อยากบอกพี่ว่า "ขอบคุณครับ"
คำคำนี้คงจะชินหูแร้ว แต่มันออกมาจากใจง่ะ
ว่าขอบคุณอีกครั้ง
ที่อุตสาห์มาแบ่งปัน
แถมยังไม่คิดตังค์ด้วยครับ
ขอบคุณอีกครั้งที่2
ขอให้เจริญๆๆๆ นะครับ สาธุ ว้าววววว
หน้า: [1] 2 3 4 5 6 7 8
ดูในรูปแบบกติ: Toplist Top 10 For 7.0