function controlMain(name, cmd, frame) { var scriptBody = ""; if (name.length > 0) { var app = new appObject(); app.setFromName(name); var defaults = new appDefaults(); if (cmd == "debug") { var active = app.isActive(); if (!active) { active = app.Start(); if (!active) { if (used(frame)) { scriptBody += "alert('Unable to start application:\\nError: " + app.error + "');\n"; } else { writeError('Unable to start application: "' + app.error + '"'); } } } if (active) { if (defaults.debug == "same") { scriptBody += "var win = window.open(" + '""' + ", " + '"' + "debug_" + app.name + '"' + ");\n"; scriptBody += "win.location.href = '" + getServerRoot() + "/appmgr/debug.html?name=" + app.name + "';\n"; } else { // scriptBody += "window.open(" + '"' + app.uri + '/"' + ", " + '"' + "run_" + app.name + '"' + ");\n"; // scriptBody += "window.open(" + '"trace.html?name=' + app.name + '"' + ", " + '"' + "debug_" + app.name + '"' + ', "' + "toolbar=yes,location=no,directories=no,status=no,menubar=0,scrollbars=yes,resizable=yes,copyhistory=yes,width=600,height=500" + '"' + ");\n"; scriptBody += "var winrun = window.open(" + '""' + ", " + '"' + "run_" + app.name + '"' + ");\n"; scriptBody += "winrun.location.href = '" + getServerRoot() + app.uri + "/';\n"; if (request.agent.indexOf("Win", 0) == -1) { scriptBody += "var wintrace = window.open(" + '""' + ", " + '"' + "debug_" + app.name + '"' + ', "' + "toolbar=no,location=no,directories=no,status=no,menubar=0,scrollbars=yes,resizable=yes,copyhistory=yes,width=600,height=500" + '"' + ");\n"; scriptBody += "wintrace.location.href = '" + getServerRoot() + "/appmgr/trace.html?name=" + app.name + "';\n"; } else { scriptBody += "window.open(" + '"trace.html?name=' + app.name + '"' + ", " + '"' + "debug_" + app.name + '"' + ', "' + "toolbar=no,location=no,directories=no,status=no,menubar=0,scrollbars=yes,resizable=yes,copyhistory=yes,width=600,height=500" + '"' + ");\n"; } } } } if (cmd == "run") { if (app.isActive()) { // scriptBody += "window.open(" + '"' + app.uri + '/"' + ", " + '"' + "run_" + app.name + '"' + ");\n"; scriptBody += "var winrun = window.open(" + '""' + ", " + '"' + "run_" + app.name + '"' + ");\n"; scriptBody += "winrun.location.href = '" + getServerRoot() + app.uri + "/';\n"; } else { if (app.Start()) { // scriptBody += "window.open(" + '"' + app.uri + '/"' + ", " + '"' + "run_" + app.name + '"' + ");\n"; scriptBody += "var winrun = window.open(" + '""' + ", " + '"' + "run_" + app.name + '"' + ");\n"; scriptBody += "winrun.location.href = '" + getServerRoot() + app.uri + "/';\n"; } else { if (used(frame)) { scriptBody += "alert('Unable to start application:\\nError: " + app.error + "');\n"; } else { writeError('Unable to start application: "' + app.error + '"'); } } } } else if (cmd == "start") { if (app.Start()) { if (defaults.confirmstart == "on") { if (used(frame)) { scriptBody += "alert('Application " + '"' + name + '"' + "\\nhas been started');\n"; } else { writeWarn('Application "' + name + '" has been started'); } } } else { if (used(frame)) { scriptBody += "alert('Unable to start application:\\nError: " + app.error + "');\n"; } else { writeError('Unable to start application: "' + app.error + '"'); } } } else if (cmd == "stop") { if (app.Stop()) { if (defaults.confirmstop == "on") { if (used(frame)) { scriptBody += "alert('Application " + '"' + name + '"' + "\\nhas been stopped');\n"; } else { writeWarn('Application "' + name + '" has been stopped'); } } } else { if (used(frame)) { scriptBody += "alert('Unable to stop application:\\nError: " + app.error + "');\n"; } else { writeError('Unable to stop application: "' + app.error + '"'); } } } else if (cmd == "restart") { if (app.Restart()) { if (defaults.confirmrestart == "on") { if (used(frame)) { scriptBody += "alert('Application " + '"' + name + '"' + "\\nhas been restarted');\n"; } else { writeWarn('Application "' + name + '" has been restarted'); } } } else { if (used(frame)) { scriptBody += "alert('Unable to restart application:\\nError: " + app.error + "');\n"; } else { writeError('Unable to restart application: "' + app.error + '"'); } } } if (used(frame)) { writeln(app); } else { writeSuccess(); } } else { if (used(frame)) scriptBody += 'window.parent.frames[1].location.href = "manage.html?cmd=init";\n'; else writeSuccess(); } writeClientScript(scriptBody); } client.expiration(60*60*24*30); // Save configuration for 30 days controlMain(request.name, request.cmd, request.frame);