urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
Аватара пользователя
BlackJack
Сообщения: 35
Зарегистрирован: Чт янв 29, 2009 08:56
Откуда: Voskresensk

Сообщение BlackJack »

ок

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Что то давно не было новостей :) Хочеться релиз готовый, чтоб зависимые проекты дальше продвигались.

С надеждой заранее благодарю ;)

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Уже близко, времени просто нет :(

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Наконец то доработал функцию urfa_get_data. Теперь вызываем ее только один раз. Остальные повторные вызовы надо убрать. Если вызвать повторно, то функция заблокирутся на чтении. Лучше вызывать вместе с if, чтобы если она вернет false - если ничего не вернулось, не нарушилась логика.

Код: Выделить всё


if ($x = $this->connection->urfa_get_data()) {
   .....
   $id = $x->DataGetInt();
   .....
}


Вот сама функция

Код: Выделить всё

function urfa_get_data() {
    $packet = $this->getPacket();
    $packet->clean();
    while(true) {
       if (!feof($this->socket)) {
             $packet->read();
             if ($packet->AttrGetInt(4))
                 break;
              
       }
    }
    if (count($packet->data)==0)
          return FALSE;
    return $packet;
}


[/code]

hcube
Сообщения: 14
Зарегистрирован: Вт фев 10, 2009 16:33

Сообщение hcube »

Есть дурацкий вопрос. Если при вызове какой-либо функции (ну, в моем случае - rpcf_link_user_tariff) выдается сообщение Error calling function ХХХ (притом, что другие функции вызываются и отрабатывают корректно), это значит, что UTM не возвращает ожидаемого ответа, т.е. не позволяет удаленное управление этими функциями? Нужна ли перезагрузка UTM ядра для активации включенного доступа к этим функциям, или их список заново генерится для каждой сессии подключения?

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

hcube писал(а):Есть дурацкий вопрос. Если при вызове какой-либо функции (ну, в моем случае - rpcf_link_user_tariff) выдается сообщение Error calling function ХХХ (притом, что другие функции вызываются и отрабатывают корректно), это значит, что UTM не возвращает ожидаемого ответа, т.е. не позволяет удаленное управление этими функциями? Нужна ли перезагрузка UTM ядра для активации включенного доступа к этим функциям, или их список заново генерится для каждой сессии подключения?
Ну да, нет прав на вызов. Вроде меняется на лету.
Если права все таки есть, значит либо пользовательская функция вызывается из под админа или наоборот.

hcube
Сообщения: 14
Зарегистрирован: Вт фев 10, 2009 16:33

Сообщение hcube »

Если права все таки есть, значит либо пользовательская функция вызывается из под админа или наоборот.
Похоже, как раз вот этот случай. Спасибо ;-)

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Взял на себя смелость создать wiki - http://wiki.flintnet.ru/ дабы слить все функции в одно место. Вбил все админские функции какие у меня были, завтра вобью пользовательские какие есть.
У кого есть что добавить - милости прошу :)
Потом для облегчения можно сделать слив всех функций в один файл - для вставик в URFAClient_Admin.php и URFAClient_User5.php.

Новую urfa_get_data() проверил - работает отлично. Но в вики не менял, чтоб не рисковать - ибо туда вбиты 100% рабочие функции.

Davion
Сообщения: 267
Зарегистрирован: Чт дек 01, 2005 13:36

Сообщение Davion »

толи я туплю, толи там регаться надо гдето)))

Код: Выделить всё

Извините, у вас не хватает прав для этого действия. Может быть, Вы забыли войти в вики под своим именем?

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

+1

Доступ запрещен

Извините, у вас не хватает прав для этого действия. Может быть, Вы забыли войти в вики под своим именем?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Поправил права... Сделал свободный просмотр. Для правки надо всеж зарегиться - кнопка на регистрацию есть - нажимает войти и под формой ввода логина и пароля ссылка Зарегиться. Сделал чтоб хулиганы не накакали ;)

Wishmaster
Сообщения: 309
Зарегистрирован: Сб апр 16, 2005 11:44

Сообщение Wishmaster »

Kayfolom писал(а):Поправил права... Сделал свободный просмотр. Для правки надо всеж зарегиться - кнопка на регистрацию есть - нажимает войти и под формой ввода логина и пароля ссылка Зарегиться. Сделал чтоб хулиганы не накакали ;)
Возникла идея.. А может сделать project на sourceforge.net ?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Wishmaster писал(а):
Kayfolom писал(а):Поправил права... Сделал свободный просмотр. Для правки надо всеж зарегиться - кнопка на регистрацию есть - нажимает войти и под формой ввода логина и пароля ссылка Зарегиться. Сделал чтоб хулиганы не накакали ;)
Возникла идея.. А может сделать project на sourceforge.net ?
Да смысла нет. Задача дописать оставшиеся функции, воткнуть их в обертку от автора и все. Думаю проект длительного развития не предусматривает. Хотя можно, лишь бы закончить все. А то у меня личный кабинет на джумле ждет релиза и новая версия утмтрея тоже, но без окончательного варианта urfa php продолжать не могу - вдруг будут кардинальные изменения в интерфейсе, все заново переделывать тяжко.

neiks
Сообщения: 19
Зарегистрирован: Ср мар 12, 2008 11:03

Сообщение neiks »

Хорошая идея, я даже готов материально немножко помочь.

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Интерфейс я думаю в любом случае не поменяется, по крайней мере для функций. Что осталось, так это дописать оставшиеся функции, я с этим согласен. Да и менять api функций смысла нет, максимум - багофиксы.
В прикручивании xml я выигрыша не вижу. Без него код выглядит прозрачней, а при изменении api.xml, код на php все равно придется менять. Так что в ядре урфапхп изменений уже не будет.

Ответить