Completed
Push — develop ( 053968...47dc8d )
by Maxim
12s
created
manager/frames/nodes.functions.inc.php 1 patch
Indentation   +553 added lines, -553 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die('<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.');
3
+    die('<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.');
4 4
 }
5 5
 
6 6
 /**
@@ -12,443 +12,443 @@  discard block
 block discarded – undo
12 12
  * @return string
13 13
  */
14 14
 function makeHTML($indent, $parent, $expandAll, $theme, $hereid = '') {
15
-	global $modx;
16
-	global $icons, $iconsPrivate, $_style;
17
-	global $_lang, $opened, $opened2, $closed2; //added global vars
18
-	global $modx_textdir;
19
-
20
-	$output = '';
21
-
22
-	// setup spacer
23
-	$level = 0;
24
-	$spacer = '<span class="indent">';
25
-	for($i = 2; $i <= $indent; $i++) {
26
-		$spacer .= '<i></i>';
27
-		$level++;
28
-	}
29
-	$spacer .= '</span>';
30
-
31
-	// manage order-by
32
-	if(!isset($_SESSION['tree_sortby']) && !isset($_SESSION['tree_sortdir'])) {
33
-		// This is the first startup, set default sort order
34
-		$_SESSION['tree_sortby'] = 'menuindex';
35
-		$_SESSION['tree_sortdir'] = 'ASC';
36
-	}
37
-
38
-	switch($_SESSION['tree_sortby']) {
39
-		case 'createdon':
40
-		case 'editedon':
41
-		case 'publishedon':
42
-		case 'pub_date':
43
-		case 'unpub_date':
44
-			$sortby = sprintf('CASE WHEN %s IS NULL THEN 1 ELSE 0 END, %s', 'sc.' . $_SESSION['tree_sortby'], 'sc.' . $_SESSION['tree_sortby']);
45
-			break;
46
-		default:
47
-			$sortby = 'sc.' . $_SESSION['tree_sortby'];
48
-	};
49
-
50
-	$orderby = $modx->db->escape($sortby . ' ' . $_SESSION['tree_sortdir']);
51
-
52
-	// Folder sorting gets special setup ;) Add menuindex and pagetitle
53
-	if($_SESSION['tree_sortby'] == 'isfolder') {
54
-		$orderby .= ', menuindex ASC, pagetitle';
55
-	}
56
-
57
-	$tblsc = $modx->getFullTableName('site_content');
58
-	$tbldg = $modx->getFullTableName('document_groups');
59
-	$tblst = $modx->getFullTableName('site_templates');
60
-	// get document groups for current user
61
-	$docgrp = (isset($_SESSION['mgrDocgroups']) && is_array($_SESSION['mgrDocgroups'])) ? implode(',', $_SESSION['mgrDocgroups']) : '';
62
-	$showProtected = false;
63
-	if(isset ($modx->config['tree_show_protected'])) {
64
-		$showProtected = (boolean) $modx->config['tree_show_protected'];
65
-	}
66
-	$mgrRole = (isset ($_SESSION['mgrRole']) && (string) $_SESSION['mgrRole'] === '1') ? '1' : '0';
67
-	if($showProtected == false) {
68
-		$access = "AND (1={$mgrRole} OR sc.privatemgr=0" . (!$docgrp ? ')' : " OR dg.document_group IN ({$docgrp}))");
69
-	} else {
70
-		$access = '';
71
-	}
72
-	$docgrp_cond = $docgrp ? "OR dg.document_group IN ({$docgrp})" : '';
73
-	$field = "DISTINCT sc.id, pagetitle, longtitle, menutitle, parent, isfolder, published, pub_date, unpub_date, richtext, searchable, cacheable, deleted, type, template, templatename, menuindex, donthit, hidemenu, alias, contentType, privateweb, privatemgr,
15
+    global $modx;
16
+    global $icons, $iconsPrivate, $_style;
17
+    global $_lang, $opened, $opened2, $closed2; //added global vars
18
+    global $modx_textdir;
19
+
20
+    $output = '';
21
+
22
+    // setup spacer
23
+    $level = 0;
24
+    $spacer = '<span class="indent">';
25
+    for($i = 2; $i <= $indent; $i++) {
26
+        $spacer .= '<i></i>';
27
+        $level++;
28
+    }
29
+    $spacer .= '</span>';
30
+
31
+    // manage order-by
32
+    if(!isset($_SESSION['tree_sortby']) && !isset($_SESSION['tree_sortdir'])) {
33
+        // This is the first startup, set default sort order
34
+        $_SESSION['tree_sortby'] = 'menuindex';
35
+        $_SESSION['tree_sortdir'] = 'ASC';
36
+    }
37
+
38
+    switch($_SESSION['tree_sortby']) {
39
+        case 'createdon':
40
+        case 'editedon':
41
+        case 'publishedon':
42
+        case 'pub_date':
43
+        case 'unpub_date':
44
+            $sortby = sprintf('CASE WHEN %s IS NULL THEN 1 ELSE 0 END, %s', 'sc.' . $_SESSION['tree_sortby'], 'sc.' . $_SESSION['tree_sortby']);
45
+            break;
46
+        default:
47
+            $sortby = 'sc.' . $_SESSION['tree_sortby'];
48
+    };
49
+
50
+    $orderby = $modx->db->escape($sortby . ' ' . $_SESSION['tree_sortdir']);
51
+
52
+    // Folder sorting gets special setup ;) Add menuindex and pagetitle
53
+    if($_SESSION['tree_sortby'] == 'isfolder') {
54
+        $orderby .= ', menuindex ASC, pagetitle';
55
+    }
56
+
57
+    $tblsc = $modx->getFullTableName('site_content');
58
+    $tbldg = $modx->getFullTableName('document_groups');
59
+    $tblst = $modx->getFullTableName('site_templates');
60
+    // get document groups for current user
61
+    $docgrp = (isset($_SESSION['mgrDocgroups']) && is_array($_SESSION['mgrDocgroups'])) ? implode(',', $_SESSION['mgrDocgroups']) : '';
62
+    $showProtected = false;
63
+    if(isset ($modx->config['tree_show_protected'])) {
64
+        $showProtected = (boolean) $modx->config['tree_show_protected'];
65
+    }
66
+    $mgrRole = (isset ($_SESSION['mgrRole']) && (string) $_SESSION['mgrRole'] === '1') ? '1' : '0';
67
+    if($showProtected == false) {
68
+        $access = "AND (1={$mgrRole} OR sc.privatemgr=0" . (!$docgrp ? ')' : " OR dg.document_group IN ({$docgrp}))");
69
+    } else {
70
+        $access = '';
71
+    }
72
+    $docgrp_cond = $docgrp ? "OR dg.document_group IN ({$docgrp})" : '';
73
+    $field = "DISTINCT sc.id, pagetitle, longtitle, menutitle, parent, isfolder, published, pub_date, unpub_date, richtext, searchable, cacheable, deleted, type, template, templatename, menuindex, donthit, hidemenu, alias, contentType, privateweb, privatemgr,
74 74
         MAX(IF(1={$mgrRole} OR sc.privatemgr=0 {$docgrp_cond}, 1, 0)) AS hasAccess, GROUP_CONCAT(document_group SEPARATOR ',') AS roles";
75
-	$from = "{$tblsc} AS sc LEFT JOIN {$tbldg} dg on dg.document = sc.id LEFT JOIN {$tblst} st on st.id = sc.template";
76
-	$where = "(parent={$parent}) {$access} GROUP BY sc.id";
77
-	$result = $modx->db->select($field, $from, $where, $orderby);
78
-	if($modx->db->getRecordCount($result) == 0) {
79
-		$output .= sprintf('<div><a class="empty">%s%s&nbsp;<span class="empty">%s</span></a></div>', $spacer, $_style['tree_deletedpage'], $_lang['empty_folder']);
80
-	}
81
-
82
-	$nodeNameSource = $_SESSION['tree_nodename'] == 'default' ? $modx->config['resource_tree_node_name'] : $_SESSION['tree_nodename'];
83
-
84
-	while($row = $modx->db->getRow($result)) {
85
-		$node = '';
86
-
87
-		$nodetitle = getNodeTitle($nodeNameSource, $row);
88
-		$nodetitleDisplay = $nodetitle;
89
-
90
-		$treeNodeClass = 'node';
91
-		$treeNodeClass .= $row['hasAccess'] == 0 ? ' protected' : '';
92
-
93
-		if($row['deleted'] == 1) {
94
-			$treeNodeClass .= ' deleted';
95
-			//$nodetitleDisplay = sprintf('<span class="deletedNode">%s</span>', $nodetitle);
96
-		} elseif($row['published'] == 0) {
97
-			$treeNodeClass .= ' unpublished';
98
-			//$nodetitleDisplay = sprintf('<span class="unpublishedNode">%s</span>', $nodetitle);
99
-		} elseif($row['hidemenu'] == 1) {
100
-			$treeNodeClass .= ' hidemenu';
101
-			//$nodetitleDisplay = sprintf('<span class="notInMenuNode%s">%s</span>', $protectedClass, $nodetitle);
102
-		} else {
103
-			//$nodetitleDisplay = sprintf('<span class="publishedNode%s">%s</span>', $protectedClass, $nodetitle);
104
-		}
105
-
106
-		if($row['id'] == $hereid) {
107
-			$treeNodeClass .= ' current';
108
-		}
109
-
110
-		$weblinkDisplay = $row['type'] == 'reference' ? sprintf('&nbsp;%s', $_style['tree_linkgo']) : '';
111
-		$pageIdDisplay = '<small>(' . ($modx_textdir ? '&rlm;' : '') . $row['id'] . ')</small>';
112
-
113
-		// Prepare displaying user-locks
114
-		$lockedByUser = '';
115
-		$rowLock = $modx->elementIsLocked(7, $row['id'], true);
116
-		if($rowLock && $modx->hasPermission('display_locks')) {
117
-			if($rowLock['sid'] == $modx->sid) {
118
-				$title = $modx->parseText($_lang["lock_element_editing"], array(
119
-					'element_type' => $_lang["lock_element_type_7"],
120
-					'lasthit_df' => $rowLock['lasthit_df']
121
-				));
122
-				$lockedByUser = '<span title="' . $title . '" class="editResource">' . $_style['tree_preview_resource'] . '</span>';
123
-			} else {
124
-				$title = $modx->parseText($_lang["lock_element_locked_by"], array(
125
-					'element_type' => $_lang["lock_element_type_7"],
126
-					'username' => $rowLock['username'],
127
-					'lasthit_df' => $rowLock['lasthit_df']
128
-				));
129
-				if($modx->hasPermission('remove_locks')) {
130
-					$lockedByUser = '<span onclick="modx.tree.unlockElement(7, ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource">' . $_style['icons_secured'] . '</span>';
131
-				} else {
132
-					$lockedByUser = '<span title="' . $title . '" class="lockedResource">' . $_style['icons_secured'] . '</span>';
133
-				}
134
-			}
135
-		}
136
-
137
-		$url = $modx->makeUrl($row['id']);
138
-
139
-		$title = '';
140
-		if(isDateNode($nodeNameSource)) {
141
-			$title = $_lang['pagetitle'] . ': ' . $row['pagetitle'] . '[+lf+]';
142
-		}
143
-		$title .= $_lang['id'] . ': ' . $row['id'];
144
-		$title .= '[+lf+]' . $_lang['resource_opt_menu_title'] . ': ' . $row['menutitle'];
145
-		$title .= '[+lf+]' . $_lang['resource_opt_menu_index'] . ': ' . $row['menuindex'];
146
-		$title .= '[+lf+]' . $_lang['alias'] . ': ' . (!empty($row['alias']) ? $row['alias'] : '-');
147
-		$title .= '[+lf+]' . $_lang['template'] . ': ' . $row['templatename'];
148
-		$title .= '[+lf+]' . $_lang['publish_date'] . ': ' . $modx->toDateFormat($row['pub_date']);
149
-		$title .= '[+lf+]' . $_lang['unpublish_date'] . ': ' . $modx->toDateFormat($row['unpub_date']);
150
-		$title .= '[+lf+]' . $_lang['page_data_web_access'] . ': ' . ($row['privateweb'] ? $_lang['private'] : $_lang['public']);
151
-		$title .= '[+lf+]' . $_lang['page_data_mgr_access'] . ': ' . ($row['privatemgr'] ? $_lang['private'] : $_lang['public']);
152
-		$title .= '[+lf+]' . $_lang['resource_opt_richtext'] . ': ' . ($row['richtext'] == 0 ? $_lang['no'] : $_lang['yes']);
153
-		$title .= '[+lf+]' . $_lang['page_data_searchable'] . ': ' . ($row['searchable'] == 0 ? $_lang['no'] : $_lang['yes']);
154
-		$title .= '[+lf+]' . $_lang['page_data_cacheable'] . ': ' . ($row['cacheable'] == 0 ? $_lang['no'] : $_lang['yes']);
155
-		$title = $modx->htmlspecialchars($title);
156
-		$title = str_replace('[+lf+]', ' &#13;', $title);   // replace line-breaks with empty space as fall-back
157
-
158
-		$data = array(
159
-			'id' => $row['id'],
160
-			'pagetitle' => $row['pagetitle'],
161
-			'longtitle' => $row['longtitle'],
162
-			'menutitle' => $row['menutitle'],
163
-			'parent' => $parent,
164
-			'isfolder' => $row['isfolder'],
165
-			'published' => $row['published'],
166
-			'deleted' => $row['deleted'],
167
-			'type' => $row['type'],
168
-			'menuindex' => $row['menuindex'],
169
-			'donthit' => $row['donthit'],
170
-			'hidemenu' => $row['hidemenu'],
171
-			'alias' => $row['alias'],
172
-			'contenttype' => $row['contentType'],
173
-			'privateweb' => $row['privateweb'],
174
-			'privatemgr' => $row['privatemgr'],
175
-			'hasAccess' => $row['hasAccess'],
176
-			'template' => $row['template'],
177
-			'nodetitle' => $nodetitle,
178
-			'url' => $url,
179
-			'title' => $title,
180
-			'nodetitleDisplay' => $nodetitleDisplay,
181
-			'weblinkDisplay' => $weblinkDisplay,
182
-			'pageIdDisplay' => $pageIdDisplay,
183
-			'lockedByUser' => $lockedByUser,
184
-			'treeNodeClass' => $treeNodeClass,
185
-			'treeNodeSelected' => $row['id'] == $hereid ? ' treeNodeSelected' : '',
186
-			'tree_page_click' => $modx->config['tree_page_click'],
187
-			'showChildren' => 1,
188
-			'openFolder' => 1,
189
-			'contextmenu' => '',
190
-			'tree_minusnode' => $_style['tree_minusnode'],
191
-			'tree_plusnode' => $_style['tree_plusnode'],
192
-			'spacer' => $spacer,
193
-			'subMenuState' => '',
194
-			'level' => $level,
195
-			'isPrivate' => 0,
196
-			'roles' => ($row['roles'] ? $row['roles'] : '')
197
-		);
198
-
199
-		$ph = $data;
200
-		$ph['nodetitle_esc'] = addslashes($nodetitle);
201
-		$ph['indent'] = $indent + 1;
202
-		$ph['expandAll'] = $expandAll;
203
-		$ph['isPrivate'] = ($row['privateweb'] || $row['privatemgr']) ? 1 : 0;
204
-
205
-		if(!$row['isfolder']) {
206
-			$tpl = getTplSingleNode();
207
-			switch($row['id']) {
208
-				case $modx->config['site_start']            :
209
-					$icon = $_style['tree_page_home'];
210
-					break;
211
-				case $modx->config['error_page']            :
212
-					$icon = $_style['tree_page_404'];
213
-					break;
214
-				case $modx->config['site_unavailable_page'] :
215
-					$icon = $_style['tree_page_hourglass'];
216
-					break;
217
-				case $modx->config['unauthorized_page']     :
218
-					$icon = $_style['tree_page_info'];
219
-					break;
220
-				default:
221
-					if(isset($icons[$row['contentType']])) {
222
-						$icon = $icons[$row['contentType']];
223
-					} else {
224
-						$icon = $_style['tree_page'];
225
-					}
226
-			}
227
-			$ph['icon'] = $icon;
228
-
229
-			// invoke OnManagerNodePrerender event
230
-			$prenode = $modx->invokeEvent("OnManagerNodePrerender", array('ph' => $ph));
231
-			if(is_array($prenode)) {
232
-				$phnew = array();
233
-				foreach($prenode as $pnode) {
234
-					$phnew = array_merge($phnew, unserialize($pnode));
235
-				}
236
-				$ph = (count($phnew) > 0) ? $phnew : $ph;
237
-			}
238
-
239
-			if($ph['contextmenu']) {
240
-				$ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
241
-			}
242
-
243
-			if($_SESSION['tree_show_only_folders']) {
244
-				if($row['parent'] == 0) {
245
-					$node .= $modx->parseText($tpl, $ph);
246
-				} else {
247
-					$node .= '';
248
-				}
249
-			} else {
250
-				$node .= $modx->parseText($tpl, $ph);
251
-			}
252
-
253
-		} else {
254
-			$ph['icon_folder_open'] = $_style['tree_folderopen_new'];
255
-			$ph['icon_folder_close'] = $_style['tree_folder_new'];
256
-
257
-			if($_SESSION['tree_show_only_folders']) {
258
-				$tpl = getTplFolderNodeNotChildren();
259
-				$checkFolders = checkIsFolder($row['id'], 1) ? 1 : 0; // folders
260
-				$checkDocs = checkIsFolder($row['id'], 0) ? 1 : 0; // no folders
261
-				$ph['tree_page_click'] = 3;
262
-
263
-				// expandAll: two type for partial expansion
264
-				if($expandAll == 1 || ($expandAll == 2 && in_array($row['id'], $opened))) {
265
-					if($expandAll == 1) {
266
-						$opened2[] = $row['id'];
267
-					}
268
-					$ph['icon'] = $ph['icon_folder_open'];
269
-					$ph['icon_node_toggle'] = $ph['tree_minusnode'];
270
-					$ph['node_toggle'] = 1;
271
-					$ph['subMenuState'] = ' open';
272
-
273
-					if(($checkDocs && !$checkFolders) || (!$checkDocs && !$checkFolders)) {
274
-						$ph['showChildren'] = 1;
275
-						$ph['icon_node_toggle'] = '';
276
-						$ph['icon'] = $ph['icon_folder_close'];
277
-					} elseif(!$checkDocs && $checkFolders) {
278
-						$ph['showChildren'] = 0;
279
-						$ph['openFolder'] = 2;
280
-					} else {
281
-						$ph['openFolder'] = 2;
282
-					}
283
-
284
-					// invoke OnManagerNodePrerender event
285
-					$prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
286
-						'ph' => $ph,
287
-						'opened' => '1'
288
-					));
289
-					if(is_array($prenode)) {
290
-						$phnew = array();
291
-						foreach($prenode as $pnode) {
292
-							$phnew = array_merge($phnew, unserialize($pnode));
293
-						}
294
-						$ph = (count($phnew) > 0) ? $phnew : $ph;
295
-					}
296
-
297
-					if($ph['contextmenu']) {
298
-						$ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
299
-					}
300
-
301
-					$node .= $modx->parseText($tpl, $ph);
302
-					if($checkFolders) {
303
-						$node .= makeHTML($indent + 1, $row['id'], $expandAll, $theme, $hereid);
304
-					}
305
-					$node .= '</div></div>';
306
-				} else {
307
-					$closed2[] = $row['id'];
308
-					$ph['icon'] = $ph['icon_folder_close'];
309
-					$ph['icon_node_toggle'] = $ph['tree_plusnode'];
310
-					$ph['node_toggle'] = 0;
311
-
312
-					if(($checkDocs && !$checkFolders) || (!$checkDocs && !$checkFolders)) {
313
-						$ph['showChildren'] = 1;
314
-						$ph['icon_node_toggle'] = '';
315
-					} elseif(!$checkDocs && $checkFolders) {
316
-						$ph['showChildren'] = 0;
317
-						$ph['openFolder'] = 2;
318
-					} else {
319
-						$ph['openFolder'] = 2;
320
-					}
321
-
322
-					// invoke OnManagerNodePrerender event
323
-					$prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
324
-						'ph' => $ph,
325
-						'opened' => '0'
326
-					));
327
-					if(is_array($prenode)) {
328
-						$phnew = array();
329
-						foreach($prenode as $pnode) {
330
-							$phnew = array_merge($phnew, unserialize($pnode));
331
-						}
332
-						$ph = (count($phnew) > 0) ? $phnew : $ph;
333
-					}
334
-
335
-					if($ph['contextmenu']) {
336
-						$ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
337
-					}
338
-
339
-					$node .= $modx->parseText($tpl, $ph);
340
-					$node .= '</div></div>';
341
-				}
342
-			} else {
343
-				$tpl = getTplFolderNode();
344
-				// expandAll: two type for partial expansion
345
-				if($expandAll == 1 || ($expandAll == 2 && in_array($row['id'], $opened))) {
346
-					if($expandAll == 1) {
347
-						$opened2[] = $row['id'];
348
-					}
349
-					$ph['icon'] = $ph['icon_folder_open'];
350
-					$ph['icon_node_toggle'] = $ph['tree_minusnode'];
351
-					$ph['node_toggle'] = 1;
352
-					$ph['subMenuState'] = ' open';
353
-
354
-					if($ph['donthit'] == 1) {
355
-						$ph['tree_page_click'] = 3;
356
-						$ph['icon_node_toggle'] = '';
357
-						$ph['icon'] = $ph['icon_folder_close'];
358
-						$ph['showChildren'] = 0;
359
-					}
360
-
361
-					// invoke OnManagerNodePrerender event
362
-					$prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
363
-						'ph' => $ph,
364
-						'opened' => '1'
365
-					));
366
-					if(is_array($prenode)) {
367
-						$phnew = array();
368
-						foreach($prenode as $pnode) {
369
-							$phnew = array_merge($phnew, unserialize($pnode));
370
-						}
371
-						$ph = (count($phnew) > 0) ? $phnew : $ph;
372
-						if($ph['showChildren'] == 0) {
373
-							unset($opened2[$row['id']]);
374
-							$ph['node_toggle'] = 0;
375
-							$ph['subMenuState'] = '';
376
-						}
377
-					}
378
-
379
-					if($ph['showChildren'] == 0) {
380
-						$ph['icon_node_toggle'] = '';
381
-						$ph['donthit'] = 1;
382
-						$ph['icon'] = $ph['icon_folder_close'];
383
-						$tpl = getTplFolderNodeNotChildren();
384
-					}
385
-
386
-					if($ph['contextmenu']) {
387
-						$ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
388
-					}
389
-
390
-					$node .= $modx->parseText($tpl, $ph);
391
-					if($ph['donthit'] == 0) {
392
-						$node .= makeHTML($indent + 1, $row['id'], $expandAll, $theme, $hereid);
393
-					}
394
-					$node .= '</div></div>';
395
-				} else {
396
-					$closed2[] = $row['id'];
397
-					$ph['icon'] = $ph['icon_folder_close'];
398
-					$ph['icon_node_toggle'] = $ph['tree_plusnode'];
399
-					$ph['node_toggle'] = 0;
400
-
401
-					if($ph['donthit'] == 1) {
402
-						$ph['tree_page_click'] = 3;
403
-						$ph['icon_node_toggle'] = '';
404
-						$ph['icon'] = $ph['icon_folder_close'];
405
-						$ph['showChildren'] = 0;
406
-					}
407
-
408
-					// invoke OnManagerNodePrerender event
409
-					$prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
410
-						'ph' => $ph,
411
-						'opened' => '0'
412
-					));
413
-					if(is_array($prenode)) {
414
-						$phnew = array();
415
-						foreach($prenode as $pnode) {
416
-							$phnew = array_merge($phnew, unserialize($pnode));
417
-						}
418
-						$ph = (count($phnew) > 0) ? $phnew : $ph;
419
-					}
420
-
421
-					if($ph['showChildren'] == 0) {
422
-						$ph['icon_node_toggle'] = '';
423
-						$ph['donthit'] = 1;
424
-						$ph['icon'] = $ph['icon_folder_close'];
425
-						$tpl = getTplFolderNodeNotChildren();
426
-					}
427
-
428
-					if($ph['contextmenu']) {
429
-						$ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
430
-					}
431
-
432
-					$node .= $modx->parseText($tpl, $ph);
433
-					$node .= '</div></div>';
434
-				}
435
-			}
436
-		}
437
-
438
-		// invoke OnManagerNodeRender event
439
-		$data['node'] = $node;
440
-		$evtOut = $modx->invokeEvent('OnManagerNodeRender', $data);
441
-		if(is_array($evtOut)) {
442
-			$evtOut = implode("\n", $evtOut);
443
-		}
444
-		if($evtOut != '') {
445
-			$node = trim($evtOut);
446
-		}
447
-
448
-		$output .= $node;
449
-	}
450
-
451
-	return $output;
75
+    $from = "{$tblsc} AS sc LEFT JOIN {$tbldg} dg on dg.document = sc.id LEFT JOIN {$tblst} st on st.id = sc.template";
76
+    $where = "(parent={$parent}) {$access} GROUP BY sc.id";
77
+    $result = $modx->db->select($field, $from, $where, $orderby);
78
+    if($modx->db->getRecordCount($result) == 0) {
79
+        $output .= sprintf('<div><a class="empty">%s%s&nbsp;<span class="empty">%s</span></a></div>', $spacer, $_style['tree_deletedpage'], $_lang['empty_folder']);
80
+    }
81
+
82
+    $nodeNameSource = $_SESSION['tree_nodename'] == 'default' ? $modx->config['resource_tree_node_name'] : $_SESSION['tree_nodename'];
83
+
84
+    while($row = $modx->db->getRow($result)) {
85
+        $node = '';
86
+
87
+        $nodetitle = getNodeTitle($nodeNameSource, $row);
88
+        $nodetitleDisplay = $nodetitle;
89
+
90
+        $treeNodeClass = 'node';
91
+        $treeNodeClass .= $row['hasAccess'] == 0 ? ' protected' : '';
92
+
93
+        if($row['deleted'] == 1) {
94
+            $treeNodeClass .= ' deleted';
95
+            //$nodetitleDisplay = sprintf('<span class="deletedNode">%s</span>', $nodetitle);
96
+        } elseif($row['published'] == 0) {
97
+            $treeNodeClass .= ' unpublished';
98
+            //$nodetitleDisplay = sprintf('<span class="unpublishedNode">%s</span>', $nodetitle);
99
+        } elseif($row['hidemenu'] == 1) {
100
+            $treeNodeClass .= ' hidemenu';
101
+            //$nodetitleDisplay = sprintf('<span class="notInMenuNode%s">%s</span>', $protectedClass, $nodetitle);
102
+        } else {
103
+            //$nodetitleDisplay = sprintf('<span class="publishedNode%s">%s</span>', $protectedClass, $nodetitle);
104
+        }
105
+
106
+        if($row['id'] == $hereid) {
107
+            $treeNodeClass .= ' current';
108
+        }
109
+
110
+        $weblinkDisplay = $row['type'] == 'reference' ? sprintf('&nbsp;%s', $_style['tree_linkgo']) : '';
111
+        $pageIdDisplay = '<small>(' . ($modx_textdir ? '&rlm;' : '') . $row['id'] . ')</small>';
112
+
113
+        // Prepare displaying user-locks
114
+        $lockedByUser = '';
115
+        $rowLock = $modx->elementIsLocked(7, $row['id'], true);
116
+        if($rowLock && $modx->hasPermission('display_locks')) {
117
+            if($rowLock['sid'] == $modx->sid) {
118
+                $title = $modx->parseText($_lang["lock_element_editing"], array(
119
+                    'element_type' => $_lang["lock_element_type_7"],
120
+                    'lasthit_df' => $rowLock['lasthit_df']
121
+                ));
122
+                $lockedByUser = '<span title="' . $title . '" class="editResource">' . $_style['tree_preview_resource'] . '</span>';
123
+            } else {
124
+                $title = $modx->parseText($_lang["lock_element_locked_by"], array(
125
+                    'element_type' => $_lang["lock_element_type_7"],
126
+                    'username' => $rowLock['username'],
127
+                    'lasthit_df' => $rowLock['lasthit_df']
128
+                ));
129
+                if($modx->hasPermission('remove_locks')) {
130
+                    $lockedByUser = '<span onclick="modx.tree.unlockElement(7, ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource">' . $_style['icons_secured'] . '</span>';
131
+                } else {
132
+                    $lockedByUser = '<span title="' . $title . '" class="lockedResource">' . $_style['icons_secured'] . '</span>';
133
+                }
134
+            }
135
+        }
136
+
137
+        $url = $modx->makeUrl($row['id']);
138
+
139
+        $title = '';
140
+        if(isDateNode($nodeNameSource)) {
141
+            $title = $_lang['pagetitle'] . ': ' . $row['pagetitle'] . '[+lf+]';
142
+        }
143
+        $title .= $_lang['id'] . ': ' . $row['id'];
144
+        $title .= '[+lf+]' . $_lang['resource_opt_menu_title'] . ': ' . $row['menutitle'];
145
+        $title .= '[+lf+]' . $_lang['resource_opt_menu_index'] . ': ' . $row['menuindex'];
146
+        $title .= '[+lf+]' . $_lang['alias'] . ': ' . (!empty($row['alias']) ? $row['alias'] : '-');
147
+        $title .= '[+lf+]' . $_lang['template'] . ': ' . $row['templatename'];
148
+        $title .= '[+lf+]' . $_lang['publish_date'] . ': ' . $modx->toDateFormat($row['pub_date']);
149
+        $title .= '[+lf+]' . $_lang['unpublish_date'] . ': ' . $modx->toDateFormat($row['unpub_date']);
150
+        $title .= '[+lf+]' . $_lang['page_data_web_access'] . ': ' . ($row['privateweb'] ? $_lang['private'] : $_lang['public']);
151
+        $title .= '[+lf+]' . $_lang['page_data_mgr_access'] . ': ' . ($row['privatemgr'] ? $_lang['private'] : $_lang['public']);
152
+        $title .= '[+lf+]' . $_lang['resource_opt_richtext'] . ': ' . ($row['richtext'] == 0 ? $_lang['no'] : $_lang['yes']);
153
+        $title .= '[+lf+]' . $_lang['page_data_searchable'] . ': ' . ($row['searchable'] == 0 ? $_lang['no'] : $_lang['yes']);
154
+        $title .= '[+lf+]' . $_lang['page_data_cacheable'] . ': ' . ($row['cacheable'] == 0 ? $_lang['no'] : $_lang['yes']);
155
+        $title = $modx->htmlspecialchars($title);
156
+        $title = str_replace('[+lf+]', ' &#13;', $title);   // replace line-breaks with empty space as fall-back
157
+
158
+        $data = array(
159
+            'id' => $row['id'],
160
+            'pagetitle' => $row['pagetitle'],
161
+            'longtitle' => $row['longtitle'],
162
+            'menutitle' => $row['menutitle'],
163
+            'parent' => $parent,
164
+            'isfolder' => $row['isfolder'],
165
+            'published' => $row['published'],
166
+            'deleted' => $row['deleted'],
167
+            'type' => $row['type'],
168
+            'menuindex' => $row['menuindex'],
169
+            'donthit' => $row['donthit'],
170
+            'hidemenu' => $row['hidemenu'],
171
+            'alias' => $row['alias'],
172
+            'contenttype' => $row['contentType'],
173
+            'privateweb' => $row['privateweb'],
174
+            'privatemgr' => $row['privatemgr'],
175
+            'hasAccess' => $row['hasAccess'],
176
+            'template' => $row['template'],
177
+            'nodetitle' => $nodetitle,
178
+            'url' => $url,
179
+            'title' => $title,
180
+            'nodetitleDisplay' => $nodetitleDisplay,
181
+            'weblinkDisplay' => $weblinkDisplay,
182
+            'pageIdDisplay' => $pageIdDisplay,
183
+            'lockedByUser' => $lockedByUser,
184
+            'treeNodeClass' => $treeNodeClass,
185
+            'treeNodeSelected' => $row['id'] == $hereid ? ' treeNodeSelected' : '',
186
+            'tree_page_click' => $modx->config['tree_page_click'],
187
+            'showChildren' => 1,
188
+            'openFolder' => 1,
189
+            'contextmenu' => '',
190
+            'tree_minusnode' => $_style['tree_minusnode'],
191
+            'tree_plusnode' => $_style['tree_plusnode'],
192
+            'spacer' => $spacer,
193
+            'subMenuState' => '',
194
+            'level' => $level,
195
+            'isPrivate' => 0,
196
+            'roles' => ($row['roles'] ? $row['roles'] : '')
197
+        );
198
+
199
+        $ph = $data;
200
+        $ph['nodetitle_esc'] = addslashes($nodetitle);
201
+        $ph['indent'] = $indent + 1;
202
+        $ph['expandAll'] = $expandAll;
203
+        $ph['isPrivate'] = ($row['privateweb'] || $row['privatemgr']) ? 1 : 0;
204
+
205
+        if(!$row['isfolder']) {
206
+            $tpl = getTplSingleNode();
207
+            switch($row['id']) {
208
+                case $modx->config['site_start']            :
209
+                    $icon = $_style['tree_page_home'];
210
+                    break;
211
+                case $modx->config['error_page']            :
212
+                    $icon = $_style['tree_page_404'];
213
+                    break;
214
+                case $modx->config['site_unavailable_page'] :
215
+                    $icon = $_style['tree_page_hourglass'];
216
+                    break;
217
+                case $modx->config['unauthorized_page']     :
218
+                    $icon = $_style['tree_page_info'];
219
+                    break;
220
+                default:
221
+                    if(isset($icons[$row['contentType']])) {
222
+                        $icon = $icons[$row['contentType']];
223
+                    } else {
224
+                        $icon = $_style['tree_page'];
225
+                    }
226
+            }
227
+            $ph['icon'] = $icon;
228
+
229
+            // invoke OnManagerNodePrerender event
230
+            $prenode = $modx->invokeEvent("OnManagerNodePrerender", array('ph' => $ph));
231
+            if(is_array($prenode)) {
232
+                $phnew = array();
233
+                foreach($prenode as $pnode) {
234
+                    $phnew = array_merge($phnew, unserialize($pnode));
235
+                }
236
+                $ph = (count($phnew) > 0) ? $phnew : $ph;
237
+            }
238
+
239
+            if($ph['contextmenu']) {
240
+                $ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
241
+            }
242
+
243
+            if($_SESSION['tree_show_only_folders']) {
244
+                if($row['parent'] == 0) {
245
+                    $node .= $modx->parseText($tpl, $ph);
246
+                } else {
247
+                    $node .= '';
248
+                }
249
+            } else {
250
+                $node .= $modx->parseText($tpl, $ph);
251
+            }
252
+
253
+        } else {
254
+            $ph['icon_folder_open'] = $_style['tree_folderopen_new'];
255
+            $ph['icon_folder_close'] = $_style['tree_folder_new'];
256
+
257
+            if($_SESSION['tree_show_only_folders']) {
258
+                $tpl = getTplFolderNodeNotChildren();
259
+                $checkFolders = checkIsFolder($row['id'], 1) ? 1 : 0; // folders
260
+                $checkDocs = checkIsFolder($row['id'], 0) ? 1 : 0; // no folders
261
+                $ph['tree_page_click'] = 3;
262
+
263
+                // expandAll: two type for partial expansion
264
+                if($expandAll == 1 || ($expandAll == 2 && in_array($row['id'], $opened))) {
265
+                    if($expandAll == 1) {
266
+                        $opened2[] = $row['id'];
267
+                    }
268
+                    $ph['icon'] = $ph['icon_folder_open'];
269
+                    $ph['icon_node_toggle'] = $ph['tree_minusnode'];
270
+                    $ph['node_toggle'] = 1;
271
+                    $ph['subMenuState'] = ' open';
272
+
273
+                    if(($checkDocs && !$checkFolders) || (!$checkDocs && !$checkFolders)) {
274
+                        $ph['showChildren'] = 1;
275
+                        $ph['icon_node_toggle'] = '';
276
+                        $ph['icon'] = $ph['icon_folder_close'];
277
+                    } elseif(!$checkDocs && $checkFolders) {
278
+                        $ph['showChildren'] = 0;
279
+                        $ph['openFolder'] = 2;
280
+                    } else {
281
+                        $ph['openFolder'] = 2;
282
+                    }
283
+
284
+                    // invoke OnManagerNodePrerender event
285
+                    $prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
286
+                        'ph' => $ph,
287
+                        'opened' => '1'
288
+                    ));
289
+                    if(is_array($prenode)) {
290
+                        $phnew = array();
291
+                        foreach($prenode as $pnode) {
292
+                            $phnew = array_merge($phnew, unserialize($pnode));
293
+                        }
294
+                        $ph = (count($phnew) > 0) ? $phnew : $ph;
295
+                    }
296
+
297
+                    if($ph['contextmenu']) {
298
+                        $ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
299
+                    }
300
+
301
+                    $node .= $modx->parseText($tpl, $ph);
302
+                    if($checkFolders) {
303
+                        $node .= makeHTML($indent + 1, $row['id'], $expandAll, $theme, $hereid);
304
+                    }
305
+                    $node .= '</div></div>';
306
+                } else {
307
+                    $closed2[] = $row['id'];
308
+                    $ph['icon'] = $ph['icon_folder_close'];
309
+                    $ph['icon_node_toggle'] = $ph['tree_plusnode'];
310
+                    $ph['node_toggle'] = 0;
311
+
312
+                    if(($checkDocs && !$checkFolders) || (!$checkDocs && !$checkFolders)) {
313
+                        $ph['showChildren'] = 1;
314
+                        $ph['icon_node_toggle'] = '';
315
+                    } elseif(!$checkDocs && $checkFolders) {
316
+                        $ph['showChildren'] = 0;
317
+                        $ph['openFolder'] = 2;
318
+                    } else {
319
+                        $ph['openFolder'] = 2;
320
+                    }
321
+
322
+                    // invoke OnManagerNodePrerender event
323
+                    $prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
324
+                        'ph' => $ph,
325
+                        'opened' => '0'
326
+                    ));
327
+                    if(is_array($prenode)) {
328
+                        $phnew = array();
329
+                        foreach($prenode as $pnode) {
330
+                            $phnew = array_merge($phnew, unserialize($pnode));
331
+                        }
332
+                        $ph = (count($phnew) > 0) ? $phnew : $ph;
333
+                    }
334
+
335
+                    if($ph['contextmenu']) {
336
+                        $ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
337
+                    }
338
+
339
+                    $node .= $modx->parseText($tpl, $ph);
340
+                    $node .= '</div></div>';
341
+                }
342
+            } else {
343
+                $tpl = getTplFolderNode();
344
+                // expandAll: two type for partial expansion
345
+                if($expandAll == 1 || ($expandAll == 2 && in_array($row['id'], $opened))) {
346
+                    if($expandAll == 1) {
347
+                        $opened2[] = $row['id'];
348
+                    }
349
+                    $ph['icon'] = $ph['icon_folder_open'];
350
+                    $ph['icon_node_toggle'] = $ph['tree_minusnode'];
351
+                    $ph['node_toggle'] = 1;
352
+                    $ph['subMenuState'] = ' open';
353
+
354
+                    if($ph['donthit'] == 1) {
355
+                        $ph['tree_page_click'] = 3;
356
+                        $ph['icon_node_toggle'] = '';
357
+                        $ph['icon'] = $ph['icon_folder_close'];
358
+                        $ph['showChildren'] = 0;
359
+                    }
360
+
361
+                    // invoke OnManagerNodePrerender event
362
+                    $prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
363
+                        'ph' => $ph,
364
+                        'opened' => '1'
365
+                    ));
366
+                    if(is_array($prenode)) {
367
+                        $phnew = array();
368
+                        foreach($prenode as $pnode) {
369
+                            $phnew = array_merge($phnew, unserialize($pnode));
370
+                        }
371
+                        $ph = (count($phnew) > 0) ? $phnew : $ph;
372
+                        if($ph['showChildren'] == 0) {
373
+                            unset($opened2[$row['id']]);
374
+                            $ph['node_toggle'] = 0;
375
+                            $ph['subMenuState'] = '';
376
+                        }
377
+                    }
378
+
379
+                    if($ph['showChildren'] == 0) {
380
+                        $ph['icon_node_toggle'] = '';
381
+                        $ph['donthit'] = 1;
382
+                        $ph['icon'] = $ph['icon_folder_close'];
383
+                        $tpl = getTplFolderNodeNotChildren();
384
+                    }
385
+
386
+                    if($ph['contextmenu']) {
387
+                        $ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
388
+                    }
389
+
390
+                    $node .= $modx->parseText($tpl, $ph);
391
+                    if($ph['donthit'] == 0) {
392
+                        $node .= makeHTML($indent + 1, $row['id'], $expandAll, $theme, $hereid);
393
+                    }
394
+                    $node .= '</div></div>';
395
+                } else {
396
+                    $closed2[] = $row['id'];
397
+                    $ph['icon'] = $ph['icon_folder_close'];
398
+                    $ph['icon_node_toggle'] = $ph['tree_plusnode'];
399
+                    $ph['node_toggle'] = 0;
400
+
401
+                    if($ph['donthit'] == 1) {
402
+                        $ph['tree_page_click'] = 3;
403
+                        $ph['icon_node_toggle'] = '';
404
+                        $ph['icon'] = $ph['icon_folder_close'];
405
+                        $ph['showChildren'] = 0;
406
+                    }
407
+
408
+                    // invoke OnManagerNodePrerender event
409
+                    $prenode = $modx->invokeEvent("OnManagerNodePrerender", array(
410
+                        'ph' => $ph,
411
+                        'opened' => '0'
412
+                    ));
413
+                    if(is_array($prenode)) {
414
+                        $phnew = array();
415
+                        foreach($prenode as $pnode) {
416
+                            $phnew = array_merge($phnew, unserialize($pnode));
417
+                        }
418
+                        $ph = (count($phnew) > 0) ? $phnew : $ph;
419
+                    }
420
+
421
+                    if($ph['showChildren'] == 0) {
422
+                        $ph['icon_node_toggle'] = '';
423
+                        $ph['donthit'] = 1;
424
+                        $ph['icon'] = $ph['icon_folder_close'];
425
+                        $tpl = getTplFolderNodeNotChildren();
426
+                    }
427
+
428
+                    if($ph['contextmenu']) {
429
+                        $ph['contextmenu'] = ' data-contextmenu="' . _htmlentities($ph['contextmenu']) . '"';
430
+                    }
431
+
432
+                    $node .= $modx->parseText($tpl, $ph);
433
+                    $node .= '</div></div>';
434
+                }
435
+            }
436
+        }
437
+
438
+        // invoke OnManagerNodeRender event
439
+        $data['node'] = $node;
440
+        $evtOut = $modx->invokeEvent('OnManagerNodeRender', $data);
441
+        if(is_array($evtOut)) {
442
+            $evtOut = implode("\n", $evtOut);
443
+        }
444
+        if($evtOut != '') {
445
+            $node = trim($evtOut);
446
+        }
447
+
448
+        $output .= $node;
449
+    }
450
+
451
+    return $output;
452 452
 }
