<?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 the property sections define( 'GENERAL_PROPS', "GENERAL" ); define( 'ADMIN_CONN_PROPS', "ADMIN_CONN" ); define( 'CLIENT_CONN_PROPS', "CLIENT_CONN" ); define( 'SITE_CONN_PROPS', "SITE_CONN" ); // Define local vars $menuCategory = SERVER_MANAGEMENT_MENU_ITEM; $menuItem = CONFIGURE_SERVER_MENU_ITEM; $pageTitle = CONFIGURE_SERVER_TITLE; $helpPage = 'HelpDocs/configuring_servers.htm'; $pageName = 'ServerPropertiesPage'; $formName = 'ServerPropertiesForm'; $homePage = 'servermanagement.php'; $serverAdmin = 0; $serverName = ""; $serverAddress = ""; $serverVersion = ""; $serverDescription = ""; $serverDescriptionID = 'serverDescription'; $serverOnline = false; $serverOnlineID = 'serverOnline'; $serverServices = array(); $serverServices[ DRAWING_SERVICE ] = false; $serverServices[ FEATURE_SERVICE ] = false; $serverServices[ MAPPING_SERVICE ] = false; $serverServices[ RENDERING_SERVICE ] = false; $serverServices[ TILE_SERVICE ] = false; $serverProps = array(); $serverProps[ GENERAL_PROPS ] = new GeneralPropsRecord(); $serverProps[ ADMIN_CONN_PROPS ] = new ConnectionPropsRecord( 'admin', MgConfigProperties::AdministrativeConnectionPropertiesSection, MgConfigProperties::AdministrativeConnectionPropertyMaxConnections, MgConfigProperties::AdministrativeConnectionPropertyPort, MgConfigProperties::AdministrativeConnectionPropertyQueueSize, MgConfigProperties::AdministrativeConnectionPropertyThreadPoolSize ); $serverProps[ CLIENT_CONN_PROPS ] = new ConnectionPropsRecord( 'client', MgConfigProperties::ClientConnectionPropertiesSection, MgConfigProperties::ClientConnectionPropertyMaxConnections, MgConfigProperties::ClientConnectionPropertyPort, MgConfigProperties::ClientConnectionPropertyQueueSize, MgConfigProperties::ClientConnectionPropertyThreadPoolSize ); $serverProps[ SITE_CONN_PROPS ] = new ConnectionPropsRecord( 'site', MgConfigProperties::SiteConnectionPropertiesSection, MgConfigProperties::SiteConnectionPropertyMaxConnections, MgConfigProperties::SiteConnectionPropertyPort, MgConfigProperties::SiteConnectionPropertyQueueSize, MgConfigProperties::SiteConnectionPropertyThreadPoolSize ); $drawingServiceOnID = 'drawingServiceOn'; $featureServiceOnID = 'featureServiceOn'; $mappingServiceOnID = 'mappingServiceOn'; $renderingServiceOnID = 'renderingServiceOn'; $tileServiceOnID = 'tileServiceOn'; $selectedServerID = "Server"; $confirmationMsg = ""; $errorMsg = ""; $pageEnabled = false; $configuringSupportServer = false; $refreshRequested = false; // Get Server $siteServerAddress = $site->GetCurrentSiteAddress(); GetServerSelection( $selectedServerID, $selectedServer ); $serverRec = GetDataForServer( $selectedServer ); if ( $serverRec == NULL ) throw new Exception( sprintf( $errNotFound, $selectedServer ) ); if ( !$serverRec->poweredUp ) throw new Exception( sprintf( $errServerIsDown, $selectedServer ) ); // Are we configuring the site or a support server? $pageEnabled = true; $configuringSupportServer = $siteServerAddress != $selectedServer; // Is a refresh needed? if ( FirstTimeHere( $pageName ) ) $refreshRequested = true; else $refreshRequested = CheckForRefresh(); // Get static data from serverRec $serverName = $serverRec->name; $serverAddress = $selectedServer; if ( $configuringSupportServer ) $serverDescription = $serverRec->description; $serverVersion = $serverRec->version; if ( $refreshRequested ) { $serverOnline = $serverRec->online; $serverServices = $serverRec->services; $serverAdmin = new MgServerAdmin(); $serverAdmin->Open( $serverAddress, $userInfo ); foreach ( $serverProps as $props ) $props->GetProps( $serverAdmin ); $serverAdmin->Close(); } else { // Get submitted data if ( $configuringSupportServer && array_key_exists( $serverDescriptionID, $_POST ) ) $serverDescription = $_POST[ $serverDescriptionID ]; if ( array_key_exists( $serverOnlineID, $_POST ) ) $serverOnline = ( $_POST[ $serverOnlineID ] == 'Online' ); $serverServices = array(); if ( array_key_exists( $drawingServiceOnID, $_POST ) ) $serverServices[ DRAWING_SERVICE ] = true; else $serverServices[ DRAWING_SERVICE ] = false; if ( array_key_exists( $featureServiceOnID, $_POST ) ) $serverServices[ FEATURE_SERVICE ] = true; else $serverServices[ FEATURE_SERVICE ] = false; if ( array_key_exists( $mappingServiceOnID, $_POST ) ) $serverServices[ MAPPING_SERVICE ] = true; else $serverServices[ MAPPING_SERVICE ] = false; if ( array_key_exists( $renderingServiceOnID, $_POST ) ) $serverServices[ RENDERING_SERVICE ] = true; else $serverServices[ RENDERING_SERVICE ] = false; if ( array_key_exists( $tileServiceOnID, $_POST ) ) $serverServices[ TILE_SERVICE ] = true; else $serverServices[ TILE_SERVICE ] = false; GetServerGeneralPropVals( $_POST, $serverProps[ GENERAL_PROPS ] ); GetServerConnectionPropVals( $_POST, $serverProps[ ADMIN_CONN_PROPS ], 'admin' ); GetServerConnectionPropVals( $_POST, $serverProps[ CLIENT_CONN_PROPS ], 'client' ); GetServerConnectionPropVals( $_POST, $serverProps[ SITE_CONN_PROPS ], 'site' ); // Validate inputs. foreach ( $serverProps as $props ) $props->ValidateProps(); // Update description for support server if ( $configuringSupportServer ) $site->UpdateServer( $serverName, "", $serverDescription, $serverAddress ); // Set new properties $serverAdmin = new MgServerAdmin(); $serverAdmin->Open( $serverAddress, $userInfo ); SetOnline( $serverAdmin, $serverOnline ); SetOptionalServerServices( $serverAdmin, $serverServices ); foreach ( $serverProps as $props ) $props->SetProps( $serverAdmin ); $serverAdmin->Close(); $confirmationMsg = sprintf( $confSuccessfulUpdate, $serverName ); SaveSessionVars(); header( 'Location: servermanagement.php?'.strip_tags(SID) ); exit(); } } catch ( MgException $e ) { CheckForFatalMgException( $e ); $errorMsg = $e->GetExceptionMessage(); } catch ( Exception $e ) { $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( $menuItem ); ?> <!-- Contents Area --> <?php BeginContentArea( $formName ); ?> <?php DeclareHiddenVars( $pageName ); DisplayTitleBar( $pageTitle, $helpPage ); DisplaySaveCancelBar(); DisplayConfirmationMsg( $confirmationMsg ); DisplayErrorMsg( $errorMsg ); ?> <!-- Input Area --> <?php if ( $pageEnabled ) $enabledStr = ""; else $enabledStr = " disabled "; ?> <br> <!--TODO: What class is that table(KNN) --> <table class="serviceSelector"> <tr> <td class="serviceSelectorLabel" >IP address:</td> <td class="serviceSelectorValue"><?php echo $serverAddress;?><br></td> </tr> <tr> <td class="serviceSelectorLabel" >Version:</td> <td class="serviceSelectorValue"><?php echo $serverVersion;?><br></td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td class="connectionStatusLabel">Connection status:</td> <td class="connectionsStatusValue" > <?php $onlineSelector = new OnlineSelectorRecord(); $onlineSelector->onlineID = $serverOnlineID; $onlineSelector->onlineVal = $serverOnline; $onlineSelector->enabled = $pageEnabled; DisplayOnlineSelector( $onlineSelector ); ?> </td> </tr> </table> <?php DisplayServerGeneralPropVals( $pageEnabled, $serverProps[ GENERAL_PROPS ] ); DisplayServerConnectionPropVals( $pageEnabled, $serverProps[ ADMIN_CONN_PROPS ], 'admin', 'Administrative Connection Properties' ); DisplayServerConnectionPropVals( $pageEnabled, $serverProps[ CLIENT_CONN_PROPS ], 'client', 'Client Connection Properties' ); DisplayServerConnectionPropVals( $pageEnabled, $serverProps[ SITE_CONN_PROPS ], 'site', 'Site Connection Properties' ); ?> <br> <?php DisplaySaveCancelBar(); ?> <?php if ( $serverRec->poweredUp ) EndContentArea( true, $formName, DISPLAY_NAME_ID); else EndContentArea( true, $formName, ""); ?> </td> <!-- End of Contents Area --> </tr> </table> </body> </html>