دیتالایف انجین فارسی

دیتالایف انجین فارسی

پشتیبان رسمی سیستم مدیریت محتوا

نمایش وضعیت آنلاین

نمایش وضعیت آنلاین و آفلاین کاربر

بوسیله این هک میتوانید وضعیت آنلاین و یا آفلاین بودن کاربر را در قسمت نظرات، پروفایل کاربر، پیغامهای خصوصی و پنجره پاپ آپ مشخصات کاربر به نمایش بگذارید.

آموزش نصب
۱. ابتدا فایل index.php را با ویرایشگر باز کرده، کد زیر را پیدا کرده:
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );

۲. بعد از آن، کد زیر را قرار دهید:
$fuser_status = '';
$timer = 10;
$fuser_status = ((time() + ($config['date_adjust']*60)) < ($member_id['lastdate'] + ($timer*60))) ? $request_online=false : $request_online=true;

if ( $is_logged AND $request_online ) $db->query("UPDATE " . USERPREFIX . "_users SET lastdate = '".time()."' WHERE user_id = '$member_id[user_id]'");

برای نمایش وضعیت در قسمت نظرات.
۱. فایل engine/modules/show.full.php را باز کرده و کد زیر را پیدا کرده:
reg_date, signature

۲ کد زیر را با کد بالا جا به جا کنید:
reg_date, signature, lastdate

۳. فایل engine/classes/comments.class.php را باز کرده، کد زیر را پیدا کنید:
else $tpl->set( '{ip}', '' );

۴. کد زیر را پس از کد بالا قرار دهید:
$fuser_status = '';
$timer = 10;
$dtime_1 = ( time() + ($config['date_adjust']*60) - ($timer*60) );
$dtime_2 = ( time() + ($config['date_adjust']*60) + ($timer*60) );
if( $row['lastdate'] > $dtime_1 AND $row['lastdate'] < $dtime_2 ) $tpl->set('{statuson}', "<font color=\"green\">آنلاین</font>"); else $tpl->set('{statuson}', "<font color=\"red\">آفلاین</font>");

۵. فایل engine/modules/lastcomments.php باز کرده، کد زیر را پیدا کنید:
is_register, name,

۶. کد زیر را با کد بالا جا به جا کنید:
is_register, name, lastdate,

۷. کد زیر را در جای مناسب در فایل comments.tpl قرار دهید:
{statuson}

