Добавление IP зоны в справочник.
Значение zone_id | Комментарий |
---|---|
0 | |
ID уже существующей в справочнике записи | запись обновляется |
ID несуществующий записи. | Запись в справочник не добавляется, но список IP адресов - сохраняется в базе. Будьте осторожны. |
Функции удаления записи из справочника нет.
<function name="rpcf_add_ipzone" id="0x2801"> <input> <integer name="id" /> <string name="name" /> <integer name="count" /> <for name="i" from="0" count="count"> <ip_address name="net" array_index="i" /> <ip_address name="mask" array_index="i" /> <ip_address name="gateaway" array_index="i" /> </for> </input> <output> <integer name="id" /> </output> </function>
function rpcf_add_ipzone($zone_id, $zone_name, $subnets) { //0x2801 $ret=array(); if (!$this->connection->urfa_call(0x2801)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $packet = $this->connection->getPacket(); $packet->DataSetInt($zone_id); $packet->DataSetString($zone_name); $packet->DataSetInt(count($subnets)); # count foreach ($subnets as $val) { $packet->DataSetIPAddress($val['net']); $packet->DataSetIPAddress($val['mask']); $packet->DataSetIPAddress($val['gateway']); } $this->connection->urfa_send_param($packet); if ($x = $this->connection->urfa_get_data()) { $code=$x->DataGetInt(); #id } $this->connection->urfa_get_data(); return $code; }