<?php // // Copyright (C) 2004-2011 by Autodesk, Inc. // // This library is free software; you can redistribute it and/or // modify it under the terms of version 2.1 of the GNU Lesser // General Public License as published by the Free Software Foundation. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // try { include 'resizableadmin.php'; LoadSessionVars(); // Did the user logout? CheckForLogout(); // Are we cancelling? If so, there is nothing to do. CheckForCancel( 'servermanagement.php' ); // Define Local values $menuCategory = SERVER_MANAGEMENT_MENU_ITEM; $pageTitle = SERVER_MANAGEMENT_MENU_ITEM; $helpPage = 'HelpDocs/managing_servers.htm'; $pageName = 'ServerManagementPage'; $formName = 'ServerManagementForm'; $homePage = NULL; $siteServerAddress = ""; $serverAdmin = null; $selectedServerID = 'Server'; $drawingServiceOnID = 'drawingServiceOn'; $drawingServiceOnList = array(); $featureServiceOnID = 'featureServiceOn'; $featureServiceOnList = array(); $mappingServiceOnID = 'mappingServiceOn'; $mappingServiceOn = array(); $renderingServiceOnID = 'renderingServiceOn'; $renderingServiceOn = array(); $tileServiceOnID = 'tileServiceOn'; $tileServiceOn = array(); $serverUpdateID = 'serversToUpdate'; $serverUpdateList = array(); $okToDeleteID = 'okToDelete'; $okToDeleteVal = 'true'; $serverToMonitorID = 'serverToMonitor'; $onlineID = 'online'; $onlineList = array(); $serverTable = array(); $pageSize = 8; $firstPageIndex = -1; $lastPageIndex = -1; $servers = array(); $numServers = 0; $currPage = 1; $siteServerAddress = $site->GetCurrentSiteAddress(); if ( array_key_exists( $selectedServerID, $_POST ) ) { $selectedServer = $_POST[ $selectedServerID ]; } // Are we switching to another page? CheckForPageSwitch(); // Are we deleting the selected server? if ( CheckForDeleteSelection() ) { $selectedServerName = GetServerName( $selectedServer ); if ( DeleteServer( $selectedServer ) ) { $confirmationMsg = sprintf( $confSuccessfulDeletion, $selectedServerName ); } } // Get submitted data if ( !FirstTimeHere( $pageName ) ) { $serverUpdateList = array_key_exists( $serverUpdateID, $_POST ) ? $_POST[ $serverUpdateID ] : array(); $drawingServiceOnList = array_key_exists( $drawingServiceOnID, $_POST ) ? $_POST[ $drawingServiceOnID ] : array(); $featureServiceOnList = array_key_exists( $featureServiceOnID, $_POST ) ? $_POST[ $featureServiceOnID ] : array(); $mappingServiceOnList = array_key_exists( $mappingServiceOnID, $_POST ) ? $_POST[ $mappingServiceOnID ] : array(); $renderingServiceOnList = array_key_exists( $renderingServiceOnID, $_POST ) ? $_POST[ $renderingServiceOnID ] : array(); $tileServiceOnList = array_key_exists( $tileServiceOnID, $_POST ) ? $_POST[ $tileServiceOnID ] : array(); $onlineList = array_key_exists( $onlineID, $_POST ) ? $_POST[ $onlineID ] : array(); } } catch ( MgException $e ) { CheckForFatalMgException( $e ); $errorMsg = $e->GetExceptionMessage(); } catch ( Exception $e ) { $errorMsg = $e->getMessage(); } // Load the display table and save data, if requested. try { $servers = GetServers(); $numServers = GetServerCount(); $currPage = GetPageNumber( $servers, $selectedServer, $pageSize ); GetPageRange( $currPage, $numServers, $pageSize, $firstPageIndex, $lastPageIndex ); LoadServerTable( $serverTable, $firstPageIndex, $lastPageIndex, true ); if ( !array_key_exists( $selectedServer, $serverTable ) && $numServers > 0 ) $selectedServer = $servers[ $firstPageIndex ]; // Get input values if ( !FirstTimeHere( $pageName ) ) { $serverNum = -1; foreach ( $serverTable as $key => $val ) { if ( in_array( $key, $serverUpdateList ) ) { $val->services[ DRAWING_SERVICE ] = in_array( $key, $drawingServiceOnList ) ? true : false; $val->services[ FEATURE_SERVICE ] = in_array( $key, $featureServiceOnList ) ? true : false; $val->services[ MAPPING_SERVICE ] = in_array( $key, $mappingServiceOnList ) ? true : false; $val->services[ RENDERING_SERVICE ] = in_array( $key, $renderingServiceOnList ) ? true : false; $val->services[ TILE_SERVICE ] = in_array( $key, $tileServiceOnList ) ? true : false; $val->online = in_array( $key, $onlineList ) ? true : false; } } } if ( CheckForSaveData() ) { foreach ( $serverTable as $key => $val ) { if ( $val->poweredUp ) { $serverAdmin = new MgServerAdmin(); $serverAdmin->Open( $key, $userInfo ); SetOnline( $serverAdmin, $val->online ); SetOptionalServerServices( $serverAdmin, $val->services ); $serverAdmin->Close(); } } $confirmationMsg = $confSuccessfulServersUpdate; } } catch ( MgException $e ) { CheckForFatalMgException( $e ); if ( empty( $errorMsg ) ) $errorMsg = $e->GetExceptionMessage(); } catch ( Exception $e ) { if ( empty( $errorMsg ) ) $errorMsg = $e->getMessage(); } ?> <!-- PAGE DEFINITION --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <?php OutputHeader( $pageTitle ); ?> <body> <table cellspacing="0" cellpadding="0" border="0" class="main"> <tr> <?php DisplaySiteHeader( false, true, true, true, $formName, $homePage ); ?> </tr> <tr> <?php DisplayLefthandSash( $menuCategory ); ?> <!-- Contents Area --> <?php BeginContentArea( $formName ); ?> <?php DeclareHiddenVars( $pageName ); DisplayTitleBar( $pageTitle, $helpPage ); DisplaySaveCancelBar(); DisplayConfirmationMsg( $confirmationMsg ); DisplayErrorMsg( $errorMsg ); // Toolbar $buttons = array(); $button = new ToolbarButtonRecord(); $button->label = "Status"; $button->icon = "images/monitor_status.gif"; $button->submitForm = false; $button->action = "DisplayServerStatus( '".$serverToMonitorID."' );"; $buttons[0] = $button; $button = new ToolbarButtonRecord(); $button->id = 'ConfigureButton'; $button->icon = "images/configure.gif"; $button->label = "Configure"; $button->action = "SetElementValue('".NEXT_PAGE_ID."', 'serverproperties.php');"; $buttons[1] = $button; $button = new ToolbarButtonRecord(); $button->label = "Logs"; $button->icon = "images/logs.gif"; $button->action = "SetElementValue('".NEXT_PAGE_ID."', 'logmanagement.php');"; $buttons[2] = $button; DisplayToolbar( $buttons, $formName ); ?> <!-- Server Table--> <table border="0" cellspacing="2" cellpadding="2" class="dataTable"> <tr> <td class="dataHeader"> </td> <td class="dataHeader">Server</td> <td class="dataHeader">IP Address</td> <td class="dataHeader">Online</td> </tr> <?php if ( $selectedServer == $siteServerAddress ) $okToDeleteVal = 'false'; else $okToDeleteVal = 'true'; $serverNum = -1; $serviceSelector = new ServiceSelectorRecord(); foreach ( $serverTable as $key => $val ) { if ( $selectedServer == $key ) $checkedStr = " checked "; else $checkedStr = ""; $serverHrefStr = 'serverproperties.php?'.$selectedServerID.'='.$key; if ( $key == $siteServerAddress ) $serverSelectionOnClickStr = "SetElementValue( '".$okToDeleteID."', 'false' ); SetElementValue( '".$serverToMonitorID."', '".$key."' );"; else $serverSelectionOnClickStr = "SetElementValue( '".$okToDeleteID."', 'true' ); SetElementValue( '".$serverToMonitorID."', '".$key."' );"; $serviceSelector->serverAddress = $key; $serviceSelector->drawingOnID = $drawingServiceOnID.'[]'; $serviceSelector->drawingOn = $val->services[ DRAWING_SERVICE ]; $serviceSelector->featureOnID = $featureServiceOnID.'[]'; $serviceSelector->featureOn = $val->services[ FEATURE_SERVICE ]; $serviceSelector->mappingOnID = $mappingServiceOnID.'[]'; $serviceSelector->mappingOn = $val->services[ MAPPING_SERVICE ]; $serviceSelector->renderingOnID = $renderingServiceOnID.'[]'; $serviceSelector->renderingOn = $val->services[ RENDERING_SERVICE ]; $serviceSelector->tileOnID = $tileServiceOnID.'[]'; $serviceSelector->tileOn = $val->services[ TILE_SERVICE ]; $serviceSelector->enabled = $val->poweredUp; ?> <tr> <td class="dataCell"><input name="<?php echo $selectedServerID ?>" type="radio" value="<?php echo $key ?>" <?php echo $checkedStr ?> onClick="<?php echo $serverSelectionOnClickStr ?>" ></td> <td class="dataCell"> <input type="hidden" name="<?php echo $serverUpdateID.'[]'?>" value="<?php echo $key?>" > <a href="<?php echo $serverHrefStr?>"><?php echo $val->name; ?></a> </td> <td class="dataCell"><?php echo $key ?></td> <td class="dataCell"> <input name="<?php echo $onlineID.'[]'?>" type="checkbox" value="<?php echo $key ?>" <?php if ( $val->online ) echo 'checked'; if ( !$val->poweredUp ) echo ' disabled '; ?> > </td> </tr> <?php } ?> </table> <!-- Hidden flags --> <input type="hidden" name="<?php echo $okToDeleteID; ?>" value="<?php echo $okToDeleteVal; ?>" > <input type="hidden" name="<?php echo $serverToMonitorID ?>" value="<?php echo $selectedServer ?>" > <?php DisplayPaginationControl( $currPage, $numServers, $pageSize, 'servermanagement.php' ); ?> <?php DisplaySaveCancelBar(); EndContentArea( true, $formName, "" ); ?> <!-- End of Contents Area --> </tr> </table> </body> </html>