1.blade.php ➔ constructLink()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 4
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<!DOCTYPE html>
2
<html dir="{{ ManagerTheme::getTextDir() }}" lang="{{ ManagerTheme::getLang() }}" xml:lang="{{ ManagerTheme::getLang() }}">
3
<head>
4
    <title>{{ $modx->getConfig('site_name') }} - (EVO CMS Manager)</title>
5
    <meta http-equiv="Content-Type" content="text/html; charset=<?= ManagerTheme::getCharset()?>" />
6
    <meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width" />
7
    <meta name="theme-color" content="#1d2023" />
8
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
9
    <link rel="stylesheet" type="text/css" href="{{ $css }}" />
10
    @if($modx->getConfig('show_picker'))
11
        <link rel="stylesheet" href="media/style/common/spectrum/spectrum.css" />
12
        <link rel="stylesheet" type="text/css" href="{{ ManagerTheme::getThemeUrl() }}css/color.switcher.css" />
13
    @endif
14
    <link rel="icon" type="image/ico" href="{{ ManagerTheme::getStyle('favicon') }}" />
15
    <style>
16
        #tree { width: {{ $MODX_widthSideBar }}rem }
17
        #main, #resizer { left: {{ $MODX_widthSideBar }}rem }
18
        .ios #main { -webkit-overflow-scrolling: touch; overflow-y: scroll; }
19
    </style>
20
    <script type="text/javascript">
21
        if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {
22
            document.documentElement.className += ' ios';
23
        }
24
    </script>
25
    <script src="media/script/jquery/jquery.min.js" type="text/javascript"></script>
26
    <script type="text/javascript">
27
        // GLOBAL variable modx
28
        var modx = {
29
            MGR_DIR: '{{ MGR_DIR }}',
30
            MODX_SITE_URL: '{{ MODX_SITE_URL }}',
31
            MODX_MANAGER_URL: '{{ MODX_MANAGER_URL }}',
32
            user: {
33
                role: {{ (int)$user['role'] }},
34
                username: '{{ $user['username'] }}'
35
            },
36
            config: {
37
                mail_check_timeperiod: {{ $modx->getConfig('mail_check_timeperiod') }},
38
                menu_height: {{ (int)$modx->getConfig('manager_menu_height') }},
39
                tree_width: {{ (int)$MODX_widthSideBar }},
40
                tree_min_width: <?= (int)$tree_min_width ?>,
41
                session_timeout: <?= (int)$modx->getConfig('session_timeout') ?>,
42
                site_start: <?= (int)$modx->getConfig('site_start') ?>,
43
                tree_page_click: {{ $modx->getConfig('tree_page_click') }},
44
                theme: '{{ ManagerTheme::getTheme() }}',
45
                theme_mode: '{{ ManagerTheme::getThemeStyle() }}',
46
                which_browser: '<?= $user['which_browser'] ?>',
47
                layout: <?= (int)$modx->getConfig('manager_layout') ?>,
48
                textdir: '<?= ManagerTheme::getTextDir() ?>',
49
                global_tabs: <?= $modx->getConfig('global_tabs') ?>
50
51
            },
52
            lang: {
53
                already_deleted: "<?= $_lang['already_deleted'] ?>",
54
                cm_unknown_error: "<?= $_lang['cm_unknown_error'] ?>",
55
                collapse_tree: "<?= $_lang['collapse_tree'] ?>",
56
                confirm_delete_resource: "<?= $_lang['confirm_delete_resource'] ?>",
57
                confirm_empty_trash: "<?= $_lang['confirm_empty_trash'] ?>",
58
                confirm_publish: "<?= $_lang['confirm_publish'] ?>",
59
                confirm_remove_locks: "<?= $_lang['confirm_remove_locks'] ?>",
60
                confirm_resource_duplicate: "<?= $_lang['confirm_resource_duplicate'] ?>",
61
                confirm_undelete: "<?= $_lang['confirm_undelete'] ?>",
62
                confirm_unpublish: "<?= $_lang['confirm_unpublish'] ?>",
63
                empty_recycle_bin: "<?= $_lang['empty_recycle_bin'] ?>",
64
                empty_recycle_bin_empty: "<?= $_lang['empty_recycle_bin_empty'] ?>",
65
                error_no_privileges: "<?= $_lang["error_no_privileges"] ?>",
66
                expand_tree: "<?= $_lang['expand_tree'] ?>",
67
                inbox: "<?= $_lang['inbox'] ?>",
68
                loading_doc_tree: "<?= $_lang['loading_doc_tree'] ?>",
69
                loading_menu: "<?= $_lang['loading_menu'] ?>",
70
                not_deleted: "<?= $_lang['not_deleted'] ?>",
71
                unable_set_link: "<?= $_lang['unable_set_link'] ?>",
72
                unable_set_parent: "<?= $_lang['unable_set_parent'] ?>",
73
                working: "<?= $_lang['working'] ?>",
74
                paging_prev: "<?= $_lang["paging_prev"] ?>"
75
            },
76
            style: {
77
                actions_file: '<?= addslashes($_style['actions_file']) ?>',
78
                actions_pencil: '<?= addslashes($_style['actions_pencil']) ?>',
79
                actions_plus: '<?= addslashes($_style['actions_plus']) ?>',
80
                actions_reply: '<?= addslashes($_style['actions_reply']) ?>',
81
                collapse_tree: '<?= addslashes('<i class="fa fa-arrow-circle-up"></i>') ?>',
82
                email: '<?= addslashes('<i class="fa fa-envelope"></i>') ?>',
83
                empty_recycle_bin: '<?= addslashes('<i class="fa fa-trash"></i>') ?>',
84
                empty_recycle_bin_empty: '<?= addslashes('<i class="fa fa-trash-o"></i>') ?>',
85
                expand_tree: '<?= addslashes('<i class="fa fa-arrow-circle-down"></i>') ?>',
86
                icons_external_link: '<?= addslashes('<i class="fa fa-external-link"></i>') ?>',
87
                icons_working: '<?= addslashes($_style['tree_working']) ?>',
88
                tree_info: '<?= addslashes($_style['tree_info']) ?>',
89
                tree_folder: '<?= addslashes($_style['tree_folder_new']) ?>',
90
                tree_folder_secure: '<?= addslashes($_style['tree_folder_secure']) ?>',
91
                tree_folderopen: '<?= addslashes($_style['tree_folderopen_new']) ?>',
92
                tree_folderopen_secure: '<?= addslashes($_style['tree_folderopen_secure']) ?>',
93
                tree_minusnode: '<?= addslashes($_style["tree_minusnode"]) ?>',
94
                tree_plusnode: '<?= addslashes($_style['tree_plusnode']) ?>',
95
                tree_preview_resource: '<?= addslashes($_style['tree_preview_resource']) ?>'
96
            },
97
            permission: {
98
                assets_images: <?= $modx->hasPermission('assets_images') ? 1 : 0 ?>,
99
                delete_document: <?= $modx->hasPermission('delete_document') ? 1 : 0 ?>,
100
                edit_chunk: <?= $modx->hasPermission('edit_chunk') ? 1 : 0 ?>,
101
                edit_plugin: <?= $modx->hasPermission('edit_plugin') ? 1 : 0 ?>,
102
                edit_snippet: <?= $modx->hasPermission('edit_snippet') ? 1 : 0 ?>,
103
                edit_template: <?= $modx->hasPermission('edit_template') ? 1 : 0 ?>,
104
                messages: <?= $modx->hasPermission('messages') ? 1 : 0 ?>,
105
                new_document: <?= $modx->hasPermission('new_document') ? 1 : 0 ?>,
106
                publish_document: <?= $modx->hasPermission('publish_document') ? 1 : 0 ?>,
107
                dragndropdocintree: <?= ($modx->hasPermission('new_document') && $modx->hasPermission('edit_document') && $modx->hasPermission('save_document') ? 1 : 0) ?>
108
109
            },
110
            plugins: {
111
                ElementsInTree: <?= isset($modx->pluginCache['ElementsInTree']) ? 1 : 0 ?>,
112
                EVOmodal: <?= isset($modx->pluginCache['EVO.modal']) ? 1 : 0 ?>
113
114
            },
115
            extend: function() {
116
                for (var i = 1; i < arguments.length; i++) {
117
                    for (var key in arguments[i]) {
118
                        if (arguments[i].hasOwnProperty(key)) {
119
                            arguments[0][key] = arguments[i][key];
120
                        }
121
                    }
122
                }
123
                return arguments[0];
124
            },
125
            extended: function(a) {
126
                for (var b in a) {
127
                    this[b] = a[b];
128
                }
129
                delete a[b];
130
            },
131
            openedArray: [],
132
            lockedElementsTranslation: <?= json_encode($unlockTranslations, JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE) . "\n" ?>
133
        };
