#!/usr/bin/perl -w # # $Id: freeside-adduser,v 1.1 2001-10-30 10:20:32 ivan Exp $ use strict; use vars qw($opt_h $opt_c); use Getopt::Std; my $FREESIDE_CONF = "/usr/local/etc/freeside"; getopts("ch:"); die &usage if $opt_c && ! $opt_h; my $secretfile = shift or die &usage; my $user = shift or die &usage; my @args = ( 'htpasswd' ); push @args, '-c' if $opt_c; push @args, $opt_h, $user; system(@args) == 0 or die "htpasswd failed: $?"; open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets") or die "can't open $FREESIDE_CONF/mapsecrets: $!"; print MAPSECRETS "$user $secretfile\n"; close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; sub usage { die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username" } =head1 NAME freeside-adduser - Command line interface to add (freeside) users. =head1 SYNOPSIS freeside-adduser [ -h htpasswd_file [ -c ] ] username =head DESCRIPTION Adds a user to the Freeside billing system. This is for adding users (internal sales/tech folks) to the web interface, not for adding customer accounts. -h: Also call htpasswd for this user with the given filename -c: Passed to htpasswd =head1 SEE ALSO L, base Freeside documentation =cut