\n"; // Create the noderange tree and the tabs side by side. Once again I tried to do this with css and all // methods seemed to be inadequate echo "\n"; echo "\n"; // nrtree is the place to put the noderange tree $tabs = array('Attributes' => '#attributes-tab', 'Run Cmd' => '../manage/dsh.php?intab=1', 'Rpower' => 'rpower.php', 'Rvitals/Rinv' => 'rvitals.php', 'Ping' => 'ping.php', 'Copy' => 'copyfiles.php', 'SP Config' => 'spconfig.php', 'Diagnose' => 'diagnode.php', 'Add/Remove' => 'addremove.php', ); echo "
\n"; echo "
    \n"; foreach ($tabs as $key => $url) { echo "
  • $key
  • \n"; } echo "
\n"; echo "
\n"; echo "
\n"; //echo "
\n"; // since the other 2 divs are floats, need this one to give the content div some size /* echo ''; echo ''; echo ''; echo ''; echo ''; echo '
Good Possible problem Problem Unknown
'; */ echo ''; // end the content div insertFooter(); //----------------------------------------------------------------------------- // Returns the aggregate status of each node group in the cluster. The return value is a // hash in which the key is the group name and the value is nodelist.status. function getGroupStatus() { $groups = array(); $xml = docmd('tabdump','',array('nodelist')); foreach ($xml->children() as $response) foreach ($response->children() as $line) { $line = (string) $line; //echo "

"; print_r($line); "

\n"; if (ereg("^#", $line)) { continue; } // skip the header $vals = splitTableFields($line); if (empty($vals[0]) || empty($vals[1])) continue; // node or groups missing $grplist = preg_split('/,/', $vals[1]); if (empty($vals[2])) { $status = 'unknown'; } else { $status = $vals[2]; } foreach ($grplist as $g) { if (array_key_exists($g,$groups)) { $groups[$g] = minStatus($groups[$g], $status); } else { $groups[$g] = $status; } } } return $groups; } ?>