forked from emoncms/emoncms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbootstrap.php
More file actions
115 lines (95 loc) · 3.54 KB
/
bootstrap.php
File metadata and controls
115 lines (95 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
$ltime = microtime(true);
define('EMONCMS_EXEC', 1);
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
/**
* Application defines
*/
if (!defined('DS')) {
define('DS', '/');
}
define('ROOT', dirname(__FILE__) . DS);
define('CORE', ROOT . 'Core' . DS);
define('LIB', CORE . 'Lib' . DS);
define('MODULE','Modules');
define('REGEX_SERVER_NAME' , '/\/[a-zA-Z0-9-+.]*\.php/');
define('REGEX_STRING','/[^\w\s-]/');
// '/[^\w\s-:()]/' '/[^\w\s-:]/'
define('REGEX_STRING_ACCENT','/[^\s\p{L}0-9]-\'/u');
// /[^\s\p{L}0-9]-\'/u
define('REGEX_EXPRESSION','/[^\/\|\,\w\s-:]/');
define('REGEX_CURRENCY','/[^\w\s£$€¥]/');
define('REGEX_UNITS','/[^\w\s-°]/');
define('REGEX_ALPHA_NUM','/[^.\/A-Za-z0-9-=_]/');
define('REGEX_NUMERIC','/[^.\/0-9,;.=_]/');
//define('REGEX_ALPHA_NUM_ACCENT','/[^\p{L}.\/A-Za-z0-9-=_]/');
//set default parameters, to avoid missing ones
//these parameters will be overwritten with the settings.php file content
//
$param=array(
'multiorg'=>true,
'min_usernamelen'=>3,
'max_usernamelen'=>30,
'min_orgnamelen'=>3,
'max_orgnamelen'=>10,
'min_pwdlen'=>3,
'max_pwdlen'=>30,
'userlist_expanded'=>FALSE,
'usergoup'=> "letter",
//usergroup may be '', than no groups are made, it is used in users list view
'userletter'=> "UCASE(LEFT(username,1)) as letter",
//'userletter'=> "1 as letter",
//userletter MUST be present but may be a constant, the letter field is used in ORDER BY directive
//'userletter'=> "UCASE(LEFT(email,1)) as letter",
// grouping by email first letter is an other option
'orglist_expanded'=>FALSE,
'orggroup'=> "letter",
//orggroup may be '', than no groups are made, it is used in organisations list view
'orgletter'=> "ucase(LEFT(orgname,1)) as letter",
//orgletter MUST be present but may be a constant
// see userletter above and apply same rules, on countries for example
//'orgletter'=> "country as letter" will group organisations by countries
'inputgroup'=> "nodeid",
'inputinterval'=> 5000,
'inputlistexpanded'=>TRUE,
'feedgroup'=> "tag",
'feedinterval'=> 5000,
'feedlistexpanded'=>1,
'dashlist_expanded'=>true,
'dashgroup'=> "letter",
//orggroup may be '', than no groups are made, it is used in organisations list view
'dashletter'=> "ucase(LEFT(name,1)) as letter",
);
$csv_parameters= array(
'csvdownloadlimit_mb' => 10,
'csv_field_separator'=>";",
'csv_decimal_place_separator'=>",",
'csv_thousandsepar_separator'=>"",
'csv_dateformat'=>"Y-m-d",
'csv_timeformat'=>"H:i:s"
);
/**
* Load up required libs
*/
require_once CORE . 'Utility' . DS . 'Configure.php';
require_once LIB . 'Enum.php';
require_once ROOT . 'process_settings.php';
require_once LIB . 'core.php';
require_once LIB . 'route.php';
require_once LIB . 'locale.php';
require_once CORE . 'Model' . DS . 'ConnectionManager.php';
require_once CORE . 'Model' . DS . 'Model.php';
//overwrite the defaults with the user settings in param array
foreach($param as $k=> $v) {
if(!is_array($v)){
$behavior[$k]=$v;
}
}
$param['csv_parameters']= $csv_parameters;
if (defined('EMON_TEST_ENV') && EMON_TEST_ENV) {
require_once CORE . 'TestSuite' . DS . 'EmonTestCase.php';
}