From b6b8c432a39a19616e6a5282841c74366cf97db8 Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Wed, 25 Aug 2010 15:53:59 +0000 Subject: [PATCH] - Check for some optional extensions (mcrypt, ldap,...) during the setup at tell the user what are the consequences. SVN:trunk[700] --- setup/index.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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 {