Seditio Source
Root |
./othercms/elxis_5.3_atlas_rev2452/includes/js/jodit/connector/vendor/jodit/application/src/Config.php
<?php

namespace Jodit;

defined('_ELXIS_') or die ('Direct access to this location is not allowed');


/**
 * Class Config
 * @property \jodit\Source[] $sources
 * @property string $thumbFolderName
 * @property bool $allowCrossOrigin
 * @property bool $createThumb
 * @property string[] $excludeDirectoryNames
 * @property number $quality
 * @property string $datetimeFormat
 * @package jodit
 */
class Config {
    private
$data = [];
    private
$defaultOptuions = [];

   
/**
     * @var bool
     */
   
public $debug = true; // must be true

    /**
     * @var Source[]
     */
   
public $sources = [];

   
/**
     * @var string
     */
   
public $datetimeFormat = 'm/d/Y g:i A';

   
/**
     * @var int
     */
   
public $quality = 90;

   
/**
     * @var int
     */
   
public $defaultPermission = 0775;

   
/**
     * @var bool
     */
   
public $createThumb = true;

   
/**
     * @var string
     */
   
public $thumbFolderName = '_thumbs';

   
/**
     * @var string[]
     */
   
public $excludeDirectoryNames = ['.tmb', '.quarantine'];

   
/**
     * @var string
     */
   
public $maxFileSize = '8mb';

   
/**
     * @var bool
     */
   
public $allowCrossOrigin = false;

   
/**
     * @var array
     * @see https://github.com/xdan/jodit-connectors#access-control
     */
   
public $accessControl = [];

   
/**
     * @var string
     */
   
public $roleSessionVar = 'JoditUserRole';

   
/**
     * @var string
     */
   
public $defaultRole = 'guest';

   
/**
     * @var bool
     */
   
public $allowReplaceSourceFile = true;

   
/**
     * @var string
     */
   
public $baseurl = '';

   
/**
     * @var string
     */
   
public $root = '';

   
/**
     * @var string[]
     */
   
public $extensions = ['jpg', 'png', 'gif', 'jpeg'];

   
/**
     * @var string[]
     */
   
public $imageExtensions = ['jpg', 'png', 'gif', 'jpeg', 'bmp'];

   
/**
     * @var int
     */
   
public $maxImageWidth = 1900;

   
/**
     * @var int
     */
   
public $maxImageHeight = 1900;

    function
__get($key) {
        if (!empty(
$this->data->{$key})) {
            return
$this->data->{$key};
        }
        if (
$this->defaultOptuions->{$key}) {
            return
$this->defaultOptuions->{$key};
        }

        throw new \
ErrorException('Option ' . $key . ' not set', 501);
    }

   
/**
     * Config constructor.
     *
     * @param array $data
     * @param false|array $defaultOptuions
     */
   
function __construct($data, $defaultOptuions = false) {
       
$this->baseurl = ((isset($_SERVER['HTTPS']) and $_SERVER['HTTPS']) ? 'https://' : 'http://') . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '') . '/';

       
$this->data = (object)$data;

        foreach (
$this->data as $key => $value) {
            switch (
$key) {
                case
'sources':
                    foreach (
$value as $key => $source) {
                       
$this->sources[$key] = new Source($source, $this);
                    }
                    break;
                default:
                    if (
property_exists($this, $key)) {
                       
$this->{$key} = $value;
                    }
            }
        }

        if (!
count($this->sources) or !(array_values($this->sources)[0] instanceof Source)) {
           
$this->sources = [new Source([], $this)];
        }

       
$this->defaultOptuions = (object)($defaultOptuions?:[]);
    }
}