Passed
Push — master ( ce4b97...5ce292 )
by Josh
02:14
created

SystemSetting   F

Complexity

Total Complexity 288

Size/Duplication

Total Lines 4500
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 288
eloc 1063
c 0
b 0
f 0
dl 0
loc 4500
rs 1.348

How to fix   Complexity   

Complex Class

Complex classes like SystemSetting often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use SystemSetting, and based on these observations, apply Extract Interface, too.

1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: jgulledge
5
 * Date: 1/2/2018
6
 * Time: 2:21 PM
7
 */
8
9
namespace LCI\Blend\Blendable;
10
11
use LCI\Blend\Blender;
12
13
class SystemSetting extends Blendable
14
{
15
    //use BlendableProperties;
16
17
    /** @var string  */
18
    protected $opt_cache_key = 'settings';
19
20
    /** @var string ex: modResource */
21
    protected $xpdo_simple_object_class = 'modSystemSetting';
22
23
    /** @var string  */
24
    protected $unique_key_column = 'key';
25
26
    /** @var array ~ this should match data to be inserted via xPDO, ex [column_name => value, ...] */
27
    protected $blendable_xpdo_simple_object_data = [
28
        'area' => '',
29
        //'editedon' => date('Y-m-d H:i:s'),
30
        'key' => '',
31
        'namespace' => 'core',
32
        'value' => '',
33
        'xtype' => 'textfield',
34
    ];
35
36
    /** @var array ~ ['setMethodName' => 'setMethodActualName', 'setDoNotUseMethod' => false] overwrite in child classes */
37
    protected $load_from_array_aliases = [
38
        'setProperties' => 'mergePropertiesFromArray'
39
    ];
40
41
    /** @var mixed|bool|string */
42
    protected $current_value;
43
44
    /** @var string */
45
    protected $edited_on;
46
47
    /** @var bool  */
48
    protected $changed = false;
49
50
    /**
51
     * @var array
52
     * Extend by adding comma separted setting keys to: blend.portable.systemSettings.mediaSources,
53
     * blend.portable.systemSettings.resources or blend.portable.systemSettings.templates'
54
     */
55
    protected $portable_settings = [
56
        // setting key => portable type
57
        // Media sources
58
        'default_media_source' => 'media_source',
59
60
        // Resources
61
        'error_page' => 'resource',
62
        'site_start' => 'resource',
63
        'site_unavailable_page' => 'resource',
64
        'tree_root_id' => 'resource',
65
        'unauthorized_page' => 'resource',
66
67
        // Templates
68
        'default_template' => 'template'
69
    ];
70
71
    /**
72
     * Blendable constructor.
73
     *
74
     * @param \modx $modx
75
     * @param Blender $blender
76
     * @param string|array $unique_value
77
     */
78
    public function __construct(\modx $modx, Blender $blender, $unique_value = '')
79
    {
80
        parent::__construct($modx, $blender, $unique_value);
81
        $additional = explode(',', $this->modx->getOption('blend.portable.systemSettings.mediaSources'));
82
        if (count($additional) > 0) {
83
            foreach ($additional as $setting) {
84
                $this->portable_settings[$setting] = 'media_source';
85
            }
86
        }
87
88
        $additional = explode(',', $this->modx->getOption('blend.portable.systemSettings.resources'));
89
        if (count($additional) > 0) {
90
            foreach ($additional as $setting) {
91
                $this->portable_settings[$setting] = 'resource';
92
            }
93
        }
94
95
        $additional = explode(',', $this->modx->getOption('blend.portable.systemSettings.templates'));
96
        if (count($additional) > 0) {
97
            foreach ($additional as $setting) {
98
                $this->portable_settings[$setting] = 'template';
99
            }
100
        }
101
    }
102
103
    /**
104
     * @TODO add methods:
105
     * setPortableAsResource, setPortableAsMediaSource, setPortableAsTemplate
106
     * On blend these methods would add the current key to the related system setting
107
     * On revertBlend it would remove the current key from the related system setting
108
     */
109
110
    /**
111
     * @return Blendable
112
     */
113
    public function getCurrentVersion()
114
    {
115
        /** @var \LCI\Blend\Blendable\Resource $resource */
116
        $resource = new self($this->modx, $this->blender, $this->getFieldName());
117
        return $resource
118
            ->setSeedsDir($this->getSeedsDir());
119
    }
120
121
    /**
122
     * @return bool
123
     */
124
    public function isChanged()
125
    {
126
        if (is_object($this->xPDOSimpleObject) && (
127
                $this->xPDOSimpleObject->get('namespace') != $this->getFieldNamespace() ||
128
                $this->xPDOSimpleObject->get('area') != $this->getFieldArea() ||
129
                $this->xPDOSimpleObject->get('key') != $this->getFieldName() ||
130
                $this->xPDOSimpleObject->get('value') != $this->getFieldValue() ||
131
                $this->xPDOSimpleObject->get('xtype') != $this->getFieldType()
132
            )
133
        ) {
134
            $this->changed = true;
135
        }
136
137
        return $this->changed;
138
    }
139
140
    /**
141
     * Don't call this until the key is set or setting is loaded
142
     * @return bool|string
143
     */
144
    public function getPortableType()
145
    {
146
        $type = false;
147
        switch ($this->getFieldXType()) {
148
            case 'modx-combo-template':
149
                $type = 'template';
150
                break;
151
152
            case 'modx-combo-source':
153
                $type = 'media-source';
154
                break;
155
156
            default:
157
                if (isset($this->portable_settings[$this->getFieldKey()])) {
158
                    $type = $this->portable_settings[$this->getFieldKey()];
159
                }
160
        }
161
        return $type;
162
    }
163
164
    // Getters:
165
    /**
166
     * @return bool|mixed|string ~ the current value of the system setting before blend/save
167
     */
168
    public function getCurrentValue()
169
    {
170
        return $this->current_value;
171
    }
172
173
    /**
174
     * @return string
175
     */
176
    public function getFieldArea()
177
    {
178
        return $this->blendable_xpdo_simple_object_data['area'];
179
    }
180
181
    /**
182
     * @return string
183
     */
184
    public function getEditedOn()
185
    {
186
        return $this->blendable_xpdo_simple_object_data['editedon'];
187
    }
188
189
    /**
190
     * @return string
191
     */
192
    public function getFieldKey()
193
    {
194
        return $this->blendable_xpdo_simple_object_data['key'];
195
    }
196
197
    /**
198
     * @return string ~ alias for getFieldKey()
199
     */
200
    public function getFieldName()
201
    {
202
        return $this->getFieldKey();
203
    }
204
205
    /**
206
     * @return string
207
     */
208
    public function getFieldNamespace()
209
    {
210
        return $this->blendable_xpdo_simple_object_data['namespace'];
211
    }
212
213
    /**
214
     * @return string ~ alias to getFieldXType
215
     */
216
    public function getFieldType()
217
    {
218
        return $this->getFieldXType();
219
    }
220
221
    /**
222
     * @return string
223
     */
224
    public function getFieldXType()
225
    {
226
        return $this->blendable_xpdo_simple_object_data['xtype'];
227
    }
228
229
    /**
230
     * @return bool|mixed|string
231
     */
232
    public function getFieldValue()
233
    {
234
        return $this->blendable_xpdo_simple_object_data['value'];
235
    }
236
    /**
237
     * @param string $type ~ seed or revert
238
     * @return string
239
     */
240
    public function getSeedKey($type = 'seed')
241
    {
242
        $key = $this->blender->getSeedKeyFromName($this->getFieldNamespace().'-'.$this->getFieldName());
243
244
        switch ($type) {
245
            case 'revert':
246
                $seed_key = 'revert-'.$key;
247
                break;
248
249
            case 'seed':
250
                // no break
251
            default:
252
                $seed_key = $key;
253
        }
254
255
        return $seed_key;
256
    }
257
    // Setters:
258
259
260
    /**
261
     * @param string $area
262
     *
263
     * @return SystemSetting
264
     */
265
    public function setFieldArea($area)
266
    {
267
        $this->blendable_xpdo_simple_object_data['area'] = $area;
268
        return $this;
269
    }
270
271
    /**
272
     * @param string $edited_on ~ date('Y-m-d H:i:s')
273
     *
274
     * @return SystemSetting
275
     */
276
    public function setEditedOn($edited_on)
277
    {
278
        $this->blendable_xpdo_simple_object_data['editedon'] = $edited_on;
279
        return $this;
280
    }
281
282
    /**
283
     * @param string $key
284
     *
285
     * @return SystemSetting
286
     */
287
    public function setFieldKey($key)
288
    {
289
        $this->blendable_xpdo_simple_object_data['key'] = $key;
290
        return $this;
291
    }
292
293
    /**
294
     * @param string $name ~ alias method for setFieldKey()
295
     *
296
     * @return SystemSetting
297
     */
298
    public function setFieldName($name)
299
    {
300
        return $this->setFieldKey($name);
301
    }
302
303
    /**
304
     * @param string $namespace
305
     *
306
     * @return SystemSetting
307
     */
308
    public function setFieldNamespace($namespace)
309
    {
310
        $this->blendable_xpdo_simple_object_data['namespace'] = $namespace;
311
        return $this;
312
    }
313
314
    /**
315
     * @see $this->setFieldXType
316
     * @param string $type ~ alias for setFieldXType
317
     *
318
     * @return SystemSetting
319
     */
320
    public function setFieldType($type)
321
    {
322
        return $this->setFieldXType($type);
323
    }
324
325
    /**
326
     * @see https://docs.modx.com/revolution/2.x/administering-your-site/settings/system-settings/#SystemSettings-TypesofSystemSettings
327
     * @param string $xtype
328
     *
329
     * @return SystemSetting
330
     */
331
    public function setFieldXType($xtype)
332
    {
333
        $this->blendable_xpdo_simple_object_data['xtype'] = $xtype;
334
        return $this;
335
    }
336
337
    /**
338
     * @param bool|mixed|string $value
339
     *
340
     * @return SystemSetting
341
     */
342
    public function setFieldValue($value)
343
    {
344
        $this->blendable_xpdo_simple_object_data['value'] = $value;
345
        return $this;
346
    }
347
348
    // @TODO changeName()
349
350
    /**
351
     * @param bool $load_defaults
352
     */
353
    protected function loadObject($load_defaults = false)
354
    {
355
        parent::loadObject();
356
357
        if (is_object($this->xPDOSimpleObject)) {
358
            $this->current_value = $this->xPDOSimpleObject->get('value');
359
360
        }
361
    }
362
363
    protected function convertValue($value)
364
    {
365
        if (is_array($value) && isset($value['type']) && isset($value['portable_value'])) {
366
            switch ($value['type']) {
367
                case 'media_source':
368
                    $mediaSource = $this->modx->getObject('modMediaSource', ['name' => $value['portable_value']]);
369
                    if (is_object($mediaSource)) {
370
                        $value = $mediaSource->get('id');
371
                    }
372
                    break;
373
374
                case 'resource':
375
                    $value = $this->blender->getResourceIDFromSeedKey($value['portable_value']['seed_key'], $value['portable_value']['context']);
376
                    break;
377
378
                case 'template':
379
                    $template = $this->modx->getObject('modTemplate', ['templatename' => $value['portable_value']]);
380
                    if (is_object($template)) {
381
                        $value = $template->get('id');
382
                    }
383
                    break;
384
            }
385
        }
386
387
        return $value;
388
    }
389
390
    protected function seedValue($value)
391
    {
392
        $type = $this->getPortableType();
393
        switch ($type) {
394
            case 'media_source':
395
                $mediaSource = $this->modx->getObject('modMediaSource', $value);
396
                if (is_object($mediaSource)) {
397
                    $value = [
398
                        'type' => 'media_source',
399
                        'portable_value' => $mediaSource->get('name'),
400
                        'value' => $value
401
                    ];
402
                }
403
                break;
404
405
            case 'resource':
406
                $value = [
407
                    'type' => 'resource',
408
                    'portable_value' => $this->blender->getResourceSeedKeyFromID($value),
409
                    'value' => $value
410
                ];
411
                break;
412
413
            case 'template':
414
                $template = $this->modx->getObject('modTemplate', $value);
415
                if (is_object($template)) {
416
                    $value = [
417
                        'type' => 'template',
418
                        'portable_value' => $template->get('templatename'),
419
                        'value' => $value
420
                    ];
421
                }
422
                break;
423
        }
424
425
        return $value;
426
    }
427
428
    /***********************
429
     * Core settings
430
     ***********************/
431
432
    /**
433
     * Check Category Access ~
434
     * Use this to enable or disable Category ACL checks (per Context). <strong>NOTE: If this option is set to no, then ALL Category Access Permissions will be ignored!</strong>
435
     *
436
     * @param bool $value
437
     *
438
     * @return $this
439
     */
440
    public function setCoreAccessCategoryEnabled($value)
441
    {
442
        $this->setFieldName('access_category_enabled');
443
        $this->loadObject(true);
444
        $this->setFieldValue($value);
445
446
        return $this;
447
    }
448
449
    /**
450
     * Check Context Access ~
451
     * Use this to enable or disable Context ACL checks. <strong>NOTE: If this option is set to no, then ALL Context Access Permissions will be ignored. DO NOT disable this system-wide or for the mgr Context or you will disable access to the manager interface.</strong>
452
     *
453
     * @param bool $value
454
     *
455
     * @return $this
456
     */
457
    public function setCoreAccessContextEnabled($value)
458
    {
459
        $this->setFieldName('access_context_enabled');
460
        $this->loadObject(true);
461
        $this->setFieldValue($value);
462
463
        return $this;
464
    }
465
466
    /**
467
     * Access Policy Schema Version ~
468
     * The version of the Access Policy system. DO NOT CHANGE.
469
     *
470
     * @param string $value
471
     *
472
     * @return $this
473
     */
474
    public function setCoreAccessPoliciesVersion($value)
475
    {
476
        $this->setFieldName('access_policies_version');
477
        $this->loadObject(true);
478
        $this->setFieldValue($value);
479
480
        return $this;
481
    }
482
483
484
    /**
485
     * Check Resource Group Access ~
486
     * Use this to enable or disable Resource Group ACL checks (per Context). <strong>NOTE: If this option is set to no, then ALL Resource Group Access Permissions will be ignored!</strong>
487
     *
488
     * @param bool $value
489
     *
490
     * @return $this
491
     */
492
    public function setCoreAccessResourceGroupEnabled($value)
493
    {
494
        $this->setFieldName('access_resource_group_enabled');
495
        $this->loadObject(true);
496
        $this->setFieldValue($value);
497
498
        return $this;
499
    }
500
501
    /**
502
     * Allow Forwarding Across Contexts ~
503
     * When true, Symlinks and modX::sendForward() API calls can forward requests to Resources in other Contexts.
504
     *
505
     * @param bool $value
506
     *
507
     * @return $this
508
     */
509
    public function setCoreAllowForwardAcrossContexts($value)
510
    {
511
        $this->setFieldName('allow_forward_across_contexts');
512
        $this->loadObject(true);
513
        $this->setFieldValue($value);
514
515
        return $this;
516
    }
517
518
    /**
519
     * Allow Forgot Password in Manager Login Screen ~
520
     * Setting this to "No" will disable the forgot password ability on the manager login screen.
521
     *
522
     * @param bool $value
523
     *
524
     * @return $this
525
     */
526
    public function setCoreAllowManagerLoginForgotPassword($value)
527
    {
528
        $this->setFieldName('allow_manager_login_forgot_password');
529
        $this->loadObject(true);
530
        $this->setFieldValue($value);
531
532
        return $this;
533
    }
534
535
    /**
536
     * Allow Duplicate Emails for Users ~
537
     * If enabled, Users may share the same email address.
538
     *
539
     * @param bool $value
540
     *
541
     * @return $this
542
     */
543
    public function setCoreAllowMultipleEmails($value)
544
    {
545
        $this->setFieldName('allow_multiple_emails');
546
        $this->loadObject(true);
547
        $this->setFieldValue($value);
548
549
        return $this;
550
    }
551
552
    /**
553
     * Allow Tags in POST ~
554
     * If false, all POST variables will be stripped of HTML script tags, numeric entities, and MODX tags. MODX recommends to leave this set to false for Contexts other than mgr, where it is set to true by default.
555
     *
556
     * @param bool $value
557
     *
558
     * @return $this
559
     */
560
    public function setCoreAllowTagsInPost($value)
561
    {
562
        $this->setFieldName('allow_tags_in_post');
563
        $this->loadObject(true);
564
        $this->setFieldValue($value);
565
566
        return $this;
567
    }
568
569
    /**
570
     * Disable eval in TV binding ~
571
     * Select this option to enable or disable eval in TV binding. If this option is set to no, the code/value will just be handled as regular text.
572
     *
573
     * @param bool $value
574
     *
575
     * @return $this
576
     */
577
    public function setCoreAllowTvEval($value)
578
    {
579
        $this->setFieldName('allow_tv_eval');
580
        $this->loadObject(true);
581
        $this->setFieldValue($value);
582
583
        return $this;
584
    }
585
586
    /**
587
     * Anonymous Sessions ~
588
     * If disabled, only authenticated users will have access to a PHP session. This can reduce overhead for anonymous users and the load they impose on a MODX site if they do not need access to a unique session. If session_enabled is false, this setting has no effect as sessions would never be available.
589
     *
590
     * @param bool $value
591
     *
592
     * @return $this
593
     */
594
    public function setCoreAnonymousSessions($value)
595
    {
596
        $this->setFieldName('anonymous_sessions');
597
        $this->loadObject(true);
598
        $this->setFieldValue($value);
599
600
        return $this;
601
    }
602
603
    /**
604
     * Force PCLZip Archives ~
605
     * If true, will use PCLZip instead of ZipArchive as the zip extension. Turn this on if you are getting extractTo errors or are having problems with unzipping in Package Management.
606
     *
607
     * @param bool $value
608
     *
609
     * @return $this
610
     */
611
    public function setCoreArchiveWith($value)
612
    {
613
        $this->setFieldName('archive_with');
614
        $this->loadObject(true);
615
        $this->setFieldValue($value);
616
617
        return $this;
618
    }
619
620
    /**
621
     * Automatic Check for Package Updates ~
622
     * If 'Yes', MODX will automatically check for updates for packages in Package Management. This may slow the loading of the grid.
623
     *
624
     * @param bool $value
625
     *
626
     * @return $this
627
     */
628
    public function setCoreAutoCheckPkgUpdates($value)
629
    {
630
        $this->setFieldName('auto_check_pkg_updates');
631
        $this->loadObject(true);
632
        $this->setFieldValue($value);
633
634
        return $this;
635
    }
636
637
    /**
638
     * Cache Expiration Time for Automatic Package Updates Check ~
639
     * The number of minutes that Package Management will cache the results for checking for package updates.
640
     *
641
     * @param string $value
642
     *
643
     * @return $this
644
     */
645
    public function setCoreAutoCheckPkgUpdatesCacheExpire($value)
646
    {
647
        $this->setFieldName('auto_check_pkg_updates_cache_expire');
648
        $this->loadObject(true);
649
        $this->setFieldValue($value);
650
651
        return $this;
652
    }
653
654
655
    /**
656
     * Set container automatically ~
657
     * If set to yes, container property will be changed automatically.
658
     *
659
     * @param bool $value
660
     *
661
     * @return $this
662
     */
663
    public function setCoreAutoIsfolder($value)
664
    {
665
        $this->setFieldName('auto_isfolder');
666
        $this->loadObject(true);
667
        $this->setFieldValue($value);
668
669
        return $this;
670
    }
671
672
    /**
673
     * Menu indexing default ~
674
     * Select 'Yes' to turn on automatic menu index incrementing by default.
675
     *
676
     * @param bool $value
677
     *
678
     * @return $this
679
     */
680
    public function setCoreAutoMenuindex($value)
681
    {
682
        $this->setFieldName('auto_menuindex');
683
        $this->loadObject(true);
684
        $this->setFieldValue($value);
685
686
        return $this;
687
    }
688
689
    /**
690
     * Automatically generate alias ~
691
     * Select 'Yes' to have the system automatically generate an alias based on the Resource's page title when saving.
692
     *
693
     * @param bool $value
694
     *
695
     * @return $this
696
     */
697
    public function setCoreAutomaticAlias($value)
698
    {
699
        $this->setFieldName('automatic_alias');
700
        $this->loadObject(true);
701
        $this->setFieldValue($value);
702
703
        return $this;
704
    }
705
706
    /**
707
     * Base Help URL ~
708
     * The base URL by which to build the Help links in the top right of pages in the manager.
709
     *
710
     * @param string $value
711
     *
712
     * @return $this
713
     */
714
    public function setCoreBaseHelpUrl($value)
715
    {
716
        $this->setFieldName('base_help_url');
717
        $this->loadObject(true);
718
        $this->setFieldValue($value);
719
720
        return $this;
721
    }
722
723
724
    /**
725
     * Blocked Minutes ~
726
     * Here you can enter the number of minutes that a user will be blocked for if they reach their maximum number of allowed failed login attempts. Please enter this value as numbers only (no commas, spaces etc.)
727
     *
728
     * @param string $value
729
     *
730
     * @return $this
731
     */
732
    public function setCoreBlockedMinutes($value)
733
    {
734
        $this->setFieldName('blocked_minutes');
735
        $this->loadObject(true);
736
        $this->setFieldValue($value);
737
738
        return $this;
739
    }
740
741
742
    /**
743
     * Enable Action Map Cache ~
744
     * When enabled, actions (or controller maps) will be cached to reduce manager page load times.
745
     *
746
     * @param bool $value
747
     *
748
     * @return $this
749
     */
750
    public function setCoreCacheActionMap($value)
751
    {
752
        $this->setFieldName('cache_action_map');
753
        $this->loadObject(true);
754
        $this->setFieldValue($value);
755
756
        return $this;
757
    }
758
759
    /**
760
     * Enable Context Alias Map Cache ~
761
     * When enabled, all Resource URIs are cached into the Context. Enable on smaller sites and disable on larger sites for better performance.
762
     *
763
     * @param bool $value
764
     *
765
     * @return $this
766
     */
767
    public function setCoreCacheAliasMap($value)
768
    {
769
        $this->setFieldName('cache_alias_map');
770
        $this->loadObject(true);
771
        $this->setFieldValue($value);
772
773
        return $this;
774
    }
775
776
    /**
777
     * Enable Context Setting Cache ~
778
     * When enabled, context settings will be cached to reduce load times.
779
     *
780
     * @param bool $value
781
     *
782
     * @return $this
783
     */
784
    public function setCoreCacheContextSettings($value)
785
    {
786
        $this->setFieldName('cache_context_settings');
787
        $this->loadObject(true);
788
        $this->setFieldValue($value);
789
790
        return $this;
791
    }
792
793
    /**
794
     * Enable Database Cache ~
795
     * When enabled, objects and raw result sets from SQL queries are cached to significantly reduce database loads.
796
     *
797
     * @param bool $value
798
     *
799
     * @return $this
800
     */
801
    public function setCoreCacheDb($value)
802
    {
803
        $this->setFieldName('cache_db');
804
        $this->loadObject(true);
805
        $this->setFieldValue($value);
806
807
        return $this;
808
    }
809
810
    /**
811
     * Expiration Time for DB Cache ~
812
     * This value (in seconds) sets the amount of time cache files last for DB result-set caching.
813
     *
814
     * @param string $value
815
     *
816
     * @return $this
817
     */
818
    public function setCoreCacheDbExpires($value)
819
    {
820
        $this->setFieldName('cache_db_expires');
821
        $this->loadObject(true);
822
        $this->setFieldValue($value);
823
824
        return $this;
825
    }
826
827
828
    /**
829
     * Enable Database Session Cache ~
830
     * When enabled, and cache_db is enabled, database sessions will be cached in the DB result-set cache.
831
     *
832
     * @param bool $value
833
     *
834
     * @return $this
835
     */
836
    public function setCoreCacheDbSession($value)
837
    {
838
        $this->setFieldName('cache_db_session');
839
        $this->loadObject(true);
840
        $this->setFieldValue($value);
841
842
        return $this;
843
    }
844
845
    /**
846
     * Expiration Time for DB Session Cache ~
847
     * This value (in seconds) sets the amount of time cache files last for session entries in the DB result-set cache.
848
     *
849
     * @param string $value
850
     *
851
     * @return $this
852
     */
853
    public function setCoreCacheDbSessionLifetime($value)
854
    {
855
        $this->setFieldName('cache_db_session_lifetime');
856
        $this->loadObject(true);
857
        $this->setFieldValue($value);
858
859
        return $this;
860
    }
861
862
863
    /**
864
     * Cacheable default ~
865
     * Select 'Yes' to make all new Resources cacheable by default.
866
     *
867
     * @param bool $value
868
     *
869
     * @return $this
870
     */
871
    public function setCoreCacheDefault($value)
872
    {
873
        $this->setFieldName('cache_default');
874
        $this->loadObject(true);
875
        $this->setFieldValue($value);
876
877
        return $this;
878
    }
879
880
    /**
881
     * Disable Global Cache Options ~
882
     * Select 'Yes' to disable all MODX caching features. MODX does not recommend disabling caching.
883
     *
884
     * @param bool $value
885
     *
886
     * @return $this
887
     */
888
    public function setCoreCacheDisabled($value)
889
    {
890
        $this->setFieldName('cache_disabled');
891
        $this->loadObject(true);
892
        $this->setFieldValue($value);
893
894
        return $this;
895
    }
896
897
    /**
898
     * Expiration Time for Default Cache ~
899
     * This value (in seconds) sets the amount of time cache files last for default caching.
900
     *
901
     * @param string $value
902
     *
903
     * @return $this
904
     */
905
    public function setCoreCacheExpires($value)
906
    {
907
        $this->setFieldName('cache_expires');
908
        $this->loadObject(true);
909
        $this->setFieldValue($value);
910
911
        return $this;
912
    }
913
914
915
    /**
916
     * Caching Format to Use ~
917
     * 0 = PHP, 1 = JSON, 2 = serialize. One of the formats
918
     *
919
     * @param string $value
920
     *
921
     * @return $this
922
     */
923
    public function setCoreCacheFormat($value)
924
    {
925
        $this->setFieldName('cache_format');
926
        $this->loadObject(true);
927
        $this->setFieldValue($value);
928
929
        return $this;
930
    }
931
932
933
    /**
934
     * Caching Handler Class ~
935
     * The class name of the type handler to use for caching.
936
     *
937
     * @param string $value
938
     *
939
     * @return $this
940
     */
941
    public function setCoreCacheHandler($value)
942
    {
943
        $this->setFieldName('cache_handler');
944
        $this->loadObject(true);
945
        $this->setFieldValue($value);
946
947
        return $this;
948
    }
949
950
951
    /**
952
     * Cache Lexicon JS Strings ~
953
     * If set to true, this will use server headers to cache the lexicon strings loaded into JavaScript for the manager interface.
954
     *
955
     * @param bool $value
956
     *
957
     * @return $this
958
     */
959
    public function setCoreCacheLangJs($value)
960
    {
961
        $this->setFieldName('cache_lang_js');
962
        $this->loadObject(true);
963
        $this->setFieldValue($value);
964
965
        return $this;
966
    }
967
968
    /**
969
     * Cache Lexicon Topics ~
970
     * When enabled, all Lexicon Topics will be cached so as to greatly reduce load times for Internationalization functionality. MODX strongly recommends leaving this set to 'Yes'.
971
     *
972
     * @param bool $value
973
     *
974
     * @return $this
975
     */
976
    public function setCoreCacheLexiconTopics($value)
977
    {
978
        $this->setFieldName('cache_lexicon_topics');
979
        $this->loadObject(true);
980
        $this->setFieldValue($value);
981
982
        return $this;
983
    }
984
985
    /**
986
     * Cache Non-Core Lexicon Topics ~
987
     * When disabled, non-core Lexicon Topics will be not be cached. This is useful to disable when developing your own Extras.
988
     *
989
     * @param bool $value
990
     *
991
     * @return $this
992
     */
993
    public function setCoreCacheNoncoreLexiconTopics($value)
994
    {
995
        $this->setFieldName('cache_noncore_lexicon_topics');
996
        $this->loadObject(true);
997
        $this->setFieldValue($value);
998
999
        return $this;
1000
    }
1001
1002
    /**
1003
     * Enable Partial Resource Cache ~
1004
     * Partial resource caching is configurable by resource when this feature is enabled.  Disabling this feature will disable it globally.
1005
     *
1006
     * @param bool $value
1007
     *
1008
     * @return $this
1009
     */
1010
    public function setCoreCacheResource($value)
1011
    {
1012
        $this->setFieldName('cache_resource');
1013
        $this->loadObject(true);
1014
        $this->setFieldValue($value);
1015
1016
        return $this;
1017
    }
1018
1019
    /**
1020
     * Expiration Time for Partial Resource Cache ~
1021
     * This value (in seconds) sets the amount of time cache files last for partial Resource caching.
1022
     *
1023
     * @param string $value
1024
     *
1025
     * @return $this
1026
     */
1027
    public function setCoreCacheResourceExpires($value)
1028
    {
1029
        $this->setFieldName('cache_resource_expires');
1030
        $this->loadObject(true);
1031
        $this->setFieldValue($value);
1032
1033
        return $this;
1034
    }
1035
1036
1037
    /**
1038
     * Enable Script Cache ~
1039
     * When enabled, MODX will cache all Scripts (Snippets and Plugins) to file to reduce load times. MODX recommends leaving this set to 'Yes'.
1040
     *
1041
     * @param bool $value
1042
     *
1043
     * @return $this
1044
     */
1045
    public function setCoreCacheScripts($value)
1046
    {
1047
        $this->setFieldName('cache_scripts');
1048
        $this->loadObject(true);
1049
        $this->setFieldValue($value);
1050
1051
        return $this;
1052
    }
1053
1054
    /**
1055
     * Enable System Setting Cache ~
1056
     * When enabled, system settings will be cached to reduce load times. MODX recommends leaving this on.
1057
     *
1058
     * @param bool $value
1059
     *
1060
     * @return $this
1061
     */
1062
    public function setCoreCacheSystemSettings($value)
1063
    {
1064
        $this->setFieldName('cache_system_settings');
1065
        $this->loadObject(true);
1066
        $this->setFieldValue($value);
1067
1068
        return $this;
1069
    }
1070
1071
    /**
1072
     * Refresh Trees on Site Cache Clear ~
1073
     * When enabled, will refresh the trees after clearing the site cache.
1074
     *
1075
     * @param bool $value
1076
     *
1077
     * @return $this
1078
     */
1079
    public function setCoreClearCacheRefreshTrees($value)
1080
    {
1081
        $this->setFieldName('clear_cache_refresh_trees');
1082
        $this->loadObject(true);
1083
        $this->setFieldValue($value);
1084
1085
        return $this;
1086
    }
1087
1088
    /**
1089
     * Use Compressed CSS ~
1090
     * When this is enabled, MODX will use a compressed version of its CSS stylesheets in the manager interface.
1091
     *
1092
     * @param bool $value
1093
     *
1094
     * @return $this
1095
     */
1096
    public function setCoreCompressCss($value)
1097
    {
1098
        $this->setFieldName('compress_css');
1099
        $this->loadObject(true);
1100
        $this->setFieldValue($value);
1101
1102
        return $this;
1103
    }
1104
1105
    /**
1106
     * Use Compressed JavaScript Libraries ~
1107
     * When this is enabled, MODX will serve a compressed version of the core scripts file.
1108
     *
1109
     * @param bool $value
1110
     *
1111
     * @return $this
1112
     */
1113
    public function setCoreCompressJs($value)
1114
    {
1115
        $this->setFieldName('compress_js');
1116
        $this->loadObject(true);
1117
        $this->setFieldValue($value);
1118
1119
        return $this;
1120
    }
1121
1122
    /**
1123
     * Maximum JavaScript Files Compression Threshold ~
1124
     * The maximum number of JavaScript files MODX will attempt to compress at once when compress_js is on. Set to a lower number if you are experiencing issues with Google Minify in the manager.
1125
     *
1126
     * @param string $value
1127
     *
1128
     * @return $this
1129
     */
1130
    public function setCoreCompressJsMaxFiles($value)
1131
    {
1132
        $this->setFieldName('compress_js_max_files');
1133
        $this->loadObject(true);
1134
        $this->setFieldValue($value);
1135
1136
        return $this;
1137
    }
1138
1139
1140
    /**
1141
     * Confirm Navigation with unsaved changes ~
1142
     * When this is enabled, the user will be prompted to confirm their intention if there are unsaved changes.
1143
     *
1144
     * @param bool $value
1145
     *
1146
     * @return $this
1147
     */
1148
    public function setCoreConfirmNavigation($value)
1149
    {
1150
        $this->setFieldName('confirm_navigation');
1151
        $this->loadObject(true);
1152
        $this->setFieldValue($value);
1153
1154
        return $this;
1155
    }
1156
1157
    /**
1158
     * Container Suffix ~
1159
     * The suffix to append to Resources set as containers when using FURLs.
1160
     *
1161
     * @param string $value
1162
     *
1163
     * @return $this
1164
     */
1165
    public function setCoreContainerSuffix($value)
1166
    {
1167
        $this->setFieldName('container_suffix');
1168
        $this->loadObject(true);
1169
        $this->setFieldValue($value);
1170
1171
        return $this;
1172
    }
1173
1174
1175
    /**
1176
     * Enable Sorting of Contexts in Resource Tree ~
1177
     * If set to Yes, Contexts will be alphanumerically sorted in the left-hand Resources tree.
1178
     *
1179
     * @param bool $value
1180
     *
1181
     * @return $this
1182
     */
1183
    public function setCoreContextTreeSort($value)
1184
    {
1185
        $this->setFieldName('context_tree_sort');
1186
        $this->loadObject(true);
1187
        $this->setFieldValue($value);
1188
1189
        return $this;
1190
    }
1191
1192
    /**
1193
     * Sort Field of Contexts in Resource Tree ~
1194
     * The field to sort Contexts by in the Resources tree, if sorting is enabled.
1195
     *
1196
     * @param string $value
1197
     *
1198
     * @return $this
1199
     */
1200
    public function setCoreContextTreeSortby($value)
1201
    {
1202
        $this->setFieldName('context_tree_sortby');
1203
        $this->loadObject(true);
1204
        $this->setFieldValue($value);
1205
1206
        return $this;
1207
    }
1208
1209
1210
    /**
1211
     * Sort Direction of Contexts in Resource Tree ~
1212
     * The direction to sort Contexts in the Resources tree, if sorting is enabled.
1213
     *
1214
     * @param string $value
1215
     *
1216
     * @return $this
1217
     */
1218
    public function setCoreContextTreeSortdir($value)
1219
    {
1220
        $this->setFieldName('context_tree_sortdir');
1221
        $this->loadObject(true);
1222
        $this->setFieldValue($value);
1223
1224
        return $this;
1225
    }
1226
1227
1228
    /**
1229
     * Language ~
1230
     * Select the language for all non-manager Contexts, including web.
1231
     *
1232
     * @param string $value
1233
     *
1234
     * @return $this
1235
     */
1236
    public function setCoreCultureKey($value)
1237
    {
1238
        $this->setFieldName('cultureKey');
1239
        $this->loadObject(true);
1240
        $this->setFieldValue($value);
1241
1242
        return $this;
1243
    }
1244
1245
1246
    /**
1247
     * Default Time Zone ~
1248
     * Controls the default timezone setting for PHP date functions, if not empty. If empty and the PHP date.timezone ini setting is not set in your environment, UTC will be assumed.
1249
     *
1250
     * @param string $value
1251
     *
1252
     * @return $this
1253
     */
1254
    public function setCoreDateTimezone($value)
1255
    {
1256
        $this->setFieldName('date_timezone');
1257
        $this->loadObject(true);
1258
        $this->setFieldValue($value);
1259
1260
        return $this;
1261
    }
1262
1263
1264
    /**
1265
     * Debug ~
1266
     * Controls turning debugging on/off in MODX and/or sets the PHP error_reporting level. '' = use current error_reporting, '0' = false (error_reporting = 0), '1' = true (error_reporting = -1), or any valid error_reporting value (as an integer).
1267
     *
1268
     * @param string $value
1269
     *
1270
     * @return $this
1271
     */
1272
    public function setCoreDebug($value)
1273
    {
1274
        $this->setFieldName('debug');
1275
        $this->loadObject(true);
1276
        $this->setFieldValue($value);
1277
1278
        return $this;
1279
    }
1280
1281
1282
    /**
1283
     * Default Content Type ~
1284
     * Select the default Content Type you wish to use for new Resources. You can still select a different Content Type in the Resource editor; this setting just pre-selects one of your Content Types for you.
1285
     *
1286
     * @param string $value
1287
     *
1288
     * @return $this
1289
     */
1290
    public function setCoreDefaultContentType($value)
1291
    {
1292
        $this->setFieldName('default_content_type');
1293
        $this->loadObject(true);
1294
        $this->setFieldValue($value);
1295
1296
        return $this;
1297
    }
1298
1299
1300
    /**
1301
     * Default Context ~
1302
     * Select the default Context you wish to use for new Resources.
1303
     *
1304
     * @param string $value
1305
     *
1306
     * @return $this
1307
     */
1308
    public function setCoreDefaultContext($value)
1309
    {
1310
        $this->setFieldName('default_context');
1311
        $this->loadObject(true);
1312
        $this->setFieldValue($value);
1313
1314
        return $this;
1315
    }
1316
1317
1318
    /**
1319
     * Default Duplicate Resource Publishing Option ~
1320
     * The default selected option when duplicating a Resource. Can be either "unpublish" to unpublish all duplicates, "publish" to publish all duplicates, or "preserve" to preserve the publish state based on the duplicated Resource.
1321
     *
1322
     * @param string $value
1323
     *
1324
     * @return $this
1325
     */
1326
    public function setCoreDefaultDuplicatePublishOption($value)
1327
    {
1328
        $this->setFieldName('default_duplicate_publish_option');
1329
        $this->loadObject(true);
1330
        $this->setFieldValue($value);
1331
1332
        return $this;
1333
    }
1334
1335
1336
    /**
1337
     * Default Media Source ~
1338
     * The default Media Source to load.
1339
     *
1340
     * @param string $value
1341
     *
1342
     * @return $this
1343
     */
1344
    public function setCoreDefaultMediaSource($value)
1345
    {
1346
        $this->setFieldName('default_media_source');
1347
        $this->loadObject(true);
1348
        $this->setFieldValue($value);
1349
1350
        return $this;
1351
    }
1352
1353
1354
    /**
1355
     * Default Per Page ~
1356
     * The default number of results to show in grids throughout the manager.
1357
     *
1358
     * @param string $value
1359
     *
1360
     * @return $this
1361
     */
1362
    public function setCoreDefaultPerPage($value)
1363
    {
1364
        $this->setFieldName('default_per_page');
1365
        $this->loadObject(true);
1366
        $this->setFieldValue($value);
1367
1368
        return $this;
1369
    }
1370
1371
1372
    /**
1373
     * Default Template ~
1374
     * Select the default Template you wish to use for new Resources. You can still select a different template in the Resource editor, this setting just pre-selects one of your Templates for you.
1375
     *
1376
     * @param string $value
1377
     *
1378
     * @return $this
1379
     */
1380
    public function setCoreDefaultTemplate($value)
1381
    {
1382
        $this->setFieldName('default_template');
1383
        $this->loadObject(true);
1384
        $this->setFieldValue($value);
1385
1386
        return $this;
1387
    }
1388
1389
1390
    /**
1391
     * Default username ~
1392
     * Default username for an unauthenticated user.
1393
     *
1394
     * @param string $value
1395
     *
1396
     * @return $this
1397
     */
1398
    public function setCoreDefaultUsername($value)
1399
    {
1400
        $this->setFieldName('default_username');
1401
        $this->loadObject(true);
1402
        $this->setFieldValue($value);
1403
1404
        return $this;
1405
    }
1406
1407
1408
    /**
1409
     * Path to CSS file ~
1410
     * Enter the path to your CSS file that you wish to use within a richtext editor. The best way to enter the path is to enter the path from the root of your server, for example: /assets/site/style.css. If you do not wish to load a style sheet into a richtext editor, leave this field blank.
1411
     *
1412
     * @param string $value
1413
     *
1414
     * @return $this
1415
     */
1416
    public function setCoreEditorCssPath($value)
1417
    {
1418
        $this->setFieldName('editor_css_path');
1419
        $this->loadObject(true);
1420
        $this->setFieldValue($value);
1421
1422
        return $this;
1423
    }
1424
1425
1426
    /**
1427
     * CSS Selectors for Editor ~
1428
     * A comma-separated list of CSS selectors for a richtext editor.
1429
     *
1430
     * @param string $value
1431
     *
1432
     * @return $this
1433
     */
1434
    public function setCoreEditorCssSelectors($value)
1435
    {
1436
        $this->setFieldName('editor_css_selectors');
1437
        $this->loadObject(true);
1438
        $this->setFieldValue($value);
1439
1440
        return $this;
1441
    }
1442
1443
1444
    /**
1445
     * Registration Email From Address ~
1446
     * Here you can specify the email address used when sending Users their usernames and passwords.
1447
     *
1448
     * @param string $value
1449
     *
1450
     * @return $this
1451
     */
1452
    public function setCoreEmailsender($value)
1453
    {
1454
        $this->setFieldName('emailsender');
1455
        $this->loadObject(true);
1456
        $this->setFieldValue($value);
1457
1458
        return $this;
1459
    }
1460
1461
1462
    /**
1463
     * Registration Email Subject ~
1464
     * The subject line for the default signup email when a User is registered.
1465
     *
1466
     * @param string $value
1467
     *
1468
     * @return $this
1469
     */
1470
    public function setCoreEmailsubject($value)
1471
    {
1472
        $this->setFieldName('emailsubject');
1473
        $this->loadObject(true);
1474
        $this->setFieldValue($value);
1475
1476
        return $this;
1477
    }
1478
1479
1480
    /**
1481
     * Enable Drag/Drop in Resource/Element Trees ~
1482
     * If off, will prevent dragging and dropping in Resource and Element trees.
1483
     *
1484
     * @param bool $value
1485
     *
1486
     * @return $this
1487
     */
1488
    public function setCoreEnableDragdrop($value)
1489
    {
1490
        $this->setFieldName('enable_dragdrop');
1491
        $this->loadObject(true);
1492
        $this->setFieldValue($value);
1493
1494
        return $this;
1495
    }
1496
1497
    /**
1498
     * Enable Gravatar ~
1499
     * If enabled, Gravatar will be used as a profile image (if user do not have profile photo uploaded).
1500
     *
1501
     * @param bool $value
1502
     *
1503
     * @return $this
1504
     */
1505
    public function setCoreEnableGravatar($value)
1506
    {
1507
        $this->setFieldName('enable_gravatar');
1508
        $this->loadObject(true);
1509
        $this->setFieldValue($value);
1510
1511
        return $this;
1512
    }
1513
1514
    /**
1515
     * Error Page ~
1516
     * Enter the ID of the document you want to send users to if they request a document which doesn't actually exist (404 Page Not Found). <strong>NOTE: make sure this ID you enter belongs to an existing document, and that it has been published!</strong>
1517
     *
1518
     * @param string $value
1519
     *
1520
     * @return $this
1521
     */
1522
    public function setCoreErrorPage($value)
1523
    {
1524
        $this->setFieldName('error_page');
1525
        $this->loadObject(true);
1526
        $this->setFieldValue($value);
1527
1528
        return $this;
1529
    }
1530
1531
1532
    /**
1533
     * Extension Packages ~
1534
     * A JSON array of packages to load on MODX instantiation. In the format [{"packagename":{"path":"path/to/package"}},{"anotherpackagename":{"path":"path/to/otherpackage"}}]
1535
     *
1536
     * @param string $value
1537
     *
1538
     * @return $this
1539
     */
1540
    public function setCoreExtensionPackages($value)
1541
    {
1542
        $this->setFieldName('extension_packages');
1543
        $this->loadObject(true);
1544
        $this->setFieldValue($value);
1545
1546
        return $this;
1547
    }
1548
1549
1550
    /**
1551
     * Failed Login Attempts ~
1552
     * The number of failed login attempts a User is allowed before becoming 'blocked'.
1553
     *
1554
     * @param string $value
1555
     *
1556
     * @return $this
1557
     */
1558
    public function setCoreFailedLoginAttempts($value)
1559
    {
1560
        $this->setFieldName('failed_login_attempts');
1561
        $this->loadObject(true);
1562
        $this->setFieldValue($value);
1563
1564
        return $this;
1565
    }
1566
1567
1568
    /**
1569
     * Front-end Editor Language ~
1570
     * Choose a language for the editor to use when used as a front-end editor.
1571
     *
1572
     * @param string $value
1573
     *
1574
     * @return $this
1575
     */
1576
    public function setCoreFeEditorLang($value)
1577
    {
1578
        $this->setFieldName('fe_editor_lang');
1579
        $this->loadObject(true);
1580
        $this->setFieldValue($value);
1581
1582
        return $this;
1583
    }
1584
1585
1586
    /**
1587
     * MODX News Feed URL ~
1588
     * Set the URL for the RSS feed for the MODX News panel in the manager.
1589
     *
1590
     * @param string $value
1591
     *
1592
     * @return $this
1593
     */
1594
    public function setCoreFeedModxNews($value)
1595
    {
1596
        $this->setFieldName('feed_modx_news');
1597
        $this->loadObject(true);
1598
        $this->setFieldValue($value);
1599
1600
        return $this;
1601
    }
1602
1603
1604
    /**
1605
     * MODX News Feed Enabled ~
1606
     * If 'No', MODX will hide the News feed in the welcome section of the manager.
1607
     *
1608
     * @param bool $value
1609
     *
1610
     * @return $this
1611
     */
1612
    public function setCoreFeedModxNewsEnabled($value)
1613
    {
1614
        $this->setFieldName('feed_modx_news_enabled');
1615
        $this->loadObject(true);
1616
        $this->setFieldValue($value);
1617
1618
        return $this;
1619
    }
1620
1621
    /**
1622
     * MODX Security Notices Feed URL ~
1623
     * Set the URL for the RSS feed for the MODX Security Notices panel in the manager.
1624
     *
1625
     * @param string $value
1626
     *
1627
     * @return $this
1628
     */
1629
    public function setCoreFeedModxSecurity($value)
1630
    {
1631
        $this->setFieldName('feed_modx_security');
1632
        $this->loadObject(true);
1633
        $this->setFieldValue($value);
1634
1635
        return $this;
1636
    }
1637
1638
1639
    /**
1640
     * MODX Security Feed Enabled ~
1641
     * If 'No', MODX will hide the Security feed in the welcome section of the manager.
1642
     *
1643
     * @param bool $value
1644
     *
1645
     * @return $this
1646
     */
1647
    public function setCoreFeedModxSecurityEnabled($value)
1648
    {
1649
        $this->setFieldName('feed_modx_security_enabled');
1650
        $this->loadObject(true);
1651
        $this->setFieldValue($value);
1652
1653
        return $this;
1654
    }
1655
1656
    /**
1657
     * File Manager Path (Deprecated) ~
1658
     * Deprecated - use Media Sources instead. IIS often does not populate the document_root setting properly, which is used by the file manager to determine what you can look at. If you're having problems using the file manager, make sure this path points to the root of your MODX installation.
1659
     *
1660
     * @param string $value
1661
     *
1662
     * @return $this
1663
     */
1664
    public function setCoreFilemanagerPath($value)
1665
    {
1666
        $this->setFieldName('filemanager_path');
1667
        $this->loadObject(true);
1668
        $this->setFieldValue($value);
1669
1670
        return $this;
1671
    }
1672
1673
1674
    /**
1675
     * Is File Manager Path Relative? (Deprecated) ~
1676
     * Deprecated - use Media Sources instead. If your filemanager_path setting is relative to the MODX base_path, then please set this setting to Yes. If your filemanager_path is outside the docroot, set this to No.
1677
     *
1678
     * @param bool $value
1679
     *
1680
     * @return $this
1681
     */
1682
    public function setCoreFilemanagerPathRelative($value)
1683
    {
1684
        $this->setFieldName('filemanager_path_relative');
1685
        $this->loadObject(true);
1686
        $this->setFieldValue($value);
1687
1688
        return $this;
1689
    }
1690
1691
    /**
1692
     * File Manager Url (Deprecated) ~
1693
     * Deprecated - use Media Sources instead. Optional. Set this if you want to set an explicit URL to access the files in the MODX file manager from (useful if you have changed filemanager_path to a path outside the MODX webroot). Make sure this is the web-accessible URL of the filemanager_path setting value. If you leave this empty, MODX will try to automatically calculate it.
1694
     *
1695
     * @param string $value
1696
     *
1697
     * @return $this
1698
     */
1699
    public function setCoreFilemanagerUrl($value)
1700
    {
1701
        $this->setFieldName('filemanager_url');
1702
        $this->loadObject(true);
1703
        $this->setFieldValue($value);
1704
1705
        return $this;
1706
    }
1707
1708
1709
    /**
1710
     * Is File Manager URL Relative? (Deprecated) ~
1711
     * Deprecated - use Media Sources instead. If your filemanager_url setting is relative to the MODX base_url, then please set this setting to Yes. If your filemanager_url is outside the main webroot, set this to No.
1712
     *
1713
     * @param bool $value
1714
     *
1715
     * @return $this
1716
     */
1717
    public function setCoreFilemanagerUrlRelative($value)
1718
    {
1719
        $this->setFieldName('filemanager_url_relative');
1720
        $this->loadObject(true);
1721
        $this->setFieldValue($value);
1722
1723
        return $this;
1724
    }
1725
1726
    /**
1727
     * Forgot Login Email ~
1728
     * The template for the email that is sent when a user has forgotten their MODX username and/or password.
1729
     *
1730
     * @param string $value
1731
     *
1732
     * @return $this
1733
     */
1734
    public function setCoreForgotLoginEmail($value)
1735
    {
1736
        $this->setFieldName('forgot_login_email');
1737
        $this->loadObject(true);
1738
        $this->setFieldValue($value);
1739
1740
        return $this;
1741
    }
1742
1743
1744
    /**
1745
     * Use All User Group Memberships for Form Customization ~
1746
     * If set to true, FC will use *all* Sets for *all* User Groups a member is in when applying Form Customization Sets. Otherwise, it will only use the Set belonging to the User's Primary Group. Note: setting this to Yes might cause bugs with conflicting FC Sets.
1747
     *
1748
     * @param bool $value
1749
     *
1750
     * @return $this
1751
     */
1752
    public function setCoreFormCustomizationUseAllGroups($value)
1753
    {
1754
        $this->setFieldName('form_customization_use_all_groups');
1755
        $this->loadObject(true);
1756
        $this->setFieldValue($value);
1757
1758
        return $this;
1759
    }
1760
1761
    /**
1762
     * sendForward Exclude Fields on Merge ~
1763
     * A Symlink merges non-empty field values over the values in the target Resource; using this comma-delimited list of excludes prevents specified fields from being overridden by the Symlink.
1764
     *
1765
     * @param string $value
1766
     *
1767
     * @return $this
1768
     */
1769
    public function setCoreForwardMergeExcludes($value)
1770
    {
1771
        $this->setFieldName('forward_merge_excludes');
1772
        $this->loadObject(true);
1773
        $this->setFieldValue($value);
1774
1775
        return $this;
1776
    }
1777
1778
1779
    /**
1780
     * FURL Lowercase Aliases ~
1781
     * Determines whether to allow only lowercase characters in a Resource alias.
1782
     *
1783
     * @param bool $value
1784
     *
1785
     * @return $this
1786
     */
1787
    public function setCoreFriendlyAliasLowercaseOnly($value)
1788
    {
1789
        $this->setFieldName('friendly_alias_lowercase_only');
1790
        $this->loadObject(true);
1791
        $this->setFieldValue($value);
1792
1793
        return $this;
1794
    }
1795
1796
    /**
1797
     * FURL Alias Maximum Length ~
1798
     * If greater than zero, the maximum number of characters to allow in a Resource alias. Zero equals unlimited.
1799
     *
1800
     * @param string $value
1801
     *
1802
     * @return $this
1803
     */
1804
    public function setCoreFriendlyAliasMaxLength($value)
1805
    {
1806
        $this->setFieldName('friendly_alias_max_length');
1807
        $this->loadObject(true);
1808
        $this->setFieldValue($value);
1809
1810
        return $this;
1811
    }
1812
1813
1814
    /**
1815
     * FURL Alias Real-Time ~
1816
     * Determines whether a resource alias should be created on the fly when typing the pagetitle or if this should happen when the resource is saved (automatic_alias needs to be enabled for this to have an effect).
1817
     *
1818
     * @param bool $value
1819
     *
1820
     * @return $this
1821
     */
1822
    public function setCoreFriendlyAliasRealtime($value)
1823
    {
1824
        $this->setFieldName('friendly_alias_realtime');
1825
        $this->loadObject(true);
1826
        $this->setFieldValue($value);
1827
1828
        return $this;
1829
    }
1830
1831
    /**
1832
     * FURL Alias Character Restriction Method ~
1833
     * The method used to restrict characters used in a Resource alias. "pattern" allows a RegEx pattern to be provided, "legal" allows any legal URL characters, "alpha" allows only letters of the alphabet, and "alphanumeric" allows only letters and numbers.
1834
     *
1835
     * @param string $value
1836
     *
1837
     * @return $this
1838
     */
1839
    public function setCoreFriendlyAliasRestrictChars($value)
1840
    {
1841
        $this->setFieldName('friendly_alias_restrict_chars');
1842
        $this->loadObject(true);
1843
        $this->setFieldValue($value);
1844
1845
        return $this;
1846
    }
1847
1848
1849
    /**
1850
     * FURL Alias Character Restriction Pattern ~
1851
     * A valid RegEx pattern for restricting characters used in a Resource alias.
1852
     *
1853
     * @param string $value
1854
     *
1855
     * @return $this
1856
     */
1857
    public function setCoreFriendlyAliasRestrictCharsPattern($value)
1858
    {
1859
        $this->setFieldName('friendly_alias_restrict_chars_pattern');
1860
        $this->loadObject(true);
1861
        $this->setFieldValue($value);
1862
1863
        return $this;
1864
    }
1865
1866
1867
    /**
1868
     * FURL Alias Strip Element Tags ~
1869
     * Determines if Element tags should be stripped from a Resource alias.
1870
     *
1871
     * @param bool $value
1872
     *
1873
     * @return $this
1874
     */
1875
    public function setCoreFriendlyAliasStripElementTags($value)
1876
    {
1877
        $this->setFieldName('friendly_alias_strip_element_tags');
1878
        $this->loadObject(true);
1879
        $this->setFieldValue($value);
1880
1881
        return $this;
1882
    }
1883
1884
    /**
1885
     * FURL Alias Transliteration ~
1886
     * The method of transliteration to use on an alias specified for a Resource. Empty or "none" is the default which skips transliteration. Other possible values are "iconv" (if available) or a named transliteration table provided by a custom transliteration service class.
1887
     *
1888
     * @param string $value
1889
     *
1890
     * @return $this
1891
     */
1892
    public function setCoreFriendlyAliasTranslit($value)
1893
    {
1894
        $this->setFieldName('friendly_alias_translit');
1895
        $this->loadObject(true);
1896
        $this->setFieldValue($value);
1897
1898
        return $this;
1899
    }
1900
1901
1902
    /**
1903
     * FURL Alias Transliteration Service Class ~
1904
     * An optional service class to provide named transliteration services for FURL Alias generation/filtering.
1905
     *
1906
     * @param string $value
1907
     *
1908
     * @return $this
1909
     */
1910
    public function setCoreFriendlyAliasTranslitClass($value)
1911
    {
1912
        $this->setFieldName('friendly_alias_translit_class');
1913
        $this->loadObject(true);
1914
        $this->setFieldValue($value);
1915
1916
        return $this;
1917
    }
1918
1919
1920
    /**
1921
     * FURL Alias Transliteration Service Class Path ~
1922
     * The model package location where the FURL Alias Transliteration Service Class will be loaded from.
1923
     *
1924
     * @param string $value
1925
     *
1926
     * @return $this
1927
     */
1928
    public function setCoreFriendlyAliasTranslitClassPath($value)
1929
    {
1930
        $this->setFieldName('friendly_alias_translit_class_path');
1931
        $this->loadObject(true);
1932
        $this->setFieldValue($value);
1933
1934
        return $this;
1935
    }
1936
1937
1938
    /**
1939
     * FURL Alias Trim Characters ~
1940
     * Characters to trim from the ends of a provided Resource alias.
1941
     *
1942
     * @param string $value
1943
     *
1944
     * @return $this
1945
     */
1946
    public function setCoreFriendlyAliasTrimChars($value)
1947
    {
1948
        $this->setFieldName('friendly_alias_trim_chars');
1949
        $this->loadObject(true);
1950
        $this->setFieldValue($value);
1951
1952
        return $this;
1953
    }
1954
1955
1956
    /**
1957
     * FURL Alias Word Delimiter ~
1958
     * The preferred word delimiter for friendly URL alias slugs.
1959
     *
1960
     * @param string $value
1961
     *
1962
     * @return $this
1963
     */
1964
    public function setCoreFriendlyAliasWordDelimiter($value)
1965
    {
1966
        $this->setFieldName('friendly_alias_word_delimiter');
1967
        $this->loadObject(true);
1968
        $this->setFieldValue($value);
1969
1970
        return $this;
1971
    }
1972
1973
1974
    /**
1975
     * FURL Alias Word Delimiters ~
1976
     * Characters which represent word delimiters when processing friendly URL alias slugs. These characters will be converted and consolidated to the preferred FURL alias word delimiter.
1977
     *
1978
     * @param string $value
1979
     *
1980
     * @return $this
1981
     */
1982
    public function setCoreFriendlyAliasWordDelimiters($value)
1983
    {
1984
        $this->setFieldName('friendly_alias_word_delimiters');
1985
        $this->loadObject(true);
1986
        $this->setFieldValue($value);
1987
1988
        return $this;
1989
    }
1990
1991
1992
    /**
1993
     * Use Friendly URLs ~
1994
     * This allows you to use search engine friendly URLs with MODX. Please note, this only works for MODX installations running on Apache, and you'll need to write an .htaccess file for this to work. See the .htaccess file included in the distribution for more info.
1995
     *
1996
     * @param bool $value
1997
     *
1998
     * @return $this
1999
     */
2000
    public function setCoreFriendlyUrls($value)
2001
    {
2002
        $this->setFieldName('friendly_urls');
2003
        $this->loadObject(true);
2004
        $this->setFieldValue($value);
2005
2006
        return $this;
2007
    }
2008
2009
    /**
2010
     * Use Strict Friendly URLs ~
2011
     * When friendly URLs are enabled, this option forces non-canonical requests that match a Resource to 301 redirect to the canonical URI for that Resource. WARNING: Do not enable if you use custom rewrite rules which do not match at least the beginning of the canonical URI. For example, a canonical URI of foo/ with custom rewrites for foo/bar.html would work, but attempts to rewrite bar/foo.html as foo/ would force a redirect to foo/ with this option enabled.
2012
     *
2013
     * @param bool $value
2014
     *
2015
     * @return $this
2016
     */
2017
    public function setCoreFriendlyUrlsStrict($value)
2018
    {
2019
        $this->setFieldName('friendly_urls_strict');
2020
        $this->loadObject(true);
2021
        $this->setFieldValue($value);
2022
2023
        return $this;
2024
    }
2025
2026
    /**
2027
     * Check for Duplicate URIs Across All Contexts ~
2028
     * Select 'Yes' to make duplicate URI checks include all Contexts in the search. Otherwise, only the Context the Resource is being saved in is checked.
2029
     *
2030
     * @param bool $value
2031
     *
2032
     * @return $this
2033
     */
2034
    public function setCoreGlobalDuplicateUriCheck($value)
2035
    {
2036
        $this->setFieldName('global_duplicate_uri_check');
2037
        $this->loadObject(true);
2038
        $this->setFieldValue($value);
2039
2040
        return $this;
2041
    }
2042
2043
    /**
2044
     * Hide From Menus Default ~
2045
     * Select 'Yes' to make all new resources hidden from menus by default.
2046
     *
2047
     * @param bool $value
2048
     *
2049
     * @return $this
2050
     */
2051
    public function setCoreHidemenuDefault($value)
2052
    {
2053
        $this->setFieldName('hidemenu_default');
2054
        $this->loadObject(true);
2055
        $this->setFieldValue($value);
2056
2057
        return $this;
2058
    }
2059
2060
    /**
2061
     * Show Inline Help Text for Fields ~
2062
     * If 'Yes', then fields will display their help text directly below the field. If 'No', all fields will have tooltip-based help.
2063
     *
2064
     * @param bool $value
2065
     *
2066
     * @return $this
2067
     */
2068
    public function setCoreInlineHelp($value)
2069
    {
2070
        $this->setFieldName('inline_help');
2071
        $this->loadObject(true);
2072
        $this->setFieldValue($value);
2073
2074
        return $this;
2075
    }
2076
2077
    /**
2078
     * URL Generation Scheme ~
2079
     * URL generation scheme for tag [[~id]]. Available options <a href="http://api.modx.com/revolution/2.2/db_core_model_modx_modx.class.html#\modX::makeUrl()" target="_blank">here</a>.
2080
     *
2081
     * @param string $value
2082
     *
2083
     * @return $this
2084
     */
2085
    public function setCoreLinkTagScheme($value)
2086
    {
2087
        $this->setFieldName('link_tag_scheme');
2088
        $this->loadObject(true);
2089
        $this->setFieldValue($value);
2090
2091
        return $this;
2092
    }
2093
2094
2095
    /**
2096
     * Locale ~
2097
     * Set the locale for the system. Leave blank to use the default. See <a href="http://php.net/setlocale" target="_blank">the PHP documentation</a> for more information.
2098
     *
2099
     * @param string $value
2100
     *
2101
     * @return $this
2102
     */
2103
    public function setCoreLocale($value)
2104
    {
2105
        $this->setFieldName('locale');
2106
        $this->loadObject(true);
2107
        $this->setFieldValue($value);
2108
2109
        return $this;
2110
    }
2111
2112
2113
    /**
2114
     * Lock Time-to-Live ~
2115
     * The number of seconds a lock on a Resource will remain for if the user is inactive.
2116
     *
2117
     * @param string $value
2118
     *
2119
     * @return $this
2120
     */
2121
    public function setCoreLockTtl($value)
2122
    {
2123
        $this->setFieldName('lock_ttl');
2124
        $this->loadObject(true);
2125
        $this->setFieldValue($value);
2126
2127
        return $this;
2128
    }
2129
2130
2131
    /**
2132
     * Logging Level ~
2133
     * The default logging level; the lower the level, the fewer messages that are logged. Available options: 0 (FATAL), 1 (ERROR), 2 (WARN), 3 (INFO), and 4 (DEBUG).
2134
     *
2135
     * @param string $value
2136
     *
2137
     * @return $this
2138
     */
2139
    public function setCoreLogLevel($value)
2140
    {
2141
        $this->setFieldName('log_level');
2142
        $this->loadObject(true);
2143
        $this->setFieldValue($value);
2144
2145
        return $this;
2146
    }
2147
2148
2149
    /**
2150
     * setting_log_snippet_not_found ~
2151
     * setting_log_snippet_not_found_desc
2152
     *
2153
     * @param bool $value
2154
     *
2155
     * @return $this
2156
     */
2157
    public function setCoreLogSnippetNotFound($value)
2158
    {
2159
        $this->setFieldName('log_snippet_not_found');
2160
        $this->loadObject(true);
2161
        $this->setFieldValue($value);
2162
2163
        return $this;
2164
    }
2165
2166
    /**
2167
     * Logging Target ~
2168
     * The default logging target where log messages are written. Available options: 'FILE', 'HTML', or 'ECHO'. Default is 'FILE' if not specified.
2169
     *
2170
     * @param string $value
2171
     *
2172
     * @return $this
2173
     */
2174
    public function setCoreLogTarget($value)
2175
    {
2176
        $this->setFieldName('log_target');
2177
        $this->loadObject(true);
2178
        $this->setFieldValue($value);
2179
2180
        return $this;
2181
    }
2182
2183
2184
    /**
2185
     * Mail Charset ~
2186
     * The default charset for emails, e.g., 'iso-8859-1' or 'utf-8'
2187
     *
2188
     * @param string $value
2189
     *
2190
     * @return $this
2191
     */
2192
    public function setCoreMailCharset($value)
2193
    {
2194
        $this->setFieldName('mail_charset');
2195
        $this->loadObject(true);
2196
        $this->setFieldValue($value);
2197
2198
        return $this;
2199
    }
2200
2201
2202
    /**
2203
     * Mail Encoding ~
2204
     * Sets the Encoding of the message. Options for this are "8bit", "7bit", "binary", "base64", and "quoted-printable".
2205
     *
2206
     * @param string $value
2207
     *
2208
     * @return $this
2209
     */
2210
    public function setCoreMailEncoding($value)
2211
    {
2212
        $this->setFieldName('mail_encoding');
2213
        $this->loadObject(true);
2214
        $this->setFieldValue($value);
2215
2216
        return $this;
2217
    }
2218
2219
2220
    /**
2221
     * SMTP Authentication ~
2222
     * Sets SMTP authentication. Utilizes the mail_smtp_user and mail_smtp_pass settings.
2223
     *
2224
     * @param bool $value
2225
     *
2226
     * @return $this
2227
     */
2228
    public function setCoreMailSmtpAuth($value)
2229
    {
2230
        $this->setFieldName('mail_smtp_auth');
2231
        $this->loadObject(true);
2232
        $this->setFieldValue($value);
2233
2234
        return $this;
2235
    }
2236
2237
    /**
2238
     * SMTP Helo Message ~
2239
     * Sets the SMTP HELO of the message (Defaults to the hostname).
2240
     *
2241
     * @param string $value
2242
     *
2243
     * @return $this
2244
     */
2245
    public function setCoreMailSmtpHelo($value)
2246
    {
2247
        $this->setFieldName('mail_smtp_helo');
2248
        $this->loadObject(true);
2249
        $this->setFieldValue($value);
2250
2251
        return $this;
2252
    }
2253
2254
2255
    /**
2256
     * SMTP Hosts ~
2257
     * Sets the SMTP hosts.  All hosts must be separated by a semicolon.  You can also specify a different port for each host by using this format: [hostname:port] (e.g., "smtp1.example.com:25;smtp2.example.com"). Hosts will be tried in order.
2258
     *
2259
     * @param string $value
2260
     *
2261
     * @return $this
2262
     */
2263
    public function setCoreMailSmtpHosts($value)
2264
    {
2265
        $this->setFieldName('mail_smtp_hosts');
2266
        $this->loadObject(true);
2267
        $this->setFieldValue($value);
2268
2269
        return $this;
2270
    }
2271
2272
2273
    /**
2274
     * SMTP Keep-Alive ~
2275
     * Prevents the SMTP connection from being closed after each mail sending. Not recommended.
2276
     *
2277
     * @param bool $value
2278
     *
2279
     * @return $this
2280
     */
2281
    public function setCoreMailSmtpKeepalive($value)
2282
    {
2283
        $this->setFieldName('mail_smtp_keepalive');
2284
        $this->loadObject(true);
2285
        $this->setFieldValue($value);
2286
2287
        return $this;
2288
    }
2289
2290
    /**
2291
     * SMTP Password ~
2292
     * The password to authenticate to SMTP against.
2293
     *
2294
     * @param string $value
2295
     *
2296
     * @return $this
2297
     */
2298
    public function setCoreMailSmtpPass($value)
2299
    {
2300
        $this->setFieldName('mail_smtp_pass');
2301
        $this->loadObject(true);
2302
        $this->setFieldValue($value);
2303
2304
        return $this;
2305
    }
2306
2307
2308
    /**
2309
     * SMTP Port ~
2310
     * Sets the default SMTP server port.
2311
     *
2312
     * @param string $value
2313
     *
2314
     * @return $this
2315
     */
2316
    public function setCoreMailSmtpPort($value)
2317
    {
2318
        $this->setFieldName('mail_smtp_port');
2319
        $this->loadObject(true);
2320
        $this->setFieldValue($value);
2321
2322
        return $this;
2323
    }
2324
2325
2326
    /**
2327
     * SMTP Connection Prefix ~
2328
     * Sets connection prefix. Options are "", "ssl" or "tls"
2329
     *
2330
     * @param string $value
2331
     *
2332
     * @return $this
2333
     */
2334
    public function setCoreMailSmtpPrefix($value)
2335
    {
2336
        $this->setFieldName('mail_smtp_prefix');
2337
        $this->loadObject(true);
2338
        $this->setFieldValue($value);
2339
2340
        return $this;
2341
    }
2342
2343
2344
    /**
2345
     * SMTP Single To ~
2346
     * Provides the ability to have the TO field process individual emails, instead of sending to entire TO addresses.
2347
     *
2348
     * @param bool $value
2349
     *
2350
     * @return $this
2351
     */
2352
    public function setCoreMailSmtpSingleTo($value)
2353
    {
2354
        $this->setFieldName('mail_smtp_single_to');
2355
        $this->loadObject(true);
2356
        $this->setFieldValue($value);
2357
2358
        return $this;
2359
    }
2360
2361
    /**
2362
     * SMTP Timeout ~
2363
     * Sets the SMTP server timeout in seconds. This function will not work in win32 servers.
2364
     *
2365
     * @param string $value
2366
     *
2367
     * @return $this
2368
     */
2369
    public function setCoreMailSmtpTimeout($value)
2370
    {
2371
        $this->setFieldName('mail_smtp_timeout');
2372
        $this->loadObject(true);
2373
        $this->setFieldValue($value);
2374
2375
        return $this;
2376
    }
2377
2378
2379
    /**
2380
     * SMTP User ~
2381
     * The user to authenticate to SMTP against.
2382
     *
2383
     * @param string $value
2384
     *
2385
     * @return $this
2386
     */
2387
    public function setCoreMailSmtpUser($value)
2388
    {
2389
        $this->setFieldName('mail_smtp_user');
2390
        $this->loadObject(true);
2391
        $this->setFieldValue($value);
2392
2393
        return $this;
2394
    }
2395
2396
2397
    /**
2398
     * Use SMTP ~
2399
     * If true, MODX will attempt to use SMTP in mail functions.
2400
     *
2401
     * @param bool $value
2402
     *
2403
     * @return $this
2404
     */
2405
    public function setCoreMailUseSmtp($value)
2406
    {
2407
        $this->setFieldName('mail_use_smtp');
2408
        $this->loadObject(true);
2409
        $this->setFieldValue($value);
2410
2411
        return $this;
2412
    }
2413
2414
    /**
2415
     * Main menu parent ~
2416
     * The container used to pull all records for the main menu.
2417
     *
2418
     * @param string $value
2419
     *
2420
     * @return $this
2421
     */
2422
    public function setCoreMainNavParent($value)
2423
    {
2424
        $this->setFieldName('main_nav_parent');
2425
        $this->loadObject(true);
2426
        $this->setFieldValue($value);
2427
2428
        return $this;
2429
    }
2430
2431
2432
    /**
2433
     * Manager Date Format ~
2434
     * The format string, in PHP date() format, for the dates represented in the manager.
2435
     *
2436
     * @param string $value
2437
     *
2438
     * @return $this
2439
     */
2440
    public function setCoreManagerDateFormat($value)
2441
    {
2442
        $this->setFieldName('manager_date_format');
2443
        $this->loadObject(true);
2444
        $this->setFieldValue($value);
2445
2446
        return $this;
2447
    }
2448
2449
2450
    /**
2451
     * Manager Text Direction ~
2452
     * Choose the direction that the text will be rendered in the Manager, left to right or right to left.
2453
     *
2454
     * @param string $value
2455
     *
2456
     * @return $this
2457
     */
2458
    public function setCoreManagerDirection($value)
2459
    {
2460
        $this->setFieldName('manager_direction');
2461
        $this->loadObject(true);
2462
        $this->setFieldValue($value);
2463
2464
        return $this;
2465
    }
2466
2467
2468
    /**
2469
     * Manager Favicon URL ~
2470
     * If set, will load this URL as a favicon for the MODX manager. Must be a relative URL to the manager/ directory, or an absolute URL.
2471
     *
2472
     * @param string $value
2473
     *
2474
     * @return $this
2475
     */
2476
    public function setCoreManagerFaviconUrl($value)
2477
    {
2478
        $this->setFieldName('manager_favicon_url');
2479
        $this->loadObject(true);
2480
        $this->setFieldValue($value);
2481
2482
        return $this;
2483
    }
2484
2485
2486
    /**
2487
     * Enable File Locking for Manager JS/CSS Cache ~
2488
     * Cache file locking. Set to No if filesystem is NFS.
2489
     *
2490
     * @param bool $value
2491
     *
2492
     * @return $this
2493
     */
2494
    public function setCoreManagerJsCacheFileLocking($value)
2495
    {
2496
        $this->setFieldName('manager_js_cache_file_locking');
2497
        $this->loadObject(true);
2498
        $this->setFieldValue($value);
2499
2500
        return $this;
2501
    }
2502
2503
    /**
2504
     * Manager JS/CSS Compression Cache Age ~
2505
     * Maximum age of browser cache of manager CSS/JS compression in seconds. After this period, the browser will send another conditional GET. Use a longer period for lower traffic.
2506
     *
2507
     * @param string $value
2508
     *
2509
     * @return $this
2510
     */
2511
    public function setCoreManagerJsCacheMaxAge($value)
2512
    {
2513
        $this->setFieldName('manager_js_cache_max_age');
2514
        $this->loadObject(true);
2515
        $this->setFieldValue($value);
2516
2517
        return $this;
2518
    }
2519
2520
2521
    /**
2522
     * Manager JS/CSS Compression Document Root ~
2523
     * If your server does not handle the DOCUMENT_ROOT server variable, set it explicitly here to enable the manager CSS/JS compression. Do not change this unless you know what you are doing.
2524
     *
2525
     * @param string $value
2526
     *
2527
     * @return $this
2528
     */
2529
    public function setCoreManagerJsDocumentRoot($value)
2530
    {
2531
        $this->setFieldName('manager_js_document_root');
2532
        $this->loadObject(true);
2533
        $this->setFieldValue($value);
2534
2535
        return $this;
2536
    }
2537
2538
2539
    /**
2540
     * Enable zlib Output Compression for Manager JS/CSS ~
2541
     * Whether or not to enable zlib output compression for compressed CSS/JS in the manager. Do not turn this on unless you are sure the PHP config variable zlib.output_compression can be set to 1. MODX recommends leaving it off.
2542
     *
2543
     * @param bool $value
2544
     *
2545
     * @return $this
2546
     */
2547
    public function setCoreManagerJsZlibOutputCompression($value)
2548
    {
2549
        $this->setFieldName('manager_js_zlib_output_compression');
2550
        $this->loadObject(true);
2551
        $this->setFieldValue($value);
2552
2553
        return $this;
2554
    }
2555
2556
    /**
2557
     * Manager HTML and XML Language Attribute ~
2558
     * Enter the language code that best fits with your chosen manager language, this will ensure that the browser can present content in the best format for you.
2559
     *
2560
     * @param string $value
2561
     *
2562
     * @return $this
2563
     */
2564
    public function setCoreManagerLangAttribute($value)
2565
    {
2566
        $this->setFieldName('manager_lang_attribute');
2567
        $this->loadObject(true);
2568
        $this->setFieldValue($value);
2569
2570
        return $this;
2571
    }
2572
2573
2574
    /**
2575
     * Manager Language ~
2576
     * Select the language for the MODX Content Manager.
2577
     *
2578
     * @param string $value
2579
     *
2580
     * @return $this
2581
     */
2582
    public function setCoreManagerLanguage($value)
2583
    {
2584
        $this->setFieldName('manager_language');
2585
        $this->loadObject(true);
2586
        $this->setFieldValue($value);
2587
2588
        return $this;
2589
    }
2590
2591
2592
    /**
2593
     * Alternate Manager Login URL ~
2594
     * An alternate URL to send an unauthenticated user to when they need to login to the manager. The login form there must login the user to the "mgr" context to work.
2595
     *
2596
     * @param string $value
2597
     *
2598
     * @return $this
2599
     */
2600
    public function setCoreManagerLoginUrlAlternate($value)
2601
    {
2602
        $this->setFieldName('manager_login_url_alternate');
2603
        $this->loadObject(true);
2604
        $this->setFieldValue($value);
2605
2606
        return $this;
2607
    }
2608
2609
2610
    /**
2611
     * Manager Theme ~
2612
     * Select the Theme for the Content Manager.
2613
     *
2614
     * @param string $value
2615
     *
2616
     * @return $this
2617
     */
2618
    public function setCoreManagerTheme($value)
2619
    {
2620
        $this->setFieldName('manager_theme');
2621
        $this->loadObject(true);
2622
        $this->setFieldValue($value);
2623
2624
        return $this;
2625
    }
2626
2627
2628
    /**
2629
     * Manager Time Format ~
2630
     * The format string, in PHP date() format, for the time settings represented in the manager.
2631
     *
2632
     * @param string $value
2633
     *
2634
     * @return $this
2635
     */
2636
    public function setCoreManagerTimeFormat($value)
2637
    {
2638
        $this->setFieldName('manager_time_format');
2639
        $this->loadObject(true);
2640
        $this->setFieldValue($value);
2641
2642
        return $this;
2643
    }
2644
2645
2646
    /**
2647
     * Show fullname in manager header  ~
2648
     * If set to yes, the content of the "fullname" field will be shown in manager instead of "loginname"
2649
     *
2650
     * @param bool $value
2651
     *
2652
     * @return $this
2653
     */
2654
    public function setCoreManagerUseFullname($value)
2655
    {
2656
        $this->setFieldName('manager_use_fullname');
2657
        $this->loadObject(true);
2658
        $this->setFieldValue($value);
2659
2660
        return $this;
2661
    }
2662
2663
    /**
2664
     * Week start ~
2665
     * Define the day starting the week. Use 0 (or leave empty) for sunday, 1 for monday and so on...
2666
     *
2667
     * @param string $value
2668
     *
2669
     * @return $this
2670
     */
2671
    public function setCoreManagerWeekStart($value)
2672
    {
2673
        $this->setFieldName('manager_week_start');
2674
        $this->loadObject(true);
2675
        $this->setFieldValue($value);
2676
2677
        return $this;
2678
    }
2679
2680
2681
    /**
2682
     * Media Source icon ~
2683
     * Indicate a CSS class to be used to display the Media Sources icons in the files tree. Defaults to "icon-folder-open-o"
2684
     *
2685
     * @param string $value
2686
     *
2687
     * @return $this
2688
     */
2689
    public function setCoreMgrSourceIcon($value)
2690
    {
2691
        $this->setFieldName('mgr_source_icon');
2692
        $this->loadObject(true);
2693
        $this->setFieldValue($value);
2694
2695
        return $this;
2696
    }
2697
2698
2699
    /**
2700
     * Context tree icon ~
2701
     * Define a CSS class here to be used to display the context icon in the tree. You can use this setting on each context to customize the icon per context.
2702
     *
2703
     * @param string $value
2704
     *
2705
     * @return $this
2706
     */
2707
    public function setCoreMgrTreeIconContext($value)
2708
    {
2709
        $this->setFieldName('mgr_tree_icon_context');
2710
        $this->loadObject(true);
2711
        $this->setFieldValue($value);
2712
2713
        return $this;
2714
    }
2715
2716
2717
    /**
2718
     * Media Browser Default Sort ~
2719
     * The default sort method when using the Media Browser in the manager. Available values are: name, size, lastmod (last modified).
2720
     *
2721
     * @param string $value
2722
     *
2723
     * @return $this
2724
     */
2725
    public function setCoreModxBrowserDefaultSort($value)
2726
    {
2727
        $this->setFieldName('modx_browser_default_sort');
2728
        $this->loadObject(true);
2729
        $this->setFieldValue($value);
2730
2731
        return $this;
2732
    }
2733
2734
2735
    /**
2736
     * Media Browser Default View Mode ~
2737
     * The default view mode when using the Media Browser in the manager. Available values are: grid, list.
2738
     *
2739
     * @param string $value
2740
     *
2741
     * @return $this
2742
     */
2743
    public function setCoreModxBrowserDefaultViewmode($value)
2744
    {
2745
        $this->setFieldName('modx_browser_default_viewmode');
2746
        $this->loadObject(true);
2747
        $this->setFieldValue($value);
2748
2749
        return $this;
2750
    }
2751
2752
2753
    /**
2754
     * Media Browser Tree Hide Files ~
2755
     * If true the files inside folders are not displayed in the Media Browser source tree. Defaults to false.
2756
     *
2757
     * @param bool $value
2758
     *
2759
     * @return $this
2760
     */
2761
    public function setCoreModxBrowserTreeHideFiles($value)
2762
    {
2763
        $this->setFieldName('modx_browser_tree_hide_files');
2764
        $this->loadObject(true);
2765
        $this->setFieldValue($value);
2766
2767
        return $this;
2768
    }
2769
2770
    /**
2771
     * Media Browser Tree Hide Tooltips ~
2772
     * If true, no image preview tooltips are shown when hovering over a file in the Media Browser tree. Defaults to true.
2773
     *
2774
     * @param bool $value
2775
     *
2776
     * @return $this
2777
     */
2778
    public function setCoreModxBrowserTreeHideTooltips($value)
2779
    {
2780
        $this->setFieldName('modx_browser_tree_hide_tooltips');
2781
        $this->loadObject(true);
2782
        $this->setFieldValue($value);
2783
2784
        return $this;
2785
    }
2786
2787
    /**
2788
     * Character encoding ~
2789
     * Please select which character encoding you wish to use. Please note that MODX has been tested with a number of these encodings, but not all of them. For most languages, the default setting of UTF-8 is preferable.
2790
     *
2791
     * @param string $value
2792
     *
2793
     * @return $this
2794
     */
2795
    public function setCoreModxCharset($value)
2796
    {
2797
        $this->setFieldName('modx_charset');
2798
        $this->loadObject(true);
2799
        $this->setFieldValue($value);
2800
2801
        return $this;
2802
    }
2803
2804
2805
    /**
2806
     * Delay Uncacheable Parsing ~
2807
     * If disabled, uncacheable elements may have their output cached inside cacheable element content. Disable this ONLY if you are having problems with complex nested parsing which stopped working as expected.
2808
     *
2809
     * @param bool $value
2810
     *
2811
     * @return $this
2812
     */
2813
    public function setCoreParserRecurseUncacheable($value)
2814
    {
2815
        $this->setFieldName('parser_recurse_uncacheable');
2816
        $this->loadObject(true);
2817
        $this->setFieldValue($value);
2818
2819
        return $this;
2820
    }
2821
2822
    /**
2823
     * Password Auto-Generated Length ~
2824
     * The length of the auto-generated password for a User.
2825
     *
2826
     * @param string $value
2827
     *
2828
     * @return $this
2829
     */
2830
    public function setCorePasswordGeneratedLength($value)
2831
    {
2832
        $this->setFieldName('password_generated_length');
2833
        $this->loadObject(true);
2834
        $this->setFieldValue($value);
2835
2836
        return $this;
2837
    }
2838
2839
2840
    /**
2841
     * Minimum Password Length ~
2842
     * The minimum length for a password for a User.
2843
     *
2844
     * @param string $value
2845
     *
2846
     * @return $this
2847
     */
2848
    public function setCorePasswordMinLength($value)
2849
    {
2850
        $this->setFieldName('password_min_length');
2851
        $this->loadObject(true);
2852
        $this->setFieldValue($value);
2853
2854
        return $this;
2855
    }
2856
2857
2858
    /**
2859
     * phpThumb Allow src Above Document Root ~
2860
     * Indicates if the src path is allowed outside the document root. This is useful for multi-context deployments with multiple virtual hosts.
2861
     *
2862
     * @param bool $value
2863
     *
2864
     * @return $this
2865
     */
2866
    public function setCorePhpthumbAllowSrcAboveDocroot($value)
2867
    {
2868
        $this->setFieldName('phpthumb_allow_src_above_docroot');
2869
        $this->loadObject(true);
2870
        $this->setFieldValue($value);
2871
2872
        return $this;
2873
    }
2874
2875
    /**
2876
     * phpThumb Max Cache Age ~
2877
     * Delete cached thumbnails that have not been accessed in more than X days.
2878
     *
2879
     * @param string $value
2880
     *
2881
     * @return $this
2882
     */
2883
    public function setCorePhpthumbCacheMaxage($value)
2884
    {
2885
        $this->setFieldName('phpthumb_cache_maxage');
2886
        $this->loadObject(true);
2887
        $this->setFieldValue($value);
2888
2889
        return $this;
2890
    }
2891
2892
2893
    /**
2894
     * phpThumb Max Cache Files ~
2895
     * Delete least-recently-accessed thumbnails when cache has more than X files.
2896
     *
2897
     * @param string $value
2898
     *
2899
     * @return $this
2900
     */
2901
    public function setCorePhpthumbCacheMaxfiles($value)
2902
    {
2903
        $this->setFieldName('phpthumb_cache_maxfiles');
2904
        $this->loadObject(true);
2905
        $this->setFieldValue($value);
2906
2907
        return $this;
2908
    }
2909
2910
2911
    /**
2912
     * phpThumb Max Cache Size ~
2913
     * Delete least-recently-accessed thumbnails when cache grows bigger than X megabytes in size.
2914
     *
2915
     * @param string $value
2916
     *
2917
     * @return $this
2918
     */
2919
    public function setCorePhpthumbCacheMaxsize($value)
2920
    {
2921
        $this->setFieldName('phpthumb_cache_maxsize');
2922
        $this->loadObject(true);
2923
        $this->setFieldValue($value);
2924
2925
        return $this;
2926
    }
2927
2928
2929
    /**
2930
     * phpThumb Cache Source Files ~
2931
     * Whether or not to cache source files as they are loaded. Recommended to off.
2932
     *
2933
     * @param bool $value
2934
     *
2935
     * @return $this
2936
     */
2937
    public function setCorePhpthumbCacheSourceEnabled($value)
2938
    {
2939
        $this->setFieldName('phpthumb_cache_source_enabled');
2940
        $this->loadObject(true);
2941
        $this->setFieldValue($value);
2942
2943
        return $this;
2944
    }
2945
2946
    /**
2947
     * PHPThumb Document Root ~
2948
     * Set this if you are experiencing issues with the server variable DOCUMENT_ROOT, or getting errors with OutputThumbnail or !is_resource. Set it to the absolute document root path you would like to use. If this is empty, MODX will use the DOCUMENT_ROOT server variable.
2949
     *
2950
     * @param string $value
2951
     *
2952
     * @return $this
2953
     */
2954
    public function setCorePhpthumbDocumentRoot($value)
2955
    {
2956
        $this->setFieldName('phpthumb_document_root');
2957
        $this->loadObject(true);
2958
        $this->setFieldValue($value);
2959
2960
        return $this;
2961
    }
2962
2963
2964
    /**
2965
     * phpThumb Error Background Color ~
2966
     * A hex value, without the #, indicating a background color for phpThumb error output.
2967
     *
2968
     * @param string $value
2969
     *
2970
     * @return $this
2971
     */
2972
    public function setCorePhpthumbErrorBgcolor($value)
2973
    {
2974
        $this->setFieldName('phpthumb_error_bgcolor');
2975
        $this->loadObject(true);
2976
        $this->setFieldValue($value);
2977
2978
        return $this;
2979
    }
2980
2981
2982
    /**
2983
     * phpThumb Error Font Size ~
2984
     * An em value indicating a font size to use for text appearing in phpThumb error output.
2985
     *
2986
     * @param string $value
2987
     *
2988
     * @return $this
2989
     */
2990
    public function setCorePhpthumbErrorFontsize($value)
2991
    {
2992
        $this->setFieldName('phpthumb_error_fontsize');
2993
        $this->loadObject(true);
2994
        $this->setFieldValue($value);
2995
2996
        return $this;
2997
    }
2998
2999
3000
    /**
3001
     * phpThumb Error Font Color ~
3002
     * A hex value, without the #, indicating a font color for text appearing in phpThumb error output.
3003
     *
3004
     * @param string $value
3005
     *
3006
     * @return $this
3007
     */
3008
    public function setCorePhpthumbErrorTextcolor($value)
3009
    {
3010
        $this->setFieldName('phpthumb_error_textcolor');
3011
        $this->loadObject(true);
3012
        $this->setFieldValue($value);
3013
3014
        return $this;
3015
    }
3016
3017
3018
    /**
3019
     * phpThumb Force Aspect Ratio ~
3020
     * The default far setting for phpThumb when used in MODX. Defaults to C to force aspect ratio toward the center.
3021
     *
3022
     * @param string $value
3023
     *
3024
     * @return $this
3025
     */
3026
    public function setCorePhpthumbFar($value)
3027
    {
3028
        $this->setFieldName('phpthumb_far');
3029
        $this->loadObject(true);
3030
        $this->setFieldValue($value);
3031
3032
        return $this;
3033
    }
3034
3035
3036
    /**
3037
     * phpThumb ImageMagick Path ~
3038
     * Optional. Set an alternative ImageMagick path here for generating thumbnails with phpThumb, if it is not in the PHP default.
3039
     *
3040
     * @param string $value
3041
     *
3042
     * @return $this
3043
     */
3044
    public function setCorePhpthumbImagemagickPath($value)
3045
    {
3046
        $this->setFieldName('phpthumb_imagemagick_path');
3047
        $this->loadObject(true);
3048
        $this->setFieldValue($value);
3049
3050
        return $this;
3051
    }
3052
3053
3054
    /**
3055
     * phpThumb Hotlinking Disabled ~
3056
     * Remote servers are allowed in the src parameter unless you disable hotlinking in phpThumb.
3057
     *
3058
     * @param bool $value
3059
     *
3060
     * @return $this
3061
     */
3062
    public function setCorePhpthumbNohotlinkEnabled($value)
3063
    {
3064
        $this->setFieldName('phpthumb_nohotlink_enabled');
3065
        $this->loadObject(true);
3066
        $this->setFieldValue($value);
3067
3068
        return $this;
3069
    }
3070
3071
    /**
3072
     * phpThumb Hotlinking Erase Image ~
3073
     * Indicates if an image generated from a remote server should be erased when not allowed.
3074
     *
3075
     * @param bool $value
3076
     *
3077
     * @return $this
3078
     */
3079
    public function setCorePhpthumbNohotlinkEraseImage($value)
3080
    {
3081
        $this->setFieldName('phpthumb_nohotlink_erase_image');
3082
        $this->loadObject(true);
3083
        $this->setFieldValue($value);
3084
3085
        return $this;
3086
    }
3087
3088
    /**
3089
     * phpThumb Hotlinking Not Allowed Message ~
3090
     * A message that is rendered instead of the thumbnail when a hotlinking attempt is rejected.
3091
     *
3092
     * @param string $value
3093
     *
3094
     * @return $this
3095
     */
3096
    public function setCorePhpthumbNohotlinkTextMessage($value)
3097
    {
3098
        $this->setFieldName('phpthumb_nohotlink_text_message');
3099
        $this->loadObject(true);
3100
        $this->setFieldValue($value);
3101
3102
        return $this;
3103
    }
3104
3105
3106
    /**
3107
     * phpThumb Hotlinking Valid Domains ~
3108
     * A comma-delimited list of hostnames that are valid in src URLs.
3109
     *
3110
     * @param string $value
3111
     *
3112
     * @return $this
3113
     */
3114
    public function setCorePhpthumbNohotlinkValidDomains($value)
3115
    {
3116
        $this->setFieldName('phpthumb_nohotlink_valid_domains');
3117
        $this->loadObject(true);
3118
        $this->setFieldValue($value);
3119
3120
        return $this;
3121
    }
3122
3123
3124
    /**
3125
     * phpThumb Offsite Linking Disabled ~
3126
     * Disables the ability for others to use phpThumb to render images on their own sites.
3127
     *
3128
     * @param bool $value
3129
     *
3130
     * @return $this
3131
     */
3132
    public function setCorePhpthumbNooffsitelinkEnabled($value)
3133
    {
3134
        $this->setFieldName('phpthumb_nooffsitelink_enabled');
3135
        $this->loadObject(true);
3136
        $this->setFieldValue($value);
3137
3138
        return $this;
3139
    }
3140
3141
    /**
3142
     * phpThumb Offsite Linking Erase Image ~
3143
     * Indicates if an image linked from a remote server should be erased when not allowed.
3144
     *
3145
     * @param bool $value
3146
     *
3147
     * @return $this
3148
     */
3149
    public function setCorePhpthumbNooffsitelinkEraseImage($value)
3150
    {
3151
        $this->setFieldName('phpthumb_nooffsitelink_erase_image');
3152
        $this->loadObject(true);
3153
        $this->setFieldValue($value);
3154
3155
        return $this;
3156
    }
3157
3158
    /**
3159
     * phpThumb Offsite Linking Require Referrer ~
3160
     * If enabled, any offsite linking attempts will be rejected without a valid referrer header.
3161
     *
3162
     * @param bool $value
3163
     *
3164
     * @return $this
3165
     */
3166
    public function setCorePhpthumbNooffsitelinkRequireRefer($value)
3167
    {
3168
        $this->setFieldName('phpthumb_nooffsitelink_require_refer');
3169
        $this->loadObject(true);
3170
        $this->setFieldValue($value);
3171
3172
        return $this;
3173
    }
3174
3175
    /**
3176
     * phpThumb Offsite Linking Not Allowed Message ~
3177
     * A message that is rendered instead of the thumbnail when an offsite linking attempt is rejected.
3178
     *
3179
     * @param string $value
3180
     *
3181
     * @return $this
3182
     */
3183
    public function setCorePhpthumbNooffsitelinkTextMessage($value)
3184
    {
3185
        $this->setFieldName('phpthumb_nooffsitelink_text_message');
3186
        $this->loadObject(true);
3187
        $this->setFieldValue($value);
3188
3189
        return $this;
3190
    }
3191
3192
3193
    /**
3194
     * phpThumb Offsite Linking Valid Domains ~
3195
     * A comma-delimited list of hostnames that are valid referrers for offsite linking.
3196
     *
3197
     * @param string $value
3198
     *
3199
     * @return $this
3200
     */
3201
    public function setCorePhpthumbNooffsitelinkValidDomains($value)
3202
    {
3203
        $this->setFieldName('phpthumb_nooffsitelink_valid_domains');
3204
        $this->loadObject(true);
3205
        $this->setFieldValue($value);
3206
3207
        return $this;
3208
    }
3209
3210
3211
    /**
3212
     * phpThumb Offsite Linking Watermark Source ~
3213
     * Optional. A valid file system path to a file to use as a watermark source when your images are rendered offsite by phpThumb.
3214
     *
3215
     * @param string $value
3216
     *
3217
     * @return $this
3218
     */
3219
    public function setCorePhpthumbNooffsitelinkWatermarkSrc($value)
3220
    {
3221
        $this->setFieldName('phpthumb_nooffsitelink_watermark_src');
3222
        $this->loadObject(true);
3223
        $this->setFieldValue($value);
3224
3225
        return $this;
3226
    }
3227
3228
3229
    /**
3230
     * phpThumb Zoom-Crop ~
3231
     * The default zc setting for phpThumb when used in MODX. Defaults to 0 to prevent zoom cropping.
3232
     *
3233
     * @param string $value
3234
     *
3235
     * @return $this
3236
     */
3237
    public function setCorePhpthumbZoomcrop($value)
3238
    {
3239
        $this->setFieldName('phpthumb_zoomcrop');
3240
        $this->loadObject(true);
3241
        $this->setFieldValue($value);
3242
3243
        return $this;
3244
    }
3245
3246
3247
    /**
3248
     * Preserve Menu Index When Duplicating Resources ~
3249
     * When duplicating Resources, the menu index order will also be preserved.
3250
     *
3251
     * @param bool $value
3252
     *
3253
     * @return $this
3254
     */
3255
    public function setCorePreserveMenuindex($value)
3256
    {
3257
        $this->setFieldName('preserve_menuindex');
3258
        $this->loadObject(true);
3259
        $this->setFieldValue($value);
3260
3261
        return $this;
3262
    }
3263
3264
    /**
3265
     * ACL Targets to Load ~
3266
     * Customize the ACL targets to load for MODX Users.
3267
     *
3268
     * @param string $value
3269
     *
3270
     * @return $this
3271
     */
3272
    public function setCorePrincipalTargets($value)
3273
    {
3274
        $this->setFieldName('principal_targets');
3275
        $this->loadObject(true);
3276
        $this->setFieldValue($value);
3277
3278
        return $this;
3279
    }
3280
3281
3282
    /**
3283
     * Proxy Authentication Type ~
3284
     * Supports either BASIC or NTLM.
3285
     *
3286
     * @param string $value
3287
     *
3288
     * @return $this
3289
     */
3290
    public function setCoreProxyAuthType($value)
3291
    {
3292
        $this->setFieldName('proxy_auth_type');
3293
        $this->loadObject(true);
3294
        $this->setFieldValue($value);
3295
3296
        return $this;
3297
    }
3298
3299
3300
    /**
3301
     * Proxy Host ~
3302
     * If your server is using a proxy, set the hostname here to enable MODX features that might need to use the proxy, such as Package Management.
3303
     *
3304
     * @param string $value
3305
     *
3306
     * @return $this
3307
     */
3308
    public function setCoreProxyHost($value)
3309
    {
3310
        $this->setFieldName('proxy_host');
3311
        $this->loadObject(true);
3312
        $this->setFieldValue($value);
3313
3314
        return $this;
3315
    }
3316
3317
3318
    /**
3319
     * Proxy Password ~
3320
     * The password required to authenticate to your proxy server.
3321
     *
3322
     * @param string $value
3323
     *
3324
     * @return $this
3325
     */
3326
    public function setCoreProxyPassword($value)
3327
    {
3328
        $this->setFieldName('proxy_password');
3329
        $this->loadObject(true);
3330
        $this->setFieldValue($value);
3331
3332
        return $this;
3333
    }
3334
3335
3336
    /**
3337
     * Proxy Port ~
3338
     * The port for your proxy server.
3339
     *
3340
     * @param string $value
3341
     *
3342
     * @return $this
3343
     */
3344
    public function setCoreProxyPort($value)
3345
    {
3346
        $this->setFieldName('proxy_port');
3347
        $this->loadObject(true);
3348
        $this->setFieldValue($value);
3349
3350
        return $this;
3351
    }
3352
3353
3354
    /**
3355
     * Proxy Username ~
3356
     * The username to authenticate against with your proxy server.
3357
     *
3358
     * @param string $value
3359
     *
3360
     * @return $this
3361
     */
3362
    public function setCoreProxyUsername($value)
3363
    {
3364
        $this->setFieldName('proxy_username');
3365
        $this->loadObject(true);
3366
        $this->setFieldValue($value);
3367
3368
        return $this;
3369
    }
3370
3371
3372
    /**
3373
     * Published default ~
3374
     * Select 'Yes' to make all new resources published by default.
3375
     *
3376
     * @param bool $value
3377
     *
3378
     * @return $this
3379
     */
3380
    public function setCorePublishDefault($value)
3381
    {
3382
        $this->setFieldName('publish_default');
3383
        $this->loadObject(true);
3384
        $this->setFieldValue($value);
3385
3386
        return $this;
3387
    }
3388
3389
    /**
3390
     * Resource path ~
3391
     * Enter the physical path to the resource directory. This setting is usually automatically generated. If you're using IIS, however, MODX may not be able to work the path out on its own, causing the Resource Browser to show an error. In that case, you can enter the path to the images directory here (the path as you'd see it in Windows Explorer). <strong>NOTE:</strong> The resource directory must contain the subfolders images, files, flash and media in order for the resource browser to function correctly.
3392
     *
3393
     * @param string $value
3394
     *
3395
     * @return $this
3396
     */
3397
    public function setCoreRbBaseDir($value)
3398
    {
3399
        $this->setFieldName('rb_base_dir');
3400
        $this->loadObject(true);
3401
        $this->setFieldValue($value);
3402
3403
        return $this;
3404
    }
3405
3406
3407
    /**
3408
     * Resource URL ~
3409
     * Enter the virtual path to resource directory. This setting is usually automatically generated. If you're using IIS, however, MODX may not be able to work the URL out on its own, causing the Resource Browser to show an error. In that case, you can enter the URL to the images directory here (the URL as you'd enter it on Internet Explorer).
3410
     *
3411
     * @param string $value
3412
     *
3413
     * @return $this
3414
     */
3415
    public function setCoreRbBaseUrl($value)
3416
    {
3417
        $this->setFieldName('rb_base_url');
3418
        $this->loadObject(true);
3419
        $this->setFieldValue($value);
3420
3421
        return $this;
3422
    }
3423
3424
3425
    /**
3426
     * Request Controller Filename ~
3427
     * The filename of the main request controller from which MODX is loaded. Most users can leave this as index.php.
3428
     *
3429
     * @param string $value
3430
     *
3431
     * @return $this
3432
     */
3433
    public function setCoreRequestController($value)
3434
    {
3435
        $this->setFieldName('request_controller');
3436
        $this->loadObject(true);
3437
        $this->setFieldValue($value);
3438
3439
        return $this;
3440
    }
3441
3442
3443
    /**
3444
     * Strict Request Method ~
3445
     * If enabled, requests via the Request ID Parameter will be ignored with FURLs enabled, and those via Request Alias Parameter will be ignored without FURLs enabled.
3446
     *
3447
     * @param bool $value
3448
     *
3449
     * @return $this
3450
     */
3451
    public function setCoreRequestMethodStrict($value)
3452
    {
3453
        $this->setFieldName('request_method_strict');
3454
        $this->loadObject(true);
3455
        $this->setFieldValue($value);
3456
3457
        return $this;
3458
    }
3459
3460
    /**
3461
     * Request Alias Parameter ~
3462
     * The name of the GET parameter to identify Resource aliases when redirecting with FURLs.
3463
     *
3464
     * @param string $value
3465
     *
3466
     * @return $this
3467
     */
3468
    public function setCoreRequestParamAlias($value)
3469
    {
3470
        $this->setFieldName('request_param_alias');
3471
        $this->loadObject(true);
3472
        $this->setFieldValue($value);
3473
3474
        return $this;
3475
    }
3476
3477
3478
    /**
3479
     * Request ID Parameter ~
3480
     * The name of the GET parameter to identify Resource IDs when not using FURLs.
3481
     *
3482
     * @param string $value
3483
     *
3484
     * @return $this
3485
     */
3486
    public function setCoreRequestParamId($value)
3487
    {
3488
        $this->setFieldName('request_param_id');
3489
        $this->loadObject(true);
3490
        $this->setFieldValue($value);
3491
3492
        return $this;
3493
    }
3494
3495
3496
    /**
3497
     * Resolve hostnames ~
3498
     * Do you want MODX to try to resolve your visitors' hostnames when they visit your site? Resolving hostnames may create some extra server load, although your visitors won't notice this in any way.
3499
     *
3500
     * @param bool $value
3501
     *
3502
     * @return $this
3503
     */
3504
    public function setCoreResolveHostnames($value)
3505
    {
3506
        $this->setFieldName('resolve_hostnames');
3507
        $this->loadObject(true);
3508
        $this->setFieldValue($value);
3509
3510
        return $this;
3511
    }
3512
3513
    /**
3514
     * Resource Tree Node Field ~
3515
     * Specify the Resource field to use when rendering the nodes in the Resource Tree. Defaults to pagetitle, although any Resource field can be used, such as menutitle, alias, longtitle, etc.
3516
     *
3517
     * @param string $value
3518
     *
3519
     * @return $this
3520
     */
3521
    public function setCoreResourceTreeNodeName($value)
3522
    {
3523
        $this->setFieldName('resource_tree_node_name');
3524
        $this->loadObject(true);
3525
        $this->setFieldValue($value);
3526
3527
        return $this;
3528
    }
3529
3530
3531
    /**
3532
     * Resource Tree Node Fallback Field ~
3533
     * Specify the Resource field to use as fallback when rendering the nodes in the Resource Tree. This will be used if the resource has an empty value for the configured Resource Tree Node Field.
3534
     *
3535
     * @param string $value
3536
     *
3537
     * @return $this
3538
     */
3539
    public function setCoreResourceTreeNodeNameFallback($value)
3540
    {
3541
        $this->setFieldName('resource_tree_node_name_fallback');
3542
        $this->loadObject(true);
3543
        $this->setFieldValue($value);
3544
3545
        return $this;
3546
    }
3547
3548
3549
    /**
3550
     * Resource Tree Tooltip Field ~
3551
     * Specify the Resource field to use when rendering the nodes in the Resource Tree. Any Resource field can be used, such as menutitle, alias, longtitle, etc. If blank, will be the longtitle with a description underneath.
3552
     *
3553
     * @param string $value
3554
     *
3555
     * @return $this
3556
     */
3557
    public function setCoreResourceTreeNodeTooltip($value)
3558
    {
3559
        $this->setFieldName('resource_tree_node_tooltip');
3560
        $this->loadObject(true);
3561
        $this->setFieldValue($value);
3562
3563
        return $this;
3564
    }
3565
3566
3567
    /**
3568
     * Richtext Default ~
3569
     * Select 'Yes' to make all new Resources use the Richtext Editor by default.
3570
     *
3571
     * @param bool $value
3572
     *
3573
     * @return $this
3574
     */
3575
    public function setCoreRichtextDefault($value)
3576
    {
3577
        $this->setFieldName('richtext_default');
3578
        $this->loadObject(true);
3579
        $this->setFieldValue($value);
3580
3581
        return $this;
3582
    }
3583
3584
    /**
3585
     * Searchable Default ~
3586
     * Select 'Yes' to make all new resources searchable by default.
3587
     *
3588
     * @param bool $value
3589
     *
3590
     * @return $this
3591
     */
3592
    public function setCoreSearchDefault($value)
3593
    {
3594
        $this->setFieldName('search_default');
3595
        $this->loadObject(true);
3596
        $this->setFieldValue($value);
3597
3598
        return $this;
3599
    }
3600
3601
    /**
3602
     * Send X-Powered-By Header ~
3603
     * When enabled, MODX will send the "X-Powered-By" header to identify this site as built on MODX. This helps tracking global MODX usage through third party trackers inspecting your site. Because this makes it easier to identify what your site is built with, it might pose a slightly increased security risk if a vulnerability is found in MODX.
3604
     *
3605
     * @param bool $value
3606
     *
3607
     * @return $this
3608
     */
3609
    public function setCoreSendPoweredbyHeader($value)
3610
    {
3611
        $this->setFieldName('send_poweredby_header');
3612
        $this->loadObject(true);
3613
        $this->setFieldValue($value);
3614
3615
        return $this;
3616
    }
3617
3618
    /**
3619
     * Server offset time ~
3620
     * Select the number of hours time difference between where you are and where the server is.
3621
     *
3622
     * @param string $value
3623
     *
3624
     * @return $this
3625
     */
3626
    public function setCoreServerOffsetTime($value)
3627
    {
3628
        $this->setFieldName('server_offset_time');
3629
        $this->loadObject(true);
3630
        $this->setFieldValue($value);
3631
3632
        return $this;
3633
    }
3634
3635
3636
    /**
3637
     * Server type ~
3638
     * If your site is on a https connection, please specify so here.
3639
     *
3640
     * @param string $value
3641
     *
3642
     * @return $this
3643
     */
3644
    public function setCoreServerProtocol($value)
3645
    {
3646
        $this->setFieldName('server_protocol');
3647
        $this->loadObject(true);
3648
        $this->setFieldValue($value);
3649
3650
        return $this;
3651
    }
3652
3653
3654
    /**
3655
     * Session Cookie Domain ~
3656
     * Use this setting to customize the session cookie domain. Leave blank to use the current domain.
3657
     *
3658
     * @param string $value
3659
     *
3660
     * @return $this
3661
     */
3662
    public function setCoreSessionCookieDomain($value)
3663
    {
3664
        $this->setFieldName('session_cookie_domain');
3665
        $this->loadObject(true);
3666
        $this->setFieldValue($value);
3667
3668
        return $this;
3669
    }
3670
3671
3672
    /**
3673
     * Session Cookie HttpOnly ~
3674
     * Use this setting to set the HttpOnly flag on session cookies.
3675
     *
3676
     * @param bool $value
3677
     *
3678
     * @return $this
3679
     */
3680
    public function setCoreSessionCookieHttponly($value)
3681
    {
3682
        $this->setFieldName('session_cookie_httponly');
3683
        $this->loadObject(true);
3684
        $this->setFieldValue($value);
3685
3686
        return $this;
3687
    }
3688
3689
    /**
3690
     * Session Cookie Lifetime ~
3691
     * Use this setting to customize the session cookie lifetime in seconds.  This is used to set the lifetime of a client session cookie when they choose the 'remember me' option on login.
3692
     *
3693
     * @param string $value
3694
     *
3695
     * @return $this
3696
     */
3697
    public function setCoreSessionCookieLifetime($value)
3698
    {
3699
        $this->setFieldName('session_cookie_lifetime');
3700
        $this->loadObject(true);
3701
        $this->setFieldValue($value);
3702
3703
        return $this;
3704
    }
3705
3706
3707
    /**
3708
     * Session Cookie Path ~
3709
     * Use this setting to customize the cookie path for identifying site specific session cookies. Leave blank to use MODX_BASE_URL.
3710
     *
3711
     * @param string $value
3712
     *
3713
     * @return $this
3714
     */
3715
    public function setCoreSessionCookiePath($value)
3716
    {
3717
        $this->setFieldName('session_cookie_path');
3718
        $this->loadObject(true);
3719
        $this->setFieldValue($value);
3720
3721
        return $this;
3722
    }
3723
3724
3725
    /**
3726
     * Session Cookie Secure ~
3727
     * Enable this setting to use secure session cookies. This requires your site to be accessible over https, otherwise your site and/or manager will become inaccessible.
3728
     *
3729
     * @param bool $value
3730
     *
3731
     * @return $this
3732
     */
3733
    public function setCoreSessionCookieSecure($value)
3734
    {
3735
        $this->setFieldName('session_cookie_secure');
3736
        $this->loadObject(true);
3737
        $this->setFieldValue($value);
3738
3739
        return $this;
3740
    }
3741
3742
    /**
3743
     * Session Garbage Collector Max Lifetime ~
3744
     * Allows customization of the session.gc_maxlifetime PHP ini setting when using 'modSessionHandler'.
3745
     *
3746
     * @param string $value
3747
     *
3748
     * @return $this
3749
     */
3750
    public function setCoreSessionGcMaxlifetime($value)
3751
    {
3752
        $this->setFieldName('session_gc_maxlifetime');
3753
        $this->loadObject(true);
3754
        $this->setFieldValue($value);
3755
3756
        return $this;
3757
    }
3758
3759
3760
    /**
3761
     * Session Handler Class Name ~
3762
     * For database managed sessions, use 'modSessionHandler'.  Leave this blank to use standard PHP session management.
3763
     *
3764
     * @param string $value
3765
     *
3766
     * @return $this
3767
     */
3768
    public function setCoreSessionHandlerClass($value)
3769
    {
3770
        $this->setFieldName('session_handler_class');
3771
        $this->loadObject(true);
3772
        $this->setFieldValue($value);
3773
3774
        return $this;
3775
    }
3776
3777
3778
    /**
3779
     * Session Name ~
3780
     * Use this setting to customize the session name used for the sessions in MODX. Leave blank to use the default PHP session name.
3781
     *
3782
     * @param string $value
3783
     *
3784
     * @return $this
3785
     */
3786
    public function setCoreSessionName($value)
3787
    {
3788
        $this->setFieldName('session_name');
3789
        $this->loadObject(true);
3790
        $this->setFieldValue($value);
3791
3792
        return $this;
3793
    }
3794
3795
3796
    /**
3797
     * Set HTTP Headers ~
3798
     * When enabled, MODX will attempt to set the HTTP headers for Resources.
3799
     *
3800
     * @param bool $value
3801
     *
3802
     * @return $this
3803
     */
3804
    public function setCoreSetHeader($value)
3805
    {
3806
        $this->setFieldName('set_header');
3807
        $this->loadObject(true);
3808
        $this->setFieldValue($value);
3809
3810
        return $this;
3811
    }
3812
3813
    /**
3814
     * Settings Distribution ~
3815
     * The current installed distribution of MODX.
3816
     *
3817
     * @param string $value
3818
     *
3819
     * @return $this
3820
     */
3821
    public function setCoreSettingsDistro($value)
3822
    {
3823
        $this->setFieldName('settings_distro');
3824
        $this->loadObject(true);
3825
        $this->setFieldValue($value);
3826
3827
        return $this;
3828
    }
3829
3830
3831
    /**
3832
     * Settings Version ~
3833
     * The current installed version of MODX.
3834
     *
3835
     * @param string $value
3836
     *
3837
     * @return $this
3838
     */
3839
    public function setCoreSettingsVersion($value)
3840
    {
3841
        $this->setFieldName('settings_version');
3842
        $this->loadObject(true);
3843
        $this->setFieldValue($value);
3844
3845
        return $this;
3846
    }
3847
3848
3849
    /**
3850
     * Show "Categories" Tabs Header with TVs ~
3851
     * If "Yes", MODX will show the "Categories" header above the first category tab when editing TVs in a Resource.
3852
     *
3853
     * @param bool $value
3854
     *
3855
     * @return $this
3856
     */
3857
    public function setCoreShowTvCategoriesHeader($value)
3858
    {
3859
        $this->setFieldName('show_tv_categories_header');
3860
        $this->loadObject(true);
3861
        $this->setFieldValue($value);
3862
3863
        return $this;
3864
    }
3865
3866
    /**
3867
     * Sign-up email ~
3868
     * Here you can set the message sent to your users when you create an account for them and let MODX send them an email containing their username and password. <br /><strong>Note:</strong> The following placeholders are replaced by the Content Manager when the message is sent: <br /><br />[[+sname]] - Name of your web site, <br />[[+saddr]] - Your web site email address, <br />[[+surl]] - Your site URL, <br />[[+uid]] - User's login name or id, <br />[[+pwd]] - User's password, <br />[[+ufn]] - User's full name. <br /><br /><strong>Leave the [[+uid]] and [[+pwd]] in the email, or else the username and password won't be sent in the mail and your users won't know their username or password!</strong>
3869
     *
3870
     * @param string $value
3871
     *
3872
     * @return $this
3873
     */
3874
    public function setCoreSignupemailMessage($value)
3875
    {
3876
        $this->setFieldName('signupemail_message');
3877
        $this->loadObject(true);
3878
        $this->setFieldValue($value);
3879
3880
        return $this;
3881
    }
3882
3883
3884
    /**
3885
     * Site name ~
3886
     * Enter the name of your site here.
3887
     *
3888
     * @param string $value
3889
     *
3890
     * @return $this
3891
     */
3892
    public function setCoreSiteName($value)
3893
    {
3894
        $this->setFieldName('site_name');
3895
        $this->loadObject(true);
3896
        $this->setFieldValue($value);
3897
3898
        return $this;
3899
    }
3900
3901
3902
    /**
3903
     * Site start ~
3904
     * Enter the ID of the Resource you want to use as homepage here. <strong>NOTE: make sure this ID you enter belongs to an existing Resource, and that it has been published!</strong>
3905
     *
3906
     * @param string $value
3907
     *
3908
     * @return $this
3909
     */
3910
    public function setCoreSiteStart($value)
3911
    {
3912
        $this->setFieldName('site_start');
3913
        $this->loadObject(true);
3914
        $this->setFieldValue($value);
3915
3916
        return $this;
3917
    }
3918
3919
3920
    /**
3921
     * Site status ~
3922
     * Select 'Yes' to publish your site on the web. If you select 'No', your visitors will see the 'Site unavailable message', and won't be able to browse the site.
3923
     *
3924
     * @param bool $value
3925
     *
3926
     * @return $this
3927
     */
3928
    public function setCoreSiteStatus($value)
3929
    {
3930
        $this->setFieldName('site_status');
3931
        $this->loadObject(true);
3932
        $this->setFieldValue($value);
3933
3934
        return $this;
3935
    }
3936
3937
    /**
3938
     * Site unavailable message ~
3939
     * Message to show when the site is offline or if an error occurs. <strong>Note: This message will only be displayed if the Site unavailable page option is not set.</strong>
3940
     *
3941
     * @param string $value
3942
     *
3943
     * @return $this
3944
     */
3945
    public function setCoreSiteUnavailableMessage($value)
3946
    {
3947
        $this->setFieldName('site_unavailable_message');
3948
        $this->loadObject(true);
3949
        $this->setFieldValue($value);
3950
3951
        return $this;
3952
    }
3953
3954
3955
    /**
3956
     * Site unavailable page ~
3957
     * Enter the ID of the Resource you want to use as an offline page here. <strong>NOTE: make sure this ID you enter belongs to an existing Resource, and that it has been published!</strong>
3958
     *
3959
     * @param string $value
3960
     *
3961
     * @return $this
3962
     */
3963
    public function setCoreSiteUnavailablePage($value)
3964
    {
3965
        $this->setFieldName('site_unavailable_page');
3966
        $this->loadObject(true);
3967
        $this->setFieldValue($value);
3968
3969
        return $this;
3970
    }
3971
3972
3973
    /**
3974
     * Rewrite browser paths? ~
3975
     * If this is set to 'No', MODX will write file browser resource src's (images, files, flash, etc.) as absolute URLs. Relative URLs are helpful should you wish to move your MODX install, e.g., from a staging site to a production site. If you have no idea what this means, it's best just to leave it set to 'Yes'.
3976
     *
3977
     * @param bool $value
3978
     *
3979
     * @return $this
3980
     */
3981
    public function setCoreStripImagePaths($value)
3982
    {
3983
        $this->setFieldName('strip_image_paths');
3984
        $this->loadObject(true);
3985
        $this->setFieldValue($value);
3986
3987
        return $this;
3988
    }
3989
3990
    /**
3991
     * Merge Resource Fields in Symlinks ~
3992
     * If set to Yes, will automatically merge non-empty fields with target resource when forwarding using Symlinks.
3993
     *
3994
     * @param bool $value
3995
     *
3996
     * @return $this
3997
     */
3998
    public function setCoreSymlinkMergeFields($value)
3999
    {
4000
        $this->setFieldName('symlink_merge_fields');
4001
        $this->loadObject(true);
4002
        $this->setFieldValue($value);
4003
4004
        return $this;
4005
    }
4006
4007
    /**
4008
     * Empty Cache default ~
4009
     * Select 'Yes' to empty the cache after you save a resource by default.
4010
     *
4011
     * @param bool $value
4012
     *
4013
     * @return $this
4014
     */
4015
    public function setCoreSyncsiteDefault($value)
4016
    {
4017
        $this->setFieldName('syncsite_default');
4018
        $this->loadObject(true);
4019
        $this->setFieldValue($value);
4020
4021
        return $this;
4022
    }
4023
4024
    /**
4025
     * Show Descriptions in Top Menu ~
4026
     * If set to 'No', MODX will hide the descriptions from top menu items in the manager.
4027
     *
4028
     * @param bool $value
4029
     *
4030
     * @return $this
4031
     */
4032
    public function setCoreTopmenuShowDescriptions($value)
4033
    {
4034
        $this->setFieldName('topmenu_show_descriptions');
4035
        $this->loadObject(true);
4036
        $this->setFieldValue($value);
4037
4038
        return $this;
4039
    }
4040
4041
    /**
4042
     * Resource Tree Default Sort Field ~
4043
     * The default sort field for the Resource tree when loading the manager.
4044
     *
4045
     * @param string $value
4046
     *
4047
     * @return $this
4048
     */
4049
    public function setCoreTreeDefaultSort($value)
4050
    {
4051
        $this->setFieldName('tree_default_sort');
4052
        $this->loadObject(true);
4053
        $this->setFieldValue($value);
4054
4055
        return $this;
4056
    }
4057
4058
4059
    /**
4060
     * Tree Root ID ~
4061
     * Set this to a valid ID of a Resource to start the left Resource tree at below that node as the root. The user will only be able to see Resources that are children of the specified Resource.
4062
     *
4063
     * @param int $value
4064
     *
4065
     * @return $this
4066
     */
4067
    public function setCoreTreeRootId($value)
4068
    {
4069
        $this->setFieldName('tree_root_id');
4070
        $this->loadObject(true);
4071
        $this->setFieldValue($value);
4072
4073
        return $this;
4074
    }
4075
4076
    /**
4077
     * Move TVs Below Content ~
4078
     * Set this to Yes to move Template Variables below the Content when editing Resources.
4079
     *
4080
     * @param bool $value
4081
     *
4082
     * @return $this
4083
     */
4084
    public function setCoreTvsBelowContent($value)
4085
    {
4086
        $this->setFieldName('tvs_below_content');
4087
        $this->loadObject(true);
4088
        $this->setFieldValue($value);
4089
4090
        return $this;
4091
    }
4092
4093
    /**
4094
     * Allow root ~
4095
     * Do you want to allow your users to create new Resources in the root of the site?
4096
     *
4097
     * @param bool $value
4098
     *
4099
     * @return $this
4100
     */
4101
    public function setCoreUdpermsAllowroot($value)
4102
    {
4103
        $this->setFieldName('udperms_allowroot');
4104
        $this->loadObject(true);
4105
        $this->setFieldValue($value);
4106
4107
        return $this;
4108
    }
4109
4110
    /**
4111
     * Unauthorized page ~
4112
     * Enter the ID of the Resource you want to send users to if they have requested a secured or unauthorized Resource. <strong>NOTE: Make sure the ID you enter belongs to an existing Resource, and that it has been published and is publicly accessible!</strong>
4113
     *
4114
     * @param string $value
4115
     *
4116
     * @return $this
4117
     */
4118
    public function setCoreUnauthorizedPage($value)
4119
    {
4120
        $this->setFieldName('unauthorized_page');
4121
        $this->loadObject(true);
4122
        $this->setFieldValue($value);
4123
4124
        return $this;
4125
    }
4126
4127
4128
    /**
4129
     * Uploadable File Types ~
4130
     * Here you can enter a list of files that can be uploaded into 'assets/files/' using the Resource Manager. Please enter the extensions for the filetypes, seperated by commas.
4131
     *
4132
     * @param string $value
4133
     *
4134
     * @return $this
4135
     */
4136
    public function setCoreUploadFiles($value)
4137
    {
4138
        $this->setFieldName('upload_files');
4139
        $this->loadObject(true);
4140
        $this->setFieldValue($value);
4141
4142
        return $this;
4143
    }
4144
4145
4146
    /**
4147
     * Uploadable Flash Types ~
4148
     * Here you can enter a list of files that can be uploaded into 'assets/flash/' using the Resource Manager. Please enter the extensions for the flash types, separated by commas.
4149
     *
4150
     * @param string $value
4151
     *
4152
     * @return $this
4153
     */
4154
    public function setCoreUploadFlash($value)
4155
    {
4156
        $this->setFieldName('upload_flash');
4157
        $this->loadObject(true);
4158
        $this->setFieldValue($value);
4159
4160
        return $this;
4161
    }
4162
4163
4164
    /**
4165
     * Uploadable Image Types ~
4166
     * Here you can enter a list of files that can be uploaded into 'assets/images/' using the Resource Manager. Please enter the extensions for the image types, separated by commas.
4167
     *
4168
     * @param string $value
4169
     *
4170
     * @return $this
4171
     */
4172
    public function setCoreUploadImages($value)
4173
    {
4174
        $this->setFieldName('upload_images');
4175
        $this->loadObject(true);
4176
        $this->setFieldValue($value);
4177
4178
        return $this;
4179
    }
4180
4181
4182
    /**
4183
     * Maximum upload size ~
4184
     * Enter the maximum file size that can be uploaded via the file manager. Upload file size must be entered in bytes. <strong>NOTE: Large files can take a very long time to upload!</strong>
4185
     *
4186
     * @param string $value
4187
     *
4188
     * @return $this
4189
     */
4190
    public function setCoreUploadMaxsize($value)
4191
    {
4192
        $this->setFieldName('upload_maxsize');
4193
        $this->loadObject(true);
4194
        $this->setFieldValue($value);
4195
4196
        return $this;
4197
    }
4198
4199
4200
    /**
4201
     * Uploadable Media Types ~
4202
     * Here you can enter a list of files that can be uploaded into 'assets/media/' using the Resource Manager. Please enter the extensions for the media types, separated by commas.
4203
     *
4204
     * @param string $value
4205
     *
4206
     * @return $this
4207
     */
4208
    public function setCoreUploadMedia($value)
4209
    {
4210
        $this->setFieldName('upload_media');
4211
        $this->loadObject(true);
4212
        $this->setFieldValue($value);
4213
4214
        return $this;
4215
    }
4216
4217
4218
    /**
4219
     * Use Friendly Alias Path ~
4220
     * Setting this option to 'yes' will display the full path to the Resource if the Resource has an alias. For example, if a Resource with an alias called 'child' is located inside a container Resource with an alias called 'parent', then the full alias path to the Resource will be displayed as '/parent/child.html'.<br /><strong>NOTE: When setting this option to 'Yes' (turning on alias paths), reference items (such as images, CSS, JavaScripts, etc.) use the absolute path, e.g., '/assets/images' as opposed to 'assets/images'. By doing so you will prevent the browser (or web server) from appending the relative path to the alias path.</strong>
4221
     *
4222
     * @param bool $value
4223
     *
4224
     * @return $this
4225
     */
4226
    public function setCoreUseAliasPath($value)
4227
    {
4228
        $this->setFieldName('use_alias_path');
4229
        $this->loadObject(true);
4230
        $this->setFieldValue($value);
4231
4232
        return $this;
4233
    }
4234
4235
    /**
4236
     * Enable Resource Browser ~
4237
     * Select yes to enable the resource browser. This will allow your users to browse and upload resources such as images, flash and media files on the server.
4238
     *
4239
     * @param bool $value
4240
     *
4241
     * @return $this
4242
     */
4243
    public function setCoreUseBrowser($value)
4244
    {
4245
        $this->setFieldName('use_browser');
4246
        $this->loadObject(true);
4247
        $this->setFieldValue($value);
4248
4249
        return $this;
4250
    }
4251
4252
    /**
4253
     * Use the context resource table ~
4254
     * When enabled, context refreshes use the context_resource table. This enables you to programmatically have one resource in multiple contexts. If you do not use those multiple resource contexts via the API, you can set this to false. On large sites you will get a potential performance boost in the manager then.
4255
     *
4256
     * @param bool $value
4257
     *
4258
     * @return $this
4259
     */
4260
    public function setCoreUseContextResourceTable($value)
4261
    {
4262
        $this->setFieldName('use_context_resource_table');
4263
        $this->loadObject(true);
4264
        $this->setFieldValue($value);
4265
4266
        return $this;
4267
    }
4268
4269
    /**
4270
     * Enable Rich Text Editor ~
4271
     * Do you want to enable the rich text editor? If you're more comfortable writing HTML, then you can turn the editor off using this setting. Note that this setting applies to all documents and all users!
4272
     *
4273
     * @param bool $value
4274
     *
4275
     * @return $this
4276
     */
4277
    public function setCoreUseEditor($value)
4278
    {
4279
        $this->setFieldName('use_editor');
4280
        $this->loadObject(true);
4281
        $this->setFieldValue($value);
4282
4283
        return $this;
4284
    }
4285
4286
    /**
4287
     * Use Frozen Parent URIs ~
4288
     * When enabled, the URI for children resources will be relative to the frozen URI of one of its parents, ignoring the aliases of resources high in the tree.
4289
     *
4290
     * @param bool $value
4291
     *
4292
     * @return $this
4293
     */
4294
    public function setCoreUseFrozenParentUris($value)
4295
    {
4296
        $this->setFieldName('use_frozen_parent_uris');
4297
        $this->loadObject(true);
4298
        $this->setFieldValue($value);
4299
4300
        return $this;
4301
    }
4302
4303
    /**
4304
     * Use Multibyte Extension ~
4305
     * Set to true if you want to use the mbstring extension for multibyte characters in your MODX installation. Only set to true if you have the mbstring PHP extension installed.
4306
     *
4307
     * @param bool $value
4308
     *
4309
     * @return $this
4310
     */
4311
    public function setCoreUseMultibyte($value)
4312
    {
4313
        $this->setFieldName('use_multibyte');
4314
        $this->loadObject(true);
4315
        $this->setFieldValue($value);
4316
4317
        return $this;
4318
    }
4319
4320
    /**
4321
     * Use WebLink Target ~
4322
     * Set to true if you want to have MODX link tags and makeUrl() generate links as the target URL for WebLinks. Otherwise, the internal MODX URL will be generated by link tags and the makeUrl() method.
4323
     *
4324
     * @param bool $value
4325
     *
4326
     * @return $this
4327
     */
4328
    public function setCoreUseWeblinkTarget($value)
4329
    {
4330
        $this->setFieldName('use_weblink_target');
4331
        $this->loadObject(true);
4332
        $this->setFieldValue($value);
4333
4334
        return $this;
4335
    }
4336
4337
    /**
4338
     * User menu parent ~
4339
     * The container used to pull all records for the user menu.
4340
     *
4341
     * @param string $value
4342
     *
4343
     * @return $this
4344
     */
4345
    public function setCoreUserNavParent($value)
4346
    {
4347
        $this->setFieldName('user_nav_parent');
4348
        $this->loadObject(true);
4349
        $this->setFieldValue($value);
4350
4351
        return $this;
4352
    }
4353
4354
4355
    /**
4356
     * Web Reminder Email ~
4357
     * Enter a message to be sent to your web users whenever they request a new password via email. The Content Manager will send an email containing their new password and activation information. <br /><strong>Note:</strong> The following placeholders are replaced by the Content Manager when the message is sent: <br /><br />[[+sname]] - Name of your web site, <br />[[+saddr]] - Your web site email address, <br />[[+surl]] - Your site URL, <br />[[+uid]] - User's login name or id, <br />[[+pwd]] - User's password, <br />[[+ufn]] - User's full name. <br /><br /><strong>Leave the [[+uid]] and [[+pwd]] in the email, or else the username and password won't be sent in the mail and your users won't know their username or password!</strong>
4358
     *
4359
     * @param string $value
4360
     *
4361
     * @return $this
4362
     */
4363
    public function setCoreWebpwdreminderMessage($value)
4364
    {
4365
        $this->setFieldName('webpwdreminder_message');
4366
        $this->loadObject(true);
4367
        $this->setFieldValue($value);
4368
4369
        return $this;
4370
    }
4371
4372
4373
    /**
4374
     * Web Signup email ~
4375
     * Here you can set the message sent to your web users when you create a web account for them and let the Content Manager send them an email containing their username and password. <br /><strong>Note:</strong> The following placeholders are replaced by the Content Manager when the message is sent: <br /><br />[[+sname]] - Name of your web site, <br />[[+saddr]] - Your web site email address, <br />[[+surl]] - Your site URL, <br />[[+uid]] - User's login name or id, <br />[[+pwd]] - User's password, <br />[[+ufn]] - User's full name. <br /><br /><strong>Leave the [[+uid]] and [[+pwd]] in the email, or else the username and password won't be sent in the mail and your users won't know their username or password!</strong>
4376
     *
4377
     * @param string $value
4378
     *
4379
     * @return $this
4380
     */
4381
    public function setCoreWebsignupemailMessage($value)
4382
    {
4383
        $this->setFieldName('websignupemail_message');
4384
        $this->loadObject(true);
4385
        $this->setFieldValue($value);
4386
4387
        return $this;
4388
    }
4389
4390
4391
    /**
4392
     * Welcome Action ~
4393
     * The default controller to load when accessing the manager when no controller is specified in the URL.
4394
     *
4395
     * @param string $value
4396
     *
4397
     * @return $this
4398
     */
4399
    public function setCoreWelcomeAction($value)
4400
    {
4401
        $this->setFieldName('welcome_action');
4402
        $this->loadObject(true);
4403
        $this->setFieldValue($value);
4404
4405
        return $this;
4406
    }
4407
4408
4409
    /**
4410
     * Welcome Namespace ~
4411
     * The namespace the Welcome Action belongs to.
4412
     *
4413
     * @param string $value
4414
     *
4415
     * @return $this
4416
     */
4417
    public function setCoreWelcomeNamespace($value)
4418
    {
4419
        $this->setFieldName('welcome_namespace');
4420
        $this->loadObject(true);
4421
        $this->setFieldValue($value);
4422
4423
        return $this;
4424
    }
4425
4426
4427
    /**
4428
     * Show Welcome Screen ~
4429
     * If set to true, the welcome screen will show on the next successful loading of the welcome page, and then not show after that.
4430
     *
4431
     * @param bool $value
4432
     *
4433
     * @return $this
4434
     */
4435
    public function setCoreWelcomeScreen($value)
4436
    {
4437
        $this->setFieldName('welcome_screen');
4438
        $this->loadObject(true);
4439
        $this->setFieldValue($value);
4440
4441
        return $this;
4442
    }
4443
4444
    /**
4445
     * Welcome Screen URL ~
4446
     * The URL for the welcome screen that loads on first load of MODX Revolution.
4447
     *
4448
     * @param string $value
4449
     *
4450
     * @return $this
4451
     */
4452
    public function setCoreWelcomeScreenUrl($value)
4453
    {
4454
        $this->setFieldName('welcome_screen_url');
4455
        $this->loadObject(true);
4456
        $this->setFieldValue($value);
4457
4458
        return $this;
4459
    }
4460
4461
4462
    /**
4463
     * Editor to use ~
4464
     * Here you can select which Rich Text Editor you wish to use. You can download and install additional Rich Text Editors from Package Management.
4465
     *
4466
     * @param string $value
4467
     *
4468
     * @return $this
4469
     */
4470
    public function setCoreWhichEditor($value)
4471
    {
4472
        $this->setFieldName('which_editor');
4473
        $this->loadObject(true);
4474
        $this->setFieldValue($value);
4475
4476
        return $this;
4477
    }
4478
4479
4480
    /**
4481
     * Editor to use for Elements ~
4482
     * Here you can select which Rich Text Editor you wish to use when editing Elements. You can download and install additional Rich Text Editors from Package Management.
4483
     *
4484
     * @param string $value
4485
     *
4486
     * @return $this
4487
     */
4488
    public function setCoreWhichElementEditor($value)
4489
    {
4490
        $this->setFieldName('which_element_editor');
4491
        $this->loadObject(true);
4492
        $this->setFieldValue($value);
4493
4494
        return $this;
4495
    }
4496
4497
4498
    /**
4499
     * XHTML URLs ~
4500
     * If set to true, all URLs generated by MODX will be XHTML-compliant, including encoding of the ampersand character.
4501
     *
4502
     * @param bool $value
4503
     *
4504
     * @return $this
4505
     */
4506
    public function setCoreXhtmlUrls($value)
4507
    {
4508
        $this->setFieldName('xhtml_urls');
4509
        $this->loadObject(true);
4510
        $this->setFieldValue($value);
4511
4512
        return $this;
4513
    }
4514
}
4515