/** * smartUpdateAllOfBlocks * * @param XoopsModule &$module * @param Legacy_ModuleInstallLog &$log * * @return void **/ public static function smartUpdateAllOfBlocks(&$module, &$log) { $dirname = $module->get('dirname'); $fileReader = new Legacy_ModinfoX2FileReader($dirname); $dbReader = new Legacy_ModinfoX2DBReader($dirname); $blocks =& $dbReader->loadBlockInformations(); $blocks->update($fileReader->loadBlockInformations()); foreach ($blocks->mBlocks as $block) { switch ($block->mStatus) { case LEGACY_INSTALLINFO_STATUS_LOADED: Xupdate_InstallUtils::updateBlockTemplateByInfo($block, $module, $log); break; case LEGACY_INSTALLINFO_STATUS_UPDATED: Xupdate_InstallUtils::updateBlockByInfo($block, $module, $log); break; case LEGACY_INSTALLINFO_STATUS_NEW: Xupdate_InstallUtils::installBlockByInfo($block, $module, $log); break; case LEGACY_INSTALLINFO_STATUS_DELETED: Xupdate_InstallUtils::uninstallBlockByFuncNum($block->mFuncNum, $module, $log); break; default: break; } } }