# HG changeset patch # User Matthias Förste # Date 1310556183 -7200 # Node ID 2217a0f2ded2ea3af5f38973c07c1ad19dd47411 # Parent 059036ddb06df0731b9cccb9a1cc91a8a80585ae moved cgi script to admin diff -r 059036ddb06d -r 2217a0f2ded2 Build.PL --- a/Build.PL Tue Jul 12 11:01:23 2011 +0200 +++ b/Build.PL Wed Jul 13 13:23:03 2011 +0200 @@ -42,7 +42,7 @@ 'String::MkPasswd' => 0 }, script_files => [glob 'bin/*'], - cgi_files => { map { /\.(bak|orig)$/ ? () : ($_ => $_) } glob 'cgi-bin/*' } + cgi_files => { map { /\.(bak|orig)$/ ? () : ($_ => $_) } glob 'cgi-bin/admin/*' } ); $build->add_build_element('cgi'); $build->install_path( diff -r 059036ddb06d -r 2217a0f2ded2 cgi-bin/admin/dav-htuseradd.cgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cgi-bin/admin/dav-htuseradd.cgi Wed Jul 13 13:23:03 2011 +0200 @@ -0,0 +1,64 @@ +#!/usr/bin/perl + +# Copyright (C) 2011 Matthias Förste +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Matthias Förste + +use warnings; + +use CGI::Fast; +use Ius::Dav::Htpasswd qw(mkpasswd readconfig useradd); + +while (my $q = new CGI::Fast) { + + print $q->header(-charset => 'UTF-8'); + print $q->start_html( + -title => $0, + -bgcolor => "white", + ); + + my ($user, $pass, $expiry) = ( + $q->param('user'), + $q->param('pass'), + $q->param('expiry') + ); + + unless (defined $user or defined $pass or defined $expiry) { + + print $q->start_form, + 'New User' => $q->textfield('user'), + 'Password' => $q->password_field('pass'), + 'Expiry' => $q->textfield('expiry'), + $q->submit, + $q->end_form; + + } else { + + my @cmd = (qw(sudo dav-htuseradd -u), $user); + push @cmd, '-e', $expiry if defined $expiry and $expiry ne ''; + + if (my $pass = qx(@cmd)) { + chomp $pass; + print $q->p($pass); + } else { + print $q->p('Something went wrong'); + } + + } + + print $q->end_html; + +} diff -r 059036ddb06d -r 2217a0f2ded2 cgi-bin/dav-htuseradd.cgi --- a/cgi-bin/dav-htuseradd.cgi Tue Jul 12 11:01:23 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -#!/usr/bin/perl - -# Copyright (C) 2011 Matthias Förste -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Matthias Förste - -use warnings; - -use CGI::Fast; -use Ius::Dav::Htpasswd qw(mkpasswd readconfig useradd); - -while (my $q = new CGI::Fast) { - - print $q->header(-charset => 'UTF-8'); - print $q->start_html( - -title => $0, - -bgcolor => "white", - ); - - my ($user, $pass, $expiry) = ( - $q->param('user'), - $q->param('pass'), - $q->param('expiry') - ); - - unless (defined $user or defined $pass or defined $expiry) { - - print $q->start_form, - 'New User' => $q->textfield('user'), - 'Password' => $q->password_field('pass'), - 'Expiry' => $q->textfield('expiry'), - $q->submit, - $q->end_form; - - } else { - - my @cmd = (qw(sudo dav-htuseradd -u), $user); - push @cmd, '-e', $expiry if defined $expiry and $expiry ne ''; - - if (my $pass = qx(@cmd)) { - chomp $pass; - print $q->p($pass); - } else { - print $q->p('Something went wrong'); - } - - } - - print $q->end_html; - -}