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

Last change on this file since 10366 was 6657, checked in by bird, 24 years ago

Made main includes moveable.

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