/** * run() method detect warnings and display them */ public function run($sType, $mValue, array $aParams = array(), $bStop = false) { $bWarning = false; switch ($sType) { case 'configuration': if (!Configuration::get($mValue)) { $bWarning = true; } break; case 'directive': if (!ini_get($mValue)) { $bWarning = true; } break; case 'module': // get module's vars to check $aModuleVars = !empty($aParams['vars']) && is_array($aParams['vars']) ? $aParams['vars'] : array(); // if only activated $bActivatedOnly = !empty($aParams['installed']) ? $aParams['installed'] : false; if (!BT_FPCModuleTools::isInstalled($mValue, $aModuleVars, false, $bActivatedOnly)) { $bWarning = true; } break; case 'function': if (!function_exists($mValue)) { $bWarning = true; } break; case 'callback': $mReturn = call_user_func_array($mValue, array($aParams)); if ($mReturn) { $bWarning = true; } break; case 'file-permission': // use case - check file permission if (!is_writable($mValue)) { $bWarning = true; } break; default: $bWarning = false; break; } if ($bWarning && $bStop) { $this->bStopExecution = true; } return $bWarning; }
/** * _displaySystemHealth() method displays system health information * * @param array $aPost * @return array */ private function _displaySystemHealth(array $aPost) { $aAssign = array(); $aAssign['iCurrentLang'] = intval(FacebookPsConnect::$iCurrentLang); // set $sIsoCode = FacebookPsConnect::$sCurrentLang; if ($sIsoCode !== 'fr') { $sIsoCode = 'en'; } $aModules = array('facebookpsshoptab' => array('active' => true, 'min' => '3.3.2', 'name' => 'Facebook Ps Shop Tab', 'img' => _FPC_URL_IMG . 'admin/fb-ps-shop-tab.jpg', 'addons' => 'http://addons.prestashop.com/' . $sIsoCode . '/social-commerce-facebook-prestashop-modules/1048-facebook-ps-shop-tab.html'), 'facebookpsessentials' => array('active' => true, 'min' => '2.3.0', 'name' => 'Facebook Ps Essentials', 'img' => _FPC_URL_IMG . 'admin/fb-ps-essentials.jpg', 'addons' => 'http://addons.prestashop.com/' . $sIsoCode . '/social-commerce-facebook-prestashop-modules/5025-facebook-ps-essentials-facebook-like-twitter-etc.html')); unset($sIsoCode); foreach ($aModules as $sName => $aModule) { $aParams = $aModule; if (($oModule = BT_FPCModuleTools::isInstalled($sName, array(), true)) !== false) { // installed ok + min version $aParams['installed'] = true; $aParams['minVersion'] = version_compare($oModule->version, $aModule['min'], '>=') ? true : false; } else { $aParams['installed'] = false; } $aAssign['aModules'][$sName] = $aParams; } return array('tpl' => _FPC_TPL_ADMIN_PATH . _FPC_TPL_SYS_HEALTH_SETTINGS, 'assign' => $aAssign); }