19 include_once (
"FDL/Class.Doc.php");
21 include_once (
"FDL/family_help.php");
22 include_once (
"Class.QueryDb.php");
23 include_once (
"GENERIC/generic_util.php");
46 $rtarget = $action->
getArgument(
"rtarget",
"_self");
47 $updateAttrid = $action->
getArgument(
"updateAttrid");
48 if (
$docid == 0) setHttpVar(
"classid", $classid);
52 $recallhelper = $action->
getArgument(
"recallhelper");
53 $action->lay->
Set(
"vid", $vid);
54 $action->lay->
Set(
"ezone", $zonebodycard);
55 $action->lay->
Set(
"rzone", $rzone);
56 $action->lay->
Set(
"rvid", $rvid);
57 $action->lay->
Set(
"rtarget", $rtarget);
58 $action->lay->
Set(
"autoclose", $autoclose);
59 $action->lay->
Set(
"recallhelper", $recallhelper);
60 $action->lay->
Set(
"updateAttrid", $updateAttrid);
61 $action->lay->
Set(
"SELFTARGET", ($rtarget ==
"_self"));
66 if ($classid ==
"") $action->exitError(sprintf(_(
"Creation aborded : no family specified")));
68 if ($classid ==
"") $action->exitError(sprintf(_(
"Creation aborded : unknow family %s") ,
GetHttpVars(
"classid",
getDefFam($action))));
71 if ($cdoc->control(
'create') !=
"") $action->exitError(sprintf(_(
"no privilege to create this kind (%s) of document") , $cdoc->gettitle()));
72 if ($cdoc->control(
'icreate') !=
"") $action->exitError(sprintf(_(
"no privilege to create interactivaly this kind (%s) of document") , $cdoc->gettitle()));
73 $action->lay->
Set(
"title", mb_convert_case(sprintf(_(
"creation %s") , $cdoc->getHTMLTitle()), MB_CASE_TITLE,
'UTF-8'));
75 $action->lay->
Set(
"title", _(
"new card"));
77 if ($usefor ==
"D") $action->lay->
Set(
"title", _(
"default values"));
78 if ($usefor ==
"Q") $action->lay->
Set(
"title", _(
"parameters values"));
80 $action->lay->
Set(
"editaction", $action->text(
"Create"));
82 if ($usefor ==
'D' || $usefor ==
'Q')
$doc->state =
'';
83 if (!
$doc) $action->exitError(sprintf(_(
"no privilege to create this kind (%d) of document") , $classid));
84 if ($usefor !=
"")
$doc->doctype =
'T';
88 if (
$doc->revision != $rev) $action->
ExitError(sprintf(
"document %d : multiple alive revision (%d <> %d)",
$doc->initid,
$doc->revision, $rev));
90 setHttpVar(
"id",
$doc->id);
95 $classid =
$doc->fromid;
96 if (!
$doc->isAlive()) $action->
ExitError(_(
"document not referenced"));
101 $doc->modify(
true, array(
106 $action->lay->
Set(
"title",
$doc->getHTMLtitle());
109 if ($action->read(
"navigator") ==
"EXPLORER") $action->lay->
Set(
"shorticon",
getParam(
"DYNACASE_FAVICO"));
110 else $action->lay->
Set(
"shorticon",
$doc->getIcon());
111 $action->lay->
Set(
"docicon",
$doc->getIcon(
'', 16));
113 if ($zonebodycard ==
"") {
114 if (
$doc->cvid > 0) {
119 $vid =
$doc->getDefaultView(
true,
"id");
120 if ($vid) setHttpVar(
"vid", $vid);
125 $err = $cvdoc->control($vid);
126 if (
$err !=
"") $action->exitError(
$err);
127 $tview = $cvdoc->getView($vid);
128 $doc->setMask($tview[
"CV_MSKID"]);
129 if ($zonebodycard ==
"") $zonebodycard = $tview[
"CV_ZVIEW"];
133 if (($vid ==
"") && ($mskid !=
"")) {
135 if ($mdoc->isAlive() && ($mdoc->control(
'view') ==
""))
$doc->setMask($mdoc->id);
138 if ($zonebodycard ==
"") {
139 if ((!
$docid) &&
$doc->defaultcreate !=
"") $zonebodycard =
$doc->defaultcreate;
140 else $zonebodycard =
$doc->defaultedit;
143 $action->lay->set(
"emblem",
$doc->getEmblem());
144 $action->lay->
Set(
"HEAD", (!preg_match(
"/[A-Z]+:[^:]+:[T|S|U|V]/", $zonebodycard, $reg)));
145 $action->lay->
Set(
"FOOT", (!preg_match(
"/[A-Z]+:[^:]+:[S|U]/", $zonebodycard, $reg)));
146 $action->lay->
Set(
"NOFORM", (preg_match(
"/[A-Z]+:[^:]+:U/", $zonebodycard, $reg)));
147 $action->lay->
Set(
"NOSAVE", (preg_match(
"/[A-Z]+:[^:]+:V/", $zonebodycard, $reg)));
148 if (getHttpVars(
"forcehead") ==
"yes") $action->lay->
Set(
"HEAD",
true);
149 $action->lay->
Set(
"iconsrc",
$doc->geticon());
150 $action->lay->
Set(
"viewstate",
"none");
151 $action->lay->
Set(
"dhelp",
"none");
153 $action->lay->
Set(
"dhelp",
"");
154 $action->lay->
Set(
"helpid",
$doc->fromid);
156 $action->lay->
Set(
"state",
"");
158 $state =
$doc->getState();
159 $action->lay->
Set(
"statecolor",
$doc->getStateColor(
"transparent"));
160 $action->lay->
Set(
"wid",
false);
161 if (
$doc->fromid > 0) {
163 $action->lay->
Set(
"wid", (
$fdoc->schar ==
'R'));
164 $action->lay->
Set(
"FTITLE",
$fdoc->gettitle());
166 $action->lay->
Set(
"FTITLE", _(
"no family"));
169 if (
$doc->locked == - 1) $action->lay->
Set(
"state", $action->text($state));
171 if (
$doc->lmodify ==
'Y') $stateaction =
$doc->getStateActivity(_(
"current_state"));
172 else $stateaction =
$doc->getStateActivity();
173 $action->lay->
Set(
"state", sprintf(
"%s (<i>%s</i>)", $stateaction, $action->text($state)));
175 $action->lay->
Set(
"viewstate",
"inherit");
178 $action->lay->
Set(
"version",
$doc->version);
180 $action->lay->
Set(
"initid", (
$doc->initid !=
'') ?
$doc->initid : 0);
182 $action->lay->
Set(
"dirid", $dirid);
184 $action->lay->set(
"VALTERN", ($action->
GetParam(
"FDL_VIEWALTERN",
"yes") ==
"yes"));
186 $action->lay->
Set(
"classid", $classid);
187 $action->lay->
Set(
"dirid", $dirid);
192 if (
$a[
"cv_order"] == $b[
"cv_order"]) {
195 return (
$a[
"cv_order"] < $b[
"cv_order"]) ? -1 : 1;