19 include_once (
"FDL/Class.WDoc.php");
21 include_once (
"Class.QueryDb.php");
22 include_once (
"FDL/freedom_util.php");
23 include_once (
"FDL/editutil.php");
24 include_once (
"FDL/editcard.php");
43 if (!
$doc)
$action->exitError(sprintf(_(
"no privilege to create this kind (%d) of document") , $classid));
50 $action->lay->set(
"tstates",
"");
51 $action->lay->set(
"ttransid",
"");
53 $action->lay->Set(
"Wattrnid",
"");
54 $action->lay->Set(
"Wattrntitle",
"");
55 $action->lay->Set(
"dcomment",
"hidden");
56 $action->lay->Set(
"WID",
false);
57 $action->lay->set(
"dvalidate",
"");
58 if (($usefor !=
"D") && ($usefor !=
"Q")) {
65 if (in_array(
$doc->state, $wdoc->nosave)) {
66 $action->lay->set(
"dvalidate",
"none");
69 $action->lay->setBlockData(
"UNCHANGE", array(
75 $dcolor =
$action->getParam(
"COLOR_A9");
76 $fstate = $wdoc->GetFollowingStates();
78 $tjstransid = array();
84 if (isset($wdoc->autonext[
$doc->state])) $dstate = $wdoc->autonext[
$doc->state];
85 $action->lay->Set(
"dstate",
"");
86 foreach ($fstate as $k => $v) {
87 $tr = $wdoc->getTransition(
$doc->state, $v);
89 $tstate[$k][
"statevalue"] = $v;
91 $tstate[$k][
"checked"] =
"selected";
92 $action->lay->Set(
"dstate", $dstate);
93 $action->lay->Set(
"dcomment",
"visible");
94 $tstate[$k][
"dsubmit"] =
"boldstate";
96 $tstate[$k][
"checked"] =
"";
97 $tstate[$k][
"dsubmit"] =
"state";
100 $tstate[$k][
"statename"] = _($v);
101 if (_(
"To" . $v) ==
"To" . $v) $lnextstate = sprintf(_(
"to %s") , _($v));
102 else $lnextstate = _(
"To" . $v);
103 $tstate[$k][
"tostatename"] = ucfirst($lnextstate);
104 $tstate[$k][
"asktitle"] = str_replace(
"'",
"’", sprintf(_(
"parameters for %s state") , _($v)));
105 $tstate[$k][
"transid"] = $tk;
106 $color = $wdoc->getColor($v);;
107 $tstate[$k][
"color"] = ($color) ? $color : $dcolor;
108 if (is_array($tr[
"ask"])) $tjsaskes[] =
"['" . implode(
"','", $tr[
"ask"]) .
"']";
109 else $tjsaskes[] =
"[]";
110 if (is_array($tr[
"ask"])) $taskes = array_merge($taskes, $tr[
"ask"]);
114 $action->lay->set(
"tstates",
"'" . implode(
"','", $tjsstate) .
"'");
115 $action->lay->set(
"ttransid",
"'" . implode(
"','", $tjstransid) .
"'");
116 $action->lay->set(
"askes",
"" . strtolower(implode(
",", $tjsaskes)) .
"");
117 $action->lay->SetBlockData(
"NEWSTATE", $tstate);
118 $action->lay->Set(
"WID",
true);
119 $action->lay->Set(
"NOSTATE", count($tstate) == 0);
120 if ($wdoc->viewlist ==
"button") {
121 $action->lay->SetBlockData(
"BUTTONSTATE", array(
126 } elseif ($wdoc->viewlist ==
"none") {
127 $action->lay->Set(
"WID",
false);
129 $action->lay->SetBlockData(
"LISTSTATE", array(
138 $taskes = array_unique($taskes);
139 foreach ($taskes as $ka => $va) {
140 $oa = $wdoc->getAttribute($va);
142 if ($oa->needed) $tneed[$oa->id] = $oa->getLabel();
143 if ($oa->usefor ==
'Q') {
144 $wval = $wdoc->getParamValue($oa->id);
145 $wval = $wdoc->getValueMethod($wval);
147 $wval = $wdoc->getValue($oa->id);
150 "alabel" => $oa->getLabel() ,
151 "labelclass" => ($oa->needed) ?
"FREEDOMLabelNeeded" :
"FREEDOMLabel",
154 "visibility" => ($oa->visibility ==
"H") ?
"hidden" :
"visible"
156 if ($oa->needed) $tneed[$oa->id] = $oa->getLabel();
159 $action->lay->SetBlockData(
"FINPUTS", $tinputs);
160 $action->lay->Set(
"Wattrntitle",
"'" . implode(
"','", str_replace(
"'",
"’", $tneed)) .
"'");
161 $action->lay->Set(
"Wattrnid",
"'" . implode(
"','", array_keys($tneed)) .
"'");
165 $action->lay->Set(
"NOSTATE",
false);
166 if (
$fdoc->schar ==
"R") {
167 $action->lay->SetBlockData(
"COMMENT", array(
176 if ($wdoc->viewlist ==
"button") {
177 $action->lay->set(
"dvalidate",
"none");