453 453
 
454 454
 /**
@@ -456,30 +456,30 @@  discard block
 block discarded – undo
456 456
  * @return array
457 457
  */
458 458
 function getIconInfo($_style) {
459
-	if(!isset($_style['tree_page_gif'])) {
460
-		$_style['tree_page_gif'] = $_style['tree_page'];
461
-	}
462
-	if(!isset($_style['tree_page_jpg'])) {
463
-		$_style['tree_page_jpg'] = $_style['tree_page'];
464
-	}
465
-	if(!isset($_style['tree_page_png'])) {
466
-		$_style['tree_page_png'] = $_style['tree_page'];
467
-	}
468
-	$icons = array(
469
-		'text/html' => $_style['tree_page_html'],
470
-		'text/plain' => $_style['tree_page'],
471
-		'text/xml' => $_style['tree_page_xml'],
472
-		'text/css' => $_style['tree_page_css'],
473
-		'text/javascript' => $_style['tree_page_js'],
474
-		'application/rss+xml' => $_style['tree_page_rss'],
475
-		'application/pdf' => $_style['tree_page_pdf'],
476
-		'application/vnd.ms-word' => $_style['tree_page_word'],
477
-		'application/vnd.ms-excel' => $_style['tree_page_excel'],
478
-		'image/gif' => $_style['tree_page_gif'],
479
-		'image/jpg' => $_style['tree_page_jpg'],
480
-		'image/png' => $_style['tree_page_png']
481
-	);
482
-	return $icons;
459
+    if(!isset($_style['tree_page_gif'])) {
460
+        $_style['tree_page_gif'] = $_style['tree_page'];
461
+    }
462
+    if(!isset($_style['tree_page_jpg'])) {
463
+        $_style['tree_page_jpg'] = $_style['tree_page'];
464
+    }
465
+    if(!isset($_style['tree_page_png'])) {
466
+        $_style['tree_page_png'] = $_style['tree_page'];
467
+    }
468
+    $icons = array(
469
+        'text/html' => $_style['tree_page_html'],
470
+        'text/plain' => $_style['tree_page'],
471
+        'text/xml' => $_style['tree_page_xml'],
472
+        'text/css' => $_style['tree_page_css'],
473
+        'text/javascript' => $_style['tree_page_js'],
474
+        'application/rss+xml' => $_style['tree_page_rss'],
475
+        'application/pdf' => $_style['tree_page_pdf'],
476
+        'application/vnd.ms-word' => $_style['tree_page_word'],
477
+        'application/vnd.ms-excel' => $_style['tree_page_excel'],
478
+        'image/gif' => $_style['tree_page_gif'],
479
+        'image/jpg' => $_style['tree_page_jpg'],
480
+        'image/png' => $_style['tree_page_png']
481
+    );
482
+    return $icons;
483 483
 }
484 484
 
485 485
 /**
@@ -487,30 +487,30 @@  discard block
 block discarded – undo
487 487
  * @return array
488 488
  */
489 489
 function getPrivateIconInfo($_style) {
490
-	if(!isset($_style['tree_page_gif_secure'])) {
491
-		$_style['tree_page_gif_secure'] = $_style['tree_page_secure'];
492
-	}
493
-	if(!isset($_style['tree_page_jpg_secure'])) {
494
-		$_style['tree_page_jpg_secure'] = $_style['tree_page_secure'];
495
-	}
496
-	if(!isset($_style['tree_page_png_secure'])) {
497
-		$_style['tree_page_png_secure'] = $_style['tree_page_secure'];
498
-	}
499
-	$iconsPrivate = array(
500
-		'text/html' => $_style['tree_page_html_secure'],
501
-		'text/plain' => $_style['tree_page_secure'],
502
-		'text/xml' => $_style['tree_page_xml_secure'],
503
-		'text/css' => $_style['tree_page_css_secure'],
504
-		'text/javascript' => $_style['tree_page_js_secure'],
505
-		'application/rss+xml' => $_style['tree_page_rss_secure'],
506
-		'application/pdf' => $_style['tree_page_pdf_secure'],
507
-		'application/vnd.ms-word' => $_style['tree_page_word_secure'],
508
-		'application/vnd.ms-excel' => $_style['tree_page_excel_secure'],
509
-		'image/gif' => $_style['tree_page_gif_secure'],
510
-		'image/jpg' => $_style['tree_page_jpg_secure'],
511
-		'image/png' => $_style['tree_page_png_secure']
512
-	);
513
-	return $iconsPrivate;
490
+    if(!isset($_style['tree_page_gif_secure'])) {
491
+        $_style['tree_page_gif_secure'] = $_style['tree_page_secure'];
492
+    }
493
+    if(!isset($_style['tree_page_jpg_secure'])) {
494
+        $_style['tree_page_jpg_secure'] = $_style['tree_page_secure'];
495
+    }
496
+    if(!isset($_style['tree_page_png_secure'])) {
497
+        $_style['tree_page_png_secure'] = $_style['tree_page_secure'];
498
+    }
499
+    $iconsPrivate = array(
500
+        'text/html' => $_style['tree_page_html_secure'],
501
+        'text/plain' => $_style['tree_page_secure'],
502
+        'text/xml' => $_style['tree_page_xml_secure'],
503
+        'text/css' => $_style['tree_page_css_secure'],
504
+        'text/javascript' => $_style['tree_page_js_secure'],
505
+        'application/rss+xml' => $_style['tree_page_rss_secure'],
506
+        'application/pdf' => $_style['tree_page_pdf_secure'],
507
+        'application/vnd.ms-word' => $_style['tree_page_word_secure'],
508
+        'application/vnd.ms-excel' => $_style['tree_page_excel_secure'],
509
+        'image/gif' => $_style['tree_page_gif_secure'],
510
+        'image/jpg' => $_style['tree_page_jpg_secure'],
511
+        'image/png' => $_style['tree_page_png_secure']
512
+    );
513
+    return $iconsPrivate;
514 514
 }
515 515
 
516 516
 /**
@@ -519,49 +519,49 @@  discard block
 block discarded – undo
519 519
  * @return string
520 520
  */
521 521
 function getNodeTitle($nodeNameSource, $row) {
522
-	global $modx;
523
-
524
-	switch($nodeNameSource) {
525
-		case 'menutitle':
526
-			$nodetitle = $row['menutitle'] ? $row['menutitle'] : $row['pagetitle'];
527
-			break;
528
-		case 'alias':
529
-			$nodetitle = $row['alias'] ? $row['alias'] : $row['id'];
530
-			if(strpos($row['alias'], '.') === false) {
531
-				if($row['isfolder'] != 1 || $modx->config['make_folders'] != 1) {
532
-					$nodetitle .= $modx->config['friendly_url_suffix'];
533
-				}
534
-			}
535
-			$nodetitle = $modx->config['friendly_url_prefix'] . $nodetitle;
536
-			break;
537
-		case 'pagetitle':
538
-			$nodetitle = $row['pagetitle'];
539
-			break;
540
-		case 'longtitle':
541
-			$nodetitle = $row['longtitle'] ? $row['longtitle'] : $row['pagetitle'];
542
-			break;
543
-		case 'createdon':
544
-		case 'editedon':
545
-		case 'publishedon':
546
-		case 'pub_date':
547
-		case 'unpub_date':
548
-			$doc = $modx->getDocumentObject('id', $row['id']);
549
-			$date = $doc[$nodeNameSource];
550
-			if(!empty($date)) {
551
-				$nodetitle = $modx->toDateFormat($date);
552
-			} else {
553
-				$nodetitle = '- - -';
554
-			}
555
-			break;
556
-		default:
557
-			$nodetitle = $row['pagetitle'];
558
-	}
559
-	$nodetitle = $modx->htmlspecialchars(str_replace(array(
560
-		"\r\n",
561
-		"\n",
562
-		"\r"
563
-	), ' ', $nodetitle), ENT_COMPAT);
564
-	return $nodetitle;
522
+    global $modx;
523
+
524
+    switch($nodeNameSource) {
525
+        case 'menutitle':
526
+            $nodetitle = $row['menutitle'] ? $row['menutitle'] : $row['pagetitle'];
527
+            break;
528
+        case 'alias':
529
+            $nodetitle = $row['alias'] ? $row['alias'] : $row['id'];
530
+            if(strpos($row['alias'], '.') === false) {
531
+                if($row['isfolder'] != 1 || $modx->config['make_folders'] != 1) {
532
+                    $nodetitle .= $modx->config['friendly_url_suffix'];
533
+                }
534
+            }
535
+            $nodetitle = $modx->config['friendly_url_prefix'] . $nodetitle;
536
+            break;
537
+        case 'pagetitle':
538
+            $nodetitle = $row['pagetitle'];
539
+            break;
540
+        case 'longtitle':
541
+            $nodetitle = $row['longtitle'] ? $row['longtitle'] : $row['pagetitle'];
542
+            break;
543
+        case 'createdon':
544
+        case 'editedon':
545
+        case 'publishedon':
546
+        case 'pub_date':
547
+        case 'unpub_date':
548
+            $doc = $modx->getDocumentObject('id', $row['id']);
549
+            $date = $doc[$nodeNameSource];
550
+            if(!empty($date)) {
551
+                $nodetitle = $modx->toDateFormat($date);
552
+            } else {
553
+                $nodetitle = '- - -';
554
+            }
555
+            break;
556
+        default:
557
+            $nodetitle = $row['pagetitle'];
558
+    }
559
+    $nodetitle = $modx->htmlspecialchars(str_replace(array(
560
+        "\r\n",
561
+        "\n",
562
+        "\r"
563
+    ), ' ', $nodetitle), ENT_COMPAT);
564
+    return $nodetitle;
565 565
 }
566 566
 
567 567
 /**
@@ -569,16 +569,16 @@  discard block
 block discarded – undo
569 569
  * @return bool
570 570
  */
571 571
 function isDateNode($nodeNameSource) {
572
-	switch($nodeNameSource) {
573
-		case 'createdon':
574
-		case 'editedon':
575
-		case 'publishedon':
576
-		case 'pub_date':
577
-		case 'unpub_date':
578
-			return true;
579
-		default:
580
-			return false;
581
-	}
572
+    switch($nodeNameSource) {
573
+        case 'createdon':
574
+        case 'editedon':
575
+        case 'publishedon':
576
+        case 'pub_date':
577
+        case 'unpub_date':
578
+            return true;
579
+        default:
580
+            return false;
581
+    }
582 582
 }
583 583
 
584 584
 /**
@@ -587,9 +587,9 @@  discard block
 block discarded – undo
587 587
  * @return int
588 588
  */
589 589
 function checkIsFolder($parent = 0, $isfolder = 1) {
590
-	global $modx;
590
+    global $modx;
591 591
 
592
-	return (int) $modx->db->getValue($modx->db->query('SELECT count(*) FROM ' . $modx->getFullTableName('site_content') . ' WHERE parent=' . $parent . ' AND isfolder=' . $isfolder . ' '));
592
+    return (int) $modx->db->getValue($modx->db->query('SELECT count(*) FROM ' . $modx->getFullTableName('site_content') . ' WHERE parent=' . $parent . ' AND isfolder=' . $isfolder . ' '));
593 593
 }
594 594
 
595 595
 /**
@@ -597,19 +597,19 @@  discard block
 block discarded – undo
597 597
  * @return string
598 598
  */
599 599
 function _htmlentities($array) {
600
-	global $modx;
600
+    global $modx;
601 601
 
602
-	$array = json_encode($array, JSON_UNESCAPED_UNICODE);
603
-	$array = htmlentities($array, ENT_COMPAT, $modx->config['modx_charset']);
602
+    $array = json_encode($array, JSON_UNESCAPED_UNICODE);
603
+    $array = htmlentities($array, ENT_COMPAT, $modx->config['modx_charset']);
604 604
 
605
-	return $array;
605
+    return $array;
606 606
 }
607 607
 
608 608
 /**
609 609
  * @return string
610 610
  */
