Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Application
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 getNow
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3/**
4 * @package 115Mandant
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsapi;
9
10if (($token = getenv('ZMS_CONFIG_SECURE_TOKEN')) === false || $token === '') {
11    throw new \RuntimeException('ZMS_CONFIG_SECURE_TOKEN environment variable must be set');
12}
13
14define('ZMS_CONFIG_SECURE_TOKEN', getenv('ZMS_CONFIG_SECURE_TOKEN'));
15
16if (!defined('ZMS_API_TWIG_CACHE')) {
17    $value = getenv('ZMS_API_TWIG_CACHE');
18    define('ZMS_API_TWIG_CACHE', ($value === 'false') ? false : ($value ?: '/cache/'));
19}
20
21class Application extends \BO\Slim\Application
22{
23    /**
24     * Name of the application
25     */
26    const IDENTIFIER = 'zms';
27
28    const MODULE_NAME = 'zmsapi';
29
30    /**
31     * @var Bool DEBUG
32     */
33    const DEBUG = false;
34    const TWIG_CACHE = ZMS_API_TWIG_CACHE;
35
36    /**
37     * @var Bool DB_ENABLE_WSREPSYNCWAIT
38     */
39    const DB_ENABLE_WSREPSYNCWAIT = false;
40
41    /**
42     * @var Bool RIGHTSCHECK_ENABLED
43     */
44    const RIGHTSCHECK_ENABLED = true;
45
46    /**
47     * @var String DB_DSN_READONLY
48     */
49    const DB_DSN_READONLY = 'mysql:dbname=zmsbo;host=127.0.0.1';
50
51    /**
52     * @var String DB_DSN_READWRITE
53     */
54    const DB_DSN_READWRITE = 'mysql:dbname=zmsbo;host=127.0.0.1';
55
56    /**
57     * temporary db name for using dldb data
58     * @var String DB_STARTINFO
59     */
60    const DB_STARTINFO = 'startinfo';
61
62    /**
63     * @var String DB_USERNAME
64     */
65    const DB_USERNAME = 'server';
66
67    /**
68     * @var String DB_PASSWORD
69     */
70    const DB_PASSWORD = 'internet';
71
72    /**
73     * @var String DB_IS_GALERA
74     */
75    const DB_IS_GALERA = true;
76
77    /**
78     * @var String Security Token for Api Access -> get config for example
79     */
80    const SECURE_TOKEN = ZMS_CONFIG_SECURE_TOKEN;
81
82    /**
83     * language preferences
84     */
85
86    public static $locale = 'de';
87
88    public static $supportedLanguages = array(
89        // Default language
90        'de' => array(
91            'name'    => 'Deutsch',
92            'locale'  => 'de_DE.utf-8',
93            'default' => true,
94        )
95    );
96
97    /**
98     * dldb data path
99     */
100    public static $data = '/data';
101
102    /**
103     * @var \DateTimeInterface $now time to use for today (testing)
104     */
105    public static $now = null;
106
107    public static function getNow()
108    {
109        if (self::$now instanceof \DateTimeInterface) {
110            return self::$now;
111        }
112        return new \DateTimeImmutable();
113    }
114}