예제 #1
0
 /**
  * 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);
 }