- Check for some optional extensions (mcrypt, ldap,...) during the setup at tell the user what are the consequences.

SVN:trunk[700]
This commit is contained in:
Denis Flaven
2010-08-25 15:53:59 +00:00
parent 34cd4a01da
commit b6b8c432a3

View File

@@ -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
{