| 1: | <?php |
| 2: | |
| 3: | |
| 4: | |
| 5: | |
| 6: | |
| 7: | |
| 8: | namespace Aurora\Modules\Core; |
| 9: | |
| 10: | use Aurora\System\SettingsProperty; |
| 11: | use Aurora\System\Enums; |
| 12: | |
| 13: | |
| 14: | |
| 15: | |
| 16: | |
| 17: | |
| 18: | |
| 19: | |
| 20: | |
| 21: | |
| 22: | |
| 23: | |
| 24: | |
| 25: | |
| 26: | |
| 27: | |
| 28: | |
| 29: | |
| 30: | |
| 31: | |
| 32: | |
| 33: | |
| 34: | |
| 35: | |
| 36: | |
| 37: | |
| 38: | |
| 39: | |
| 40: | |
| 41: | |
| 42: | class Settings extends \Aurora\System\Module\Settings |
| 43: | { |
| 44: | protected function initDefaults() |
| 45: | { |
| 46: | $this->aContainer = [ |
| 47: | 'Disabled' => new SettingsProperty( |
| 48: | false, |
| 49: | 'bool', |
| 50: | null, |
| 51: | 'Setting to true disables the module' |
| 52: | ), |
| 53: | 'AllowCapa' => new SettingsProperty( |
| 54: | false, |
| 55: | 'bool', |
| 56: | null, |
| 57: | 'If set to true, product features can be enabled/disabled on user or tenant level' |
| 58: | ), |
| 59: | 'AllowPostLogin' => new SettingsProperty( |
| 60: | false, |
| 61: | 'bool', |
| 62: | null, |
| 63: | 'If set to true, credentials can be submitted via POST request' |
| 64: | ), |
| 65: | 'CsrfTokenProtection' => new SettingsProperty( |
| 66: | true, |
| 67: | 'bool', |
| 68: | null, |
| 69: | 'If set to true, CSRF protection is enabled' |
| 70: | ), |
| 71: | 'CronTimeToRunSeconds' => new SettingsProperty( |
| 72: | 10800, |
| 73: | 'int', |
| 74: | null, |
| 75: | 'Defines intervals in seconds to run a routine of deleting temporary files' |
| 76: | ), |
| 77: | 'CronTimeToKillSeconds' => new SettingsProperty( |
| 78: | 10800, |
| 79: | 'int', |
| 80: | null, |
| 81: | 'Defines minimal age in seconds of temporary files to be deleted' |
| 82: | ), |
| 83: | 'CronTimeFile' => new SettingsProperty( |
| 84: | '.clear.dat', |
| 85: | 'string', |
| 86: | null, |
| 87: | 'Defines filename for storing last timestamp when routine of deleting temporary files was run' |
| 88: | ), |
| 89: | 'UserSelectsDateFormat' => new SettingsProperty( |
| 90: | false, |
| 91: | 'bool', |
| 92: | null, |
| 93: | 'If set to true, users can select date format' |
| 94: | ), |
| 95: | 'DateFormat' => new SettingsProperty( |
| 96: | Enums\DateFormat::DDMMYYYY, |
| 97: | 'spec', |
| 98: | Enums\DateFormat::class, |
| 99: | 'Defines default date format used' |
| 100: | ), |
| 101: | 'DateFormatList' => new SettingsProperty( |
| 102: | [Enums\DateFormat::DDMMYYYY, Enums\DateFormat::MMDDYYYY, Enums\DateFormat::DD_MONTH_YYYY], |
| 103: | 'array', |
| 104: | null, |
| 105: | 'Defines default date format used' |
| 106: | ), |
| 107: | 'LanguageList' => new SettingsProperty( |
| 108: | [], |
| 109: | 'array', |
| 110: | null, |
| 111: | 'Empty array means that every language from every module will be available. [\"English\", \"German\"] means that only English and German languages will be used in the system.' |
| 112: | ), |
| 113: | 'LanguageListComment' => new SettingsProperty( |
| 114: | '', |
| 115: | 'string', |
| 116: | null, |
| 117: | 'Empty array means that every language from every module will be available. [\"English\", \"German\"] means that only English and German languages will be used in the system.' |
| 118: | ), |
| 119: | 'Language' => new SettingsProperty( |
| 120: | '', |
| 121: | 'string', |
| 122: | null, |
| 123: | 'Default interface language used' |
| 124: | ), |
| 125: | 'AutodetectLanguage' => new SettingsProperty( |
| 126: | true, |
| 127: | 'bool', |
| 128: | null, |
| 129: | 'Setting to true enables language autodetection' |
| 130: | ), |
| 131: | 'PostLoginErrorRedirectUrl' => new SettingsProperty( |
| 132: | './', |
| 133: | 'string', |
| 134: | null, |
| 135: | 'If login credentials were supplied with POST method, this setting defines redirect URL used when authentication error occurs' |
| 136: | ), |
| 137: | 'TimeFormat' => new SettingsProperty( |
| 138: | Enums\TimeFormat::F24, |
| 139: | 'spec', |
| 140: | Enums\TimeFormat::class, |
| 141: | 'Denotes time format used by default' |
| 142: | ), |
| 143: | 'SiteName' => new SettingsProperty( |
| 144: | '', |
| 145: | 'string', |
| 146: | null, |
| 147: | 'Text used in browser title as a website name' |
| 148: | ), |
| 149: | 'ProductName' => new SettingsProperty( |
| 150: | 'Unknown', |
| 151: | 'string', |
| 152: | null, |
| 153: | 'Product name, displayed in About tab of adminpanel' |
| 154: | ), |
| 155: | 'AuthTokenCookieExpireTime' => new SettingsProperty( |
| 156: | 30, |
| 157: | 'int', |
| 158: | null, |
| 159: | 'Expiration time for authentication cookie, in days' |
| 160: | ), |
| 161: | 'EnableFailedLoginBlock' => new SettingsProperty( |
| 162: | false, |
| 163: | 'bool', |
| 164: | null, |
| 165: | 'Setting to true enables feature of blocking user after a number of failed login attempts' |
| 166: | ), |
| 167: | 'LoginBlockAvailableTriesCount' => new SettingsProperty( |
| 168: | 10, |
| 169: | 'int', |
| 170: | null, |
| 171: | 'Number of failed login attempts which will result in blocking user' |
| 172: | ), |
| 173: | 'LoginBlockDurationMinutes' => new SettingsProperty( |
| 174: | 3, |
| 175: | 'int', |
| 176: | null, |
| 177: | 'Number of minutes user will be blocked for upon multiple failed login attempts' |
| 178: | ), |
| 179: | 'LoginBlockIpReputationThreshold ' => new SettingsProperty( |
| 180: | 0, |
| 181: | 'int', |
| 182: | null, |
| 183: | 'The setting determines the number of different users that need to be blocked from a specific IP address before that IP is considered to have a bad reputation and blocks any further login attempts from it.' |
| 184: | ), |
| 185: | 'AllowGroups' => new SettingsProperty( |
| 186: | false, |
| 187: | 'bool', |
| 188: | null, |
| 189: | 'Setting to true enables user groups which can be managed in adminpanel' |
| 190: | ), |
| 191: | 'CookieSameSite' => new SettingsProperty( |
| 192: | 'Strict', |
| 193: | 'string', |
| 194: | null, |
| 195: | 'Sets the SameSite value of system cookies such as AuthToken cookie. Possible values: None, Lax, or Strict' |
| 196: | ), |
| 197: | ]; |
| 198: | } |
| 199: | } |
| 200: | |