From: Geert J. <gj...@us...> - 2002-09-03 19:40:45
|
Update of /cvsroot/woc/woc/src/woc/cgi-src/htplpdir/bugs In directory usw-pr-cvs1:/tmp/cvs-serv23171/woc/cgi-src/htplpdir/bugs Added Files: bericht.htpl berichtkop.htpl bugs.htpl bugs.pl eindelijst.htpl incompleet.htpl nieuwelijst.htpl overigkop.htpl overzicht.htpl rubriek.htpl rubriekkop.htpl rubriektoc.htpl toevoegform.htpl vraagkop.htpl Log Message: --- NEW FILE: bericht.htpl --- <CENTER> if $vraag <FONT SIZE=+1><B>Bug of reactie</B></FONT><BR> if !$vraag <FONT SIZE=+1><B>Over $subject</B></FONT><BR> <I>(<A HREF="mailto:$email">$naam</A>, $stamp)</I> </CENTER> <P> <HR WIDTH=20%> <P> <UL> if $vraag (<i>bug #$bugnummer</i>) <B>$inhoud</B> if !$vraag $inhoud <P> $reacties </UL> <P> <H3 ALIGN=Center> if $volgendelink [ <A HREF="$volgendelink">Volgende</A> ] if $vraag [ <A HREF="$voorgangerlink">Rubriek</A> ] if !$vraag [ <A HREF="$voorgangerlink">Voorganger</A> ] [ <A HREF="$reactielink">Reageren</A> ] [ <A HREF="$script">Rubrieken</A> ] </H3> --- NEW FILE: berichtkop.htpl --- <LI>@bugnummer: <B>@subject</B> <A HREF="@berichtlink">@naam</A> <I>(@stamp)</I> --- NEW FILE: bugs.htpl --- Content-type: text/html <HTML> <HEAD> <META NAME="Author" CONTENT="Geert Josten, reactielid WOC"> <META NAME="Description" CONTENT="WOC: Bugs en reacties"> <META NAME="Generator" CONTENT="Perl-Sript: $0 $scriptage"> <META NAME="IsIndex" CONTENT="No"> <META NAME="Maintainer" CONTENT="$maintainer"> <META NAME="Review" CONTENT="$time"> <BASE href="http://www.sci.kun.nl/woc/" TARGET="pagina"> <TITLE>FAQ: $header </TITLE> <link rel="stylesheet" href="gui/styles/woc.css" type="text/css"> </HEAD> <BODY class="main"> <H1 ALIGN=Center>Bugs en Reacties: $header</H1> <HR> <BR> <BR> if $overzicht $overzicht.htpl if $rubriektoc $rubriektoc.htpl if $bericht $bericht.htpl if $toevoegform $toevoegform.htpl if $toevoegformincompleet $incompleet.htpl <P> <HR> <UL> <CENTER><I>De WOC-redactie behoudt het recht om naar eigen inzicht de toegevoegde bugs al dan niet op te lossen :).</I></CENTER> </UL> </BODY> </HTML> --- NEW FILE: bugs.pl --- $contentcheckers = "woc\@sci.kun.nl"; ## main ## ($reforder, $refdistr, $refkeys, $datasep, $fieldsep) = @$grammar; $datum = `date '+%m-%d-%y'`; $tijd = `date '+%H:%Mh'`; if ((@ARGV) && ($ARGV[0] =~ /^nieuw/i)) { shift (@ARGV); $niveau = shift (@ARGV); $nummer = shift (@ARGV); if ($niveau > 2) { $header = "Vul hier je reactie in..."; &maak_reactieform (); } else { $header = "Vul hier je bug of reactie in..."; if ($nummer > 0) { &maak_reactieform (); } else { &maak_reactieform (); $subject = "Ongerubriceerd"; $nummer = @$refdata; } } $toevoegform = "true"; } elsif ((@ARGV) && ($ARGV[0] =~ /^voegtoe/i)) { shift (@ARGV); $niveau = shift (@ARGV); $nummer = shift (@ARGV); if (&voeg_nieuw_bericht_toe ()) { $reacties = ""; $nummer++; $header = "\$inhoud"; if ($niveau > 2) { $bericht = "overig"; } else { $bericht = "vraag"; $vraag = "true"; } &maak_bericht (); } else { $toevoegformincompleet = "true"; } } elsif ((@ARGV) && ($ARGV[0] =~ /^rubriek/i)) { $header = "Bugs Overzicht"; shift (@ARGV); $nummer = shift (@ARGV); $rubriektoc = " "; &maak_rubriek (); $vraagtoevoeglink = "$script+nieuw+2+$nummer"; } elsif ((@ARGV) && ($ARGV[0] =~ /^vraag/i)) { $header = "Antwoorden op bugs"; shift (@ARGV); $nummer = shift (@ARGV); $bericht = "vraag"; $vraag = "true"; &maak_bericht (); } elsif ((@ARGV) && ($ARGV[0] =~ /^\d+/i)) { $header = "Antwoord en commentaar"; $nummer = shift (@ARGV); $bericht = "overig"; &maak_bericht (); } else { $header = "Rubrieken Overzicht"; $overzicht = ""; &maak_overzicht (); $niveau = "1"; $nummer = @$refdata; $nieuwevraaglink = "$script+nieuw+2+0"; } $return = ""; sub maak_reactieform { my $refsubject = &get (["subject"], [$$refdata[$nummer-1]], $grammar, ""); if ($niveau <= 2) { # zoek hoogste bugnummer # my $refbugnummers = &get (["bugnummer"], $refdata, $grammar, ""); @$refbugnummers = sort by_number (@$refbugnummers); $bugnummer = @$refbugnummers[-1] + 1; # nieuwe bugnummer!! # } else { # pak bijbehorende bugnummer # my $refbugnummer = &get (["bugnummer"], [$$refdata[$nummer-1]], $grammar, ""); $bugnummer = $$refbugnummer[0]; } $subject = $$refsubject[0]; } sub by_number { if ($a < $b) { return -1; } elsif ($a > $b) { return 1; } else { return 0; } } sub maak_overzicht { $htmlrubriek = &readhtml ("rubriek.htpl"); $refbugnummer = &get (["bugnummer"], $refdata, $grammar, ""); $refsubject = &get (["subject"], $refdata, $grammar, ""); $refnaam = &get (["naam"], $refdata, $grammar, ""); $refemail = &get (["email"], $refdata, $grammar, ""); $refstamp = &get (["datum", "tijd"], $refdata, $grammar, ""); $refniveau = &get (["niveau"], $refdata, $grammar, ""); $refinhoud = &get (["inhoud"], $refdata, $grammar, ""); @i = (1..@$refdata); $numvraag = 0; $numant = 0; $numcomm = 0; foreach $i (@i) { $bugnummer = shift @$refbugnummer; $subject = shift @$refsubject; $naam = shift @$refnaam; $email = shift @$refemail; $email =~ s#\@#\\\@#ig; $stamp = shift @$refstamp; $stamp =~ s/#/, /i; $niv = shift @$refniveau; $inhoud = shift @$refinhoud; if ($niv == 1) { push (@rubrieklink, "$script+rubriek+$i"); push (@bugnummer, $bugnummer); push (@subject, "\u$subject"); push (@email, $email); push (@naam, "\u$naam"); push (@stamp, $stamp); push (@niveau, $niveau); push (@inhoud, "\u$inhoud"); ($numvraag = "geen") if ! $numvraag; ($numant = "geen") if ! $numant; ($numcomm = "geen") if ! $numcomm; push (@numvraag, $numvraag); push (@numant, $numant); push (@numcomm, $numcomm); $overzicht .= "$htmlrubriek"; $numvraag = 0; $numant = 0; $numcomm = 0; } else { if ($niv == 2) { $numvraag++; } elsif ($niv == 3) { $numant++; } elsif ($niv > 3) { $numcomm++; } } } ($numvraag = "geen") if ! $numvraag; ($numant = "geen") if ! $numant; ($numcomm = "geen") if ! $numcomm; push (@numvraag, $numvraag); push (@numant, $numant); push (@numcomm, $numcomm); shift (@numvraag); shift (@numant); shift (@numcomm); } sub maak_rubriek { $htmlnieuwelijst = &readhtml ("nieuwelijst.htpl"); $htmlrubriekkop = &readhtml ("rubriekkop.htpl"); $htmlvraagkop = &readhtml ("vraagkop.htpl"); $htmloverigkop = &readhtml ("overigkop.htpl"); $htmleindelijst = &readhtml ("eindelijst.htpl"); $last = $nummer; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $niveau = $$refniveau[0]; while (($niveau > 1) && ($last < @$refdata)) { $last++; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $niveau = $$refniveau[0]; } @i = (($nummer-1)..($last-1)); @data = @$refdata[@i]; $refbugnummer = &get (["bugnummer"], \@data, $grammar, ""); $refsubject = &get (["subject"], \@data, $grammar, ""); $refnaam = &get (["naam"], \@data, $grammar, ""); $refemail = &get (["email"], \@data, $grammar, ""); $refstamp = &get (["datum", "tijd"], \@data, $grammar, ""); $refniveau = &get (["niveau"], \@data, $grammar, ""); $refinhoud = &get (["inhoud"], \@data, $grammar, ""); foreach $reactieinhoud (@overiginhoud) { $reactieinhoud = substr($reactieinhoud, 0, 40)."..."; } $niv = 1; @i = ($nummer..$last); foreach $i (@i) { $bugnummer = shift @$refbugnummer; $subject = shift @$refsubject; $naam = shift @$refnaam; $email = shift @$refemail; $email =~ s#\@#\\\@#ig; $stamp = shift @$refstamp; $stamp =~ s/#/, /i; $oldniv = $niv; $niv = shift @$refniveau; $inhoud = shift @$refinhoud; if ($niv < $oldniv) { $j = $niv; while ($j < $oldniv) { $rubriektoc .= "$htmleindelijst"; $j++; } } if ($niv > $oldniv) { $j = $oldniv; while ($j < $niv) { $rubriektoc .= "$htmlnieuwelijst"; $j++; } } if ($niv == 1) { $rubrieklink = "$script+rubriek+$i"; $rubrieksubject = "\u$subject"; $rubrieknaam = "\u$naam"; $rubriekinhoud = "\u$inhoud"; } elsif ($niv == 2) { push (@bugnummer, $bugnummer); push (@vraaglink, "$script+vraag+$i"); push (@vraagnaam, "\u$naam"); push (@vraaginhoud, "\u$inhoud"); $rubriektoc .= "$htmlvraagkop"; } else { push (@overiglink, "$script+$i"); push (@overignaam, "\u$naam"); $inhoud = substr($inhoud, 0, 40)."..."; push (@overiginhoud, "\u$inhoud"); $rubriektoc .= "$htmloverigkop"; } } $rubriektoc .= "$htmleindelijst"; $rubriektoc .= "$htmleindelijst"; } sub maak_bericht { $htmlnieuwelijst = &readhtml ("nieuwelijst.htpl"); $htmloverigkop = &readhtml ("overigkop.htpl"); $htmleindelijst = &readhtml ("eindelijst.htpl"); $refbugnummer = &get (["bugnummer"], [$$refdata[$nummer-1]], $grammar, ""); $refsubject = &get (["subject"], [$$refdata[$nummer-1]], $grammar, ""); $refnaam = &get (["naam"], [$$refdata[$nummer-1]], $grammar, ""); $refemail = &get (["email"], [$$refdata[$nummer-1]], $grammar, ""); $refstamp = &get (["datum", "tijd"], [$$refdata[$nummer-1]], $grammar, ""); $refniveau = &get (["niveau"], [$$refdata[$nummer-1]], $grammar, ""); $refinhoud = &get (["inhoud"], [$$refdata[$nummer-1]], $grammar, ""); $bugnummer = $$refbugnummer[0]; $subject = $$refsubject[0]; $naam = $$refnaam[0]; $email = $$refemail[0]; $stamp = $$refstamp[0]; $niveau = $$refniveau[0]; $inhoud = $$refinhoud[0]; $stamp =~ s/#/ /i; $email =~ s#\@#\\\@#ig; $reactielink = "$script+nieuw+".($niveau+1)."+$nummer"; ### de 'parent', voorganger ### $prev = $nummer-2; $refniveau = &get (["niveau"], [$$refdata[$prev]], $grammar, ""); $prevniveau = $$refniveau[0]; while (($prevniveau >= $niveau) && ($prev > 0)) { $prev--; $refniveau = &get (["niveau"], [$$refdata[$prev]], $grammar, ""); $prevniveau = $$refniveau[0]; } if ($prevniveau < $niveau) { if ($prevniveau == 1) { $voorgangerlink = "$script+rubriek+".($prev+1); } elsif ($prevniveau == 2) { $voorgangerlink = "$script+vraag+".($prev+1); } else { $voorgangerlink = "$script+".($prev+1); } } ### de reacties en het eerst volgende broertje of zusje ### if ($nummer <= @$refdata) { $last = $nummer; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $lastniveau = $$refniveau[0]; while (($lastniveau > $niveau) && ($last < @$refdata)) { $last++; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $lastniveau = $$refniveau[0]; } if ($lastniveau == $niveau) { if ($lastniveau == 1) { $volgendelink = "$script+rubriek+".($last+1); } elsif ($lastniveau == 2) { $volgendelink = "$script+vraag+".($last+1); } else { $volgendelink = "$script+".($last+1); } } if ($last > $nummer) { @reacties = @$refdata[$nummer..$last-1]; $refbugnummer = &get (["bugnummer"], \@reacties, $grammar, ""); $refsubject = &get (["subject"], \@reacties, $grammar, ""); $refnaam = &get (["naam"], \@reacties, $grammar, ""); $refemail = &get (["email"], \@reacties, $grammar, ""); $refstamp = &get (["datum", "tijd"], \@reacties, $grammar, ""); $refniveau = &get (["niveau"], \@reacties, $grammar, ""); $refinhoud = &get (["inhoud"], \@reacties, $grammar, ""); @overigbugnummer = @$refbugnummer; @overigsubject = @$refsubject; @overignaam = @$refnaam; @overigemail = @$refemail; @overigstamp = @$refstamp; @overigniveau = @$refniveau; @overiginhoud = @$refinhoud; @i = (1..@$refdata); foreach $i (@i) { push (@overiglink, "$script+".($i+$nummer)); } foreach $reactiestamp (@overigstamp) { $reactiestamp =~ s/#/ /i; } foreach $reactieinhoud (@overiginhoud) { $reactieinhoud = substr($reactieinhoud, 0, 40)."..."; } foreach $reactieemail (@overigemail) { $reactieemail =~ s#\@#\\\@#ig; } $reacties = ""; $refniveau = &get (["niveau"], \@reacties, $grammar, ""); $niv = $niveau; foreach $reactieniveau (@overigniveau) { if ($niv < $reactieniveau) { while ($niv < $reactieniveau) { $reacties .= " "x($niv-$niveau+2)."$htmlnieuwelijst"; $niv++; } } elsif ($niv > $reactieniveau) { while ($niv > $reactieniveau) { $reacties .= " "x($niv-$niveau+1)."$htmleindelijst"; $niv--; } } $reacties .= " "x($niv-$niveau+1)."$htmloverigkop"; } while ($niv > $niveau) { $reacties .= " "x($niv-$niveau+1)."$htmleindelijst"; $niv--; } } } } sub voeg_nieuw_bericht_toe { %pairs = &parse_form (); $compleet = "true"; foreach $key (keys(%pairs)) { if (! $pairs{$key}) { $compleet = ""; #false } } $bugnummer = $pairs{"bugnummer"} if (exists ($pairs{"bugnummer"})); $subject = $pairs{"subject"} if (exists ($pairs{"subject"})); $naam = $pairs{"naam"} if (exists ($pairs{"naam"})); $email = $pairs{"email"} if (exists ($pairs{"email"})); $datum = $pairs{"datum"} if (exists ($pairs{"datum"})); $tijd = $pairs{"tijd"} if (exists ($pairs{"tijd"})); $inhoud = $pairs{"inhoud"} if (exists ($pairs{"inhoud"})); if ($compleet) { $bericht[$$reforder{"bugnummer"}] = $bugnummer; $bericht[$$reforder{"subject"}] = $subject; $bericht[$$reforder{"naam"}] = $naam; $bericht[$$reforder{"email"}] = $email; $bericht[$$reforder{"datum"}] = $datum; $bericht[$$reforder{"tijd"}] = $tijd; $bericht[$$reforder{"niveau"}] = $niveau; $bericht[$$reforder{"inhoud"}] = "(new) ".$inhoud; $bericht = join($datasep, @bericht); if ($nummer >= @$refdata) { $refdata = [@$refdata, $bericht]; } else { $last = $nummer; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $lastniveau = $$refniveau[0]; while (($lastniveau >= $niveau) && ($last < @$refdata)) { $last++; $refniveau = &get (["niveau"], [$$refdata[$last]], $grammar, ""); $lastniveau = $$refniveau[0]; } $nummer = $last if ($last > $nummer); $refdata = [@$refdata[0..($nummer-1)], $bericht, @$refdata[($nummer)..(@$refdata-1)]]; } &save_data ($datafile, $refdata, $refcommenteddata, ""); open (MAIL, "|/usr/ucb/mail -s 'WOC Bugs: nieuw bericht' ".$contentcheckers) || die "$!"; print MAIL &expand ($nummer+1, $refdata, $grammar); close (MAIL); } return $compleet; } --- NEW FILE: eindelijst.htpl --- </UL> --- NEW FILE: incompleet.htpl --- <CENTER> <BR><H1>Volledig Invullen A.U.B.</H1> <FORM METHOD=POST ACTION="$script+voegtoe+$niveau+$nummer"> <INPUT TYPE=Hidden NAME="datum" VALUE="$datum"> <INPUT TYPE=Hidden NAME="tijd" VALUE="$tijd"> <TABLE> <TR> <TD>Bugnummer:</TD> <TD><INPUT TYPE=Hidden NAME="bugnummer" SIZE=50 VALUE="$bugnummer">$bugnummer</TD> </TR> <TR> <TD>Naam:</TD> <TD><INPUT TYPE=Text NAME="naam" SIZE=50 VALUE="$naam"></TD> </TR> <TR> <TD>E-Mail:</TD> <TD><INPUT TYPE=Text NAME="email" SIZE=50 VALUE="$email"></TD> </TR> <TR> <TD>Subject:</TD> <TD><INPUT TYPE=Text NAME="subject" SIZE=50 VALUE="$subject"></TD> </TR> <TR> <TD>Bericht:</TD> <TD><TextAREA COLS=55 ROWS=10 NAME="inhoud">$inhoud</TextAREA></TD> </TR> </TABLE> <INPUT TYPE=Submit VALUE="Voeg toe"> <INPUT TYPE=Reset VALUE="Opnieuw"> </FORM> </CENTER> --- NEW FILE: nieuwelijst.htpl --- <UL> --- NEW FILE: overigkop.htpl --- <LI><A HREF="@overiglink">@overiginhoud</A> (@overignaam) --- NEW FILE: overzicht.htpl --- <H2 ALIGN=Center>Alle bekende bugs in het WOC</H2> <UL> Kies een van de onderstaande rubrieken om bugs te bekijken of bugs en commentaar toe te voegen: <P> <UL> $overzicht </UL> </UL> <H3 ALIGN=CENTER> [ <A HREF="$nieuwevraaglink">Nieuwe bug of reactie</A> ] [ <A HREF="$script">Rubrieken</A> ] </H3> --- NEW FILE: rubriek.htpl --- <A HREF="@rubrieklink"><FONT SIZE=+1><B>@subject</B></FONT></A> <I>(@numvraag vrg, @numant ant, @numcomm comm)</I> <P> @inhoud </P> --- NEW FILE: rubriekkop.htpl --- <P><FONT SIZE=+1><B>@rubrieksubject</B></FONT></P> --- NEW FILE: rubriektoc.htpl --- <H2 ALIGN=Center>$rubrieksubject</H2> <UL> $rubriekinhoud <P> <BR> Kies een van de onderstaande bugs of kies gelijk een van de reacties: $rubriektoc </UL> <BR> <H3 ALIGN=CENTER> [ <A HREF="$vraagtoevoeglink">Bug of reactie toevoegen</A> ] [ <A HREF="$script">Rubrieken</A> ] </H3> --- NEW FILE: toevoegform.htpl --- <CENTER> <BR><H1>$header</H1> <FORM METHOD=POST ACTION="$script+voegtoe+$niveau+$nummer"> <INPUT TYPE=Hidden NAME="datum" VALUE="$datum"> <INPUT TYPE=Hidden NAME="tijd" VALUE="$tijd"> <INPUT TYPE=Hidden NAME="bugnummer" VALUE="$bugnummer"> <TABLE> <TR> <TD>Bugnummer:</TD> <TD> <B>$bugnummer</B></TD> </TR> <TR> <TD>Naam:</TD> <TD><INPUT TYPE=Text NAME="naam" SIZE=50 VALUE="$naam"></TD> </TR> <TR> <TD>E-Mail:</TD> <TD><INPUT TYPE=Text NAME="email" SIZE=50 VALUE="$email"></TD> </TR> <TR> <TD>Subject:</TD> <TD><INPUT TYPE=Text NAME="subject" SIZE=50 VALUE="$subject"></TD> </TR> <TR> <TD>Bericht:</TD> <TD><TextAREA COLS=50 ROWS=8 NAME="inhoud">$inhoud</TextAREA></TD> </TR> </TABLE> <INPUT TYPE=Submit VALUE="Voeg toe"> <INPUT TYPE=Reset VALUE="Opnieuw"> </FORM> </CENTER> --- NEW FILE: vraagkop.htpl --- <P> <LI><A HREF="@vraaglink">(<i>bug #@bugnummer</i>) <B>@vraaginhoud</B></A> (@vraagnaam) <P> |