function _ips_resolve_all($service_id) { $service = get_service($service_id); $ips = get_vm_ips($service_id); // resolve base ips after upgrade $ips_count = $service['configoption18'] - count($ips['base']); for ($i = 0; $i < $ips_count; $i++) { if (count($ips['notresolved']) > 0) { $notresolvedip = array_shift($ips['notresolved']); _action_ip_setbase($service_id, $notresolvedip->_id); } else { _action_ip_add($service_id, 1); } $ips = get_vm_ips($service_id); } // resolve base ips after downgrade if (count($ips['base']) > $service['configoption18']) { $ips_count = count($ips['base']) - $service['configoption18']; $remove = array(); for ($i = 0; $i < $ips_count; $i++) { $ip = array_pop($ips['base']); $remove[] = $ip->_id; } $sql_delete_ips_base = "DELETE FROM tblonappips WHERE\n serviceid = '{$service_id}'\n and ipid in (" . implode(',', $remove) . ")"; full_query($sql_delete_ips_base); $ips = get_vm_ips($service_id); } // resolve additional ips after upgrade $ips_count = $service['additionalips'] - count($ips['additional']); for ($i = 0; $i < $ips_count; $i++) { if (count($ips['notresolved']) > 0) { $notresolvedip = array_shift($ips['notresolved']); _action_ip_setadditional($service_id, $notresolvedip->_id); } else { _action_ip_add($service_id, 0); } $ips = get_vm_ips($service_id); } // resolve additional ips after downgrade if (count($ips['additional']) > $service['additionalips']) { $ips_count = count($ips['additional']) - $service['additionalips']; $remove = array(); for ($i = 0; $i < $ips_count; $i++) { $ip = array_pop($ips['additional']); $remove[] = $ip->_id; } $sql_delete_ips_base = "DELETE FROM tblonappips WHERE\n serviceid = '{$service_id}'\n and ipid in (" . implode(',', $remove) . ")"; full_query($sql_delete_ips_base); $ips = get_vm_ips($service_id); } // remove not resolved IPs foreach ($ips['notresolved'] as $ip) { _action_ip_delete($service_id, $ip->_id); } update_service_ips($service_id); }
/** * Show virtual machine addresses */ function productipaddresses() { global $_ONAPPVARS, $_LANG; foreach (array('ipid') as $val) { $_ONAPPVARS[$val] = get_value($val); } $action = $_ONAPPVARS['action']; if (!is_null($action) && $action != "") { switch ($action) { case 'setbase': $return = _action_ip_setbase($_ONAPPVARS['id'], $_ONAPPVARS['ipid']); break; case 'setadditional': $return = _action_ip_setadditional($_ONAPPVARS['id'], $_ONAPPVARS['ipid']); break; case 'assignbase': $return = _action_ip_add($_ONAPPVARS['id'], 1); break; case 'assignadditional': $return = _action_ip_add($_ONAPPVARS['id'], 0); break; case 'resolveall': $return = _ips_resolve_all($_ONAPPVARS['id']); break; case 'delete': $return = _action_ip_delete($_ONAPPVARS['id'], $_ONAPPVARS['ipid']); break; default: $_ONAPPVARS['error'] = sprintf($_LANG["onappactionnotfound"], $action); break; } } if (isset($return)) { if (isset($return['error'])) { $_ONAPPVARS['error'] = $return['error']; } else { redirect(ONAPP_FILE_NAME . "?page=ipaddresses&id=" . $_ONAPPVARS['id']); } } clientareaipaddresses(); }