Other Run query on user upgrade - Chạy truy vấn trong nâng cấp người dùng (code ví dụ)

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,829
Được Like
12,687
Run query on user upgrade - Chạy truy vấn trong nâng cấp người dùng (code ví dụ) 1.x

Bạn có thể chỉnh sửa tập tin library/ExtendUserUpgrade/UserUpgradeModel.php để thiết lập truy vấn hoặc mã của riêng bạn để thực thi khi người dùng trả tiền để nâng cấp. Các tập tin đã bao gồm một truy vấn mà tôi sử dụng cho người mà tôi thực hiện điều này:

Mã:
<?php

class ExtendUserUpgrade_UserUpgradeModel extends XFCP_ExtendUserUpgrade_UserUpgradeModel
{
    public function upgradeUser($userId, array $upgrade, $allowInsertUnpurchasable = false, $endDate = null)
    {
        $retval = parent::upgradeUser($userId, $upgrade, $allowInsertUnpurchasable, $endDate);

        $db = XenForo_Application::get('db');

        $db->query("
            UPDATE iConomy
            SET Balance = Balance + 3000
            WHERE username = (
                SELECT username
                FROM xf_user
                WHERE user_id = " . $userId . "
            )
        ");

        return $retval;
    }
}

Nhưng họ đã kết thúc cần để kết nối với một cơ sở dữ liệu thứ hai để cập nhật hồ sơ người dùng cho máy chủ Minecraft của họ. Dưới đây là một ví dụ với một kết nối cơ sở dữ liệu thứ hai. $db là cơ sở dữ liệu cho XenForo. $mcdb là cơ sở dữ liệu cho máy chủ Minecraft. Điều này cho phép họtruy vấn cả cơ sở dữ liệu để cập nhật các giá trị điểm:
Mã:
<?php

class ExtendUserUpgrade_UserUpgradeModel extends XFCP_ExtendUserUpgrade_UserUpgradeModel
{
    public function upgradeUser($userId, array $upgrade, $allowInsertUnpurchasable = false, $endDate = null)
    {
        $retval = parent::upgradeUser($userId, $upgrade, $allowInsertUnpurchasable, $endDate);

        $db = XenForo_Application::get('db');
        $mcdb = new Zend_Db_Adapter_Pdo_Mysql(array(
            'host'     => 'localhost',
            'username' => 'dbuser',
            'password' => 'dbpass',
            'dbname'   => 'dbname'
        ));

        $username = $db->fetchOne("
            SELECT username
            FROM xf_user
            WHERE user_id = " . $userId . "
        ");

        $mcdb->query("
            UPDATE iConomy
            SET Balance = Balance + 3000
            WHERE username = '" . addslashes($username) . "'
        ");

        return $retval;
    }
}

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


Nguồn: xenforo.com​
 

Đính kèm

  • ExtendUserUpgrade.zip
    4.3 KB · Lượt xem: 1

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