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

زيادة الكوكيز في المتواجدين لهذا اليوم


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif زيادة الكوكيز في المتواجدين لهذا اليوم
  26-05-2010 02:10 صباحاً  
Soliman
معلومات الكاتب
وعليكم السلام ورحمة الله وبركاته،،

المتواجدون اليوم بمنتدى الـ pbb لايتعامل مع الكوكيز بل يعرض المتواجدون حسب تاريخ اليوم وعند إنتهاء اليوم يتم حذف كافة الأعضاء الذين تواجدوا في اليوم السابق وهكذا ..

عموماً ساساعدك في تلبيه هذا الطلب مع اني لست متأكد من النتيجة لأني لم اقم بتجربتها لأن
نتائجها لاتظهر بشكل فوري بل تسلتزم انتظار 24 ساعة ..

اليك طريقة زيادة بقاء المتواجدين اليوم :
(الخطوة الأولى )
حرر ملف : modules/main.module.php
وابحث عن (من السطر 584 إلى السطر 640) :

CODE
    function _GetToday()
    {
	   global $PowerBB;

	   //////////
	    if ($PowerBB->_CONF['info_row']['show_online_list_today'] == 1)
	   {
	   $TodayArr					=	array();
	   $TodayArr['where']			  =	array();
	   $TodayArr['where'][0]		   =	array();

	   $TodayArr['where'][0]['name']	=	'username';
	   $TodayArr['where'][0]['oper']	=	'!=';
	   $TodayArr['where'][0]['value']	=	'Guest';

	   $TodayArr['where'][1]		  =    array();
	   $TodayArr['where'][1]['con']    =    'AND';
	   $TodayArr['where'][1]['name']	=	'user_date';
	   $TodayArr['where'][1]['oper']	=	'=';
	   $TodayArr['where'][1]['value']	=	$PowerBB->_CONF['date'];

	   $TodayArr['order']			 =    array();
	   $TodayArr['order']['field']	   =    'user_id';
	   $TodayArr['order']['type']	   =    'DESC';


	   if (!$PowerBB->_CONF['group_info']['show_hidden'])
	   {
		  $TodayArr['where'][2]		  =    array();
		  $TodayArr['where'][2]['con']    =    'AND';
		  $TodayArr['where'][2]['name']	=	'hide_browse';
		  $TodayArr['where'][2]['oper']	=	'<>';
		  $TodayArr['where'][2]['value']	=	'1';
	   }

	   $PowerBB->_CONF['template']['while']['TodayList'] = $PowerBB->online->GetTodayList($TodayArr);

	   //////////

	   if (!empty($PowerBB->_CONF['info_row']['today_number_cache']))
	   {
		  $PowerBB->_CONF['template']['TodayNumber'] = $PowerBB->_CONF['info_row']['today_number_cache'];
	   }
	   else
	   {
		  $NumberArr					=	array();
		  $NumberArr['where']		   =	array();
		  $NumberArr['where'][0]		   =	array();
		  $NumberArr['where'][0]['name']	=	'user_date';
		  $NumberArr['where'][0]['oper']	=	'=';
		  $NumberArr['where'][0]['value'] =	$PowerBB->_CONF['date'];

		  $PowerBB->_CONF['template']['TodayNumber'] = $PowerBB->online->GetTodayNumber($NumberArr);
	   }
	 }
	   //////////
    }


وقم باستبداله بـ :


CODE
    function _GetToday()
    {
	   global $PowerBB;

	   //////////
	    if ($PowerBB->_CONF['info_row']['show_online_list_today'] == 1)
	   {
	   $TodayArr					=	array();
	   $TodayArr['where']			  =	array();
	   $TodayArr['where'][0]		   =	array();

	   $TodayArr['where'][0]['name']	=	'username';
	   $TodayArr['where'][0]['oper']	=	'!=';
	   $TodayArr['where'][0]['value']	=	'Guest';

	   if (!$PowerBB->_CONF['group_info']['show_hidden'])
	   {
		  $TodayArr['where'][1]		  =    array();
		  $TodayArr['where'][1]['con']    =    'AND';
		  $TodayArr['where'][1]['name']	=	'hide_browse';
		  $TodayArr['where'][1]['oper']	=	'<>';
		  $TodayArr['where'][1]['value']	=	'1';
	   }

	   $TodayArr['order']			 =    array();
	   $TodayArr['order']['field']	   =    'user_id';
	   $TodayArr['order']['type']	   =    'DESC';




	   $PowerBB->_CONF['template']['while']['TodayList'] = $PowerBB->online->GetTodayList($TodayArr);

	   //////////

	 $TodayNumber = $PowerBB->DB->sql_num_rows($PowerBB->DB->sql_query("SELECT * FROM " . $PowerBB->table['today'] . " WHERE id"));
	 $PowerBB->_CONF['template']['TodayNumber'] = $TodayNumber;
	 }
	   //////////
    }


اغلق الملف واحفظه ..

