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
?>