- #!/usr/bin/perl -w
- # -*- perl -*-
- use P4CGI ;
- use strict ;
- #
- #################################################################
- # CONFIGURATION INFORMATION
- # All config info should be in P4CGI.pm
- #
- #################################################################
- #
- # P4 list all users
- # List p4 users
- #
- #################################################################
- sub weeksago($$$ ) {
- my ($y,$m,$d) = @_ ;
- $y -= 1900 ;
- $m-- ;
- my $_now = time() ;
- my $_then = $_now ;
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime($_then);
- if(($y > $year) or
- (($y == $year) and ($m > $mon)) or
- (($y == $year) and ($m == $mon) and ($d > $mday))) {
- return 0 ;
- }
- while(1) {
- ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime($_then);
- if(($y == $year) and ($m == $mon) and ($d == $mday)) {
- return int(( $_now - $_then)/(3600*24*7)) ;
- }
- $_then -= 3600*24 ;
- } ;
- }
- &P4CGI::SET_HELP_TARGET("userList") ;
- # Get user data
- my %userData = &P4CGI::p4users() ;
- my $WARNING_LEVEL = &P4CGI::UNUSEDUSRWL() ;
- $WARNING_LEVEL = 10 unless $WARNING_LEVEL =~ /^\d+$/ ;
- my $usertable = "" ;
- # Get groups
- my @groups ;
- &P4CGI::p4call(\@groups, "groups" );
- if(@groups > 0) {
- my $g = @groups == 1?"group":"groups" ;
- my $n = @groups ;
- # $usertable .= "<B>$n $g</B><br>" ;
- $usertable .= &P4CGI::start_framedTable("$n $g") ;
- $usertable .= &P4CGI::start_table() ;
- $usertable .= &P4CGI::table_header("Group name");
- foreach (@groups) {
- $usertable .= &P4CGI::table_row(&P4CGI::ahref(-url => "groupView.cgi",
- "GROUP=$_",
- "HELP=View group info",
- $_)) ;
- }
- $usertable .= &P4CGI::end_table() ;
- $usertable .= &P4CGI::end_framedTable() ;
- }
- my $emailall ;
- $usertable .= join("\n",(&P4CGI::start_framedTable(scalar(keys %userData)." users:"),
- &P4CGI::start_table("cellpadding=1"),
- &P4CGI::table_header("User",
- "Name and e-mail",
- "Last access"))) ;
- my $u ;
- foreach $u (sort { uc($a) cmp uc($b) } (keys %userData))
- {
- my %udata = %{$userData{$u}} ;
- my ($user,$email,$name,$lastaccess) = ($u,
- $udata{"Email"},
- $udata{"FullName"},
- $udata{"Access"}) ;
- $user = &P4CGI::ahref(-url => "userView.cgi",
- "USER=$user",
- "HELP=View user info",
- $user) ;
- $email =~ /\w+\@\w+/ and do {
- if(defined $emailall) {
- $emailall .= ",$email" ;
- } else {
- $emailall = "mailto:$email" ;
- } ;
- $email = &P4CGI::ahref(-url => "mailto:$email",
- "HELP=Send email",
- $email) ;
- } ;
- my $weeksOld = "" ;
- if($lastaccess =~ /(\d\d\d\d)\/(\d\d)\/(\d\d)/) {
- $weeksOld = weeksago($1,$2,$3) ;
- if($weeksOld >= $WARNING_LEVEL) {
- $weeksOld = "<b>Not used for $weeksOld weeks!</b>" ;
- }
- else {
- $weeksOld = "" ;
- }
- }
- $usertable .= &P4CGI::table_row($user,
- "$name $email",
- $lastaccess,
- $weeksOld) ;
- }
- $usertable .= &P4CGI::end_table().&P4CGI::end_framedTable() ;
- my @legend ;
- push @legend ,&P4CGI::buttonCell("$emailall",
- "Send email to all users",
- "Email all users") ;
- &P4CGI::start_page("List users and groups",
- @legend),
- $usertable,
- &P4CGI::end_page() ;
- #
- # That's all folks
- #
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 4998 | Fredric Fredricson | P4DB: cleaned up some code. Added p4users(), p4client() and p4user2name() to P4CGI.pm and... modified all cgi:s to use these, « |
20 years ago | |
#4 | 4046 | Fredric Fredricson | P4DB: First submit for 3.1. * Removed frame-stuff and some related files * Added new page... header * Started update of documentation * Changed a lot of CGI:s to conform to new "look and feel" Still a lot to do: - clean up stuff (especially the javascript) - Fix the file list to use new annotate-command - Clean up and document css-file - and more....... « |
21 years ago | |
#3 | 2875 | Fredric Fredricson | P4DB 3.0 first beta... | 22 years ago | |
#2 | 1920 | Fredric Fredricson | P4DB: Mainly some user interface fixes: * Added a small arrow that points to selection in... list of options * Added tooltip help * Added user prefereces to turn the above off (or on) * Some other user interface fixes And fixed a bug in jobList.cgi and some minor bugs in label and branch viewers. « |
23 years ago | |
#1 | 1638 | Fredric Fredricson | P4DB: Added all (I think) files for P4DB | 23 years ago |