134
        <?php
135
        $opened = array_filter(
136
            array_map(
137
                'intval',
138
                explode(
139
                    '|',
140
                    isset($_SESSION['openedArray']) && is_scalar($_SESSION['openedArray']) ? $_SESSION['openedArray'] : ''
141
                )
142
            )
143
        );
144
        echo (empty($opened) ? '' : 'modx.openedArray[' . implode("] = 1;\n		modx.openedArray[", $opened) . '] = 1;') . "\n";
145
        ?>
146
    </script>
147
    <script src="{{ ManagerTheme::getThemeUrl() }}js/modx.min.js?v=<?= EVO_INSTALL_TIME ?>"></script>
148
    <?php if ($modx->getConfig('show_picker')) { ?>
149
    <script src="media/script/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
150
    <script src="media/script/spectrum/spectrum.evo.min.js" type="text/javascript"></script>
151
    <script src="{{ ManagerTheme::getThemeUrl() }}js/color.switcher.js" type="text/javascript"></script>
152
    <?php } ?>
153
    <?php
154
    // invoke OnManagerTopPrerender event
155
    $evtOut = $modx->invokeEvent('OnManagerTopPrerender', $_REQUEST);
156
    if (is_array($evtOut)) {
157
        echo implode("\n", $evtOut);
158
    }
159
    ?>
160
</head>
161
<body class="<?= $body_class ?>">
162
<input type="hidden" name="sessToken" id="sessTokenInput" value="<?= isset($_SESSION['mgrToken']) ? $_SESSION['mgrToken'] : '' ?>" />
163
<div id="frameset">
164
    <div id="mainMenu" class="dropdown">
165
        <div class="container">
166
            <div class="row">
167
                <div class="cell" data-evocp="bgmColor">
168
                {!! $menu !!}
169
                </div>
170
                <div class="cell" data-evocp="bgmColor">
171
                    <ul id="settings" class="nav">
172
                        <li id="searchform">
173
                            <form action="index.php?a=71" method="post" target="main">
174
                                <input type="hidden" value="Search" name="submitok" />
175
                                <label for="searchid" class="label_searchid">
176
                                    <i class="fa fa-search"></i>
177
                                </label>
178
                                <input type="text" id="searchid" name="searchid" size="25" />
179
                                <div class="mask"></div>
180
                            </form>
181
                        </li>
182
                        @if ($modx->getConfig('show_newresource_btn') && $modx->hasPermission('new_document'))
183
                            <li id="newresource" class="dropdown newresource">
184
                                <a href="javascript:;" class="dropdown-toggle" onclick="return false;" title="<?= $_lang['add_resource'] ?>"><i class="fa fa-plus"></i></a>
185
                                <ul class="dropdown-menu">
186
                                    <?php if ($modx->hasPermission('new_document')) { ?>
187
                                    <li>
188
                                        <a onclick="" href="index.php?a=4" target="main">
189
                                            <i class="fa fa-file"></i><?= $_lang['add_resource'] ?>
190
                                        </a>
191
                                    </li>
192
                                    <li>
193
                                        <a onclick="" href="index.php?a=72" target="main">
194
                                            <i class="fa fa-link"></i><?= $_lang['add_weblink'] ?>
195
                                        </a>
196
                                    </li>
197
                                    <?php } ?>
