source: trunk/tools/database/www/ProjectTeams.phtml@ 4920

Last change on this file since 4920 was 3914, checked in by bird, 25 years ago

Rewrote ProjectTeams.phtml. Misc.

File size: 7.8 KB
Line 
1<?php
2$Naziv="Teams Working on Project Odin";
3
4
5require "stilovi.php3";
6require "Odin32DBHelpers.php3";
7require "Odin32DBConnect.php3";
8
9require "01-PreTitle.php3";
10echo $Naziv;
11require "02-PostTitle.php3";
12
13require "03-MainTableBeg.php3";
14require "04-ColumnOne.php3";
15
16require "05-ColumnTwoHeader.php3";
17echo $Naziv;
18require "06-ColumnTwoHeader2.php3";
19
20
21TekstBeg();
22echo "
23 In order to better coordinate development, project members are
24 organized into teams that take care of specific issues, both
25 those that are tied to development and those relevant to
26 'supporting activities'. Each team has a separate mailing list
27 that it uses for coordination of activities. The WAI Team
28 (Win32 API Implementation), largest of all, has several groups
29 that cover separate sets of API functions. <p>
30
31 Teams working on Project Odin are:
32 ";
33TekstEnd();
34
35
36
37
38$sSql ="SELECT\n".
39 " refcode,\n".
40 " name,\n".
41 " longname,\n".
42 " description,\n".
43 " tasks,\n".
44 " notes\n".
45 "FROM\n".
46 " team\n".
47 "ORDER BY refcode\n";
48$Result = mysql_query($sSql, $db);
49if (!$Result)
50{
51 Odin32DBSqlError($sSql);
52 die("Failed to query teams from database!");
53}
54
55/*
56 * Loop thru all teams and display information about each.
57 */
58while ($aTeam = mysql_fetch_array($Result))
59{
60 Odin32DBNaslov2($aTeam["name"]." Team<br><font size=-1>(".$aTeam["longname"].")</font>",
61 $aTeam["name"]." Team<br><i>(".$aTeam["longname"].")</i>",
62 $aTeam["name"]);
63 /*
64 * Description
65 */
66 TekstBeg();
67 echo $aTeam["description"]."<p>\n";
68 TekstEnd();
69
70
71 /*
72 * If more than one group list them!
73 */
74 $sSql ="SELECT\n".
75 " refcode,\n".
76 " name,\n".
77 " description,\n".
78 " notes\n".
79 "FROM\n".
80 " tgroup\n".
81 "WHERE\n".
82 " team = ".$aTeam["refcode"]."\n".
83 "ORDER By refcode\n";
84 $Result2 = mysql_query($sSql, $db);
85 if (!$Result2)
86 {
87 echo "<tr><td>";
88 Odin32DBSqlError($sSql);
89 echo "</td></tr></table></table></table>";
90 die("team group sql failed");
91 }
92 $cGroups = mysql_num_rows($Result2);
93 if ($cGroups > 1)
94 {
95 TekstBeg();
96 echo "The ".$aTeam["name"]." Team consists of following groups with\n".
97 "accompanying tasks:";
98 TekstEnd();
99
100 GrayTableBeg("");
101 echo "<TR>";
102 GTCell("Group", "WIDTH=30% VALIGN=middle align=center", "d0d0d0");
103 GTCell("Task", "WIDTH=70% VALIGN=middle align=center", "d0d0d0");
104 echo "</TR>";
105
106 while ($aGroup = mysql_fetch_array($Result2))
107 {
108 echo "<TR>";
109 GTCell($aGroup["name"], "VALIGN=middle", "");
110 GTCell($aGroup["description"], "", "");
111 echo "</TR>";
112 }
113 GrayTableEnd();
114
115 if ($aTeam["name"] == 'WAI')
116 {
117 TekstBeg();
118 echo "\n".
119 " More detailed informations about each group's status and progress is available from\n";
120 LocLink("DevelopersOdin32WAI.phtml", "'Odin32 API' pages in 'Developers' section");
121 echo ".<p>\n";
122 TekstEnd();
123 }
124 }
125
126
127 /*
128 * List task, members, and notes table
129 */
130 TableBeg("");
131
132 /*
133 * tasks
134 */
135 if (isset($aTeam["tasks"]))
136 {
137 echo "<tr>\n";
138 TCell("<b>Tasks:</b>", "width=20% valign=top align=right");
139 TCell($aTeam["tasks"], "width=80%");
140 echo "</tr>\n",
141 "<tr><td colspan=2> &nbsp; </td></tr>\n";
142 }
143
144 /*
145 * members
146 */
147 $sSql ="SELECT DISTINCT\n".
148 " a.name AS name,\n".
149 " a.email AS email\n".
150 "FROM\n".
151 " tgroup,\n".
152 " tgroupmember,\n".
153 " author a\n".
154 "WHERE\n".
155 " tgroup.team = ".$aTeam["refcode"]." AND\n".
156 " tgroupmember.tgroup = tgroup.refcode AND\n".
157 " MOD(tgroupmember.tgroup, 1000) <> 999 AND\n". //Ignore the unassigned group (ends with 999).
158 " a.refcode = tgroupmember.author\n".
159 "ORDER BY codemaintainer DESC, last, name\n";
160 $Result2 = mysql_query($sSql, $db);
161 if (!$Result2)
162 {
163 echo "<tr><td>";
164 Odin32DBSqlError($sSql);
165 echo "</td></tr></table></table></table>";
166 die("team member sql failed");
167 }
168 if (mysql_num_rows($Result2) > 0)
169 {
170 $sMembers = "";
171 while ($aMember = mysql_fetch_array($Result2))
172 $sMembers = $sMembers."<li> ".
173 (isset($aMember["email"])
174 ? "<a href=\"mailto:".$aMember["email"]."\">". $aMember["name"]."</a>\n"
175 : $aMember["name"]."\n");
176
177 echo "<tr>\n";
178 TCell("<b>Members:</b>", "width=20% valign=top align=right");
179 TCell($sMembers, "width=80%");
180 echo "</tr>\n",
181 "<tr><td colspan=2> &nbsp; </td></tr>\n";
182 }
183
184 /*
185 * Unassigned members if $cGroups > 1
186 */
187 if ($cGroups > 1)
188 {
189 $sSql ="SELECT DISTINCT\n".
190 " a.name AS name,\n".
191 " a.email AS email\n".
192 "FROM\n".
193 " tgroup,\n".
194 " tgroupmember,\n".
195 " author a\n".
196 "WHERE\n".
197 " tgroup.team = ".$aTeam["refcode"]." AND\n".
198 " tgroupmember.tgroup = tgroup.refcode AND\n".
199 " MOD(tgroupmember.tgroup, 1000) = 999 AND\n". //Only the unassigned group (ends with 999).
200 " a.refcode = tgroupmember.author\n".
201 "ORDER BY last, name\n";
202 $Result2 = mysql_query($sSql, $db);
203 if (!$Result2)
204 {
205 echo "<tr><td>";
206 Odin32DBSqlError($sSql);
207 echo "</td></tr></table></table></table>";
208 die("team member sql failed");
209 }
210 if (mysql_num_rows($Result2) > 0)
211 {
212 $sMembers = "<i>";
213 while ($aMember = mysql_fetch_array($Result2))
214 $sMembers = $sMembers."<li> ".
215 (isset($aMember["email"])
216 ? "<a href=\"mailto:".$aMember["email"]."\">". $aMember["name"]."</a>\n"
217 : $aMember["name"]."\n");
218
219 echo "<tr>\n";
220 TCell("<b>Unassigned:</b>", "width=20% valign=top align=right");
221 TCell($sMembers."</i>", "width=80%");
222 echo "</tr>\n",
223 "<tr><td colspan=2> &nbsp; </td></tr>\n";
224
225 /* note if WAI */
226 if ($aTeam["name"] == "WAI")
227 {
228 TableEnd();
229 TekstBeg("");
230 echo "\n".
231 " <i>Unassigned</i> members are listed in italic. Detailed\n".
232 " information about each member's assignment is available from <a\n".
233 " href=DevelopersOdin32API.phtml>Odin32 API pages in 'Developers'\n".
234 " section</a>.<p>\n";
235 TekstEnd();
236 TableBeg("");
237 }
238 }
239 }
240
241
242 /*
243 * notes
244 */
245 if (isset($aTeam["notes"]))
246 {
247 echo "<tr>\n";
248 TCell("<b>Notes:</b>", "width=20% valign=top align=right");
249 TCell($aTeam["notes"], "width=80%");
250 echo "</tr>\n",
251 "<tr><td colspan=2> &nbsp; </td></tr>\n";
252 }
253
254 /* end of task, members, notes table */
255 TableEnd();
256
257}
258
259
260
261require "07-ColumnTwoFooter.php3";
262require "08-News.php3";
263require "09-ContentsTitle.php3";
264Odin32DBWriteContents();
265require "10-EndOfContent.php3";
266require "11-NetlabsContact.php3";
267
268$Kada=date ("j M Y", filemtime(__file__));
269require "12-OdinBanner.php3";
270
271require "13-Closing.php3";
272?>
Note: See TracBrowser for help on using the repository browser.