أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

سؤال عن visitor في جدول member


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif سؤال عن visitor في جدول member
  04-11-2017 08:26 مساءً  
kareem
معلومات الكاتب
المشاركة الأصلية كتبت بواسطة: Soliman
اقتبـاس ،، شكرا لك من الصعب الطلب من احد عمل تعديل على منتداه وممكن يتم حذف التعديل مع التحديث التلقائي اذا تم عليه ايضاً ممكن الحقل visitor ان لا يكون دقيق لعدد الزيارات السابقة. من الافضل عمل حقل جديد والزيادة عليه اذا تحقق الشرط $change الذي ذكرته.



جاري تجربته لأيام لمعرفة النتيجة. ​

لاحاجة لأن تطلب من أحد التعديل على منتداه سؤال عن visitor في جدول member

يمكنك اضافة هذا التعديل في نفس الملحق عند التركيب



فقط اضف هذا الخطاف

CODE
<hook main_place="lastvisit_members_update" place="lastvisit_members_update"><![CDATA[
$change = $PowerBB->_CONF['now'] - $IsMember['lastvisit'];
if ( $change > 86400)
{
$IsMember['visitor'] = $IsMember['visitor'] - 1;
}
]]> </hook>




وبداخل الـ installcode أضف هذا الكود

CODE
$PathW = "modules/login.module.php";
if(file_exists($PathW)){
$finded = "online');";
$actiond = 'eval($PowerBB->functions->get_fetch_hooks("lastvisit_members_update"));';
$contentss = file_get_contents($PathW);
$newQ    =    str_replace($finded,$finded."\n".$actiond, $contentss);
$putd = file_put_contents($PathW,$newQ);
}




مثال في المرفقات





حلو ولكن رأيت انه عدل على ملف login.module.php إذا شخص رفع الملف بشكل يدوي بدل الموجود او بواسطة تحديث البرنامج لن يعمل الهاك. وهناك خوف ان يكون حقل visitor لأحد ألأعضاء فيه رقم خيالي لانه كان يظل يسجل خروج ودخول كل يوم عدة مرات.

ما تم عمله للتجربة اضافة حقل store_visitor والقيمة الافتراضية له 1 لان اول زيارة للمنتدى لن يتم اضافة رقم لانه لم يمر يوم بعد واضافة للخطاف commonHooks



CODE

if ($PowerBB->_CONF['member_permission']) {
$change = $PowerBB->_CONF['now'] - $PowerBB->_CONF['member_row']['lastvisit'];
if ($change >= 86400){
$UpdateArr                 =     array();
$UpdateArr['field']        =    array();
$UpdateArr['field']['store_visitor']     =     $PowerBB->_CONF['member_row']['store_visitor'] + 1;
$UpdateArr['where']             =     array('id',$PowerBB->_CONF['member_row']['id']);
$PowerBB->core->Update($UpdateArr,'member');
}
}



جيد ام لا ؟؟؟


الساعة الآن 12:34 AM