198
                                    @if ($modx->getConfig('use_browser') && $modx->hasPermission('assets_images'))
199
                                        <li>
200
                                            <a onclick="" href="media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?&type=images" target="main">
201
                                                <i class="fa fa-camera"></i><?= $_lang['images_management'] ?>
202
                                            </a>
203
                                        </li>
204
                                    @endif
205
                                    @if($modx->getConfig('use_browser') && $modx->hasPermission('assets_files'))
206
                                        <li>
207
                                            <a onclick="" href="media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?&type=files" target="main">
208
                                                <i class="fa fa-files-o"></i><?= $_lang['files_management'] ?>
209
                                            </a>
210
                                        </li>
211
                                    @endif
212
                                </ul>
213
                            </li>
214
                        @endif
215
                        <li id="preview">
216
                            <a href="../" target="_blank" title="<?= $_lang['preview'] ?>">
217
                                <i class="fa fa-desktop"></i>
218
                            </a>
219
                        </li>
220
                        <li id="account" class="dropdown account">
221
                            <a href="javascript:;" class="dropdown-toggle" onclick="return false;">
222
                                <span class="username"><?= entities($user['username'], $modx->getConfig('modx_charset')) ?></span>
223
                                <?php if ($user['photo']) { ?>
224
                                <span class="icon photo" style="background-image: url(<?= MODX_SITE_URL . entities($user['photo'], $modx->getConfig('modx_charset')) ?>);"></span>
225
                                <?php } else { ?>
226
                                <span class="icon"><i class="fa fa-user-circle"></i></span>
227
                                <?php } ?>
228
                                <i id="msgCounter"></i>
229
                            </a>
230
                            <ul class="dropdown-menu">
231
                                <?php if ($modx->hasPermission('messages')): ?>
232
                                <li id="newMail"></li>
233
                                <?php endif; ?>
234
                                <?php if ($modx->hasPermission('change_password')) { ?>
235
                                <li>
236
                                    <a onclick="" href="index.php?a=28" target="main">
237
                                        <i class="fa fa-lock"></i><?= $_lang['change_password'] ?>
238
                                    </a>
239
                                </li>
240
                                <?php } ?>
241
                                <li>
242
                                    <a href="index.php?a=8">
243
                                        <i class="fa fa-sign-out"></i><?= $_lang['logout'] ?>
244
                                    </a>
245
                                </li>
246
                                <?php
247
                                $style = $modx->getConfig('settings_version') !== $modx->getVersionData('version') ? 'style="color:#ffff8a;"' : '';
248
                                $version = 'Evolution';
249
                                ?>
250
                                <?php
251
                                echo sprintf('<li><span class="dropdown-item" title="%s &ndash; %s" %s>' . $version . ' %s</span></li>', $modx->getPhpCompat()->entities($modx->getConfig('site_name')), $modx->getVersionData('full_appname'), $style, $modx->getConfig('settings_version'));
252
                                ?>
253
                            </ul>
254
                        </li>
255
                        <?php if ($modx->hasPermission('settings') || $modx->hasPermission('view_eventlog') || $modx->hasPermission('logs') || $modx->hasPermission('help')) { ?>
256
                        <li id="system" class="dropdown">
257
                            <a href="javascript:;" class="dropdown-toggle" title="<?= $_lang['system'] ?>" onclick="return false;"><i class="fa fa-cogs"></i></a>
258
                            <ul class="dropdown-menu">
259
                                <?php if ($modx->hasPermission('settings')) { ?>
260
                                <li>
261
                                    <a href="index.php?a=17" target="main">
262
                                        <i class="fa fa-sliders fw"></i><?= $_lang['edit_settings'] ?>
263
                                    </a>
264
                                </li>
265
                                <?php } ?>
266
                                <?php if ($modx->hasPermission('view_eventlog')) { ?>
267
                                <li>
268
                                    <a href="index.php?a=70" target="main">
269
                                        <i class="fa fa-calendar"></i><?= $_lang['site_schedule'] ?>
270
                                    </a>
271
                                </li>
272
                                <?php } ?>
273
                                <?php if ($modx->hasPermission('view_eventlog')) { ?>
274
                                <li>
275
                                    <a href="index.php?a=114" target="main">
276
                                        <i class="fa fa-exclamation-triangle"></i><?= $_lang['eventlog_viewer'] ?>
277
                                    </a>
278
                                </li>
279
                                <?php } ?>
280
                                <?php if ($modx->hasPermission('logs')) { ?>
281
                                <li>
282
                                    <a href="index.php?a=13" target="main">
283
                                        <i class="fa fa-user-secret"></i><?= $_lang['view_logging'] ?>
284
                                    </a>
285
                                </li>
286
                                <li>
287
                                    <a href="index.php?a=53" target="main">
288
                                        <i class="fa fa-info-circle"></i><?= $_lang['view_sysinfo'] ?>
289
                                    </a>
290
                                </li>
291
                                <?php } ?>
292
                                <?php if ($modx->hasPermission('help')) { ?>
293
                                <li>
294
                                    <a href="index.php?a=9" target="main">
295
                                        <i class="fa fa-question-circle"></i><?= $_lang['help'] ?>
296
                                    </a>
297
                                </li>
298
                                <?php } ?>
299
                            </ul>
300
                        </li>
301
                        <?php } ?>
302
                        @if($modx->getConfig('show_fullscreen_btn'))
303
                            <li id="fullscreen">
304
                                <a href="javascript:;" onclick="toggleFullScreen();" id="toggleFullScreen" title="<?= $_lang["toggle_fullscreen"] ?>">
305
                                    <i class="fa fa-expand"></i>
306
                                </a>
307
                            </li>
308
                        @endif
309
                    </ul>
310
                </div>
311
            </div>
312
        </div>
313
    </div>
314
    <div id="tree">
315
        <?php
316
        // invoke OnManagerTreeInit event
317
        $evtOut = $modx->invokeEvent('OnManagerTreeInit', $_REQUEST);
