showexp.php3 3.99 KB
Newer Older
Leigh B. Stoller's avatar
Leigh B. Stoller committed
1 2
<?php
include("defs.php3");
3
include("showstuff.php3");
Leigh B. Stoller's avatar
Leigh B. Stoller committed
4

5 6 7 8 9
#
# Standard Testbed Header
#
PAGEHEADER("Show Experiment Information");

10 11 12
#
# Only known and logged in users can end experiments.
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
13 14
$uid = "";
if ( ereg("php3\?([[:alnum:]]+)",$REQUEST_URI,$Vals) ) {
15 16
    $uid=$Vals[1];
    addslashes($uid);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
17
} else {
18
    unset($uid);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
19
}
20
LOGGEDINORDIE($uid);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
21

22 23
$isadmin = ISADMIN($uid);

Leigh B. Stoller's avatar
Leigh B. Stoller committed
24
#
25 26
# Verify form arguments.
# 
27 28 29 30 31
if (!isset($exp_pideid) ||
    strcmp($exp_pideid, "") == 0) {
    USERERROR("You must provide an experiment ID.", 1);
}

Leigh B. Stoller's avatar
Leigh B. Stoller committed
32
#
33 34 35 36 37 38 39
# First get the project (PID) from the form parameter, which came in
# as <pid>$$<eid>.
#
$exp_eid = strstr($exp_pideid, "$$");
$exp_eid = substr($exp_eid, 2);
$exp_pid = substr($exp_pideid, 0, strpos($exp_pideid, "$$", 0));

Leigh B. Stoller's avatar
Leigh B. Stoller committed
40
#
41
# Check to make sure thats this is a valid PID/EID tuple.
Leigh B. Stoller's avatar
Leigh B. Stoller committed
42 43
#
$query_result = mysql_db_query($TBDBNAME,
44 45 46 47 48
	"SELECT * FROM experiments WHERE ".
        "eid=\"$exp_eid\" and pid=\"$exp_pid\"");
if (mysql_num_rows($query_result) == 0) {
  USERERROR("The experiment $exp_eid is not a valid experiment ".
            "in project $exp_pid.", 1);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
49
}
50
$exprow = mysql_fetch_array($query_result);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
51

52 53 54 55
#
# Verify that this uid is a member of the project for the experiment
# being displayed.
#
56 57
if (!$isadmin) {
    $query_result = mysql_db_query($TBDBNAME,
58
	"SELECT pid FROM proj_memb WHERE uid=\"$uid\" and pid=\"$exp_pid\"");
59 60 61 62
    if (mysql_num_rows($query_result) == 0) {
        USERERROR("You are not a member of Project $exp_pid for ".
                  "Experiment: $exp_eid.", 1);
    }
Leigh B. Stoller's avatar
Leigh B. Stoller committed
63 64 65 66 67 68 69 70 71
}
?>

<center>
<h1>Experiment Information</h1>
<table align="center" border="1">

<?php

72 73 74 75 76 77 78
$exp_expires = $exprow[expt_expires];
$exp_name    = $exprow[expt_name];
$exp_created = $exprow[expt_created];
$exp_start   = $exprow[expt_start];
$exp_end     = $exprow[expt_end];
$exp_created = $exprow[expt_created];
$exp_head    = $exprow[expt_head_uid];
Leigh B. Stoller's avatar
Leigh B. Stoller committed
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

#
# Generate the table.
# 
echo "<tr>
          <td>Name: </td>
          <td class=\"left\">$exp_eid</td>
      </tr>\n";

echo "<tr>
          <td>Long Name: </td>
          <td class=\"left\">$exp_name</td>
      </tr>\n";

echo "<tr>
          <td>Project: </td>
95
          <td class=\"left\">$exp_pid</td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
96 97 98
      </tr>\n";

echo "<tr>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
99
          <td>Experiment Head: </td>
100 101 102
          <td class=\"left\">
              <A href='showuser.php3?uid=$uid&target_uid=$exp_head'>
                 $exp_head</td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
      </tr>\n";

echo "<tr>
          <td>Created: </td>
          <td class=\"left\">$exp_created</td>
      </tr>\n";

echo "<tr>
          <td>Starts: </td>
          <td class=\"left\">$exp_start</td>
      </tr>\n";

echo "<tr>
          <td>Ends: </td>
          <td class=\"left\">$exp_end</td>
      </tr>\n";

echo "<tr>
          <td>Expires: </td>
          <td class=\"left\">$exp_expires</td>
      </tr>\n";

?>
</table>
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141

<?php

#
# Suck out the node information.
# 
$reserved_result = mysql_db_query($TBDBNAME,
	"SELECT * FROM reserved WHERE ".
        "eid=\"$exp_eid\" and pid=\"$exp_pid\"");
if (mysql_num_rows($reserved_result)) {
    echo "<h3>Reserved Nodes</h3>
          <table align=center border=1>
          <tr>
              <td>Node ID</td>
              <td>Node Type</td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
142
              <td>Default Image</td>
143 144 145 146 147 148
          </tr>\n";

    #
    # I'm so proud!
    #
    $query_result = mysql_db_query($TBDBNAME,
Leigh B. Stoller's avatar
Leigh B. Stoller committed
149 150
	"SELECT nodes.node_id, nodes.type, nodes.def_boot_image_id ".
        "FROM nodes LEFT JOIN reserved ".
151 152 153 154 155 156
        "ON nodes.node_id=reserved.node_id ".
        "WHERE reserved.eid=\"$exp_eid\" and reserved.pid=\"$exp_pid\"");

    while ($row = mysql_fetch_array($query_result)) {
        $node_id = $row[node_id];
        $type    = $row[type];
Leigh B. Stoller's avatar
Leigh B. Stoller committed
157
        $defid   = $row[def_boot_image_id];
158 159 160
        echo "<tr>
                  <td>$node_id</td>
                  <td>$type</td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
161
                  <td>$defid</td>
162 163 164 165 166
              </tr>\n";
    }
    echo "</table>\n";
}

Leigh B. Stoller's avatar
Leigh B. Stoller committed
167 168
#
# Lets dump the project information too.
169
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
170 171
echo "<center>
      <h3>Project Information</h3>
172
      </center>\n";
173
SHOWPROJECT($exp_pid, $uid);
Leigh B. Stoller's avatar
Leigh B. Stoller committed
174

175 176 177 178
#
# Standard Testbed Footer
# 
PAGEFOOTER();
179
?>