کار نصب به اتمام رسیده است، اما اگر نیاز دارید تا وضعیت کاربر را در قسمت های دیگر هم به نمایش بگذارید، مراحل زیر را دنبال کنید.
نمایش وضعیت در پروفایل کاربر.
۱. فایل engine/modules/profile.php را باز کرده و کد زیر را پیدا کنید:
$tpl->load_template( 'userinfo.tpl' );
while ( $row = $db->get_row( $sql_result ) ) {
$user_found = TRUE;

۲. کد زیر را پس از کد بالا قرار دهید:
$fuser_status = '';
$timer = 10;
$dtime_1 = ( time() + ($config['date_adjust']*60) - ($timer*60) );
$dtime_2 = ( time() + ($config['date_adjust']*60) + ($timer*60) );
if( $row['lastdate'] > $dtime_1 AND $row['lastdate'] < $dtime_2 ) $tpl->set('{statuson}', "<font color=\"green\">آنلاین</font>"); else $tpl->set('{statuson}', "<font color=\"red\">آفلاین</font>");

۳. کد زیر را در فایل userinfo.tpl قرار دهید:
{statuson}

نمایش وضعیت کاربر در پیغامهای خصوصی.
۱. ابتدا فایل engine/modules/pm.php را با ویرایشگر باز کرده و کد زیر را پیدا کنید:
reg_date, signature

۲. کد زیر را با کد بالا جه به جا کنید:
reg_date, signature, lastdate

۳. کد زیر را پیدا کرده:
else $tpl->set( '{registration}', '--' );

۴. کد زیر را بعد از کد بالا قرار دهید:
$fuser_status = '';
$timer = 10;
$dtime_1 = ( time() + ($config['date_adjust']*60) - ($timer*60) );
$dtime_2 = ( time() + ($config['date_adjust']*60) + ($timer*60) );
if( $row['lastdate'] > $dtime_1 AND $row['lastdate'] < $dtime_2 ) $tpl->set('{statuson}', "<font color=\"green\">آنلاین</font>"); else $tpl->set('{statuson}', "<font color=\"red\">آفلاین</font>");

۵. کد زیر را در فایل pm.tpl در جای مناسب ما بین تگهای [readpm]...[/readpm] قرار دهید:
{statuson}

نمایش وضعیت کاربر در پنجره پاپ آپ مشخصات کاربر.
۱. فایل engine/ajax/profile.php را با ویرایشگر باز کنید و کد زیر را پیدا کنید:
$tpl->set( '{rate}', userrating( $row['name'] ) );

۲. کد زیر را پس از کد بالا قرار دهید:
$fuser_status = '';
$timer = 10;
$dtime_1 = ( time() + ($config['date_adjust']*60) - ($timer*60) );
$dtime_2 = ( time() + ($config['date_adjust']*60) + ($timer*60) );
if( $row['lastdate'] > $dtime_1 AND $row['lastdate'] < $dtime_2 ) $tpl->set('{statuson}', "<font color=\"green\">آنلاین</font>"); else $tpl->set('{statuson}', "<font color=\"red\">آفلاین</font>");

۳. کد زیر را در فایل profile_popup.tpl قرار دهید:
{statuson}
نظرات کاربران
شهاب در 18 فروردین 1391 - 09:45 گفته:
عضو سایتنظرات: 69

آقا ممنون
یه مشکلی هست کد {statuson} رو تو هر قسمتی میگذارم به صورت لوزی علامت سوال نمایش داده میشه

--------------------

IMP در 18 فروردین 1391 - 12:06 گفته:
مدیر بازنشستهنظرات: 917

niaz,
شما باید فایلی که توش ویرایش رو انجام دادین و کد های که برای نصب بود رو توی اون قرار دادین رو هم با انکودینگ UTF-8 ذخیره کنید.

شهاب در 18 فروردین 1391 - 14:43 گفته:
عضو سایتنظرات: 69

IMP,
عزیز دل اگه انکودینگ رو تغییر بدم کل قالبم به هم میریزه!!!
راه دیگه ای سراغ نداری؟
مثلا بشه از طریق فایل زبان آنلاین و آفلاین رو فراخوانی کرد؟
question

--------------------

IMP در 18 فروردین 1391 - 15:24 گفته:
مدیر بازنشستهنظرات: 917

niaz,
راه دیگه هم هست، هک های جدا گونه هستند، اما بهترینش که من تست کردم این هست. شما هم باید انکودینگ فایلهایی که تغییر میدین رو عوض کنید، مثل فایل engine/modules/show.full.php، نه اینکه انکودینگ فایل قالبتون رو. به هر حال این هک کاملا سالم بید و بدون مشکل کار میکند. feel

حمید صادقی در 19 فروردین 1391 - 09:28 گفته:
مدیر سایتنظرات: 463

خیلی خوب بود ممنونم
happy

--------------------

donyayeclip در 12 اردیبهشت 1391 - 16:27 گفته:
عضو سایتنظرات: 61

flower

pedram shahinnaghsh در 18 آبان 1391 - 15:51 گفته:
عضو سایتنظرات: 42

سلام IMP
آیا میشه این ماژول تغییراتی داد که این شکلی نشون بده؟
لینک عکس

IMP در 18 آبان 1391 - 16:20 گفته:
مدیر بازنشستهنظرات: 917

raadbux,
خیر، برای این کار باید ماژول نوشته بشه. البته میتونید از همین هک هم استفاده کنید و با ایجاد تغییرات، فقط گروه های کاربری خاصی رو نشون بدید و ...

myMJJ در 24 آذر 1391 - 02:16 گفته:
عضو سایتنظرات: 56

ممنون
تو 9.5 انجام دادم میاد فقط در هر صورت میزنه آفلاین . مشکل از کجا میتونه باشه ؟

حمید صادقی در 25 آذر 1391 - 09:43 گفته:
مدیر سایتنظرات: 463

كاربران عزیز توجه داشته باشید كه این ماژول به صورت پیش فرض در 9.6 به بعد نصبه و احتیاجی به نصب اون نیست
myMJJ,
من خودم الان روی 9.5 دارم استفاده میكنم شما بررسی كن ببین كجا رو اشتباه كردی
در ضمن این نكته رو هم بگم كه این ماژول فقط در مدت زمان محدودی كاربری رو كه فعالیت در سایت نكنه رو آنلاین در نظر میگیره
برای افزایش این محدودیت در موقع نصب مقدار متغیر زیر رو به عدد دلخواه افزایش دهید
$timer = 10;

تا یادم نرفته بگم این عدد برحسب دقیقه ست
موفق باشید flower

--------------------

ارسال نظر
نام:*
ایمیل:*
متن نظر:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
کد را وارد کنید: *
عکس خوانده نمی‌شود؟ کلیک کنید!