~automne-team/automne/4.2

« back to all changes in this revision

Viewing changes to automne/admin-v3/polymod_object.php

  • Committer: sebastien
  • Date: 2008-11-26 17:12:36 UTC
  • Revision ID: sebastien_sebastien-20081126171236-16r3kxfuz2kmq2qe
Tags: V4_0_0a0
4.0.0a0 :
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/* vim: set expandtab tabstop=4 shiftwidth=4: */
 
3
// +----------------------------------------------------------------------+
 
4
// | Automne (TM)                                                                                                                 |
 
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
// +----------------------------------------------------------------------+
 
15
//
 
16
// $Id: polymod_object.php,v 1.1.1.1 2008/11/26 17:12:06 sebastien Exp $
 
17
 
 
18
/**
 
19
  * PHP page : polymod admin
 
20
  * Used to manage poly modules
 
21
  *
 
22
  * @package CMS
 
23
  * @subpackage admin
 
24
  * @author S�bastien Pauchet <sebastien.pauchet@ws-interactive.fr>
 
25
  */
 
26
 
 
27
require_once($_SERVER["DOCUMENT_ROOT"]."/cms_rc_admin.php");
 
28
require_once(PATH_ADMIN_SPECIAL_SESSION_CHECK_FS);
 
29
 
 
30
/*
 
31
 * Standard messages
 
32
 */
 
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);
 
60
 
 
61
/*
 
62
 * Polymod messages
 
63
 */
 
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);
 
76
 
 
77
//checks
 
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());
 
80
        exit;
 
81
}
 
82
 
 
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();
 
88
 
 
89
if ($moduleCodename) {
 
90
        $polymod = CMS_modulesCatalog::getByCodename($moduleCodename);
 
91
}
 
92
 
 
93
// ****************************************************************
 
94
// ** ACTIONS MANAGEMENT                                         **
 
95
// ****************************************************************
 
96
switch ($_POST["cms_action"]) {
 
97
case "validate":
 
98
case "switchexplanation":
 
99
        //checks and assignments
 
100
        $cms_message = "";
 
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);
 
104
        }
 
105
        
 
106
        foreach($availableLanguagesCodes as $aLanguageCode) {
 
107
                $label->setValue($aLanguageCode, $_POST["label".$aLanguageCode]);
 
108
                $description->setValue($aLanguageCode, $_POST["description".$aLanguageCode]);
 
109
        }
 
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)));
 
115
        }
 
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)));
 
119
        }
 
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)));
 
123
        }
 
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)));
 
127
        }
 
128
        //composed label
 
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)));
 
133
        }
 
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));
 
140
        }
 
141
        
 
142
        //previz URL
 
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)));
 
150
                }
 
151
        } else {
 
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)));
 
155
                }
 
156
        }
 
157
        //IndexURL
 
158
        $object->setValue("indexable", $_POST["indexable"]);
 
159
        if ($_POST["indexable"] && !$_POST["indexURL"]) {
 
160
                $cms_message .= $cms_language->getMessage(MESSAGE_FORM_ERROR_MANDATORY_FIELDS);
 
161
        }
 
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));
 
167
        }
 
168
        $object->setValue("module",$moduleCodename);
 
169
        
 
170
        if (!$cms_message && $_POST["cms_action"] == "validate") {
 
171
                //save the data
 
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());
 
174
                exit;
 
175
        }
 
176
        break;
 
177
}
 
178
 
 
179
$dialog = new CMS_dialog();
 
180
$content = '';
 
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());
 
183
if ($cms_message) {
 
184
        $dialog->setActionMessage($cms_message);
 
185
}
 
186
if (method_exists($dialog, 'addStopTab')) {
 
187
        $dialog->addStopTab();
 
188
        $stopTab = ' onkeydown="return catchTab(this,event)"';
 
189
}
 
190
 
 
191
$content = '
 
192
        <br />
 
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().'" />
 
198
        <tr>
 
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>
 
201
        </tr>
 
202
        <tr>
 
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>
 
205
        </tr>
 
206
        <tr>
 
207
                <td class="admin" align="right" valign="top"><span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE).'</td>
 
208
                <td class="admin">';
 
209
                
 
210
                if ($object->getID()) {
 
211
                        $content .= '<strong>';
 
212
                        switch($object->getValue("resourceUsage")) {
 
213
                                case 0:
 
214
                                        $content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_NONE);
 
215
                                break;
 
216
                                case 1:
 
217
                                        $content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY);
 
218
                                break;
 
219
                                case 2:
 
220
                                        $content .= $cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY);
 
221
                                break;
 
222
                        }
 
223
                        $content .= '</strong>
 
224
                        <input type="hidden" name="resourceUsage" value="'.$object->getValue("resourceUsage").'" />';
 
