حقيقة هاك روعة .. باين من الصورة
اقدر اركبه على rc2
السلام عليكم
*****************************
vB3 إحصائيات كل قسم للـ
رقم الإصدار 1.1
تعريب ضيف المهاجر
http://www.nabdh-alm3ani.net
*****************************
التعديل سيكون في ثلاثة أماكن :
تحرير ملف :
forumdisplay.php
اضافة قالب جديد:
forumdisplay_quickstats
تعديل في قالب :
forumdisplay
الخطوة الأولى افتح ملف :
*****************************
vb/forumdisplay.php
في السطر 17 (تقريبا) ابحث عن
*****************************
*****************************كود PHP:
'mailqueue'
أستبدله بهذا:
*****************************
*****************************كود PHP:
'forumstatscache',
'mailqueue'
لا زلنا في forumdisplay.php
في السطر 37 (تقريبا) ابحث عن
*****************************
*****************************كود PHP:
'FORUMDISPLAY',
إستبدله بهذا:
*****************************
*****************************كود 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 #################################################
في أعلاه ضع الكود التالي:
*****************************
*****************************كود PHP:
// 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 " وضع الكود التالي بداخله :
*****************************
*****************************كود PHP:
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tbody>
<tr>
<td class="tfoot"><strong>
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumstats')"><img id="collapseimg_forumstats" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumstats].gif" alt="" border="0" /></a>
<span lang="ar-sa">إحصائية القسم</span> - <i>$foruminfo[title]</i></strong>
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumstats" style="$vbcollapse[collapseobj_forumstats]">
<tr>
<td class="panelsurround" align="center">
<table class="panel" cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
<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">
<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">آخر مشاركة</span></a>: <strong>$lastpostmin </strong></span></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="smallfont">
<span lang="ar-sa">أعلى المواضيع</span>: <a href="member.php?$session[sessionurl]u=$forumstats[topthreadsid]" target="_blank">$forumstats[topthreadsun]</a> (<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">آخر كاتب</span>: <a href="member.php?$session[sessionurl]find=lastposter&f=$forumid" target="_blank">$lastposter</a></span></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="smallfont">
<span lang="ar-sa">أكثر عضو مشارك</span>: <a href="member.php?$session[sessionurl]u=$forumstats[topposterid]" target=_blank>$forumstats[topposterun]</a> (<strong>$forumstats[toppostercount]</strong>
<span lang="ar-sa">الردود</span> = <strong>$forumstats[topposterpercent]</strong>)</span></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]"><strong>
$bbuserinfo[username], <span lang="ar-sa"> في هذا القسم أنت</span>
<span lang="ar-sa"><font color="#800000">أكثر مشاركة</font></span>
<span lang="ar-sa">بعدد المشاركات</span> $yourposts</strong>. (<strong>$yourthreads
<span lang="ar-sa">و</span> $yourreplies</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
وابحث عن :
*****************************
*****************************كود PHP:
$navbar
أسفله مباشرة ضع الكود التال :
*****************************
*****************************كود PHP:
$forumdisplayquickstats
إنتهينا ,,,, مبروك الآن اذهب إلى اي قسم وشاهد احصائياته ,,,,
حقيقة هاك روعة .. باين من الصورة
اقدر اركبه على rc2
نعم اختي وسن اعتقد انه يركب لأنه مافي اختلاف بين الجولد والريليس 2
تحياتي
اخي هل تنفع هذه الطريقة على منتديات النسخه الثانية (2.2.8)
ارجو الرد
وشكرا لك
أشكرك ضيف المهاجر يا غالي مبدع دوماً أخوي ووفقك ربي...
السلام عليكم
في البداية لدي سؤال هل هذا الهاك فقط للنسخه القولد ؟؟؟
اذا كان الجواب بنعم فسؤالي القادم جوابه معروف
واما اذا كان الجواب لا فارجو ان تساعدوني
لاني استخدم نسخه غير القولد ....
لقد قمت بعمل جميع الخطوات بشكل صحيح
بس المشكله مافي شيء ظهر عندي
فهل من مساعده
اخي يا ناسينا ,,,,
الهاك يركب على الفي 3 ابتداء من 3.0 لكني لم اجربه على الريليس او البيتا لكن احتمال يشتغل في الريليس ,,, جرب
تحياتي
مسااااااااااااء جميل ...حلو الواحد يستفيد ويفيد ..شكرا لك اخي المهاجر .....!!
الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)