diff options
Diffstat (limited to 'web/testdrive.php')
-rw-r--r-- | web/testdrive.php | 256 |
1 files changed, 129 insertions, 127 deletions
diff --git a/web/testdrive.php b/web/testdrive.php index b6e65b8..a313f39 100644 --- a/web/testdrive.php +++ b/web/testdrive.php @@ -1,37 +1,39 @@ <?php - $build_id = $_GET["uuid"]; - $buildresult = "Unknown!"; - $inprogress = false; + $buildID = $_GET["uuid"]; + $buildresult = "Unknown!"; + $inprogress = false; - $db = mysql_connect("localhost","gentoaster",""); - if(!$db) die("Could not connect to database ".mysql_error()."\n"); + $db = mysql_connect("localhost", "gentoaster", ""); + if (!$db) die("Could not connect to database ".mysql_error()."\n"); mysql_select_db("gentoaster"); - $result = mysql_query("SELECT handle FROM builds WHERE id = '".mysql_real_escape_string($build_id)."'"); - if(mysql_num_rows($result) == 1) { + $result = mysql_query("SELECT handle FROM builds WHERE id = '".mysql_real_escape_string($buildID)."'"); + if (mysql_num_rows($result) == 1) { $handles = mysql_fetch_array($result); $handle = $handles[0]; $client = new GearmanClient(); $client->addServer(); $status = $client->jobStatus($handle); - if($status[0]) { - header("Location: status.php?uuid=".$build_id); + if ($status[0]) { + header("Location: status.php?uuid=".$buildID); } else { - $result = mysql_query("SELECT returncode, result FROM builds WHERE id = '".mysql_real_escape_string($build_id)."'"); + $cleanBuildID = mysql_real_escape_string($buildID); + $query = "SELECT returncode, result FROM builds WHERE id = '".$cleanBuildID."'"; + $result = mysql_query(); $jobres = mysql_fetch_array($result); - if($jobres[0] !== NULL) { - if($jobres[0] == 0) { - // we're built, let's do this - $client = new GearmanClient(); - $client->addServer(); - $server = $client->do("invoke_start_image", $build_id); - $server = unserialize($server); + if ($jobres[0] !== NULL) { + if ($jobres[0] == 0) { + // we're built, let's do this + $client = new GearmanClient(); + $client->addServer(); + $server = $client->do("invoke_start_image", $buildID); + $server = unserialize($server); } else { - header("Location: status.php?uuid=".$build_id); + header("Location: status.php?uuid=".$buildID); } } else { - header("Location: status.php?uuid=".$build_id); + header("Location: status.php?uuid=".$buildID); } } } else { @@ -40,114 +42,114 @@ ?> <html> - <head> - <title>Gentoaster</title> - <link rel="stylesheet" type="text/css" href="css/style.css"> - <link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.14.custom.css"> - <script type="text/javascript" src="/js/jquery-1.5.1.min.js"></script> - <script type="text/javascript" src="/js/jquery-ui-1.8.14.custom.min.js"></script> + <head> + <title>Gentoaster</title> + <link rel="stylesheet" type="text/css" href="css/style.css"> + <link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.14.custom.css"> + <script type="text/javascript" src="/js/jquery-1.5.1.min.js"></script> + <script type="text/javascript" src="/js/jquery-ui-1.8.14.custom.min.js"></script> <script type="text/javascript" src="include/vnc.js"></script> - </head> - <body> - <div id="container"> - <div id="header"></div> - <div id="content"> - <div id="main"> - <div id="status" class="step"> - <h1>Let's fire her up!</h1> - <center> - <div id="VNC_screen"> - <div id="VNC_status_bar" class="VNC_status_bar" style="margin-top: -25px;"> - <table border=0 width="100%"><tr> - <td><div id="VNC_status" style="display: none;">Loading</div></td> - <td width="1%"><div id="VNC_buttons"> - <input type=button value="Send CtrlAltDel" - id="sendCtrlAltDelButton"> - </div></td> - </tr></table> - </div> - <canvas id="VNC_canvas" width="640px" height="20px"> - Canvas not supported. - </canvas> - </div> - </center> - - <script> - /*jslint white: false */ - /*global window, $, Util, RFB, */ - "use strict"; - - var rfb; - - function passwordRequired(rfb) { - var msg; - msg = '<form onsubmit="return setPassword();"'; - msg += ' style="margin-bottom: 0px">'; - msg += 'Password Required: '; - msg += '<input type=password size=10 id="password_input" class="VNC_status">'; - msg += '<\/form>'; - $D('VNC_status_bar').setAttribute("class", "VNC_status_warn"); - $D('VNC_status').innerHTML = msg; - } - function setPassword() { - rfb.sendPassword($D('password_input').value); - return false; - } - function sendCtrlAltDel() { - rfb.sendCtrlAltDel(); - return false; - } - function updateState(rfb, state, oldstate, msg) { - var s, sb, cad, level; - s = $D('VNC_status'); - sb = $D('VNC_status_bar'); - cad = $D('sendCtrlAltDelButton'); - switch (state) { - case 'failed': level = "error"; break; - case 'fatal': level = "error"; break; - case 'normal': level = "normal"; break; - case 'disconnected': level = "normal"; break; - case 'loaded': level = "normal"; break; - default: level = "warn"; break; - } - - if (state === "normal") { cad.disabled = false; } - else { cad.disabled = true; } - - if (typeof(msg) !== 'undefined') { - sb.setAttribute("class", "VNC_status_" + level); - s.innerHTML = msg; - } - } - - function connect() { - var host, port, password; - - $D('sendCtrlAltDelButton').onclick = sendCtrlAltDel; - - host = "<?php echo $server[0]; ?>"; - port = <?php echo $server[1]; ?>; - password = ""; - - rfb = new RFB({'target': $D('VNC_canvas'), - 'encrypt': WebUtil.getQueryVar('encrypt', false), - 'true_color': WebUtil.getQueryVar('true_color', true), - 'local_cursor': WebUtil.getQueryVar('cursor', true), - 'shared': WebUtil.getQueryVar('shared', true), - 'updateState': updateState, - 'onPasswordRequired': passwordRequired}); - rfb.connect(host, port, password); - }; - - setTimeout("connect()", 2000); - </script> - </div> - </div> - <div id="navigation"> + </head> + <body> + <div id="container"> + <div id="header"></div> + <div id="content"> + <div id="main"> + <div id="status" class="step"> + <h1>Let's fire her up!</h1> + <center> + <div id="VNC_screen"> + <div id="VNC_status_bar" class="VNC_status_bar" style="margin-top: -25px;"> + <table border=0 width="100%"><tr> + <td><div id="VNC_status" style="display: none;">Loading</div></td> + <td width="1%"><div id="VNC_buttons"> + <input type=button value="Send CtrlAltDel" + id="sendCtrlAltDelButton"> + </div></td> + </tr></table> + </div> + <canvas id="VNC_canvas" width="640px" height="20px"> + Canvas not supported. + </canvas> + </div> + </center> + + <script> + /*jslint white: false */ + /*global window, $, Util, RFB, */ + "use strict"; + + var rfb; + + function passwordRequired(rfb) { + var msg; + msg = '<form onsubmit="return setPassword();"'; + msg += ' style="margin-bottom: 0px">'; + msg += 'Password Required: '; + msg += '<input type=password size=10 id="password_input" class="VNC_status">'; + msg += '<\/form>'; + $D('VNC_status_bar').setAttribute("class", "VNC_status_warn"); + $D('VNC_status').innerHTML = msg; + } + function setPassword() { + rfb.sendPassword($D('password_input').value); + return false; + } + function sendCtrlAltDel() { + rfb.sendCtrlAltDel(); + return false; + } + function updateState(rfb, state, oldstate, msg) { + var s, sb, cad, level; + s = $D('VNC_status'); + sb = $D('VNC_status_bar'); + cad = $D('sendCtrlAltDelButton'); + switch (state) { + case 'failed': level = "error"; break; + case 'fatal': level = "error"; break; + case 'normal': level = "normal"; break; + case 'disconnected': level = "normal"; break; + case 'loaded': level = "normal"; break; + default: level = "warn"; break; + } + + if (state === "normal") { cad.disabled = false; } + else { cad.disabled = true; } + + if (typeof(msg) !== 'undefined') { + sb.setAttribute("class", "VNC_status_" + level); + s.innerHTML = msg; + } + } + + function connect() { + var host, port, password; + + $D('sendCtrlAltDelButton').onclick = sendCtrlAltDel; + + host = "<?php echo $server[0]; ?>"; + port = <?php echo $server[1]; ?>; + password = ""; + + rfb = new RFB({'target': $D('VNC_canvas'), + 'encrypt': WebUtil.getQueryVar('encrypt', false), + 'true_color': WebUtil.getQueryVar('true_color', true), + 'local_cursor': WebUtil.getQueryVar('cursor', true), + 'shared': WebUtil.getQueryVar('shared', true), + 'updateState': updateState, + 'onPasswordRequired': passwordRequired}); + rfb.connect(host, port, password); + }; + + setTimeout("connect()", 2000); + </script> + </div> + </div> + <div id="navigation"> - </div> - </div> - </div> - </script> - </body> + </div> + </div> + </div> + </script> + </body> </html>
\ No newline at end of file |