سلام دوستان . تو این پست یه هکی رو حاضر کردم که تقریبا کاربردی هست و قبلا توسط یک سایت ترکیه ای معرفی شده بود که البته مشکلاتی داشت و من حلشون کردم . کار این هک اینه که توی لیست پیغام های خصوصی دریافتی ، نشون میده که ارسال کننده پیام آنلاین هست یا آفلاین.
در مسیر engine/modules/pm.php کد زیر رو پیدا کنید :
$sql = "SELECT id, subj, user_from, date, pm_read, reply FROM " . USERPREFIX . "_pm where user = '{$member_id['user_id']}' AND folder = 'inbox' order by date desc";
و این کد رو جایگزینش کنید :
$sql = "SELECT foto, text, id, subj, user_from, date, pm_read, reply, us.lastdate as lastdate FROM " . USERPREFIX . "_pm, " . USERPREFIX . "_users us where user_from = us.name AND user = '{$member_id['user_id']}' order by date desc";
در همین فایل کد زیر رو پیدا کنید :
while ( $row = $db->get_row() ) {
و در زیرش این کد رو قرار بدید :
$end_online = time() + $config['date_adjust']*60;
$start_online = $end_online - 2200;
if($row['lastdate'] >= $start_online AND $row['lastdate'] <= $end_online)
{
$status = " (آنلاین)";
} else
$status = " (آفلاین)";
$start_online = $end_online - 2200;
if($row['lastdate'] >= $start_online AND $row['lastdate'] <= $end_online)
{
$status = " (آنلاین)";
} else
$status = " (آفلاین)";
مجددا در همین فایل کد زیر رو پیدا کنید :
<td class=\"pm_list\">{$user_from}</td>
و این کد رو جایگزینش کنید :
<td class=\"pm_list\">{$user_from}{$status}</td>
خوب کار تمومه