#!/usr/bin/perl -w

use esmith::ConfigDB;
use Apache::Htpasswd;

my $db = esmith::ConfigDB->open_ro("WebShare");

my @WebShare = $db->get_all_by_prop( type => 'WebShare' );
my $MultiAccessWebshare = $db->get_prop( "MultiAccess", "WebShareName" ) || "";
my %MultiWebshares = split( /,/, $db->get_prop( "MultiAccess", "WebShares" ) || "" );

foreach my $WebShare (@WebShare) {
    my $ws  = $WebShare->key;
    my $rec = $db->get("$ws");

    system( "/bin/rm -f /home/e-smith/db/webshare/htpasswd.$ws > /dev/null 2>&1" );
    system( "/bin/touch", "/home/e-smith/db/webshare/htpasswd.$ws" );

    my %Users = split( /,/, $rec->prop("Users") || "" );

    if ( "%Users" ne "" ) {
        foreach my $Users ( sort %Users ) {
            my @user     = split( /:/, $Users );
            my $userName = $user[0];
            my $password = $user[1];

            #------------------------------------------------------------
            # Create the MultiAccessWebshare account
            #------------------------------------------------------------

            if (   ( "$MultiAccessWebshare" eq "$ws" )
                && ( "%MultiWebshares" ne "" ) )
            {
                my $foo =
                  new Apache::Htpasswd(
                    "/home/e-smith/db/webshare/htpasswd.$MultiAccessWebshare");
                $foo->htDelete("$userName");
		$foo->{'USEMD5'} = "MD5";
                $foo->htpasswd( "$userName", "$password" );

                foreach my $MultiWebshares ( sort %MultiWebshares ) {
                    my $foo1 =
                      new Apache::Htpasswd(
                        "/home/e-smith/db/webshare/htpasswd.$MultiWebshares");
                    $foo1->htDelete("$userName");
		    $foo->{'USEMD5'} = "MD5";
                    $foo1->htpasswd( "$userName", "$password" );
                }
            }
            else {

                #------------------------------------------------------------
                # Create the webshare account
                #------------------------------------------------------------

                my $foo = new Apache::Htpasswd("/home/e-smith/db/webshare/htpasswd.$ws");
                $foo->htDelete("$userName");
		$foo->{'USEMD5'} = "MD5";
                $foo->htpasswd( "$userName", "$password" );
            }
        }
    }
}
exit(0)
