Added apc cache for config files

Loggin improvements
This commit is contained in:
RainLoop Team 2014-10-14 15:04:11 +04:00
parent ef7f8bddb3
commit 0af6fbadaa
5 changed files with 149 additions and 18 deletions

View file

@ -1999,14 +1999,28 @@ class Utils
}
/**
* @param string $sFunctionName
* @param string|array $mFunctionNameOrNames
*
* @return bool
*/
public static function FunctionExistsAndEnabled($sFunctionName)
public static function FunctionExistsAndEnabled($mFunctionNameOrNames)
{
static $aCache = null;
if (empty($sFunctionName) || !\function_exists($sFunctionName) || !\is_callable($sFunctionName))
if (\is_array($mFunctionNameOrNames))
{
foreach ($mFunctionNameOrNames as $sFunctionName)
{
if (!\MailSo\Base\Utils::FunctionExistsAndEnabled($sFunctionName))
{
return false;
}
}
return true;
}
if (empty($mFunctionNameOrNames) || !\function_exists($mFunctionNameOrNames) || !\is_callable($mFunctionNameOrNames))
{
return false;
}
@ -2017,7 +2031,7 @@ class Utils
$sDisableFunctions = \is_string($sDisableFunctions) && 0 < \strlen($sDisableFunctions) ? $sDisableFunctions : '';
$aCache = \explode(',', $sDisableFunctions);
$aCache = is_array($aCache) && 0 < count($aCache) ? $aCache : array();
$aCache = \is_array($aCache) && 0 < \count($aCache) ? $aCache : array();
if (\extension_loaded('suhosin'))
{
@ -2025,17 +2039,17 @@ class Utils
$sSuhosin = \is_string($sSuhosin) && 0 < \strlen($sSuhosin) ? $sSuhosin : '';
$aSuhosinCache = \explode(',', $sSuhosin);
$aSuhosinCache = is_array($aSuhosinCache) && 0 < count($aSuhosinCache) ? $aSuhosinCache : array();
$aSuhosinCache = \is_array($aSuhosinCache) && 0 < \count($aSuhosinCache) ? $aSuhosinCache : array();
if (0 < \count($aSuhosinCache))
{
$aCache = array_merge($aCache, $aSuhosinCache);
$aCache = array_unique($aCache);
$aCache = \array_merge($aCache, $aSuhosinCache);
$aCache = \array_unique($aCache);
}
}
}
return !\in_array($sFunctionName, $aCache);
return !\in_array($mFunctionNameOrNames, $aCache);
}
/**