2016-01-08 8 views
0

Я нахожусь в процессе создания несколько 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

У вас должен быть $ adminuser на месте. Я полагаю, что почти 90% времени предположим, что идентификатор администратора 1 будет действителен для большинства настроек. В моих модулях у меня есть поле в настройках, где клиент может выбрать, какой из них использовать, и по умолчанию он использует 1, если они еще ничего не сохранили.

+0

Мм, это хорошая идея, должен ли быть предоставлен 1 как строка («1») или как целое число? Спасибо в любом случае за идею! –

+0

Я думаю, что вы безопасно предоставляете его как строку, но в таблице предполагается, что это целое число, поэтому я бы предположил, что он задан как целое число. Вы можете проверить значение сеанса идентификатора пользователя admin, когда вы вошли в систему, - по умолчанию он соответствует зарегистрированному идентификатору, если вы его не укажете. Если я не ошибаюсь, вы также можете указать фактическое имя пользователя, и оно будет правильно использовать это, но это затрудняет распространение. – muely2k1

 Смежные вопросы

  • Нет связанных вопросов^_^