|
||||||
| أرشيف تطوير منتديات vb3.0.0 :: يمنع منعاً باتا ً .. كتابة أي موضوع يهتم بمشاكل المنتديات (( يمنع وضع نسخ vBulletin )) |
|
|
LinkBack | أدوات الموضوع | طرق العرض |
|
||||
|
بسم الله الرحمن الرحيم هاك احصائيات لكل قسم هذا الهاك يقوم بوضع احصائية كاملة فى كل قسم وهذه الأحصائية تتضمن التالى 1-عدد المواضيع 2-عدد الردود 3-أخر مشاركة 4-أخر كاتب 5-أكثر المواضيع للكاتب 6-أكثر عضو مشارك 7-عدد المرفقات 8-حجم المرفقات 9-معدل التصويت للموضوع 10-إجمالى المشاهدات ************************************************** ****** التعديل سيكون في ثلاثة أتجاهات 1-تحرير ملف : forumdisplay.php 2-اضافة قالب جديد: forumdisplay_quickstats 3-تعديل في قالب : forumdisplay ************************************************** ****** الخطوة الأولى افتح ملف : vb/forumdisplay.php ************************************************** ****** أبحث عن ************************************************** ****** 'mailqueue' ***************************** أستبدله بهذا: ***************************** 'forumstatscache', 'mailqueue' ***************************** لا زلنا في forumdisplay.php ************************************************** ****** أبحث عن ************************************************** ****** 'FORUMDISPLAY', ************************************************** ****** إستبدله بهذا: ************************************************** ****** 'FORUMDISPLAY', 'forumdisplay_quickstats', ************************************************** ****** لا زلنا في forumdisplay.php ************************************************** ****** أبحث عن ************************************************** ****** while ($thread = $DB_site->fetch_array($threads)) ************************************************** ****** في أعلاه ضع الكود التالي: ************************************************** ****** ////////////////////////////// BOOFO'S FORUM QUICK STATS CACHE HACK ////////////////////////////// $forumstatscache = unserialize($datastore['forumstatscache']); $forumstats = $forumstatscache[$forumid]; $updatetime = $vboptions['forumcachetime']; $statsupdate = ''; if ($forumstats['lastupdate'] == 0 OR ($forumstats['lastupdate'] + ($updatetime * 60)) < TIMENOW) { $numcount=$DB_site->query_first(" SELECT COUNT(threadid) AS threads, SUM(replycount) AS replies, SUM(views) AS views FROM " . TABLE_PREFIX . "thread WHERE forumid=$forumid "); $forumid = intval($forumid); $threadavg = $DB_site->query_first(" SELECT AVG(votetotal / votenum) AS avgrating FROM " . TABLE_PREFIX . "thread WHERE forumid=$forumid AND votenum <> 0 "); $topthreads = $DB_site->query_first(" SELECT COUNT(threadid) as threads, postusername, postuserid FROM " . TABLE_PREFIX . "thread WHERE forumid=$forumid GROUP BY postuserid ORDER BY threads DESC, dateline ASC LIMIT 1 "); $topposter = $DB_site->query_first(" SELECT user.userid, user.username, COUNT(post.postid) AS postcount FROM " . TABLE_PREFIX . "post LEFT JOIN " . TABLE_PREFIX . "thread ON (post.threadid = thread.threadid) LEFT JOIN " . TABLE_PREFIX . "user ON (post.userid = user.userid) WHERE thread.forumid=$forumid GROUP BY post.userid ORDER BY postcount DESC LIMIT 1 "); $attachs=$DB_site->query_first(" SELECT forum.title AS forum, COUNT(attachment.attachmentid) AS count, SUM(IF(thumbnail = '', 0, 1)) AS thumbs, SUM(IF(thumbnail = '', 1, 0)) AS files, SUM(attachment.filesize) AS bytes FROM " . TABLE_PREFIX . "attachment, " . TABLE_PREFIX . "post, " . TABLE_PREFIX . "thread, " . TABLE_PREFIX . "forum WHERE attachment.postid = post.postid AND post.threadid=thread.threadid AND forum.forumid=thread.forumid AND forum.forumid=$forumid GROUP BY thread.forumid ORDER BY count DESC "); $forumstats['numthreads'] = intval ($numcount[threads]); $forumstats['numreplies'] = intval ($numcount[replies]); $forumstats['numviews'] = intval ($numcount[views]); $forumstats['topthreadscount'] = intval ($topthreads[threads]); $forumstats['topthreadsid'] = intval ($topthreads[postuserid]); $forumstats['topthreadsun'] = ($topthreads[postusername]); $forumstats['topthreadspercent'] = round(100 * ($topthreads[threads] / $numcount[threads]), 2); $forumstats['toppostercount'] = intval ($topposter[postcount]); $forumstats['topposterid'] = intval ($topposter[userid]); $forumstats['topposterun'] = ($topposter[username]); $forumstats['topposterpercent'] = round(100 * ($topposter[postcount] / ($numcount[threads] + $numcount[replies])), 2); $forumstats['attachscount'] = intval ($attachs[count]); $forumstats['attachsbytes'] = intval ($attachs[bytes]); $forumstats['attachsthumbs'] = intval ($attachs[thumbs]); $forumstats['attachsfiles'] = intval ($attachs[files]); $forumstats['avgrating'] = intval (round($threadavg[avgrating])); $forumstats['lastupdate'] = intval (TIMENOW); $forumstatscache[$forumid] = $forumstats; $DB_site->query (" REPLACE INTO " . TABLE_PREFIX . "datastore (title, data) VALUES ('forumstatscache', '" . addslashes ( serialize ( $forumstatscache ) ) . "') "); } $forumstats['numthreads'] = vb_number_format($forumstats['numthreads']); $forumstats['numreplies'] = vb_number_format($forumstats['numreplies']); $forumstats['numviews'] = vb_number_format($forumstats['numviews']); $forumstats['topthreadscount'] = vb_number_format($forumstats['topthreadscount']); $forumstats['toppostercount'] = vb_number_format($forumstats['toppostercount']); $forumstats['attachscount'] = vb_number_format($forumstats['attachscount']); $forumstats['attachsbytes'] = vb_number_format($forumstats['attachsbytes'], 2, true); $forumstats['attachsthumbs'] = vb_number_format($forumstats['attachsthumbs']); $forumstats['attachsfiles'] = vb_number_format($forumstats['attachsfiles']); $forumstats['avgrating'] = vb_number_format($forumstats['avgrating']); if (($forumstats['topthreadspercent'] % 10) == 0) $forumstats['topthreadspercent'] = vb_number_format($forumstats['topthreadspercent']) . '%'; else $forumstats['topthreadspercent'] = vb_number_format($forumstats['topthreadspercent'], 2) . '%'; if (($forumstats['topposterpercent'] % 10) == 0) $forumstats['topposterpercent'] = vb_number_format($forumstats['topposterpercent']) . '%'; else $forumstats['topposterpercent'] = vb_number_format($forumstats['topposterpercent'], 2) . '%'; $getupdatetime = vbdate("$vboptions[timeformat] - F jS, Y", $forumstats['lastupdate']); $statsupdate = "<font color=green>Last updated at $getupdatetime</font>"; $yourpost = $DB_site->query_first(" SELECT forum.title, forum.forumid, COUNT( post.postid ) AS yourposts, SUM( IF( thread.postuserid = $bbuserinfo[userid] AND post.dateline = thread.dateline , 1, 0 ) ) AS yourthreads FROM " . TABLE_PREFIX . "forum, " . TABLE_PREFIX . "thread, " . TABLE_PREFIX . "post WHERE forum.forumid = thread.forumid AND thread.threadid = post.threadid AND post.userid = $bbuserinfo[userid] AND forum.forumid = $forumid GROUP BY forum.forumid ORDER BY yourposts DESC LIMIT 1 "); $yourposts = $yourpost['yourposts']; $yourthreads = $yourpost['yourthreads']; $yourreplies = $yourposts - $yourthreads; $yourposts = vb_number_format($yourposts); $yourthreads = vb_number_format($yourthreads); $yourreplies = vb_number_format($yourreplies); if ($yourposts =="1") { $yourposts = $yourposts . " post"; } else { $yourposts = $yourposts . " posts"; } if ($yourthreads =="1") { $yourthreads = $yourthreads . " thread"; } else { $yourthreads = $yourthreads . " threads"; } if ($yourreplies =="1") { $yourreplies = $yourreplies . " reply"; } else { $yourreplies = $yourreplies . " replies"; } if ($forumstats[attachsthumbs] =="1") { $forumstats[attachsthumbs] = "<strong>" . $forumstats[attachsthumbs] . "</strong> Image"; } else { $forumstats[attachsthumbs] = "<strong>" . $forumstats[attachsthumbs] . "</strong> Images"; } if ($forumstats[attachsfiles] =="1") { $forumstats[attachsfiles] = "<strong>" . $forumstats[attachsfiles] . "</strong> File"; } else { $forumstats[attachsfiles] = "<strong>" . $forumstats[attachsfiles] . "</strong> Files"; } eval('$forumdisplayquickstats = "' . fetch_template('forumdisplay_quickstats') . '";'); ////////////////////////////// BOOFO'S FORUM QUICK STATS CACHE HACK ////////////////////////////// ************************************************** ****** لا زلنا في forumdisplay.php ************************************************** ****** أبحث عن ************************************************** ****** // ### BUILD FORUMS LIST ################################################# ************************************************** ****** في أعلاه ضع الكود التالي: ************************************************** ****** // Logician Last Post Minute Hack if ($forumcache[$forumid]['lastpost'] AND $forumcache[$forumid]['lastpost']>0) { $lastpostdateline=(time()-$forumcache[$forumid]['lastpost'])/60; if ($lastpostdateline<1) { if (($lastpostdateline*60)<1) {$lastpostmin=" Now!";} elseif (($lastpostdateline*60)<2) {$lastpostmin=(int)($lastpostdateline*60)." second ago!";} else {$lastpostmin=(int)($lastpostdateline*60)." seconds ago!";} } elseif ($lastpostdateline<2) {$lastpostmin=(int)($lastpostdateline)." minute ago";} elseif ($lastpostdateline<60) {$lastpostmin=(int)($lastpostdateline)." minutes ago";} elseif ($lastpostdateline<(120)) {$lastpostmin=(int)($lastpostdateline/60)." hour ago";} elseif ($lastpostdateline<(60*24)) {$lastpostmin=(int)($lastpostdateline/60)." hours ago";} elseif ($lastpostdateline<(60*48)) {$lastpostmin=" Yesterday";} else {$lastpostmin=((int)($lastpostdateline/(60*24)))." days ago";} $lastthreadid = $forumcache[$forumid]['lastthreadid']; $lastposter = $forumcache[$forumid]['lastposter']; } // Logician Last Post Minute Hack ************************************************** ****** انتهينا من تحرير ملف forumdisplay.php ************************************************** ****** الآن أضف قالب جديد بإسم " forumdisplay_quickstats " وضع الكود التالي بداخله : ************************************************** ****** <p> <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="85%" align="center" font color="#000000"> <thead> <tr> <td class="tcat" colspan="0"> <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_statistics')"><img id="collapseimg_forumhome_statistics" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_forumhome_statistics].gif" alt="" border="0" /></a> <div align="center"> <span lang="ar-sa">إحصائية</span> <i>$foruminfo[title]</i></strong> </tr> </thead> <tbody id="collapseobj_forumstats" style="$vbcollapse[collapseobj_forumstats]"> <tr> <td class="tcat" align="center" font color="#000000"> <table class="panel" cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%" font color="#000000"> <tr> <td align="$stylevar[left]"> <fieldset class="fieldset" style="margin:0px"> <legend><font color=green>$statsupdate</font></legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"> <tr> <td colspan="2" nowrap="nowrap"><div class="smallfont" font color="#000000"> <span lang="ar-sa">عدد المواضيع</span>: <strong>$forumstats[numthreads]</strong></div></td> </tr> <tr> <td nowrap="nowrap"><span class="smallfont"> <a href="$vboptions[bburl]/showthread.php?$session[sessionurl]goto=newpost&t=$lastthreadid"> <span lang="ar-sa"><font color="#000000">آخر مشاركة</span></a>: <strong>$lastpostmin </strong></span></td> </tr> <tr> <td nowrap="nowrap"><span class="smallfont" font color="#000000"> <span lang="ar-sa">أعلى المواضيع: $forumstats[topthreadsun]</a> - <span lang="ar-sa">عددها</span> (<strong>$forumstats[topthreadscount]</strong>) - <span lang="ar-sa">المواضيع</span> (<strong>$forumstats[topthreadspercent]</strong>) </span></td> </tr> <if condition="$forumstats[attachscount] !='0'"> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa">عدد المرفقات</span>: <strong>$forumstats[attachscount]</strong> ($forumstats[attachsthumbs] - $forumstats[attachsfiles])</span></td> </tr> </if> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa">معدل التصويت للموضوع</span>: <img class="inlineimg" src="$stylevar[imgdir_rating]/rating_$forumstats[avgrating].gif" alt="some text"></span></td> </tr> </table> </fieldset> </td> <td align="$stylevar[left]"> <fieldset class="fieldset" style="margin:0px"> <legend>$statsupdate</legend> <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"> <tr> <td colspan="2" nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa">عدد الردود</span>: <strong>$forumstats[numreplies]</strong></span></td> </tr> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa"><font color="#000000">آخر كاتب</span>: $lastposter</a></span></td> </tr> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa"><font color="#000000">أكثر عضو مشارك</span>: $forumstats[topposterun]</a> (<span lang="ar-sa">عدد مشاركاته</span> <strong>$forumstats[toppostercount]</strong>) </td> </tr> <if condition="$forumstats[attachscount] !='0'"> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa">حجم المرفقات</span>: <strong>$forumstats[attachsbytes]</strong></span></td> </tr> </if> <tr> <td nowrap="nowrap"><span class="smallfont"> <span lang="ar-sa">إجمالي المشاهدات</span>: <strong>$forumstats[numviews]</strong></span></td> </tr> </table> </fieldset> </td> </tr> </table> <tr> <if condition="$yourposts != 0"> <td class="thead" align="center" nowrap="nowrap" colspan="2"><if condition="$forumstats[topposterun] == $bbuserinfo[username]"> <font color=yellow> <strong><font color=white>$bbuserinfo[username]</strong> <span lang="ar-sa"> أنت فى هذا القسم</span> <span lang="ar-sa"><font color=yellow>الأكثر مشاركة</font></span> <span lang="ar-sa">بعدد مشاركات</span> <font color=yellow>(<strong>$forumstats[toppostercount]</strong>)<font color=white> <span lang="ar-sa">مشاركة</span> <font color=yellow>(<span lang="ar-sa">عدد المواضيع</span> <font color=white><strong>$forumstats[numthreads]</strong> <span lang="ar-sa"><font color=yellow>وعدد الردود</span> <font color=white><strong>$forumstats[numreplies]<font color=yellow></strong>) <else /><strong>$bbuserinfo[username] <span lang="ar-sa">لقد قمت بكتابة</span> $yourposts <span lang="ar-sa"> فى هذا القسم</span></strong>. (<strong>$yourthreads <span lang="ar-sa">و</span> $yourreplies</strong>)</if></td> <else /> <td class="thead" align="center" nowrap="nowrap" colspan="2"><strong> $bbuserinfo[username], <span lang="ar-sa">لم تشارك في هذا القسم حتى الآن</span></strong>.</td> </if> </tr> </tbody> </table> <br /> ************************************************** ****** الآن حرر تمبلت forumdisplay ************************************************** ****** وابحث عن : ************************************************** ****** $navbar ************************************************** ****** أسفله مباشرة ضع الكود التالى : ************************************************** ****** $forumdisplayquickstats ************************************************** ****** أنتهى تركيب الهاك ولمشاهدة الهاك أفتح أى قسم من أقسام منتداك وشاهد الأحصائيات فى أول القسم ************************************************** ****** مع تحيات mansour
التعديل الأخير كان بواسطة mansour1; 26 - 06 - 2006 الساعة 13:36
|
|
:: عضو نشيط ::
![]() ![]() ![]() ![]() |
للنسخة 3.5.4 و اكون شاكر لك |
|||||||||||||||||||||||
| العلامات المرجعية |
| أدوات الموضوع | |
| طرق العرض | |
|
|