Other Hiển thị địa chỉ IP trong Users -> Users Awaiting Approval

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,829
Được Like
12,687
Hiển thị địa chỉ IP trong Users -> Users Awaiting Approval

*** Chú ý: Sự thay đổi này có thể là một nguyên nhân gây tăng tải trên máy chủ. Nên lưu ý khi sử dụng. ***

Nếu bạn muốn có một số thông tin có sẵn trong danh sách "Users Awaiting Approval", đây là một ví dụ cơ bản để làm như vậy. Ví dụ này sẽ cho bạn thấy làm thế nào để thêm địa chỉ IP của người dùng vào danh sách.

Cảnh báo, điều này sẽ yêu cầu thay đổi các mã cơ sở của XenForo, có nghĩa là bạn sẽ phải làm lại chúng khi bạn nâng cấp XenForo.

Mở tập tin sau đây: library/XenForo/ControllerAdmin/User.php

Tìm (khoảng dòng 597-599):
Mã:
        $users = $this->_getUserModel()->getUsers(array(
            'user_state' => 'moderated'
        ));

Thay đổi thành:
Mã:
        $users = $this->_getUserModel()->getUsers(array(
            'user_state' => 'moderated'), array('join' => XenForo_Model_User::FETCH_USER_IP
        ));

Lưu lại và mở library/XenForo/Model/USer.php

Tìm (khoảng dòng 13/14):
Mã:
    const FETCH_USER_PERMISSIONS = 0x08;
    const FETCH_LAST_ACTIVITY    = 0x10;

Thay đổi thành:
Mã:
    const FETCH_USER_PERMISSIONS = 0x08;
    const FETCH_USER_IP            = 0x09;
    const FETCH_LAST_ACTIVITY    = 0x10;

Tìm (khoảng dòng 458-466, số dòng sau khi chỉnh sửa ở trên):
Mã:
            if ($fetchOptions['join'] & self::FETCH_LAST_ACTIVITY)
            {
                $selectFields .= ',
                    IF (session_activity.view_date IS NULL, user.last_activity, session_activity.view_date) AS effective_last_activity,
                    session_activity.view_date, session_activity.controller_name, session_activity.controller_action, session_activity.params, session_activity.ip';
                $joinTables .= '
                    LEFT JOIN xf_session_activity AS session_activity ON
                        (session_activity.user_id = user.user_id AND session_activity.unique_key = user.user_id)';
            }

Xin lưu ý rằng sẽ có HAI cặp dấu ngoặc ở dòng đó. Thấp nhất sẽ được đặt trên dòng 467, và sẽ là một tab ít thụt vào so với dòng 466.

Bạn cần phải dán mã dưới đây vào giữa hai dấu ngoặc nhọn.
Thêm bên dưới (không loại bỏ các mã trên):
Mã:
            if ($fetchOptions['join'] & self::FETCH_USER_IP)
            {
                $selectFields .= ',
                    INET_NTOA(ip.ip) AS ip';
                $joinTables .= '
                    LEFT JOIN xf_ip AS ip ON
                        (ip.user_id = user.user_id)';
            }

Lưu lại.

Để hiển thị các giá trị IP mới được thêm vào trong Admin CP, bây giờ bạn sẽ cần phải chắc chắn rằng bạn có bật chế độ gỡ lỗi. Điều này có thể được thực hiện bằng cách chỉnh sửa tập tin config.php mà có thể được tìm thấy trong thư mục library.

Khoảng phía dưới, thêm:
Mã:
if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
{
    $config['debug'] = true;
}

Thay 127.0.0.1 với IP riêng của bạn (nếu bạn không biết, www.whatsmyip.org).

Bây giờ bạn đăng nhập vào Admin CP của bạn, bạn sẽ thấy một tab mới được gọi là Development. Nhấn vào đó, và sau đó chọn "Admin Templates". Tìm "user_moderated", và chỉnh sửa nó.

Tìm:
Mã:
<xen:controlunit label="{xen:phrase user}:"><a href="{xen:adminlink users/edit, $user}" target="_blank">{$user.username}</a> ({$user.email})</xen:controlunit>

Thay bằng:
Mã:
<xen:controlunit label="{xen:phrase user}:"><a href="{xen:adminlink users/edit, $user}" target="_blank">{$user.username}</a> ({$user.email}) - {$user.ip}</xen:controlunit>

Xong.

Nếu bây giờ bạn vào Users -> Users Awaiting Approval, địa chỉ IP của người dùng sẽ được hiển thị:

IP.png

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Kendy

Gefreiter
Tham gia
01/12/2015
Bài viết
93
Được Like
33
sao ko có mục Development ad
 

dakhucquan.net

MasterCorporal
Tham gia
27/06/2015
Bài viết
337
Được Like
152
bác @PVS (Păng Vệ Sinh :p) có nhận code addon ko :D nếu có cho e xin fb or cái gì liên hệ ngoài skype nhé!
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mobile/Zalo: 0906081284

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom