22 include_once (
"Class.QueryDb.php");
23 include_once (
"Class.Application.php");
24 include_once (
"Class.User.php");
25 include_once (
"Class.Acl.php");
26 include_once (
"Class.Domain.php");
27 include_once (
"Class.MailAccount.php");
28 include_once (
"Class.Permission.php");
29 include_once (
"Lib.Http.php");
38 $filename = ($_FILES[
"upfile"][
"tmp_name"]);
41 $action->ExitError(
"File not found : $filename : " . $_FILES[
"upfile"][
"name"]);
46 while (list($k, $v) = each(
$content)) {
47 switch (substr($v, 0, 1)) {
58 redirect(
$action,
"ACCESS",
"USER_ACCESS");
64 $col = explode(
"|",
$line);
66 list($uname, $udom) = explode(
"@", $col[0]);
72 $use->SetLogin($uname, $domain->iddomain);
73 $use->password = $col[1];
74 $use->firstname = $col[2];
75 $use->lastname = $col[3];
76 $use->isgroup = $col[4];
77 if ($use->IsAffected()) {
78 $err = $use->Modify(
true);
81 if ($verbose) printf(_(
"user %s %s has been modified\n") , $use->firstname, $use->lastname);
83 $use->iddomain = $domain->iddomain;
85 $err = $use->Add(
true);
87 if ($verbose) printf(_(
"user %s %s has been added\n") , $use->firstname, $use->lastname);
90 if ($use->iddomain != 1) {
92 if ($mailapp->Exists(
"MAILADMIN")) {
93 $mailapp->Set(
"MAILADMIN",
$action->parent);
94 $uacc =
new MailAccount($mailapp->GetParam(
"MAILDB") , $use->id);
95 $uacc->iddomain = $use->iddomain;
96 $uacc->iduser = $use->id;
97 $uacc->login = $use->login;
98 if ($uacc->isAffected()) $uacc->
Modify(
true);
99 else $uacc->Add(
true);
103 $groups = explode(
";", $col[5]);
106 if ($group->isAffected()) $group->delete(
true);
108 while (list($kg, $gd) = each($groups)) {
110 list($grname, $grdomain) = explode(
"@", $gd);
114 $grdomain = chop($grdomain);
117 $gr->SetLogin($grname, $gd->iddomain);
118 if ($gr->IsAffected()) {
119 $group->iduser = $use->id;
120 $group->idgroup = $gr->id;
128 $col = explode(
"|",
$line);
129 if (!is_array($col))
continue;
130 if (count($col) != 3)
continue;
131 if (substr(
$line, 0, 1) ==
"#")
continue;
135 list($uname, $udom) = explode(
"@", $col[1]);
142 $use->SetLogin($uname, $domain->iddomain);
149 if (!
$perm->IsAffected()) {
151 "id_user" => $use->id,
152 "id_application" =>
$app->id
155 $taclname = explode(
";", $col[2]);
157 if (count($taclname) > 0) {
160 foreach ($taclname as $aclname) {
162 $aclname = chop($aclname);
163 if (substr($aclname, 0, 1) ==
"-") {
164 $aclname = substr($aclname, 1);
169 $acl->Set($aclname,
$app->id);
171 if ($acl->id ==
"")
continue;
174 $taclid[] = - $acl->id;
176 $taclid[] = $acl->id;
180 foreach ($taclid as $aclid) {
181 $perm->id_acl = $aclid;
187 if ($verbose) printf(_(
"add acl %s for %s %s\n") ,
$perm->id_acl, $use->firstname, $use->lastname);