/* * aegis - project change supervisor * Copyright (C) 1997, 1998, 2002, 2003, 2005-2008 Peter Miller * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see * . */ auto script_name; script_name = getenv("SCRIPT_NAME"); if (script_name == "") script_name = "http://localhost/cgi-bin/aegis.cgi"; columns({width = 1000; }); print("Content-Type: text/html"); print(""); print(""); print(""); print(""); print(""); print(""); print(""); /* * Netscape 4.x has numerous CSS bugs, two of which need mentioning. * 1. If a style sheet is nopt present Netscape says 404 Not found, when * it should silently ignore it. 2. Style sheets who's media is not * "screen" will be ignored. Fortunately we can use (2) to get around (1). */ print(""); print(""); print("Project List"); print ("

"); print("Project List"); print("

"); print("
"); print(""); print(""); auto name, p, prev_proj, odd; prev_proj = 0; odd = false; for (name in sort(keys(project))) { p = project[name]; auto a; a = split(name, "."); if (a[0] != prev_proj) odd = !odd; prev_proj = a[0]; /* * Reading the p.state value (it is deferred) may result * in "permision denied" so we need to catch the * exception as it goes past. Use the error as the * description. */ auto description, ok; ok = true; try description = quote_html(p.state.description); catch (description) { description = quote_html(description); ok = false; } if (odd) print(""); else print(""); print(""); } print(""); print("
ProjectDescription
"); if (ok) { auto href; href = script_name ## "?file@proj_menu"; href ##= "+project@" ## quote_url(name); print(""); } print(quote_html(name)); if (ok) print(""); print(""); auto part; print("
"); for (part in wrap_html(description, 80)) print(part); print("
"); for (part in wrap(p.directory, 60)) print(quote_html(part)); print("
"); print("Listed " ## count(keys(project)) ## " projects."); print("
"); print("
"); print("
"); print("
"); print("A similar report may be obtained from the command line, with"); print("
ael p
"); print("
"); print("
"); print("This page was generated " ## now() ## "."); print("");