Пытаюсь настроить под свои нужды PHP версию web-интерфейса, сборка 5.2.1-008.
В файле modules\00_user.php для всех выводимых полей информации об абоненте данные считываются так (№ телефона, например):
$this->user['mobile_telephone'] = $this->urfa->get_string();
Добавляю свою строчку:
$this->user['email'] = $this->urfa->get_string();
Получаю ошибки:
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /.../htdocs/_testbill/lib/urfa.php on line 466
URFA error: get_double: size != 8
URFA error: get: attr code != RA_DATA
-
Как добавить поле с мейлом абонента?
web-интерфейс - как добавить поле с E-mail абонента
-
- Сообщения: 10
- Зарегистрирован: Ср июн 06, 2012 15:54
Re: web-интерфейс - как добавить поле с E-mail абонента
Судя по описанию урфа-функции rpcf_user5_get_user_info, поле email в ней отсутствует. Так что придется брать email или из БД, или записать его в другое поле, например, в ИНН и переименовать ИНН в email.dolgopainfo писал(а):Пытаюсь настроить под свои нужды PHP версию web-интерфейса, сборка 5.2.1-008.
В файле modules\00_user.php для всех выводимых полей информации об абоненте данные считываются так (№ телефона, например):
$this->user['mobile_telephone'] = $this->urfa->get_string();
Добавляю свою строчку:
$this->user['email'] = $this->urfa->get_string();
Получаю ошибки:
Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in /.../htdocs/_testbill/lib/urfa.php on line 466
URFA error: get_double: size != 8
URFA error: get: attr code != RA_DATA
-
Как добавить поле с мейлом абонента?
-
- Сообщения: 10
- Зарегистрирован: Ср июн 06, 2012 15:54
Смотрите в api.xml биллинга лучше!
или (если кто использует доп. контакты)
Код: Выделить всё
<function name="rpcf_get_user_contacts" id="0x2021">
<input>
<integer name="user_id" />
</input>
<output>
<integer name="size" />
<for name="i" from="0" count="size">
<integer name="id" array_index="i" />
<string name="person" array_index="i" />
<string name="descr" array_index="i" />
<string name="contact" array_index="i" />
<string name="email" array_index="i" />
<integer name="email_notify" array_index="i" />
<string name="short_name" array_index="i" />
<string name="birthday" array_index="i" />
<integer name="id_exec_man" array_index="i" />
</for>
</output>
</function>
Код: Выделить всё
<function name="rpcf_get_user_contacts_new" id="0x2040">
<input>
<integer name="user_id" />
</input>
<output>
<integer name="size" />
<for name="i" from="0" count="size">
<integer name="id" array_index="i" />
<string name="descr" array_index="i" />
<string name="reason" array_index="i" />
<string name="person" array_index="i" />
<string name="short_name" array_index="i" />
<string name="contact" array_index="i" />
<string name="email" array_index="i" />
<integer name="id_exec_man" array_index="i" />
</for>
</output>
</function>
Да, скорее всего Вы правы, т.к. при вызове функций ни чего не происходит, хотя странно, ведь пользователь web находится в системной группе wheel, так же, как и init. Или init тоже урезан по функциям? Где об этом можно почитать?rudf писал(а):выше вы указали администраторские функции, а стоковый web умеет только user5_* функции, если не использовать urfa-php.
Могу только догадываться, что это внутреннее ограничение биллинга, возможно связанное с отсутствием лицензии на urfaclient. Не знаю, где это можно прочитать, но предыдущие опыты показали именно этот результат.lan-viper писал(а):Да, скорее всего Вы правы, т.к. при вызове функций ни чего не происходит, хотя странно, ведь пользователь web находится в системной группе wheel, так же, как и init. Или init тоже урезан по функциям? Где об этом можно почитать?rudf писал(а):выше вы указали администраторские функции, а стоковый web умеет только user5_* функции, если не использовать urfa-php.