Написал для них функции:
Код: Выделить всё
function rpcf_user5_get_tel_report($start_date, $end_date) { //-0x4099
if (!$this->connection->urfa_call(-0x4099)) {
print "Error calling function ". __FUNCTION__ ."\n";
return FALSE;
}
$packet = $this->connection->getPacket();
// Input
$packet->DataSetInt($start_date);
$packet->DataSetInt($end_date);
$this->connection->urfa_send_param($packet);
// Reqest to server
if (!$x = $this->connection->urfa_get_data())
{
return array();
}
// Output
$result_arr = array();
$result_arr['accounts_size'] = $x->DataGetInt();
for ($i=0; $i < $result_arr['accounts_size']; $i++)
{
$x = $this->connection->urfa_get_data();
$accounts_arr = array();
$accounts_arr['dhs_log_size'] = $x->DataGetInt();
for ($j=0; $j < $accounts_arr['dhs_log_size']; $i++)
{
$x = $this->connection->urfa_get_data();
$dhs = array();
$dhs['recv_date'] = $x->DataGetInt();
$dhs['recv_date_plus_acct_sess_time'] = $x->DataGetInt();
$dhs['acct_sess_time'] = $x->DataGetInt();
$dhs['Calling_Station_Id'] = $x->DataGetString();
$dhs['Called_Station_Id'] = $x->DataGetString();
$dhs['dname'] = $x->DataGetString();
$dhs['total_cost'] = $x->DataGetDouble();
$accounts_arr['dhs'][] = $dhs;
}
$result_arr[] = $accounts_arr;
}
$this->connection->urfa_get_data();
return $result_arr;
}
Код: Выделить всё
function rpcf_get_tel_report($user_id, $account_id, $apid, $time_start, $time_end) { //0x5018
if (!$this->connection->urfa_call(0x5018)) {
print "Error calling function ". __FUNCTION__ ."\n";
return FALSE;
}
$packet = $this->connection->getPacket();
// Input
$packet->DataSetInt($user_id);
$packet->DataSetInt($account_id);
$packet->DataSetInt($apid);
$packet->DataSetInt($time_start);
$packet->DataSetInt($time_end);
// Reqest to server
$this->connection->urfa_send_param($packet);
if (!$x = $this->connection->urfa_get_data())
{
return array();
}
// Output
$result_arr = array();
$result_arr['dhs_log_size'] = $x->DataGetInt();
for ($i=0; $i < $result_arr['dhs_log_size']; $i++)
{
$x = $this->connection->urfa_get_data();
$accounts_arr = array();
$accounts_arr['count'] = $x->DataGetInt();
for ($j=0; $j < $accounts_arr['count']; $i++)
{
$x = $this->connection->urfa_get_data();
$dhs = array();
$dhs['id'] = $x->DataGetInt();
$dhs['account_id'] = $x->DataGetInt();
$dhs['slink_id'] = $x->DataGetInt();
$dhs['recv_date'] = $x->DataGetInt();
$dhs['acct_sess_time_plus_recv_date'] = $x->DataGetInt();
$dhs['Called_Station_Id'] = $x->DataGetString();
$dhs['Calling_Station_Id'] = $x->DataGetString();
$dhs['nas_port'] = $x->DataGetInt();
$dhs['acct_session_id'] = $x->DataGetString();
$dhs['nas_port_type'] = $x->DataGetInt();
$dhs['uname'] = $x->DataGetString();
$dhs['service_type'] = $x->DataGetInt();
$dhs['framed_protocol'] = $x->DataGetInt();
$dhs['nas_ip'] = $x->DataGetInt();
$dhs['nas_id'] = $x->DataGetString();
$dhs['acct_status_type'] = $x->DataGetInt();
$dhs['acct_inp_pack'] = $x->DataGetLong();
$dhs['acct_inp_oct'] = $x->DataGetLong();
$dhs['acct_out_pack'] = $x->DataGetLong();
$dhs['acct_out_oct'] = $x->DataGetLong();
$dhs['zone_id'] = $x->DataGetInt();
$dhs['did'] = $x->DataGetInt();
$dhs['acct_sess_time'] = $x->DataGetLong();
$dhs['dcause'] = $x->DataGetString();
$dhs['duration'] = $x->DataGetLong();
$dhs['base_cost'] = $x->DataGetDouble();
$dhs['sum_cost'] = $x->DataGetDouble();
$accounts_arr['dhs'][] = $dhs;
}
$result_arr[] = $accounts_arr;
}
$this->connection->urfa_get_data();
return $result_arr;
}
Код: Выделить всё
$urfa_admin = new URFAClient_Admin('init', 'init', 'xx.xx.xx.xx', '11758', false);
$accountinfo = $urfa_admin->rpcf_get_tel_report(0, 0, 0, '19.02.2007 00:00:00', '20.02.2009 00:00:00');
echo '<b>rpcf_get_tel_report</b><br/>';
var_dump($accountinfo);
$urfa_user5 = $urfa_admin->getURFAClient_User5('0101', '1234', false);
$accountinfo = $urfa_user5->rpcf_user5_get_tel_report('19.02.2007 00:00:00', '20.02.2009 00:00:00');
echo '<b>rpcf_user5_get_tel_report</b><br/>';
var_dump($accountinfo);
Код: Выделить всё
rpcf_get_tel_report
array(1) {
["dhs_log_size"]=>
int(0)
}
rpcf_user5_get_tel_report
array(2) {
["accounts_size"]=>
int(1)
[0]=>
array(1) {
["dhs_log_size"]=>
int(0)
}
}
Верно ли я все сделал?
Также вопрос в тему:
Что такое $apid?