Updated configurations for deployment

This commit is contained in:
MaddoScientisto 2026-04-12 15:21:33 +02:00
commit 7b30f17065
9 changed files with 396 additions and 214 deletions

View file

@ -6,6 +6,69 @@ function faceai_env($key, $default = null)
return $value === false ? $default : $value;
}
function faceai_env_flag($key, $default = false)
{
$value = strtolower(trim((string) faceai_env($key, $default ? '1' : '0')));
return in_array($value, array('1', 'true', 'yes', 'on'), true);
}
function faceai_request_host()
{
if (empty($_SERVER['HTTP_HOST'])) {
return '';
}
return strtolower(trim((string) $_SERVER['HTTP_HOST']));
}
function faceai_is_local_host($host)
{
$normalized = strtolower(trim((string) $host));
if ($normalized === '') {
return false;
}
$withoutPort = preg_replace('/:\d+$/', '', $normalized);
return in_array($withoutPort, array('localhost', '127.0.0.1', '::1'), true);
}
function faceai_request_targets_local_frontend()
{
if (faceai_is_local_host(faceai_request_host())) {
return true;
}
$returnUrl = faceai_request_value('returnUrl');
if ($returnUrl === '') {
return false;
}
$host = parse_url($returnUrl, PHP_URL_HOST);
if (!is_string($host) || $host === '') {
return false;
}
return faceai_is_local_host($host);
}
function faceai_default_frontend_url()
{
if (faceai_request_targets_local_frontend()) {
return 'http://localhost:3001';
}
return 'https://ai.regalamiunsorriso.it';
}
function faceai_default_backend_internal_url()
{
if (faceai_is_local_host(faceai_request_host())) {
return 'http://localhost:3001';
}
return 'https://ai.regalamiunsorriso.it';
}
function faceai_config()
{
static $config = null;
@ -15,10 +78,11 @@ function faceai_config()
}
$config = array(
'frontend_url' => rtrim(faceai_env('FACEAI_FRONTEND_URL', 'http://localhost:5173'), '/'),
'backend_internal_url' => rtrim(faceai_env('FACEAI_BACKEND_INTERNAL_URL', 'http://localhost:3001'), '/'),
'feature_enabled' => faceai_env_flag('FACEAI_FEATURE_ENABLED', false),
'frontend_url' => rtrim(faceai_env('FACEAI_FRONTEND_URL', faceai_default_frontend_url()), '/'),
'backend_internal_url' => rtrim(faceai_env('FACEAI_BACKEND_INTERNAL_URL', faceai_default_backend_internal_url()), '/'),
'shared_secret' => (string) faceai_env('FACEAI_SHARED_SECRET', 'change-me'),
'allow_dev_handoff' => faceai_env('FACEAI_ALLOW_DEV_HANDOFF', '1') === '1',
'allow_dev_handoff' => faceai_env_flag('FACEAI_ALLOW_DEV_HANDOFF', true),
'identity_cookie' => (string) faceai_env('FACEAI_IDENTITY_COOKIE', 'rus_faceai_identity'),
'return_forward_url' => rtrim((string) faceai_env('FACEAI_RETURN_FORWARD_URL', ''), '/')
);
@ -80,6 +144,22 @@ function faceai_build_url($baseUrl, array $params)
return $baseUrl . (strpos($baseUrl, '?') === false ? '?' : '&') . http_build_query($params);
}
function faceai_redirect_with_error($returnUrl, $message, $title = 'Face ID non disponibile')
{
if (is_string($returnUrl) && trim($returnUrl) !== '') {
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Location: ' . faceai_build_url($returnUrl, array(
'faceaiError' => '1',
'faceaiErrorTitle' => $title,
'faceaiErrorMessage' => $message
)), true, 302);
exit;
}
faceai_render_message_page($title, $message, array(), 503);
}
function faceai_request_value($key, $default = '')
{
if (!isset($_GET[$key])) {