HOR-1318 "Implementacion de la directiva 'protocolo' para el archivo env.ini" SOLVED

Issue:
    Implementacion de la directiva "protocolo" para el archivo "env.ini"
Cause:
    Los servidores con "balanceador de carga" como son los que ofrece Amazon, no definen la variable $_SERVER['HTTPS'];
    lo que causa que la funcion "G::is_https()" siempre retorne "false"
Solution:
    Se a implementado la directiva "server_protocol" para el archivo "/path/to/processmaker/workflow/engine/config/env.ini",
    en donde se define el protocolo del servidor (esto solo si se tiene errores en el front-end de ProcessMaker)
This commit is contained in:
Victor Saisa Lopez
2016-06-15 15:17:56 -04:00
parent d3e4086e86
commit c0614e8485

View File

@@ -73,6 +73,7 @@ class System
'error_reporting' => "", 'error_reporting' => "",
'display_errors' => 'On', 'display_errors' => 'On',
'system_utc_time_zone' => 0, 'system_utc_time_zone' => 0,
'server_protocol' => '',
'server_hostname_requests_frontend' => '' 'server_hostname_requests_frontend' => ''
); );
@@ -1265,11 +1266,14 @@ class System
try { try {
$arraySystemConfiguration = self::getSystemConfiguration(); $arraySystemConfiguration = self::getSystemConfiguration();
$serverProtocol = $arraySystemConfiguration['server_protocol'];
$serverProtocol = ($serverProtocol != '')? $serverProtocol : ((G::is_https())? 'https' : 'http');
$serverHostname = $arraySystemConfiguration['server_hostname_requests_frontend']; $serverHostname = $arraySystemConfiguration['server_hostname_requests_frontend'];
$serverHostname = ($serverHostname != '')? $serverHostname : $_SERVER['HTTP_HOST']; $serverHostname = ($serverHostname != '')? $serverHostname : $_SERVER['HTTP_HOST'];
//Return //Return
return ((G::is_https())? 'https://' : 'http://') . $serverHostname; return $serverProtocol . '://' . $serverHostname;
} catch (Exception $e) { } catch (Exception $e) {
throw $e; throw $e;
} }