1 | <?php
|
---|
2 | $Naziv="Odin32 API Implementation";
|
---|
3 |
|
---|
4 | $sMainDir = "../";
|
---|
5 |
|
---|
6 | require $sMainDir."stilovi.php3";
|
---|
7 | require "Odin32DBHelpers.php3";
|
---|
8 |
|
---|
9 | /* Profiling */
|
---|
10 | $sPageTimer = Odin32DBTimerStart("page timer");
|
---|
11 | /* Profiling */
|
---|
12 |
|
---|
13 |
|
---|
14 | require $sMainDir."01-PreTitle.php3";
|
---|
15 | echo $Naziv;
|
---|
16 | require $sMainDir."02-PostTitle.php3";
|
---|
17 |
|
---|
18 | require $sMainDir."03-MainTableBeg.php3";
|
---|
19 | require $sMainDir."04-ColumnOne.php3";
|
---|
20 |
|
---|
21 | require $sMainDir."05-ColumnTwoHeader.php3";
|
---|
22 | echo $Naziv;
|
---|
23 | require $sMainDir."06-ColumnTwoHeader2.php3";
|
---|
24 |
|
---|
25 |
|
---|
26 | TekstBeg();
|
---|
27 | echo "
|
---|
28 | This page is the starting point for geting detailed informations
|
---|
29 | about WAI team groups and their status/progress. For overview
|
---|
30 | of this and other teams, refer to the
|
---|
31 | ";
|
---|
32 | LocLink("ProjectTeams.phtml", "project teams page");
|
---|
33 | echo ".<p>
|
---|
34 |
|
---|
35 | <b>CVS write access is limited to maintainer(s) of specific DLL file.</b>
|
---|
36 | All source changes will have to be sent to the maintainer(s) of the
|
---|
37 | the dll. (see below) They will add your update to the source tree
|
---|
38 | unless they feel it will cause more harm than good. (in which case
|
---|
39 | the maintainers and the person that has sent in the changes will
|
---|
40 | have to settle their differences). <i>Note:</i> An official source
|
---|
41 | change should be submitted to <b>all</b> maintainers of the dll/directory.
|
---|
42 | The email should contain:
|
---|
43 |
|
---|
44 | <ul>
|
---|
45 | <li> changed source file(s)
|
---|
46 | <li> diffs with source file(s) & version(s) of the original source file(s)
|
---|
47 | <li> description of the change(s) you made and their purpose
|
---|
48 | </ul>
|
---|
49 |
|
---|
50 | It's of course important that the developers of each module communicate with each
|
---|
51 | other to make sure nobody is reinventing the wheel. Also, it's very important to
|
---|
52 | do regular updates/checkouts from the CVS archive and send in your changes as soon
|
---|
53 | as you feel they're ready (don't wait for weeks: it's not the maintainer's job to
|
---|
54 | add changes based on very old source files!).
|
---|
55 |
|
---|
56 |
|
---|
57 | <p>
|
---|
58 | Maintainer's e-mail addresses are available from the
|
---|
59 | ";
|
---|
60 | LocLink("Contact.phtml", "Contact");
|
---|
61 |
|
---|
62 | echo " page.<p>
|
---|
63 |
|
---|
64 | <b>If nobody is listed as a maintainer, that means that there's no active development
|
---|
65 | for that part of the project!</b> These are the most critical sections, and you would
|
---|
66 | do the best if you can take over some of those parts. If you want to become a maintainer
|
---|
67 | of a certain DLL you should contact a member of the
|
---|
68 | ";
|
---|
69 | LocLink("ProjectTeams.phtml#MAD", "MAD Team");
|
---|
70 | echo ".
|
---|
71 | If there are no problems (like too many wanting to get
|
---|
72 | write access to a certain dll/directory), the request will be granted and an
|
---|
73 | update will be posted to the general and the WAI mailinglist.<p>
|
---|
74 |
|
---|
75 | MAD Team member's e-mail addresses are available from the
|
---|
76 | ";
|
---|
77 | LocLink("Contact.phtml", "Contact");
|
---|
78 |
|
---|
79 | echo " page.";
|
---|
80 |
|
---|
81 | TekstEnd();
|
---|
82 |
|
---|
83 |
|
---|
84 |
|
---|
85 | /*
|
---|
86 | * Select the odin32 database.
|
---|
87 | * Select all groups under the WAI team.
|
---|
88 | * Loop thru them displaying standard information.
|
---|
89 | *
|
---|
90 | */
|
---|
91 | require "Odin32DBConnect.php3";
|
---|
92 |
|
---|
93 | $sql="SELECT g.refcode AS refcode,
|
---|
94 | g.name AS name,
|
---|
95 | g.team AS team,
|
---|
96 | g.description AS description,
|
---|
97 | g.notes AS notes
|
---|
98 | FROM team t,
|
---|
99 | tgroup g
|
---|
100 | WHERE t.name = 'WAI' AND
|
---|
101 | t.refcode = g.team AND
|
---|
102 | g.refcode <> 3999
|
---|
103 | ORDER BY g.name";
|
---|
104 | $result = @mysql_query($sql,$db);
|
---|
105 | if (@mysql_num_rows($result) < 1)
|
---|
106 | {
|
---|
107 | TekstBeg();
|
---|
108 | echo "Sorry, but there are no group information available.";
|
---|
109 | TekstEnd();
|
---|
110 | }
|
---|
111 | else
|
---|
112 | {
|
---|
113 | while ($group = @mysql_fetch_array($result))
|
---|
114 | {
|
---|
115 | Odin32DBNaslov($group["name"]." Group", $group["name"]);
|
---|
116 |
|
---|
117 | TekstBeg();
|
---|
118 | echo $group["description"];
|
---|
119 | TekstEnd();
|
---|
120 |
|
---|
121 | PodNaslov("Code maintainers:");
|
---|
122 | $sql = sprintf("SELECT a.name AS name,
|
---|
123 | a.email AS email
|
---|
124 | FROM author a,
|
---|
125 | tgroupmember m
|
---|
126 | WHERE m.tgroup = %d AND
|
---|
127 | m.codemaintainer = 'Y' AND
|
---|
128 | a.refcode = m.author ",
|
---|
129 | $group["refcode"]);
|
---|
130 | $result2 = mysql_query($sql, $db);
|
---|
131 | TekstBeg();
|
---|
132 | printf("<ul>\n");
|
---|
133 | if (@mysql_num_rows($result2) > 0)
|
---|
134 | {
|
---|
135 | while ($member = @mysql_fetch_array($result2))
|
---|
136 | printf(" <li><a href=\"mailto:%s?Subject=Odin32 %s\">%s</a>\n",
|
---|
137 | $member["email"],
|
---|
138 | $group["name"],
|
---|
139 | $member["name"]
|
---|
140 | );
|
---|
141 | }
|
---|
142 | else
|
---|
143 | printf(" <li> <font color=ff0000> <b>NOBODY</b> </font>");
|
---|
144 | printf("</ul>\n");
|
---|
145 | TekstEnd();
|
---|
146 |
|
---|
147 |
|
---|
148 |
|
---|
149 | PodNaslov("Group members:");
|
---|
150 | $sql = sprintf("SELECT a.name AS name
|
---|
151 | FROM author a,
|
---|
152 | tgroupmember m
|
---|
153 | WHERE m.tgroup = %d AND
|
---|
154 | m.codemaintainer = 'N' AND
|
---|
155 | a.refcode = m.author ",
|
---|
156 | $group["refcode"]);
|
---|
157 | $result2 = mysql_query($sql, $db);
|
---|
158 | TekstBeg();
|
---|
159 | printf("<ul>\n");
|
---|
160 | if (@mysql_num_rows($result2) > 0)
|
---|
161 | {
|
---|
162 | while ($member = @mysql_fetch_array($result2))
|
---|
163 | printf(" <li> %s\n", $member["name"]);
|
---|
164 | }
|
---|
165 | else
|
---|
166 | printf(" <li> <font color=ff0000> <b>NOBODY</b> </font>");
|
---|
167 | printf("</ul>\n");
|
---|
168 | TekstEnd();
|
---|
169 |
|
---|
170 |
|
---|
171 | PodNaslov("Implementation Status:");
|
---|
172 | $sql = sprintf("SELECT UPPER(d.name) AS name,
|
---|
173 | d.refcode AS refcode
|
---|
174 | FROM dll d,
|
---|
175 | tgroupdll t
|
---|
176 | WHERE t.tgroup = %d AND
|
---|
177 | t.dll = d.refcode
|
---|
178 | ORDER BY name",
|
---|
179 | $group["refcode"]);
|
---|
180 | $result2 = mysql_query($sql, $db);
|
---|
181 | TekstBeg();
|
---|
182 | if (@mysql_num_rows($result2) > 0)
|
---|
183 | {
|
---|
184 | while ($dll = @mysql_fetch_array($result2))
|
---|
185 | Odin32DBCompletionBarDll($dll["refcode"], $dll["name"], $db);
|
---|
186 | }
|
---|
187 | else
|
---|
188 | printf(" <font color=ff0000> <b>Huh! NO DLLs?</b> </font>");
|
---|
189 | TekstEnd();
|
---|
190 |
|
---|
191 |
|
---|
192 | PodNaslov("Notes:");
|
---|
193 | TekstBeg();
|
---|
194 | echo "<ul>";
|
---|
195 | echo $group["notes"];
|
---|
196 | echo "</ul>";
|
---|
197 | TekstEnd();
|
---|
198 |
|
---|
199 |
|
---|
200 | TekstBeg();
|
---|
201 | $sql = sprintf("SELECT UPPER(d.name) AS name,
|
---|
202 | refcode
|
---|
203 | FROM dll d,
|
---|
204 | tgroupdll t
|
---|
205 | WHERE t.tgroup = %d AND
|
---|
206 | t.dll = d.refcode
|
---|
207 | ORDER BY name",
|
---|
208 | $group["refcode"]);
|
---|
209 | $result2 = mysql_query($sql, $db);
|
---|
210 | TekstBeg();
|
---|
211 | if (@mysql_num_rows($result2) > 0)
|
---|
212 | {
|
---|
213 | while ($dll = @mysql_fetch_array($result2))
|
---|
214 | {
|
---|
215 | printf(" To Access the %s part of the Odin32 API database, click ", $dll["name"]);
|
---|
216 | $lnk = sprintf("Odin32DB.phtml?dllrefcode=%d", $dll["refcode"]);
|
---|
217 | LocLink($lnk, "here");
|
---|
218 | printf(".<BR>\n");
|
---|
219 | }
|
---|
220 | }
|
---|
221 | else
|
---|
222 | printf(" <font color=ff0000> <b>Huh! NO DLLs?</b> </font>");
|
---|
223 | TekstEnd();
|
---|
224 | }
|
---|
225 | }
|
---|
226 |
|
---|
227 | /*
|
---|
228 | * Summary
|
---|
229 | */
|
---|
230 |
|
---|
231 | Odin32DBNaslov("Summary", "summary");
|
---|
232 |
|
---|
233 | TekstBeg();
|
---|
234 | echo "
|
---|
235 | For DLLs with no active maintaner, you can contact maintaners of
|
---|
236 | the root, include and library directories since they have write access
|
---|
237 | to all parts of the code.
|
---|
238 | ";
|
---|
239 | TekstEnd();
|
---|
240 |
|
---|
241 | PodNaslov("Root, include and library code maintainers:");
|
---|
242 | TekstBeg();
|
---|
243 | echo "
|
---|
244 | <ul>
|
---|
245 | <li> Sander van Leeuwen
|
---|
246 | <li> Knut St. Osmundsen
|
---|
247 | <li> Patrick Haller
|
---|
248 | <li> Achim Hasenmueller
|
---|
249 | </ul>
|
---|
250 | ";
|
---|
251 | TekstEnd();
|
---|
252 |
|
---|
253 | TekstBeg();
|
---|
254 | echo "
|
---|
255 | Lot of work stil has to be done, and it's expected
|
---|
256 | that some <i>unassigned</i> members of WAI Team will
|
---|
257 | jump in.
|
---|
258 | ";
|
---|
259 | TekstEnd();
|
---|
260 |
|
---|
261 |
|
---|
262 | PodNaslov("Unassigned members:");
|
---|
263 | $sql = "SELECT a.name AS name
|
---|
264 | FROM author a,
|
---|
265 | tgroupmember m
|
---|
266 | WHERE m.tgroup = 3999 AND
|
---|
267 | a.refcode = m.author ";
|
---|
268 | $result = mysql_query($sql, $db);
|
---|
269 | TekstBeg();
|
---|
270 | printf("<ul>\n");
|
---|
271 | if (@mysql_num_rows($result) > 0)
|
---|
272 | {
|
---|
273 | while ($member = @mysql_fetch_array($result))
|
---|
274 | printf(" <li> %s\n", $member["name"]);
|
---|
275 | }
|
---|
276 | else
|
---|
277 | printf(" <li> No unassigned members.");
|
---|
278 | echo " </ul>
|
---|
279 | For better overview of WAI Team status as a whole, grouped
|
---|
280 | status bars are presented below. Only those Odin32 API functions
|
---|
281 | that are actually implemented (work as their Win32 counterparts)
|
---|
282 | are counted.
|
---|
283 | ";
|
---|
284 | TekstEnd();
|
---|
285 |
|
---|
286 |
|
---|
287 |
|
---|
288 | PodNaslov("Implementation Status All Dlls:");
|
---|
289 | $sql = "SELECT name,
|
---|
290 | refcode
|
---|
291 | FROM dll
|
---|
292 | ORDER BY name";
|
---|
293 | $result = mysql_query($sql, $db);
|
---|
294 | TekstBeg();
|
---|
295 | if (@mysql_num_rows($result) > 0)
|
---|
296 | {
|
---|
297 | while ($dll = @mysql_fetch_array($result))
|
---|
298 | Odin32DBCompletionBarDll($dll["refcode"], $dll["name"], $db);
|
---|
299 |
|
---|
300 | Odin32DBCompletionBarDll(-1, "Total", $db);
|
---|
301 | }
|
---|
302 | else
|
---|
303 | printf("<font color=ff0000> <b>NOBODY</b> </font>");
|
---|
304 | TekstEnd();
|
---|
305 |
|
---|
306 |
|
---|
307 | PodNaslov("Notes:");
|
---|
308 | TekstBeg();
|
---|
309 | echo "
|
---|
310 | <ul>
|
---|
311 | <li> No application needs all API functions and most
|
---|
312 | smaller programs use only a limited set of APIs,
|
---|
313 | for example multimedia, Direct Draw or Winsock.
|
---|
314 | <li> Some programs may work even if the entire
|
---|
315 | set of API it would use is not implemented
|
---|
316 | (printing or OLE, for example), if appropriate
|
---|
317 | stub functions are provided - the application
|
---|
318 | would think it has those APIs available, but
|
---|
319 | nothing (or failure) will happen only if the user
|
---|
320 | tries to actually use the feature that requires them.
|
---|
321 | </ul>
|
---|
322 | ";
|
---|
323 | TekstEnd();
|
---|
324 |
|
---|
325 |
|
---|
326 | TekstBeg();
|
---|
327 | echo "
|
---|
328 | To access root of Odin32 API on-line database, click
|
---|
329 | ";
|
---|
330 | LocLink("Odin32DB.phtml", "here");
|
---|
331 | echo ".";
|
---|
332 |
|
---|
333 | TekstEnd();
|
---|
334 |
|
---|
335 |
|
---|
336 | Odin32DBNaslov("Joining the WAI Team", "joinwai");
|
---|
337 |
|
---|
338 | TekstBeg();
|
---|
339 |
|
---|
340 | echo "
|
---|
341 | WAI Team has a mailing list where team members discuss and coordinate. You can
|
---|
342 | join the list by filling the form provided below.<p>
|
---|
343 |
|
---|
344 | <center>
|
---|
345 | <form method=GET action='http://www.egroups.com/subscribe'>
|
---|
346 | <input type=hidden name='listname' value='win32os2-wai'>
|
---|
347 | <input type=hidden name='SubmitAction' value='Subscribe'>
|
---|
348 | <table width=350 cellspacing=0 cellpadding=2 border=0 bgcolor=#f0f0f0>
|
---|
349 | <tr>
|
---|
350 | <td colspan=2 align=center>
|
---|
351 | <font size=-1>
|
---|
352 | <b>Click on logo to subscribe<br>to Odin's WAI Team mailing list:</b>
|
---|
353 | </font>
|
---|
354 | </td>
|
---|
355 | </tr><tr>
|
---|
356 | <td align=right>
|
---|
357 | <input type=text name='emailaddr' value='your e-mail' size=21>
|
---|
358 | </td><td align=left>
|
---|
359 | <input type=image border=0 alt='Click here to join WAI Team mailing list!'
|
---|
360 | name='Click here to join Odin mailing list!' SRC='odin-bann.jpg'>
|
---|
361 | </td>
|
---|
362 | </tr><tr>
|
---|
363 | <td colspan=2 align=center><font size=-1>
|
---|
364 | ";
|
---|
365 | UrlLink('www.egroups.com/group/win32os2-wai/', 'Read mail-list archive on-line');
|
---|
366 | echo "
|
---|
367 | </font>
|
---|
368 | </td>
|
---|
369 | </tr>
|
---|
370 | </TABLE>
|
---|
371 | </form>
|
---|
372 | </center>
|
---|
373 | ";
|
---|
374 |
|
---|
375 | TekstEnd();
|
---|
376 |
|
---|
377 |
|
---|
378 |
|
---|
379 | require $sMainDir."07-ColumnTwoFooter.php3";
|
---|
380 | require $sMainDir."08-News.php3";
|
---|
381 | require $sMainDir."09-ContentsTitle.php3";
|
---|
382 |
|
---|
383 | Odin32DBWriteContents();
|
---|
384 | Odin32DBStateLegend($db);
|
---|
385 |
|
---|
386 | require $sMainDir."10-EndOfContent.php3";
|
---|
387 | require $sMainDir."11-NetlabsContact.php3";
|
---|
388 |
|
---|
389 | $Kada=date ("j M Y", filemtime(__file__));
|
---|
390 | require $sMainDir."12-OdinBanner.php3";
|
---|
391 |
|
---|
392 | require $sMainDir."13-Closing.php3";
|
---|
393 |
|
---|
394 | /* Profiling */
|
---|
395 | Odin32DBTimerStop($sPageTimer);
|
---|
396 | /* Profiling */
|
---|
397 |
|
---|
398 | ?>
|
---|