/**
  * 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;
 }