#!/usr/bonsaitools/bin/perl -w # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Bonsai CVS tool. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): use strict; # Shut up misguided -w warnings about "used only once". "use vars" just # doesn't work for me. sub sillyness { my $zz; $zz = $::TreeID; } require 'CGI.pl'; LoadCheckins(); # Make sure checkin id is in designated format my $form_id = $::FORM{'id'}; die("Invalid checkin id.\n") unless ($form_id =~ m/^::checkin_\d+_\d+$/); my $info = eval("\\%" . $form_id); print "Content-type: text/html Say the magic word.

Edit a checkin.

Congratulations, you have found the hidden edit-a-checkin feature. Of course, you need to know the magic word to do anything from here.

"; if (!exists $info->{'notes'}) { $info->{'notes'} = ""; } foreach my $i ('person', 'dir', 'files', 'notes') { print ""; print ""; } sub CheckString { my ($value) = (@_); if ($value) { return "CHECKED"; } else { return ""; } } my $isopen = CheckString($info->{'treeopen'}); my $isclosed = CheckString(!$info->{'treeopen'}); my $infolog = $info->{'log'} || ""; print qq{
Password:
When: {'date'})) . "\">
$i:{$i}) . "\">
Tree state: Open
Closed
Log message:
Check this box to blow away this checkin entirely.
}; foreach my $i (sort(keys(%$info))) { my $q = value_quote($info->{$i}); print qq{\n}; } print ""; print ""; print "
"; PutsTrailer();