#!/usr/bin/perl

do '../web-lib.pl';
$|=1;
&init_config();
%access = &get_module_acl();

&ReadParse();

$serveur = &get_system_hostname();

&error ("Le module de gestion des quotas n'est pas utilisable") unless &foreign_check("quota");
&foreign_require("quota","quota-lib.pl");

&error ("Le module de gestion des utilisateurs n'est pas utilisable") unless &foreign_check("useradmin");
&foreign_require("useradmin","user-lib.pl");

&error ("Le module de gestion de mysql n'est pas utilisable") unless &foreign_check("mysql");
&foreign_require("mysql","mysql-lib.pl");

$domaine=$in{domaine};
&error ("Quel domaine ?") if (!$domaine);

use DB_File;
tie %LIST,'DB_File',"/etc/ovhm.db";
$login = $LIST{"$domaine"};
untie(%LIST);

if ($quota=$in{quota}) {
	&error ("Quota non valide <br>Veuillez indiquer une valeur en Mo") if ($quota !~ /^\d+$/);
	$quota *= 1000;
	&foreign_call("quota","edit_user_quota","$login","/home",0,$quota,0,0);
}

$mdpftp1=$in{mdpftp1};
$mdpftp2=$in{mdpftp2};
if ($mdpftp1 or $mdpftp2) {
	&error ("Les 2 mots de passe ftp ne sont pas identiques") if ($mdpftp1 ne $mdpftp2);
	&error ("Le mot de passe ftp est trop court<br>Minimum 5 caractères") if ($mdpftp1 !~ /.{5}/);
	system "echo $mdpftp1 | passwd --stdin $login";
	system "/usr/local/apache/bin/htpasswd -n -b $login $mdpftp1 > /home/$login/www/stats/.htpasswd";
}
$mdpmail1=$in{mdpmail1};
$mdpmail2=$in{mdpmail2};
if ($mdpmail1 or $mdpmail2) {
        &error ("Les 2 mots de passe mail ne sont pas identiques") if ($mdpmail1 ne $mdpmail2);
        &error ("Le mot de passe mail est trop court<br>Minimum 5 caractères") if ($mdpmail1 !~ /.{5}/);
	system "/home/vpopmail/bin/vpasswd postmaster\@$domaine $mdpmail1";
}
$mdpsql1=$in{mdpsql1};
$mdpsql2=$in{mdpsql2};
if ($mdpsql1 or $mdpsql1) {
        &error ("Les 2 mots de passe sql ne sont pas identiques") if ($mdpsql1 ne $mdpsql2);
        &error ("Le mot de passe sql est trop court<br>Minimum 5 caractères") if ($mdpsql1 !~ /.{5}/);
        system "/usr/local/apache/bin/htpasswd -n -b $login $mdpsql1 > /home/$login/www/phpmyadmin/.htpasswd";
        foreign_call("mysql","execute_sql_logged","mysql", "GRANT ALL PRIVILEGES ON $login.* to $login\@localhost identified
 by '$mdpsql1'");
        foreign_call("mysql","execute_sql_logged","mysql", "GRANT ALL PRIVILEGES ON $login.* to $login\@$serveur identified 
by '$mdpsql1'");
        open CONFIG, "/home/$login/www/phpmyadmin/config.inc.php";
        @config = <CONFIG>;
        close CONFIG;
        open CONFIG, ">/home/$login/www/phpmyadmin/config.inc.php";
        foreach $c (@config) {
                $c =~ s/^(\$cfgServers\[1\]\[\'password\'\]\s+= )'.*';/$1\'$mdpsql1\';/g;
                print CONFIG $c;
        }
        close CONFIG;
}

if ($telnet=$in{telnet}) {
	if ($telnet eq "oui") {
		system "chsh -s /bin/bash $login";
	}
	if ($telnet eq "non") {
		system "chsh -s /bin/false $login";
	}
}

if ($suspendre=$in{suspendre}) {
	if ($suspendre eq "oui") {
		system("/usr/bin/passwd -l $login");
                system("chmod 000 /home/$login");
	}
	if ($suspendre eq "non") {
                system("/usr/bin/passwd -u $login");
                system("chmod 705 /home/$login");
	}
}


&redirect("modifier.cgi?domaine=$domaine");