611 611
 function getTplSingleNode() {
612
-	return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
612
+    return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
613 613
         onclick="modx.tree.treeAction(event,[+id+]);"
614 614
         oncontextmenu="modx.tree.showPopup(event,[+id+],\'[+nodetitle_esc+]\');"
615 615
         data-id="[+id+]"
@@ -636,7 +636,7 @@  discard block
 block discarded – undo
636 636
  * @return string
637 637
  */
638 638
 function getTplFolderNode() {
639
-	return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
639
+    return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
640 640
         onclick="modx.tree.treeAction(event,[+id+]);"
641 641
         oncontextmenu="modx.tree.showPopup(event,[+id+],\'[+nodetitle_esc+]\');"
642 642
         data-id="[+id+]"
@@ -675,7 +675,7 @@  discard block
 block discarded – undo
675 675
  * @return string
676 676
  */
677 677
 function getTplFolderNodeNotChildren() {
678
-	return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
678
+    return '<div id="node[+id+]"><a class="[+treeNodeClass+]"
679 679
         onclick="modx.tree.treeAction(event,[+id+]);"
680 680
         oncontextmenu="modx.tree.showPopup(event,[+id+],\'[+nodetitle_esc+]\');"
681 681
         data-id="[+id+]"
@@ -711,10 +711,10 @@  discard block
 block discarded – undo
711 711
  * @param bool $flag
712 712
  */
713 713
 function dbug($str, $flag = false) {
714
-	print('<pre>');
715
-	print_r($str);
716
-	print('</pre>');
717
-	if($flag) {
718
-		exit;
719
-	}
714
+    print('<pre>');
715
+    print_r($str);
716
+    print('</pre>');
717
+    if($flag) {
718
+        exit;
719
+    }
720 720
 }
Please login to merge, or discard this patch.
manager/actions/resources/functions.inc.php 1 patch
Indentation   +165 added lines, -165 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 
6 6
 $tpl = array(
7
-	'viewForm' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_viewForm.tpl'),
8
-	'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
9
-	'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
10
-	'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
11
-	'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl')
7
+    'viewForm' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_viewForm.tpl'),
8
+    'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
9
+    'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
10
+    'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
11
+    'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl')
12 12
 );
13 13
 
14 14
 /**
@@ -17,9 +17,9 @@  discard block
 block discarded – undo
17 17
  * @return string
18 18
  */
19 19
 function parsePh($tpl, $ph) {
20
-	global $modx, $_lang;
21
-	$tpl = $modx->parseText($tpl, $_lang, '[%', '%]');
22
-	return $modx->parseText($tpl, $ph);
20
+    global $modx, $_lang;
21
+    $tpl = $modx->parseText($tpl, $_lang, '[%', '%]');
22
+    return $modx->parseText($tpl, $ph);
23 23
 }
24 24
 
25 25
 /**
@@ -27,11 +27,11 @@  discard block
 block discarded – undo
27 27
  * @return string
28 28
  */
29 29
 function renderViewSwitchButtons($cssId) {
30
-	global $modx, $_lang, $tpl;
30
+    global $modx, $_lang, $tpl;
31 31
 
32
-	return parsePh($tpl['viewForm'], array(
33
-		'cssId' => $cssId
34
-	));
32
+    return parsePh($tpl['viewForm'], array(
33
+        'cssId' => $cssId
34
+    ));
35 35
 }
36 36
 
37 37
 /**
@@ -40,52 +40,52 @@  discard block
 block discarded – undo
40 40
  * @return string
41 41
  */
42 42
 function createResourceList($resourceTable, $resources) {
43
-	global $modx, $_lang, $_style, $modx_textdir, $tpl;
43
+    global $modx, $_lang, $_style, $modx_textdir, $tpl;
44 44
 
45
-	$items = isset($resources->items[$resourceTable]) ? $resources->items[$resourceTable] : false;
45
+    $items = isset($resources->items[$resourceTable]) ? $resources->items[$resourceTable] : false;
46 46
 
47
-	if( ! is_array($items) || empty($items)) {
48
-		return $_lang['no_results'];
49
-	}
47
+    if( ! is_array($items) || empty($items)) {
48
+        return $_lang['no_results'];
49
+    }
50 50
 
51
-	// Prepare elements- and categories-list
52
-	$elements = array();
53
-	$categories = array();
54
-	foreach($items as $row) {
55
-		$catid = $row['catid'] ? $row['catid'] : 0;
56
-		$categories[$catid] = array('name' => stripslashes($row['category']));
57
-		$elements[$catid][] = prepareElementRowPh($row, $resourceTable, $resources);
58
-	}
51
+    // Prepare elements- and categories-list
52
+    $elements = array();
53
+    $categories = array();
54
+    foreach($items as $row) {
55
+        $catid = $row['catid'] ? $row['catid'] : 0;
56
+        $categories[$catid] = array('name' => stripslashes($row['category']));
57
+        $elements[$catid][] = prepareElementRowPh($row, $resourceTable, $resources);
58
+    }
59 59
 
60
-	// Now render categories / panel-collapse
61
-	$panelGroup = '';
62
-	foreach($elements as $catid => $elList) {
63
-		// Add panel-heading / category-collapse to output
64
-		$panelGroup .= parsePh($tpl['panelHeading'], array(
65
-			'tab' => $resourceTable,
66
-			'category' => $categories[$catid]['name'],
67
-			'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
68
-			'catid' => $catid,
69
-		));
60
+    // Now render categories / panel-collapse
61
+    $panelGroup = '';
62
+    foreach($elements as $catid => $elList) {
63
+        // Add panel-heading / category-collapse to output
64
+        $panelGroup .= parsePh($tpl['panelHeading'], array(
65
+            'tab' => $resourceTable,
66
+            'category' => $categories[$catid]['name'],
67
+            'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
68
+            'catid' => $catid,
69
+        ));
70 70
 
71
-		// Prepare content for panel-collapse
72
-		$panelCollapse = '';
73
-		foreach($elList as $el) {
74
-			$panelCollapse .= parsePh($tpl['elementsRow'], $el);
75
-		}
71
+        // Prepare content for panel-collapse
72
+        $panelCollapse = '';
73
+        foreach($elList as $el) {
74
+            $panelCollapse .= parsePh($tpl['elementsRow'], $el);
75
+        }
76 76
 
77
-		// Add panel-collapse with elements to output
78
-		$panelGroup .= parsePh($tpl['panelCollapse'], array(
79
-			'tab' => $resourceTable,
80
-			'catid' => $catid,
81
-			'wrapper' => $panelCollapse,
82
-		));
83
-	}
77
+        // Add panel-collapse with elements to output
78
+        $panelGroup .= parsePh($tpl['panelCollapse'], array(
79
+            'tab' => $resourceTable,
80
+            'catid' => $catid,
81
+            'wrapper' => $panelCollapse,
82
+        ));
83
+    }
84 84
 
85
-	return parsePh($tpl['panelGroup'], array(
86
-		'resourceTable' => $resourceTable,
87
-		'wrapper' => $panelGroup
88
-	));
85
+    return parsePh($tpl['panelGroup'], array(
86
+        'resourceTable' => $resourceTable,
87
+        'wrapper' => $panelGroup
88
+    ));
89 89
 }
90 90
 
91 91
 /**
@@ -93,54 +93,54 @@  discard block
 block discarded – undo
93 93
  * @return string
94 94
  */
95 95
 function createCombinedView($resources) {
96
-	global $modx, $_lang, $_style, $modx_textdir;
96
+    global $modx, $_lang, $_style, $modx_textdir;
97 97
 
98
-	$itemsPerCategory = isset($resources->itemsPerCategory) ? $resources->itemsPerCategory : false;
99
-	$types = isset($resources->types) ? $resources->types : false;
100
-	$categories = isset($resources->categories) ? $resources->categories : false;
98
+    $itemsPerCategory = isset($resources->itemsPerCategory) ? $resources->itemsPerCategory : false;
99
+    $types = isset($resources->types) ? $resources->types : false;
100
+    $categories = isset($resources->categories) ? $resources->categories : false;
101 101
 
102
-	if(!$itemsPerCategory) {
103
-		return $_lang['no_results'];
104
-	}
102
+    if(!$itemsPerCategory) {
103
+        return $_lang['no_results'];
104
+    }
105 105
 
106
-	$tpl = array(
107
-		'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
108
-		'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
109
-		'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
110
-		'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl'),
111
-	);
106
+    $tpl = array(
107
+        'panelGroup' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelGroup.tpl'),
108
+        'panelHeading' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelHeading.tpl'),
109
+        'panelCollapse' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_panelCollapse.tpl'),
110
+        'elementsRow' => file_get_contents(MODX_MANAGER_PATH . 'actions/resources/tpl_elementsRow.tpl'),
111
+    );
112 112
 
113
-	// Easily loop through $itemsPerCategory-Array
114
-	$panelGroup = '';
115
-	foreach($categories as $catid => $category) {
116
-		// Prepare collapse content / elements-list
117
-		$panelCollapse = '';
118
-		foreach($itemsPerCategory[$catid] as $el) {
119
-			$resourceTable = $el['type'];
120
-			$ph = prepareElementRowPh($el, $resourceTable, $resources);
121
-			$panelCollapse .= parsePh($tpl['elementsRow'], $ph);
122
-		}
113
+    // Easily loop through $itemsPerCategory-Array
114
+    $panelGroup = '';
115
+    foreach($categories as $catid => $category) {
116
+        // Prepare collapse content / elements-list
117
+        $panelCollapse = '';
118
+        foreach($itemsPerCategory[$catid] as $el) {
119
+            $resourceTable = $el['type'];
120
+            $ph = prepareElementRowPh($el, $resourceTable, $resources);
121
+            $panelCollapse .= parsePh($tpl['elementsRow'], $ph);
122
+        }
123 123
 
124
-		// Add panel-heading / button
125
-		$panelGroup .= parsePh($tpl['panelHeading'], array(
126
-			'tab' => 'categories_list',
127
-			'category' => $categories[$catid],
128
-			'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
129
-			'catid' => $catid,
130
-		));
124
+        // Add panel-heading / button
125
+        $panelGroup .= parsePh($tpl['panelHeading'], array(
126
+            'tab' => 'categories_list',
127
+            'category' => $categories[$catid],
128
+            'categoryid' => $catid != '' ? ' <small>(' . $catid . ')</small>' : '',
129
+            'catid' => $catid,
130
+        ));
131 131
 
132
-		// Add panel
133
-		$panelGroup .= parsePh($tpl['panelCollapse'], array(
134
-			'tab' => 'categories_list',
135
-			'catid' => $catid,
136
-			'wrapper' => $panelCollapse,
137
-		));
138
-	}
132
+        // Add panel
133
+        $panelGroup .= parsePh($tpl['panelCollapse'], array(
134
+            'tab' => 'categories_list',
135
+            'catid' => $catid,
136
+            'wrapper' => $panelCollapse,
137
+        ));
138
+    }
139 139
 
140
-	return parsePh($tpl['panelGroup'], array(
141
-		'resourceTable' => 'categories_list',
142
-		'wrapper' => $panelGroup
143
-	));
140
+    return parsePh($tpl['panelGroup'], array(
141
+        'resourceTable' => 'categories_list',
142
+        'wrapper' => $panelGroup
143
+    ));
144 144
 }
145 145
 
146 146
 /**
@@ -150,13 +150,13 @@  discard block
 block discarded – undo
150 150
  * @return array
151 151
  */
152 152
 function prepareElementRowPh($row, $resourceTable, $resources) {
153
-	global $modx, $modx_textdir, $_style, $_lang;
153
+    global $modx, $modx_textdir, $_style, $_lang;
154 154
 
155
-	$types = isset($resources->types[$resourceTable]) ? $resources->types[$resourceTable] : false;
155
+    $types = isset($resources->types[$resourceTable]) ? $resources->types[$resourceTable] : false;
156 156
 
157
-	$_lang["confirm_delete"] = $_lang["delete"];
157
+    $_lang["confirm_delete"] = $_lang["delete"];
158 158
 
159
-	switch($resourceTable){
159
+    switch($resourceTable){
160 160
         case 'site_templates':
161 161
             $class = $row['selectable'] ? '' : 'disabledPlugin';
162 162
             $lockElementType = 1;
@@ -190,77 +190,77 @@  discard block
 block discarded – undo
190 190
             return array();
191 191
     }
192 192
 
193
-	// Prepare displaying user-locks
194
-	$lockedByUser = '';
195
-	$rowLock = $modx->elementIsLocked($lockElementType, $row['id'], true);
196
-	if($rowLock && $modx->hasPermission('display_locks')) {
197
-		if($rowLock['sid'] == $modx->sid) {
198
-			$title = $modx->parseText($_lang["lock_element_editing"], array(
199
-				'element_type' => $_lang["lock_element_type_" . $lockElementType],
200
-				'lasthit_df' => $rowLock['lasthit_df']
201
-			));
202
-			$lockedByUser = '<span title="' . $title . '" class="editResource" style="cursor:context-menu;">' . $_style['tree_preview_resource'] . '</span>&nbsp;';
203
-		} else {
204
-			$title = $modx->parseText($_lang["lock_element_locked_by"], array(
205
-				'element_type' => $_lang["lock_element_type_" . $lockElementType],
206
-				'username' => $rowLock['username'],
207
-				'lasthit_df' => $rowLock['lasthit_df']
208
-			));
209
-			if($modx->hasPermission('remove_locks')) {
210
-				$lockedByUser = '<a href="javascript:;" onclick="unlockElement(' . $lockElementType . ', ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource"><i class="' . $_style['icons_secured'] . '"></i></a>';
211
-			} else {
212
-				$lockedByUser = '<span title="' . $title . '" class="lockedResource" style="cursor:context-menu;"><i class="' . $_style['icons_secured'] . '"></i></span>';
213
-			}
214
-		}
215
-	}
216
-	if($lockedByUser) {
217
-		$lockedByUser = '<div class="lockCell">' . $lockedByUser . '</div>';
218
-	}
193
+    // Prepare displaying user-locks
194
+    $lockedByUser = '';
195
+    $rowLock = $modx->elementIsLocked($lockElementType, $row['id'], true);
196
+    if($rowLock && $modx->hasPermission('display_locks')) {
197
+        if($rowLock['sid'] == $modx->sid) {
198
+            $title = $modx->parseText($_lang["lock_element_editing"], array(
199
+                'element_type' => $_lang["lock_element_type_" . $lockElementType],
200
+                'lasthit_df' => $rowLock['lasthit_df']
201
+            ));
202
+            $lockedByUser = '<span title="' . $title . '" class="editResource" style="cursor:context-menu;">' . $_style['tree_preview_resource'] . '</span>&nbsp;';
203
+        } else {
204
+            $title = $modx->parseText($_lang["lock_element_locked_by"], array(
205
+                'element_type' => $_lang["lock_element_type_" . $lockElementType],
206
+                'username' => $rowLock['username'],
207
+                'lasthit_df' => $rowLock['lasthit_df']
208
+            ));
209
+            if($modx->hasPermission('remove_locks')) {
210
+                $lockedByUser = '<a href="javascript:;" onclick="unlockElement(' . $lockElementType . ', ' . $row['id'] . ', this);return false;" title="' . $title . '" class="lockedResource"><i class="' . $_style['icons_secured'] . '"></i></a>';
211
+            } else {
212
+                $lockedByUser = '<span title="' . $title . '" class="lockedResource" style="cursor:context-menu;"><i class="' . $_style['icons_secured'] . '"></i></span>';
213
+            }
214
+        }
215
+    }
216
+    if($lockedByUser) {
217
+        $lockedByUser = '<div class="lockCell">' . $lockedByUser . '</div>';
218
+    }
219 219
 
220
-	// Caption
221
-	if($resourceTable == 'site_tmplvars') {
222
-		$caption = !empty($row['description']) ? ' ' . $row['caption'] . ' &nbsp; <small>(' . $row['description'] . ')</small>' : ' ' . $row['caption'];
223
-	} else {
224
-		$caption = !empty($row['description']) ? ' ' . $row['description'] : '';
225
-	}
220
+    // Caption
221
+    if($resourceTable == 'site_tmplvars') {
222
+        $caption = !empty($row['description']) ? ' ' . $row['caption'] . ' &nbsp; <small>(' . $row['description'] . ')</small>' : ' ' . $row['caption'];
223
+    } else {
224
+        $caption = !empty($row['description']) ? ' ' . $row['description'] : '';
225
+    }
226 226
 
227
-	// Special marks
228
-	$tplInfo = array();
229
-	if($row['locked']) {
230
-		$tplInfo[] = $_lang['locked'];
231
-	}
232
-	if($row['id'] == $modx->config['default_template'] && $resourceTable == 'site_templates') {
233
-		$tplInfo[] = $_lang['defaulttemplate_title'];
234
-	}
235
-	$marks = !empty($tplInfo) ? ' <em>(' . implode(', ', $tplInfo) . ')</em>' : '';
227
+    // Special marks
228
+    $tplInfo = array();
229
+    if($row['locked']) {
230
+        $tplInfo[] = $_lang['locked'];
231
+    }
232
+    if($row['id'] == $modx->config['default_template'] && $resourceTable == 'site_templates') {
233
+        $tplInfo[] = $_lang['defaulttemplate_title'];
234
+    }
235
+    $marks = !empty($tplInfo) ? ' <em>(' . implode(', ', $tplInfo) . ')</em>' : '';
236 236
 
237
-	/* row buttons */
238
-	$buttons = '';
239
-	if($modx->hasPermission($types['actions']['edit'][1])) {
240
-		$buttons .= '<li><a title="' . $_lang["edit_resource"] . '" href="index.php?a=' . $types['actions']['edit'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-edit fa-fw"></i></a></li>';
241
-	}
242
-	if($modx->hasPermission($types['actions']['duplicate'][1])) {
243
-		$buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_duplicate_record"] . '\')" title="' . $_lang["resource_duplicate"] . '" href="index.php?a=' . $types['actions']['duplicate'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-clone fa-fw"></i></a></li>';
244
-	}
245
-	if($modx->hasPermission($types['actions']['remove'][1])) {
246
-		$buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_delete"] . '\')" title="' . $_lang["delete"] . '" href="index.php?a=' . $types['actions']['remove'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-trash fa-fw"></i></a></li>';
247
-	}
248
-	$buttons = $buttons ? '<div class="btnCell"><ul class="elements_buttonbar">' . $buttons . '</ul></div>' : '';
237
+    /* row buttons */
238
+    $buttons = '';
239
+    if($modx->hasPermission($types['actions']['edit'][1])) {
240
+        $buttons .= '<li><a title="' . $_lang["edit_resource"] . '" href="index.php?a=' . $types['actions']['edit'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-edit fa-fw"></i></a></li>';
241
+    }
242
+    if($modx->hasPermission($types['actions']['duplicate'][1])) {
243
+        $buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_duplicate_record"] . '\')" title="' . $_lang["resource_duplicate"] . '" href="index.php?a=' . $types['actions']['duplicate'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-clone fa-fw"></i></a></li>';
244
+    }
245
+    if($modx->hasPermission($types['actions']['remove'][1])) {
246
+        $buttons .= '<li><a onclick="return confirm(\'' . $_lang["confirm_delete"] . '\')" title="' . $_lang["delete"] . '" href="index.php?a=' . $types['actions']['remove'][0] . '&amp;id=' . $row['id'] . '"><i class="fa fa-trash fa-fw"></i></a></li>';
247
+    }
248
+    $buttons = $buttons ? '<div class="btnCell"><ul class="elements_buttonbar">' . $buttons . '</ul></div>' : '';
249 249
 
250
-	$catid = $row['catid'] ? $row['catid'] : 0;
250
+    $catid = $row['catid'] ? $row['catid'] : 0;
251 251
 
252
-	// Placeholders for elements-row
253
-	return array(
254
-		'class' => $class ? ' class="' . $class . '"' : '',
255
-		'lockedByUser' => $lockedByUser,
256
-		'name' => $row['name'],
257
-		'caption' => $caption,
258
-		'buttons' => $buttons,
259
-		'marks' => $marks,
260
-		'id' => $row['id'],
261
-		'resourceTable' => $resourceTable,
262
-		'actionEdit' => $types['actions']['edit'][0],
263
-		'catid' => $catid,
264
-		'textdir' => $modx_textdir ? '&rlm;' : '',
265
-	);
252
+    // Placeholders for elements-row
253
+    return array(
254
+        'class' => $class ? ' class="' . $class . '"' : '',
255
+        'lockedByUser' => $lockedByUser,
256
+        'name' => $row['name'],
257
+        'caption' => $caption,
258
+        'buttons' => $buttons,
259
+        'marks' => $marks,
260
+        'id' => $row['id'],
261
+        'resourceTable' => $resourceTable,
262
+        'actionEdit' => $types['actions']['edit'][0],
263
+        'catid' => $catid,
264
+        'textdir' => $modx_textdir ? '&rlm;' : '',
265
+    );
266 266
 }
Please login to merge, or discard this patch.
manager/actions/resources/mgrResources.class.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
     /**
8 8
      * @var array
9 9
      */
10
-	public $types = array();
10
+    public $types = array();
11 11
     /**
12 12
      * @var array
13 13
      */
@@ -25,73 +25,73 @@  discard block
 block discarded – undo
25 25
      * mgrResources constructor.
26 26
      */
27 27
     public function __construct() {
28
-		$this->setTypes();
29
-		$this->queryItemsFromDB();
30
-		$this->prepareCategoryArrays();
31
-	}
28
+        $this->setTypes();
29
+        $this->queryItemsFromDB();
30
+        $this->prepareCategoryArrays();
31
+    }
32 32
 
33 33
     /**
34 34
      * @return void
35 35
      */
36 36
     public function setTypes() {
37
-		global $_lang;
38
-		$this->types['site_templates']    = array(
39
-			'title'=>$_lang["manage_templates"],
40
-			'actions'=>array( 'edit'=>array(16,'edit_template'), 'duplicate'=>array(96,'new_template'), 'remove'=>array(21,'delete_template') ),
41
-			'permissions'=>array('new_template','edit_template'),
42
-			'name'=>'templatename'
43
-		);
44
-		$this->types['site_tmplvars']     = array(
45
-			'title'=>$_lang["tmplvars"],
46
-			'actions'=>array('edit'=>array(301,'edit_template'), 'duplicate'=>array(304,'edit_template'), 'remove'=>array(303,'edit_template')),
47
-			'permissions'=>array('new_template','edit_template'),
48
-		);
49
-		$this->types['site_htmlsnippets'] = array(
50
-			'title'=>$_lang["manage_htmlsnippets"],
51
-			'actions'=>array('edit'=>array(78,'edit_chunk'), 'duplicate'=>array(97,'new_chunk'), 'remove'=>array(80,'delete_chunk')),
52
-			'permissions'=>array('new_chunk','edit_chunk'),
53
-		);
54
-		$this->types['site_snippets']     = array(
55
-			'title'=>$_lang["manage_snippets"],
56
-			'actions'=>array('edit'=>array(22,'edit_snippet'), 'duplicate'=>array(98,'new_snippet'), 'remove'=>array(25,'delete_snippet')),
57
-			'permissions'=>array('new_snippet','edit_snippet'),
58
-		);
59
-		$this->types['site_plugins']      = array(
60
-			'title'=>$_lang["manage_plugins"],
61
-			'actions'=>array('edit'=>array(102,'edit_plugin'), 'duplicate'=>array(105,'new_plugin'), 'remove'=>array(104,'delete_plugin')),
62
-			'permissions'=>array('new_plugin','edit_plugin'),
63
-		);
64
-		$this->types['site_modules']      = array(
65
-			'title'=>$_lang["manage_modules"],
66
-			'actions'=>array('edit'=>array(108,'edit_module'), 'duplicate'=>array(111,'new_module'), 'remove'=>array(110,'delete_module')),
67
-			'permissions'=>array('new_module','edit_module'),
68
-		);
69
-	}
37
+        global $_lang;
38
+        $this->types['site_templates']    = array(
39
+            'title'=>$_lang["manage_templates"],
40
+            'actions'=>array( 'edit'=>array(16,'edit_template'), 'duplicate'=>array(96,'new_template'), 'remove'=>array(21,'delete_template') ),
41
+            'permissions'=>array('new_template','edit_template'),
42
+            'name'=>'templatename'
43
+        );
44
+        $this->types['site_tmplvars']     = array(
45
+            'title'=>$_lang["tmplvars"],
46
+            'actions'=>array('edit'=>array(301,'edit_template'), 'duplicate'=>array(304,'edit_template'), 'remove'=>array(303,'edit_template')),
47
+            'permissions'=>array('new_template','edit_template'),
48
+        );
49
+        $this->types['site_htmlsnippets'] = array(
50
+            'title'=>$_lang["manage_htmlsnippets"],
51
+            'actions'=>array('edit'=>array(78,'edit_chunk'), 'duplicate'=>array(97,'new_chunk'), 'remove'=>array(80,'delete_chunk')),
52
+            'permissions'=>array('new_chunk','edit_chunk'),
53
+        );
54
+        $this->types['site_snippets']     = array(
55
+            'title'=>$_lang["manage_snippets"],
56
+            'actions'=>array('edit'=>array(22,'edit_snippet'), 'duplicate'=>array(98,'new_snippet'), 'remove'=>array(25,'delete_snippet')),
57
+            'permissions'=>array('new_snippet','edit_snippet'),
58
+        );
59
+        $this->types['site_plugins']      = array(
60
+            'title'=>$_lang["manage_plugins"],
61
+            'actions'=>array('edit'=>array(102,'edit_plugin'), 'duplicate'=>array(105,'new_plugin'), 'remove'=>array(104,'delete_plugin')),
62
+            'permissions'=>array('new_plugin','edit_plugin'),
63
+        );
64
+        $this->types['site_modules']      = array(
65
+            'title'=>$_lang["manage_modules"],
66
+            'actions'=>array('edit'=>array(108,'edit_module'), 'duplicate'=>array(111,'new_module'), 'remove'=>array(110,'delete_module')),
67
+            'permissions'=>array('new_module','edit_module'),
68
+        );
69
+    }
70 70
 
71 71
     /**
72 72
      * @return void
73 73
      */
74 74
     public function queryItemsFromDB() {
75
-		foreach($this->types as $resourceTable=>$type) {
76
-			if($this->hasAnyPermissions($type['permissions'])) {
77
-				$nameField = isset($type['name']) ? $type['name'] : 'name';
78
-				$this->items[$resourceTable] = $this->queryResources($resourceTable, $nameField);
79
-		   }
80
-		 }
81
-	}
75
+        foreach($this->types as $resourceTable=>$type) {
76
+            if($this->hasAnyPermissions($type['permissions'])) {
77
+                $nameField = isset($type['name']) ? $type['name'] : 'name';
78
+                $this->items[$resourceTable] = $this->queryResources($resourceTable, $nameField);
79
+            }
80
+            }
81
+    }
82 82
 
83 83
     /**
84 84
      * @param array $permissions
85 85
      * @return bool
86 86
      */
87 87
     public function hasAnyPermissions($permissions) {
88
-		global $modx;
88
+        global $modx;
89 89
 
90
-		foreach($permissions as $p)
91
-			if($modx->hasPermission($p)) return true;
90
+        foreach($permissions as $p)
91
+            if($modx->hasPermission($p)) return true;
92 92
 
93
-		return false;
94
-	}
93
+        return false;
94
+    }
95 95
 
96 96
     /**
97 97
      * @param string $resourceTable
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
      * @return array|bool
100 100
      */
101 101
     public function queryResources($resourceTable, $nameField = 'name') {
102
-		global $modx, $_lang;
102
+        global $modx, $_lang;
103 103
 
104 104
         $allowed = array(
105 105
             'site_htmlsnippets',
@@ -107,59 +107,59 @@  discard block
 block discarded – undo
107 107
             'site_plugins',
108 108
             'site_modules'
109 109
         );
110
-		$pluginsql = !empty($resourceTable) && in_array($resourceTable, $allowed) ? $resourceTable . '.disabled, ' : '';
111
-
112
-		$tvsql  = '';
113
-		$tvjoin = '';
114
-		if ($resourceTable === 'site_tmplvars') {
115
-			$tvsql    = 'site_tmplvars.caption, ';
116
-			$tvjoin   = sprintf('LEFT JOIN %s AS stt ON site_tmplvars.id=stt.tmplvarid GROUP BY site_tmplvars.id,reltpl', $modx->getFullTableName('site_tmplvar_templates'));
117
-			$sttfield = 'IF(stt.templateid,1,0) AS reltpl,';
118
-		}
119
-		else $sttfield = '';
120
-
121
-		$selectableTemplates = $resourceTable === 'site_templates' ? "{$resourceTable}.selectable, " : "";
122
-
123
-		$rs = $modx->db->select(
124
-			"{$sttfield} {$pluginsql} {$tvsql} {$resourceTable}.{$nameField} as name, {$resourceTable}.id, {$resourceTable}.description, {$resourceTable}.locked, {$selectableTemplates}IF(isnull(categories.category),'{$_lang['no_category']}',categories.category) as category, categories.id as catid",
125
-			$modx->getFullTableName($resourceTable) . " AS {$resourceTable}
110
+        $pluginsql = !empty($resourceTable) && in_array($resourceTable, $allowed) ? $resourceTable . '.disabled, ' : '';
111
+
112
+        $tvsql  = '';
113
+        $tvjoin = '';
114
+        if ($resourceTable === 'site_tmplvars') {
115
+            $tvsql    = 'site_tmplvars.caption, ';
116
+            $tvjoin   = sprintf('LEFT JOIN %s AS stt ON site_tmplvars.id=stt.tmplvarid GROUP BY site_tmplvars.id,reltpl', $modx->getFullTableName('site_tmplvar_templates'));
117
+            $sttfield = 'IF(stt.templateid,1,0) AS reltpl,';
118
+        }
119
+        else $sttfield = '';
120
+
121
+        $selectableTemplates = $resourceTable === 'site_templates' ? "{$resourceTable}.selectable, " : "";
122
+
123
+        $rs = $modx->db->select(
124
+            "{$sttfield} {$pluginsql} {$tvsql} {$resourceTable}.{$nameField} as name, {$resourceTable}.id, {$resourceTable}.description, {$resourceTable}.locked, {$selectableTemplates}IF(isnull(categories.category),'{$_lang['no_category']}',categories.category) as category, categories.id as catid",
125
+            $modx->getFullTableName($resourceTable) . " AS {$resourceTable}
126 126
 	            LEFT JOIN " . $modx->getFullTableName('categories') . " AS categories ON {$resourceTable}.category = categories.id {$tvjoin}",
127
-			"",
128
-			"category,name"
129
-		);
130
-		$limit = $modx->db->getRecordCount($rs);
127
+            "",
128
+            "category,name"
129
+        );
130
+        $limit = $modx->db->getRecordCount($rs);
131 131
 
132
-		if($limit < 1) return false;
132
+        if($limit < 1) return false;
133 133
 
134
-		$result = array();
135
-		while ($row = $modx->db->getRow($rs)) {
136
-			$result[] = $row;
137
-		}
138
-		return $result;
139
-	}
134
+        $result = array();
135
+        while ($row = $modx->db->getRow($rs)) {
136
+            $result[] = $row;
137
+        }
138
+        return $result;
139
+    }
140 140
 
