المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : هاك إحصائية كل قسم للـ VB3 Gold


الوافي
23-11-2023, 08:41 PM
السلام عليكم ورحمة الله وبركاته
******************
vB3 إحصائيات كل قسم للـ
رقم الإصدار 1.1
تعريب ضيف المهاجر
******************
التعديل سيكون في ثلاثة أماكن :
تحرير ملف :
forumdisplay.php
اضافة قالب جديد:
forumdisplay_quickstats
تعديل في قالب :
forumdisplay
الخطوة الأولى افتح ملف :
******************
vb/forumdisplay.php
في السطر 17 (تقريبا) ابحث عن
'mailqueue'
أستبدله بهذا:
'forumstatscache',
'mailqueue'

لا زلنا في forumdisplay.php
في السطر 37 (تقريبا) ابحث عن
'FORUMDISPLAY',
إستبدله بهذا:
'FORUMDISPLAY',
'forumdisplay_quickstats',

لا زلنا في forumdisplay.php
في السطر 752 (تقريبا) ابحث عن
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
في السطر 281 (تقريبا) ابحث عن// ### 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 " وضع الكود التالي بداخله :
الآن حرر تمبلت forumdisplay
وابحث عن

navbar
أسفله مباشرة ضع الكود التال :
$forumdisplayquickstats
إنتهينا ,,,, مبروك الآن اذهب إلى اي قسم وشاهد احصائياته ,,,,
م/ ن

لـحـن
23-11-2023, 08:42 PM
جزاك الله الجنه ونعيمها
بوركت جهودك الجميله ،،
وسلمت أناملك لجمال اختيارك ’’
بانتظار جديدك القادم بشوق ،’

غرام الشوق
23-11-2023, 08:42 PM
الأمير
..


طرح رائع كروعة حضورك
اشكر ك علي روعة ماقدمت واخترت
من مواضيع رائعه وهامة ومفيدة
عظيم الأمتنان لكَ ولهذا الطرح الجميل والرائع
لاحرمنا ربي باقي اطروحاتك الجميلة

ـــ
تحياتي وعطروردي

:wahjj.1:

ناطق العبيدي
24-11-2023, 01:29 PM
تسلم أناملك عالطرح الرائـع
لآحرمنـا الله روعة موأضيعك
شكرا لمجهودك المميـز

احساس غريب
04-01-2024, 03:54 PM
يعطيك العافية اخوي الامير على المجهود الجميل

شتات المشاعر
16-02-2024, 03:16 PM
بوركت جُهودك الجمَّيلة في هذا الصَّرح
اطيب المُنى والود والتَقدير ..*