19 include_once (
"FDL/Class.Doc.php");
20 include_once (
"FDL/Class.VGroup.php");
36 $action->parent->AddJsRef(
$action->GetParam(
"CORE_JSURL") .
"/subwindow.js");
37 $action->parent->AddJsRef(
$action->GetParam(
"CORE_JSURL") .
"/geometry.js");
38 $action->parent->AddJsRef(
$action->GetParam(
"CORE_JSURL") .
"/AnchorPosition.js");
46 $acls[] =
"modifyacl";
50 $width = floor(70 / count($acls));
51 $action->lay->set(
"cellwidth", $width .
'%');
52 foreach ($acls as $k => $v) {
53 $hacl[$k][
"aclname"] = ucfirst(_($v));
54 $hacl[$k][
"acldesc"] = ucfirst(_(
$doc->dacls[$v][
"description"]));
55 $hacl[$k][
"oddoreven"] = ($k % 2) ?
"even" :
"odd";
58 $action->lay->SetBlockData(
"DACLS", $hacl);
60 $action->lay->Set(
"stitle", str_replace(array(
63 ) ,
"",
$doc->title));
66 $ouser =
new User(
"", $gid);
67 $tusers = $ouser->GetUserAndGroupList(
"TABLE");
70 $q->AddQuery(
"docid=" .
$doc->id);
71 $q->AddQuery(
"upacl != 0 OR unacl != 0");
72 $l =
$q->Query(0, 0,
"TABLE");
77 $lu[] = $lp[
"userid"];
80 foreach ($tusers as $k => $v) {
81 if (in_array($v[
"id"], $lu)) {
82 $title[$v[
"id"]] = $v[
"firstname"] .
" " . $v[
"lastname"];
86 "displaydyn" =>
"none",
87 "isdyngroup" =>
false,
88 "displayuser" => ($v[
"isgroup"] !=
"Y") ?
"inline" :
"none",
89 "displaygroup" => ($v[
"isgroup"] ==
"Y") ?
"inline" :
"none"
95 }
else if ($gid == 0) {
99 $tiduser = $ouser->GetGroupList(
"TABLE");
103 foreach ($tiduser as $k => $v) {
104 $g =
new Group(
"", $v[
"id"]);
106 $title[$v[
"id"]] = $v[
"firstname"] .
" " . $v[
"lastname"];
107 foreach ($g->groups as $kg => $gid) {
109 $hg[$gid][$v[
"id"]] = $v[
"id"];
110 $sgroup[$v[
"id"]] = $v[
"id"];
115 foreach ($tiduser as $k => $v) {
116 if (!in_array($v[
"id"], $sgroup)) {
118 $tg = array_merge($tg,
getTableG($hg, $v[
"id"]));
125 "displayuser" =>
"inline",
126 "displaydyn" =>
"none",
127 "isdyngroup" =>
false,
128 "displaygroup" =>
"none"
135 $ouser =
new User(
"", $gid);
136 $tusers = $ouser->getGroupUserList(
"TABLE");
141 "displayuser" =>
"none",
142 "displaydyn" =>
"none",
143 "isdyngroup" =>
false,
144 "displaygroup" =>
"inline"
146 $title[$gid] = $ouser->firstname .
" " . $ouser->lastname;
148 foreach ($tusers as $k => $v) {
151 $action->AddWarningMsg(sprintf(_(
"Not all users can be vieved.\nlimit %d has been reached") , $k));
154 $title[$v[
"id"]] = $v[
"firstname"] .
" " . $v[
"lastname"];
158 "displaydyn" =>
"none",
159 "isdyngroup" =>
false,
160 "displayuser" =>
"inline",
161 "displaygroup" =>
"none"
167 if (
$doc->getValue(
"DPDOC_FAMID") > 0) {
170 $pattr = $pdoc->GetProfilAttributes();
172 foreach ($pattr as $k => $v) {
174 if (!$vg->isAffected()) {
181 "isdyngroup" => $v->inArray() ,
182 "displaydyn" =>
"inline",
183 "displayuser" =>
"none",
184 "displaygroup" =>
"none"
186 $title[$vg->num] = $v->getLabel();
190 foreach ($tg as $k => $v) {
192 $tg[$k][
"gname"] =
$title[$v[
"gid"]];
193 $tg[$k][
"ACLS"] =
"ACL$k";
194 $action->lay->setBlockData(
"ACL$k", $tacl[$v[
"gid"]]);
197 $action->lay->setBlockData(
"GROUPS", $tg);
200 $action->lay->set(
"allgreen", getHttpVars(
"allgreen",
"N"));
201 $action->lay->set(
"isgreen", $green);
204 $action->lay->setBlockData(
"MODIFY", array(
209 $action->lay->set(
"dmodify",
"");
210 }
else $action->lay->set(
"dmodify",
"none");
218 "level" => $level * 10,
219 "displayuser" =>
"none",
220 "displaydyn" =>
"none",
221 "isdyngroup" =>
false,
222 "displaygroup" =>
"inline"
224 if (isset($hg[
$id])) {
226 while (list($kg, $gid) = each($hg[$id])) {
242 foreach ($acls as $k => $v) {
243 $tableacl[$k][
"aclname"] = $v;
244 $pos = $dacls[$v][
"pos"];
246 $tableacl[$k][
"oddoreven"] = ($k % 2) ?
"even" :
"odd";
247 $tableacl[$k][
"aclid"] = $pos;
248 $tableacl[$k][
"iacl"] = $k;
249 if (
$perm->ControlUp($pos)) {
250 $tableacl[$k][
"selected"] =
"checked";
251 $tableacl[$k][
"bimg"] =
"bgreen.png";
253 $tableacl[$k][
"selected"] =
"";
254 if (
$perm->ControlU($pos)) {
255 $tableacl[$k][
"bimg"] =
"bgrey.png";
257 if (
$perm->ControlUn($pos)) $tableacl[$k][
"bimg"] =
"bred.png";
258 else $tableacl[$k][
"bimg"] =
"1x1.gif";