318
        if(is_array($evtOut)) {
319
            echo implode("\n", $evtOut);
320
        }
321
        ?>
322
323
        <div class="treeframebody">
324
            <div id="treeMenu">
325
326
                <a class="treeButton" id="treeMenu_expandtree" onclick="modx.tree.expandTree();" title="<?php echo $_lang['expand_tree']; ?>"><i class="fa fa-arrow-circle-down"></i></a>
327
328
                <a class="treeButton" id="treeMenu_collapsetree" onclick="modx.tree.collapseTree();" title="<?php echo $_lang['collapse_tree']; ?>"><i class="fa fa-arrow-circle-up"></i></a>
329
330
                <?php if($modx->hasPermission('new_document')) { ?>
331
                <a class="treeButton" id="treeMenu_addresource" onclick="modx.tabs({url:'<?= MODX_MANAGER_URL ?>?a=4', title: '<?php echo $_lang['add_resource']; ?>'});" title="<?php echo $_lang['add_resource']; ?>"><i class="fa fa-file"></i></a>
332
                <a class="treeButton" id="treeMenu_addweblink" onclick="modx.tabs({url:'<?= MODX_MANAGER_URL ?>?a=72', title: '<?php echo $_lang['add_weblink']; ?>'});" title="<?php echo $_lang['add_weblink']; ?>"><i class="fa fa-link"></i></a>
333
                <?php } ?>
334
335
                <a class="treeButton" id="treeMenu_refreshtree" onclick="modx.tree.restoreTree();" title="<?php echo $_lang['refresh_tree']; ?>"><i class="fa fa-refresh"></i></a>
336
337
                <a class="treeButton" id="treeMenu_sortingtree" onclick="modx.tree.showSorter(event);" title="<?php echo $_lang['sort_tree']; ?>"><i class="fa fa-sort"></i></a>
338
339
                <?php if($modx->hasPermission('edit_document') && $modx->hasPermission('save_document')) { ?>
340
                <a class="treeButton" id="treeMenu_sortingindex" onclick="modx.tabs({url: '<?= MODX_MANAGER_URL ?>?a=56&id=0', title: '<?php echo $_lang['sort_menuindex']; ?>'});" title="<?php echo $_lang['sort_menuindex']; ?>"><i class="fa fa-sort-numeric-asc"></i></a>
341
                <?php } ?>
342
343
                @if($modx->getConfig('use_browser') && $modx->hasPermission('assets_images'))
344
                <a class="treeButton" id="treeMenu_openimages" title="<?php echo $_lang["images_management"] . "\n" . $_lang['em_button_shift'] ?>"><i class="fa fa-camera"></i></a>
345
                @endif
346
347
                @if($modx->getConfig('use_browser') && $modx->hasPermission('assets_files'))
348
                <a class="treeButton" id="treeMenu_openfiles" title="<?php echo $_lang["files_management"] . "\n" . $_lang['em_button_shift'] ?>"><i class="fa fa-files-o"></i></a>
349
                @endif
350
351
                <?php if($modx->hasPermission('edit_template') || $modx->hasPermission('edit_snippet') || $modx->hasPermission('edit_chunk') || $modx->hasPermission('edit_plugin')) { ?>
352
                <a class="treeButton" id="treeMenu_openelements" title="<?php echo $_lang["element_management"] . "\n" . $_lang['em_button_shift'] ?>"><i class="fa fa-th"></i></a>
353
                <?php } ?>
354
355
                <?php if($modx->hasPermission('empty_trash')) { ?>
356
                <a class="treeButton treeButtonDisabled" id="treeMenu_emptytrash" title="<?php echo $_lang['empty_recycle_bin_empty']; ?>"><i class="fa fa-trash-o"></i></a>
357
                <?php } ?>
358
359
                <a class="treeButton" id="treeMenu_theme_dark" onclick="modx.tree.toggleTheme(event)" title="<?php echo $_lang['manager_theme_mode_title']; ?>><i class="fa fa-adjust"></i></a>
360
361
            </div>
362
363
            <div id="treeHolder">
364
                <?php
365
                // invoke OnManagerTreePrerender event
366
                $evtOut = $modx->invokeEvent('OnManagerTreePrerender', $modx->getDatabase()->escape($_REQUEST));
367
                if(is_array($evtOut)) {
368
                    echo implode("\n", $evtOut);
369
                }
370
                $siteName = $modx->getPhpCompat()->entities($modx->getConfig('site_name'));
371
                ?>
372
                <div id="node0" class="rootNode"><a class="node" onclick="modx.tree.treeAction(event, 0)" data-id="0" data-title-esc="<?=$siteName?>"><span class="icon"><?php echo $_style['tree_showtree']; ?></span><span class="title"><?=$siteName?></span></a>
373
                    <div id="treeloader"><i class="fa fa-cog fa-spin fa-3x fa-fw"></i></div>
374
                </div>
375
                <div id="treeRoot"></div>
376
                <?php
377
                // invoke OnManagerTreeRender event
378
                $evtOut = $modx->invokeEvent('OnManagerTreeRender', $modx->getDatabase()->escape($_REQUEST));
379
                if(is_array($evtOut)) {
380
                    echo implode("\n", $evtOut);
381
                }
382
                ?>
383
            </div>
384
        </div>
385
    </div>
386
    <div id="main">
387
        @if ($modx->getConfig('global_tabs'))
388
            <div class="tab-row-container evo-tab-row">
389
                <div class="tab-row"><h2 id="evo-tab-home" class="tab selected" data-target="evo-tab-page-home"><i class="fa fa-home"></i></h2></div>
390
            </div>
391
            <div id="evo-tab-page-home" class="evo-tab-page show iframe-scroller">
392
                <iframe id="mainframe" src="index.php?a=<?= $initMainframeAction ?>" scrolling="auto" frameborder="0" onload="modx.main.onload(event);"></iframe>
393
            </div>
394
        @else
395
            <div class="iframe-scroller">
