رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.
جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

آی پی اس فارسی؛ نخستین مرجع تخصصی سایت ساز IPS

شروعی حرفه ای با سایت ساز کامل همراه با پشتیبانی رایگان

  • مدیریت پیشرفته
  • انعطاف پذیری بالا
  • همه امکانات در یک سایت ساز

دانلود کنید !

پست های پیشنهاد شده

نورنما    22

کاربر رسمی

سلام خدمت دوستان واساتید محترم انجمن 

IPS از چه طریقی تشخیص میده کاربری الان آنلاین هست ؟ بطور مشخص می دانید چطور با مرور گر دراین خصوص مرتبط میشه و یا کدامیک از فیلدهای دیتابیس IPS در این خصوص می باشد؟

برای اپلیکیشن سایت لازمش دارم ، ظاهرا گذاره هایی که خود IPS برای اینکار برای ما قرار داده ، در نسخه های رایگان غیرفعال می باشد ! لذا دنبال شیوه کارش هستم .

باتشکر 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمد قاسمی    1105

برنامه نویس رسمی IPS

درود.

شما می توانید با Load کردن کاربر مورد نظر آن را فراخوانی کنید (ایجاد Object ممبر و لود کاربر)، سپس با دستور زیر وضعیت Online بودن آن را بررسی کنید :

$member->isOnline(): Return whether the member is currently online or not.

از لینک آموزشی زیر استفاده کنید :

https://invisioncommunity.com/4docs/advanced-usage/development/working-with-members-r179

متاسفانه ندیدم در لیست API این مورد رو در نظر گرفته باشن در هنگام فراخوانی یک کاربر.

فعلا تنها روش استفاده از اسکریپت PHP می باشد با بررسی که کردم.

موفق باشید.

  • پسند 2
  • تشکر 1
  • ذوق زده 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
حسن قاسمی نیا    257

کاربر رسمی

سلام اگه دارید جدا از IPS کار می کنید یا به نوعی api برای کلاینت مینویسید میتونید داخل تیبل core_members فیلد last_activity زمان آخرین فعالیت کاربر هست و فیلد last_visit زمان آخرین بازدید دقیق تر میخواید تیبل core_member_history آخرین اقدامی که کاربر انجام داده هست که زمان هم داره . @};-

  • تشکر 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمد قاسمی    1105

برنامه نویس رسمی IPS

در 10 ساعت قبل، حسن قاسمی نیا گفته است :

سلام اگه دارید جدا از IPS کار می کنید یا به نوعی api برای کلاینت مینویسید میتونید داخل تیبل core_members فیلد last_activity زمان آخرین فعالیت کاربر هست و فیلد last_visit زمان آخرین بازدید دقیق تر میخواید تیبل core_member_history آخرین اقدامی که کاربر انجام داده هست که زمان هم داره . @};-

درود.

ایشون دقیقا Online و Offline بودن کاربر رو می خواستن و تنها راهش همان isOnline هستش.

ویرایش شده توسط محمد قاسمی
  • تشکر 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
نورنما    22

کاربر رسمی

در 19 دقیقه قبل، محمد قاسمی گفته است :

درود.

ایشون دقیقا Online و Offline بودن کاربر رو می خواستن و تنها راهش همان isOnline هستش.

من برای ورود کدهای زیر رو استفاده میکنم کدها خوب کارمیکنه  ولی با isonlineخروجی نمیتونم بگیرم ! خروجی یک متن نامفهوم میاد!

<?php

$username = '....';
$password = '....';


require ('../init.php');

$member  = \IPS\Member::load($username, 'name');

if ( !$member->member_id )
{
    echo'Username doesnt exist ';
}
elseif ( password_verify( $password, $member->members_pass_hash ) or ( $member->members_pass_salt and mb_strlen( $member->members_pass_hash ) === 32 and $member->verifyLegacyPassword( $password ) ) )
{
    try
    {
        \IPS\Login::checkIfAccountIsLocked( $member, TRUE );
        
        echo ' Login successful - authenticated member is $member';
    $member->isOnline($member);
    echo $member;
    
      
        
    }
    catch ( \IPS\Login\Exception $e )
    {
        echo' Account is locked due to too many failed logins';
    }
}
else
{
    echo'Password incorrect';
}

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمد قاسمی    1105

برنامه نویس رسمی IPS

باید اینجوری استفاده کنید :

if($members->isOnline() == 1){
}

isOnline یک متد بازگشتی می باشد.

فایل زیر نمونه خوبی خواهد بود برای گرفتن و نمایش اطلاعات کاربران :

 

موفق باشید.

 

  • پسند 1
  • تشکر 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
نورنما    22

کاربر رسمی

در 46 دقیقه قبل، محمد قاسمی گفته است :

