showproject.php3 4.39 KB
Newer Older
1
2
<?php
include("defs.php3");
3
include("showstuff.php3");
4

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


11
12
13
14
15
16
17
18
19
20
#
# Note the difference with which this page gets it arguments!
# I invoke it using GET arguments, so uid and pid are are defined
# without having to find them in URI (like most of the other pages
# find the uid).
#

#
# Only known and logged in users can end experiments.
#
21
$uid = GETLOGIN();
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
LOGGEDINORDIE($uid);

$isadmin = ISADMIN($uid);

#
# Verify form arguments.
# 
if (!isset($pid) ||
    strcmp($pid, "") == 0) {
    USERERROR("You must provide a project ID.", 1);
}

#
# Check to make sure thats this is a valid PID.
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
37
38
$query_result = 
    DBQueryFatal("SELECT * FROM projects WHERE pid='$pid'");
39
40
41
42
43
if (mysql_num_rows($query_result) == 0) {
  USERERROR("The project $pid is not a valid project.", 1);
}

#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
44
# Verify that this uid is a member of the project being displayed.
45
46
#
if (!$isadmin) {
Leigh B. Stoller's avatar
Leigh B. Stoller committed
47
48
49
    $query_result = 
        DBQueryFatal("SELECT trust FROM group_membership ".
		     "WHERE uid='$uid' and pid='$pid' and gid='$pid'");
50
51
52
53
54
    if (mysql_num_rows($query_result) == 0) {
        USERERROR("You are not a member of Project $pid.", 1);
    }
}

55
SHOWPROJECT($pid, $uid);
56

57
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
58
# A list of project members (from the default group).
59
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
60
61
62
63
$query_result =
    DBQueryFatal("SELECT m.*,u.* FROM group_membership as m ".
		 "left join users as u on u.uid=m.uid ".
		 "WHERE pid='$pid' and gid='$pid'");
64
65
66
67
68
69
if (mysql_num_rows($query_result)) {
    echo "<center>
          <h3>Project Members</h3>
          </center>
          <table align=center border=1>\n";

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
    echo "<tr>
              <td align=center>Name</td>
              <td align=center>UID</td>
              <td align=center>Privs</td>
              <td align=center>Approved?</td>
          </tr>\n";

    while ($row = mysql_fetch_array($query_result)) {
        $target_uid = $row[uid];
	$usr_name   = $row[usr_name];
	$status     = $row[status];
	$trust      = $row[trust];

        echo "<tr>
                  <td>$usr_name</td>
                  <td>
                    <A href='showuser.php3?target_uid=$target_uid'>
                       $target_uid</A>
88
                  </td>
89
90
91
92
93
94
95
96
97
98
99
100
                  <td>$trust</td>\n";
	    
	if (strcmp($status, "active") == 0 ||
	    strcmp($status, "unverified") == 0) {
	    echo "<td align=center>
                      <img alt=\"Y\" src=\"greenball.gif\"></td>\n";
	}
	else {
	    echo "<td align=center>
                      <img alt=\"N\" src=\"redball.gif\"></td>\n";
	}
	echo "</tr>\n";
101
102
103
104
105
    }

    echo "</table>\n";
}

106
107
108
#
# A list of project experiments.
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
109
110
$query_result =
    DBQueryFatal("SELECT eid,expt_name FROM experiments WHERE pid='$pid'");
111
112
113
114
115
116
117
118
119
if (mysql_num_rows($query_result)) {
    echo "<center>
          <h3>Project Experiments</h3>
          </center>
          <table align=center border=1>\n";

    while ($row = mysql_fetch_row($query_result)) {
        $eid  = $row[0];
        $name = $row[1];
Leigh B. Stoller's avatar
Leigh B. Stoller committed
120
121
	if (!$name)
	    $name = "--";
122
123
        echo "<tr>
                  <td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
124
                      <A href='showexp.php3?pid=$pid&eid=$eid'>$eid</a>
125
                      </td>
Leigh B. Stoller's avatar
Leigh B. Stoller committed
126
                  <td>$name</td>
127
128
129
130
131
132
              </tr>\n";
    }

    echo "</table>\n";
}

Leigh B. Stoller's avatar
Leigh B. Stoller committed
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#
# A list of project Groups (if more than just the default).
#
$query_result =
    DBQueryFatal("SELECT * FROM groups WHERE pid='$pid'");
if (mysql_num_rows($query_result)) {
    echo "<center>
          <h3>Project Groups</h3>
          </center>
          <table align=center border=1>\n";

    echo "<tr>
              <td align=center>GID</td>
              <td align=center>Desription</td>
              <td align=center>Leader</td>
          </tr>\n";

    while ($row = mysql_fetch_array($query_result)) {
        $gid      = $row[gid];
        $desc     = $row[description];
	$leader   = $row[leader];

        echo "<tr>
                  <td>
                      <A href='showgroup.php3?pid=$pid&gid=$gid'>$gid</a>
                      </td>

                  <td>$desc</td>

	          <td><A href='showuser.php3?target_uid=$leader'>$leader</A>
                      </td>
              </tr>\n";
     
    }

    echo "</table>\n";
}

echo "<p><center>
       Do you want to create a group?
       <A href='newgroup_form.php3?pid=$pid'>Yes</a>
      </center>\n";

176
177
178
179
180
if ($isadmin) {
    echo "<p>
          <A href='deleteproject.php3?pid=$pid'>
             <font color=Red>Delete this project?</font></a>\n";
}
181
182
183
184
185

#
# Standard Testbed Footer
# 
PAGEFOOTER();
186
?>