396
                <iframe id="mainframe" name="main" src="index.php?a=<?= $initMainframeAction ?>" scrolling="auto" frameborder="0" onload="modx.main.onload(event);"></iframe>
397
            </div>
398
        @endif
399
        <script>
400
            if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {
401
                document.getElementById('mainframe').setAttribute('scrolling', 'no');
402
                document.getElementsByClassName("tabframes").setAttribute("scrolling", "no");
403
            }
404
        </script>
405
        <div id="mainloader"></div>
406
    </div>
407
    <div id="resizer"></div>
408
    <div id="searchresult"></div>
409
410
    <div id="floater" class="dropdown">
411
        <?php
412
        $sortParams = array(
413
            'tree_sortby',
414
            'tree_sortdir',
415
            'tree_nodename'
416
        );
417
        foreach ($sortParams as $param) {
418
            if (isset($_REQUEST[$param])) {
419
                $modx->getManagerApi()->saveLastUserSetting($param, $_REQUEST[$param]);
420
                $_SESSION[$param] = $_REQUEST[$param];
421
            } else if (!isset($_SESSION[$param])) {
422
                $_SESSION[$param] = $modx->getManagerApi()->getLastUserSetting($param);
423
            }
424
        }
425
        ?>
426
        <form name="sortFrm" id="sortFrm">
427
            <div class="form-group">
428
                <input type="hidden" name="dt" value="<?= (isset($_REQUEST['dt']) ? htmlspecialchars($_REQUEST['dt'])
429
                    : '') ?>" />
430
                <label><?= $_lang["sort_tree"] ?></label>
431
                <select name="sortby" class="form-control">
432
                    <option value="isfolder" <?= $_SESSION['tree_sortby'] == 'isfolder' ? "selected='selected'" : "" ?>><?= $_lang['folder'] ?></option>
433
                    <option value="pagetitle" <?= $_SESSION['tree_sortby'] == 'pagetitle' ? "selected='selected'" : "" ?>><?= $_lang['pagetitle'] ?></option>
434
                    <option value="longtitle" <?= $_SESSION['tree_sortby'] == 'longtitle' ? "selected='selected'" : "" ?>><?= $_lang['long_title'] ?></option>
435
                    <option value="id" <?= $_SESSION['tree_sortby'] == 'id' ? "selected='selected'" : "" ?>><?= $_lang['id'] ?></option>
436
                    <option value="menuindex" <?= $_SESSION['tree_sortby'] == 'menuindex' ? "selected='selected'" : "" ?>><?= $_lang['resource_opt_menu_index'] ?></option>
437
                    <option value="createdon" <?= $_SESSION['tree_sortby'] == 'createdon' ? "selected='selected'" : "" ?>><?= $_lang['createdon'] ?></option>
438
                    <option value="editedon" <?= $_SESSION['tree_sortby'] == 'editedon' ? "selected='selected'" : "" ?>><?= $_lang['editedon'] ?></option>
439
                    <option value="publishedon" <?= $_SESSION['tree_sortby'] == 'publishedon' ? "selected='selected'" : "" ?>><?= $_lang['page_data_publishdate'] ?></option>
440
                    <option value="alias" <?= $_SESSION['tree_sortby'] == 'alias' ? "selected='selected'" : "" ?>><?= $_lang['page_data_alias'] ?></option>
441
                </select>
442
            </div>
443
            <div class="form-group">
444
                <select name="sortdir" class="form-control">
445
                    <option value="DESC" <?= $_SESSION['tree_sortdir'] == 'DESC' ? "selected='selected'" : "" ?>><?= $_lang['sort_desc'] ?></option>
446
                    <option value="ASC" <?= $_SESSION['tree_sortdir'] == 'ASC' ? "selected='selected'" : "" ?>><?= $_lang['sort_asc'] ?></option>
447
                </select>
448
            </div>
449
            <div class="form-group">
450
                <label><?= $_lang["setting_resource_tree_node_name"] ?></label>
451
                <select name="nodename" class="form-control">
452
                    <option value="default" <?= $_SESSION['tree_nodename'] == 'default' ? "selected='selected'" : "" ?>><?= trim($_lang['default'], ':') ?></option>
453
                    <option value="pagetitle" <?= $_SESSION['tree_nodename'] == 'pagetitle' ? "selected='selected'" : "" ?>><?= $_lang['pagetitle'] ?></option>
454
                    <option value="longtitle" <?= $_SESSION['tree_nodename'] == 'longtitle' ? "selected='selected'" : "" ?>><?= $_lang['long_title'] ?></option>
455
                    <option value="menutitle" <?= $_SESSION['tree_nodename'] == 'menutitle' ? "selected='selected'" : "" ?>><?= $_lang['resource_opt_menu_title'] ?></option>
456
                    <option value="alias" <?= $_SESSION['tree_nodename'] == 'alias' ? "selected='selected'" : "" ?>><?= $_lang['alias'] ?></option>
457
                    <option value="createdon" <?= $_SESSION['tree_nodename'] == 'createdon' ? "selected='selected'" : "" ?>><?= $_lang['createdon'] ?></option>
458
                    <option value="editedon" <?= $_SESSION['tree_nodename'] == 'editedon' ? "selected='selected'" : "" ?>><?= $_lang['editedon'] ?></option>
459
                    <option value="publishedon" <?= $_SESSION['tree_nodename'] == 'publishedon' ? "selected='selected'" : "" ?>><?= $_lang['page_data_publishdate'] ?></option>
460
                </select>
461
            </div>
462
            <div class="form-group">
463
                <label>
464
                    <input type="checkbox" name="showonlyfolders" value="<?= ($_SESSION['tree_show_only_folders'] ? 1 : '') ?>" onclick="this.value = (this.value ? '' : 1);" <?= ($_SESSION['tree_show_only_folders'] ? '' : ' checked="checked"') ?> /> <?= $_lang['view_child_resources_in_container'] ?></label>
465
            </div>
466
            <div class="text-center">
