#!/usr/bin/perl -w
# -*- perl -*-
use P4CGI ;
use strict ;
#
#################################################################
# CONFIGURATION INFORMATION
# All config info should be in P4CGI.pm
#
#################################################################
#
# Search changes for pattern
#
#################################################################
my $FSPC = &P4CGI::cgi()->param("FSPC") ;
$FSPC = "//..." unless defined $FSPC ;
$FSPC = &P4CGI::htmlEncode($FSPC) ;
my $LABEL = &P4CGI::cgi()->param("LABEL") ;
$LABEL = &P4CGI::htmlEncode($LABEL) if defined $LABEL ;
my @labels ;
&P4CGI::p4call(\@labels,"labels") ;
map { s/^Label (\S+) .*/$1/ ; } @labels ;
unshift @labels,"" ;
my %labelLabels ;
foreach (@labels) {
$labelLabels{$_} = $_ ;
}
$labelLabels{""} = " - No label specified - " ;
print
&P4CGI::start_page("Find files",""),
"
\n",
&P4CGI::start_framedTable("Find file by name"),
&P4CGI::start_table(),
&P4CGI::cgi()->startform("-action","fileSearch.cgi",
"-method","GET") ;
print &P4CGI::table_row({-class => "\"Prompt\"",
-text => "File spec:" },
&P4CGI::cgi()->textfield(-name => "FSPC",
-default => $FSPC,
-override => 1,
-size => 40,
-maxlength => 256,
-title => "File spec in p4 depot notation")) ;
print &P4CGI::table_row({-class => "\"Prompt\"",
-text => "Label:" },
&P4CGI::cgi()->popup_menu(-name => "LABEL",
-values => \@labels,
-labels => \%labelLabels,
-title => "Search only in label")) ;
print &P4CGI::table_row("",
&P4CGI::cgi()->hidden(-name=>"DP",
-value=>&P4CGI::CURR_DEPOT_NO()) .
&P4CGI::cgi()->submit(-name => "0",
-value => "GO!",
-title => "Go")) ;
print
&P4CGI::cgi()->endform(),
&P4CGI::end_table(),
&P4CGI::end_framedTable() ;
sub prSelection($$$ )
{
my $cgitarget = shift @_ ;
my $fields = shift @_ ;
my $helpTarget = shift @_ ;
print
&P4CGI::cgi()->startform(-action => $cgitarget,
-method => "GET"),
&P4CGI::table_row({-text => $fields},
{ -width=>"1",
-text => join("\n",
(&P4CGI::cgi()->hidden(-name=>"DP",
-value=>&P4CGI::CURR_DEPOT_NO()),
&P4CGI::cgi()->submit(-name => "ignore",
-value => "GO!"),
&P4CGI::cgi()->endform()))
},
) ;
} ;
my %dayValues = ( 0 => "Zero days",
1 => "One day",
2 => "Two days",
3 => "Three days",
4 => "Four days",
5 => "Five days",
6 => "Six days") ;
my %hourValues = ( 0 => "Zero hours",
1 => "One hour",
2 => "Two hours",
3 => "Three hours",
4 => "Four hours",
5 => "Five hours",
6 => "Six hours",
7 => "Seven hours",
8 => "Eight hours",
9 => "Nine hours") ;
{
my $n = 9 ;
while($n++ < 24) {
$hourValues{$n} = "$n hours" ;
}
}
my %weekValues = ( 0 => "Zero weeks",
1 => "One week",
2 => "Two weeks",
3 => "Three weeks",
4 => "Four weeks",
5 => "Five weeks",
6 => "Six weeks",
7 => "Seven weeks",
8 => "Eight weeks",
9 => "Nine weeks") ;
{
my $n = 9 ;
while($n++ < 52) {
$weekValues{$n} = "$n weeks" ;
}
}
my @dayValues = sort { $a <=> $b } keys %dayValues ;
my @hourValues = sort { $a <=> $b } keys %hourValues ;
my @weekValues = sort { $a <=> $b } keys %weekValues ;
print
"
" ,
&P4CGI::start_framedTable("Find recently modified files") ,
&P4CGI::start_table("") ;
prSelection("filesChangedSince.cgi",
join("\n",(&P4CGI::start_table(""),
"