Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
n/a
0 / 0
CRAP
n/a
0 / 0
Application
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2
3namespace BO\Slim;
4
5define(
6    'ZMS_SESSION_DURATION',
7    (($value = getenv('ZMS_SESSION_DURATION')) !== false && $value !== '') ? $value : 36000
8);
9if (!defined('ZMS_SLIM_TWIG_CACHE')) {
10    $value = getenv('ZMS_SLIM_TWIG_CACHE');
11    if ($value === 'false' || $value === false || $value === '' || $value === '0') {
12        define('ZMS_SLIM_TWIG_CACHE', false);
13    } else {
14        define('ZMS_SLIM_TWIG_CACHE', $value);
15    }
16}
17$debugLevel = getenv('DEBUGLEVEL');
18define(
19    'ZMS_DEBUGLEVEL',
20    ($debugLevel === false || $debugLevel === '' || $debugLevel === '0') ? 'INFO' : $debugLevel
21);
22
23class Application
24{
25    /**
26     * Root directory for the project
27     */
28    public const string APP_PATH = '.';
29
30    /**
31     * Name of the application
32     */
33    public const string IDENTIFIER = 'unnamed slim project';
34
35    public const string MODULE_NAME = 'unnamed slim module';
36
37    /**
38     * Flag to enable debugging mode for application,
39     * if debug is enabled, an exception is shown with a backtrace
40     */
41    public const bool DEBUG = false;
42    const string DEBUGLEVEL = ZMS_DEBUGLEVEL;
43    const SESSION_DURATION = ZMS_SESSION_DURATION;
44    const string SECURE_TOKEN = '';
45    const string CONFIG_SECURE_TOKEN = '';
46    const bool RIGHTSCHECK_ENABLED = true;
47    const int JSON_COMPRESS_LEVEL = 1;
48    const string HTTP_BASE_URL = '';
49    const string CLIENTKEY = '';
50    const bool MAINTENANCE_MODE_ENABLED = false;
51    const string ZMS_CITIZENLOGIN_EXTERNALUSERID_CLAIM_NAME = '';
52    const bool LOG_ERRORS = true;
53    const bool LOG_DETAILS = true;
54/**
55     * Settings for region
56     */
57    const string CHARSET = 'UTF-8';
58    const string TIMEZONE = 'Europe/Berlin';
59    public static ?string $includeUrl = null;
60/*
61     * -----------------------------------------------------------------------
62     * current time
63     */
64
65    public static ?\DateTimeInterface $now = null;
66
67    /**
68     * allow cluster wide process calls
69     */
70    public static bool $allowClusterWideCall = true;
71/*
72     * -----------------------------------------------------------------------
73     * Slim
74     */
75
76    /**
77     * Slim singleton instance
78     *
79     * @var \BO\Slim\SlimApp $slim
80     */
81    public static $slim;
82/**
83     * Define the path for the templates relative to APP_PATH
84     */
85    const string TEMPLATE_PATH = '/templates/';
86/**
87     * Define path for Twig template cache
88     */
89    const TWIG_CACHE = false;
90/**
91     * Set this option, if ESI should be used
92     */
93    const bool ESI_ENABLED = true;
94/**
95     * translator class
96     */
97    const string TRANSLATOR_CLASS = '\\Symfony\\Component\\Translation\\Translator';
98/**
99     * Default parameters for templates
100     *
101     */
102    public static array $templatedefaults = array();
103/**
104     * Default parameters for middleware HttpBasicAuth
105     *
106     */
107    public static array $httpBasicAuth = array();
108/*
109     * -----------------------------------------------------------------------
110     * Logging PSR3 compatible
111     */
112    public static mixed $log = null;
113/**
114     * image preferences
115     */
116
117    public static bool $isImageAllowed = true;
118    public const bool MULTILANGUAGE = true;
119    public static string $languagesource = 'json';
120    /** @var Language|null $language */
121    public static ?Language $language = null;
122    public static array $supportedLanguages = array(
123        // Default language
124        'de' => array(
125            'name'    => 'Deutsch',
126            'locale'  => 'de_DE.utf-8',
127            'default' => true,
128        ),
129        'en' => array(
130            'name'    => 'English',
131            'locale'  => 'en_GB.utf-8',
132            'default' => false,
133        )
134    );
135// default overwritten with Bootstrap::init()
136    public static string $urlSignatureSecret = 'e8dd240a854185c740384d90d771d85c';
137}