467
                <a href="javascript:;" class="btn btn-primary" onclick="modx.tree.updateTree();modx.tree.showSorter(event);" title="<?= $_lang['sort_tree'] ?>"><?= $_lang['sort_tree'] ?></a>
468
            </div>
469
        </form>
470
    </div>
471
472
<?php
473
if(!function_exists('constructLink')) {
474
    /**
475
     * @param string $action
476
     * @param string $img
477
     * @param string $text
478
     * @param bool $allowed
479
     */
480
    function constructLink($action, $img, $text, $allowed)
481
    {
482
        if ((bool)$allowed) {
483
            echo sprintf('<div class="menuLink" id="item%s" onclick="modx.tree.menuHandler(%s);">', $action,
484
                $action);
485
            echo sprintf('<i class="%s"></i> %s</div>', $img, $text);
486
        }
487
    }
488
}
489
?>
490
491
<!-- Contextual Menu Popup Code -->
492
    <div id="mx_contextmenu" class="dropdown" onselectstart="return false;">
493
        <div id="nameHolder">&nbsp;</div>
494
        <?php
495
        constructLink(3, 'fa fa-file-o', $_lang["create_resource_here"], $modx->hasPermission('new_document')); // new Resource
496
        constructLink(2, 'fa fa-pencil-square-o', $_lang["edit_resource"], $modx->hasPermission('edit_document')); // edit
497
        constructLink(5, 'fa fa-arrows', $_lang["move_resource"], $modx->hasPermission('save_document')); // move
498
        constructLink(7, 'fa fa-clone', $_lang["resource_duplicate"], $modx->hasPermission('new_document')); // duplicate
499
        constructLink(11, 'fa fa-sort-numeric-asc', $_lang["sort_menuindex"], !!($modx->hasPermission('edit_document') && $modx->hasPermission('save_document'))); // sort menu index
500
        ?>
501
        <div class="seperator"></div>
502
        <?php
503
        constructLink(9, 'fa fa-arrow-up', $_lang["publish_resource"], $modx->hasPermission('publish_document')); // publish
504
        constructLink(10, 'fa fa-arrow-down', $_lang["unpublish_resource"], $modx->hasPermission('publish_document')); // unpublish
505
        constructLink(4, 'fa fa-trash', $_lang["delete_resource"], $modx->hasPermission('delete_document')); // delete
506
        constructLink(8, 'fa fa-arrow-circle-o-up', $_lang["undelete_resource"], $modx->hasPermission('delete_document')); // undelete
507
        ?>
508
        <div class="seperator"></div>
509
        <?php
510
        constructLink(6, 'fa fa-link', $_lang["create_weblink_here"], $modx->hasPermission('new_document')); // new Weblink
511
        ?>
512
        <div class="seperator"></div>
513
        <?php
514
        constructLink(1, 'fa fa-info', $_lang["resource_overview"], $modx->hasPermission('view_document')); // view
515
        constructLink(12, 'fa fa-eye', $_lang["preview_resource"], 1); // preview
0 ignored issues
show
Documentation introduced by
1 is of type integer, but the function expects a boolean.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
516
        ?>
517
518
    </div>
519
520
    <script type="text/javascript">
521
522
        if (document.getElementById('treeMenu')) {
523
            <?php if($modx->hasPermission('edit_template') || $modx->hasPermission('edit_snippet') || $modx->hasPermission('edit_chunk') || $modx->hasPermission('edit_plugin')) { ?>
524
525
            document.getElementById('treeMenu_openelements').onclick = function(e) {
526
                e.preventDefault();
527
                if (modx.config.global_tabs && !e.shiftKey) {
528
                    modx.tabs({url: '<?= MODX_MANAGER_URL ?>index.php?a=76', title: '<?= $_lang["elements"] ?>'});
529
                } else {
530
                    var randomNum = '<?= $_lang["elements"] ?>';
531
                    if (e.shiftKey) {
532
                        randomNum += ' #' + Math.floor((Math.random() * 999999) + 1);
533
                    }
534
                    modx.openWindow({
535
                        url: '<?= MODX_MANAGER_URL ?>index.php?a=76',
536
                        title: randomNum
537
                    });
538
                }
539
            };
540
            <?php } ?>
541
            @if($modx->getConfig('use_browser') && $modx->hasPermission('assets_images'))
542
543
            document.getElementById('treeMenu_openimages').onclick = function(e) {
544
                e.preventDefault();
545
                if (modx.config.global_tabs && !e.shiftKey) {
546
                    modx.tabs({url: '<?= MODX_MANAGER_URL ?>media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?filemanager=media/browser/{{ $modx->getConfig('which_browser') }}/browse.php&type=images', title: '<?= $_lang["images_management"] ?>'});
547
                } else {
548
                    var randomNum = '<?= $_lang["files_files"] ?>';
549
                    if (e.shiftKey) {
550
                        randomNum += ' #' + Math.floor((Math.random() * 999999) + 1);
551
                    }
552
                    modx.openWindow({
553
                        url: '<?= MODX_MANAGER_URL ?>media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?&type=images',
554
                        title: randomNum
555
                    });
556
                }
557
            };
558
            @endif
559
            @if($modx->getConfig('use_browser') && $modx->hasPermission('assets_files'))
560
561
            document.getElementById('treeMenu_openfiles').onclick = function(e) {
562
                e.preventDefault();
563
                if (modx.config.global_tabs && !e.shiftKey) {
564
                    modx.tabs({url: '<?= MODX_MANAGER_URL ?>media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?filemanager=media/browser/{{ $modx->getConfig('which_browser') }}/browse.php&type=files', title: '<?= $_lang["files_files"] ?>'});
565
                } else {
566
                    var randomNum = '<?= $_lang["files_files"] ?>';
567
                    if (e.shiftKey) {
568
                        randomNum += ' #' + Math.floor((Math.random() * 999999) + 1);
569
                    }
570
                    modx.openWindow({
571
                        url: '<?= MODX_MANAGER_URL ?>media/browser/{{ $modx->getConfig('which_browser') }}/browse.php?&type=files',
572
                        title: randomNum
573
                    });
574
                }
575
            };
576
            @endif
577
578
        }
