<?php /** * @file index.php * @version $Id: desktop.php 2934 2015-06-03 13:23:22Z elena $ * */ require_once('php/config.php'); // error_reporting(E_ALL); if (!isset($_POST['username'])) die('<a href="index.html">LOGIN SVP</a>'); $usrMgr = new UserMgr(); $sessionID = $usrMgr->init(); //AKKA - Delete immediate results is now done in AmdaApp.js // ToDo : do the same mechanism for simu files and simuparams //delete immediate results if logout was not proper //$jobsMgr = new JobsMgr(); //$jobsMgr->deleteTmp(); //delete simu files & clean simuparams in base.xml and WSparam.xml $myBaseMgr = new BaseManager(); $myBaseMgr->delSimuFiles("mywsrdata"); $myBaseMgr->delSimuFiles("mysimudata"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="PRAGMA" content="NO-CACHE"> <meta http-equiv="CACHE-CONTROL" content="NO-CACHE"> <meta http-equiv="EXPIRES" content="-1"> <title>AMDA-NG4/Migration Step - Virtual Desktop Application</title> <link rel="stylesheet" type="text/css" href="js/resources/css/desktop.css" /> <link rel="stylesheet" type="text/css" href="js/resources/css/amda.css" /> <link rel="stylesheet" type="text/css" href="js/lib/ext/resources/css/ext-all.css" /> <link rel="icon" href="favicon.ico" type="image/x-icon"> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> <!-- <script type="text/javascript" src="js/lib/ext/builds/ext-core.js"></script> --> <!-- <script type="text/javascript" src="js/lib/ext/bootstrap.js"></script> --> <script type="text/javascript" src="js/lib/ext/ext-all-debug-w-comments.js"></script> <!-- <script type="text/javascript" src="js/lib/ext/ext-all.js"></script> --> <!-- <script type="text/javascript" src="js/lib/ext/ext-all-dev.js"> --> <script type="text/javascript" src="js/lib/ext-override.js"></script> <!-- Direct API --> <script type="text/javascript" src="php/api.php"></script> <!-- <script src="help/movies/Resources/scripts/prototype.js" language="JavaScript" type="text/javascript"></script> <script src="help/movies/Resources/scripts/qtp_poster.js" language="JavaScript" type="text/javascript"></script> <link href="help/movies/Resources/stylesheets/qtp_poster.css" rel="StyleSheet" type="text/css" /> ---> <script type="text/javascript"> //Enable dynamic loading for improved debugging support Ext.Loader.setConfig({enabled: true}); Ext.Loader.setPath({ 'Ext' : 'js/lib/ext/src', 'Ext.ux.desktop' : 'js/lib/ux/desktop', 'Ext.ux' : 'js/lib/ext/examples/ux', 'MyDesktop' : 'js/lib/ux/desktop/exampleModules', 'extensions' : 'js/lib/ux', 'Ext.ux.amdaGrid' : 'js/lib/ux/grid', 'samp' : 'js/lib/SAMP', 'amdaDesktop' : 'js/app/controllers', 'amdaUI' : 'js/app/views', 'amdaPlotComp' : 'js/app/views/PlotComponents', 'amdaModel' : 'js/app/models', 'amdaPlotObj' : 'js/app/models/PlotObjects', 'amdaReader' : 'js/app/stores', 'amdaApp' : 'js/app' }); Ext.require('amdaDesktop.AmdaStateProvider'); Ext.direct.Manager.addProvider(Ext.app.REMOTING_API); Ext.require('amdaDesktop.JobsMgr'); Ext.require('amdaApp.AmdaApp'); var myDesktopApp; var sessionID = '<?php echo $sessionID; ?>'; var isFirstVisit = '<?php echo $usrMgr->isFirst; ?>'; var isSpecialInfo = '<?php echo $usrMgr->isSpecialInfo; ?>'; var isNewInfo = '<?php echo $usrMgr->isNewInfo; ?>'; var news = '../data/' + sessionID + '/INFO'; var AMDAVERSION = '<?php if (defined('AMDA_VERSION')) echo AMDA_VERSION;?>'; var wsSize = '<?php echo $usrMgr->getWsSize(); ?>'; var diskQuota = '<?php echo DISK_QUOTA; ?>'; var freeSpace = diskQuota - wsSize; var helpDir = 'help/'; var isGuest = sessionID.match('guest'); var guestSessionDuration = '<?php echo GuestSessionDuration*60; ?>'; // in secs var maxGuestTimeInterval = '<?php echo MaxGuestTimeInterval; ?>'; // in days //create mask class (LoadMask for elements has been deprecated, use Ext.dom.Element.mask & Ext.dom.Element.unmask) var AMDAMask = new Ext.Class({ show : function(interactivePlot) { var msg = 'Processing...Please wait'; if (interactivePlot) msg += ' <br/> <p align="center"><input id="killopBtn" type="button" value="Kill process" /></p>'; var mask = Ext.getBody().mask(msg); mask.dom.style.zIndex = '99998'; var maskMsg = Ext.DomQuery.select('div[class=x-mask-msg]'); if (maskMsg) maskMsg = maskMsg[0]; if (maskMsg) maskMsg.style.zIndex = '99999'; if (interactivePlot) { var killBtn = Ext.get('killopBtn'); killBtn.on('click',function(e,t) { AmdaAction.killPlotRequest(function (result, e) { var t = e.getTransaction(); if (e.status) { if (!result) myDesktopApp.errorMsg('Cannot kill process'); } else myDesktopApp.errorMsg(e.message); },this); }, this); } }, hide : function() { Ext.getBody().unmask(); this.tid = null; }, isMasked : function() { return Ext.getBody().isMasked(); } }); var loadMask; Ext.onReady(function () { //TODO update jobsStatus onLogin Ext.Ajax.extraParams = {sessionID : sessionID}; Ext.Ajax.timeout = 600000; Ext.Ajax.on('requestexception', function(conn, response, options, e) { if (loadMask && loadMask.isMasked()) loadMask.hide(); if (response && response.statusText) myDesktopApp.errorMsg(response.statusText); else myDesktopApp.errorMsg('Communication failure'); }); // backspace key disable Ext.EventManager.on(window, 'keydown', function(e, t) { if (e.getKey() == e.BACKSPACE && ((!/^input$/i.test(t.tagName) && !/^textarea$/i.test(t.tagName)) || t.disabled || t.readOnly)) { e.stopEvent(); } }); var stateProvider = Ext.create('amdaDesktop.AmdaStateProvider'); stateProvider.on({ scope: this, afterrestore: function(provider) { amdaDesktop.JobsMgr.getStatus(); Ext.state.Manager.setProvider(provider); myDesktopApp = new amdaApp.AmdaApp(); // global message bus myDesktopApp.EventManager = new Ext.util.Observable(); // not needed - for documentation only myDesktopApp.EventManager.addEvents('refresh'); loadMask = new AMDAMask(); } }); stateProvider.restoreState(); }); </script> </head> <body/> </html>