diff --git a/setup/index.php b/setup/index.php index e1dd3122c..7eb710b53 100644 --- a/setup/index.php +++ b/setup/index.php @@ -166,10 +166,14 @@ function CheckPHPVersion(SetupWebPage $oP) return false; } $aMandatoryExtensions = array('mysql', 'iconv', 'simplexml', 'soap'); + $aOptionalExtensions = array('mcrypt' => 'Strong encryption will not be used.', + 'ldap' => 'LDAP authentication will be disabled.'); asort($aMandatoryExtensions); // Sort the list to look clean ! + ksort($aOptionalExtensions); // Sort the list to look clean ! $aExtensionsOk = array(); $aMissingExtensions = array(); $aMissingExtensionsLinks = array(); + // First check the mandatory extensions foreach($aMandatoryExtensions as $sExtension) { if (extension_loaded($sExtension)) @@ -191,6 +195,31 @@ function CheckPHPVersion(SetupWebPage $oP) $oP->error("Missing PHP extension(s): ".implode(', ', $aMissingExtensionsLinks)."."); $bResult = false; } + // Next check the optional extensions + $aExtensionsOk = array(); + $aMissingExtensions = array(); + foreach($aOptionalExtensions as $sExtension => $sMessage) + { + if (extension_loaded($sExtension)) + { + $aExtensionsOk[] = $sExtension; + } + else + { + $aMissingExtensions[$sExtension] = $sMessage; + } + } + if (count($aExtensionsOk) > 0) + { + $oP->ok("Optional PHP extension(s): ".implode(', ', $aExtensionsOk)."."); + } + if (count($aMissingExtensions) > 0) + { + foreach($aMissingExtensions as $sExtension => $sMessage) + { + $oP->warning("Missing optional PHP extension: $sExtension. ".$sMessage); + } + } // Check some ini settings here if (function_exists('php_ini_loaded_file')) // PHP >= 5.2.4 {