Skip to content

Commit 4e1078c

Browse files
committed
[ADD] EVO_ define configs.
1 parent 4e94c79 commit 4e1078c

1 file changed

Lines changed: 178 additions & 2 deletions

File tree

core/includes/define.inc.php

Lines changed: 178 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,25 @@
3131
define('SESSION_COOKIE_NAME', env('SESSION_COOKIE_NAME', genEvoSessionName())); // $site_sessionname
3232
}
3333

34+
/**
35+
* @deprecated use EVO_CLASS
36+
*/
3437
if (!defined('MODX_CLASS')) {
3538
define('MODX_CLASS', env('MODX_CLASS', '\DocumentParser'));
3639
}
40+
if (!defined('EVO_CLASS')) {
41+
define('EVO_CLASS', env('EVO_CLASS', '\DocumentParser'));
42+
}
3743

44+
/**
45+
* @deprecated use EVO_SITE_HOSTNAMES
46+
*/
3847
if (!defined('MODX_SITE_HOSTNAMES')) {
3948
define('MODX_SITE_HOSTNAMES', env('MODX_SITE_HOSTNAMES', ''));
4049
}
50+
if (!defined('EVO_SITE_HOSTNAMES')) {
51+
define('EVO_SITE_HOSTNAMES', env('EVO_SITE_HOSTNAMES', ''));
52+
}
4153

4254
if (!defined('MGR_DIR')) {
4355
define('MGR_DIR', env('MGR_DIR', 'manager'));
@@ -51,6 +63,9 @@
5163
define('EVO_STORAGE_PATH', env('EVO_STORAGE_PATH', EVO_CORE_PATH . 'storage/'));
5264
}
5365

66+
/**
67+
* @deprecated use EVO_BASE_PATH
68+
*/
5469
if (!defined('MODX_BASE_PATH') || !defined('MODX_BASE_URL')) {
5570
// automatically assign base_path and base_url
5671
$script_name = str_replace(
@@ -112,19 +127,98 @@
112127
}
113128
unset($base_url);
114129
}
130+
if (!defined('EVO_BASE_PATH') || !defined('EVO_BASE_PATH')) {
131+
// automatically assign base_path and base_url
132+
$script_name = str_replace(
133+
'\\',
134+
'/',
135+
dirname(
136+
get_by_key(
137+
$_SERVER,
138+
($_SERVER['PHP_SELF'] !== $_SERVER['SCRIPT_NAME'] && ('undefined' === php_sapi_name() || is_cli())) ?
139+
'PHP_SELF' : 'SCRIPT_NAME'
140+
)
141+
)
142+
);
143+
144+
if (substr($script_name, -1 - strlen(MGR_DIR)) === '/' . MGR_DIR ||
145+
strpos($script_name, '/' . MGR_DIR . '/') !== false
146+
) {
147+
$separator = MGR_DIR;
148+
} elseif (strpos($script_name, '/assets/') !== false) {
149+
$separator = 'assets';
150+
} else {
151+
$separator = '';
152+
}
153+
154+
if ($separator !== '') {
155+
$items = explode('/' . $separator, $script_name);
156+
} else {
157+
$items = array($script_name);
158+
}
159+
unset($script_name);
160+
161+
if (count($items) > 1) {
162+
array_pop($items);
163+
}
164+
165+
$url = implode($separator, $items);
166+
167+
$base_url = Str::finish(implode($separator, $items), '/');
168+
unset($separator);
169+
170+
reset($items);
171+
$items = explode(MGR_DIR, str_replace('\\', '/', dirname(__DIR__, 2)));
172+
if (count($items) > 1) {
173+
array_pop($items);
174+
}
175+
176+
$base_path = Str::finish(
177+
str_replace('\\', '/', implode(MGR_DIR, $items))
178+
, '/'
179+
);
180+
181+
if (!defined('EVO_BASE_PATH')) {
182+
define('EVO_BASE_PATH', env('EVO_BASE_PATH', $base_path));
183+
}
184+
unset($base_path);
185+
186+
if (!defined('EVO_BASE_URL')) {
187+
define('EVO_BASE_URL', env('EVO_BASE_URL', $base_url));
188+
}
189+
unset($base_url);
190+
}
115191

192+
/**
193+
* @deprecated use EVO_BASE_PATH
194+
*/
116195
if (!preg_match('/\/$/', MODX_BASE_PATH)) {
117196
throw new RuntimeException('Please, use trailing slash at the end of MODX_BASE_PATH');
118197
}
198+
if (!preg_match('/\/$/', EVO_BASE_PATH)) {
199+
throw new RuntimeException('Please, use trailing slash at the end of EVO_BASE_PATH');
200+
}
119201

