Top menu look is now correct
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@68 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
5cc3e100e3
commit
dc3f115172
@ -1,71 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use Getopt::Long;
|
||||
|
||||
$::XCATROOT = "";
|
||||
GetOptions('web' => \$::HTML,
|
||||
'h|help' => \$::HELP);
|
||||
|
||||
if($::HELP){
|
||||
print "$0 --help prints this help message\n";
|
||||
print "$0 prints attributes with nodes\n";
|
||||
print "$0 --html prints attributes with nodes with html parameters\n\n" ;
|
||||
exit 0;
|
||||
}
|
||||
|
||||
|
||||
if(-f "/etc/sysconfig/xcat"){
|
||||
$::XCATROOT=`awk -F= '{print \$2}' /etc/sysconfig/xcat`;
|
||||
chomp($::XCATROOT);
|
||||
if($::XCATROOT eq ""){
|
||||
print "XCATROOT not defined in /etc/sysconfig/xcat!\n";
|
||||
exit;
|
||||
}
|
||||
}else{
|
||||
print "file /etc/sysconfig/xcat doesn't exist\n";
|
||||
exit;
|
||||
}
|
||||
#print "$::XCATROOT\n";
|
||||
my $f = "$::XCATROOT/etc/nodelist.tab";
|
||||
unless(-f "$f"){
|
||||
print "$f doesn't exist!\n";
|
||||
exit 1;
|
||||
}
|
||||
my $nh;
|
||||
open(FILE, "$f") or die "can't open $f!";
|
||||
while(my $line = <FILE>){
|
||||
chomp $line;
|
||||
# skip lines that start with # or with a space and then #
|
||||
if($line =~ /^\s*#/){ next; }
|
||||
|
||||
# skip lines that are blank
|
||||
if($line =~ /^$/){ next; }
|
||||
|
||||
my ($node,$attrs) = split(/\s+/, $line);
|
||||
#print "$node\n";
|
||||
my @attrs = split(/,/, $attrs);
|
||||
foreach my $a (@attrs){
|
||||
#print "$a\n";
|
||||
if($a ne ""){
|
||||
push @{$nh->{$a}}, $node;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($::HTML){ print "<ul id='nodelist'>\n"; }
|
||||
foreach (sort keys %$nh){
|
||||
if($::HTML){
|
||||
print "<li>$_\n";
|
||||
print "<ul>\n";
|
||||
foreach(sort @{$nh->{$_}}){
|
||||
print "<li>$_</li>\n";
|
||||
}
|
||||
print "</ul></li>\n";
|
||||
|
||||
}else{
|
||||
print $_ . ":\n";
|
||||
foreach(@{$nh->{$_}}){
|
||||
print "\t$_\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
if($::HTML){ print "</ul>\n"; }
|
@ -17,40 +17,36 @@ $CURRDIR = '/opt/xcat/web';
|
||||
/*-----------------------------------------------------------------------------------------------
|
||||
Function to insert the header part of the HTML and the top part of the page
|
||||
------------------------------------------------------------------------------------------------*/
|
||||
function insertHeader($title, $stylesheets, $javascripts) {
|
||||
function insertHeader($title, $stylesheets, $javascripts, $currents) {
|
||||
global $TOPDIR;
|
||||
if (!$TOPDIR) $TOPDIR = '.';
|
||||
?>
|
||||
|
||||
echo <<<EOS
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title><?php echo $title; ?></title>
|
||||
<title>$title</title>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<link rel="stylesheet" href="menu.css">
|
||||
<script type="text/javascript" src="functions.js"></script>
|
||||
<link href="style.css" rel="stylesheet">
|
||||
<script src="functions.js" type="text/javascript"></script>
|
||||
|
||||
<script type="text/javascript" src="js_xcat/event.js"> </script>
|
||||
<script type="text/javascript" src="js_xcat/ui.js"> </script>
|
||||
EOS;
|
||||
|
||||
<!-- These are only needed for popup windows, so only need it for specific pages like dsh
|
||||
<script type="text/javascript" src="javascripts/prototype.js"> </script>
|
||||
<script type="text/javascript" src="javascripts/effect.js"> </script>
|
||||
<script type="text/javascript" src="javascripts/window.js"> </script>
|
||||
<link href="themes/default.css" rel="stylesheet" type="text/css"/>
|
||||
-->
|
||||
|
||||
<link rel="stylesheet" href="css/xcattop.css">
|
||||
<link rel="stylesheet" href="css/xcat.css">
|
||||
<link rel="stylesheet" href="css/clickTree.css">
|
||||
/* These are only needed for popup windows, so only need it for specific pages like dsh
|
||||
<script src="js_xcat/event.js" type="text/javascript"> </script>
|
||||
<script src="js_xcat/ui.js" type="text/javascript"> </script>
|
||||
<link href="css/xcattop.css" rel="stylesheet">
|
||||
<link href="css/xcat.css" rel="stylesheet">
|
||||
<link href="css/clickTree.css" rel="stylesheet">
|
||||
<script src="js/windows.js" type="text/javascript"></script>
|
||||
<script src="js/clickTree.js" type="text/javascript"></script>
|
||||
<script src="js/prototype.js" type="text/javascript"></script>
|
||||
<script src="js/scriptaculous.js" type="text/javascript"></script>
|
||||
<script src="js/xcat.js" type="text/javascript"></script>
|
||||
<script src="js/effect.js" type="text/javascript"> </script>
|
||||
<link href="themes/default.css" rel="stylesheet" type="text/css"/>
|
||||
*/
|
||||
|
||||
<?php
|
||||
if ($stylesheets) {
|
||||
foreach ($stylesheets as $s) {
|
||||
echo "<LINK rel=stylesheet href='$s' type='text/css'>\n";
|
||||
@ -61,165 +57,75 @@ if ($javascripts) {
|
||||
echo "<script type='text/javascript' src='$j'></script>\n";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body>
|
||||
<div id=header>
|
||||
<table border=0 align=left cellspacing=0 cellpadding=0>
|
||||
echo "</head><body>\n";
|
||||
echo <<<EOS
|
||||
<table id=headingTable border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td><img src="images/xCAT_icon.gif"></td>
|
||||
<!-- <td background="images/header_bg.gif" width=700> -->
|
||||
<td width=600>
|
||||
<p id=banner>xCAT - e<u>x</u>treme <u>C</u>luster <u>A</u>dministration <u>T</u>ool</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php } // end insertHeader
|
||||
<td><img id=xcatImage src='images/xCAT_icon.gif'></td>
|
||||
<td width='100%'>
|
||||
|
||||
|
||||
// A few constants
|
||||
/*
|
||||
require_once("lib/config.php");
|
||||
$config = &Config::getInstance();
|
||||
$imagedir = $config->getValue("IMAGEDIR");
|
||||
$colTxt = "Click to collapse section";
|
||||
$exTxt = "Click to expand section";
|
||||
$bulgif = "$imagedir/h3bg_new.gif";
|
||||
$minusgif = "$imagedir/minus-sign.gif";
|
||||
$plusgif = "$imagedir/plus-sign.gif";
|
||||
*/
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
Create the navigation area on the left.
|
||||
$currentlink is the key of the link to the page
|
||||
that is currently being displayed.
|
||||
------------------------------------------------------------------------------*/
|
||||
|
||||
function insertNav($currentLink) {
|
||||
// A few constants
|
||||
global $TOPDIR; // or could use $GLOBALS['TOPDIR']
|
||||
$colTxt = "Click to collapse section";
|
||||
$exTxt = "Click to expand section";
|
||||
$bulgif = "$TOPDIR/images/h3bg_new.gif";
|
||||
$minusgif = "$TOPDIR/images/minus-sign.gif";
|
||||
$plusgif = "$TOPDIR/images/plus-sign.gif";
|
||||
|
||||
echo '<div id=nav><table border=0 cellpadding=0 cellspacing=1 width=70>';
|
||||
|
||||
//Console section
|
||||
insertInner('open', 1,'Console', 'constab', $currentLink, array(
|
||||
'prefs' => array("$TOPDIR/prefs.php", 'Preferences'),
|
||||
'updategui' => array("$TOPDIR/softmaint/updategui.php", 'Update'),
|
||||
'suggestions' => array("$TOPDIR/suggestions.html", 'Suggestions'),
|
||||
'logout' => array("$TOPDIR/logout.php", 'Logout')
|
||||
));
|
||||
|
||||
// xCAT Cluster section
|
||||
echo <<<EOS
|
||||
<TR><TD id=menu_level1>
|
||||
<P class=NoPadding title="$colTxt" onclick="toggleSection(this,'clustab')" ondblclick="toggleSection(this,'clustab')">
|
||||
<IMG class=NoPadding src="$minusgif" id='clustab-im'> xCAT Cluster
|
||||
</P></TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE id='clustab' cellpadding=0 cellspacing=0 width="100%"><TBODY>
|
||||
<TR><TD id=menu_level3><A href="csmconfig"><IMG src='$TOPDIR/images/h3bg_new.gif'> Settings</A></TD></TR>
|
||||
EOS;
|
||||
//echo "<div id=top><img id=xcatImage src='./images/xCAT_icon.gif'><div id=menuDiv>\n";
|
||||
|
||||
insertInner('open', 2,'Installation', 'installtab', $currentLink, array(
|
||||
'softmaint' => array("$TOPDIR/softmaint", 'MS Software'),
|
||||
'addnodes' => array("$TOPDIR/addnodes.php", 'Add Nodes'),
|
||||
'definenode' => array("$TOPDIR/definenode.php", 'Define Nodes'),
|
||||
'hwctrl' => array("$TOPDIR/hwctrl/index.php", 'HW Control')
|
||||
insertMenus($currents);
|
||||
|
||||
echo "</td></tr></table>\n";
|
||||
//echo "</div></div>\n"; // end the top div
|
||||
} // end insertHeader
|
||||
|
||||
|
||||
// Insert the menus at the top of the page
|
||||
// $currents is an array of the current menu choice tree
|
||||
function insertMenus($currents) {
|
||||
global $TOPDIR;
|
||||
echo "<table border=0 cellspacing=0 cellpadding=0>\n";
|
||||
|
||||
insertMenuRow($currents[0], 1, array(
|
||||
'machines' => array('Machines', "$TOPDIR/machines/frames.php"),
|
||||
'jobs' => array('Jobs', "$TOPDIR/jobs/jobs.php"),
|
||||
'deploy' => array('Deploy', "$TOPDIR/deploy/images.php"),
|
||||
'config' => array('Configuration', "$TOPDIR/config/site.php"),
|
||||
'support' => array('Support', "$TOPDIR/support/diagnose.php")
|
||||
));
|
||||
insertInner('open', 2,'Administration', 'admintab', $currentLink, array(
|
||||
'nodes' => array("$TOPDIR/index.php", 'Nodes'),
|
||||
'layout' => array("$TOPDIR/hwctrl/layout.php", 'Layout'),
|
||||
'dsh' => array("$TOPDIR/dsh.php", 'Run Cmds'),
|
||||
'dcp' => array("$TOPDIR/dcp.php", 'Copy Files'),
|
||||
'cfm' => array("$TOPDIR/cfm.php", 'Sync Files'),
|
||||
'shell' => array("$TOPDIR/shell.php", 'Cmd on MS'),
|
||||
'import' => array("$TOPDIR/import.php", 'Import/Export'),
|
||||
));
|
||||
insertInner('open', 2,'Monitor', 'montab', $currentLink, array(
|
||||
'conditions' => array("$TOPDIR/mon", 'Conditions'),
|
||||
'responses' => array("$TOPDIR/mon/resp.php", 'Responses'),
|
||||
'sensors' => array("$TOPDIR/mon/sensor.php", 'Sensors'),
|
||||
'rmcclass' => array("$TOPDIR/mon/rmcclass.php", 'RMC Classes'),
|
||||
'auditlog' => array("$TOPDIR/mon/auditlog.php", 'Event Log'),
|
||||
'perfmon' => array("$TOPDIR/perfmon/index.php", 'Performance'),
|
||||
|
||||
));
|
||||
insertInner('open', 2,'Diagnostics', 'diagtab', $currentLink, array(
|
||||
'diagms' => array("$TOPDIR/diagms", 'MS Diags'),
|
||||
));
|
||||
|
||||
echo '</TABLE></TD></TR>';
|
||||
|
||||
insertInner('open', 1,'Documentation', 'doctab', $currentLink, array(
|
||||
'xcatdocs' => array(getDocURL('web','docs'), 'xCAT Docs'),
|
||||
'forum' => array(getDocURL('web','forum'), 'Mailing List'),
|
||||
'codeupdates' => array(getDocURL('web','updates'), 'Code Updates'),
|
||||
'opensrc' => array(getDocURL('web','opensrc'), 'Open Src Reqs'),
|
||||
'wiki' => array(getDocURL('web','wiki'), 'xCAT Wiki'),
|
||||
));
|
||||
|
||||
echo '</table></div>';
|
||||
} //end insertNav
|
||||
|
||||
|
||||
/**--------------------------------------------------------------
|
||||
Insert one inner table in the nav area function above.
|
||||
Type is the type of the menu item, i.e: close or open (plus sign/minus sign)
|
||||
Level is the level of the parent menu item (can be first or second)
|
||||
Id is the id property of the table.
|
||||
CurrentLink is the key of the link for the current page.
|
||||
List is a keyed array of href, label pairs.
|
||||
----------------------------------------------------------------*/
|
||||
function insertInner($type,$level,$title, $id, $currentLink, $list) {
|
||||
// A few constants
|
||||
global $TOPDIR; // or could use $GLOBALS['TOPDIR']
|
||||
$colTxt = "Click to collapse section";
|
||||
$exTxt = "Click to expand section";
|
||||
$bulgif = "$TOPDIR/images/h3bg_new.gif";
|
||||
$minusgif = "$TOPDIR/images/minus-sign.gif";
|
||||
$plusgif = "$TOPDIR/images/plus-sign.gif";
|
||||
|
||||
switch($level){
|
||||
case 1: $menu_level = "menu_level1"; break;
|
||||
case 2: $menu_level = "menu_level2"; break;
|
||||
default: $menu_level = "menu_level1";
|
||||
}
|
||||
if ($type == "open"){
|
||||
$gif = $minusgif;
|
||||
$hoverTxt = $colTxt;
|
||||
$style = "display:inline";
|
||||
}else {
|
||||
$gif = $plusgif;
|
||||
$hoverTxt = $exTxt;
|
||||
$style = "display:none";
|
||||
}
|
||||
|
||||
echo <<<EOS
|
||||
<TR><TD id=$menu_level>
|
||||
<P class=NoPadding title="$hoverTxt" onclick="toggleSection(this,'$id')" ondblclick="toggleSection(this,'$id')">
|
||||
<IMG class=NoPadding src=$gif id=$id-im> $title</P></TD></TR>
|
||||
<TR><TD width="100%">
|
||||
<TABLE id=$id width="100%" cellpadding="0" cellspacing="0" border=0 style=$style>
|
||||
EOS;
|
||||
|
||||
foreach ($list as $key => $link) {
|
||||
if ($key == $currentLink){
|
||||
echo "<TR><TD id='menu_level3' class='CurrentMenuItem'><IMG src='$TOPDIR/images/h3bg_new.gif'> $link[1]</TD></TR>\n";
|
||||
}else{
|
||||
echo "<TR><TD id='menu_level3'><A href='$link[0]'><IMG src='$TOPDIR/images/h3bg_new.gif'> $link[1]</A></TD></TR>\n";
|
||||
if ($currents[0] == 'machines') {
|
||||
insertMenuRow($currents[1], 0, array(
|
||||
'lab' => array('Lab Floor', "$TOPDIR/views/lab.php"),
|
||||
'frames' => array('Frames', "$TOPDIR/views/frames.php"),
|
||||
'groups' => array('Groups', "$TOPDIR/views/groups.php"),
|
||||
'nodes' => array('Nodes', "$TOPDIR/views/nodes.php"),
|
||||
'layout' => array('Layout', "$TOPDIR/views/layout.php")
|
||||
));
|
||||
}
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
echo "</TABLE></TD></TR>\n";
|
||||
|
||||
} //end insertInner
|
||||
// Insert one set of choices under a main choice.
|
||||
function insertMenuRow($current, $isTop, $items) {
|
||||
global $TOPDIR;
|
||||
//$img = "$TOPDIR/images/h3bg_new.gif";
|
||||
$menuRowClass = $isTop ? '' : 'class=MenuRow';
|
||||
$menuItemClass = $isTop ? 'class=MenuItemTop' : 'class=MenuItem';
|
||||
$currentClass = $isTop ? 'CurrentMenuItemTop' : '';
|
||||
|
||||
//echo "<TABLE class=MenuTable id=mainNav cellpadding=0 cellspacing=0 border=0><tr>\n";
|
||||
//echo "<div class=$menuRowClass><ul id=mainNav>\n";
|
||||
echo "<tr><td $menuRowClass><ul id=mainNav>\n";
|
||||
|
||||
foreach ($items as $key => $link) {
|
||||
if ($key == $current){
|
||||
//echo "<TD><a id=$key href='$link[1]'>$link[0]</a></TD>\n";
|
||||
echo "<li class='CurrentMenuItem $currentClass'>$link[0]</li>\n";
|
||||
} else {
|
||||
//echo "<TD><a class=NavItem id=$key href='$link[1]'>$link[0]</a></TD>\n";
|
||||
echo "<li><a $menuItemClass id=$key href='$link[1]'>$link[0]</a></li>\n";
|
||||
}
|
||||
}
|
||||
|
||||
//echo "</TR></TABLE>\n";
|
||||
//echo "</ul></div>\n";
|
||||
echo "</td></tr></ul>\n";
|
||||
}
|
||||
|
||||
|
||||
/** ----------------------------------------------------------------------------------------------
|
||||
@ -290,6 +196,7 @@ function dumpGlobals() { //------------------------------------
|
||||
function isInstalled($rpmfile) { //------------------------------------
|
||||
$aixrpmopt = isAIX() ? '--ignoreos' : '';
|
||||
$lang = isWindows() ? '' : 'LANG=C';
|
||||
$out = array();
|
||||
$rc = runcmd("$lang /bin/rpm -U $aixrpmopt --test $rpmfile", 2, $out);
|
||||
# The rc is not reliable in this case because it will be 1 if it is already installed
|
||||
# of if there is some other problem like a dependency is not satisfied. So we parse the
|
||||
@ -512,9 +419,12 @@ function insertTabs ($tablist, $currentTabIndex) { //---------------------------
|
||||
// Create the Action buttons in a table. Buttonlist is an array of arrays of button attribute strings.
|
||||
function insertButtons ($buttonsets) { //------------------------------------
|
||||
foreach ($buttonsets as $buttonlist) {
|
||||
echo "<TABLE cellpadding=0 cellspacing=2><TBODY><TR><TD nowrap>";
|
||||
foreach ($buttonlist as $button) { echo "<INPUT type=submit class=but $button >"; }
|
||||
echo "</TD></TR></TBODY></TABLE>\n";
|
||||
echo "<TABLE cellpadding=0 cellspacing=2><TR>";
|
||||
foreach ($buttonlist as $button) {
|
||||
//echo "<td><INPUT type=submit class=but $button ></td>";
|
||||
echo "<td><a class=button href=''><span>$button</span></a></td>";
|
||||
}
|
||||
echo "</TR></TABLE>\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
<?php
|
||||
$XCATROOT = "/opt/xcat";
|
||||
$WEBSERVER = "http://wopr.dfw.ibm.com";
|
||||
# how often to update nodes (in seconds)
|
||||
$CHKINTERVAL = "300";
|
||||
?>
|
@ -1,39 +0,0 @@
|
||||
<?php
|
||||
include "globals.inc";
|
||||
|
||||
function printMenu(){
|
||||
global $menuArray;
|
||||
echo "<ul id='menubeans'>";
|
||||
$p = 1;
|
||||
foreach ($menuArray as $key => $value){
|
||||
if($p == 1){
|
||||
echo "<li class='active' id='$p' ><span>$key</span>\n";
|
||||
$p++;
|
||||
|
||||
}else{
|
||||
echo "<li id='$p'><span>$key</span>\n";
|
||||
$p++;
|
||||
}
|
||||
echo "<ul>";
|
||||
$q = 0;
|
||||
foreach($value as $k => $u){
|
||||
if($p == 2){
|
||||
#echo "<li><a href=\"$u\" class='active'>$k</a></li>";
|
||||
echo "<li><a href='#' id='$p-li-$q' class='active' onClick=\"newBack('$u', 'content','$k', '$p-li-$q')\">$k</a></li>";
|
||||
}else{
|
||||
#echo "<li><a href=\"$u\">$k</a></li>";
|
||||
echo "<li><a href='#' id='$p-li-$q' onClick=\"newPane('$u', 'content', '$k', '$p-li-$q')\">$k</a></li>";
|
||||
}
|
||||
$q++;
|
||||
}
|
||||
echo "</ul>";
|
||||
echo "</li>";
|
||||
}
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
function printNodeList(){
|
||||
system("bin/getattrs --web");
|
||||
}
|
||||
|
||||
?>
|
BIN
xCAT-web/images/bg_button_a.gif
Normal file
BIN
xCAT-web/images/bg_button_a.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 424 B |
BIN
xCAT-web/images/bg_button_span.gif
Normal file
BIN
xCAT-web/images/bg_button_span.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
xCAT-web/images/top.jpg
Normal file
BIN
xCAT-web/images/top.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
@ -9,14 +9,31 @@ if (isAIX()) { $aixDisabled = 'disabled'; }
|
||||
require_once("lib/GroupNodeTable.class.php");
|
||||
require_once("lib/XCAT/XCATCommand/XCATCommandRunner.class.php");
|
||||
|
||||
insertHeader('Nodes', NULL, NULL, array('machines','nodes'));
|
||||
|
||||
insertHeader('Nodes', NULL, NULL);
|
||||
insertNav('nodes');
|
||||
|
||||
echo "<div id=content align=center> <p class=PageHeading>Cluster Groups and Nodes</p>";
|
||||
|
||||
echo "<div id=content align=center>\n";
|
||||
|
||||
insertButtons(array(
|
||||
array(
|
||||
'Attributes',
|
||||
'Create Like',
|
||||
'Create Group',
|
||||
'Ping',
|
||||
//'Updatenode',
|
||||
'Run Cmd',
|
||||
'Copy Files'
|
||||
),
|
||||
array(
|
||||
//'Soft Maint',
|
||||
'HW Ctrl',
|
||||
'RSA/MM/FSP',
|
||||
'Install',
|
||||
'Perf Mon',
|
||||
//'Webmin',
|
||||
'Diagnose',
|
||||
'Remove'
|
||||
),
|
||||
/*
|
||||
array(
|
||||
'name=propButton value="Attributes"',
|
||||
'name=defineButton value="Create Like"',
|
||||
@ -36,6 +53,7 @@ insertButtons(array(
|
||||
'name=diagButton value="Diagnose" onclick="this.form.nodesNeeded=1;"',
|
||||
'name=removeButton value="Remove"'
|
||||
),
|
||||
*/
|
||||
));
|
||||
|
||||
echo '<form name="nodelist" class=ContentForm>';
|
||||
@ -46,7 +64,6 @@ GroupNodeTable::insertGroupTableHeader();
|
||||
|
||||
// Get all the names of the groups
|
||||
$xcmdr = new XCATCommandRunner();
|
||||
//$nodeGroupNames = $xcmdr->getAllGroupNames();
|
||||
$nodeGroupNames = $xcmdr->getAllXCATGroups();
|
||||
|
||||
// Print the HTML for each of them
|
||||
@ -55,14 +72,9 @@ foreach($nodeGroupNames as $key => $nodeGroupName) {
|
||||
}
|
||||
|
||||
GroupNodeTable::insertGroupTableFooter();
|
||||
?>
|
||||
<script type="text/javascript" src="js_xcat/event.js"> </script>
|
||||
<script type="text/javascript" src="js_xcat/ui.js"> </script>
|
||||
<SCRIPT language="JavaScript">
|
||||
<!--
|
||||
XCATEvent.doExpandNodes();
|
||||
-->
|
||||
</SCRIPT>
|
||||
|
||||
echo <<<EOS
|
||||
<!-- <SCRIPT language="JavaScript"> XCATEvent.doExpandNodes(); </SCRIPT> -->
|
||||
</form>
|
||||
<table>
|
||||
<tr>
|
||||
@ -81,4 +93,6 @@ GroupNodeTable::insertGroupTableFooter();
|
||||
<p id=disclaimer>This interface is still under construction and not yet ready for use.</p>
|
||||
</div>
|
||||
</BODY>
|
||||
</HTML>
|
||||
</HTML>
|
||||
EOS;
|
||||
?>
|
@ -76,6 +76,7 @@ EOE;
|
||||
return;
|
||||
}
|
||||
|
||||
// This is used by nodes_by_group.php
|
||||
/**
|
||||
* @param XCATNodeGroup nodeGroup The node group for which we want to generate the html.
|
||||
* returns the table that contains all the nodes information of that group
|
||||
|
@ -1,152 +0,0 @@
|
||||
<?php
|
||||
// This file is not longer used...
|
||||
/**
|
||||
* Produces HTML for use in the interface.
|
||||
*/
|
||||
//require_once("config.php");
|
||||
|
||||
class HTMLProducer {
|
||||
|
||||
|
||||
function HTMLProducer() {}
|
||||
|
||||
/**
|
||||
* @return A string containing the HTML for the header of the table.
|
||||
*/
|
||||
function getXCATNodeTableHeader() {
|
||||
$html = <<<EOS
|
||||
<table width="483" border="0" cellspacing="1" cellpadding=0>
|
||||
<tr bgcolor="#C2CEDE" class="BlueBack">
|
||||
<td width="88">
|
||||
<div align="center">
|
||||
<input type="checkbox" name="chk_node_all" id="chk_node_all" />
|
||||
Nodes
|
||||
</div>
|
||||
</td>
|
||||
<td width="40"><div align="center">HW Type</div></td>
|
||||
<td width="25"><div align="center">OS</div></td>
|
||||
<td width="46"><div align="center">Mode</div></td>
|
||||
<td width="47"><div align="center">Status</div></td>
|
||||
<td width="89"><div align="center">HW Ctrl Pt</div></td>
|
||||
<td width="74"><div align="center">Comment</div></td>
|
||||
</tr>
|
||||
EOS;
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
function getXCATNodeTableFooter() {
|
||||
$html = <<<EOS
|
||||
</table>
|
||||
EOS;
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param String nodeGroupName The name of the node group.
|
||||
*/
|
||||
function getToggleString($nodeGroupName) {
|
||||
$colTxt = "Click to collapse section";
|
||||
$exTxt = "Click to expand section";
|
||||
$bulgif = "$TOPDIR/images/h3bg_new.gif";
|
||||
$minusgif = "$TOPDIR/images/minus-sign.gif";
|
||||
$plusgif = "$TOPDIR/images/plus-sign.gif";
|
||||
|
||||
$html = <<<EOS
|
||||
<span
|
||||
title="Click to expand section"
|
||||
id="img_gr_$nodeGroupName"
|
||||
onclick="XCATui.updateNodeList('$nodeGroupName')"
|
||||
ondblclick="toggleSection(this,'div_$nodeGroupName')">
|
||||
<img src="$plusgif" id="div_$nodeGroupName-im" name="div_$nodeGroupName-im">
|
||||
EOS;
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param String nodeGroup The group.
|
||||
*/
|
||||
function getXCATGroupTableRow($nodeGroup) {
|
||||
|
||||
$imagedir = 'images';
|
||||
$nodeGroupName = $nodeGroup->getName();
|
||||
$img_string = XCATNodeGroupUtil::getImageString($nodeGroup->getStatus());
|
||||
|
||||
$html = <<<EOS
|
||||
<tr bgcolor="#FFCC00">
|
||||
<td>
|
||||
EOS;
|
||||
$html .= HTMLProducer::getToggleString($nodeGroupName);
|
||||
$html .= <<<EOE
|
||||
<input type="checkbox" name="chk_node_group_$nodeGroupName" id="chk_node_group_$nodeGroupName"><b>$nodeGroupName</b></span>
|
||||
</td>
|
||||
<td><div align="center"> </div></td>
|
||||
<td><div align="center"> </div></td>
|
||||
<td><div align="center"> </div></td>
|
||||
<td><div align="center">$img_string</div></td>
|
||||
<td><div align="center"> </div></td>
|
||||
<td ><div align="center"> </div></td>
|
||||
</tr>
|
||||
<tr><td colspan=7><div id=div_$nodeGroupName style="display:none"></div></td></tr>
|
||||
EOE;
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param XCATNodeGroup nodeGroup The node group for which we want to generate the html.
|
||||
* returns the table that contains all the nodes information of that group
|
||||
*/
|
||||
function getXCATNodeGroupSection($nodeGroup) {
|
||||
$imagedir = 'images';
|
||||
$right_arrow_gif = $imagedir . "/grey_arrow_r.gif";
|
||||
$left_arrow_gif = $imagedir . "/grey_arrow_l.gif";
|
||||
|
||||
$html .= <<<EOS
|
||||
<table id="
|
||||
EOS;
|
||||
$html .= $nodeGroup->getName();
|
||||
$html .= <<<EOS
|
||||
" width='100%' cellpadding=0 cellspacing=1 border=0>
|
||||
EOS;
|
||||
|
||||
$nodes = $nodeGroup->getNodes();
|
||||
|
||||
foreach($nodes as $nodeName => $node) {
|
||||
$html .= HTMLProducer::getXCATNodeTableRow($node);
|
||||
}
|
||||
|
||||
$html .= "<TR bgcolor=\"#FFFF66\"><TD colspan=9 align=\"right\"><image src=\"$left_arrow_gif\" alt=\"Previous page\"> <image src=\"$right_arrow_gif\" alt=\"Next page\"> </TD></TR>";
|
||||
$html .= <<<EOS
|
||||
</table>
|
||||
EOS;
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param XCATNode node The node for which we want to generate the html.
|
||||
*/
|
||||
function getXCATNodeTableRow($node) {
|
||||
|
||||
$imagedir = 'images';
|
||||
|
||||
//echo $node->getName();
|
||||
$html = "<tr bgcolor=\"#FFFF66\" class=\"indent\">
|
||||
<td width=89><input type=\"checkbox\" name=\"node_" .$node->getName(). "\" />" .$node->getName(). "</td>" .
|
||||
"<td width=38><div align=center>" . $node->getHwType(). "</div></td>".
|
||||
"<td width=22><div align=center>" . $node->getOs(). "</div></td>".
|
||||
"<td width=43><div align=center>" . $node->getMode(). "</div></td>";
|
||||
|
||||
$stat = $node->getStatus();
|
||||
$img_string = XCATNodeGroupUtil::getImageString($stat);
|
||||
|
||||
$html .= "<td width=43><div align=center>" . $img_string . "</div></td>".
|
||||
"<td width=85><div align=center>" . $node->getHwCtrlPt(). "</div></td>".
|
||||
"<td width=71><div align=center>" . $node->getComment(). "</div></td></tr>";
|
||||
|
||||
EOS;
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,10 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Class to deal with images.
|
||||
*/
|
||||
class ImageResources {
|
||||
|
||||
function ImageResources() {
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
require_once("XCAT/HTML/HTMLProducer.class.php");
|
||||
require_once("lib/GroupNodeTable.class.php");
|
||||
|
||||
/**
|
||||
* This class exposes an API for calling the XCAT PHP classes.
|
||||
@ -47,7 +47,7 @@ class XCATWebservice {
|
||||
}
|
||||
|
||||
function getXCATNodeRows($nodeGroupName) {
|
||||
$html = HTMLProducer::getXCATNodeTableRows($nodeGroupName);
|
||||
$html = GroupNodeTable::getXCATNodeTableRow($nodeGroupName);
|
||||
|
||||
echo $html;
|
||||
}
|
||||
|
@ -1,29 +0,0 @@
|
||||
<?php
|
||||
//Note: this file is not used any more
|
||||
|
||||
class Config {
|
||||
var $configMap;
|
||||
|
||||
function Config() {
|
||||
$configMap = array();
|
||||
}
|
||||
|
||||
function &getInstance() {
|
||||
static $instance;
|
||||
|
||||
if(NULL == $instance) {
|
||||
$instance = new Config();
|
||||
}
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
function getValue($key) {
|
||||
return $this->configMap[$key];
|
||||
}
|
||||
|
||||
function setValue($key, $value) {
|
||||
$this->configMap[$key] = $value;
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,4 +1,7 @@
|
||||
/*
|
||||
|
||||
This file is no longer used.
|
||||
|
||||
Styles for the navigation area and some other general styles.
|
||||
|
||||
Some of this came from:
|
||||
@ -108,7 +111,7 @@ tr.indent td { padding:0px 0 0px 10px; }
|
||||
border-bottom: 1px solid #fff;
|
||||
font-size:11px;
|
||||
padding: 0px 5px 0px 15px;
|
||||
width: 100%;
|
||||
/* width: 100%; */
|
||||
}
|
||||
/* #menu_level3 li { list-style: none; } */
|
||||
#menu_level3 a:link, a:visited {
|
||||
|
@ -1,45 +1,104 @@
|
||||
|
||||
div#header {
|
||||
/* background-color : #d8dff1; */
|
||||
position: absolute;
|
||||
left: 15px;
|
||||
top: 15px;
|
||||
#headingTable {
|
||||
margin: 0 20px 10px 20px;
|
||||
/* background: #FFF url(./images/top.jpg) repeat-x top; */
|
||||
background-color: #002432;
|
||||
}
|
||||
|
||||
div#nav {
|
||||
/* background-color : #d8dff1; */
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 80px;
|
||||
}
|
||||
|
||||
div#content {
|
||||
/* background-color : #fcfaeb; */
|
||||
position: absolute;
|
||||
left: 120px;
|
||||
top: 80px;
|
||||
}
|
||||
|
||||
/* not used...
|
||||
P#logo {
|
||||
background-color: #d8dff1; #f5f3cf #fffdb0
|
||||
vertical-align : middle;;
|
||||
padding-top: 5px;
|
||||
text-align: center;
|
||||
padding-bottom: 5px;
|
||||
margin-bottom: 10px;
|
||||
/*
|
||||
#top {
|
||||
margin: 0 auto 10px auto;
|
||||
padding: 0;
|
||||
color: #666;
|
||||
background: #FFF url(./images/top.jpg) repeat-x top;
|
||||
background-color: #002432;
|
||||
height: 65px;
|
||||
}
|
||||
*/
|
||||
|
||||
#banner {
|
||||
font-weight: bolder;
|
||||
font-size: 16pt;
|
||||
font-style: italic;
|
||||
color: #6a8ab5; /* #3F5B7F; gray; */
|
||||
text-align: center;
|
||||
margin: 10px;
|
||||
#xcatImage {
|
||||
/* float: left; */
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.MenuRow {
|
||||
border-left: 2px solid white;
|
||||
border-right: 2px solid white;
|
||||
}
|
||||
|
||||
#mainNav {
|
||||
/* position: absolute;
|
||||
float: left; */
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#mainNav li {
|
||||
float: left;
|
||||
font: .8em Verdana, Arial, Sans-Serif;
|
||||
line-height: 2.5em;
|
||||
font-weight: bold;
|
||||
/* border: 1px solid white; */
|
||||
}
|
||||
|
||||
.CurrentMenuItem {
|
||||
display: block;
|
||||
padding: 0 2em;
|
||||
background: #09334b;
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
.CurrentMenuItemTop {
|
||||
border-left: 2px solid white;
|
||||
border-top: 2px solid white;
|
||||
border-right: 2px solid white;
|
||||
/* border-bottom: 2px solid #09334b; */
|
||||
}
|
||||
|
||||
.MenuItemTop { border-bottom: 2px solid white; }
|
||||
.MenuItem { /* border-bottom: 2px solid #002432; */ }
|
||||
|
||||
#mainNav a {
|
||||
display: block;
|
||||
float: left; /* IE/Mac 5.2 Fix */
|
||||
padding: 0 2em;
|
||||
text-decoration: none;
|
||||
color: #a1a1a1;
|
||||
border-left: 1px solid #273942;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* IE/Win 5.x Fix */
|
||||
* html #mainNav a {
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
#mainNav a:hover {
|
||||
background: #09334b;
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
/*
|
||||
body.home #mainNav a#home, body.tutorials #mainNav a#tutorials {
|
||||
background: #09334b;
|
||||
color: #fafafa;
|
||||
cursor: default;
|
||||
}
|
||||
*/
|
||||
|
||||
#mainNav li a.active {
|
||||
color: #fafafa;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
div#content {
|
||||
background-color : #fcfaeb;
|
||||
position: absolute;
|
||||
left: 120px;
|
||||
top: 180px;
|
||||
}
|
||||
*/
|
||||
|
||||
#disclaimer {
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
@ -48,16 +107,6 @@ P#logo {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.PageHeading {
|
||||
/* font-size: 10pt; */
|
||||
font: bold 1.4em "Trebuchet MS", Helvetica, Sans-Serif;
|
||||
color: white;
|
||||
background-color: transparent; /* #c0c0c0; */
|
||||
border: 1px solid white;
|
||||
border-bottom-style: none;
|
||||
margin: 2px 2px 10px 2px;
|
||||
}
|
||||
|
||||
.ContentForm { margin: 10px 2px 15px 2px; }
|
||||
|
||||
BODY {
|
||||
@ -76,7 +125,6 @@ INPUT {vertical-align : middle; font-size : 8pt; font-family : sans-serif; font-
|
||||
SELECT {vertical-align : middle; font-size : 8pt; font-family : sans-serif; font-weight : bold;}
|
||||
TEXTAREA {vertical-align : middle; font-size : 8pt; font-family : sans-serif; font-weight : bold;}
|
||||
TABLE {font-size : 10pt; font-family : Arial;}
|
||||
|
||||
/* pre { padding: 0px; margin: 0px; } */
|
||||
|
||||
.TableHeader { color: black; background-color : #fffdb0; font-weight : bold; font-size : 9pt; white-space: nowrap; }
|
||||
@ -107,69 +155,44 @@ TABLE {font-size : 10pt; font-family : Arial;}
|
||||
.NoMargin { margin: 0px; }
|
||||
.NoPadding { padding: 0px; margin: 0px; border: 0px none white; }
|
||||
.Hidden { visibility : hidden ;}
|
||||
.Txtfld {font-size : 8pt; font-family : sans-serif; font-weight : bold;}
|
||||
|
||||
|
||||
.but{
|
||||
background-color: #3F5B7F; /* #6a8ab5; #fbf999; */
|
||||
/*
|
||||
.but {
|
||||
background-color: #3F5B7F;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.txtfld {font-size : 8pt; font-family : sans-serif; font-weight : bold;}
|
||||
|
||||
/* this was used to make buttons out of table cells...
|
||||
.bt {
|
||||
font-size : 8pt;
|
||||
font-weight : bold;
|
||||
font-family : sans-serif;
|
||||
background-image : url(images/bt.gif);
|
||||
text-align: center;
|
||||
}
|
||||
*/
|
||||
|
||||
/* The rest of the styles were for the navigation area, but are not used any more...
|
||||
table#navtable {
|
||||
width: 105px;
|
||||
font-size : 8pt;
|
||||
padding-left : 1px;
|
||||
border: 0px;
|
||||
white-space: nowrap;
|
||||
|
||||
a.button {
|
||||
background: transparent url('./images/bg_button_a.gif') no-repeat scroll top right;
|
||||
color: #444;
|
||||
display: block;
|
||||
float: left;
|
||||
font: normal 12px arial, sans-serif;
|
||||
height: 24px;
|
||||
margin-right: 6px;
|
||||
padding-right: 18px; /* sliding doors padding */
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.NavCurLink { background-color: #fcfaeb; }
|
||||
|
||||
#nav A{
|
||||
font-weight : bold;
|
||||
font-family : sans-serif;
|
||||
a.button span {
|
||||
background: transparent url('./images/bg_button_span.gif') no-repeat;
|
||||
display: block;
|
||||
line-height: 14px;
|
||||
padding: 5px 0 5px 18px;
|
||||
}
|
||||
|
||||
#nav P{
|
||||
text-indent : 0px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight : bold;
|
||||
font-family : sans-serif;
|
||||
cursor : default;
|
||||
vertical-align : middle;
|
||||
a.button:active {
|
||||
background-position: bottom right;
|
||||
color: #000;
|
||||
outline: none; /* hide dotted outline in Firefox */
|
||||
}
|
||||
|
||||
#nav IMG { border: 0px; }
|
||||
|
||||
.InnerTable{
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 0px;
|
||||
margin-bottom : 0px;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
font-size : 8pt;
|
||||
white-space: nowrap;
|
||||
a.button:active span {
|
||||
background-position: bottom left;
|
||||
padding: 6px 0 4px 18px; /* push text down 1px */
|
||||
}
|
||||
|
||||
.OuterTable{
|
||||
margin-left : 1px;
|
||||
margin-right : 1px;
|
||||
margin-top : 0px;
|
||||
margin-bottom : 0px;
|
||||
}
|
||||
*/
|
Loading…
Reference in New Issue
Block a user