XML

    <function name="rpcf_user5_dhs_report" id="-0x4017">
      <input>
	  <integer name="time_start" />
	  <integer name="time_end" />
      </input>
      <output>
	     <integer name="dhs_log_size" />
	     <for name="i" from="0" count="dhs_log_size">
	          <integer name="id" array_index="i" />
		  <integer name="account_id" array_index="i" />
		  <integer name="slink_id" array_index="i" />
		  <integer name="recv_date" array_index="i" />
		  <integer name="last_update_date" array_index="i" />
		  <integer name="framed_ip" array_index="i" />
		  <integer name="nas_port" array_index="i" />
		  <string name="acct_session_id" array_index="i" />
		  <integer name="nas_port_type" array_index="i" />
		  <string name="uname" array_index="i" />
		  <integer name="service_type" array_index="i" />
		  <integer name="framed_protocol" array_index="i" />
		  <integer name="nas_ip" array_index="i" />
		  <string name="nas_id" array_index="i" />
		  <integer name="acct_status_type" array_index="i" />
		  <long name="acct_inp_pack" array_index="i" />
		  <long name="acct_inp_oct" array_index="i" />
		  <long name="acct_out_pack" array_index="i" />
		  <long name="acct_out_oct" array_index="i" />
		  <long name="acct_sess_time" array_index="i" />
		  <integer name="dhs_sessions_detail_size" />
		  <set dst="dhs_sessions_detail_size_array" src="dhs_sessions_detail_size" dst_index="i" /> 
		  <for name="j" from="0" count="dhs_sessions_detail_size">
		      <integer name="trange_id" array_index="i,j" />
		      <integer name="account_id" array_index="i,j" />
		      <long name="duration" array_index="i,j" />
		      <double name="base_cost" array_index="i,j" />
		      <double name="sum_cost" array_index="i,j" />
		  </for>
	     </for>
      </output>
    </function>

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; 
}
 
/home/u18456/wiki.flintnet.ru/www/data/pages/function_user5/function_name_rpcf_user5_dhs_report_id_-0x4017.txt · Последние изменения: 2012/02/21 11:43 От 46.42.0.100
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki