2
/* vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +----------------------------------------------------------------------+
5
// +----------------------------------------------------------------------+
6
// | Copyright (c) 2000-2009 WS Interactive |
7
// +----------------------------------------------------------------------+
8
// | Automne is subject to version 2.0 or above of the GPL license. |
9
// | The license text is bundled with this package in the file |
10
// | LICENSE-GPL, and is available through the world-wide-web at |
11
// | http://www.gnu.org/copyleft/gpl.html. |
12
// +----------------------------------------------------------------------+
13
// | Author: S�bastien Pauchet <sebastien.pauchet@ws-interactive.fr> |
14
// +----------------------------------------------------------------------+
16
// $Id: polymod_object.php,v 1.1.1.1 2008/11/26 17:12:06 sebastien Exp $
19
* PHP page : polymod admin
20
* Used to manage poly modules
24
* @author S�bastien Pauchet <sebastien.pauchet@ws-interactive.fr>
27
require_once($_SERVER["DOCUMENT_ROOT"]."/cms_rc_admin.php");
28
require_once(PATH_ADMIN_SPECIAL_SESSION_CHECK_FS);
33
define("MESSAGE_PAGE_TITLE", 1229);
34
define("MESSAGE_PAGE_TITLE_APPLICATIONS", 264);
35
define("MESSAGE_PAGE_CHOOSE", 1132);
36
define("MESSAGE_PAGE_ACTION_NEW", 262);
37
define("MESSAGE_PAGE_EMPTY_SET", 265);
38
define("MESSAGE_PAGE_CHOOSE_MODULE", 1225);
39
define("MESSAGE_PAGE_CHOOSE_OBJECTS", 1226);
40
define("MESSAGE_PAGE_OBJECTS", 1227);
41
define("MESSAGE_PAGE_APPLICATION", 1228);
42
define("MESSAGE_PAGE_FIELD_TITLE", 132);
43
define("MESSAGE_PAGE_FIELD_ACTIONS", 259);
44
define("MESSAGE_PAGE_ACTION_DELETE", 252);
45
define("MESSAGE_PAGE_ACTION_EDIT", 261);
46
define("MESSAGE_PAGE_FIELD_DESCRIPTION", 139);
47
define("MESSAGE_PAGE_FIELD_RESOURCE",1230);
48
define("MESSAGE_PAGE_FIELD_RESOURCE_NONE",195);
49
define("MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY",1231);
50
define("MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY",1232);
51
define("MESSAGE_PAGE_FIELD_RESOURCE_EXPLANATION",1233);
52
define("MESSAGE_FORM_ERROR_LINK_MANDATORY", 802);
53
define("MESSAGE_PAGE_FIELD_YES", 1082);
54
define("MESSAGE_PAGE_FIELD_NO", 1083);
55
define("MESSAGE_PAGE_FIELD_EDITABLE", 1271);
56
define("MESSAGE_PAGE_FIELD_ONLY_FOR_ADMIN", 1276);
57
define("MESSAGE_PAGE_FIELD_COMPOSED_LABEL", 1294);
58
define("MESSAGE_PAGE_FIELD_OBJECT_EXPLANATION", 1297);
59
define("MESSAGE_PAGE_TREEH1", 1049);
64
define("MESSAGE_PAGE_FIELD_PREVIEW_URL", 254);
65
define("MESSAGE_PAGE_PLUGIN_DEFINITIONS", 275);
66
define("MESSAGE_PAGE_OBJECT_PROPERTIES", 276);
67
define("MESSAGE_PAGE_ACTION_DELETEPLUGINCONFIRM", 279);
68
define("MESSAGE_PAGE_OBJECT_INDEXABLE", 325);
69
define("MESSAGE_PAGE_OBJECT_INDEXATION", 326);
70
define("MESSAGE_PAGE_OBJECT_INDEXABLE_EXPLANATION", 327);
71
define("MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO", 328);
72
define("MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO_EXPLANATION", 329);
73
define("MESSAGE_PAGE_FIELD_SEARCH_RESULTS_DISPLAY", 420);
74
define("MESSAGE_PAGE_FIELD_SEARCH_RESULTS_DISPLAY_LEGEND", 421);
75
define("MESSAGE_PAGE_FIELD_OBJECT_SYNTAX", 421);
78
if (!$cms_user->hasAdminClearance(CLEARANCE_ADMINISTRATION_EDITVALIDATEALL)) {
79
header("Location: ".PATH_ADMIN_SPECIAL_ENTRY_WR."?cms_message_id=".MESSAGE_PAGE_CLEARANCE_ERROR."&".session_name()."=".session_id());
83
$moduleCodename = $_REQUEST["moduleCodename"];
84
$object = new CMS_poly_object_definition($_REQUEST["object"]);
85
$label = new CMS_object_i18nm($object->getValue("labelID"));
86
$description = new CMS_object_i18nm($object->getValue("descriptionID"));
87
$availableLanguagesCodes = CMS_object_i18nm::getAvailableLanguages();
89
if ($moduleCodename) {
90
$polymod = CMS_modulesCatalog::getByCodename($moduleCodename);
93
// ****************************************************************
94
// ** ACTIONS MANAGEMENT **
95
// ****************************************************************
96
switch ($_POST["cms_action"]) {
98
case "switchexplanation":
99
//checks and assignments
101
$object->setDebug(false);
102
if (!$_POST["label".$availableLanguagesCodes[0]] || !$_POST["description".$availableLanguagesCodes[0]]) {
103
$cms_message .= $cms_language->getMessage(MESSAGE_FORM_ERROR_MANDATORY_FIELDS);
106
foreach($availableLanguagesCodes as $aLanguageCode) {
107
$label->setValue($aLanguageCode, $_POST["label".$aLanguageCode]);
108
$description->setValue($aLanguageCode, $_POST["description".$aLanguageCode]);
110
$label->writeToPersistence();
111
$description->writeToPersistence();
112
if (!$object->setValue("labelID", $label->getID())) {
113
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
114
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_TITLE)));
116
if (!$object->setValue("descriptionID", $description->getID())) {
117
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
118
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_DESCRIPTION)));
120
if (!$object->setValue("admineditable", $_POST["admineditable"])) {
121
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
122
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_EDITABLE)));
124
if (!$object->setValue("resourceUsage",$_POST["resourceUsage"])) {
125
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
126
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE)));
129
$composedLabel = ($_POST["composedLabel"]) ? $polymod->convertDefinitionString($_POST["composedLabel"], false) : '';
130
if (!$object->setValue("composedLabel",$composedLabel)) {
131
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
132
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_COMPOSED_LABEL)));
134
// Admin search results display
135
$definitionValue = $polymod->convertDefinitionString($_POST["resultsDefinition"], false);
136
$definitionErrors = $object->setValue("resultsDefinition", $definitionValue);
137
if ($definitionErrors !== true) {
138
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
139
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_SEARCH_RESULTS_DISPLAY,false,MOD_POLYMOD_CODENAME).' : '.$definitionErrors));
143
if ($_POST["previewURL"]) {
144
$previewURL = $polymod->convertDefinitionString($_POST["previewURL"], false);
145
$previewPageID = (sensitiveIO::isPositiveInteger($_POST["previewPageID"])) ? $_POST["previewPageID"] : '';
146
$previzInfos = $previewPageID.'||'.$previewURL;
147
if (!$object->setValue("previewURL",$previzInfos)) {
148
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
149
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_PREVIEW_URL,false,MOD_POLYMOD_CODENAME)));
152
if (!$object->setValue("previewURL",'')) {
153
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
154
array($cms_language->getMessage(MESSAGE_PAGE_FIELD_PREVIEW_URL,false,MOD_POLYMOD_CODENAME)));
158
$object->setValue("indexable", $_POST["indexable"]);
159
if ($_POST["indexable"] && !$_POST["indexURL"]) {
160
$cms_message .= $cms_language->getMessage(MESSAGE_FORM_ERROR_MANDATORY_FIELDS);
162
$indexURLValue = $polymod->convertDefinitionString($_POST["indexURL"], false);
163
$URLErrors = $object->setValue("indexURL",$indexURLValue);
164
if ($URLErrors !== true) {
165
$cms_message .= "\n".$cms_language->getMessage(MESSAGE_FORM_ERROR_MALFORMED_FIELD,
166
array($cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO, false, MOD_POLYMOD_CODENAME).' : '.$definitionErrors));
168
$object->setValue("module",$moduleCodename);
170
if (!$cms_message && $_POST["cms_action"] == "validate") {
172
$object->writeToPersistence();
173
header("Location: modules_admin.php?moduleCodename=".$moduleCodename."&object=".$object->getID()."&cms_message_id=".MESSAGE_ACTION_OPERATION_DONE."&".session_name()."=".session_id());
179
$dialog = new CMS_dialog();
181
$dialog->setTitle($cms_language->getMessage(MESSAGE_PAGE_TITLE_APPLICATIONS)." :: ".$cms_language->getMessage(MESSAGE_PAGE_TITLE),'picto_modules.gif');
182
$dialog->setBacklink("modules_admin.php?moduleCodename=".$moduleCodename."&object=".$object->getID());
184
$dialog->setActionMessage($cms_message);
186
if (method_exists($dialog, 'addStopTab')) {
187
$dialog->addStopTab();
188
$stopTab = ' onkeydown="return catchTab(this,event)"';
193
<table width="80%" border="0" cellpadding="3" cellspacing="2">
194
<form name="frm" action="'.$_SERVER["SCRIPT_NAME"].'" method="post">
195
<input type="hidden" name="cms_action" id="cms_action" value="validate" />
196
<input type="hidden" name="moduleCodename" value="'.$moduleCodename.'" />
197
<input type="hidden" name="object" value="'.$object->getID().'" />
199
<td class="admin" align="right" valign="top"><span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_FIELD_TITLE).'</td>
200
<td class="admin" width="90%">'.$label->getHTMLAdmin('label').'</td>
203
<td class="admin" align="right" valign="top" nowrap="nowrap"><span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_FIELD_DESCRIPTION).'</td>
204
<td class="admin">'.$description->getHTMLAdmin('description',true).'</td>
207
<td class="admin" align="right" valign="top"><span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE).'</td>
210
if ($object->getID()) {
211
$content .= '<strong>';
212
switch($object->getValue("resourceUsage")) {
214
$content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_NONE);
217
$content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY);
220
$content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY);
223
$content .= '</strong>
224
<input type="hidden" name="resourceUsage" value="'.$object->getValue("resourceUsage").'" />';
226
$hasPrimaryResource = CMS_poly_object_catalog::hasPrimaryResource($moduleCodename);
227
$objectResourceStatus = $object->getValue("resourceUsage");
229
MESSAGE_PAGE_FIELD_RESOURCE_NONE => ($objectResourceStatus === 0 && $object->getID()) ? ' selected="selected"':'' ,
230
MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY => ($objectResourceStatus == 2) ? ' selected="selected"':'' ,
233
<select name="resourceUsage" class="admin_input_text">
234
<option value="">'.$cms_language->getMessage(MESSAGE_PAGE_CHOOSE).'</option>
235
<option value="0"'.$selected[MESSAGE_PAGE_FIELD_RESOURCE_NONE].'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_NONE).'</option>';
236
if ($hasPrimaryResource) {// || $object->getID()) {
237
$content .='<option value="2"'.$selected[MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY].'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY).'</option>';
239
$content .='<option value="1">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY).'</option>';
244
$notEditableSelected = ($object->getValue("admineditable") == 1) ? ' selected="selected"':'';
245
$adminEditableSelected = ($object->getValue("admineditable") == 2) ? ' selected="selected"':'';
247
/*if ($object->getID() && $object->isPrimaryResource()) {
248
$content .= '<strong>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY).'</strong>
249
<input type="hidden" name="resourceUsage" value="1" />';
251
$hasPrimaryResource = CMS_poly_object_catalog::hasPrimaryResource($moduleCodename);
252
$objectResourceStatus = $object->getValue("resourceUsage");
254
MESSAGE_PAGE_FIELD_RESOURCE_NONE => ($objectResourceStatus === 0 && $object->getID()) ? ' selected="selected"':'' ,
255
MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY => ($objectResourceStatus == 2) ? ' selected="selected"':'' ,
258
<select name="resourceUsage" class="admin_input_text">
259
<option value="">'.$cms_language->getMessage(MESSAGE_PAGE_CHOOSE).'</option>
260
<option value="0"'.$selected[MESSAGE_PAGE_FIELD_RESOURCE_NONE].'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_NONE).'</option>';
261
if ($hasPrimaryResource) {// || $object->getID()) {
262
$content .='<option value="2"'.$selected[MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY].'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY).'</option>';
264
$content .='<option value="1">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY).'</option>';
269
$notEditableSelected = ($object->getValue("admineditable") == 1) ? ' selected="selected"':'';
270
$adminEditableSelected = ($object->getValue("admineditable") == 2) ? ' selected="selected"':'';*/
278
<legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE).'</legend>
279
'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_EXPLANATION).'
283
if ($object->getID()) {
284
$fields = CMS_poly_object_catalog::getFieldsDefinition($object->getID());
285
if (sizeof($fields)) {
287
if ($object->getValue("composedLabel")) {
288
$composedLabel = $polymod->convertDefinitionString($object->getValue("composedLabel"), true);
290
if ($object->getValue("previewURL")) {
291
$previzInfos = explode('||',$object->getValue("previewURL"));
292
$previewPageID = (sensitiveIO::isPositiveInteger($previzInfos[0])) ? $previzInfos[0] : '';
293
$previewURL = $polymod->convertDefinitionString($previzInfos[1], true);
297
<td class="admin" align="right" valign="top" nowrap="nowrap">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_COMPOSED_LABEL).'</td>
298
<td class="admin"><input type="text" size="100" name="composedLabel" value="'.$composedLabel.'" class="admin_input_text" /></td>
304
<legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_OBJECT_EXPLANATION, array($object->getLabel($cms_language))).'</legend>
307
<select name="objectexplanation" class="admin_input_text" onchange="document.getElementById(\'cms_action\').value=\'switchexplanation\';document.frm.submit();">
308
<option value="">'.$cms_language->getMessage(MESSAGE_PAGE_CHOOSE).'</option>';
309
$content.= CMS_poly_module_structure::viewObjectInfosList($moduleCodename, $cms_language, $_POST['objectexplanation'], $object->getID());
312
if ($_POST['objectexplanation']) {
314
$content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
321
<td class="admin" align="right" valign="top" nowrap="nowrap">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_PREVIEW_URL,false,MOD_POLYMOD_CODENAME).'</td>
324
$grand_root = CMS_tree::getRoot();
325
$href = PATH_ADMIN_SPECIAL_TREE_WR;
326
$href .= '?root='.$grand_root->getID();
327
$href .= '&heading='.$cms_language->getMessage(MESSAGE_PAGE_TREEH1);
328
$href .= '&encodedOnClick='.base64_encode("window.opener.document.getElementById('previewPageID').value = '%s';self.close();");
329
$href .= '&encodedPageLink='.base64_encode('false');
331
<a href="'.$href.'" class="admin" target="_blank">
332
<img src="'.PATH_ADMIN_IMAGES_WR. '/picto-arbo.gif" border="0" align="absmiddle" /></a>';
334
<input type="text" class="admin_input_text" id="previewPageID" name="previewPageID" value="'.$previewPageID.'" size="6" />'.$treeLink.' ?<input type="text" size="80" name="previewURL" value="'.$previewURL.'" class="admin_input_text" />
342
<td class="admin" align="right" valign="top">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_EDITABLE).'</td>
343
<td class="admin"><select name="admineditable" class="admin_input_text">
344
<option value="0">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_YES).'</option>
345
<option value="1"'.$notEditableSelected.'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_NO).'</option>
346
<option value="2"'.$adminEditableSelected.'>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_ONLY_FOR_ADMIN).'</option>
350
//if ASE module exists, add field indexation options
351
if (class_exists('CMS_module_ase')) {
353
$indexURL = ($_POST["indexURL"]) ? $_POST["indexURL"] : $polymod->convertDefinitionString($object->getValue("indexURL"), true);
356
$indexable = ($object->getValue("indexable")) ? ' checked="checked"':'';
359
<td class="admin" align="right" valign="top">'.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION,false, MOD_POLYMOD_CODENAME).'</td>
362
<legend><label for="indexable"><input id="indexable" type="checkbox" name="indexable" value="1"'.$indexable.' /> '.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXABLE,false, MOD_POLYMOD_CODENAME).'</label></legend>
363
'.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXABLE_EXPLANATION,false, MOD_POLYMOD_CODENAME).'
365
<span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO,false, MOD_POLYMOD_CODENAME).' :
367
<textarea class="admin_textarea"'.$stopTab.' name="indexURL" rows="10" cols="100">'.htmlspecialchars($indexURL).'</textarea>
368
'.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO_EXPLANATION,false, MOD_POLYMOD_CODENAME).'
371
$selected['working'] = ($_POST['objectIndexURL'] == 'working') ? ' selected="selected"':'';
372
$selected['vars'] = ($_POST['objectIndexURL'] == 'vars') ? ' selected="selected"':'';
374
<select name="objectIndexURL" class="admin_input_text" onchange="document.getElementById(\'cms_action\').value=\'switchexplanation\';document.frm.submit();">
375
<option value="">'.$cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_CHOOSE).'</option>
376
<optgroup label="'.$cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_ROW_TAGS_EXPLANATION,false,MOD_POLYMOD_CODENAME).'">
377
<option value="working"'.$selected['working'].'>'.$cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS,false,MOD_POLYMOD_CODENAME).'</option>
378
<option value="vars"'.$selected['vars'].'>'.$cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENRAL_VARS,false,MOD_POLYMOD_CODENAME).'</option>
380
<optgroup label="'.$cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_ROW_OBJECTS_VARS_EXPLANATION,false,MOD_POLYMOD_CODENAME).'">';
381
$content.= CMS_poly_module_structure::viewObjectInfosList($moduleCodename, $cms_language, $_POST['objectIndexURL'], $object->getID());
386
//then display chosen object infos
387
if ($_POST['objectIndexURL']) {
388
switch ($_POST['objectIndexURL']) {
390
$content.= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS_EXPLANATION,false,MOD_POLYMOD_CODENAME);
393
$content.= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENRAL_VARS_EXPLANATION,false,MOD_POLYMOD_CODENAME);
397
$content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectIndexURL']);
406
if ($object->getID()) {
407
// Admin search results display
408
$resultsDefinition = ($_REQUEST['resultsDefinition']) ? $_REQUEST['resultsDefinition'] : $polymod->convertDefinitionString($object->getValue("resultsDefinition"),true);
409
$resultsDefinition = htmlspecialchars($resultsDefinition);
412
<td class="admin" align="right" valign="top">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_SEARCH_RESULTS_DISPLAY,false,MOD_POLYMOD_CODENAME).'</td>
414
<textarea name="resultsDefinition" '.$stopTab.' cols="130" rows="15" class="admin_textarea">'.$resultsDefinition.'</textarea>
417
// Help object syntax
423
<legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_OBJECT_SYNTAX, array($object->getLabel($cms_language)),MOD_POLYMOD_CODENAME).'</legend>
426
<select name="objectexplanation" class="admin_input_text" onchange="document.getElementById(\'cms_action\').value=\'switchexplanation\';document.frm.submit();">
427
<option value="">'.$cms_language->getMessage(MESSAGE_PAGE_CHOOSE).'</option>';
428
$content.= CMS_poly_module_structure::viewObjectInfosList($moduleCodename, $cms_language, $_POST['objectexplanation'], $object->getID());
431
if ($_POST['objectexplanation']) {
433
$content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
443
<td colspan="2"><input type="submit" class="admin_input_submit" value="'.$cms_language->getMessage(MESSAGE_BUTTON_VALIDATE).'" /></td>
448
'.$cms_language->getMessage(MESSAGE_FORM_MANDATORY_FIELDS).'
451
$dialog->setContent($content);
b'\\ No newline at end of file'