----------------------------------------------------
(الخطوة الثانية)
حرر ملف : engine/systems/online.class.php
وابحث عن (من السطر 187 إلى السطر 194) :

CODE
	    if (!empty($param['date']))
	    {
		   $param['where']		   =	array();
		   $param['where'][0]		   =	array();
		   $param['where'][0]['name']	=	'user_date';
		   $param['where'][0]['oper']    =    '<>';
		   $param['where'][0]['value']    =    $param['date'];
	    }


واستبدله بـ :

CODE
	    if (!empty($param['date']))
	    {
		   $param['where']		   =	array();
		   $param['where'][0]		   =	array();
		   $param['where'][0]['name']	=	'user_date';
		   $param['where'][0]['oper']    =    '<';
		   $param['where'][0]['value']    =    $param['date'];

		   $param['where'][1]		   =	array();
		   $param['where'][1]['con']	=	'AND';
		   $param['where'][1]['name']	=	'user_date';
		   $param['where'][1]['oper']	=	'=';
		   $param['where'][1]['value'] =	$param['date'];
	    }


وابحث عن (من السطر 201 إلى السطر 231) :

CODE
	function IsToday($param)
	{
	    if (!isset($param)
		   or !is_array($param))
	    {
		   $param = array();
	    }

	    $param['select']		   =	'*';
	    $param['from']			  =	$this->Engine->table['today'];
	    $param['where']		   =	array();

	    if (!empty($param['username'])
		   and !empty($param['date']))
	    {
		   $param['where'][0]		   =	array();
		   $param['where'][0]['name']	=	'username';
		   $param['where'][0]['oper']	=	'=';
		   $param['where'][0]['value'] =	$param['username'];

		   $param['where'][1]		   =	array();
		   $param['where'][1]['con']	=	'AND';
		   $param['where'][1]['name']	=	'user_date';
		   $param['where'][1]['oper']	=	'=';
		   $param['where'][1]['value'] =	$param['date'];
	    }

	    $num = $this->Engine->records->GetNumber($param);

	    return ($num <= 0) ? false : true;
	}


واستبدله بـ :
CODE
	function IsToday($param)
    {
	    if (!isset($param)
		   or !is_array($param))
	    {
		   $param = array();
	    }

	   $param['select']	=	'*';
	   $param['from']	    =	$this->Engine->table['today'];

	   $num = $this->Engine->records->GetNumber($param);

	   return ($num <= 0) ? false : true;
    }



اغلق الملف واحفظه ..


---------------------------------
(الخطوة الثالثة )
حرر الملف : modules/common.module
وابحث عن (السطر 57 إلى السطر 95) :

CODE
	    // Delete not important rows in today table
	    $CleanArr		   =	array();
	    $CleanArr['date']	=	$PowerBB->_CONF['date'];


واستبدله بـ :

CODE
	    // Delete not important rows in today table
	    $CleanArr		   =	array();
	    $CleanArr['date']	=	$PowerBB->_CONF['online_day'];



وابحث عن (السطر 345 إلى السطر 356) :

CODE
	   // Ok , now we check if this member is exists in today list
	   $IsTodayArr			  = array();
	   $IsTodayArr['username']	= $PowerBB->_CONF['member_row']['username'];
	   $IsTodayArr['date']	    = $PowerBB->_CONF['date'];

	   $IsToday = $PowerBB->online->IsToday($IsTodayArr);

	   ////////////

	   // Member isn't exists in today table , so insert the member
	   if (!$IsToday)
	   {


واستبدله بـ :
CODE
	   // Ok , now we check if this member is exists in today list
	   if (!$PowerBB->online->IsToday(array('where' => array('username',$PowerBB->_CONF['member_row']['username']))))
	   {
	   // Member isn't exists in today table , so insert the member


اغلق الملف واحفظه ..
---------------------------------

(الخطوة الرابعة)


حرر ملف : engine/Engine.class.php
وابحث عن (السطر 268) :
CODE
	    $this->_CONF['day']				    =    date('D');


ضع اسفله :

CODE
	  $online_date = mktime(0,0,0,date("m"),date("d")-1,date("Y"));
	  $online_day = date("Y/m/d", $online_date);
	    $this->_CONF['online_day']				    =    $online_day;


أنتهى ..



يمكنك تعديل عدد الأيام من الكود
CODE
$online_date = mktime(0,0,0,date("m"),date("d")-1,date("Y"));

الكود تجده في الأستبدال الأخير (اخر خطوة الخطوة الرابعة)

( لبقاء المتواجدين يومان )
CODE
date("d")-1


( ثلاث ايام )
CODE
date("d")-2


(أربع ايام وهكذا .. )
CODE
date("d")-3



طبعاً لايتم ملاحظة بقاء المتواجدين بعد تركيب الهاك مباشرة يلزمك 24 ساعة بعد تركيبه


تم تحرير المشاركة بواسطة :Soliman بتاريخ:27-05-2010 09:50 صباحاً



الساعة الآن 06:04 PM