141 141
     /**
142 142
      * @return void
143 143
      */
144 144
     public function prepareCategoryArrays() {
145
-		foreach($this->items as $type=>$items) {
146
-			foreach((array)$items as $item) {
147
-				$catid = $item['catid'] ? $item['catid'] : 0;
148
-				$this->categories[$catid] = $item['category'];
149
-
150
-				$item['type'] = $type;
151
-				$this->itemsPerCategory[$catid][] = $item;
152
-			}
153
-		}
154
-
155
-		// Sort categories by name
156
-		natcasesort($this->categories);
157
-
158
-		// Now sort by name
159
-		foreach($this->itemsPerCategory as $catid=>$items) {
160
-			usort($this->itemsPerCategory[$catid], function ($a, $b) {
161
-				return strcasecmp($a['name'], $b['name']);
162
-			});
163
-		}
164
-	}
145
+        foreach($this->items as $type=>$items) {
146
+            foreach((array)$items as $item) {
147
+                $catid = $item['catid'] ? $item['catid'] : 0;
148
+                $this->categories[$catid] = $item['category'];
149
+
150
+                $item['type'] = $type;
151
+                $this->itemsPerCategory[$catid][] = $item;
152
+            }
153
+        }
154
+
155
+        // Sort categories by name
156
+        natcasesort($this->categories);
157
+
158
+        // Now sort by name
159
+        foreach($this->itemsPerCategory as $catid=>$items) {
160
+            usort($this->itemsPerCategory[$catid], function ($a, $b) {
161
+                return strcasecmp($a['name'], $b['name']);
162
+            });
163
+        }
164
+    }
165 165
 }
Please login to merge, or discard this patch.
manager/actions/mutate_content.dynamic.php 1 patch
Indentation   +411 added lines, -411 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 
6 6
 /********************/
@@ -12,30 +12,30 @@  discard block
 block discarded – undo
12 12
 
13 13
 // check permissions
14 14
 switch($modx->manager->action) {
15
-	case 27:
16
-		if(!$modx->hasPermission('edit_document')) {
17
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
18
-		}
19
-		break;
20
-	case 85:
21
-	case 72:
22
-	case 4:
23
-		if(!$modx->hasPermission('new_document')) {
24
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
25
-		} elseif(isset($_REQUEST['pid']) && $_REQUEST['pid'] != '0') {
26
-			// check user has permissions for parent
27
-			include_once(MODX_MANAGER_PATH . 'processors/user_documents_permissions.class.php');
28
-			$udperms = new udperms();
29
-			$udperms->user = $modx->getLoginUserID();
30
-			$udperms->document = empty($_REQUEST['pid']) ? 0 : $_REQUEST['pid'];
31
-			$udperms->role = $_SESSION['mgrRole'];
32
-			if(!$udperms->checkPermissions()) {
33
-				$modx->webAlertAndQuit($_lang["access_permission_denied"]);
34
-			}
35
-		}
36
-		break;
37
-	default:
38
-		$modx->webAlertAndQuit($_lang["error_no_privileges"]);
15
+    case 27:
16
+        if(!$modx->hasPermission('edit_document')) {
17
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
18
+        }
19
+        break;
20
+    case 85:
21
+    case 72:
22
+    case 4:
23
+        if(!$modx->hasPermission('new_document')) {
24
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
25
+        } elseif(isset($_REQUEST['pid']) && $_REQUEST['pid'] != '0') {
26
+            // check user has permissions for parent
27
+            include_once(MODX_MANAGER_PATH . 'processors/user_documents_permissions.class.php');
28
+            $udperms = new udperms();
29
+            $udperms->user = $modx->getLoginUserID();
30
+            $udperms->document = empty($_REQUEST['pid']) ? 0 : $_REQUEST['pid'];
31
+            $udperms->role = $_SESSION['mgrRole'];
32
+            if(!$udperms->checkPermissions()) {
33
+                $modx->webAlertAndQuit($_lang["access_permission_denied"]);
34
+            }
35
+        }
36
+        break;
37
+    default:
38
+        $modx->webAlertAndQuit($_lang["error_no_privileges"]);
39 39
 }
40 40
 
41 41
 $id = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;
@@ -54,22 +54,22 @@  discard block
 block discarded – undo
54 54
 $tbl_site_tmplvars = $modx->getFullTableName('site_tmplvars');
55 55
 
56 56
 if($modx->manager->action == 27) {
57
-	//editing an existing document
58
-	// check permissions on the document
59
-	include_once(MODX_MANAGER_PATH . 'processors/user_documents_permissions.class.php');
60
-	$udperms = new udperms();
61
-	$udperms->user = $modx->getLoginUserID();
62
-	$udperms->document = $id;
63
-	$udperms->role = $_SESSION['mgrRole'];
64
-
65
-	if(!$udperms->checkPermissions()) {
66
-		$modx->webAlertAndQuit($_lang["access_permission_denied"]);
67
-	}
57
+    //editing an existing document
58
+    // check permissions on the document
59
+    include_once(MODX_MANAGER_PATH . 'processors/user_documents_permissions.class.php');
60
+    $udperms = new udperms();
61
+    $udperms->user = $modx->getLoginUserID();
62
+    $udperms->document = $id;
63
+    $udperms->role = $_SESSION['mgrRole'];
64
+
65
+    if(!$udperms->checkPermissions()) {
66
+        $modx->webAlertAndQuit($_lang["access_permission_denied"]);
67
+    }
68 68
 }
69 69
 
70 70
 // check to see if resource isn't locked
71 71
 if($lockedEl = $modx->elementIsLocked(7, $id)) {
72
-	$modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['resource']));
72
+    $modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['resource']));
73 73
 }
74 74
 // end check for lock
75 75
 
@@ -78,74 +78,74 @@  discard block
 block discarded – undo
78 78
 
79 79
 // get document groups for current user
80 80
 if($_SESSION['mgrDocgroups']) {
81
-	$docgrp = implode(',', $_SESSION['mgrDocgroups']);
81
+    $docgrp = implode(',', $_SESSION['mgrDocgroups']);
82 82
 }
83 83
 
84 84
 if(!empty ($id)) {
85
-	$access = sprintf("1='%s' OR sc.privatemgr=0", $_SESSION['mgrRole']);
86
-	if($docgrp) {
87
-		$access .= " OR dg.document_group IN ({$docgrp})";
88
-	}
89
-	$rs = $modx->db->select('sc.*', "{$tbl_site_content} AS sc LEFT JOIN {$tbl_document_groups} AS dg ON dg.document=sc.id", "sc.id='{$id}' AND ({$access})");
90
-	$content = array();
91
-	$content = $modx->db->getRow($rs);
92
-	$modx->documentObject = &$content;
93
-	if(!$content) {
94
-		$modx->webAlertAndQuit($_lang["access_permission_denied"]);
95
-	}
96
-	$_SESSION['itemname'] = $content['pagetitle'];
85
+    $access = sprintf("1='%s' OR sc.privatemgr=0", $_SESSION['mgrRole']);
86
+    if($docgrp) {
87
+        $access .= " OR dg.document_group IN ({$docgrp})";
88
+    }
89
+    $rs = $modx->db->select('sc.*', "{$tbl_site_content} AS sc LEFT JOIN {$tbl_document_groups} AS dg ON dg.document=sc.id", "sc.id='{$id}' AND ({$access})");
90
+    $content = array();
91
+    $content = $modx->db->getRow($rs);
92
+    $modx->documentObject = &$content;
93
+    if(!$content) {
94
+        $modx->webAlertAndQuit($_lang["access_permission_denied"]);
95
+    }
96
+    $_SESSION['itemname'] = $content['pagetitle'];
97 97
 } else {
98
-	$content = array();
98
+    $content = array();
99 99
 
100
-	if(isset($_REQUEST['newtemplate'])) {
101
-		$content['template'] = $_REQUEST['newtemplate'];
102
-	} else {
103
-		$content['template'] = getDefaultTemplate();
104
-	}
100
+    if(isset($_REQUEST['newtemplate'])) {
101
+        $content['template'] = $_REQUEST['newtemplate'];
102
+    } else {
103
+        $content['template'] = getDefaultTemplate();
104
+    }
105 105
 
106
-	$_SESSION['itemname'] = $_lang["new_resource"];
106
+    $_SESSION['itemname'] = $_lang["new_resource"];
107 107
 }
108 108
 
109 109
 // restore saved form
110 110
 $formRestored = $modx->manager->loadFormValues();
111 111
 if(isset($_REQUEST['newtemplate'])) {
112
-	$formRestored = true;
112
+    $formRestored = true;
113 113
 }
114 114
 
115 115
 // retain form values if template was changed
116 116
 // edited to convert pub_date and unpub_date
117 117
 // sottwell 02-09-2006
118 118
 if($formRestored == true) {
119
-	$content = array_merge($content, $_POST);
120
-	$content['content'] = $_POST['ta'];
121
-	if(empty ($content['pub_date'])) {
122
-		unset ($content['pub_date']);
123
-	} else {
124
-		$content['pub_date'] = $modx->toTimeStamp($content['pub_date']);
125
-	}
126
-	if(empty ($content['unpub_date'])) {
127
-		unset ($content['unpub_date']);
128
-	} else {
129
-		$content['unpub_date'] = $modx->toTimeStamp($content['unpub_date']);
130
-	}
119
+    $content = array_merge($content, $_POST);
120
+    $content['content'] = $_POST['ta'];
121
+    if(empty ($content['pub_date'])) {
122
+        unset ($content['pub_date']);
123
+    } else {
124
+        $content['pub_date'] = $modx->toTimeStamp($content['pub_date']);
125
+    }
126
+    if(empty ($content['unpub_date'])) {
127
+        unset ($content['unpub_date']);
128
+    } else {
129
+        $content['unpub_date'] = $modx->toTimeStamp($content['unpub_date']);
130
+    }
131 131
 }
132 132
 
133 133
 // increase menu index if this is a new document
134 134
 if(!isset ($_REQUEST['id'])) {
135
-	if(!isset ($modx->config['auto_menuindex'])) {
136
-		$modx->config['auto_menuindex'] = 1;
137
-	}
138
-	if($modx->config['auto_menuindex']) {
139
-		$pid = (int)$_REQUEST['pid'];
140
-		$rs = $modx->db->select('count(*)', $tbl_site_content, "parent='{$pid}'");
141
-		$content['menuindex'] = $modx->db->getValue($rs);
142
-	} else {
143
-		$content['menuindex'] = 0;
144
-	}
135
+    if(!isset ($modx->config['auto_menuindex'])) {
136
+        $modx->config['auto_menuindex'] = 1;
137
+    }
138
+    if($modx->config['auto_menuindex']) {
139
+        $pid = (int)$_REQUEST['pid'];
140
+        $rs = $modx->db->select('count(*)', $tbl_site_content, "parent='{$pid}'");
141
+        $content['menuindex'] = $modx->db->getValue($rs);
142
+    } else {
143
+        $content['menuindex'] = 0;
144
+    }
145 145
 }
146 146
 
147 147
 if(isset ($_POST['which_editor'])) {
148
-	$modx->config['which_editor'] = $_POST['which_editor'];
148
+    $modx->config['which_editor'] = $_POST['which_editor'];
149 149
 }
150 150
 
151 151
 // Add lock-element JS-Script
@@ -545,23 +545,23 @@  discard block
 block discarded – undo
545 545
 
546 546
 	<form name="mutate" id="mutate" class="content" method="post" enctype="multipart/form-data" action="index.php" onsubmit="documentDirty=false;">
547 547
 		<?php
548
-		// invoke OnDocFormPrerender event
549
-		$evtOut = $modx->invokeEvent('OnDocFormPrerender', array(
550
-			'id' => $id,
551
-			'template' => $content['template']
552
-		));
553
-
554
-		if(is_array($evtOut)) {
555
-			echo implode('', $evtOut);
556
-		}
557
-
558
-		/*************************/
559
-		$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : '';
560
-		$sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : 'createdon';
561
-		$page = isset($_REQUEST['page']) ? (int) $_REQUEST['page'] : '';
562
-		/*************************/
563
-
564
-		?>
548
+        // invoke OnDocFormPrerender event
549
+        $evtOut = $modx->invokeEvent('OnDocFormPrerender', array(
550
+            'id' => $id,
551
+            'template' => $content['template']
552
+        ));
553
+
554
+        if(is_array($evtOut)) {
555
+            echo implode('', $evtOut);
556
+        }
557
+
558
+        /*************************/
559
+        $dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : '';
560
+        $sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : 'createdon';
561
+        $page = isset($_REQUEST['page']) ? (int) $_REQUEST['page'] : '';
562
+        /*************************/
563
+
564
+        ?>
565 565
 		<input type="hidden" name="a" value="5" />
566 566
 		<input type="hidden" name="id" value="<?= $content['id'] ?>" />
567 567
 		<input type="hidden" name="mode" value="<?= $modx->manager->action ?>" />
@@ -576,54 +576,54 @@  discard block
 block discarded – undo
576 576
 
577 577
 			<h1>
578 578
 				<i class="fa fa-pencil-square-o"></i><?php if(isset($_REQUEST['id'])) {
579
-					echo iconv_substr($content['pagetitle'], 0, 50, $modx->config['modx_charset']) . (iconv_strlen($content['pagetitle'], $modx->config['modx_charset']) > 50 ? '...' : '') . '<small>(' . $_REQUEST['id'] . ')</small>';
580
-				} else {
581
-				    if ($modx->manager->action == '4') {
579
+                    echo iconv_substr($content['pagetitle'], 0, 50, $modx->config['modx_charset']) . (iconv_strlen($content['pagetitle'], $modx->config['modx_charset']) > 50 ? '...' : '') . '<small>(' . $_REQUEST['id'] . ')</small>';
580
+                } else {
581
+                    if ($modx->manager->action == '4') {
582 582
                         echo $_lang['add_resource'];
583 583
                     } else if ($modx->manager->action == '72') {
584 584
                         echo $_lang['add_weblink'];
585 585
                     } else {
586 586
                         echo $_lang['create_resource_title'];
587 587
                     }
588
-				} ?>
588
+                } ?>
589 589
 			</h1>
590 590
 
591 591
 			<?= $_style['actionbuttons']['dynamic']['document'] ?>
592 592
 
593 593
 			<?php
594
-			// breadcrumbs
595
-			if($modx->config['use_breadcrumbs']) {
596
-				$temp = array();
597
-				$title = isset($content['pagetitle']) ? $content['pagetitle'] : $_lang['create_resource_title'];
598
-
599
-				if(isset($_REQUEST['id']) && $content['parent'] != 0) {
600
-					$bID = (int) $_REQUEST['id'];
601
-					$temp = $modx->getParentIds($bID);
602
-				} else if(isset($_REQUEST['pid'])) {
603
-					$bID = (int) $_REQUEST['pid'];
604
-					$temp = $modx->getParentIds($bID);
605
-					array_unshift($temp, $bID);
606
-				}
607
-
608
-				if($temp) {
609
-					$parents = implode(',', $temp);
610
-
611
-					if(!empty($parents)) {
612
-						$where = "FIND_IN_SET(id,'{$parents}') DESC";
613
-						$rs = $modx->db->select('id, pagetitle', $tbl_site_content, "id IN ({$parents})", $where);
614
-						while($row = $modx->db->getRow($rs)) {
615
-							$out .= '<li class="breadcrumbs__li">
594
+            // breadcrumbs
595
+            if($modx->config['use_breadcrumbs']) {
596
+                $temp = array();
597
+                $title = isset($content['pagetitle']) ? $content['pagetitle'] : $_lang['create_resource_title'];
598
+
599
+                if(isset($_REQUEST['id']) && $content['parent'] != 0) {
600
+                    $bID = (int) $_REQUEST['id'];
601
+                    $temp = $modx->getParentIds($bID);
602
+                } else if(isset($_REQUEST['pid'])) {
603
+                    $bID = (int) $_REQUEST['pid'];
604
+                    $temp = $modx->getParentIds($bID);
605
+                    array_unshift($temp, $bID);
606
+                }
607
+
608
+                if($temp) {
609
+                    $parents = implode(',', $temp);
610
+
611
+                    if(!empty($parents)) {
612
+                        $where = "FIND_IN_SET(id,'{$parents}') DESC";
613
+                        $rs = $modx->db->select('id, pagetitle', $tbl_site_content, "id IN ({$parents})", $where);
614
+                        while($row = $modx->db->getRow($rs)) {
615
+                            $out .= '<li class="breadcrumbs__li">
616 616
                                 <a href="index.php?a=27&id=' . $row['id'] . '" class="breadcrumbs__a">' . htmlspecialchars($row['pagetitle'], ENT_QUOTES, $modx->config['modx_charset']) . '</a>
617 617
                                 <span class="breadcrumbs__sep">&gt;</span>
618 618
                             </li>';
619
-						}
620
-					}
621
-				}
619
+                        }
620
+                    }
621
+                }
622 622
 
623
-				$out .= '<li class="breadcrumbs__li breadcrumbs__li_current">' . $title . '</li>';
624
-				echo '<ul class="breadcrumbs">' . $out . '</ul>';
625
-			}
626
-			?>
623
+                $out .= '<li class="breadcrumbs__li breadcrumbs__li_current">' . $title . '</li>';
624
+                echo '<ul class="breadcrumbs">' . $out . '</ul>';
625
+            }
626
+            ?>
627 627
 
628 628
 			<!-- start main wrapper -->
629 629
 			<div class="sectionBody">
@@ -635,13 +635,13 @@  discard block
 block discarded – undo
635 635
 
636 636
 					<!-- General -->
637 637
 					<?php