225
                } else {
 
226
                        $hasPrimaryResource = CMS_poly_object_catalog::hasPrimaryResource($moduleCodename);
 
227
                        $objectResourceStatus = $object->getValue("resourceUsage");
 
228
                        $selected = array(
 
229
                                MESSAGE_PAGE_FIELD_RESOURCE_NONE => ($objectResourceStatus === 0 && $object->getID()) ? ' selected="selected"':'' ,
 
230
                                MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY => ($objectResourceStatus == 2) ? ' selected="selected"':'' ,
 
231
                        );
 
232
                        $content .='
 
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>';
 
238
                        } else {
 
239
                                $content .='<option value="1">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY).'</option>';
 
240
                        }
 
241
                        $content .='
 
242
                        </select>';
 
243
                }
 
244
                $notEditableSelected = ($object->getValue("admineditable") == 1) ? ' selected="selected"':'';
 
245
                $adminEditableSelected = ($object->getValue("admineditable") == 2) ? ' selected="selected"':'';
 
246
                
 
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" />';
 
250
                } else {
 
251
                        $hasPrimaryResource = CMS_poly_object_catalog::hasPrimaryResource($moduleCodename);
 
252
                        $objectResourceStatus = $object->getValue("resourceUsage");
 
253
                        $selected = array(
 
254
                                MESSAGE_PAGE_FIELD_RESOURCE_NONE => ($objectResourceStatus === 0 && $object->getID()) ? ' selected="selected"':'' ,
 
255
                                MESSAGE_PAGE_FIELD_RESOURCE_SECONDARY => ($objectResourceStatus == 2) ? ' selected="selected"':'' ,
 
256
                        );
 
257
                        $content .='
 
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>';
 
263
                        } else {
 
264
                                $content .='<option value="1">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_PRIMARY).'</option>';
 
265
                        }
 
266
                        $content .='
 
267
                        </select>';
 
268
                }
 
269
                $notEditableSelected = ($object->getValue("admineditable") == 1) ? ' selected="selected"':'';
 
270
                $adminEditableSelected = ($object->getValue("admineditable") == 2) ? ' selected="selected"':'';*/
 
271
$content .='
 
272
                </td>
 
273
        </tr>
 
274
        <tr>
 
275
                <td>&nbsp;</td>
 
276
                <td class="admin">
 
277
                <fieldset>
 
278
                        <legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE).'</legend>
 
279
                        '.$cms_language->getMessage(MESSAGE_PAGE_FIELD_RESOURCE_EXPLANATION).'
 
280
                </fieldset>
 
281
                </td>
 
282
        </tr>';
 
283
        if ($object->getID()) {
 
284
                $fields = CMS_poly_object_catalog::getFieldsDefinition($object->getID());
 
285
                if (sizeof($fields)) {
 
286
                        $composedLabel='';
 
287
                        if ($object->getValue("composedLabel")) {
 
288
                                $composedLabel = $polymod->convertDefinitionString($object->getValue("composedLabel"), true);
 
289
                        }
 
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);
 
294
                        }
 
295
                        $content.='
 
296
                        <tr>
 
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>
 
299
                        </tr>
 
300
                        <tr>
 
301
                                <td>&nbsp;</td>
 
302
                                <td class="admin">
 
303
                                <fieldset>
 
304
                                        <legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_OBJECT_EXPLANATION, array($object->getLabel($cms_language))).'</legend>
 
305
                                        <br />';
 
306
                                        $content.='
 
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());
 
310
                                        $content.='
 
311
                                        </select><br />';
 
312
                                        if ($_POST['objectexplanation']) {
 
313
                                                //object info
 
314
                                                $content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
 
315
                                        }
 
316
                                $content.='
 
317
                                </fieldset>
 
318
                                </td>
 
319
                        </tr>
 
320
                        <tr>
 
321
                                <td class="admin" align="right" valign="top" nowrap="nowrap">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_PREVIEW_URL,false,MOD_POLYMOD_CODENAME).'</td>
 
322
                                <td class="admin">';
 
323
                                //build tree link
 
324
                                $grand_root = CMS_tree::getRoot();
 
325
                                $href = PATH_ADMIN_SPECIAL_TREE_WR;
 
326
                                $href .= '?root='.$grand_root->getID();
 
327
                                $href .= '&amp;heading='.$cms_language->getMessage(MESSAGE_PAGE_TREEH1);
 
328
                                $href .= '&amp;encodedOnClick='.base64_encode("window.opener.document.getElementById('previewPageID').value = '%s';self.close();");
 
329
                                $href .= '&encodedPageLink='.base64_encode('false');
 
330
                                $treeLink .= '
 
331
                                                        <a href="'.$href.'" class="admin" target="_blank">
 
332
                                                        <img src="'.PATH_ADMIN_IMAGES_WR. '/picto-arbo.gif" border="0" align="absmiddle" /></a>';
 
333
                                $content.='
 