579
580
    </script>
581
    @if ($modx->getConfig('show_fullscreen_btn'))
582
        <script>
583
            function toggleFullScreen()
584
            {
585
                if ((document.fullScreenElement && document.fullScreenElement !== null) ||
586
                    (!document.mozFullScreen && !document.webkitIsFullScreen)) {
587
                    if (document.documentElement.requestFullScreen) {
588
                        document.documentElement.requestFullScreen();
589
                    } else if (document.documentElement.mozRequestFullScreen) {
590
                        document.documentElement.mozRequestFullScreen();
591
                    } else if (document.documentElement.webkitRequestFullScreen) {
592
                        document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
593
                    }
594
                } else {
595
                    if (document.cancelFullScreen) {
596
                        document.cancelFullScreen();
597
                    } else if (document.mozCancelFullScreen) {
598
                        document.mozCancelFullScreen();
599
                    } else if (document.webkitCancelFullScreen) {
600
                        document.webkitCancelFullScreen();
601
                    }
602
                }
603
            }
604
605
            $('#toggleFullScreen').click(function() {
606
                var icon = $(this).find('i');
607
                icon.toggleClass('fa-expand fa-compress');
608
            });
609
        </script>
610
    @endif
611
    {!! $modx->invokeEvent('OnManagerFrameLoader', ['action' => ManagerTheme::getActionId()]); !!}
612
</div>
613
@if($modx->getConfig('show_picker'))
614
    <div class="evocp-box">
615
        <div class="evocp-icon"><i class="evocpicon fa fa-paint-brush" aria-hidden="true" ></i></div>
616
        <div class="evocp-frame">
617
            <h2 >COLOR SWITCHER</h2>
618
            <div class="panel panel-default">
619
                <div class="panel-heading">
620
                    <h3 data-toggle="collapse" data-target=".bgmcolors"><i class="fa togglearrow fa-chevron-down" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i> Menu Background</h3><a title="<?= $_lang['reset'] ?>" href="javascript:;" onclick="cleanLocalStorageReloadAll('my_evo_bgmcolor')" class="pull-right resetcolor btn btn-secondary"><i class="fa fa-refresh"></i></a>
621
                </div>
622
                <div class="panel-body collapse in bgmcolors">
623
                    <div class="evocp-bgmcolors">
624
                        <div class="evocp-bgmcolor">#000</div>
625
                        <div class="evocp-bgmcolor">#222</div>
626
                        <div class="evocp-bgmcolor">#333</div>
627
                        <div class="evocp-bgmcolor">#444</div>
628
                        <div class="evocp-bgmcolor">#555</div>
629
                        <div class="evocp-bgmcolor">#777</div>
630
                        <div class="evocp-bgmcolor">#888</div>
631
                        <div class="evocp-bgmcolor">#0f243e</div>
632
                        <div class="evocp-bgmcolor">#548dd4</div>
633
                        <div class="evocp-bgmcolor">#134f5c</div>
634
                        <div class="evocp-bgmcolor">#0b5394</div>
635
                        <div class="evocp-bgmcolor">#351c75</div>
636
                        <div class="evocp-bgmcolor">#741b47</div>
637
                        <div class="evocp-bgmcolor">#900</div>
638
                    </div>
639
                    <input type="color" class="color" id="bgmPicker" name="evocpCustombgmColor" value="#cf2626" placeholder="color code...">
640
                </div>
641
            </div>
642
            <div class="panel panel-default">
643
                <div class="panel-heading">
644
                    <h3 span data-toggle="collapse" data-target=".menuColors"><i class="fa togglearrow fa-chevron-right" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i> Menu links</h3> <a title="<?= $_lang['reset'] ?>" href="javascript:;" onclick="cleanLocalStorageReloadMain('my_evo_menuColor')" class="pull-right resetcolor btn btn-secondary"><i class="fa fa-refresh"></i></a>
645
                </div>
646
                <div class="panel-body collapse menuColors">
647
                    <div class="evocp-menuColors">
648
                        <div class="evocp-menuColor">#000</div>
649
                        <div class="evocp-menuColor">#222</div>
650
                        <div class="evocp-menuColor">#555</div>
651
                        <div class="evocp-menuColor">#666</div>
652
                        <div class="evocp-menuColor evocp_light">#dedede</div>
653
                        <div class="evocp-menuColor evocp_light">#fafafa</div>
654
                        <div class="evocp-menuColor evocp_light">#fff</div>
655
                        <div class="evocp-menuColor">#b45f06</div>
656
                        <div class="evocp-menuColor">#38761d</div>
657
                        <div class="evocp-menuColor">#134f5c</div>
658
                        <div class="evocp-menuColor">#0b5394</div>
659
                        <div class="evocp-menuColor">#351c75</div>
660
                        <div class="evocp-menuColor">#741b47</div>
661
                        <div class="evocp-menuColor">#9d2661</div>
662
                    </div>
663
                    <input class="color" type="color" id="menucolorPicker" name="evocpCustommenuColor" value="#cf2626" placeholder="color code...">
664
                </div>
665
            </div>
666
667
            <div class="panel panel-default">
668
                <div class="panel-heading">
669
                    <h3 data-toggle="collapse" data-target=".menuHColors"><i class="fa togglearrow fa-chevron-right" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i> Menu links:hover </h3><a title="<?= $_lang['reset'] ?>" href="javascript:;" onclick="cleanLocalStorageReloadMain('my_evo_menuHColor')" class="pull-right resetcolor btn btn-secondary"><i class="fa fa-refresh"></i></a>
670
                </div>
671
                <div class="panel-body collapse menuHColors">
672
                    <div class="evocp-menuHColors">
673
                        <div class="evocp-menuHColor">#000</div>
674
                        <div class="evocp-menuHColor">#222</div>
675
                        <div class="evocp-menuHColor">#555</div>
676
                        <div class="evocp-menuHColor">#666</div>
677
                        <div class="evocp-menuHColor evocp_light">#dedede</div>