638
-					$evtOut = $modx->invokeEvent('OnDocFormTemplateRender', array(
639
-						'id' => $id
640
-					));
641
-					if(is_array($evtOut)) {
642
-						echo implode('', $evtOut);
643
-					} else {
644
-						?>
638
+                    $evtOut = $modx->invokeEvent('OnDocFormTemplateRender', array(
639
+                        'id' => $id
640
+                    ));
641
+                    if(is_array($evtOut)) {
642
+                        echo implode('', $evtOut);
643
+                    } else {
644
+                        ?>
645 645
 						<div class="tab-page" id="tabGeneral">
646 646
 							<h2 class="tab"><?= $_lang['settings_general'] ?></h2>
647 647
 							<script type="text/javascript">tpSettings.addTabPage(document.getElementById("tabGeneral"));</script>
@@ -726,36 +726,36 @@  discard block
 block discarded – undo
726 726
 										<select id="template" name="template" class="inputBox" onchange="templateWarning();">
727 727
 											<option value="0">(blank)</option>
728 728
 											<?php
729
-											$field = "t.templatename, t.selectable, t.id, c.category";
730
-											$from = "{$tbl_site_templates} AS t LEFT JOIN {$tbl_categories} AS c ON t.category = c.id";
731
-											$rs = $modx->db->select($field, $from, '', 'c.category, t.templatename ASC');
732
-											$currentCategory = '';
733
-											while($row = $modx->db->getRow($rs)) {
734
-												if($row['selectable'] != 1 && $row['id'] != $content['template']) {
735
-													continue;
736
-												};
737
-												// Skip if not selectable but show if selected!
738
-												$thisCategory = $row['category'];
739
-												if($thisCategory == null) {
740
-													$thisCategory = $_lang["no_category"];
741
-												}
742
-												if($thisCategory != $currentCategory) {
743
-													if($closeOptGroup) {
744
-														echo "\t\t\t\t\t</optgroup>\n";
745
-													}
746
-													echo "\t\t\t\t\t<optgroup label=\"$thisCategory\">\n";
747
-													$closeOptGroup = true;
748
-												}
729
+                                            $field = "t.templatename, t.selectable, t.id, c.category";
730
+                                            $from = "{$tbl_site_templates} AS t LEFT JOIN {$tbl_categories} AS c ON t.category = c.id";
731
+                                            $rs = $modx->db->select($field, $from, '', 'c.category, t.templatename ASC');
732
+                                            $currentCategory = '';
733
+                                            while($row = $modx->db->getRow($rs)) {
734
+                                                if($row['selectable'] != 1 && $row['id'] != $content['template']) {
735
+                                                    continue;
736
+                                                };
737
+                                                // Skip if not selectable but show if selected!
738
+                                                $thisCategory = $row['category'];
739
+                                                if($thisCategory == null) {
740
+                                                    $thisCategory = $_lang["no_category"];
741
+                                                }
742
+                                                if($thisCategory != $currentCategory) {
743
+                                                    if($closeOptGroup) {
744
+                                                        echo "\t\t\t\t\t</optgroup>\n";
745
+                                                    }
746
+                                                    echo "\t\t\t\t\t<optgroup label=\"$thisCategory\">\n";
747
+                                                    $closeOptGroup = true;
748
+                                                }
749 749
 
750
-												$selectedtext = ($row['id'] == $content['template']) ? ' selected="selected"' : '';
750
+                                                $selectedtext = ($row['id'] == $content['template']) ? ' selected="selected"' : '';
751 751
 
752
-												echo "\t\t\t\t\t" . '<option value="' . $row['id'] . '"' . $selectedtext . '>' . $row['templatename'] . "</option>\n";
753
-												$currentCategory = $thisCategory;
754
-											}
755
-											if($thisCategory != '') {
756
-												echo "\t\t\t\t\t</optgroup>\n";
757
-											}
758
-											?>
752
+                                                echo "\t\t\t\t\t" . '<option value="' . $row['id'] . '"' . $selectedtext . '>' . $row['templatename'] . "</option>\n";
753
+                                                $currentCategory = $thisCategory;
754
+                                            }
755
+                                            if($thisCategory != '') {
756
+                                                echo "\t\t\t\t\t</optgroup>\n";
757
+                                            }
758
+                                            ?>
759 759
 										</select>
760 760
 									</td>
761 761
 								</tr>
@@ -795,37 +795,37 @@  discard block
 block discarded – undo
795 795
 									</td>
796 796
 									<td valign="top">
797 797
 										<?php
798
-										$parentlookup = false;
799
-										if(isset ($_REQUEST['id'])) {
800
-											if($content['parent'] == 0) {
801
-												$parentname = $site_name;
802
-											} else {
803
-												$parentlookup = $content['parent'];
804
-											}
805
-										} elseif(isset ($_REQUEST['pid'])) {
806
-											if($_REQUEST['pid'] == 0) {
807
-												$parentname = $site_name;
808
-											} else {
809
-												$parentlookup = $_REQUEST['pid'];
810
-											}
811
-										} elseif(isset($_POST['parent'])) {
812
-											if($_POST['parent'] == 0) {
813
-												$parentname = $site_name;
814
-											} else {
815
-												$parentlookup = $_POST['parent'];
816
-											}
817
-										} else {
818
-											$parentname = $site_name;
819
-											$content['parent'] = 0;
820
-										}
821
-										if($parentlookup !== false && is_numeric($parentlookup)) {
822
-											$rs = $modx->db->select('pagetitle', $tbl_site_content, "id='{$parentlookup}'");
823
-											$parentname = $modx->db->getValue($rs);
824
-											if(!$parentname) {
825
-												$modx->webAlertAndQuit($_lang["error_no_parent"]);
826
-											}
827
-										}
828
-										?>
798
+                                        $parentlookup = false;
799
+                                        if(isset ($_REQUEST['id'])) {
800
+                                            if($content['parent'] == 0) {
801
+                                                $parentname = $site_name;
802
+                                            } else {
803
+                                                $parentlookup = $content['parent'];
804
+                                            }
805
+                                        } elseif(isset ($_REQUEST['pid'])) {
806
+                                            if($_REQUEST['pid'] == 0) {
807
+                                                $parentname = $site_name;
808
+                                            } else {
809
+                                                $parentlookup = $_REQUEST['pid'];
810
+                                            }
811
+                                        } elseif(isset($_POST['parent'])) {
812
+                                            if($_POST['parent'] == 0) {
813
+                                                $parentname = $site_name;
814
+                                            } else {
815
+                                                $parentlookup = $_POST['parent'];
816
+                                            }
817
+                                        } else {
818
+                                            $parentname = $site_name;
819
+                                            $content['parent'] = 0;
820
+                                        }
821
+                                        if($parentlookup !== false && is_numeric($parentlookup)) {
822
+                                            $rs = $modx->db->select('pagetitle', $tbl_site_content, "id='{$parentlookup}'");
823
+                                            $parentname = $modx->db->getValue($rs);
824
+                                            if(!$parentname) {
825
+                                                $modx->webAlertAndQuit($_lang["error_no_parent"]);
826
+                                            }
827
+                                        }
828
+                                        ?>
829 829
 										<i id="plock" class="<?= $_style["actions_folder"] ?>" onclick="enableParentSelection(!allowParentSelection);"></i>
830 830
 										<b><span id="parentName"><?= (isset($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent']) ?> (<?= $parentname ?>)</span></b>
831 831
 										<input type="hidden" name="parent" value="<?= (isset($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent']) ?>" onchange="documentDirty=true;" />
@@ -833,7 +833,7 @@  discard block
 block discarded – undo
833 833
 								</tr>
834 834
 								<tr></tr>
835 835
 								<?php
836
-								/*
836
+                                /*
837 837
 								if($content['type'] == 'reference' || $modx->manager->action == '72') {
838 838
 									?>
839 839
 									<tr>
@@ -861,7 +861,7 @@  discard block
 block discarded – undo
861 861
 									</tr>
862 862
 									<?php
863 863
 								}*/
864
-								?>
864
+                                ?>
865 865
 
866 866
 								<?php if($content['type'] == 'document' || $modx->manager->action == '4') { ?>
867 867
 									<tr>
@@ -874,36 +874,36 @@  discard block
 block discarded – undo
874 874
 													<select id="which_editor" class="form-control form-control-sm" size="1" name="which_editor" onchange="changeRTE();">
875 875
 													<option value="none"><?= $_lang['none'] ?></option>
876 876
 														<?php
877
-														// invoke OnRichTextEditorRegister event
878
-														$evtOut = $modx->invokeEvent("OnRichTextEditorRegister");
879
-														if(is_array($evtOut)) {
880
-															for($i = 0; $i < count($evtOut); $i++) {
881
-																$editor = $evtOut[$i];
882
-																echo "\t\t\t", '<option value="', $editor, '"', ($modx->config['which_editor'] == $editor ? ' selected="selected"' : ''), '>', $editor, "</option>\n";
883
-															}
884
-														}
885
-														?>
877
+                                                        // invoke OnRichTextEditorRegister event
878
+                                                        $evtOut = $modx->invokeEvent("OnRichTextEditorRegister");
879
+                                                        if(is_array($evtOut)) {
880
+                                                            for($i = 0; $i < count($evtOut); $i++) {
881
+                                                                $editor = $evtOut[$i];
882
+                                                                echo "\t\t\t", '<option value="', $editor, '"', ($modx->config['which_editor'] == $editor ? ' selected="selected"' : ''), '>', $editor, "</option>\n";
883
+                                                            }
884
+                                                        }
885
+                                                        ?>
886 886
 													</select>
887 887
 												</label>
888 888
 											</div>
889 889
 											<div id="content_body">
890 890
 												<?php
891
-												if(($content['richtext'] == 1 || $modx->manager->action == '4') && $use_editor == 1) {
892
-													$htmlContent = $content['content'];
893
-													?>
891
+                                                if(($content['richtext'] == 1 || $modx->manager->action == '4') && $use_editor == 1) {
892
+                                                    $htmlContent = $content['content'];
893
+                                                    ?>
894 894
 													<div class="section-editor clearfix">
895 895
 														<textarea id="ta" name="ta" onchange="documentDirty=true;"><?= $modx->htmlspecialchars($htmlContent) ?></textarea>
896 896
 													</div>
897 897
 													<?php
898
-													// Richtext-[*content*]
899
-													$richtexteditorIds = array();
900
-													$richtexteditorOptions = array();
901
-													$richtexteditorIds[$modx->config['which_editor']][] = 'ta';
902
-													$richtexteditorOptions[$modx->config['which_editor']]['ta'] = '';
903
-												} else {
904
-													echo "\t" . '<div><textarea class="phptextarea" id="ta" name="ta" rows="20" wrap="soft" onchange="documentDirty=true;">', $modx->htmlspecialchars($content['content']), '</textarea></div>' . "\n";
905
-												}
906
-												?>
898
+                                                    // Richtext-[*content*]
899
+                                                    $richtexteditorIds = array();
900
+                                                    $richtexteditorOptions = array();
901
+                                                    $richtexteditorIds[$modx->config['which_editor']][] = 'ta';
902
+                                                    $richtexteditorOptions[$modx->config['which_editor']]['ta'] = '';
903
+                                                } else {
904
+                                                    echo "\t" . '<div><textarea class="phptextarea" id="ta" name="ta" rows="20" wrap="soft" onchange="documentDirty=true;">', $modx->htmlspecialchars($content['content']), '</textarea></div>' . "\n";
905
+                                                }
906
+                                                ?>
907 907
 											</div>
908 908
 										</td>
909 909
 									</tr>
@@ -1190,8 +1190,8 @@  discard block
 block discarded – undo
1190 1190
 
1191 1191
 								<?php
1192 1192
 
1193
-								if($_SESSION['mgrRole'] == 1 || $modx->manager->action != '27' || $_SESSION['mgrInternalKey'] == $content['createdby'] || $modx->hasPermission('change_resourcetype')) {
1194
-									?>
1193
+                                if($_SESSION['mgrRole'] == 1 || $modx->manager->action != '27' || $_SESSION['mgrInternalKey'] == $content['createdby'] || $modx->hasPermission('change_resourcetype')) {
1194
+                                    ?>
1195 1195
 									<tr>
1196 1196
 										<td>
1197 1197
 											<span class="warning"><?= $_lang['resource_type'] ?></span>
@@ -1213,15 +1213,15 @@  discard block
 block discarded – undo
1213 1213
 										<td>
1214 1214
 											<select name="contentType" class="inputBox" onchange="documentDirty=true;">
1215 1215
 												<?php
1216
-												if(!$content['contentType']) {
1217
-													$content['contentType'] = 'text/html';
1218
-												}
1219
-												$custom_contenttype = (isset ($custom_contenttype) ? $custom_contenttype : "text/html,text/plain,text/xml");
1220
-												$ct = explode(",", $custom_contenttype);
1221
-												for($i = 0; $i < count($ct); $i++) {
1222
-													echo "\t\t\t\t\t" . '<option value="' . $ct[$i] . '"' . ($content['contentType'] == $ct[$i] ? ' selected="selected"' : '') . '>' . $ct[$i] . "</option>\n";
1223
-												}
1224
-												?>
1216
+                                                if(!$content['contentType']) {
1217
+                                                    $content['contentType'] = 'text/html';
1218
+                                                }
1219
+                                                $custom_contenttype = (isset ($custom_contenttype) ? $custom_contenttype : "text/html,text/plain,text/xml");
1220
+                                                $ct = explode(",", $custom_contenttype);
1221
+                                                for($i = 0; $i < count($ct); $i++) {
1222
+                                                    echo "\t\t\t\t\t" . '<option value="' . $ct[$i] . '"' . ($content['contentType'] == $ct[$i] ? ' selected="selected"' : '') . '>' . $ct[$i] . "</option>\n";
1223
+                                                }
1224
+                                                ?>
1225 1225
 											</select>
1226 1226
 										</td>
1227 1227
 									</tr>
@@ -1244,23 +1244,23 @@  discard block
 block discarded – undo
1244 1244
 										</td>
1245 1245
 									</tr>
1246 1246
 									<?php
1247
-								} else {
1248
-									if($content['type'] != 'reference' && $modx->manager->action != '72') {
1249
-										// non-admin managers creating or editing a document resource
1250
-										?>
1247
+                                } else {
1248
+                                    if($content['type'] != 'reference' && $modx->manager->action != '72') {
1249
+                                        // non-admin managers creating or editing a document resource
1250
+                                        ?>
1251 1251
 										<input type="hidden" name="contentType" value="<?= (isset($content['contentType']) ? $content['contentType'] : "text/html") ?>" />
1252 1252
 										<input type="hidden" name="type" value="document" />
1253 1253
 										<input type="hidden" name="content_dispo" value="<?= (isset($content['content_dispo']) ? $content['content_dispo'] : '0') ?>" />
1254 1254
 										<?php
1255
-									} else {
1256
-										// non-admin managers creating or editing a reference (weblink) resource
1257
-										?>
1255
+                                    } else {
1256
+                                        // non-admin managers creating or editing a reference (weblink) resource
1257
+                                        ?>
1258 1258
 										<input type="hidden" name="type" value="reference" />
1259 1259
 										<input type="hidden" name="contentType" value="text/html" />
1260 1260
 										<?php
1261
-									}
1262
-								}//if mgrRole
1263
-								?>
1261
+                                    }
1262
+                                }//if mgrRole
1263
+                                ?>
1264 1264
 
1265 1265
 								<tr>
1266 1266
 									<td>
@@ -1343,112 +1343,112 @@  discard block
 block discarded – undo
1343 1343
                     ?>
1344 1344
 
1345 1345
 						<?php
1346
-					/*******************************
1346
+                    /*******************************
1347 1347
 					 * Document Access Permissions */
1348
-					if($use_udperms == 1) {
1349
-						$groupsarray = array();
1350
-						$sql = '';
1351
-
1352
-						$documentId = ($modx->manager->action == '27' ? $id : (!empty($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent']));
1353
-						if($documentId > 0) {
1354
-							// Load up, the permissions from the parent (if new document) or existing document
1355
-							$rs = $modx->db->select('id, document_group', $tbl_document_groups, "document='{$documentId}'");
1356
-							while($currentgroup = $modx->db->getRow($rs)) $groupsarray[] = $currentgroup['document_group'] . ',' . $currentgroup['id'];
1357
-
1358
-							// Load up the current permissions and names
1359
-							$vs = array(
1360
-								$tbl_document_group_names,
1361
-								$tbl_document_groups,
1362
-								$documentId
1363
-							);
1364
-							$from = vsprintf("%s AS dgn LEFT JOIN %s AS groups ON groups.document_group=dgn.id AND groups.document='%s'", $vs);
1365
-							$rs = $modx->db->select('dgn.*, groups.id AS link_id', $from, '', 'name');
1366
-						} else {
1367
-							// Just load up the names, we're starting clean
1368
-							$rs = $modx->db->select('*, NULL AS link_id', $tbl_document_group_names, '', 'name');
1369
-						}
1370
-
1371
-						// retain selected doc groups between post
1372
-						if(isset($_POST['docgroups'])) {
1373
-							$groupsarray = array_merge($groupsarray, $_POST['docgroups']);
1374
-						}
1348
+                    if($use_udperms == 1) {
1349
+                        $groupsarray = array();
1350
+                        $sql = '';
1351
+
1352
+                        $documentId = ($modx->manager->action == '27' ? $id : (!empty($_REQUEST['pid']) ? $_REQUEST['pid'] : $content['parent']));
1353
+                        if($documentId > 0) {
1354
+                            // Load up, the permissions from the parent (if new document) or existing document
1355
+                            $rs = $modx->db->select('id, document_group', $tbl_document_groups, "document='{$documentId}'");
1356
+                            while($currentgroup = $modx->db->getRow($rs)) $groupsarray[] = $currentgroup['document_group'] . ',' . $currentgroup['id'];
1357
+
1358
+                            // Load up the current permissions and names
1359
+                            $vs = array(
1360
+                                $tbl_document_group_names,
1361
+                                $tbl_document_groups,
1362
+                                $documentId
1363
+                            );
1364
+                            $from = vsprintf("%s AS dgn LEFT JOIN %s AS groups ON groups.document_group=dgn.id AND groups.document='%s'", $vs);
1365
+                            $rs = $modx->db->select('dgn.*, groups.id AS link_id', $from, '', 'name');
1366
+                        } else {
1367
+                            // Just load up the names, we're starting clean
1368
+                            $rs = $modx->db->select('*, NULL AS link_id', $tbl_document_group_names, '', 'name');
1369
+                        }
1370
+
1371
+                        // retain selected doc groups between post
1372
+                        if(isset($_POST['docgroups'])) {
1373
+                            $groupsarray = array_merge($groupsarray, $_POST['docgroups']);
1374
+                        }
1375
+
1376
+                        $isManager = $modx->hasPermission('access_permissions');
1377
+                        $isWeb = $modx->hasPermission('web_access_permissions');
1378
+
1379
+                        // Setup Basic attributes for each Input box
1380
+                        $inputAttributes = array(
1381
+                            'type' => 'checkbox',
1382
+                            'class' => 'checkbox',
1383
+                            'name' => 'docgroups[]',
1384
+                            'onclick' => 'makePublic(false);',
1385
+                        );
1386
+                        $permissions = array(); // New Permissions array list (this contains the HTML)
1387
+                        $permissions_yes = 0; // count permissions the current mgr user has
1388
+                        $permissions_no = 0; // count permissions the current mgr user doesn't have
1389
+
1390
+                        // Loop through the permissions list
1391
+                        while($row = $modx->db->getRow($rs)) {
1392
+
1393
+                            // Create an inputValue pair (group ID and group link (if it exists))
1394
+                            $inputValue = $row['id'] . ',' . ($row['link_id'] ? $row['link_id'] : 'new');
1395
+                            $inputId = 'group-' . $row['id'];
1396
+
1397
+                            $checked = in_array($inputValue, $groupsarray);
1398
+                            if($checked) {
1399
+                                $notPublic = true;
1400
+                            } // Mark as private access (either web or manager)
1401
+
1402
+                            // Skip the access permission if the user doesn't have access...
1403
+                            if((!$isManager && $row['private_memgroup'] == '1') || (!$isWeb && $row['private_webgroup'] == '1')) {
1404
+                                continue;
1405
+                            }
1375 1406
 
1376
-						$isManager = $modx->hasPermission('access_permissions');
1377
-						$isWeb = $modx->hasPermission('web_access_permissions');
1378
-
1379
-						// Setup Basic attributes for each Input box
1380
-						$inputAttributes = array(
1381
-							'type' => 'checkbox',
1382
-							'class' => 'checkbox',
1383
-							'name' => 'docgroups[]',
1384
-							'onclick' => 'makePublic(false);',
1385
-						);
1386
-						$permissions = array(); // New Permissions array list (this contains the HTML)
1387
-						$permissions_yes = 0; // count permissions the current mgr user has
1388
-						$permissions_no = 0; // count permissions the current mgr user doesn't have
1389
-
1390
-						// Loop through the permissions list
1391
-						while($row = $modx->db->getRow($rs)) {
1392
-
1393
-							// Create an inputValue pair (group ID and group link (if it exists))
1394
-							$inputValue = $row['id'] . ',' . ($row['link_id'] ? $row['link_id'] : 'new');
1395
-							$inputId = 'group-' . $row['id'];
1396
-
1397
-							$checked = in_array($inputValue, $groupsarray);
1398
-							if($checked) {
1399
-								$notPublic = true;
1400
-							} // Mark as private access (either web or manager)
1401
-
1402
-							// Skip the access permission if the user doesn't have access...
1403
-							if((!$isManager && $row['private_memgroup'] == '1') || (!$isWeb && $row['private_webgroup'] == '1')) {
1404
-								continue;
1405
-							}
1406
-
1407
-							// Setup attributes for this Input box
1408
-							$inputAttributes['id'] = $inputId;
1409
-							$inputAttributes['value'] = $inputValue;
1410
-							if($checked) {
1411
-								$inputAttributes['checked'] = 'checked';
1412
-							} else {
1413
-								unset($inputAttributes['checked']);
1414
-							}
1415
-
1416
-							// Create attribute string list
1417
-							$inputString = array();
1418
-							foreach($inputAttributes as $k => $v) $inputString[] = $k . '="' . $v . '"';
1419
-
1420
-							// Make the <input> HTML
1421
-							$inputHTML = '<input ' . implode(' ', $inputString) . ' />';
1422
-
1423
-							// does user have this permission?
1424
-							$from = "{$tbl_membergroup_access} AS mga, {$tbl_member_groups} AS mg";
1425
-							$vs = array(
1426
-								$row['id'],
1427
-								$_SESSION['mgrInternalKey']
1428
-							);
1429
-							$where = vsprintf("mga.membergroup=mg.user_group AND mga.documentgroup=%s AND mg.member=%s", $vs);
1430
-							$rsp = $modx->db->select('COUNT(mg.id)', $from, $where);
1431
-							$count = $modx->db->getValue($rsp);
1432
-							if($count > 0) {
1433
-								++$permissions_yes;
1434
-							} else {
1435
-								++$permissions_no;
1436
-							}
1437
-							$permissions[] = "\t\t" . '<li>' . $inputHTML . '<label for="' . $inputId . '">' . $row['name'] . '</label></li>';
1438
-						}
1439
-						// if mgr user doesn't have access to any of the displayable permissions, forget about them and make doc public
1440
-						if($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0)) {
1441
-							$permissions = array();
1442
-						}
1407
+                            // Setup attributes for this Input box
1408
+                            $inputAttributes['id'] = $inputId;
1409
+                            $inputAttributes['value'] = $inputValue;
1410
+                            if($checked) {
1411
+                                $inputAttributes['checked'] = 'checked';
1412
+                            } else {
1413
+                                unset($inputAttributes['checked']);
1414
+                            }
1443 1415
 
1444
-						// See if the Access Permissions section is worth displaying...
1445
-						if(!empty($permissions)) {
1446
-							// Add the "All Document Groups" item if we have rights in both contexts
1447
-							if($isManager && $isWeb) {
1448
-								array_unshift($permissions, "\t\t" . '<li><input type="checkbox" class="checkbox" name="chkalldocs" id="groupall"' . (!$notPublic ? ' checked="checked"' : '') . ' onclick="makePublic(true);" /><label for="groupall" class="warning">' . $_lang['all_doc_groups'] . '</label></li>');
1449
-							}
1450
-							// Output the permissions list...
1451
-							?>
1416
+                            // Create attribute string list
1417
+                            $inputString = array();
1418
+                            foreach($inputAttributes as $k => $v) $inputString[] = $k . '="' . $v . '"';
1419
+
1420
+                            // Make the <input> HTML
1421
+                            $inputHTML = '<input ' . implode(' ', $inputString) . ' />';
1422
+
1423
+                            // does user have this permission?
1424
+                            $from = "{$tbl_membergroup_access} AS mga, {$tbl_member_groups} AS mg";
1425
+                            $vs = array(
1426
+                                $row['id'],
1427
+                                $_SESSION['mgrInternalKey']
1428
+                            );
1429
+                            $where = vsprintf("mga.membergroup=mg.user_group AND mga.documentgroup=%s AND mg.member=%s", $vs);
1430
+                            $rsp = $modx->db->select('COUNT(mg.id)', $from, $where);
1431
+                            $count = $modx->db->getValue($rsp);
1432
+                            if($count > 0) {
1433
+                                ++$permissions_yes;
1434
+                            } else {
1435
+                                ++$permissions_no;
1436
+                            }
1437
+                            $permissions[] = "\t\t" . '<li>' . $inputHTML . '<label for="' . $inputId . '">' . $row['name'] . '</label></li>';
1438
+                        }
1439
+                        // if mgr user doesn't have access to any of the displayable permissions, forget about them and make doc public
1440
+                        if($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0)) {
1441
+                            $permissions = array();
1442
+                        }
1443
+
1444
+                        // See if the Access Permissions section is worth displaying...
1445
+                        if(!empty($permissions)) {
1446
+                            // Add the "All Document Groups" item if we have rights in both contexts
1447
+                            if($isManager && $isWeb) {
1448
+                                array_unshift($permissions, "\t\t" . '<li><input type="checkbox" class="checkbox" name="chkalldocs" id="groupall"' . (!$notPublic ? ' checked="checked"' : '') . ' onclick="makePublic(true);" /><label for="groupall" class="warning">' . $_lang['all_doc_groups'] . '</label></li>');
1449
+                            }
1450
+                            // Output the permissions list...
1451
+                            ?>
1452 1452
 							<!-- Access Permissions -->
1453 1453
 							<div class="tab-page" id="tabAccess">
1454 1454
 								<h2 class="tab" id="tab_access_header"><?= $_lang['access_permissions'] ?></h2>
@@ -1482,31 +1482,31 @@  discard block
 block discarded – undo
1482 1482
 								</ul>
1483 1483
 							</div><!--div class="tab-page" id="tabAccess"-->
1484 1484
 							<?php
1485
-						} // !empty($permissions)
1486
-						elseif($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0) && ($_SESSION['mgrPermissions']['access_permissions'] == 1 || $_SESSION['mgrPermissions']['web_access_permissions'] == 1)) {
1487
-							?>
1485
+                        } // !empty($permissions)
1486
+                        elseif($_SESSION['mgrRole'] != 1 && ($permissions_yes == 0 && $permissions_no > 0) && ($_SESSION['mgrPermissions']['access_permissions'] == 1 || $_SESSION['mgrPermissions']['web_access_permissions'] == 1)) {
1487
+                            ?>
1488 1488
 							<p><?= $_lang["access_permissions_docs_collision"] ?></p>
1489 1489
 							<?php
1490 1490
 
1491
-						}
1492
-					}
1493
-					/* End Document Access Permissions *
1491
+                        }
1492
+                    }
1493
+                    /* End Document Access Permissions *
1494 1494
 					 ***********************************/
1495
-					?>
1495
+                    ?>
1496 1496
 
1497 1497
 					<input type="submit" name="save" style="display:none" />
1498 1498
 					<?php
1499 1499
 
1500
-					// invoke OnDocFormRender event
1501
-					$evtOut = $modx->invokeEvent('OnDocFormRender', array(
1502
-						'id' => $id,
1503
-						'template' => $content['template']
1504
-					));
1500
+                    // invoke OnDocFormRender event
1501
+                    $evtOut = $modx->invokeEvent('OnDocFormRender', array(
1502
+                        'id' => $id,
1503
+                        'template' => $content['template']
1504
+                    ));
1505 1505
 
1506
-					if(is_array($evtOut)) {
1507
-						echo implode('', $evtOut);
1508
-					}
1509
-					?>
1506
+                    if(is_array($evtOut)) {
1507
+                        echo implode('', $evtOut);
1508
+                    }
1509
+                    ?>
1510 1510
 				</div><!--div class="tab-pane" id="documentPane"-->
1511 1511
 			</div><!--div class="sectionBody"-->
1512 1512
 		</fieldset>
@@ -1517,63 +1517,63 @@  discard block
 block discarded – undo
1517 1517
 	</script>
1518 1518
 <?php
1519 1519
 if(($content['richtext'] == 1 || $modx->manager->action == '4' || $modx->manager->action == '72') && $use_editor == 1) {
1520
-	if(is_array($richtexteditorIds)) {
1521
-		foreach($richtexteditorIds as $editor => $elements) {
1522
-			// invoke OnRichTextEditorInit event
1523
-			$evtOut = $modx->invokeEvent('OnRichTextEditorInit', array(
1524
-				'editor' => $editor,
1525
-				'elements' => $elements,
1526
-				'options' => $richtexteditorOptions[$editor]
1527
-			));
1528
-			if(is_array($evtOut)) {
1529
-				echo implode('', $evtOut);
1530
-			}
1531
-		}
1532
-	}
1520
+    if(is_array($richtexteditorIds)) {
1521
+        foreach($richtexteditorIds as $editor => $elements) {
1522
+            // invoke OnRichTextEditorInit event
1523
+            $evtOut = $modx->invokeEvent('OnRichTextEditorInit', array(
1524
+                'editor' => $editor,
1525
+                'elements' => $elements,
1526
+                'options' => $richtexteditorOptions[$editor]
1527
+            ));
1528
+            if(is_array($evtOut)) {
1529
+                echo implode('', $evtOut);
1530
+            }
1531
+        }
1532
+    }
1533 1533
 }
1534 1534
 
1535 1535
 /**
1536 1536
  * @return string
1537 1537
  */
1538 1538
 function getDefaultTemplate() {
1539
-	global $modx;
1539
+    global $modx;
1540 1540
 
1541 1541
     $default_template = '';
1542
-	switch($modx->config['auto_template_logic']) {
1543
-		case 'sibling':
1544
-			if(!isset($_GET['pid']) || empty($_GET['pid'])) {
1545
-				$site_start = $modx->config['site_start'];
1546
-				$where = "sc.isfolder=0 AND sc.id!='{$site_start}'";
1547
-				$sibl = $modx->getDocumentChildren($_REQUEST['pid'], 1, 0, 'template', $where, 'menuindex', 'ASC', 1);
1548
-				if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1549
-					$default_template = $sibl[0]['template'];
1550
-				}
1551
-			} else {
1552
-				$sibl = $modx->getDocumentChildren($_REQUEST['pid'], 1, 0, 'template', 'isfolder=0', 'menuindex', 'ASC', 1);
1553
-				if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1554
-					$default_template = $sibl[0]['template'];
1555
-				} else {
1556
-					$sibl = $modx->getDocumentChildren($_REQUEST['pid'], 0, 0, 'template', 'isfolder=0', 'menuindex', 'ASC', 1);
1557
-					if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1558
-						$default_template = $sibl[0]['template'];
1559
-					}
1560
-				}
1561
-			}
1562
-			if(isset($default_template)) {
1563
-				break;
1564
-			} // If $default_template could not be determined, fall back / through to "parent"-mode
1565
-		case 'parent':
1566
-			if(isset($_REQUEST['pid']) && !empty($_REQUEST['pid'])) {
1567
-				$parent = $modx->getPageInfo($_REQUEST['pid'], 0, 'template');
1568
-				if(isset($parent['template'])) {
1569
-					$default_template = $parent['template'];
1570
-				}
1571
-			}
1572
-			break;
1573
-		case 'system':
1574
-		default: // default_template is already set
1575
-			$default_template = $modx->config['default_template'];
1576
-	}
1577
-
1578
-	return empty($default_template) ? $modx->config['default_template'] : $default_template;
1542
+    switch($modx->config['auto_template_logic']) {
1543
+        case 'sibling':
1544
+            if(!isset($_GET['pid']) || empty($_GET['pid'])) {
1545
+                $site_start = $modx->config['site_start'];
1546
+                $where = "sc.isfolder=0 AND sc.id!='{$site_start}'";
1547
+                $sibl = $modx->getDocumentChildren($_REQUEST['pid'], 1, 0, 'template', $where, 'menuindex', 'ASC', 1);
1548
+                if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1549
+                    $default_template = $sibl[0]['template'];
1550
+                }
1551
+            } else {
1552
+                $sibl = $modx->getDocumentChildren($_REQUEST['pid'], 1, 0, 'template', 'isfolder=0', 'menuindex', 'ASC', 1);
1553
+                if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1554
+                    $default_template = $sibl[0]['template'];
1555
+                } else {
1556
+                    $sibl = $modx->getDocumentChildren($_REQUEST['pid'], 0, 0, 'template', 'isfolder=0', 'menuindex', 'ASC', 1);
1557
+                    if(isset($sibl[0]['template']) && $sibl[0]['template'] !== '') {
1558
+                        $default_template = $sibl[0]['template'];
1559
+                    }
1560
+                }
1561
+            }
1562
+            if(isset($default_template)) {
1563
+                break;
1564
+            } // If $default_template could not be determined, fall back / through to "parent"-mode
1565
+        case 'parent':
1566
+            if(isset($_REQUEST['pid']) && !empty($_REQUEST['pid'])) {
1567
+                $parent = $modx->getPageInfo($_REQUEST['pid'], 0, 'template');
1568
+                if(isset($parent['template'])) {
1569
+                    $default_template = $parent['template'];
1570
+                }
1571
+            }
1572
+            break;
1573
+        case 'system':
1574
+        default: // default_template is already set
1575
+            $default_template = $modx->config['default_template'];
1576
+    }
1577
+
1578
+    return empty($default_template) ? $modx->config['default_template'] : $default_template;
1579 1579
 }
Please login to merge, or discard this patch.
manager/actions/mutate_module.dynamic.php 1 patch
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -1,20 +1,20 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 switch($modx->manager->action) {
6
-	case 107:
7
-		if(!$modx->hasPermission('new_module')) {
8
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
9
-		}
10
-		break;
11
-	case 108:
12
-		if(!$modx->hasPermission('edit_module')) {
13
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
14
-		}
15
-		break;
16
-	default:
17
-		$modx->webAlertAndQuit($_lang["error_no_privileges"]);
6
+    case 107:
7
+        if(!$modx->hasPermission('new_module')) {
8
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
9
+        }
10
+        break;
11
+    case 108:
12
+        if(!$modx->hasPermission('edit_module')) {
13
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
14
+        }
15
+        break;
16
+    default:
17
+        $modx->webAlertAndQuit($_lang["error_no_privileges"]);
18 18
 }
19 19
 $id = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;
20 20
 // Get table names (alphabetical)
@@ -34,16 +34,16 @@  discard block
 block discarded – undo
34 34
  * @return string
35 35
  */
36 36
 function createGUID() {
37
-	srand((double) microtime() * 1000000);
38
-	$r = rand();
39
-	$u = uniqid(getmypid() . $r . (double) microtime() * 1000000, 1);
40
-	$m = md5($u);
41
-	return $m;
37
+    srand((double) microtime() * 1000000);
38
+    $r = rand();
39
+    $u = uniqid(getmypid() . $r . (double) microtime() * 1000000, 1);
40
+    $m = md5($u);
41
+    return $m;
42 42
 }
43 43
 
44 44
 // check to see the module editor isn't locked
45 45
 if($lockedEl = $modx->elementIsLocked(6, $id)) {
46
-	$modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['module']));
46
+    $modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['module']));
47 47
 }
48 48
 // end check for lock
49 49
 
@@ -51,22 +51,22 @@  discard block
 block discarded – undo
51 51
 $modx->lockElement(6, $id);
52 52
 
53 53
 if(isset($_GET['id'])) {
54
-	$rs = $modx->db->select('*', $tbl_site_modules, "id='{$id}'");
55
-	$content = $modx->db->getRow($rs);
56
-	if(!$content) {
57
-		$modx->webAlertAndQuit("Module not found for id '{$id}'.");
58
-	}
59
-	$content['properties'] = str_replace("&", "&amp;", $content['properties']);
60
-	$_SESSION['itemname'] = $content['name'];
61
-	if($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) {
62
-		$modx->webAlertAndQuit($_lang["error_no_privileges"]);
63
-	}
54
+    $rs = $modx->db->select('*', $tbl_site_modules, "id='{$id}'");
55
+    $content = $modx->db->getRow($rs);
56
+    if(!$content) {
57
+        $modx->webAlertAndQuit("Module not found for id '{$id}'.");
58
+    }
59
+    $content['properties'] = str_replace("&", "&amp;", $content['properties']);
60
+    $_SESSION['itemname'] = $content['name'];
61
+    if($content['locked'] == 1 && $_SESSION['mgrRole'] != 1) {
62
+        $modx->webAlertAndQuit($_lang["error_no_privileges"]);
63
+    }
64 64
 } else {
65
-	$_SESSION['itemname'] = $_lang["new_module"];
66
-	$content['wrap'] = '1';
65
+    $_SESSION['itemname'] = $_lang["new_module"];
66
+    $content['wrap'] = '1';
67 67
 }
68 68
 if($modx->manager->hasFormValues()) {
69
-	$modx->manager->loadFormValues();
69
+    $modx->manager->loadFormValues();
70 70
 }
71 71
 
72 72
 // Add lock-element JS-Script
@@ -437,18 +437,18 @@  discard block
 block discarded – undo
437 437
 
438 438
 <form name="mutate" id="mutate" class="module" method="post" action="index.php?a=109">
439 439
 	<?php
440
-	// invoke OnModFormPrerender event
441
-	$evtOut = $modx->invokeEvent('OnModFormPrerender', array('id' => $id));
442
-	if(is_array($evtOut)) {
443
-		echo implode('', $evtOut);
444
-	}
445
-
446
-	// Prepare internal params & info-tab via parseDocBlock
447
-	$modulecode = isset($content['modulecode']) ? $modx->db->escape($content['modulecode']) : '';
448
-	$docBlock = $modx->parseDocBlockFromString($modulecode);
449
-	$docBlockList = $modx->convertDocBlockIntoList($docBlock);
450
-	$internal = array();
451
-	?>
440
+    // invoke OnModFormPrerender event
441
+    $evtOut = $modx->invokeEvent('OnModFormPrerender', array('id' => $id));
442
+    if(is_array($evtOut)) {
443
+        echo implode('', $evtOut);
444
+    }
445
+
446
+    // Prepare internal params & info-tab via parseDocBlock
447
+    $modulecode = isset($content['modulecode']) ? $modx->db->escape($content['modulecode']) : '';
448
+    $docBlock = $modx->parseDocBlockFromString($modulecode);
449
+    $docBlockList = $modx->convertDocBlockIntoList($docBlock);
450
+    $internal = array();
451
+    ?>
452 452
 	<input type="hidden" name="id" value="<?= $content['id'] ?>">
453 453
 	<input type="hidden" name="mode" value="<?= $modx->manager->action ?>">
454 454
 
@@ -501,11 +501,11 @@  discard block
 block discarded – undo
501 501
 							<select name="categoryid" class="form-control" onchange="documentDirty=true;">
