|
|
|
|
هاك إحصائية كل قسم للـ VB3 Gold
السلام عليكم ورحمة الله وبركاته
******************
vB3 إحصائيات كل قسم للـ
رقم الإصدار 1.1
تعريب ضيف المهاجر
******************
التعديل سيكون في ثلاثة أماكن :
تحرير ملف :
forumdisplay.php
اضافة قالب جديد:
forumdisplay_quickstats
تعديل في قالب :
forumdisplay
الخطوة الأولى افتح ملف :
******************
vb/forumdisplay.php
في السطر 17 (تقريبا) ابحث عن
أستبدله بهذا:
كود PHP:
'forumstatscache', 'mailqueue'
لا زلنا في forumdisplay.php
في السطر 37 (تقريبا) ابحث عن
إستبدله بهذا:
كود PHP:
'FORUMDISPLAY', 'forumdisplay_quickstats',
لا زلنا في forumdisplay.php
في السطر 752 (تقريبا) ابحث عن
كود PHP:
while ($thread = $DB_site->fetch_array($threads))
في أعلاه ضع الكود التالي
كود PHP:
////////////////////////////// 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
في السطر 281 (تقريبا) ابحث عن
كود 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']; }
كود PHP:
// Logician Last Post Minute Hack
انتهينا من تحرير ملف forumdisplay.php
*****************************
الآن أضف قالب جديد بإسم " forumdisplay_quickstats " وضع الكود التالي بداخله :
الآن حرر تمبلت forumdisplay
وابحث عن
أسفله مباشرة ضع الكود التال :
كود PHP:
$forumdisplayquickstats
إنتهينا ,,,, مبروك الآن اذهب إلى اي قسم وشاهد احصائياته ,,,,
م/ ن
(غـيــــــــــــاب وإن طال سامحوني )
استودعتكم الله الذي لا تضيع ودائعه
|
|