#!/usr/bin/perl ################################################################################ # # File: cvsadm/admin.cgi # Description: Provides the admin screen for cvsadm # Author: Andrew@DeFaria.com # Created: Thu Jul 7 16:54:07 PDT 2005 # Modified: # Language: Perl # # (c) Copyright 2005, Andrew@DeFaria.com, all rights reserved. # ################################################################################ use strict; use warnings; use CGI qw (:standard *table start_Tr end_Tr start_td end_td start_div end_div); use CGI::Carp "fatalsToBrowser"; use CVSAdm; my $cvs_server = param "cvs_server"; my $Cvs_server = ucfirst $cvs_server; my $repository = param "repository"; my $userid = param "userid"; my $euid = cookie "CVSAdmUser"; my $isadmin = IsAdmin ($cvs_server, $repository, $euid); sub StartForm { my $action = shift; print start_form { -action => $action }; print hidden { -name => "cvs_server", -value => $cvs_server }; print hidden { -name => "repository", -value => $repository }; if (!$isadmin) { print hidden { -name => "userid", -value => $userid }; } # if } # StartForm sub Body { my @users = Users $cvs_server, $repository; my @groups = Groups $cvs_server, $repository; my @sysusers = SystemUsers $cvs_server, $repository; print h3 "
Maintenance Menu
"; print start_table { -align => "center", -bgcolor => "white", -border => 0, -cellspacing => 0, -cellpadding => 2, -width => "70%"}; # Users print start_Tr; print start_td { -valign => "middle", -class => "label" }; print "User:"; print end_td; StartForm "processaction.cgi"; print start_td { -valign => "middle", -align => "right", }; print popup_menu { -name => "userid", -values => \@users, -class => "inputfield" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Edit User" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Delete User", -onClick => "return AreYouSure ('Are you sure you wish to delete the selected user?');" }; print end_td; print end_form; StartForm "adduser.cgi"; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Create User" }; print end_td; print end_form; print end_Tr; if ($euid eq "cvsroot") { # Groups print start_Tr; print start_td { -valign => "middle", -class => "label" }; print "Group:"; print end_td; StartForm "processaction.cgi"; print start_td { -valign => "middle", -align => "right", }; print popup_menu { -name => "group", -values => \@groups, -class => "inputfield" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Edit Group" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Delete Group", -onClick => "return AreYouSure ('Are you sure you wish to delete the selected group?');" }; print end_td; print end_form; StartForm "addgroup.cgi"; print start_td { -valign => "middle" }; print submit { -name => "submit", -value => "Create Group" }; print end_td; print end_form; print end_Tr; # System Users print start_Tr; print start_td { -valign => "middle", -class => "label" }; print "System User:"; print end_td; StartForm "processaction.cgi"; print start_td { -valign => "middle", -align => "right", }; print popup_menu { -name => "sysuser", -values => \@sysusers, -class => "inputfield" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Edit SysUser" }; print end_td; print start_td { -valign => "middle" }; print submit { -name => "action", -value => "Delete SysUser", -onClick => "return AreYouSure ('Are you sure you wish to delete the selected system user?');" }; print end_td; print end_form; StartForm "addsysuser.cgi"; print start_td { -valign => "middle" }; print submit { -name => "submit", -value => "Create SysUser" }; print end_td; print end_form; print end_Tr; } # if print start_Tr; print start_td { -colspan => 5, -align => "center", -valign => "middle" }; print start_form { -action => "login.cgi" }; print hidden { -name => "cvs_server", -value => $cvs_server }; print hidden { -name => "repository", -value => $repository }; print hidden { -name => "logout", -value => "yes" }; print submit { -name => "Logout", }; print end_td; print end_Tr; print end_table; } # Body Heading ( "getcookie", $userid, "CVSAdm:$Cvs_server:$repository: Administration", "CVS Administration for $Cvs_server:$repository" ); if (!$isadmin) { DisplayError "You are not authorized to add users"; } # if Body; Footing; exit;