···
1
+
diff --git a/classes/utils/Config.class.php b/classes/utils/Config.class.php
2
+
index a4d819bc..3c2ed287 100644
3
+
--- a/classes/utils/Config.class.php
4
+
+++ b/classes/utils/Config.class.php
6
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9
+
-if (!defined('FILESENDER_BASE')) { // Require environment (fatal)
10
+
+if (!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) { // Require environment (fatal)
11
+
die('Missing environment');
14
+
@@ -116,7 +116,7 @@ class Config
17
+
// Check if main config exists
18
+
- $main_config_file = FILESENDER_BASE.'/config/config.php';
19
+
+ $main_config_file = FILESENDER_CONFIG_DIR.'/config/config.php';
20
+
if (!file_exists($main_config_file)) {
21
+
throw new ConfigFileMissingException($main_config_file);
23
+
@@ -136,7 +136,7 @@ class Config
26
+
// load password file if it is there
27
+
- $pass_config_file = FILESENDER_BASE.'/config/config-passwords.php';
28
+
+ $pass_config_file = FILESENDER_CONFIG_DIR.'/config/config-passwords.php';
29
+
if (file_exists($pass_config_file)) {
31
+
include_once($pass_config_file);
32
+
@@ -153,7 +153,7 @@ class Config
33
+
throw new ConfigBadParameterException('virtualhost');
36
+
- $config_file = FILESENDER_BASE.'/config/'.$virtualhost.'/config.php';
37
+
+ $config_file = FILESENDER_CONFIG_DIR.'/config/'.$virtualhost.'/config.php';
38
+
if (!file_exists($config_file)) {
39
+
throw new ConfigFileMissingException($config_file);
40
+
} // Should exist even if empty
41
+
@@ -175,7 +175,7 @@ class Config
43
+
foreach ($regex_and_configs as $regex => $extra_config_name) {
44
+
if (preg_match('`'.$regex.'`', $auth_attrs[$attr])) {
45
+
- $extra_config_file = FILESENDER_BASE.'/config/config-' . $extra_config_name . '.php';
46
+
+ $extra_config_file = FILESENDER_CONFIG_DIR.'/config/config-' . $extra_config_name . '.php';
47
+
if (file_exists($extra_config_file)) {
49
+
include_once($extra_config_file);
50
+
@@ -204,7 +204,7 @@ class Config
51
+
// Load config overrides if any
52
+
$overrides_cfg = self::get('config_overrides');
53
+
if ($overrides_cfg) {
54
+
- $overrides_file = FILESENDER_BASE.'/config/'.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
55
+
+ $overrides_file = FILESENDER_CONFIG_DIR.'/config/'.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
57
+
$overrides = file_exists($overrides_file) ? json_decode(trim(file_get_contents($overrides_file))) : new StdClass();
59
+
@@ -431,7 +431,7 @@ class Config
60
+
public static function getVirtualhosts()
62
+
$virtualhosts = array();
63
+
- foreach (scandir(FILESENDER_BASE.'/config') as $item) {
64
+
+ foreach (scandir(FILESENDER_CONFIG_DIR.'/config') as $item) {
65
+
if (!preg_match('`^(.+)\.conf\.php$`', $item, $match)) {
68
+
diff --git a/config/csrf-protector-config.php b/config/csrf-protector-config.php
69
+
index 83759ca4..ea4a3173 100755
70
+
--- a/config/csrf-protector-config.php
71
+
+++ b/config/csrf-protector-config.php
72
+
@@ -40,7 +40,7 @@ return array(
73
+
// The following should be set correctly from your config.php
75
+
"jsUrl" => $config['site_url'] . "/js/csrfprotector.js",
76
+
- "logDirectory" => FILESENDER_BASE.'/log/',
77
+
+ "logDirectory" => FILESENDER_LOG_DIR,
79
+
// I found that leaving this with the _ as default
80
+
// caused the implicit token to be stripped
81
+
diff --git a/includes/ConfigDefaults.php b/includes/ConfigDefaults.php
82
+
index 733550e7..8d99b5f0 100644
83
+
--- a/includes/ConfigDefaults.php
84
+
+++ b/includes/ConfigDefaults.php
85
+
@@ -224,7 +224,7 @@ $default = array(
86
+
'log_facilities' => array(
89
+
- 'path' => FILESENDER_BASE.'/log/',
90
+
+ 'path' => FILESENDER_LOG_DIR,
91
+
'rotate' => 'hourly'
94
+
diff --git a/includes/ConfigValidation.php b/includes/ConfigValidation.php
95
+
index 5c1e7f61..b1fb57e4 100644
96
+
--- a/includes/ConfigValidation.php
97
+
+++ b/includes/ConfigValidation.php
101
+
// Require environment (fatal)
102
+
-if(!defined('FILESENDER_BASE')) die('Missing environment');
103
+
+if(!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) die('Missing environment');
105
+
-if(!file_exists(FILESENDER_BASE.'/config/config.php'))
106
+
++if(!file_exists(FILESENDER_CONFIG_DIR.'/config.php'))
107
+
die('Configuration file not found');
109
+
ConfigValidator::addCheck('site_url', 'string');
110
+
diff --git a/includes/init.php b/includes/init.php
111
+
index ba7fa82f..31812c54 100644
112
+
--- a/includes/init.php
113
+
+++ b/includes/init.php
114
+
@@ -35,6 +35,8 @@ if(PHP_INT_SIZE !== 8) {
117
+
define('FILESENDER_BASE', dirname( __DIR__ ));
118
+
+define('FILESENDER_CONFIG_DIR', getenv('FILESENDER_CONFIG_DIR', true) ?: (FILESENDER_BASE.'/config'));
119
+
+define('FILESENDER_LOG_DIR', getenv('FILESENDER_LOG_DIR', true) ?: (FILESENDER_BASE.'/log'));
121
+
// Include classes autoloader
122
+
require_once(FILESENDER_BASE.'/classes/autoload.php');