باید اینجوری استفاده کنید :


if($members->isOnline() == 1){
}

isOnline یک متد بازگشتی می باشد.

فایل زیر نمونه خوبی خواهد بود برای گرفتن و نمایش اطلاعات کاربران :

 

موفق باشید.

 

 

متشکرم از راهنماییتون 

ولی یک نکته ، اونم اینکه چرا وقتی با این php  وارد حساب کاربری می شوم ، در صفحات دیگر مرور گر

قاعدتا باید با رفرش کردن اون صفحات سایت  که ازقبل بازه ، بایددراونها هم  کاربر خودکار login بشه ولی چنین اتفاقی نمی افته !

چطور اینو میشه به مرورگر اطلاع داد؟ ظاهرا login کردن کاربر در سایر صفحات مرور گر هم بااین دستور نمیشه فهمید! 

ویرایش شده توسط نورنما

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
حسن قاسمی نیا    257

کاربر رسمی

در 15 ساعت قبل، محمد قاسمی گفته است :

درود.

ایشون دقیقا Online و Offline بودن کاربر رو می خواستن و تنها راهش همان isOnline هستش.

سلام و عرض ادب ؛

 

معمولا تو طراحی وب سرویس از کلاس های داخلی اسکریپت استفاده نمیشه تنها از دیتابیس استفاده میشه چون کلاس های داخلی مستلزم لود قالب هم هستن و یک برنامه سنگین برای api هست لذا همیشه وب سرویس رو با ابتدایی ترین متد های php مینویسن برای بارگذاری و لود سریع تر دیتا برای همین فیلد و جدول معرفی کردم که بتونه زمان آخرین فعالیت کاربر رو دستی بررسی کنه

و استفاده از isOnline تنها راه بر اساس توابه خود IPS هست جدا از این تابه میشه دستی با کلاس های داخلی IPS هم این موردو چک کرد @};-

ویرایش شده توسط حسن قاسمی نیا
  • تشکر 1
  • متعجب 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمد قاسمی    1105

برنامه نویس رسمی IPS

در 8 ساعت قبل، حسن قاسمی نیا گفته است :

سلام و عرض ادب ؛

 

معمولا تو طراحی وب سرویس از کلاس های داخلی اسکریپت استفاده نمیشه تنها از دیتابیس استفاده میشه چون کلاس های داخلی مستلزم لود قالب هم هستن و یک برنامه سنگین برای api هست لذا همیشه وب سرویس رو با ابتدایی ترین متد های php مینویسن برای بارگذاری و لود سریع تر دیتا برای همین فیلد و جدول معرفی کردم که بتونه زمان آخرین فعالیت کاربر رو دستی بررسی کنه

و استفاده از isOnline تنها راه بر اساس توابه خود IPS هست جدا از این تابه میشه دستی با کلاس های داخلی IPS هم این موردو چک کرد @};-

درود بر شما.

شما اگر N کلاس را لود کنید و  تا زمانی که از آنها استفاده نکنید فقط مقداری فضای RAM استفاده شده است و ربطی به قالب نداره! به صورت پیش فرض در RAM موجود هستند.

از این رو 1 بار لود شدن و بارگذاری در RAM کافیست و نیازی به لود مجدد نیست، سیستم های مدیریت محتوا به همین دلیل از Class ها و Framework ها استفاده می کنند.

برای مثال، Application های اندرویدی که با زبان JAVA فقط RAM اشغال می کنند و تا زمانی که برنامه باز باشد Class ها لود شده اند و آماده استفاده چند باره.

رقابت در بین Framework های PHP بر سر کمتر مصرف شدن Resource های میزبانی آنها و سرعت است، همانطور که برتری اصلی سایت ساز IPS به نسبت ما بقی انجمن ساز ها و سایت ساز ها میزان مصرف Resource میزبانی کم و لود سریع می باشد که این امر با Cache کردن تنظیمات به صورت فایلی در پوشه DataStore و به صورت پایگاه داده ای برای مطالب و محتوای قالب و ... استفاده می کند،  برای مشاهده سرعت واقعی کافیست 1 بار کش را از "پشتیبانی > بررسی مشکل" پاک کنید و مشاهده کنید، که در آخر متوجه خواهید شد بعد از 1 بار لود شدن دیگر نیاز به لود مجدد نیست و سرعت واقعی سیستم را مشاهده خواهید کرد، و یا در زمانی که Web سرویس میزبان شما Restart شود برای 1 بار یک زمان بارگذاری اولیه زیادی خواهید داشت و این تغییرات قابل مشاهده هستند می توانید بررسی کنید.

موفق باشید.

ویرایش شده توسط محمد قاسمی
  • پسند 2
  • تشکر 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×