function updateBlockByInfo(&$info, &$module, &$log) { $handler =& xoops_getmodulehandler('newblocks', 'legacy'); $criteria = new CriteriaCompo(); $criteria->add(new Criteria('dirname', $module->get('dirname'))); $criteria->add(new Criteria('func_num', $info->mFuncNum)); $blockArr =& $handler->getObjects($criteria); foreach (array_keys($blockArr) as $idx) { $blockArr[$idx]->set('options', $info->mOptions); $blockArr[$idx]->set('name', $info->mName); $blockArr[$idx]->set('func_file', $info->mFuncFile); $blockArr[$idx]->set('show_func', $info->mShowFunc); $blockArr[$idx]->set('edit_func', $info->mEditFunc); $blockArr[$idx]->set('template', $info->mTemplate); if ($handler->insert($blockArr[$idx])) { $log->addReport(XCube_Utils::formatMessage('Update {0} block successfully.', $blockArr[$idx]->get('name'))); } else { $log->addError(XCube_Utils::formatMessage('Could not update {0} block.', $blockArr[$idx]->get('name'))); } Legacy_ModuleInstallUtils::clearBlockTemplateForUpdate($blockArr[$idx], $module, $log); Legacy_ModuleInstallUtils::installBlockTemplate($blockArr[$idx], $module, $log); } }