19 include_once (
"GENERIC/generic_edit.php");
43 else $classid = abs($classid);
44 setHttpVar(
"classid", $classid);
48 if (!
$doc->isAlive())
$action->exitError(sprintf(_(
"document id %d not found") ,
$docid));
50 $tclassdoc[
$doc->fromid] = array(
52 "title" =>
$fdoc->getTitle()
58 if (method_exists(
$dir,
"isAuthorized")) {
61 if (
$dir->isAuthorized($classid)) {
64 else $tclassdoc =
$dir->getAuthorizedFamilies();
66 $tclassdoc =
$dir->getAuthorizedFamilies();
67 $first = current($tclassdoc);
68 $classid = abs($first[
"id"]);
69 setHttpVar(
"classid", abs($classid));
81 $tsub = $cdoc->GetChildFam($cdoc->id,
true);
83 $tclassdoc[$classid] = array(
85 "title" => $cdoc->getTitle()
87 $tclassdoc = array_merge($tclassdoc, $tsub);
91 $first = current($tclassdoc);
92 if ($classid ==
"") $classid = $first[
"id"];
93 setHttpVar(
"classid", abs($classid));
99 if (($classid == 0) && (
$docid != 0)) $classid =
$doc->fromid;
100 setHttpVar(
"forcehead",
"yes");
104 $selectclass = array();
108 foreach ($tclassdoc as $k => $cdoc) {
109 if ($cdoc[
"id"] == $classid) $first =
true;
110 $selectclass[$k][
"idcdoc"] = $cdoc[
"id"];
112 $selectclass[$k][
"selected"] =
"";
116 $first = current($tclassdoc);
117 $classid = $first[
"id"];
118 setHttpVar(
"classid", abs($classid));
124 $selectclass[$k + 1][
"idcdoc"] =
"0";
125 $selectclass[$k + 1][
"classname"] = _(
"no document type");
130 $action->lay->Set(
"refreshfld",
"yes");
143 if ($usefor ==
"D")
$action->lay->Set(
"TITLE", _(
"default values"));
146 if (
$doc ===
false)
$action->exitError(sprintf(_(
"no privilege to create this kind (%d) of document") , $classid));
148 foreach ($selectclass as $k => $cdoc) {
149 $tfid[] = abs($cdoc[
"idcdoc"]);
152 foreach ($selectclass as $k => $cdoc) {
153 if (!in_array(abs($cdoc[
"idcdoc"]) , $tfid)) unset($selectclass[$k]);
157 foreach ($selectclass as $k => $cdoc) {
158 if ($classid == abs($cdoc[
"idcdoc"])) {
159 $selectclass[$k][
"selected"] =
"selected";
163 if (!
$doc->isAlive())
$action->ExitError(_(
"document not referenced"));
165 while (list($k, $cdoc) = each($selectclass)) {
166 if (
$doc->fromid == abs($selectclass[$k][
"idcdoc"])) {
167 $selectclass[$k][
"selected"] =
"selected";
173 $action->lay->Set(
"dirid", $dirid);
174 $action->lay->Set(
"onlysubfam", $onlysubfam);
178 uasort($selectclass,
"cmpselect");
179 $action->lay->SetBlockData(
"SELECTCLASS", $selectclass);
181 $action->lay->Set(
"boverdisplay",
"none");
185 return strcasecmp(
$a[
"classname"], $b[
"classname"]);