==== XML ==== ==== PHP ==== function rpcf_user5_get_services_info($slink_id) { //-0x4024 $ret=array(); if (!$this->connection->urfa_call(-0x4024)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $packet = $this->connection->getPacket(); $packet->DataSetInt($slink_id); $this->connection->urfa_send_param($packet); $x = $this->connection->urfa_get_data(); $ret['service_type']=$x->DataGetInt(); $ret['service_id']=$x->DataGetInt(); $ret['service_name']=$x->DataGetString(); $ret['tariff_id']=$x->DataGetInt(); $ret['discounted_in_curr_period']=$x->DataGetDouble(); $ret['cost']=$x->DataGetDouble(); // $x = $this->connection->urfa_get_data(); switch ($ret['service_type']){ case "3": $ret['bytes_in_mbyte']=$x->DataGetInt(); $ret['iptsl_downloaded_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['iptsl_downloaded_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['iptsl_downloaded_size_list'][$i]['tclass']=$x->DataGetString(); $ret['iptsl_downloaded_size_list'][$i]['downloaded']=$x->DataGetLong(); } // $x = $this->connection->urfa_get_data(); $ret['iptsl_old_prepaid_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['iptsl_old_prepaid_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['iptsl_old_prepaid_size_list'][$i]['tclass']=$x->DataGetString(); $ret['iptsl_old_prepaid_size_list'][$i]['downloaded']=$x->DataGetLong(); } // $x = $this->connection->urfa_get_data(); $ret['ipgroup_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['ipgroup_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['ipgroup_size_list'][$i]['item_id']=$x->DataGetInt(); $ret['ipgroup_size_list'][$i]['ip']=$x->DataGetIPAddress(); $ret['ipgroup_size_list'][$i]['mask']=$x->DataGetIPAddress(); $ret['ipgroup_size_list'][$i]['login']=$x->DataGetString(); } // $x = $this->connection->urfa_get_data(); $ret['iptsd_borders_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['iptsd_borders_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['iptsd_borders_size_list'][$i]['tclass_name']=$x->DataGetString(); $ret['iptsd_borders_size_list'][$i]['bytes']=$x->DataGetLong(); $ret['iptsd_borders_size_list'][$i]['cost1']=$x->DataGetDouble(); $ret['iptsd_borders_size_list'][$i]['group_type']=$x->DataGetInt(); } // $x = $this->connection->urfa_get_data(); $ret['iptsd_prepaid_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['iptsd_prepaid_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['iptsd_prepaid_size_list'][$i]['tclass_name_p']=$x->DataGetString(); $ret['iptsd_prepaid_size_list'][$i]['prepaid_p']=$x->DataGetLong(); } break; case "6": $ret['tsl_numbers_size']=$x->DataGetInt(); for ($i=0;$i<=$ret['tsl_numbers_size']-1;$i++){ // $x = $this->connection->urfa_get_data(); $ret['tsl_numbers_size_list'][$i]['number']=$x->DataGetString(); $ret['tsl_numbers_size_list'][$i]['login']=$x->DataGetString(); $ret['tsl_numbers_size_list'][$i]['allowed_cid']=$x->DataGetString(); $ret['tsl_numbers_size_list'][$i]['item_id']=$x->DataGetInt(); } break; default: $ret['null_param']=$x->DataGetInt(); break; } // $this->connection->urfa_get_data(); return $ret; }