#!/usr/bin/perl -w
use strict;
use vdef_globals;
use DBI();

my( $localpart, $domain, $fw_localpart, $fw_domain );
my( $user, $forward );

my( $dbh, $sth );
my( $rows );
my $dbpass;

if($#ARGV!=1){
   print "usage: vmailuser_forward email\@domain.tld some\@where.else\n";
   exit 1;
}
$user=$ARGV[0];
$user=~/([^@]+)@([^@]+)/;
$localpart = $1;
$domain = $2;
$forward=$ARGV[1];
$fw_localpart = $1;
$fw_domain = $2;
if( !defined($localpart) || !defined($domain) || 
   !defined($fw_localpart) || !defined($fw_domain) )
{
   print "Please enter TWO valid email-addresses\n";
   exit 1;
}

$dbpass = readpw();

$dbh = DBI->connect($vdef_globals::db_datasource,
                    $vdef_globals::db_user, $dbpass,{'RaiseError' => 1});
$sth = $dbh->prepare("SELECT id FROM users WHERE id=".$dbh->quote($user));
$sth->execute();
$rows=$sth->rows;
$sth->finish;
if($rows>0){
   $dbh->do("UPDATE users SET maildir = " . $dbh->quote($forward) .
      ", crypt=\"*\", clear=\"*\" " .
      "WHERE id = " . $dbh->quote($user) );
}
else {
   $dbh->do("INSERT INTO users (id,crypt,clear,uid,gid,maildir) VALUES (" . 
      $dbh->quote($user) . "," . "\"*\", \"*\", " .
      "8, 8, " .
      $dbh->quote($forward) . ")");
}
$dbh->disconnect();

