Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Application
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 initialize
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * @package Zmsstatistic
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsstatistic;
9
10use BO\Slim\Helper\ModuleLoggerInitializer;
11use BO\Zmsclient\Http;
12use Psr\SimpleCache\CacheInterface;
13
14define(
15    'ZMS_STATISTIC_SESSION_DURATION',
16    getenv('ZMS_STATISTIC_SESSION_DURATION') ? getenv('ZMS_STATISTIC_SESSION_DURATION') : 28800
17);
18
19if (($token = getenv('ZMS_CONFIG_SECURE_TOKEN')) === false || $token === '') {
20    throw new \RuntimeException('ZMS_CONFIG_SECURE_TOKEN environment variable must be set');
21}
22
23define('ZMS_CONFIG_SECURE_TOKEN', getenv('ZMS_CONFIG_SECURE_TOKEN'));
24
25if (!defined('ZMS_STATISTIC_TWIG_CACHE')) {
26    $value = getenv('ZMS_STATISTIC_TWIG_CACHE');
27    define('ZMS_STATISTIC_TWIG_CACHE', ($value === 'false') ? false : ($value ?: '/cache/'));
28}
29
30class Application extends \BO\Slim\Application
31{
32    /**
33     * Name of the application
34     *
35     */
36    const IDENTIFIER = 'zms';
37
38    const MODULE_NAME = 'zmsstatistic';
39
40    public static ?CacheInterface $cache = null;
41
42    const DEBUG = false;
43
44    const TWIG_CACHE = ZMS_STATISTIC_TWIG_CACHE;
45
46    const SESSION_DURATION = ZMS_STATISTIC_SESSION_DURATION;
47
48    public static $includeUrl = '/terminvereinbarung/statistic';
49    /**
50     * language preferences
51     */
52    public static $locale = 'de';
53    public static $supportedLanguages = array(
54        // Default language
55        'de' => array(
56            'name'    => 'Deutsch',
57            'locale'  => 'de_DE',
58            'default' => true,
59        ),
60        // Other languages
61        'en' => array(
62            'name'    => 'English',
63            'locale'  => 'en_GB',
64        )
65    );
66
67    /**
68     * image preferences
69     */
70
71    public static $isImageAllowed = false;
72
73    /*
74     * -----------------------------------------------------------------------
75     * ZMS API access
76     */
77    public static $http = null;
78
79    public static $http_curl_config = array();
80
81    const JSON_COMPRESS_LEVEL = 1;
82
83    /**
84    * config preferences
85    */
86    const CONFIG_SECURE_TOKEN = ZMS_CONFIG_SECURE_TOKEN;
87
88    /**
89     * HTTP url for api
90     */
91    const HTTP_BASE_URL = 'http://user:pass@host.tdl';
92
93    public static function initialize(): void
94    {
95        ModuleLoggerInitializer::configure('ZMS_STATISTIC');
96        self::$cache = ModuleLoggerInitializer::tryInitializeCache();
97    }
98}
99
100Application::initialize();