<function name="rpcf_get_house" id="0x2812"> <input> <integer name="house_id" /> </input> <output> <integer name="house_id" /> <integer name="connect_date" /> <string name="post_code" /> <string name="country" /> <string name="region" /> <string name="city" /> <string name="street" /> <string name="number" /> <string name="building" /> <integer name="count" /> <for name="i" from="0" count="count"> <integer name="ipzone_id" array_index="i" /> <string name="ipzone_name" array_index="i" /> </for> </output> </function>
function rpcf_get_house($house_id) { // 0x2812 $ret=array(); if (!$this->connection->urfa_call(0x2812)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $packet = $this->connection->getPacket(); $packet->DataSetInt($house_id); $this->connection->urfa_send_param($packet); $x = $this->connection->urfa_get_data(); $ret['house_id'] = $x->DataGetInt(); $ret['connect_date'] = $x->DataGetInt(); $ret['post_code'] = $x->DataGetString(); $ret['country'] = $x->DataGetString(); $ret['region'] = $x->DataGetString(); $ret['city'] = $x->DataGetString(); $ret['street'] = $x->DataGetString(); $ret['number'] = $x->DataGetString(); $ret['building'] = $x->DataGetString(); $ret['count'] = $x->DataGetInt(); for ($i=0;$i<$ret['count'];$i++) { #$x = $this->connection->urfa_get_data(); $ipzone['ipzone_id'] = $x->DataGetInt(); $ipzone['ipzone_name'] = $x->DataGetString(); $ret['ipzones'][]=$ipzone; } $this->connection->urfa_get_data(); return $ret; }
При неправильно заданном house_id, может аварийно завершить главный процесс