/* * aegis - project change supervisor * Copyright (C) 1997, 1998 Peter Miller; * All rights reserved. * * 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 2 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * * MANIFEST: report the changes in a year */ auto ps, cs; ps = project[project_name()].state; auto ph, when, n, max, href; auto script_name; script_name = getenv("SCRIPT_NAME"); if (script_name == "") script_name = "http://localhost/cgi-bin/aegis.cgi"; auto year; if (count(arg) > 0) year = arg[0]; else year = 0 + strftime("%Y", now()); columns({width = 1000;}); print("Content-Type: text/html"); print(""); print(""); print("Project Change Histogram"); print("

"); print("Project ``" ## quote_html(project_name()) ## "'',
"); print("Change Histogram
"); print(year); print("

"); auto earliest, latest; earliest = mktime("1-Jan-" ## year ## " 00:00:00"); latest = mktime("31-Dec-" ## year ## " 23:59:59"); auto bucket, month; bucket = {}; for (ph in ps.branch.history) { cs = ps.branch.change[ph.change_number]; when = cs.history[count(cs.history) - 1].when; if (when < earliest || when > latest) continue; month = 0 + strftime("%m", when); bucket[month]++; } max = 1; for (month in keys(bucket)) { n = 0 + bucket[month]; if (n > max) max = n; } max = 400. / max; print("
"); print(""); for (month = 1; month <= 12; ++month) { auto t; n = 0 + bucket[month]; for ( t = mktime("1-Jan-" ## year ## " 00:00:00"); strftime("%m", t) + 0 != month; t += 28 * 24 * 60 * 60 ) ; print(""); } print("
MonthCount
"); if (n > 0) { href = script_name ## "?file@proj_hstg3"; href ##= "+project@" ## quote_url(project_name()); href ##= "+" ## strftime("1-%b-%Y", t); print(""); } print(strftime("%B", t)); if (n > 0) print(""); print(""); print(n); print(""); if (n > 0) { n = round(n * max); if (n < 3) n = 3; href = script_name ## "?file@rect+" ## n ## "+12"; print(""); } print("
"); print("
"); print("This page was generated " ## now() ## "."); print("");