如何在 WHMCS 插件模块中设置管理属性

How to set the admin attribute in a WHMCS addon module

我正在创建几个 WHMCS 模块,其中一个在我们自己的簿记系统中处理发票的模块使用 WHMCS 内部 API,例如:

add_hook('InvoicePaid', 1, function ($params) 
{
    $invoiceid = $params['invoiceid'];

    $command = "getinvoice";
    $adminuser = "";
    $values["invoiceid"] = $invoiceid;
    $results = localAPI($command,$values,$adminuser);
    if ($results['result']!="success") echo "An Error Occurred: ".$results['result'];
    //get netto price and description of first item
    $netto = $results['subtotal'];
    $desc = $results['items']["item"][0]["description"];

    //... other code not needed for question.
}

通过创建发票并将其设置为由管理员用户支付来手动测试该模块,在这种情况下它可以工作并且处理价格和描述。
但是,当普通用户支付发票时,该模块将 $netto$desc 都作为空字符串提供。

我怀疑这是因为 $adminuser 参数为空,但它应该是什么值?我是否必须将其设置为系统的现有管理员用户名?或者是否有您可以随时使用的用户名?

如果它必须是系统管理员用户名,其他人怎么知道他们必须在集成模块之前更改它?

您需要有一个 $adminuser。我相信您几乎可以在 90% 的情况下假设 admin id 为 1 对大多数设置都是有效的。在我的模块中,我在设置中有一个字段,客户可以在其中 select 使用哪一个,如果他们还没有保存任何东西,它默认使用 1。