120-
if (!preg_match('/\/$/', MODX_BASE_URL)) {
121-
throw new RuntimeException('Please, use trailing slash at the end of MODX_BASE_URL');
202+
/**
203+
* @deprecated use EVO_BASE_URL
204+
*/
205+
if (!preg_match('/\/$/', EVO_BASE_URL)) {
206+
throw new RuntimeException('Please, use trailing slash at the end of EVO_BASE_URL');
122207
}
123208

209+
/**
210+
* @deprecated use EVO_MANAGER_PATH
211+
*/
124212
if (!defined('MODX_MANAGER_PATH')) {
125213
define('MODX_MANAGER_PATH', env('MODX_MANAGER_PATH', MODX_BASE_PATH . MGR_DIR . '/'));
126214
}
215+
if (!defined('EVO_MANAGER_PATH')) {
216+
define('EVO_MANAGER_PATH', env('EVO_MANAGER_PATH', EVO_BASE_PATH . MGR_DIR . '/'));
217+
}
127218

219+
/**
220+
* @deprecated use EVO_SITE_URL
221+
*/
128222
if (!defined('MODX_SITE_URL')) {
129223
// check for valid hostnames
130224
$site_hostname = 'localhost';
@@ -171,29 +265,111 @@
171265
define('MODX_SITE_URL', env('MODX_SITE_URL', $site_url));
172266
unset($site_url);
173267
}
268+
if (!defined('EVO_SITE_URL')) {
269+
// check for valid hostnames
270+
$site_hostname = 'localhost';
271+
if (!is_cli()) {
272+
$site_hostname = str_replace(
273+
':' . $_SERVER['SERVER_PORT'],
274+
'',
275+
get_by_key($_SERVER, 'HTTP_HOST', $site_hostname)
276+
);
277+
}
278+
$site_hostnames = explode(',', EVO_SITE_HOSTNAMES);
279+
if (!empty($site_hostnames[0]) && !in_array($site_hostname, $site_hostnames)) {
280+
$site_hostname = $site_hostnames[0];
281+
}
282+
unset($site_hostnames);
283+
284+
if (!isset($_SERVER['SERVER_PORT'])) {
285+
$_SERVER['SERVER_PORT'] = 80;
286+
}
287+
288+
// assign site_url
289+
if ((isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) === 'on') ||
290+
$_SERVER['SERVER_PORT'] == HTTPS_PORT ||
291+
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https')
292+
) {
293+
$site_url = 'https://' . $site_hostname;
294+
} else {
295+
$site_url = 'http://' . $site_hostname;
296+
}
297+
unset($site_hostname);
298+
299+
if ($_SERVER['SERVER_PORT'] !== 80) { // remove port from HTTP_HOST
300+
$site_url = str_replace(':' . $_SERVER['SERVER_PORT'], '', $site_url);
301+
}
302+
303+
if (!in_array((int)$_SERVER['SERVER_PORT'], [80, (int)HTTPS_PORT], true) &&
304+
strtolower(get_by_key($_SERVER, 'HTTPS', 'off'))
305+
) {
306+
$site_url .= ':' . $_SERVER['SERVER_PORT'];
307+
}
308+
309+
$site_url .= EVO_BASE_URL;
310+
311+
define('EVO_SITE_URL', env('EVO_SITE_URL', $site_url));
312+
unset($site_url);
313+
}
174314

315+
/**
316+
* @deprecated use EVO_SITE_URL
317+
*/
175318
if (!preg_match('/\/$/', MODX_SITE_URL)) {
176319
throw new RuntimeException('Please, use trailing slash at the end of MODX_SITE_URL');
177320
}
321+
if (!preg_match('/\/$/', EVO_SITE_URL)) {
322+
throw new RuntimeException('Please, use trailing slash at the end of EVO_SITE_URL');
323+
}
178324

325+
/**
326+
* @deprecated use EVO_MANAGER_URL
327+
*/
179328
if (!defined('MODX_MANAGER_URL')) {
180329
define('MODX_MANAGER_URL', env('MODX_MANAGER_URL', MODX_SITE_URL . MGR_DIR . '/'));
181330
}
331+
if (!defined('EVO_MANAGER_URL')) {
332+
define('EVO_MANAGER_URL', env('EVO_MANAGER_URL', EVO_SITE_URL . MGR_DIR . '/'));
333+
}
182334

335+
/**
336+
* @deprecated use EVO_SANITIZE_SEED
337+
*/
183338
if (!defined('MODX_SANITIZE_SEED')) {
184339
define('MODX_SANITIZE_SEED', 'sanitize_seed_' . base_convert(md5(__FILE__), 16, 36));
185340
}
341+
if (!defined('EVO_SANITIZE_SEED')) {
342+
define('EVO_SANITIZE_SEED', 'sanitize_seed_' . base_convert(md5(__FILE__), 16, 36));
343+
}
186344

187345
if (is_cli()) {
346+
/**
347+
* @deprecated use EVO_CLI
348+
*/
188349
if (!defined('MODX_CLI')) {
189350
define('MODX_CLI', true);
190351
}
352+
if (!defined('EVO_CLI')) {
353+
define('EVO_CLI', true);
354+
}
191355

356+
/**
357+
* @deprecated use EVO_BASE_PATH
358+
*/
192359
if (!(defined('MODX_BASE_PATH') || defined('MODX_BASE_URL'))) {
193360
throw new RuntimeException('Please, define MODX_BASE_PATH and MODX_BASE_URL on cli mode');
194361
}
362+
if (!(defined('EVO_BASE_PATH') || defined('EVO_BASE_URL'))) {
363+
throw new RuntimeException('Please, define EVO_BASE_PATH and EVO_BASE_URL on cli mode');
364+
}
195365

366+
/**
367+
* @deprecated use EVO_SITE_URL
368+
*/
196369
if (!defined('MODX_SITE_URL')) {
197370
throw new RuntimeException('Please, define MODX_SITE_URL on cli mode');
198371
}
372+
if (!defined('EVO_SITE_URL')) {
373+
throw new RuntimeException('Please, define EVO_SITE_URL on cli mode');
374+
}
199375
}

0 commit comments

Comments
 (0)