aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/testdrive.php')
-rw-r--r--web/testdrive.php256
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