678
                        <div class="evocp-menuHColor evocp_light">#fafafa</div>
679
                        <div class="evocp-menuHColor evocp_light">#fff</div>
680
                        <div class="evocp-menuHColor">#b45f06</div>
681
                        <div class="evocp-menuHColor">#38761d</div>
682
                        <div class="evocp-menuHColor">#134f5c</div>
683
                        <div class="evocp-menuHColor">#0b5394</div>
684
                        <div class="evocp-menuHColor">#351c75</div>
685
                        <div class="evocp-menuHColor">#741b47</div>
686
                        <div class="evocp-menuHColor">#9d2661</div>
687
                    </div>
688
                    <input class="color" type="color" id="menuHcolorPicker" name="evocpCustommenuHColor" value="#cf2626" placeholder="color code...">
689
                </div>
690
            </div>
691
            <div class="panel panel-default">
692
                <div class="panel-heading">
693
                    <h3 data-toggle="collapse" data-target=".cpcolors"><i class="fa togglearrow fa-chevron-right" aria-hidden="true"></i> <i class="fa fa-font" aria-hidden="true"></i> Text color </h3><a title="<?= $_lang['reset'] ?>" href="javascript:;" onclick="cleanLocalStorageReloadMain('my_evo_color')" class="pull-right resetcolor btn btn-secondary"><i class="fa fa-refresh"></i></a>
694
                </div>
695
                <div class="panel-body collapse cpcolors">
696
                    <div class="evocp-colors">
697
                        <div class="evocp-color">#000</div>
698
                        <div class="evocp-color">#222</div>
699
                        <div class="evocp-color">#333</div>
700
                        <div class="evocp-color">#444</div>
701
                        <div class="evocp-color">#555</div>
702
                        <div class="evocp-color">#777</div>
703
                        <div class="evocp-color">#888</div>
704
                        <div class="evocp-color">#b45f06</div>
705
                        <div class="evocp-color">#38761d</div>
706
                        <div class="evocp-color">#134f5c</div>
707
                        <div class="evocp-color">#0b5394</div>
708
                        <div class="evocp-color">#351c75</div>
709
                        <div class="evocp-color">#741b47</div>
710
                        <div class="evocp-color">#9d2661</div>
711
                    </div>
712
                    <input class="color" type="color" id="textcolorPicker" name="textcolorPicker" value="#cf2626" placeholder="color code...">
713
                </div>
714
            </div>
715
            <div class="panel panel-default">
716
                <div class="panel-heading">
717
                    <h3 data-toggle="collapse" data-target=".alinkcolors"><i class="fa togglearrow fa-chevron-right" aria-hidden="true"></i> <i class="fa fa-link" aria-hidden="true"></i> Links Color</h3> <a title="<?= $_lang['reset'] ?>" href="javascript:;" onclick="cleanLocalStorageReloadMain('my_evo_alinkcolor')" class="pull-right resetcolor btn btn-secondary"><i class="fa fa-refresh"></i></a>
718
                </div>
719
                <div class="panel-body collapse alinkcolors">
720
                    <div class="evocp-alinkcolors">
721
                        <div class="evocp-alinkcolor">#000</div>
722
                        <div class="evocp-alinkcolor">#222</div>
723
                        <div class="evocp-alinkcolor">#555</div>
724
                        <div class="evocp-alinkcolor">#666</div>
725
                        <div class="evocp-alinkcolor">#dedede</div>
726
                        <div class="evocp-alinkcolor">#fafafa</div>
727
                        <div class="evocp-alinkcolor">#fff</div>
728
                        <div class="evocp-alinkcolor">#b45f06</div>
729
                        <div class="evocp-alinkcolor">#38761d</div>
730
                        <div class="evocp-alinkcolor">#134f5c</div>
731
                        <div class="evocp-alinkcolor">#0b5394</div>
732
                        <div class="evocp-alinkcolor">#351c75</div>
733
                        <div class="evocp-alinkcolor">#741b47</div>
734
                        <div class="evocp-alinkcolor">#9d2661</div>
735
                    </div>
736
                    <input class="color" type="color" id="linkcolorPicker" name="alinkcolorPicker" value="#cf2626" placeholder="color code...">
737
                </div>
738
            </div>
739
            <hr/>
740
            <input type="reset" onclick="cleanLocalStorageReloadAll('my_evo_alinkcolor,my_evo_menuColor,my_evo_menuHColor,my_evo_bgmcolor,my_evo_color')" class="btn btn-secondary" value="<?= $_lang['reset'] ?>">
741
        </div>
742
    </div>
743
    <script>
744
        $("#bgmPicker").spectrum({
745
            showButtons: false,
746
            preferredFormat: "hex3",
747
            containerClassName: 'bgmPicker',
748
            showInput: true,
749
            allowEmpty:true
750
        });
751
        $("#menucolorPicker").spectrum({
752
            showButtons: false,
753
            preferredFormat: "hex3",
754
            containerClassName: 'menucolorPicker',
755
            replacerClassName: 'evo-cp-replacer',
756
            showInput: true,
757
            allowEmpty:true
758
        });
759
        $("#menuHcolorPicker").spectrum({
760
            showButtons: false,
761
            preferredFormat: "hex3",
762
            containerClassName: 'menuHcolorPicker',
763
            replacerClassName: 'evo-cp-replacer',
764
            showInput: true,
765
            allowEmpty:true
766
        });
767
        $("#textcolorPicker").spectrum({
768
            showButtons: false,
769
            preferredFormat: "hex3",
770
            containerClassName: 'textcolorPicker',
771
            replacerClassName: 'evo-cp-replacer',
772
            showInput: true,
773
            allowEmpty:true
774
        });
775
        $("#linkcolorPicker").spectrum({
776
            showButtons: false,
777
            preferredFormat: "hex3",
778
            containerClassName: 'linkcolorPicker',
779
            replacerClassName: 'evo-cp-replacer',
780
            showInput: true,
781
            allowEmpty:true
782
        });
783
    </script>
784
@endif
785
</body>
786
</html>
787