334
                                        <input type="text" class="admin_input_text" id="previewPageID" name="previewPageID" value="'.$previewPageID.'" size="6" />'.$treeLink.'&nbsp;?<input type="text" size="80" name="previewURL" value="'.$previewURL.'" class="admin_input_text" />
 
335
                                </td>
 
336
                        </tr>
 
337
                        ';
 
338
                }
 
339
        }
 
340
        $content.='
 
341
        <tr>
 
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>
 
347
                        </select>
 
348
                </td>
 
349
        </tr>';
 
350
        //if ASE module exists, add field indexation options
 
351
        if (class_exists('CMS_module_ase')) {
 
352
                //indexURL
 
353
                $indexURL = ($_POST["indexURL"]) ? $_POST["indexURL"] : $polymod->convertDefinitionString($object->getValue("indexURL"), true);
 
354
                
 
355
                
 
356
                $indexable = ($object->getValue("indexable")) ? ' checked="checked"':'';
 
357
                $content .= '
 
358
                <tr>
 
359
                        <td class="admin" align="right" valign="top">'.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION,false, MOD_POLYMOD_CODENAME).'</td>
 
360
                        <td class="admin">
 
361
                                <fieldset>
 
362
                                        <legend><label for="indexable"><input id="indexable" type="checkbox" name="indexable" value="1"'.$indexable.' />&nbsp;'.$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).'
 
364
                                        <br /><br />
 
365
                                        <span class="admin_text_alert">*</span> '.$cms_language->getMessage(MESSAGE_PAGE_OBJECT_INDEXATION_LINK_TO,false, MOD_POLYMOD_CODENAME).' :
 
366
                                        <br />
 
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).'
 
369
                                        <br />';
 
370
                                        //selected value
 
371
                                        $selected['working'] = ($_POST['objectIndexURL'] == 'working') ? ' selected="selected"':'';
 
372
                                        $selected['vars'] = ($_POST['objectIndexURL'] == 'vars') ? ' selected="selected"':'';
 
373
                                        $content .= '
 
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>
 
379
                                                </optgroup>
 
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());
 
382
                                                $content.= '
 
383
                                                </optgroup>';
 
384
                                $content.= '
 
385
                                        </select><br />';
 
386
                                        //then display chosen object infos
 
387
                                        if ($_POST['objectIndexURL']) {
 
388
                                                switch ($_POST['objectIndexURL']) {
 
389
                                                        case 'working':
 
390
                                                                $content.= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS_EXPLANATION,false,MOD_POLYMOD_CODENAME);
 
391
                                                        break;
 
392
                                                        case 'vars':
 
393
                                                                $content.= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENRAL_VARS_EXPLANATION,false,MOD_POLYMOD_CODENAME);
 
394
                                                        break;
 
395
                                                        default:
 
396
                                                                //object info
 
397
                                                                $content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectIndexURL']);
 
398
                                                        break;
 
399
                                                }
 
400
                                        }
 
401
                                $content.='
 
402
                                </fieldset>
 
403
                        </td>
 
404
                </tr>';
 
405
        }
 
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);
 
410
                $content.='
 
411
                <tr>
 
412
                        <td class="admin" align="right" valign="top">'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_SEARCH_RESULTS_DISPLAY,false,MOD_POLYMOD_CODENAME).'</td>
 
413
                        <td class="admin">
 
414
                                <textarea name="resultsDefinition" '.$stopTab.' cols="130" rows="15" class="admin_textarea">'.$resultsDefinition.'</textarea>
 
415
                        </td>
 
416
                </tr>';
 
417
                // Help object syntax
 
418
                $content.='
 
419
                <tr>
 
420
                        <td>&nbsp;</td>
 
421
                        <td class="admin">
 
422
                        <fieldset>
 
423
                                <legend>'.$cms_language->getMessage(MESSAGE_PAGE_FIELD_OBJECT_SYNTAX, array($object->getLabel($cms_language)),MOD_POLYMOD_CODENAME).'</legend>
 
424
                                <br />';
 
425
                                $content.='
 
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());
 
429
                                $content.='
 
430
                                </select><br />';
 
431
                                if ($_POST['objectexplanation']) {
 
432
                                        //object info
 
433
                                        $content.= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
 
434
                                }
 
435
                        $content.='
 
436
                        </fieldset>
 
437
                        </td>
 
438
                </tr>';
 
439
        }
 
440
        // Submit button
 
441
        $content.='
 
442
        <tr>
 
443
                <td colspan="2"><input type="submit" class="admin_input_submit" value="'.$cms_language->getMessage(MESSAGE_BUTTON_VALIDATE).'" /></td>
 
444
        </tr>
 
445
        </form>
 
446
        </table>
 
447
        <br />
 
448
        '.$cms_language->getMessage(MESSAGE_FORM_MANDATORY_FIELDS).'
 
449
        <br /><br />';
 
450
 
 
451
$dialog->setContent($content);
 
452
$dialog->show();
 
453
?>
 
 
b'\\ No newline at end of file'