502 502
 								<option>&nbsp;</option>
503 503
 								<?php
504
-								include_once(MODX_MANAGER_PATH . 'includes/categories.inc.php');
505
-								foreach(getCategories() as $n => $v) {
506
-									echo "\t\t\t" . '<option value="' . $v['id'] . '"' . ($content['category'] == $v['id'] ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($v['category']) . "</option>\n";
507
-								}
508
-								?>
504
+                                include_once(MODX_MANAGER_PATH . 'includes/categories.inc.php');
505
+                                foreach(getCategories() as $n => $v) {
506
+                                    echo "\t\t\t" . '<option value="' . $v['id'] . '"' . ($content['category'] == $v['id'] ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($v['category']) . "</option>\n";
507
+                                }
508
+                                ?>
509 509
 							</select>
510 510
 						</div>
511 511
 					</div>
@@ -612,7 +612,7 @@  discard block
 block discarded – undo
612 612
 							<i class="<?= $_style["actions_save"] ?>"></i> <?= $_lang['manage_depends'] ?></a>
613 613
 					</div>
614 614
 					<?php
615
-					$ds = $modx->db->select("smd.id, COALESCE(ss.name,st.templatename,sv.name,sc.name,sp.name,sd.pagetitle) AS name, 
615
+                    $ds = $modx->db->select("smd.id, COALESCE(ss.name,st.templatename,sv.name,sc.name,sp.name,sd.pagetitle) AS name, 
616 616
 					CASE smd.type
617 617
 						WHEN 10 THEN 'Chunk'
618 618
 						WHEN 20 THEN 'Document'
@@ -628,17 +628,17 @@  discard block
 block discarded – undo
628 628
 						LEFT JOIN {$tbl_site_templates} AS st ON st.id = smd.resource AND smd.type = 50
629 629
 						LEFT JOIN {$tbl_site_tmplvars} AS sv ON sv.id = smd.resource AND smd.type = 60", "smd.module='{$id}'", 'smd.type,name');
630 630
 
631
-					include_once MODX_MANAGER_PATH . "includes/controls/datagrid.class.php";
632
-					$grd = new DataGrid('', $ds, 0); // set page size to 0 t show all items
633
-					$grd->noRecordMsg = $_lang['no_records_found'];
634
-					$grd->cssClass = 'grid';
635
-					$grd->columnHeaderClass = 'gridHeader';
636
-					$grd->itemClass = 'gridItem';
637
-					$grd->altItemClass = 'gridAltItem';
638
-					$grd->columns = $_lang['element_name'] . " ," . $_lang['type'];
639
-					$grd->fields = "name,type";
640
-					echo $grd->render();
641
-					?>
631
+                    include_once MODX_MANAGER_PATH . "includes/controls/datagrid.class.php";
632
+                    $grd = new DataGrid('', $ds, 0); // set page size to 0 t show all items
633
+                    $grd->noRecordMsg = $_lang['no_records_found'];
634
+                    $grd->cssClass = 'grid';
635
+                    $grd->columnHeaderClass = 'gridHeader';
636
+                    $grd->itemClass = 'gridItem';
637
+                    $grd->altItemClass = 'gridAltItem';
638
+                    $grd->columns = $_lang['element_name'] . " ," . $_lang['type'];
639
+                    $grd->fields = "name,type";
640
+                    echo $grd->render();
641
+                    ?>
642 642
 				</div>
643 643
 			</div>
644 644
 		<?php endif; ?>
@@ -650,12 +650,12 @@  discard block
 block discarded – undo
650 650
 			<div class="container container-body">
651 651
 				<?php if($use_udperms == 1) : ?>
652 652
 					<?php
653
-					// fetch user access permissions for the module
654
-					$rs = $modx->db->select('usergroup', $tbl_site_module_access, "module='{$id}'");
655
-					$groupsarray = $modx->db->getColumn('usergroup', $rs);
653
+                    // fetch user access permissions for the module
654
+                    $rs = $modx->db->select('usergroup', $tbl_site_module_access, "module='{$id}'");
655
+                    $groupsarray = $modx->db->getColumn('usergroup', $rs);
656 656
 
657
-					if($modx->hasPermission('access_permissions')) {
658
-						?>
657
+                    if($modx->hasPermission('access_permissions')) {
658
+                        ?>
659 659
 						<!-- User Group Access Permissions -->
660 660
 						<script type="text/javascript">
661 661
 							function makePublic(b) {
@@ -679,28 +679,28 @@  discard block
 block discarded – undo
679 679
 						</script>
680 680
 						<p><?= $_lang['module_group_access_msg'] ?></p>
681 681
 						<?php
682
-					}
683
-					$chk = '';
684
-					$rs = $modx->db->select('name, id', $tbl_membergroup_names, '', 'name');
685
-					while($row = $modx->db->getRow($rs)) {
686
-						$groupsarray = is_numeric($id) && $id > 0 ? $groupsarray : array();
687
-						$checked = in_array($row['id'], $groupsarray);
688
-						if($modx->hasPermission('access_permissions')) {
689
-							if($checked) {
690
-								$notPublic = true;
691
-							}
692
-							$chks .= '<label><input type="checkbox" name="usrgroups[]" value="' . $row['id'] . '"' . ($checked ? ' checked="checked"' : '') . ' onclick="makePublic(false)" /> ' . $row['name'] . "</label><br />\n";
693
-						} else {
694
-							if($checked) {
695
-								$chks = '<input type="hidden" name="usrgroups[]"  value="' . $row['id'] . '" />' . "\n" . $chks;
696
-							}
697
-						}
698
-					}
699
-					if($modx->hasPermission('access_permissions')) {
700
-						$chks = '<label><input type="checkbox" name="chkallgroups"' . (!$notPublic ? ' checked="checked"' : '') . ' onclick="makePublic(true)" /><span class="warning"> ' . $_lang['all_usr_groups'] . '</span></label><br />' . "\n" . $chks;
701
-					}
702
-					echo $chks;
703
-					?>
682
+                    }
683
+                    $chk = '';
684
+                    $rs = $modx->db->select('name, id', $tbl_membergroup_names, '', 'name');
685
+                    while($row = $modx->db->getRow($rs)) {
686
+                        $groupsarray = is_numeric($id) && $id > 0 ? $groupsarray : array();
687
+                        $checked = in_array($row['id'], $groupsarray);
688
+                        if($modx->hasPermission('access_permissions')) {
689
+                            if($checked) {
690
+                                $notPublic = true;
691
+                            }
692
+                            $chks .= '<label><input type="checkbox" name="usrgroups[]" value="' . $row['id'] . '"' . ($checked ? ' checked="checked"' : '') . ' onclick="makePublic(false)" /> ' . $row['name'] . "</label><br />\n";
693
+                        } else {
694
+                            if($checked) {
695
+                                $chks = '<input type="hidden" name="usrgroups[]"  value="' . $row['id'] . '" />' . "\n" . $chks;
696
+                            }
697
+                        }
698
+                    }
699
+                    if($modx->hasPermission('access_permissions')) {
700
+                        $chks = '<label><input type="checkbox" name="chkallgroups"' . (!$notPublic ? ' checked="checked"' : '') . ' onclick="makePublic(true)" /><span class="warning"> ' . $_lang['all_usr_groups'] . '</span></label><br />' . "\n" . $chks;
701
+                    }
702
+                    echo $chks;
703
+                    ?>
704 704
 				<?php endif; ?>
705 705
 			</div>
706 706
 		</div>
@@ -716,11 +716,11 @@  discard block
 block discarded – undo
716 716
 
717 717
 		<input type="submit" name="save" style="display:none;">
718 718
 		<?php
719
-		// invoke OnModFormRender event
720
-		$evtOut = $modx->invokeEvent('OnModFormRender', array('id' => $id));
721
-		if(is_array($evtOut)) {
722
-			echo implode('', $evtOut);
723
-		}
724
-		?>
719
+        // invoke OnModFormRender event
720
+        $evtOut = $modx->invokeEvent('OnModFormRender', array('id' => $id));
721
+        if(is_array($evtOut)) {
722
+            echo implode('', $evtOut);
723
+        }
724
+        ?>
725 725
 </form>
726 726
 <script type="text/javascript">setTimeout('showParameters();', 10);</script>
Please login to merge, or discard this patch.
manager/actions/import_site.static.php 1 patch
Indentation   +333 added lines, -333 removed lines patch added patch discarded remove patch
@@ -1,17 +1,17 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 if(!$modx->hasPermission('import_static')) {
6
-	$modx->webAlertAndQuit($_lang["error_no_privileges"]);
6
+    $modx->webAlertAndQuit($_lang["error_no_privileges"]);
7 7
 }
8 8
 
9 9
 // Files to upload
10 10
 $allowedfiles = array(
11
-	'html',
12
-	'htm',
13
-	'shtml',
14
-	'xml'
11
+    'html',
12
+    'htm',
13
+    'shtml',
14
+    'xml'
15 15
 );
16 16
 ?>
17 17
 	<script language="javascript">
@@ -43,9 +43,9 @@  discard block
 block discarded – undo
43 43
 	<div class="tab-page">
44 44
 		<div class="container container-body">
45 45
 			<?php
46
-			if(!isset($_POST['import'])) {
47
-				echo "<div class=\"element-edit-message\">" . $_lang['import_site_message'] . "</div>";
48
-				?>
46
+            if(!isset($_POST['import'])) {
47
+                echo "<div class=\"element-edit-message\">" . $_lang['import_site_message'] . "</div>";
48
+                ?>
49 49
 				<form action="index.php" method="post" name="importFrm">
50 50
 					<input type="hidden" name="import" value="import" />
51 51
 					<input type="hidden" name="a" value="95" />
@@ -85,18 +85,18 @@  discard block
 block discarded – undo
85 85
 					<a href="javascript:;" class="btn btn-primary" onclick="window.importFrm.submit();"><i class="<?= $_style["actions_save"] ?>"></i> <?= $_lang["import_site_start"] ?></a>
86 86
 				</form>
87 87
 			<?php
88
-			} else {
89
-			run();
90
-			$modx->clearCache('full');
91
-			?>
88
+            } else {
89
+            run();
90
+            $modx->clearCache('full');
91
+            ?>
92 92
 				<a href="javascript:;" class="btn btn-primary" onclick="window.location.href='index.php?a=2';"><i class="<?= $_style["actions_close"] ?>"></i> <?= $_lang["close"] ?></a>
93 93
 				<script type="text/javascript">
94 94
 					top.mainMenu.reloadtree();
95 95
 					parent.tree.ca = 'open';
96 96
 				</script>
97 97
 				<?php
98
-			}
99
-			?>
98
+            }
99
+            ?>
100 100
 		</div>
101 101
 	</div>
102 102
 
@@ -105,64 +105,64 @@  discard block
 block discarded – undo
105 105
  * @return string
106 106
  */
107 107
 function run() {
108
-	global $modx, $_lang;
108
+    global $modx, $_lang;
109 109
 
110
-	$tbl_site_content = $modx->getFullTableName('site_content');
111
-	$output = '';
112
-	$maxtime = $_POST['maxtime'];
110
+    $tbl_site_content = $modx->getFullTableName('site_content');
111
+    $output = '';
112
+    $maxtime = $_POST['maxtime'];
113 113
 
114
-	if(!is_numeric($maxtime)) {
115
-		$maxtime = 30;
116
-	}
114
+    if(!is_numeric($maxtime)) {
115
+        $maxtime = 30;
116
+    }
117 117
 
118
-	@set_time_limit($maxtime);
118
+    @set_time_limit($maxtime);
119 119
 
120
-	$mtime = microtime();
121
-	$mtime = explode(' ', $mtime);
122
-	$mtime = $mtime[1] + $mtime[0];
123
-	$importstart = $mtime;
120
+    $mtime = microtime();
121
+    $mtime = explode(' ', $mtime);
122
+    $mtime = $mtime[1] + $mtime[0];
123
+    $importstart = $mtime;
124 124
 
125
-	if($_POST['reset'] == 'on') {
126
-		$modx->db->truncate($tbl_site_content);
127
-		$modx->db->query("ALTER TABLE {$tbl_site_content} AUTO_INCREMENT = 1");
128
-	}
125
+    if($_POST['reset'] == 'on') {
126
+        $modx->db->truncate($tbl_site_content);
127
+        $modx->db->query("ALTER TABLE {$tbl_site_content} AUTO_INCREMENT = 1");
128
+    }
129 129
 
130
-	$parent = (int)$_POST['parent'];
130
+    $parent = (int)$_POST['parent'];
131 131
 
132
-	if(is_dir(MODX_BASE_PATH . 'temp/import')) {
133
-		$filedir = MODX_BASE_PATH . 'temp/import/';
134
-	} elseif(is_dir(MODX_BASE_PATH . 'assets/import')) {
135
-		$filedir = MODX_BASE_PATH . 'assets/import/';
136
-	} else {
132
+    if(is_dir(MODX_BASE_PATH . 'temp/import')) {
133
+        $filedir = MODX_BASE_PATH . 'temp/import/';
134
+    } elseif(is_dir(MODX_BASE_PATH . 'assets/import')) {
135
+        $filedir = MODX_BASE_PATH . 'assets/import/';
136
+    } else {
137 137
         $filedir = '';
138 138
     }
139 139
 
140
-	$filesfound = 0;
140
+    $filesfound = 0;
141 141
 
142
-	$files = getFiles($filedir);
143
-	$files = pop_index($files);
142
+    $files = getFiles($filedir);
143
+    $files = pop_index($files);
144 144
 
145
-	// no. of files to import
146
-	$output .= sprintf('<p>' . $_lang['import_files_found'] . '</p>', $filesfound);
145
+    // no. of files to import
146
+    $output .= sprintf('<p>' . $_lang['import_files_found'] . '</p>', $filesfound);
147 147
 
148
-	// import files
149
-	if(0 < count($files)) {
150
-		$modx->db->update(array('isfolder' => 1), $tbl_site_content, "id='{$parent}'");
151
-		importFiles($parent, $filedir, $files, 'root');
152
-	}
148
+    // import files
149
+    if(0 < count($files)) {
150
+        $modx->db->update(array('isfolder' => 1), $tbl_site_content, "id='{$parent}'");
151
+        importFiles($parent, $filedir, $files, 'root');
152
+    }
153 153
 
154
-	$mtime = microtime();
155
-	$mtime = explode(' ', $mtime);
156
-	$mtime = $mtime[1] + $mtime[0];
157
-	$importend = $mtime;
158
-	$totaltime = ($importend - $importstart);
159
-	$output .= sprintf('<p>' . $_lang['import_site_time'] . '</p>', round($totaltime, 3));
154
+    $mtime = microtime();
155
+    $mtime = explode(' ', $mtime);
156
+    $mtime = $mtime[1] + $mtime[0];
157
+    $importend = $mtime;
158
+    $totaltime = ($importend - $importstart);
159
+    $output .= sprintf('<p>' . $_lang['import_site_time'] . '</p>', round($totaltime, 3));
160 160
 
161
-	if($_POST['convert_link'] == 'on') {
162
-		convertLink();
163
-	}
161
+    if($_POST['convert_link'] == 'on') {
162
+        convertLink();
163
+    }
164 164
 
165
-	return $output;
165
+    return $output;
166 166
 }
167 167
 
168 168
 /**
@@ -172,144 +172,144 @@  discard block
 block discarded – undo
172 172
  * @param string $mode
173 173
  */
174 174
 function importFiles($parent, $filedir, $files, $mode) {
175
-	global $modx;
176
-	global $_lang, $allowedfiles;
177
-	global $search_default, $cache_default, $publish_default;
178
-
179
-	$tbl_site_content = $modx->getFullTableName('site_content');
180
-	$tbl_system_settings = $modx->getFullTableName('system_settings');
181
-
182
-	$createdby = $modx->getLoginUserID();
183
-	if(!is_array($files)) {
184
-		return;
185
-	}
186
-	if($_POST['object'] === 'all') {
187
-		$modx->config['default_template'] = '0';
188
-		$richtext = '0';
189
-	} else {
190
-		$richtext = '1';
191
-	}
192
-
193
-	foreach($files as $id => $value) {
194
-		if(is_array($value)) {
195
-			// create folder
196
-			$alias = $id;
197
-			printf('<span>' . $_lang['import_site_importing_document'] . '</span>', $alias);
198
-			$field = array();
199
-			$field['type'] = 'document';
200
-			$field['contentType'] = 'text/html';
201
-			$field['published'] = $publish_default;
202
-			$field['parent'] = $parent;
203
-			$field['alias'] = $modx->stripAlias($alias);
204
-			$field['richtext'] = $richtext;
205
-			$field['template'] = $modx->config['default_template'];
206
-			$field['searchable'] = $search_default;
207
-			$field['cacheable'] = $cache_default;
208
-			$field['createdby'] = $createdby;
209
-			$field['isfolder'] = 1;
210
-			$field['menuindex'] = 1;
211
-			$find = false;
212
-			foreach(array(
213
-						'index.html',
214
-						'index.htm'
215
-					) as $filename) {
216
-				$filepath = $filedir . $alias . '/' . $filename;
217
-				if($find === false && file_exists($filepath)) {
218
-					$file = getFileContent($filepath);
219
-					list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
220
-
221
-					$date = filemtime($filepath);
222
-					$field['pagetitle'] = $pagetitle;
223
-					$field['longtitle'] = $pagetitle;
224
-					$field['description'] = $description;
225
-					$field['content'] = $modx->db->escape($content);
226
-					$field['createdon'] = $date;
227
-					$field['editedon'] = $date;
228
-					$newid = $modx->db->insert($field, $tbl_site_content);
229
-					if($newid) {
230
-						$find = true;
231
-						echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
232
-						importFiles($newid, $filedir . $alias . '/', $value, 'sub');
233
-					} else {
234
-						echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
235
-						exit;
236
-					}
237
-				}
238
-			}
239
-			if($find === false) {
240
-				$date = time();
241
-				$field['pagetitle'] = '---';
242
-				$field['content'] = '';
243
-				$field['createdon'] = $date;
244
-				$field['editedon'] = $date;
245
-				$field['hidemenu'] = '1';
246
-				$newid = $modx->db->insert($field, $tbl_site_content);
247
-				if($newid) {
248
-					$find = true;
249
-					echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
250
-					importFiles($newid, $filedir . $alias . '/', $value, 'sub');
251
-				} else {
252
-					echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
253
-					exit;
254
-				}
255
-			}
256
-		} else {
257
-			// create document
258
-			if($mode == 'sub' && $value == 'index.html') {
259
-				continue;
260
-			}
261
-			$filename = $value;
262
-			$fparts = explode('.', $value);
263
-			$alias = $fparts[0];
264
-			$ext = (count($fparts) > 1) ? $fparts[count($fparts) - 1] : "";
265
-			printf("<span>" . $_lang['import_site_importing_document'] . "</span>", $filename);
266
-
267
-			if(!in_array($ext, $allowedfiles)) {
268
-				echo ' - <span class="fail">' . $_lang["import_site_skip"] . '</span><br />' . "\n";
269
-			} else {
270
-				$filepath = $filedir . $filename;
271
-				$file = getFileContent($filepath);
272
-				list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
273
-
274
-				$date = filemtime($filepath);
275
-				$field = array();
276
-				$field['type'] = 'document';
277
-				$field['contentType'] = 'text/html';
278
-				$field['pagetitle'] = $pagetitle;
279
-				$field['longtitle'] = $pagetitle;
280
-				$field['description'] = $description;
281
-				$field['alias'] = $modx->stripAlias($alias);
282
-				$field['published'] = $publish_default;
283
-				$field['parent'] = $parent;
284
-				$field['content'] = $modx->db->escape($content);
285
-				$field['richtext'] = $richtext;
286
-				$field['template'] = $modx->config['default_template'];
287
-				$field['searchable'] = $search_default;
288
-				$field['cacheable'] = $cache_default;
289
-				$field['createdby'] = $createdby;
290
-				$field['createdon'] = $date;
291
-				$field['editedon'] = $date;
292
-				$field['isfolder'] = 0;
293
-				$field['menuindex'] = ($alias == 'index') ? 0 : 2;
294
-				$newid = $modx->db->insert($field, $tbl_site_content);
295
-				if($newid) {
296
-					echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
297
-				} else {
298
-					echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
299
-					exit;
300
-				}
301
-
302
-				$is_site_start = false;
303
-				if($filename == 'index.html') {
304
-					$is_site_start = true;
305
-				}
306
-				if($is_site_start == true && $_POST['reset'] == 'on') {
307
-					$modx->db->update(array('setting_value' => $newid), $tbl_system_settings, "setting_name='site_start'");
308
-					$modx->db->update(array('menuindex' => 0), $tbl_site_content, "id='{$newid}'");
309
-				}
310
-			}
311
-		}
312
-	}
175
+    global $modx;
176
+    global $_lang, $allowedfiles;
177
+    global $search_default, $cache_default, $publish_default;
178
+
179
+    $tbl_site_content = $modx->getFullTableName('site_content');
180
+    $tbl_system_settings = $modx->getFullTableName('system_settings');
181
+
182
+    $createdby = $modx->getLoginUserID();
183
+    if(!is_array($files)) {
184
+        return;
185
+    }
186
+    if($_POST['object'] === 'all') {
187
+        $modx->config['default_template'] = '0';
188
+        $richtext = '0';
189
+    } else {
190
+        $richtext = '1';
191
+    }
192
+
193
+    foreach($files as $id => $value) {
194
+        if(is_array($value)) {
195
+            // create folder
196
+            $alias = $id;
197
+            printf('<span>' . $_lang['import_site_importing_document'] . '</span>', $alias);
198
+            $field = array();
199
+            $field['type'] = 'document';
200
+            $field['contentType'] = 'text/html';
201
+            $field['published'] = $publish_default;
202
+            $field['parent'] = $parent;
203
+            $field['alias'] = $modx->stripAlias($alias);
204
+            $field['richtext'] = $richtext;
205
+            $field['template'] = $modx->config['default_template'];
206
+            $field['searchable'] = $search_default;
207
+            $field['cacheable'] = $cache_default;
208
+            $field['createdby'] = $createdby;
209
+            $field['isfolder'] = 1;
210
+            $field['menuindex'] = 1;
211
+            $find = false;
212
+            foreach(array(
213
+                        'index.html',
214
+                        'index.htm'
215
+                    ) as $filename) {
216
+                $filepath = $filedir . $alias . '/' . $filename;
217
+                if($find === false && file_exists($filepath)) {
218
+                    $file = getFileContent($filepath);
219
+                    list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
220
+
221
+                    $date = filemtime($filepath);
222
+                    $field['pagetitle'] = $pagetitle;
223
+                    $field['longtitle'] = $pagetitle;
224
+                    $field['description'] = $description;
225
+                    $field['content'] = $modx->db->escape($content);
226
+                    $field['createdon'] = $date;
227
+                    $field['editedon'] = $date;
228
+                    $newid = $modx->db->insert($field, $tbl_site_content);
229
+                    if($newid) {
230
+                        $find = true;
231
+                        echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
232
+                        importFiles($newid, $filedir . $alias . '/', $value, 'sub');
233
+                    } else {
234
+                        echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
235
+                        exit;
236
+                    }
237
+                }
238
+            }
239
+            if($find === false) {
240
+                $date = time();
241
+                $field['pagetitle'] = '---';
242
+                $field['content'] = '';
243
+                $field['createdon'] = $date;
244
+                $field['editedon'] = $date;
245
+                $field['hidemenu'] = '1';
246
+                $newid = $modx->db->insert($field, $tbl_site_content);
247
+                if($newid) {
248
+                    $find = true;
249
+                    echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
250
+                    importFiles($newid, $filedir . $alias . '/', $value, 'sub');
251
+                } else {
252
+                    echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
253
+                    exit;
254
+                }
255
+            }
256
+        } else {
257
+            // create document
258
+            if($mode == 'sub' && $value == 'index.html') {
259
+                continue;
260
+            }
261
+            $filename = $value;
262
+            $fparts = explode('.', $value);
263
+            $alias = $fparts[0];
264
+            $ext = (count($fparts) > 1) ? $fparts[count($fparts) - 1] : "";
265
+            printf("<span>" . $_lang['import_site_importing_document'] . "</span>", $filename);
266
+
267
+            if(!in_array($ext, $allowedfiles)) {
268
+                echo ' - <span class="fail">' . $_lang["import_site_skip"] . '</span><br />' . "\n";
269
+            } else {
270
+                $filepath = $filedir . $filename;
271
+                $file = getFileContent($filepath);
272
+                list($pagetitle, $content, $description) = treatContent($file, $filename, $alias);
273
+
274
+                $date = filemtime($filepath);
275
+                $field = array();
276
+                $field['type'] = 'document';
277
+                $field['contentType'] = 'text/html';
278
+                $field['pagetitle'] = $pagetitle;
279
+                $field['longtitle'] = $pagetitle;
280
+                $field['description'] = $description;
281
+                $field['alias'] = $modx->stripAlias($alias);
282
+                $field['published'] = $publish_default;
283
+                $field['parent'] = $parent;
284
+                $field['content'] = $modx->db->escape($content);
285
+                $field['richtext'] = $richtext;
286
+                $field['template'] = $modx->config['default_template'];
287
+                $field['searchable'] = $search_default;
288
+                $field['cacheable'] = $cache_default;
289
+                $field['createdby'] = $createdby;
290
+                $field['createdon'] = $date;
291
+                $field['editedon'] = $date;
292
+                $field['isfolder'] = 0;
293
+                $field['menuindex'] = ($alias == 'index') ? 0 : 2;
294
+                $newid = $modx->db->insert($field, $tbl_site_content);
295
+                if($newid) {
296
+                    echo ' - <span class="success">' . $_lang['import_site_success'] . '</span><br />' . "\n";
297
+                } else {
298
+                    echo '<span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_db_error"] . $modx->db->getLastError();
299
+                    exit;
300
+                }
301
+
302
+                $is_site_start = false;
303
+                if($filename == 'index.html') {
304
+                    $is_site_start = true;
305
+                }
306
+                if($is_site_start == true && $_POST['reset'] == 'on') {
307
+                    $modx->db->update(array('setting_value' => $newid), $tbl_system_settings, "setting_name='site_start'");
308
+                    $modx->db->update(array('menuindex' => 0), $tbl_site_content, "id='{$newid}'");
309
+                }
310
+            }
311
+        }
312
+    }
313 313
 }
314 314
 
315 315
 /**
@@ -319,27 +319,27 @@  discard block
 block discarded – undo
319 319
  * @return array
320 320
  */
321 321
 function getFiles($directory, $listing = array(), $count = 0) {
322
-	global $_lang;
323
-	global $filesfound;
324
-	$dummy = $count;
325
-	if( ! empty($directory) && $files = scandir($directory)) {
326
-		foreach($files as $file) {
327
-			if($file == '.' || $file == '..') {
328
-				continue;
329
-			} elseif($h = @opendir($directory . $file . "/")) {
330
-				closedir($h);
331
-				$count = -1;
332
-				$listing[$file] = getFiles($directory . $file . "/", array(), $count + 1);
333
-			} elseif(strpos($file, '.htm') !== false) {
334
-				$listing[$dummy] = $file;
335
-				$dummy = $dummy + 1;
336
-				$filesfound++;
337
-			}
338
-		}
339
-	} else {
340
-		echo '<p><span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_no_open_dir"] . $directory . ".</p>";
341
-	}
342
-	return ($listing);
322
+    global $_lang;
323
+    global $filesfound;
324
+    $dummy = $count;
325
+    if( ! empty($directory) && $files = scandir($directory)) {
326
+        foreach($files as $file) {
327
+            if($file == '.' || $file == '..') {
328
+                continue;
329
+            } elseif($h = @opendir($directory . $file . "/")) {
330
+                closedir($h);
331
+                $count = -1;
332
+                $listing[$file] = getFiles($directory . $file . "/", array(), $count + 1);
333
+            } elseif(strpos($file, '.htm') !== false) {
334
+                $listing[$dummy] = $file;
335
+                $dummy = $dummy + 1;
336
+                $filesfound++;
337
+            }
338
+        }
339
+    } else {
340
+        echo '<p><span class="fail">' . $_lang["import_site_failed"] . "</span> " . $_lang["import_site_failed_no_open_dir"] . $directory . ".</p>";
341
+    }
342
+    return ($listing);
343 343
 }
344 344
 
345 345
 /**
@@ -347,13 +347,13 @@  discard block
 block discarded – undo
347 347
  * @return bool|string
348 348
  */
349 349
 function getFileContent($filepath) {
350
-	global $_lang;
351
-	// get the file
352
-	if(!$buffer = file_get_contents($filepath)) {
353
-		echo '<p><span class="fail">' . $_lang['import_site_failed'] . "</span> " . $_lang["import_site_failed_no_retrieve_file"] . $filepath . ".</p>";
354
-	} else {
355
-		return $buffer;
356
-	}
350
+    global $_lang;
351
+    // get the file
352
+    if(!$buffer = file_get_contents($filepath)) {
353
+        echo '<p><span class="fail">' . $_lang['import_site_failed'] . "</span> " . $_lang["import_site_failed_no_retrieve_file"] . $filepath . ".</p>";
354
+    } else {
355
+        return $buffer;
356
+    }
357 357
 }
358 358
 
359 359
 /**
@@ -361,20 +361,20 @@  discard block
 block discarded – undo
361 361
  * @return array
362 362
  */
363 363
 function pop_index($array) {
364
-	$new_array = array();
365
-	foreach($array as $k => $v) {
366
-		if($v !== 'index.html' && $v !== 'index.htm') {
367
-			$new_array[$k] = $v;
368
-		} else {
369
-			array_unshift($new_array, $v);
370
-		}
371
-	}
372
-	foreach($array as $k => $v) {
373
-		if(is_array($v)) {
374
-			$new_array[$k] = $v;
375
-		}
376
-	}
377
-	return $new_array;
364
+    $new_array = array();
365
+    foreach($array as $k => $v) {
366
+        if($v !== 'index.html' && $v !== 'index.htm') {
367
+            $new_array[$k] = $v;
368
+        } else {
369
+            array_unshift($new_array, $v);
370
+        }
371
+    }
372
+    foreach($array as $k => $v) {
373
+        if(is_array($v)) {
374
+            $new_array[$k] = $v;
375
+        }
376
+    }
377
+    return $new_array;
378 378
 }
379 379
 
380 380
 /**
@@ -384,108 +384,108 @@  discard block
 block discarded – undo
384 384
  * @return array
385 385
  */
386 386
 function treatContent($src, $filename, $alias) {
387
-	global $modx;
388
-
389
-	$src = mb_convert_encoding($src, $modx->config['modx_charset'], 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,ASCII');
390
-
391
-	if(preg_match("@<title>(.*)</title>@i", $src, $matches)) {
392
-		$pagetitle = ($matches[1] !== '') ? $matches[1] : $filename;
393
-		$pagetitle = str_replace('[*pagetitle*]', '', $pagetitle);
394
-	} else {
395
-		$pagetitle = $alias;
396
-	}
397
-	if(!$pagetitle) {
398
-		$pagetitle = $alias;
399
-	}
400
-
401
-	if(preg_match('@<meta[^>]+"description"[^>]+content=[\'"](.*)[\'"].+>@i', $src, $matches)) {
402
-		$description = ($matches[1] !== '') ? $matches[1] : $filename;
403
-		$description = str_replace('[*description*]', '', $description);
404
-	} else {
405
-		$description = '';
406
-	}
407
-
408
-	if((preg_match("@<body[^>]*>(.*)[^<]+</body>@is", $src, $matches)) && $_POST['object'] == 'body') {
409
-		$content = $matches[1];
410
-	} else {
411
-		$content = $src;
412
-		$s = '/(<meta[^>]+charset\s*=)[^>"\'=]+(.+>)/i';
413
-		$r = '$1' . $modx->config['modx_charset'] . '$2';
414
-		$content = preg_replace($s, $r, $content);
415
-		$content = preg_replace('@<title>.*</title>@i', "<title>[*pagetitle*]</title>", $content);
416
-	}
417
-	$content = str_replace('[*content*]', '[ *content* ]', $content);
418
-	$content = trim($content);
419
-	$pagetitle = $modx->db->escape($pagetitle);
420
-	return array(
421
-		$pagetitle,
422
-		$content,
423
-		$description
424
-	);
387
+    global $modx;
388
+
389
+    $src = mb_convert_encoding($src, $modx->config['modx_charset'], 'UTF-8,SJIS-win,eucJP-win,SJIS,EUC-JP,ASCII');
390
+
391
+    if(preg_match("@<title>(.*)</title>@i", $src, $matches)) {
392
+        $pagetitle = ($matches[1] !== '') ? $matches[1] : $filename;
393
+        $pagetitle = str_replace('[*pagetitle*]', '', $pagetitle);
394
+    } else {
395
+        $pagetitle = $alias;
396
+    }
397
+    if(!$pagetitle) {
398
+        $pagetitle = $alias;
399
+    }
400
+
401
+    if(preg_match('@<meta[^>]+"description"[^>]+content=[\'"](.*)[\'"].+>@i', $src, $matches)) {
402
+        $description = ($matches[1] !== '') ? $matches[1] : $filename;
403
+        $description = str_replace('[*description*]', '', $description);
404
+    } else {
405
+        $description = '';
406
+    }
407
+
408
+    if((preg_match("@<body[^>]*>(.*)[^<]+</body>@is", $src, $matches)) && $_POST['object'] == 'body') {
409
+        $content = $matches[1];
410
+    } else {
411
+        $content = $src;
412
+        $s = '/(<meta[^>]+charset\s*=)[^>"\'=]+(.+>)/i';
413
+        $r = '$1' . $modx->config['modx_charset'] . '$2';
414
+        $content = preg_replace($s, $r, $content);
415
+        $content = preg_replace('@<title>.*</title>@i', "<title>[*pagetitle*]</title>", $content);
416
+    }
417
+    $content = str_replace('[*content*]', '[ *content* ]', $content);
418
+    $content = trim($content);
419
+    $pagetitle = $modx->db->escape($pagetitle);
420
+    return array(
421
+        $pagetitle,
422
+        $content,
423
+        $description
424
+    );
425 425
 }
426 426
 
427 427
 /**
428 428
  * @return void
429 429
  */
430 430
 function convertLink() {
431
-	global $modx;
432
-	$tbl_site_content = $modx->getFullTableName('site_content');
431
+    global $modx;
432
+    $tbl_site_content = $modx->getFullTableName('site_content');
433 433
 
434
-	$rs = $modx->db->select('id,content', $tbl_site_content);
435
-	$p = array();
434
+    $rs = $modx->db->select('id,content', $tbl_site_content);
435
+    $p = array();
436 436
     $target = array();
437
-	$dir = '';
438
-	while($row = $modx->db->getRow($rs)) {
439
-		$id = $row['id'];
440
-		$array = explode('<a href=', $row['content']);
441
-		$c = 0;
442
-		foreach($array as $v) {
443
-			if($v[0] === '"') {
444
-				$v = substr($v, 1);
445
-				list($href, $v) = explode('"', $v, 2);
446
-				$_ = $href;
447
-				if(strpos($_, $modx->config['site_url']) !== false) {
448
-					$_ = $modx->config['base_url'] . str_replace($modx->config['site_url'], '', $_);
449
-				}
450
-				if($_[0] === '/') {
451
-					$_ = substr($_, 1);
452
-				}
453
-				$_ = str_replace('/index.html', '.html', $_);
454
-				$level = substr_count($_, '../');
455
-				if(1 < $level) {
456
-					if(!isset($p[$id])) {
457
-						$p[$id] = $modx->getParentIds($id);
458
-					}
459
-					$k = array_keys($p[$id]);
460
-					while(0 < $level) {
461
-						$dir = array_shift($k);
462
-						$level--;
463
-					}
464
-					if($dir != '') {
465
-						$dir .= '/';
466
-					}
467
-				} else {
468
-					$dir = '';
469
-				}
470
-
471
-				$_ = trim($_, './');
472
-				if(strpos($_, '/') !== false) {
473
-					$_ = substr($_, strrpos($_, '/'));
474
-				}
475
-				$_ = $dir . str_replace('.html', '', $_);
476
-				if(!isset($target[$_])) {
477
-					$target[$_] = $modx->getIdFromAlias($_);
478
-				}
479
-				$target[$_] = trim($target[$_]);
480
-				if(!empty($target[$_])) {
481
-					$href = '[~' . $target[$_] . '~]';
482
-				}
483
-				$array[$c] = '<a href="' . $href . '"' . $v;
484
-			}
485
-			$c++;
486
-		}
487
-		$content = implode('', $array);
488
-		$f['content'] = $modx->db->escape($content);
489
-		$modx->db->update($f, $tbl_site_content, "id='{$id}'");
490
-	}
437
+    $dir = '';
438
+    while($row = $modx->db->getRow($rs)) {
439
+        $id = $row['id'];
440
+        $array = explode('<a href=', $row['content']);
441
+        $c = 0;
442
+        foreach($array as $v) {
443
+            if($v[0] === '"') {
444
+                $v = substr($v, 1);
445
+                list($href, $v) = explode('"', $v, 2);
446
+                $_ = $href;
447
+                if(strpos($_, $modx->config['site_url']) !== false) {
448
+                    $_ = $modx->config['base_url'] . str_replace($modx->config['site_url'], '', $_);
449
+                }
450
+                if($_[0] === '/') {
451
+                    $_ = substr($_, 1);
452
+                }
453
+                $_ = str_replace('/index.html', '.html', $_);
454
+                $level = substr_count($_, '../');
455
+                if(1 < $level) {
456
+                    if(!isset($p[$id])) {
457
+                        $p[$id] = $modx->getParentIds($id);
458
+                    }
459
+                    $k = array_keys($p[$id]);
460
+                    while(0 < $level) {
461
+                        $dir = array_shift($k);
462
+                        $level--;
463
+                    }
464
+                    if($dir != '') {
465
+                        $dir .= '/';
466
+                    }
467
+                } else {
468
+                    $dir = '';
469
+                }
470
+
471
+                $_ = trim($_, './');
472
+                if(strpos($_, '/') !== false) {
473
+                    $_ = substr($_, strrpos($_, '/'));
474
+                }
475
+                $_ = $dir . str_replace('.html', '', $_);
476
+                if(!isset($target[$_])) {
477
+                    $target[$_] = $modx->getIdFromAlias($_);
478
+                }
479
+                $target[$_] = trim($target[$_]);
480
+                if(!empty($target[$_])) {
481
+                    $href = '[~' . $target[$_] . '~]';
482
+                }
483
+                $array[$c] = '<a href="' . $href . '"' . $v;
484
+            }
485
+            $c++;
486
+        }
487
+        $content = implode('', $array);
488
+        $f['content'] = $modx->db->escape($content);
489
+        $modx->db->update($f, $tbl_site_content, "id='{$id}'");
490
+    }
491 491
 }
Please login to merge, or discard this patch.
manager/actions/mutate_role.dynamic.php 1 patch
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -1,21 +1,21 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if( ! defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) {
3
-	die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
3
+    die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the EVO Content Manager instead of accessing this file directly.");
4 4
 }
5 5
 
6 6
 switch((int) $modx->manager->action) {
7
-	case 35:
8
-		if(!$modx->hasPermission('edit_role')) {
9
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
10
-		}
11
-		break;
12
-	case 38:
13
-		if(!$modx->hasPermission('new_role')) {
14
-			$modx->webAlertAndQuit($_lang["error_no_privileges"]);
15
-		}
16
-		break;
17
-	default:
18
-		$modx->webAlertAndQuit($_lang["error_no_privileges"]);
7
+    case 35:
8
+        if(!$modx->hasPermission('edit_role')) {
9
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
10
+        }
11
+        break;
12
+    case 38:
13
+        if(!$modx->hasPermission('new_role')) {
14
+            $modx->webAlertAndQuit($_lang["error_no_privileges"]);
15
+        }
16
+        break;
17
+    default:
18
+        $modx->webAlertAndQuit($_lang["error_no_privileges"]);
19 19
 }
20 20
 
21 21
 $role = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 
25 25
 // check to see the snippet editor isn't locked
26 26
 if($lockedEl = $modx->elementIsLocked(8, $role)) {
27
-	$modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['role']));
27
+    $modx->webAlertAndQuit(sprintf($_lang['lock_msg'], $lockedEl['username'], $_lang['role']));
28 28
 }
29 29
 // end check for lock
30 30
 
@@ -32,15 +32,15 @@  discard block
 block discarded – undo
32 32
 $modx->lockElement(8, $role);
33 33
 
34 34
 if($modx->manager->action == '35') {
35
-	$rs = $modx->db->select('*', $tbl_user_roles, "id='{$role}'");
36
-	$roledata = $modx->db->getRow($rs);
37
-	if(!$roledata) {
38
-		$modx->webAlertAndQuit("No role returned!");
39
-	}
40
-	$_SESSION['itemname'] = $roledata['name'];
35
+    $rs = $modx->db->select('*', $tbl_user_roles, "id='{$role}'");
36
+    $roledata = $modx->db->getRow($rs);
37
+    if(!$roledata) {
38
+        $modx->webAlertAndQuit("No role returned!");
39
+    }
40
+    $_SESSION['itemname'] = $roledata['name'];
41 41
 } else {
42
-	$roledata = 0;
43
-	$_SESSION['itemname'] = $_lang["new_role"];
42
+    $roledata = 0;
43
+    $_SESSION['itemname'] = $_lang["new_role"];
44 44
 }
45 45
 
46 46
 // Add lock-element JS-Script
@@ -107,63 +107,63 @@  discard block
 block discarded – undo
107 107
 							<div class="form-group">
108 108
 								<h3><?= $_lang['page_data_general'] ?></h3>
109 109
 								<?php
110
-								echo render_form('frames', $_lang['role_frames'], 'disabled');
111
-								echo render_form('home', $_lang['role_home'], 'disabled');
112
-								echo render_form('messages', $_lang['role_messages']);
113
-								echo render_form('logout', $_lang['role_logout'], 'disabled');
114
-								echo render_form('help', $_lang['role_help']);
115
-								echo render_form('action_ok', $_lang['role_actionok'], 'disabled');
116
-								echo render_form('error_dialog', $_lang['role_errors'], 'disabled');
117
-								echo render_form('about', $_lang['role_about'], 'disabled');
118
-								echo render_form('credits', $_lang['role_credits'], 'disabled');
119
-								echo render_form('change_password', $_lang['role_change_password']);
120
-								echo render_form('save_password', $_lang['role_save_password']);
121
-								?>
110
+                                echo render_form('frames', $_lang['role_frames'], 'disabled');
111
+                                echo render_form('home', $_lang['role_home'], 'disabled');
112
+                                echo render_form('messages', $_lang['role_messages']);
113
+                                echo render_form('logout', $_lang['role_logout'], 'disabled');
114
+                                echo render_form('help', $_lang['role_help']);
115
+                                echo render_form('action_ok', $_lang['role_actionok'], 'disabled');
116
+                                echo render_form('error_dialog', $_lang['role_errors'], 'disabled');
117
+                                echo render_form('about', $_lang['role_about'], 'disabled');
118
+                                echo render_form('credits', $_lang['role_credits'], 'disabled');
119
+                                echo render_form('change_password', $_lang['role_change_password']);
120
+                                echo render_form('save_password', $_lang['role_save_password']);
121
+                                ?>
122 122
 							</div>
123 123
 						</div>
124 124
 						<div class="col-sm-6 col-lg-3">
125 125
 							<div class="form-group">
126 126
 								<h3><?= $_lang['role_content_management'] ?></h3>
127 127
 								<?php
128
-								echo render_form('view_document', $_lang['role_view_docdata'], 'disabled');
129
-								echo render_form('new_document', $_lang['role_create_doc']);
130
-								echo render_form('edit_document', $_lang['role_edit_doc']);
131
-								echo render_form('change_resourcetype', $_lang['role_change_resourcetype']);
132
-								echo render_form('save_document', $_lang['role_save_doc']);
133
-								echo render_form('publish_document', $_lang['role_publish_doc']);
134
-								echo render_form('delete_document', $_lang['role_delete_doc']);
135
-								echo render_form('empty_trash', $_lang['role_empty_trash']);
136
-								echo render_form('empty_cache', $_lang['role_cache_refresh']);
137
-								echo render_form('view_unpublished', $_lang['role_view_unpublished']);
138
-								?>
128
+                                echo render_form('view_document', $_lang['role_view_docdata'], 'disabled');
129
+                                echo render_form('new_document', $_lang['role_create_doc']);
130
+                                echo render_form('edit_document', $_lang['role_edit_doc']);
131
+                                echo render_form('change_resourcetype', $_lang['role_change_resourcetype']);
132
+                                echo render_form('save_document', $_lang['role_save_doc']);
133
+                                echo render_form('publish_document', $_lang['role_publish_doc']);
134
+                                echo render_form('delete_document', $_lang['role_delete_doc']);
135
+                                echo render_form('empty_trash', $_lang['role_empty_trash']);
136
+                                echo render_form('empty_cache', $_lang['role_cache_refresh']);
137
+                                echo render_form('view_unpublished', $_lang['role_view_unpublished']);
138
+                                ?>
139 139
 							</div>
140 140
 						</div>
141 141
 						<div class="col-sm-6 col-lg-3 form-group">
142 142
 							<div class="form-group">
143 143
 								<h3><?= $_lang['role_file_management'] ?></h3>
144 144
 								<?php
145
-								echo render_form('file_manager', $_lang['role_file_manager']);
146
-								echo render_form('assets_files', $_lang['role_assets_files']);
147
-								echo render_form('assets_images', $_lang['role_assets_images']);
148
-								?>
145
+                                echo render_form('file_manager', $_lang['role_file_manager']);
146
+                                echo render_form('assets_files', $_lang['role_assets_files']);
147
+                                echo render_form('assets_images', $_lang['role_assets_images']);
148
+                                ?>
149 149
 							</div>
150 150
 							<div class="form-group">
151 151
 								<h3><?= $_lang['category_management'] ?></h3>
152 152
 								<?php
153
-								echo render_form('category_manager', $_lang['role_category_manager']);
154
-								?>
153
+                                echo render_form('category_manager', $_lang['role_category_manager']);
154
+                                ?>
155 155
 							</div>
156 156
 						</div>
157 157
 						<div class="col-sm-6 col-lg-3">
158 158
 							<div class="form-group">
159 159
 								<h3><?= $_lang['role_module_management'] ?></h3>
160 160
 								<?php
161
-								echo render_form('new_module', $_lang['role_new_module']);
162
-								echo render_form('edit_module', $_lang['role_edit_module']);
163
-								echo render_form('save_module', $_lang['role_save_module']);
164
-								echo render_form('delete_module', $_lang['role_delete_module']);
165
-								echo render_form('exec_module', $_lang['role_run_module']);
166
-								?>
161
+                                echo render_form('new_module', $_lang['role_new_module']);
162
+                                echo render_form('edit_module', $_lang['role_edit_module']);
163
+                                echo render_form('save_module', $_lang['role_save_module']);
164
+                                echo render_form('delete_module', $_lang['role_delete_module']);
165
+                                echo render_form('exec_module', $_lang['role_run_module']);
166
+                                ?>
167 167
 							</div>
168 168
 						</div>
169 169
 					</div>
@@ -173,44 +173,44 @@  discard block
 block discarded – undo
173 173
 							<div class="form-group">
174 174
 								<h3><?= $_lang['role_template_management'] ?></h3>
175 175
 								<?php
176
-								echo render_form('new_template', $_lang['role_create_template']);
177
-								echo render_form('edit_template', $_lang['role_edit_template']);
178
-								echo render_form('save_template', $_lang['role_save_template']);
179
-								echo render_form('delete_template', $_lang['role_delete_template']);
180
-								?>
176
+                                echo render_form('new_template', $_lang['role_create_template']);
177
+                                echo render_form('edit_template', $_lang['role_edit_template']);
178
+                                echo render_form('save_template', $_lang['role_save_template']);
179
+                                echo render_form('delete_template', $_lang['role_delete_template']);
180
+                                ?>
181 181
 							</div>
182 182
 						</div>
183 183
 						<div class="col-sm-6 col-lg-3">
184 184
 							<div class="form-group">
185 185
 								<h3><?= $_lang['role_snippet_management'] ?></h3>
186 186
 								<?php
187
-								echo render_form('new_snippet', $_lang['role_create_snippet']);
188
-								echo render_form('edit_snippet', $_lang['role_edit_snippet']);
189
-								echo render_form('save_snippet', $_lang['role_save_snippet']);
190
-								echo render_form('delete_snippet', $_lang['role_delete_snippet']);
191
-								?>
187
+                                echo render_form('new_snippet', $_lang['role_create_snippet']);
188
+                                echo render_form('edit_snippet', $_lang['role_edit_snippet']);
189
+                                echo render_form('save_snippet', $_lang['role_save_snippet']);
190
+                                echo render_form('delete_snippet', $_lang['role_delete_snippet']);
191
+                                ?>
192 192
 							</div>
193 193
 						</div>
194 194
 						<div class="col-sm-6 col-lg-3">
195 195
 							<div class="form-group">
196 196
 								<h3><?= $_lang['role_chunk_management'] ?></h3>
197 197
 								<?php
198
-								echo render_form('new_chunk', $_lang['role_create_chunk']);
199
-								echo render_form('edit_chunk', $_lang['role_edit_chunk']);
200
-								echo render_form('save_chunk', $_lang['role_save_chunk']);
201
-								echo render_form('delete_chunk', $_lang['role_delete_chunk']);
202
-								?>
198
+                                echo render_form('new_chunk', $_lang['role_create_chunk']);
199
+                                echo render_form('edit_chunk', $_lang['role_edit_chunk']);
200
+                                echo render_form('save_chunk', $_lang['role_save_chunk']);
201
+                                echo render_form('delete_chunk', $_lang['role_delete_chunk']);
202
+                                ?>
203 203
 							</div>
204 204
 						</div>
205 205
 						<div class="col-sm-6 col-lg-3">
206 206
 							<div class="form-group">
207 207
 								<h3><?= $_lang['role_plugin_management'] ?></h3>
208 208
 								<?php
209
-								echo render_form('new_plugin', $_lang['role_create_plugin']);
210
-								echo render_form('edit_plugin', $_lang['role_edit_plugin']);
211
-								echo render_form('save_plugin', $_lang['role_save_plugin']);
212
-								echo render_form('delete_plugin', $_lang['role_delete_plugin']);
213
-								?>
209
+                                echo render_form('new_plugin', $_lang['role_create_plugin']);
210
+                                echo render_form('edit_plugin', $_lang['role_edit_plugin']);
211
+                                echo render_form('save_plugin', $_lang['role_save_plugin']);
212
+                                echo render_form('delete_plugin', $_lang['role_delete_plugin']);
213
+                                ?>
214 214
 							</div>
215 215
 						</div>
216 216
 					</div>
@@ -220,42 +220,42 @@  discard block
 block discarded – undo
220 220
 							<div class="form-group">
221 221
 								<h3><?= $_lang['role_user_management'] ?></h3>
222 222
 								<?php
223
-								echo render_form('new_user', $_lang['role_new_user']);
224
-								echo render_form('edit_user', $_lang['role_edit_user']);
225
-								echo render_form('save_user', $_lang['role_save_user']);
226
-								echo render_form('delete_user', $_lang['role_delete_user']);
227
-								?>
223
+                                echo render_form('new_user', $_lang['role_new_user']);
224
+                                echo render_form('edit_user', $_lang['role_edit_user']);
225
+                                echo render_form('save_user', $_lang['role_save_user']);
226
+                                echo render_form('delete_user', $_lang['role_delete_user']);
227
+                                ?>
228 228
 							</div>
229 229
 						</div>
230 230
 						<div class="col-sm-6 col-lg-3">
231 231
 							<div class="form-group">
232 232
 								<h3><?= $_lang['role_web_user_management'] ?></h3>
233 233
 								<?php
234
-								echo render_form('new_web_user', $_lang['role_new_web_user']);
235
-								echo render_form('edit_web_user', $_lang['role_edit_web_user']);
236
-								echo render_form('save_web_user', $_lang['role_save_web_user']);
237
-								echo render_form('delete_web_user', $_lang['role_delete_web_user']);
238
-								?>
234
+                                echo render_form('new_web_user', $_lang['role_new_web_user']);
235
+                                echo render_form('edit_web_user', $_lang['role_edit_web_user']);
236
+                                echo render_form('save_web_user', $_lang['role_save_web_user']);
237
+                                echo render_form('delete_web_user', $_lang['role_delete_web_user']);
238
+                                ?>
239 239
 							</div>
240 240
 						</div>
241 241
 						<div class="col-sm-6 col-lg-3">
242 242
 							<div class="form-group">
243 243
 								<h3><?= $_lang['role_udperms'] ?></h3>
244 244
 								<?php
245
-								echo render_form('access_permissions', $_lang['role_access_persmissions']);
246
-								echo render_form('web_access_permissions', $_lang['role_web_access_persmissions']);
247
-								?>
245
+                                echo render_form('access_permissions', $_lang['role_access_persmissions']);
246
+                                echo render_form('web_access_permissions', $_lang['role_web_access_persmissions']);
247
+                                ?>
248 248
 							</div>
249 249
 						</div>
250 250
 						<div class="col-sm-6 col-lg-3">
251 251
 							<div class="form-group">
252 252
 								<h3><?= $_lang['role_role_management'] ?></h3>
253 253
 								<?php
254
-								echo render_form('new_role', $_lang['role_new_role']);
255
-								echo render_form('edit_role', $_lang['role_edit_role']);
256
-								echo render_form('save_role', $_lang['role_save_role']);
257
-								echo render_form('delete_role', $_lang['role_delete_role']);
258
-								?>
254
+                                echo render_form('new_role', $_lang['role_new_role']);
255
+                                echo render_form('edit_role', $_lang['role_edit_role']);
256
+                                echo render_form('save_role', $_lang['role_save_role']);
257
+                                echo render_form('delete_role', $_lang['role_delete_role']);
258
+                                ?>
259 259
 							</div>
260 260
 						</div>
261 261
 					</div>
@@ -265,23 +265,23 @@  discard block
 block discarded – undo
265 265
 							<div class="form-group">
266 266
 								<h3><?= $_lang['role_eventlog_management'] ?></h3>
267 267
 								<?php
268
-								echo render_form('view_eventlog', $_lang['role_view_eventlog']);
269
-								echo render_form('delete_eventlog', $_lang['role_delete_eventlog']);
270
-								?>
268
+                                echo render_form('view_eventlog', $_lang['role_view_eventlog']);
269
+                                echo render_form('delete_eventlog', $_lang['role_delete_eventlog']);
270
+                                ?>
271 271
 							</div>
272 272
 						</div>
273 273
 						<div class="col-sm-6 col-lg-3">
274 274
 							<div class="form-group">
275 275
 								<h3><?= $_lang['role_config_management'] ?></h3>
276 276
 								<?php
277
-								echo render_form('logs', $_lang['role_view_logs']);
278
-								echo render_form('settings', $_lang['role_edit_settings']);
279
-								echo render_form('bk_manager', $_lang['role_bk_manager']);
280
-								echo render_form('import_static', $_lang['role_import_static']);
281
-								echo render_form('export_static', $_lang['role_export_static']);
282
-								echo render_form('remove_locks', $_lang['role_remove_locks']);
283
-								echo render_form('display_locks', $_lang['role_display_locks']);
284
-								?>
277
+                                echo render_form('logs', $_lang['role_view_logs']);
278
+                                echo render_form('settings', $_lang['role_edit_settings']);
279
+                                echo render_form('bk_manager', $_lang['role_bk_manager']);
280
+                                echo render_form('import_static', $_lang['role_import_static']);
281
+                                echo render_form('export_static', $_lang['role_export_static']);
282
+                                echo render_form('remove_locks', $_lang['role_remove_locks']);
283
+                                echo render_form('display_locks', $_lang['role_display_locks']);
284
+                                ?>
285 285
 							</div>
286 286
 						</div>
287 287
 					</div>
@@ -300,32 +300,32 @@  discard block
 block discarded – undo
300 300
  * @return string
301 301
  */
302 302
 function render_form($name, $label, $status = '') {
303
-	global $modx, $roledata;
303
+    global $modx, $roledata;
304 304
 
305
-	$tpl = '<label class="d-block" for="[+name+]check">
305
+    $tpl = '<label class="d-block" for="[+name+]check">
306 306
 		<input name="[+name+]check" id="[+name+]check" class="click" type="checkbox" onchange="changestate(document.userform.[+name+])" [+checked+] [+status+]>
307 307
 		<input type="hidden" class="[+set+]" name="[+name+]" value="[+value+]">
308 308
 		[+label+]
309 309
 	</label>';
310 310
 
311
-	$checked = ($roledata[$name] == 1) ? 'checked' : '';
312
-	$value = ($roledata[$name] == 1) ? 1 : 0;
313
-	if($status == 'disabled') {
314
-		$checked = 'checked';
315
-		$value = 1;
316
-		$set = 'fix';
317
-	} else {
318
-		$set = 'set';
319
-	}
311
+    $checked = ($roledata[$name] == 1) ? 'checked' : '';
312
+    $value = ($roledata[$name] == 1) ? 1 : 0;
313
+    if($status == 'disabled') {
314
+        $checked = 'checked';
315
+        $value = 1;
316
+        $set = 'fix';
317
+    } else {
318
+        $set = 'set';
319
+    }
320 320
 
321
-	$ph = array(
322
-		'name' => $name,
323
-		'checked' => $checked,
324
-		'status' => $status,
325
-		'value' => $value,
326
-		'label' => $label,
327
-		'set' => $set
328
-	);
321
+    $ph = array(
322
+        'name' => $name,
323
+        'checked' => $checked,
324
+        'status' => $status,
325
+        'value' => $value,
326
+        'label' => $label,
327
+        'set' => $set
328
+    );
329 329
 
330
-	return $modx->parseText($tpl, $ph);
330
+    return $modx->parseText($tpl, $ph);
331 331
 }
Please login to merge, or discard this patch.
manager/actions/help/01About_EVO.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -4,18 +4,18 @@  discard block
 block discarded – undo
4 4
 }
5 5
 $logo= '<img src="media/style/default/images/misc/login-logo.png" height="54" width="358" border="0">';
6 6
 $downloadLinks = array(
7
-	0=>array('title'=>$_lang["information"],'link'=>'https://evo.im/'),
8
-	1=>array('title'=>$_lang["download"],'link'=>'https://github.com/evolution-cms/evolution/releases'),
9
-	2=>array('title'=>$_lang["previous_releases"],'link'=>'https://modx.com/download/evolution/previous-releases.html'),
10
-	3=>array('title'=>$_lang["extras"],'link'=>array(
11
-		'http://extras.evolution-cms.com/',
12
-		'https://github.com/extras-evolution'
13
-	)),
7
+    0=>array('title'=>$_lang["information"],'link'=>'https://evo.im/'),
8
+    1=>array('title'=>$_lang["download"],'link'=>'https://github.com/evolution-cms/evolution/releases'),
9
+    2=>array('title'=>$_lang["previous_releases"],'link'=>'https://modx.com/download/evolution/previous-releases.html'),
10
+    3=>array('title'=>$_lang["extras"],'link'=>array(
11
+        'http://extras.evolution-cms.com/',
12
+        'https://github.com/extras-evolution'
13
+    )),
14 14
 );
15 15
 
16 16
 $translationLinks = array(
17
-	0=>array('title'=>'Evolution CMS','link'=>'https://www.transifex.com/evolutioncms/evolution/'),
18
-	1=>array('title'=>$_lang["extras"],'link'=>'https://www.transifex.com/evolutioncms/extras/'),
17
+    0=>array('title'=>'Evolution CMS','link'=>'https://www.transifex.com/evolutioncms/evolution/'),
18
+    1=>array('title'=>$_lang["extras"],'link'=>'https://www.transifex.com/evolutioncms/extras/'),
19 19
 );
20 20
 
21 21
 /**
@@ -24,23 +24,23 @@  discard block
 block discarded – undo
24 24
  * @return string
25 25
  */
26 26
 function createList($sectionHeader, $linkArr) {
27
-	$output = '<div class="sectionHeader">'.$sectionHeader.'</div><div class="sectionBody">'."\n";
28
-	$output .= '<table width="500"  border="0" cellspacing="0" cellpadding="0">'."\n";
29
-	$links = '';
30
-	foreach($linkArr as $row) {
31
-		if (!is_array($row['link'])) $row['link'] = array($row['link']);
32
-		foreach ($row['link'] as $link) {
33
-			$links .= $links != '' ? '<br/>' : '';
34
-			$links .= '<a href="' . $link . '" target="_blank">' . $link . '</a>';
35
-		}
36
-		$output .= '
27
+    $output = '<div class="sectionHeader">'.$sectionHeader.'</div><div class="sectionBody">'."\n";
28
+    $output .= '<table width="500"  border="0" cellspacing="0" cellpadding="0">'."\n";
29
+    $links = '';
30
+    foreach($linkArr as $row) {
31
+        if (!is_array($row['link'])) $row['link'] = array($row['link']);
32
+        foreach ($row['link'] as $link) {
33
+            $links .= $links != '' ? '<br/>' : '';
34
+            $links .= '<a href="' . $link . '" target="_blank">' . $link . '</a>';
35
+        }
36
+        $output .= '
37 37
 		<tr>
38 38
 			<td align="left"><strong>' . $row["title"] . '</strong></td>
39 39
 			<td align="left">' . $links . '</td>
40 40
 		</tr>';
41
-		$links = '';
42
-	}
43
-	$output .= '</table></div>'."\n";
41
+        $links = '';
42
+    }
43
+    $output .= '</table></div>'."\n";
44 44
     return $output;
45 45
 }
46 46
 echo $logo;
Please login to merge, or discard this patch.
manager/includes/tmplvars.inc.php 1 patch
Indentation   +250 added lines, -250 removed lines patch added patch discarded remove patch
@@ -13,159 +13,159 @@  discard block
 block discarded – undo
13 13
  * @return string
14 14
  */
15 15
 function renderFormElement($field_type, $field_id, $default_text = '', $field_elements = '', $field_value = '', $field_style = '', $row = array(), $tvsArray = array()) {
16
-	global $modx;
17
-	global $_style;
18
-	global $_lang;
19
-	global $content;
20
-	global $which_browser;
16
+    global $modx;
17
+    global $_style;
18
+    global $_lang;
19
+    global $content;
20
+    global $which_browser;
21 21
 
22
-	if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) {
23
-		$eval_str = trim(substr($default_text, 7));
24
-		$default_text = eval($eval_str);
25
-		$field_value = $default_text;
26
-	}
22
+    if(substr($default_text, 0, 6) === '@@EVAL' && $field_value === $default_text) {
23
+        $eval_str = trim(substr($default_text, 7));
24
+        $default_text = eval($eval_str);
25
+        $field_value = $default_text;
26
+    }
27 27
 
28
-	$field_html = '';
29
-	$cimode = strpos($field_type, ':');
30
-	if($cimode === false) {
31
-		switch($field_type) {
28
+    $field_html = '';
29
+    $cimode = strpos($field_type, ':');
30
+    if($cimode === false) {
31
+        switch($field_type) {
32 32
 
33
-			case "text": // handler for regular text boxes
34
-			case "rawtext"; // non-htmlentity converted text boxes
35
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" />';
36
-				break;
37
-			case "email": // handles email input fields
38
-				$field_html .= '<input type="email" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%"/>';
39
-				break;
40
-			case "number": // handles the input of numbers
41
-				$field_html .= '<input type="number" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" onkeyup="this.value=this.value.replace(/[^\d-,.+]/,\'\')"/>';
42
-				break;
43
-			case "textareamini": // handler for textarea mini boxes
44
-				$field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="5" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>';
45
-				break;
46
-			case "textarea": // handler for textarea boxes
47
-			case "rawtextarea": // non-htmlentity convertex textarea boxes
48
-			case "htmlarea": // handler for textarea boxes (deprecated)
49
-			case "richtext": // handler for textarea boxes
50
-				$field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="15" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>';
51
-				break;
52
-			case "date":
53
-				$field_id = str_replace(array(
54
-					'-',
55
-					'.'
56
-				), '_', urldecode($field_id));
57
-				if($field_value == '') {
58
-					$field_value = 0;
59
-				}
60
-				$field_html .= '<input id="tv' . $field_id . '" name="tv' . $field_id . '" class="DatePicker" type="text" value="' . ($field_value == 0 || !isset($field_value) ? "" : $field_value) . '" onblur="documentDirty=true;" />';
61
-				$field_html .= ' <a onclick="document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].value=\'\';document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].onblur(); return true;" onmouseover="window.status=\'clear the date\'; return true;" onmouseout="window.status=\'\'; return true;" style="cursor:pointer; cursor:hand"><i class="' . $_style["actions_calendar_delete"] . '"></i></a>';
33
+            case "text": // handler for regular text boxes
34
+            case "rawtext"; // non-htmlentity converted text boxes
35
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" />';
36
+                break;
37
+            case "email": // handles email input fields
38
+                $field_html .= '<input type="email" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%"/>';
39
+                break;
40
+            case "number": // handles the input of numbers
41
+                $field_html .= '<input type="number" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' tvtype="' . $field_type . '" onchange="documentDirty=true;" style="width:100%" onkeyup="this.value=this.value.replace(/[^\d-,.+]/,\'\')"/>';
42
+                break;
43
+            case "textareamini": // handler for textarea mini boxes
44
+                $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="5" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>';
45
+                break;
46
+            case "textarea": // handler for textarea boxes
47
+            case "rawtextarea": // non-htmlentity convertex textarea boxes
48
+            case "htmlarea": // handler for textarea boxes (deprecated)
49
+            case "richtext": // handler for textarea boxes
50
+                $field_html .= '<textarea id="tv' . $field_id . '" name="tv' . $field_id . '" cols="40" rows="15" onchange="documentDirty=true;" style="width:100%">' . $modx->htmlspecialchars($field_value) . '</textarea>';
51
+                break;
52
+            case "date":
53
+                $field_id = str_replace(array(
54
+                    '-',
55
+                    '.'
56
+                ), '_', urldecode($field_id));
57
+                if($field_value == '') {
58
+                    $field_value = 0;
59
+                }
60
+                $field_html .= '<input id="tv' . $field_id . '" name="tv' . $field_id . '" class="DatePicker" type="text" value="' . ($field_value == 0 || !isset($field_value) ? "" : $field_value) . '" onblur="documentDirty=true;" />';
61
+                $field_html .= ' <a onclick="document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].value=\'\';document.forms[\'mutate\'].elements[\'tv' . $field_id . '\'].onblur(); return true;" onmouseover="window.status=\'clear the date\'; return true;" onmouseout="window.status=\'\'; return true;" style="cursor:pointer; cursor:hand"><i class="' . $_style["actions_calendar_delete"] . '"></i></a>';
62 62
 
63
-				break;
64
-			case "dropdown": // handler for select boxes
65
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">';
66
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
67
-				while(list($item, $itemvalue) = each($index_list)) {
68
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
69
-					if(strlen($itemvalue) == 0) {
70
-						$itemvalue = $item;
71
-					}
72
-					$field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
73
-				}
74
-				$field_html .= "</select>";
75
-				break;
76
-			case "listbox": // handler for select boxes
77
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">';
78
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
79
-				while(list($item, $itemvalue) = each($index_list)) {
80
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
81
-					if(strlen($itemvalue) == 0) {
82
-						$itemvalue = $item;
83
-					}
84
-					$field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
85
-				}
86
-				$field_html .= "</select>";
87
-				break;
88
-			case "listbox-multiple": // handler for select boxes where you can choose multiple items
89
-				$field_value = explode("||", $field_value);
90
-				$field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">';
91
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
92
-				while(list($item, $itemvalue) = each($index_list)) {
93
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
94
-					if(strlen($itemvalue) == 0) {
95
-						$itemvalue = $item;
96
-					}
97
-					$field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
98
-				}
99
-				$field_html .= "</select>";
100
-				break;
101
-			case "url": // handles url input fields
102
-				$urls = array(
103
-					'' => '--',
104
-					'http://' => 'http://',
105
-					'https://' => 'https://',
106
-					'ftp://' => 'ftp://',
107
-					'mailto:' => 'mailto:'
108
-				);
109
-				$field_html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td><select id="tv' . $field_id . '_prefix" name="tv' . $field_id . '_prefix" onchange="documentDirty=true;">';
110
-				foreach($urls as $k => $v) {
111
-					if(strpos($field_value, $v) === false) {
112
-						$field_html .= '<option value="' . $v . '">' . $k . '</option>';
113
-					} else {
114
-						$field_value = str_replace($v, '', $field_value);
115
-						$field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>';
116
-					}
117
-				}
118
-				$field_html .= '</select></td><td>';
119
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" width="100" ' . $field_style . ' onchange="documentDirty=true;" /></td></tr></table>';
120
-				break;
121
-			case 'checkbox': // handles check boxes
122
-				$values = !is_array($field_value) ? explode('||', $field_value) : $field_value;
123
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
124
-				$tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />';
125
-				static $i = 0;
126
-				$_ = array();
127
-				foreach($index_list as $c => $item) {
128
-					if(is_array($item)) {
129
-						$name = trim($item[0]);
130
-						$value = isset($item[1]) ? $item[1] : $name;
131
-					} else {
132
-						$item = trim($item);
133
-						list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array(
134
-							$item,
135
-							$item
136
-						);
137
-					}
138
-					$checked = in_array($value, $values) ? ' checked="checked"' : '';
139
-					$param = array(
140
-						$modx->htmlspecialchars($value),
141
-						$i,
142
-						$field_id,
143
-						$checked,
144
-						$modx->htmlspecialchars($name)
145
-					);
146
-					$_[] = vsprintf($tpl, $param);
147
-					$i++;
148
-				}
149
-				$field_html = implode("\n", $_);
150
-				break;
151
-			case "option": // handles radio buttons
152
-				$index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
153
-				static $i = 0;
154
-				while(list($item, $itemvalue) = each($index_list)) {
155
-					list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
156
-					if(strlen($itemvalue) == 0) {
157
-						$itemvalue = $item;
158
-					}
159
-					$field_html .= '<input type="radio" value="' . $modx->htmlspecialchars($itemvalue) . '" id="tv_' . $i . '" name="tv' . $field_id . '" ' . ($itemvalue == $field_value ? 'checked="checked"' : '') . ' onchange="documentDirty=true;" /><label for="tv_' . $i . '" class="radio">' . $item . '</label><br />';
160
-					$i++;
161
-				}
162
-				break;
163
-			case "image": // handles image fields using htmlarea image manager
164
-				global $_lang;
165
-				global $ResourceManagerLoaded;
166
-				global $content, $use_editor, $which_editor;
167
-				if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
168
-					$field_html .= "
63
+                break;
64
+            case "dropdown": // handler for select boxes
65
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" size="1" onchange="documentDirty=true;">';
66
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
67
+                while(list($item, $itemvalue) = each($index_list)) {
68
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
69
+                    if(strlen($itemvalue) == 0) {
70
+                        $itemvalue = $item;
71
+                    }
72
+                    $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
73
+                }
74
+                $field_html .= "</select>";
75
+                break;
76
+            case "listbox": // handler for select boxes
77
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '" onchange="documentDirty=true;" size="8">';
78
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
79
+                while(list($item, $itemvalue) = each($index_list)) {
80
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
81
+                    if(strlen($itemvalue) == 0) {
82
+                        $itemvalue = $item;
83
+                    }
84
+                    $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . ($itemvalue == $field_value ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
85
+                }
86
+                $field_html .= "</select>";
87
+                break;
88
+            case "listbox-multiple": // handler for select boxes where you can choose multiple items
89
+                $field_value = explode("||", $field_value);
90
+                $field_html .= '<select id="tv' . $field_id . '" name="tv' . $field_id . '[]" multiple="multiple" onchange="documentDirty=true;" size="8">';
91
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
92
+                while(list($item, $itemvalue) = each($index_list)) {
93
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
94
+                    if(strlen($itemvalue) == 0) {
95
+                        $itemvalue = $item;
96
+                    }
97
+                    $field_html .= '<option value="' . $modx->htmlspecialchars($itemvalue) . '"' . (in_array($itemvalue, $field_value) ? ' selected="selected"' : '') . '>' . $modx->htmlspecialchars($item) . '</option>';
98
+                }
99
+                $field_html .= "</select>";
100
+                break;
101
+            case "url": // handles url input fields
102
+                $urls = array(
103
+                    '' => '--',
104
+                    'http://' => 'http://',
105
+                    'https://' => 'https://',
106
+                    'ftp://' => 'ftp://',
107
+                    'mailto:' => 'mailto:'
108
+                );
109
+                $field_html = '<table border="0" cellspacing="0" cellpadding="0"><tr><td><select id="tv' . $field_id . '_prefix" name="tv' . $field_id . '_prefix" onchange="documentDirty=true;">';
110
+                foreach($urls as $k => $v) {
111
+                    if(strpos($field_value, $v) === false) {
112
+                        $field_html .= '<option value="' . $v . '">' . $k . '</option>';
113
+                    } else {
114
+                        $field_value = str_replace($v, '', $field_value);
115
+                        $field_html .= '<option value="' . $v . '" selected="selected">' . $k . '</option>';
116
+                    }
117
+                }
118
+                $field_html .= '</select></td><td>';
119
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" width="100" ' . $field_style . ' onchange="documentDirty=true;" /></td></tr></table>';
120
+                break;
121
+            case 'checkbox': // handles check boxes
122
+                $values = !is_array($field_value) ? explode('||', $field_value) : $field_value;
123
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
124
+                $tpl = '<label class="checkbox"><input type="checkbox" value="%s" id="tv_%s" name="tv%s[]" %s onchange="documentDirty=true;" />%s</label><br />';
125
+                static $i = 0;
126
+                $_ = array();
127
+                foreach($index_list as $c => $item) {
128
+                    if(is_array($item)) {
129
+                        $name = trim($item[0]);
130
+                        $value = isset($item[1]) ? $item[1] : $name;
131
+                    } else {
132
+                        $item = trim($item);
133
+                        list($name, $value) = (strpos($item, '==') !== false) ? explode('==', $item, 2) : array(
134
+                            $item,
135
+                            $item
136
+                        );
137
+                    }
138
+                    $checked = in_array($value, $values) ? ' checked="checked"' : '';
139
+                    $param = array(
140
+                        $modx->htmlspecialchars($value),
141
+                        $i,
142
+                        $field_id,
143
+                        $checked,
144
+                        $modx->htmlspecialchars($name)
145
+                    );
146
+                    $_[] = vsprintf($tpl, $param);
147
+                    $i++;
148
+                }
149
+                $field_html = implode("\n", $_);
150
+                break;
151
+            case "option": // handles radio buttons
152
+                $index_list = ParseIntputOptions(ProcessTVCommand($field_elements, $field_id, '', 'tvform', $tvsArray));
153
+                static $i = 0;
154
+                while(list($item, $itemvalue) = each($index_list)) {
155
+                    list($item, $itemvalue) = (is_array($itemvalue)) ? $itemvalue : explode("==", $itemvalue);
156
+                    if(strlen($itemvalue) == 0) {
157
+                        $itemvalue = $item;
158
+                    }
159
+                    $field_html .= '<input type="radio" value="' . $modx->htmlspecialchars($itemvalue) . '" id="tv_' . $i . '" name="tv' . $field_id . '" ' . ($itemvalue == $field_value ? 'checked="checked"' : '') . ' onchange="documentDirty=true;" /><label for="tv_' . $i . '" class="radio">' . $item . '</label><br />';
160
+                    $i++;
161
+                }
162
+                break;
163
+            case "image": // handles image fields using htmlarea image manager
164
+                global $_lang;
165
+                global $ResourceManagerLoaded;
166
+                global $content, $use_editor, $which_editor;
167
+                if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
168
+                    $field_html .= "
169 169
 						<script type=\"text/javascript\">
170 170
 							/* <![CDATA[ */
171 171
 								var lastImageCtrl;
@@ -224,18 +224,18 @@  discard block
 block discarded – undo
224 224
 								}
225 225
 							/* ]]> */
226 226
 						</script>";
227
-					$ResourceManagerLoaded = true;
228
-				}
229
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '"  value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />';
230
-				break;
231
-			case "file": // handles the input of file uploads
232
-				/* Modified by Timon for use with resource browser */
233
-				global $_lang;
234
-				global $ResourceManagerLoaded;
235
-				global $content, $use_editor, $which_editor;
236
-				if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
237
-					/* I didn't understand the meaning of the condition above, so I left it untouched ;-) */
238
-					$field_html .= "
227
+                    $ResourceManagerLoaded = true;
228
+                }
229
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '"  value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseServer(\'tv' . $field_id . '\')" />';
230
+                break;
231
+            case "file": // handles the input of file uploads
232
+                /* Modified by Timon for use with resource browser */
233
+                global $_lang;
234
+                global $ResourceManagerLoaded;
235
+                global $content, $use_editor, $which_editor;
236
+                if(!$ResourceManagerLoaded && !(($content['richtext'] == 1 || $modx->manager->action == 4) && $use_editor == 1 && $which_editor == 3)) {
237
+                    /* I didn't understand the meaning of the condition above, so I left it untouched ;-) */
238
+                    $field_html .= "
239 239
 						<script type=\"text/javascript\">
240 240
 							/* <![CDATA[ */
241 241
 								var lastImageCtrl;
@@ -294,90 +294,90 @@  discard block
 block discarded – undo
294 294
 								}
295 295
 							/* ]]> */
296 296
 						</script>";
297
-					$ResourceManagerLoaded = true;
298
-				}
299
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '"  value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseFileServer(\'tv' . $field_id . '\')" />';
297
+                    $ResourceManagerLoaded = true;
298
+                }
299
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '"  value="' . $field_value . '" ' . $field_style . ' onchange="documentDirty=true;" /><input type="button" value="' . $_lang['insert'] . '" onclick="BrowseFileServer(\'tv' . $field_id . '\')" />';
300 300
 
301
-				break;
301
+                break;
302 302
 
303
-			case 'custom_tv':
304
-				$custom_output = '';
305
-				/* If we are loading a file */
306
-				if(substr($field_elements, 0, 5) == "@FILE") {
307
-					$file_name = MODX_BASE_PATH . trim(substr($field_elements, 6));
308
-					if(!file_exists($file_name)) {
309
-						$custom_output = $file_name . ' does not exist';
310
-					} else {
311
-						$custom_output = file_get_contents($file_name);
312
-					}
313
-				} elseif(substr($field_elements, 0, 8) == '@INCLUDE') {
314
-					$file_name = MODX_BASE_PATH . trim(substr($field_elements, 9));
315
-					if(!file_exists($file_name)) {
316
-						$custom_output = $file_name . ' does not exist';
317
-					} else {
318
-						ob_start();
319
-						include $file_name;
320
-						$custom_output = ob_get_contents();
321
-						ob_end_clean();
322
-					}
323
-				} elseif(substr($field_elements, 0, 6) == "@CHUNK") {
324
-					$chunk_name = trim(substr($field_elements, 7));
325
-					$chunk_body = $modx->getChunk($chunk_name);
326
-					if($chunk_body == false) {
327
-						$custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')';
328
-					} else {
329
-						$custom_output = $chunk_body;
330
-					}
331
-				} elseif(substr($field_elements, 0, 5) == "@EVAL") {
332
-					$eval_str = trim(substr($field_elements, 6));
333
-					$custom_output = eval($eval_str);
334
-				} else {
335
-					$custom_output = $field_elements;
336
-				}
337
-				$replacements = array(
338
-					'[+field_type+]' => $field_type,
339
-					'[+field_id+]' => $field_id,
340
-					'[+default_text+]' => $default_text,
341
-					'[+field_value+]' => $modx->htmlspecialchars($field_value),
342
-					'[+field_style+]' => $field_style,
343
-				);
344
-				$custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
345
-				$modx->documentObject = $content;
346
-				$modx->documentIdentifier = $content['id'];
347
-				$custom_output = $modx->parseDocumentSource($custom_output);
348
-				$field_html .= $custom_output;
349
-				break;
303
+            case 'custom_tv':
304
+                $custom_output = '';
305
+                /* If we are loading a file */
306
+                if(substr($field_elements, 0, 5) == "@FILE") {
307
+                    $file_name = MODX_BASE_PATH . trim(substr($field_elements, 6));
308
+                    if(!file_exists($file_name)) {
309
+                        $custom_output = $file_name . ' does not exist';
310
+                    } else {
311
+                        $custom_output = file_get_contents($file_name);
312
+                    }
313
+                } elseif(substr($field_elements, 0, 8) == '@INCLUDE') {
314
+                    $file_name = MODX_BASE_PATH . trim(substr($field_elements, 9));
315
+                    if(!file_exists($file_name)) {
316
+                        $custom_output = $file_name . ' does not exist';
317
+                    } else {
318
+                        ob_start();
319
+                        include $file_name;
320
+                        $custom_output = ob_get_contents();
321
+                        ob_end_clean();
322
+                    }
323
+                } elseif(substr($field_elements, 0, 6) == "@CHUNK") {
324
+                    $chunk_name = trim(substr($field_elements, 7));
325
+                    $chunk_body = $modx->getChunk($chunk_name);
326
+                    if($chunk_body == false) {
327
+                        $custom_output = $_lang['chunk_no_exist'] . '(' . $_lang['htmlsnippet_name'] . ':' . $chunk_name . ')';
328
+                    } else {
329
+                        $custom_output = $chunk_body;
330
+                    }
331
+                } elseif(substr($field_elements, 0, 5) == "@EVAL") {
332
+                    $eval_str = trim(substr($field_elements, 6));
333
+                    $custom_output = eval($eval_str);
334
+                } else {
335
+                    $custom_output = $field_elements;
336
+                }
337
+                $replacements = array(
338
+                    '[+field_type+]' => $field_type,
339
+                    '[+field_id+]' => $field_id,
340
+                    '[+default_text+]' => $default_text,
341
+                    '[+field_value+]' => $modx->htmlspecialchars($field_value),
342
+                    '[+field_style+]' => $field_style,
343
+                );
344
+                $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
345
+                $modx->documentObject = $content;
346
+                $modx->documentIdentifier = $content['id'];
347
+                $custom_output = $modx->parseDocumentSource($custom_output);
348
+                $field_html .= $custom_output;
349
+                break;
350 350
 
351
-			default: // the default handler -- for errors, mostly
352
-				$field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />';
351
+            default: // the default handler -- for errors, mostly
352
+                $field_html .= '<input type="text" id="tv' . $field_id . '" name="tv' . $field_id . '" value="' . $modx->htmlspecialchars($field_value) . '" ' . $field_style . ' onchange="documentDirty=true;" />';
353 353
 
354
-		} // end switch statement
355
-	} else {
356
-		$custom = explode(":", $field_type);
357
-		$custom_output = '';
358
-		$file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php';
359
-		if(!file_exists($file_name)) {
360
-			$custom_output = $file_name . ' does not exist';
361
-		} else {
362
-			ob_start();
363
-			include $file_name;
364
-			$custom_output = ob_get_contents();
365
-			ob_end_clean();
366
-		}
367
-		$replacements = array(
368
-			'[+field_type+]' => $field_type,
369
-			'[+field_id+]' => $field_id,
370
-			'[+default_text+]' => $default_text,
371
-			'[+field_value+]' => $modx->htmlspecialchars($field_value),
372
-			'[+field_style+]' => $field_style,
373
-		);
374
-		$custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
375
-		$modx->documentObject = $content;
376
-		$custom_output = $modx->parseDocumentSource($custom_output);
377
-		$field_html .= $custom_output;
378
-	}
354
+        } // end switch statement
355
+    } else {
356
+        $custom = explode(":", $field_type);
357
+        $custom_output = '';
358
+        $file_name = MODX_BASE_PATH . 'assets/tvs/' . $custom['1'] . '/' . $custom['1'] . '.customtv.php';
359
+        if(!file_exists($file_name)) {
360
+            $custom_output = $file_name . ' does not exist';
361
+        } else {
362
+            ob_start();
363
+            include $file_name;
364
+            $custom_output = ob_get_contents();
365
+            ob_end_clean();
366
+        }
367
+        $replacements = array(
368
+            '[+field_type+]' => $field_type,
369
+            '[+field_id+]' => $field_id,
370
+            '[+default_text+]' => $default_text,
371
+            '[+field_value+]' => $modx->htmlspecialchars($field_value),
372
+            '[+field_style+]' => $field_style,
373
+        );
374
+        $custom_output = str_replace(array_keys($replacements), $replacements, $custom_output);
375
+        $modx->documentObject = $content;
376
+        $custom_output = $modx->parseDocumentSource($custom_output);
377
+        $field_html .= $custom_output;
378
+    }
379 379
 
380
-	return $field_html;
380
+    return $field_html;
381 381
 } // end renderFormElement function
382 382
 
383 383
 /**
@@ -385,14 +385,14 @@  discard block
 block discarded – undo
385 385
  * @return array
386 386
  */
387 387
 function ParseIntputOptions($v) {
388
-	global $modx;
389
-	$a = array();
390
-	if(is_array($v)) {
391
-		return $v;
392
-	} else if($modx->db->isResult($v)) {
393
-		while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols;
394
-	} else {
395
-		$a = explode("||", $v);
396
-	}
397
-	return $a;
388
+    global $modx;
389
+    $a = array();
390
+    if(is_array($v)) {
391
+        return $v;
392
+    } else if($modx->db->isResult($v)) {
393
+        while($cols = $modx->db->getRow($v, 'num')) $a[] = $cols;
394
+    } else {
395
+        $a = explode("||", $v);
396
+    }
397
+    return $a;
398 398
 }
Please login to merge, or discard this patch.