如何在 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。
我正在创建几个 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。