يوجد خطأ آخر ,
الكود التالي بملف topic.module.php
CODE
if (!$PowerBB->who_visit_subject->IsWhoVisitSubject(array('where' =>array ('member_id',$PowerBB->_CONF['rows']['member_row']['id']))))
المُعطى غير كافي حيث ان هدف الدالة هو الكشف عن إذا ما تم تخزين العضو الزائر للموضوع و لكن لاحظ انك اعطيت الدالة رقم العضو فقط و نسيت إعطاء رقم الموضوع
التعديل :
فى ملف topic.module.php
الكود :
CODE
if (!$PowerBB->who_visit_subject->IsWhoVisitSubject(array('where' =>array ('member_id',$PowerBB->_CONF['rows']['member_row']['id']))))
يصبح :
CODE
$CheckArr = array("member_id" => $PowerBB->_CONF['rows']['member_row']['id'] , "subject_id" => $PowerBB->_GET['id']);
if (!$PowerBB->who_visit_subject->IsWhoVisitSubject($CheckArr) )
و فى ملف engine/systems/who_visit_subject.class.php
الدالة :
CODE
function IsWhoVisitSubject($param)
{
if (!isset($param)
or !is_array($param))
{
$param = array();
}
$param['select'] = '*';
$param['from'] = $this->Engine->table['who_visit_subject'];
$num = $this->Engine->records->GetNumber($param);
return ($num <= 0) ? false : true;
}
تصبح :
CODE
function IsWhoVisitSubject($param)
{
global $PowerBB;
$query = $PowerBB->DB->sql_query("SELECT * FROM `".$PowerBB->prefix."who_visit_subject` WHERE `subject_id`='".intval($param['subject_id'])."' and `member_id`='".$param['member_id']."'");
$num = $PowerBB->DB->sql_num_rows($query);
return ($num <= 0) ? false : true;
}