طريقة عدد الأعضاء النشطين الذين شاركوا بمواضيع خلال 24 ساعة
السلام عليكم ورحمة الله وبركاته ...
وظيفة عمل الهاك
وظيفة هذا الهاك يعرض قائمة للأعضاء النشطين الذين تواجدوا في المنتدى وطرحوا مواضيع / مشاركات أثناء تواجدهم في المنتدى خلال 24 ساعة .
تم تجربة هذا الهاك على الإصدار 3.0.7 وهو يتم التجربة على الإصدارات السابقه ، ولكن باعتقادي ان الهاك سيعمل على الاصدارات السابقة دون اي مشاكل بإذنه تعالى
متطلبات الهاك
أخذ نسخة احتياطيه لملف index.php ( عند تنزيل هذا الملف على جهازك وقبل التعديل عليه أعمل نسخه منه copy والصقه بمجلد آخر للإحتياط ) .
عند نسخ الاكواد الاضافية من هذا الموضوع للملف الذي يتطلب التعديل عليه ، يفضل أولآ نسخ الكود من الموضوع وثم ألصقه في مستند نص وآخيرآ انسخ الاكواد من المستند إلى الملف المطلوب التعديل عليه .
التركيز والإنتباه أثناء التركيب .
صورة توضيحية للهاك :
https://www.kwety.net/kwety1/q83/Who_...sted_today.JPG
شرح التركيب
1- إفتح الملف : index.php الموجود بمجلد vb
إبحث عن :
كود:
// ### LOGGED IN USERS #################################################
أعلاه مباشرة ً
أضف هذا الكود الجديد :
كود:
require_once('./includes/functions_misc.php');
$now = TIMENOW - intval($vboptions['hourdif']);
$cutoff = vbmktime(0, 0, 0, date('m', $now), date('d', $now), date('Y', $now));
//$cutoff = $now - 86400 ; // ## Uncomment this line if you want a rolling 24 hours display ## //
$todaysposters = $DB_site->query("SELECT userid, lastpost, options, username, opentag, closetag
FROM " . TABLE_PREFIX . "user as user
LEFT JOIN " . TABLE_PREFIX . "usergroup as usergroup ON(user.usergroupid = usergroup.usergroupid)
WHERE lastpost > " .$cutoff. " ORDER BY username" );
unset ($posttoday);
$posterstoday = 0;
while ($today = $DB_site->fetch_array($todaysposters))
{
$today[visible] = 1 ;
$posterstoday += 1;
if ($today[options] & $_USEROPTIONS[invisible])
{
$today[visible] = 0 ;
if (($permissions['genericpermissions'] & CANSEEHIDDEN) OR $today['userid'] == $bbuserinfo['userid'])
{
$today[visible] = 2 ;
}
}
if ($today[visible])
{
$wrdate = vbdate($vboptions['timeformat'], $today['lastpost']);
$posttoday .= "<a href='search.php?do=finduser&u=$today[userid]' title='$wrdate' >";
if ($today[visible] == 2)
{
$posttoday .= $today['opentag'].$today[username].$today['closetag']."</a>*, ";
}
else
{
$posttoday .= $today['opentag'].$today[username].$today['closetag']."</a>, ";
}
}
}
if ($posttoday)
{
$posttoday = substr($posttoday, 0, strlen($posttoday)-2);
}
احفظ التعديل .
إرفع الملف إلى مكانه .
2- افتح تمبلت : FORUMHOME
إبحث عن :
كود:
<!-- end logged-in users -->
أسفله مباشرة ً
أضف هذا الكود الجديد :
كود:
<!-- Todays posters -->
<tbody>
<tr>
<td class="thead" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_todayposters')"><img id="collapseimg_forumhome_todayposters" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_todayposters].gif" alt="" border="0" /></a>
عدد الأعضاء النشطين الذين أضافوا مشاركات لهذا اليوم : $posterstoday عضو .
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumhome_todayposters" style="$vbcollapse[collapseobj_forumhome_todayposters]">
<tr>
<td class="alt2"><img src="$stylevar[imgdir_misc]/whos_online.gif" alt="الاعضاء المتصلين والنشطين" border="0" /></td>
<td class="alt1" width="100%"><div class="smallfont">$posttoday</div></td>
</tr>
</tbody>
<!-- End Todays posters -->
إحفظ العمل .
3- أضف هذا الأمر إلى قاعدة البيانات ( اختياري فقط للتسريع والذين يملكون أعضاء يضيفون مشاركات كثيره )
كود:
ALTER TABLE user ADD INDEX (lastpost) ;
أنتهى ...
|