function renderUserProperties($user_id) { printOpFormIntro('edit'); echo '<table border=0 align=center>'; echo "<tr><th class=tdright>Tags:</th><td class=tdleft>"; printTagsPicker(); echo "</td></tr>\n"; echo "<tr><th class=submit colspan=2>"; printImageHREF('SAVE', 'Save changes', TRUE); echo '</th></tr></table></form>'; }
function renderEditVService($vsid) { $vsinfo = spotEntity('ipv4vs', $vsid); printOpFormIntro('updIPv4VS'); echo '<table border=0 align=center>'; echo "<tr><th class=tdright>VIP:</th><td class=tdleft><input type=text name=vip value='{$vsinfo['vip']}'></td></tr>\n"; echo "<tr><th class=tdright>Port:</th><td class=tdleft><input type=text name=vport value='{$vsinfo['vport']}'></td></tr>\n"; echo "<tr><th class=tdright>Proto:</th><td class=tdleft>"; global $vs_proto; printSelect($vs_proto, array('name' => 'proto'), $vsinfo['proto']); echo "</td></tr>\n"; echo "<tr><th class=tdright>Name:</th><td class=tdleft><input type=text name=name value='{$vsinfo['name']}'></td></tr>\n"; echo "<tr><th class=tdright>Tags:</th><td class=tdleft>"; printTagsPicker(); echo "</td></tr>\n"; echo "<tr><th class=tdright>VS config:</th><td class=tdleft><textarea name=vsconfig rows=20 cols=80>{$vsinfo['vsconfig']}</textarea></td></tr>\n"; echo "<tr><th class=tdright>RS config:</th><td class=tdleft><textarea name=rsconfig rows=20 cols=80>{$vsinfo['rsconfig']}</textarea></td></tr>\n"; echo "<tr><th class=submit colspan=2>"; printImageHREF('SAVE', 'Save changes', TRUE); echo "</td></tr>\n"; echo "</table></form>\n"; // delete link echo '<p class="centered">'; if ($vsinfo['refcnt'] > 0) { echo getOpLink(NULL, 'Delete virtual service', 'nodestroy', "Could not delete: there are {$vsinfo['refcnt']} LB links"); } else { echo getOpLink(array('op' => 'del', 'id' => $vsinfo['id']), 'Delete virtual service', 'destroy'); } }
function renderNewVSGForm() { startPortlet('Add new VS group'); printOpFormIntro('add'); echo '<table border=0 cellpadding=5 cellspacing=0 align=center>'; echo '<tr valign=bottom><th>Name:</th><td class="tdleft">'; echo '<input type=text name=name></td></tr>'; echo '<tr><th>Tags:</th><td class="tdleft">'; printTagsPicker(); echo '</td></tr>'; echo '</table>'; printImageHREF('CREATE', 'create virtual service', TRUE); echo '</form>'; finishPortlet(); }
function renderVSTRulesEditor($vst_id) { $vst = spotEntity('vst', $vst_id); amplifyCell($vst); if ($vst['rulec']) { $source_options = array(); } else { $source_options = array(); foreach (listCells('vst') as $vst_id => $vst_info) { if ($vst_info['rulec']) { $source_options[$vst_id] = stringForLabel('(' . $vst_info['rulec'] . ') ' . $vst_info['description']); } } } addJS('js/vst_editor.js'); echo '<center><h1>' . stringForLabel($vst['description']) . '</h1></center>'; if (count($source_options)) { startPortlet('clone another template'); printOpFormIntro('clone'); echo '<input type=hidden name="mutex_rev" value="' . $vst['mutex_rev'] . '">'; echo '<table cellspacing=0 cellpadding=5 align=center class=widetable>'; echo '<tr><td>' . getSelect($source_options, array('name' => 'from_id')) . '</td>'; echo '<td>' . getImageHREF('COPY', 'copy from selected', TRUE) . '</td></tr></table></form>'; finishPortlet(); startPortlet('add rules one by one'); } printOpFormIntro('upd'); echo '<table cellspacing=0 cellpadding=5 align=center class="widetable template-rules">'; echo "<tr><th class=tdright>Tags:</th><td class=tdleft style='border-top: none;'>"; printTagsPicker(); echo "</td></tr>"; echo '<tr><th></th><th>sequence</th><th>regexp</th><th>role</th>'; echo '<th>VLAN IDs</th><th>comment</th><th><a href="#" class="vst-add-rule initial">' . getImageHREF('add', 'Add rule') . '</a></th></tr>'; global $port_role_options; $row_html = '<td><a href="#" class="vst-del-rule">' . getImageHREF('destroy', 'delete rule') . '</a></td>'; $row_html .= '<td><input type=text name=rule_no value="%s" size=3></td>'; $row_html .= '<td><input type=text name=port_pcre value="%s"></td>'; $row_html .= '<td>%s</td>'; $row_html .= '<td><input type=text name=wrt_vlans value="%s"></td>'; $row_html .= '<td><input type=text name=description value="%s"></td>'; $row_html .= '<td><a href="#" class="vst-add-rule">' . getImageHREF('add', 'Duplicate rule') . '</a></td>'; addJS("var new_vst_row = '" . addslashes(sprintf($row_html, '', '', getSelect($port_role_options, array('name' => 'port_role'), 'anymode'), '', '')) . "';", TRUE); startSession(); foreach (isset($_SESSION['vst_edited']) ? $_SESSION['vst_edited'] : $vst['rules'] as $item) { printf('<tr>' . $row_html . '</tr>', $item['rule_no'], htmlspecialchars($item['port_pcre'], ENT_QUOTES), getSelect($port_role_options, array('name' => 'port_role'), $item['port_role']), $item['wrt_vlans'], $item['description']); } echo '</table>'; echo '<input type=hidden name="template_json">'; echo '<input type=hidden name="mutex_rev" value="' . $vst['mutex_rev'] . '">'; echo '<center>' . getImageHref('SAVE', 'Save template', TRUE) . '</center>'; echo '</form>'; if (isset($_SESSION['vst_edited'])) { // draw current template renderVSTRules($vst['rules'], 'currently saved tamplate'); unset($_SESSION['vst_edited']); } session_commit(); if (count($source_options)) { finishPortlet(); } }