Я нахожусь в процессе создания несколько Whmcs модулей, один из модулей для обработки счета-фактуры в нашей собственной системе бухгалтерского учета использует внутренний API WHMCS как:Как установить атрибут администратора в модуле WHMCS аддона
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
, но какое это значение должно быть? Должен ли я установить его на существующее имя администратора системы? Или есть ли имя пользователя, которое вы всегда можете использовать?
Если это должно быть имя пользователя системного администратора, как другие люди знают, что они должны изменить это, прежде чем интегрировать модуль?
Мм, это хорошая идея, должен ли быть предоставлен 1 как строка («1») или как целое число? Спасибо в любом случае за идею! –
Я думаю, что вы безопасно предоставляете его как строку, но в таблице предполагается, что это целое число, поэтому я бы предположил, что он задан как целое число. Вы можете проверить значение сеанса идентификатора пользователя admin, когда вы вошли в систему, - по умолчанию он соответствует зарегистрированному идентификатору, если вы его не укажете. Если я не ошибаюсь, вы также можете указать фактическое имя пользователя, и оно будет правильно использовать это, но это затрудняет распространение. – muely2k1