/** * Check if all module extensions exists in shop information. * * @param oxModule $oModule module object * * @return bool */ private function _moduleExtensionsInformationExistsInShop(oxModule $oModule) { $aModuleExtensions = $oModule->getExtensions(); /** @var oxModuleInstaller $oModuleInstaller */ $oModuleInstaller = oxNew('oxModuleInstaller'); $aShopInformationAboutModulesExtendedClasses = $oModuleInstaller->getModulesWithExtendedClass(); foreach ($aModuleExtensions as $sExtendedClassName => $sModuleExtendedClassPath) { $aExtendedClassInfo = $aShopInformationAboutModulesExtendedClasses[$sExtendedClassName]; if (is_null($aExtendedClassInfo) || !is_array($aExtendedClassInfo)) { return false; } if (!in_array($sModuleExtendedClassPath, $aExtendedClassInfo)) { return false; } } return true; }
/** * Removes garbage ( module not used extensions ) from all installed extensions list * * @param array $aInstalledExtensions Installed extensions * @param oxModule $oModule Module * * @return array */ protected function _removeNotUsedExtensions($aInstalledExtensions, oxModule $oModule) { $aModuleExtensions = $oModule->getExtensions(); $aInstalledModuleExtensions = $this->_filterModuleArray($aInstalledExtensions, $oModule->getId()); if (count($aInstalledModuleExtensions)) { $aGarbage = $this->_getModuleExtensionsGarbage($aModuleExtensions, $aInstalledModuleExtensions); if (count($aGarbage)) { $aInstalledExtensions = $this->_removeGarbage($aInstalledExtensions, $aGarbage); } } return $aInstalledExtensions; }
/** * Return true if all module files which extends shop class exists. * * @param oxModule $oModule object to validate metadata. * * @return bool */ protected function _allModuleExtensionsExists($oModule) { $aModuleExtendedFiles = $oModule->getExtensions(); $blAllModuleExtensionsExists = $this->_allFilesExists($aModuleExtendedFiles, true, 'extensions'); return $blAllModuleExtensionsExists; }