39 $err = _(
"the login must not be empty");
40 }
else if ($login ==
"-") {
42 if (!preg_match(
"/^[a-z0-9][-_@a-z0-9\.]*[a-z0-9]+$/i", $login)) {
43 $err = _(
"the login syntax is like : john.doe");
63 $id = $this->GetValue(
"US_WHATID");
66 $q->AddQuery(
"login='" . strtolower(pg_escape_string($login)) .
"'");
67 if (
$id)
$q->AddQuery(
"id != $id");
68 $iddomain = intval($iddomain);
69 $q->AddQuery(
"iddomain=$iddomain");
70 $q->Query(0, 0,
"TABLE");
71 $err =
$q->basic_elem->msg_err;
72 if ((
$err ==
"") && (
$q->nb > 0))
$err = _(
"login yet use");
82 if ($this->
getValue(
"US_WHATID") !=
"") {
83 include_once (
'FDL/Lib.Dir.php');
86 "us_whatid = '" . intval($this->
getValue(
"US_WHATID")) .
"'"
89 if (count(
$tdoc) > 0)
return _(
"what id already set in freedom\nThis kind of document can not be duplicated");
97 $err = parent::preDocDelete();
100 if ((
$uid > 0) && (
$uid < 10))
$err = _(
"this system user cannot be deleted");
115 $action->parent->AddJsRef($action->GetParam(
"CORE_PUBURL") .
"/FDL/Layout/mktree.js");
117 $iduser = $this->
getValue(
"US_WHATID");
119 $user = $this->getWUser();
120 if (!
$user->isAffected())
return sprintf(_(
"user #%d does not exist") , $iduser);
121 $ugroup =
$user->GetGroupsId();
130 $this->lay->set(
"wid", ($iduser ==
"") ?
"0" : $iduser);
132 $q2 =
new queryDb(
"",
"User");
133 $groups = $q2->Query(0, 0,
"TABLE",
"select users.*, groups.idgroup, domain.name as domain from users, groups, domain where users.id = groups.iduser and users.iddomain=domain.iddomain and users.isgroup='Y'");
135 $q2 =
new queryDb(
"",
"User");
136 $mgroups = $q2->Query(0, 0,
"TABLE",
"select users.*, domain.name as domain from users,domain where users.iddomain=domain.iddomain and isgroup='Y' and id not in (select iduser from groups)");
139 foreach ($groups as $k => $v) {
140 $groupuniq[$v[
"id"]] = $v;
141 $groupuniq[$v[
"id"]][
"checkbox"] =
"";
142 if (in_array($v[
"id"], $ugroup)) $groupuniq[$v[
"id"]][
"checkbox"] =
"checked";
145 if (!$groups) $groups = array();
147 foreach ($mgroups as $k => $v) {
150 $tgroup[$k][
"SUBUL"] = $cgroup;
155 $tgroup[$k][
"icon"] =
$icon;
157 $tgroup[$k][
"icon"] =
"Images/igroup.gif";
159 $groupuniq[$v[
"id"]] = $v;
160 $groupuniq[$v[
"id"]][
"checkbox"] =
"";
161 if (in_array($v[
"id"], $ugroup)) $groupuniq[$v[
"id"]][
"checkbox"] =
"checked";
164 $this->lay->setBlockData(
"LI", $tgroup);
165 uasort($groupuniq, array(
169 $this->lay->setBlockData(
"SELECTGROUP", $groupuniq);
179 foreach ($groups as $k => $v) {
180 if ($v[
"idgroup"] ==
$id) {
187 $tlay[$k][
"icon"] =
$icon;
189 $tlay[$k][
"icon"] =
"Images/igroup.gif";
194 if (count($tlay) == 0)
return "";
196 $lay =
new Layout(
"USERCARD/Layout/ligroup.xml", $action);
201 $lay->setBlockData(
"LI", $tlay);
209 return strcasecmp(
$a[
'lastname'], $b[
'lastname']);
218 include_once (
"FDL/Lib.Usercard.php");
221 $gidnew = $_POST[
"gidnew"];
223 if ($gidnew ==
"Y") {
224 $gid = $_POST[
"gid"];
225 if ($gid ==
"") $gid = array();
227 $user = $this->getWUser();
228 $rgid =
$user->GetGroupsId();
229 if ((count($rgid) != count($gid)) || (count(array_diff($rgid, $gid)) != 0)) {
230 $gdel = array_diff($rgid, $gid);
231 $gadd = array_diff($gid, $rgid);
234 foreach ($gadd as $gid) {
235 $g->iduser =
$user->id;
242 $gdoc->addFile($this->
id);
247 foreach ($gdel as $gid) {
252 if (!method_exists($gdoc,
"deleteMember"))
AddWarningMsg(
"no group $gid/" . $gdoc->id);
255 $err = $gdoc->delFile($this->
id);
276 if (
$u->isAffected()) {
279 if ($du->isAlive())
return $du;
295 if (!isset($this->wuser)) {
301 if (!isset($this->wuser))
return false;
309 if (isset($this->wuser)) unset($this->wuser);