summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Conf.pm4
-rw-r--r--FS/MANIFEST3
-rw-r--r--FS/bin/freeside-adduser52
3 files changed, 56 insertions, 3 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index fb8d13bae..1c75954aa 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -8,7 +8,7 @@ $DEBUG = 0;
=head1 NAME
-FS::Conf - Read access to Freeside configuration values
+FS::Conf - Freeside configuration values
=head1 SYNOPSIS
@@ -29,7 +29,7 @@ FS::Conf - Read access to Freeside configuration values
=head1 DESCRIPTION
-Read access to Freeside configuration values. Keys currently map to filenames,
+Read and write Freeside configuration values. Keys currently map to filenames,
but this may change in the future.
=head1 METHODS
diff --git a/FS/MANIFEST b/FS/MANIFEST
index 5de6977a1..4254514a2 100644
--- a/FS/MANIFEST
+++ b/FS/MANIFEST
@@ -7,7 +7,8 @@ bin/freeside-bill
bin/freeside-email
bin/freeside-print-batch
bin/freeside-queued
-fin/freeside-apply-credits
+bin/freeside-apply-credits
+bin/freeside-adduser
FS.pm
FS/CGI.pm
FS/Conf.pm
diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser
new file mode 100644
index 000000000..4517a83fa
--- /dev/null
+++ b/FS/bin/freeside-adduser
@@ -0,0 +1,52 @@
+#!/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<htpasswd>, base Freeside documentation
+
+=cut
+