Ждем тогда. Пока для своего личного кабинета пишу функции, потом если вдруг понадобится переделать - переделаю и выложу.Kayfolom писал(а):Конечно, но сначала надо дождаться окончательного варианта обвязки кода от создателя urfa php, чтоб потом еще раз не переделывать.
urfaclient на php
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
Код: Выделить всё
PHP Fatal error: Uncaught exception 'Exception' with message 'Error code 35' in /usr/local/www/urfa/URFAClient_Packet.php:27
Stack trace:
#0 /usr/local/www/urfa/URFAClient_Connection.php(145): URFAClient_Packet->read()
#1 /usr/local/www/urfa/URFAClient_User5.php(810): URFAClient_Connection->urfa_get_data()
#2 /usr/local/www/urfa/report.php(24): URFAClient_User5->rpcf_user5_service_report(1228724306, 1239175106)
#3 {main}
thrown in /usr/local/www/urfa/URFAClient_Packet.php on line 27
Urfa_get_data новая.
Может из-за слишком долгого формирования отчета такую фигню чудить?
Ошибку генерит вот эта строка:mikkey finn писал(а):Это к чему бы? С тестовым ядро работает, с обычным - не хочет.Код: Выделить всё
PHP Fatal error: Uncaught exception 'Exception' with message 'Error code 35' in /usr/local/www/urfa/URFAClient_Packet.php:27 Stack trace: #0 /usr/local/www/urfa/URFAClient_Connection.php(145): URFAClient_Packet->read() #1 /usr/local/www/urfa/URFAClient_User5.php(810): URFAClient_Connection->urfa_get_data() #2 /usr/local/www/urfa/report.php(24): URFAClient_User5->rpcf_user5_service_report(1228724306, 1239175106) #3 {main} thrown in /usr/local/www/urfa/URFAClient_Packet.php on line 27
Urfa_get_data новая.
Может из-за слишком долгого формирования отчета такую фигню чудить?
Код: Выделить всё
if ($this->version != ord(fread($this->sock, 1))) {
throw new Exception("Error code " . ord(fread($this->sock, 1)));
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
Код: Выделить всё
function rpcf_user5_service_report($start_date,$end_date) { //-0x4011
$ret=array();
if (!$this->connection->urfa_call(-0x4011)) {
print "Error calling function ". __FUNCTION__ ."\n";
return FALSE;
}
$packet = $this->connection->getPacket();
$packet->DataSetInt($start_date);
$packet->DataSetInt($end_date);
$this->connection->urfa_send_param($packet);
if ($x = $this->connection->urfa_get_data()) {
$ret['aids_size'] = $x->DataGetInt();
for ($i=0;$i<$ret['aids_size'];$i++) {
$services['asr_size'] = $x->DataGetInt();
for($j=0;$j<$services['asr_size'];$j++){
$services['asr_size_array'][$j]['account_id'] = $x->DataGetInt();
$services['asr_size_array'][$j]['discount_date'] = $x->DataGetInt();
$services['asr_size_array'][$j]['discount'] = $x->DataGetDouble();
$services['asr_size_array'][$j]['discount_with_tax'] = $x->DataGetDouble();
$services['asr_size_array'][$j]['service_name'] = $x->DataGetString();
$services['asr_size_array'][$j]['service_type'] = $x->DataGetInt();
$services['asr_size_array'][$j]['comment'] = $x->DataGetString();
}
$ret['services'][]=$services;
}
}
return $ret;
}
Код: Выделить всё
function rpcf_payments_report($time_start, $time_end) { //0x3003
$ret=array();
if (!$this->connection->urfa_call(0x3003)) {
print "Error calling function ". __FUNCTION__ ."\n";
return FALSE;
}
$packet=$this->connection->getPacket();
$packet->DataSetInt(0);
$packet->DataSetInt(0);
$packet->DataSetInt(0);
$packet->DataSetInt(0);
$packet->DataSetInt($time_start);
$packet->DataSetInt($time_end);
$this->connection->urfa_send_param($packet);
if($x = $this->connection->urfa_get_data()){
if ($x->DataGetInt())
{
$ret['atr_size']=$x->DataGetInt();
for($j=0;$j<$ret['atr_size'];$j++)
{
$x = $this->connection->urfa_get_data();
$ret[$j]['id']=$x->DataGetInt();
$ret[$j]['account_id']=$x->DataGetInt();
$ret[$j]['login']=$x->DataGetString();
$ret[$j]['actual_date']=$x->DataGetInt();
$ret[$j]['payment_enter_date']=$x->DataGetInt();
$ret[$j]['payment']=$x->DataGetDouble();
$ret[$j]['payment_incurrency']=$x->DataGetDouble();
$ret[$j]['currency_id']=$x->DataGetInt();
$ret[$j]['method']=$x->DataGetInt();
$ret[$j]['who_received']=$x->DataGetInt();
$ret[$j]['admin_comment']=$x->DataGetString();
$ret[$j]['payment_ext_number']=$x->DataGetString();
}
$x = $this->connection->urfa_get_data();
}
}
return $ret;
}
Может тогда определится с ядром?ds писал(а):Я не в состоянии протестировать сам все функции. С ядром проблем нет. А функции тестируются и выкладываются в вики у Kayfolomаctyz писал(а):Вопрос к ds.
Примерные сроки релиза, или будет всегда бета пока не будут испытаны все функции utm ?
Вопроса несколько :
1. Используем новую функцию get_data? Видимо да, ибо это хорошо

2. Обработка ошибок exception или возврат параметра error? Как я понял, не у меня одного эксепшины не всегда корректно работают. На вики версия ядра модифицирована мной для возврата error с помощью переменной. На каком варианте останавливаемся?
3. ООП или Процедуры? Думаю ООП победило ?