function renderNewSLBItemForm($realm1, $realm2) { /** * Returns a list of values, a human readable name and options * for the selecttag for a given realm. */ function get_realm_data($realm) { $name = NULL; $list = array(); $options = array(); switch ($realm) { case 'object': $name = 'Load balancer'; $list = getNarrowObjectList('IPV4LB_LISTSRC'); $options = array('name' => 'object_id'); break; case 'ipv4vs': $name = 'Virtual service'; $list = formatEntityList(listCells('ipv4vs')); $options = array('name' => 'vs_id'); break; case 'ipv4rspool': $name = 'RS pool'; $list = formatEntityList(listCells('ipv4rspool')); $options = array('name' => 'pool_id'); break; default: throw new InvalidArgException('realm', $realm); } return array('name' => $name, 'list' => $list, 'options' => $options); } $realm1_data = get_realm_data($realm1); $realm2_data = get_realm_data($realm2); startPortlet('Add new'); echo "<table cellspacing=0 cellpadding=5 align=center>"; if (count($realm1_data['list']) && count($realm2_data['list'])) { printOpFormIntro('addLB'); } echo "<tr valign=top><th class=tdright>{$realm1_data['name']}</th><td class=tdleft>"; printSelect($realm1_data['list'], $realm1_data['options']); echo '</td><td class=tdcenter valign=middle rowspan=2>'; if (count($realm1_data['list']) && count($realm2_data['list'])) { printImageHREF('ADD', 'Configure LB', TRUE); } else { $names = array(); if (!count($realm1_data['list'])) { $names[] = 'a ' . $realm1_data['name']; } if (!count($realm2_data['list'])) { $names[] = 'a ' . $realm2_data['name']; } $message = 'Please create ' . implode(' and ', $names) . '.'; showNotice($message); printImageHREF('DENIED', $message, FALSE); } echo "<tr valign=top><th class=tdright>{$realm2_data['name']}</th><td class=tdleft>"; printSelect($realm2_data['list'], $realm2_data['options']); echo "</td></tr>\n"; echo "<tr><th class=tdright>VS config</th><td colspan=2><textarea name=vsconfig rows=10 cols=80></textarea></td></tr>"; echo "<tr><th class=tdright>RS config</th><td colspan=2><textarea name=rsconfig rows=10 cols=80></textarea></td></tr>"; echo "<tr><th class=tdright>Priority</th><td class=tdleft colspan=2><input name=prio size=10></td></tr>"; echo "</form></table>\n"; finishPortlet(); }
function renderNewTripletForm($realm1, $realm2) { function get_realm_data($realm) { $name = NULL; $list = array(); $options = array(); switch ($realm) { case 'object': $name = 'Load balancer'; $list = getNarrowObjectList('IPV4LB_LISTSRC'); $options = array('name' => 'object_id'); break; case 'ipvs': $name = 'Virtual service'; $list = formatEntityList(listCells('ipvs')); $options = array('name' => 'vs_id'); break; case 'ipv4rspool': $name = 'RS pool'; $list = formatEntityList(listCells('ipv4rspool')); $options = array('name' => 'rspool_id'); break; default: throw new InvalidArgException('realm', $realm); } return array('name' => $name, 'list' => $list, 'options' => $options); } $realm1_data = get_realm_data($realm1); $realm2_data = get_realm_data($realm2); startPortlet('Add new VS group'); if (count($realm1_data['list']) && count($realm2_data['list'])) { printOpFormIntro('addLink'); } echo "<table cellspacing=0 cellpadding=5 align=center>"; echo "<tr valign=top><th class=tdright>{$realm1_data['name']}</th><td class=tdleft>"; printSelect($realm1_data['list'], $realm1_data['options']); echo '</td><td class=tdcenter valign=middle rowspan=2>'; if (count($realm1_data['list']) && count($realm2_data['list'])) { printImageHREF('ADD', 'Configure LB', TRUE); } else { $names = array(); if (!count($realm1_data['list'])) { $names[] = 'a ' . $realm1_data['name']; } if (!count($realm2_data['list'])) { $names[] = 'a ' . $realm2_data['name']; } $message = 'Please create ' . implode(' and ', $names) . '.'; showNotice($message); printImageHREF('DENIED', $message, FALSE); } echo "<tr valign=top><th class=tdright>{$realm2_data['name']}</th><td class=tdleft>"; printSelect($realm2_data['list'], $realm2_data['options']); echo "</td></tr>\n"; echo "</table></form>\n"; finishPortlet(); }