function smartUpdateAllOfBlocks(&$module, &$log) { $dirname = $module->get('dirname'); $fileReader = new Legacy_ModinfoX2FileReader($dirname); $latestBlocks =& $fileReader->loadBlockInformations(); $dbReader = new Legacy_ModinfoX2DBReader($dirname); $currentBlocks =& $dbReader->loadBlockInformations(); $currentBlocks->update($latestBlocks); foreach (array_keys($currentBlocks->mBlocks) as $idx) { switch ($currentBlocks->mBlocks[$idx]->mStatus) { case LEGACY_INSTALLINFO_STATUS_LOADED: Legacy_ModuleInstallUtils::updateBlockTemplateByInfo($currentBlocks->mBlocks[$idx], $module, $log); break; case LEGACY_INSTALLINFO_STATUS_UPDATED: Legacy_ModuleInstallUtils::updateBlockByInfo($currentBlocks->mBlocks[$idx], $module, $log); break; case LEGACY_INSTALLINFO_STATUS_NEW: Legacy_ModuleInstallUtils::installBlockByInfo($currentBlocks->mBlocks[$idx], $module, $log); break; case LEGACY_INSTALLINFO_STATUS_DELETED: Legacy_ModuleInstallUtils::uninstallBlockByFuncNum($currentBlocks->mBlocks[$idx]->mFuncNum, $module, $log); break; } } }