Mình sẽ hướng dẫn các bạn cách tăng lượng thành viên ảo đang online xenforo. Cách làm này không làm ảnh hưởng đến hosting hay server đang đặt Forum. Cách này chỉ lưu các session trên database mà thôi .
Đầu tiên là forum của bạn phải bật chế độ development lên.”đăng nhập vào hosting”
Cách bật: vào file src/config.php thêm dòng
Sau đó vào bạn vào trong options -->User Options -> Online Status Timeout (minutes).
Mục Online Status Timeout bạn sẽ thấy phần chỉnh sửa bạn click vào đó sẽ ra bảng mới
Ở đây bạn đổi max = 'số lượng phút mà bạn muốn'. Ví dụ 1440 tương đương với 1 ngày.
value của ô đó sẽ là
Ở max này bạn bạn sửa thành 1440 như mình nhé!
Bấm lưu lại và quay lại mục Online Status Timeout bạn tăng lên bao nhiêu cung được với điều kiện <=1440 rồi bấm lưu lại.
Các bạn vào /src/XF/Repository/SessionActivity.php (trong hosting nhé)
Sau khi làm xong bạn quay lại bước 1 và xoá
Bấm lưu lại là xong. Nếu bài viết hữu ích xin cho ad một like
cảm ơn mọi người!
Bước 1:
Đầu tiên là forum của bạn phải bật chế độ development lên.”đăng nhập vào hosting”
Cách bật: vào file src/config.php thêm dòng
Mã:
$config['development']['enabled'] = true;
Sau đó vào bạn vào trong options -->User Options -> Online Status Timeout (minutes).
Mục Online Status Timeout bạn sẽ thấy phần chỉnh sửa bạn click vào đó sẽ ra bảng mới
Ở đây bạn đổi max = 'số lượng phút mà bạn muốn'. Ví dụ 1440 tương đương với 1 ngày.
value của ô đó sẽ là
Mặc định của xenforo là 60 phút giờ bạn tăng lên 1 ngày, hoặc bao nhiêu tuỳ ý của mọi người. Ở đây mình hướng dẫn 1 ngày nhé!
Mã:
min=1
max=1440
Ở max này bạn bạn sửa thành 1440 như mình nhé!
Bấm lưu lại và quay lại mục Online Status Timeout bạn tăng lên bao nhiêu cung được với điều kiện <=1440 rồi bấm lưu lại.
Bước 2:
Các bạn vào /src/XF/Repository/SessionActivity.php (trong hosting nhé)
Mã:
//thay đổi như sau:
class SessionActivity extends Repository
{
public function getOnlineCounts($onlineCutOff = null)
{
if ($onlineCutOff === null)
{
$onlineCutOff = \XF::$time - $this->options()->onlineStatusTimeout * 60;
}
return $this->db()->fetchRow("
SELECT
SUM(IF(user_id >= 0 AND robot_key = '', 1, 0)) AS total,
SUM(IF(user_id > 0, 1, 0)) AS members,
SUM(IF(user_id = 0 AND robot_key = '', 1, 0)) AS guests
FROM xf_session_activity
WHERE view_date >= ?
", $onlineCutOff);
}
//To his one:
class SessionActivity extends Repository
{
public function getOnlineCounts($onlineCutOff = null)
{
if ($onlineCutOff === null)
{
$onlineCutOff = \XF::$time - $this->options()->onlineStatusTimeout * 240;
}
return $this->db()->fetchRow("
SELECT
SUM(IF(user_id >= 0 AND robot_key = '', 1, 0)) AS total,
SUM(IF(user_id > 0, 1, 0)) AS members,
SUM(IF(user_id = 0 AND robot_key = '', 1, 0)) AS guests
FROM xf_session_activity
WHERE view_date >= ?
", $onlineCutOff);
}
And this function (pruneExpiredActivityRecords($cutOff = null)) to:
public function pruneExpiredActivityRecords($cutOff = null)
{
if ($cutOff === null)
{
$expiration = $this->getDefaultSessionActivityExpiration();
if (!$expiration)
{
return;
}
$cutOff = \XF::$time - 14400;
}
$this->db()->delete('xf_session_activity', 'view_date < ?', $cutOff);
}
Bước 3
Sau khi làm xong bạn quay lại bước 1 và xoá
Mã:
$config['development']['enabled'] = true;
Bấm lưu lại là xong. Nếu bài viết hữu ích xin cho ad một like
