==== XML ====
==== PHP ====
function rpcf_user5_dhs_report($start_date, $end_date)
{ //-0x4017
$ret=array();
if (!$this->connection->urfa_call(-0x4017))
{
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['dhs_log_size'] = $x->DataGetInt();
for ($i=0; $i<$ret['dhs_log_size']; $i++)
{
$x = $this->connection->urfa_get_data();
$session['id'] = $x->DataGetInt();
$session['account_id'] = $x->DataGetInt();
$session['slink_id'] = $x->DataGetInt();
$session['recv_date'] = $x->DataGetInt();
$session['last_update_date'] = $x->DataGetInt();
$session['framed_ip'] = $x->DataGetIPAddress();
$session['nas_port'] = $x->DataGetInt();
$session['acct_session_id'] = $x->DataGetString();
$session['nas_port_type'] = $x->DataGetInt();
$session['uname'] = $x->DataGetString();
$session['service_type'] = $x->DataGetInt();
$session['framed_protocol'] = $x->DataGetInt();
$session['nas_ip'] = $x->DataGetIPAddress();
$session['nas_id'] = $x->DataGetString();
$session['acct_status_type'] = $x->DataGetInt();
$session['acct_inp_pack'] = $x->DataGetLong();
$session['acct_inp_oct'] = $x->DataGetLong();
$session['acct_out_pack'] = $x->DataGetLong();
$session['acct_out_oct'] = $x->DataGetLong();
$session['acct_sess_time'] = $x->DataGetLong();
$session['dhs_sessions_detail_size'] = $x->DataGetInt();
$x = $this->connection->urfa_get_data();
for($j=0;$j<$session['dhs_sessions_detail_size'];$j++)
{
$session['dhs_sessions_detail_list'][$j]['trange_id'] = $x->DataGetInt();
$session['dhs_sessions_detail_list'][$j]['account_id'] = $x->DataGetInt();
$session['dhs_sessions_detail_list'][$j]['duration'] = $x->DataGetLong();
$session['dhs_sessions_detail_list'][$j]['base_cost'] = $x->DataGetDouble();
$session['dhs_sessions_detail_list'][$j]['sum_cost'] = $x->DataGetDouble();
}
$ret['sessions'][]=$session;
}
}
return $ret;
}