/** * uninstall block by func number. * * @param int $func_num * @param XoopsModule &$module * @param Legacy_ModuleInstallLog &$log * * @return bool */ public static function uninstallBlockByFuncNum($func_num, &$module, &$log) { $dirname = $module->get('dirname'); $constpref = '_MI_' . strtoupper($dirname); $blockHandler =& Cosmoapi_Utils::getModuleHandler('newblocks', 'legacy'); $cri = new CriteriaCompo(); $cri->add(new Criteria('dirname', $dirname)); $cri->add(new Criteria('func_num', $func_num)); $blocks =& $blockHandler->getObjects($cri); $successFlag = true; foreach ($blocks as $block) { if ($blockHandler->delete($block)) { $log->addReport(XCube_Utils::formatString(constant($constpref . '_INSTALL_MSG_BLOCK_UNINSTALLED'), $block->get('name'))); } else { $log->addError(XCube_Utils::formatString(constant($constpref . '_INSTALL_ERROR_BLOCK_UNINSTALLED'), $block->get('name'))); $successFlag = false; } } return $successFlag; }