Пример #1
0
 /**
  * updateBlockByInfo
  * 
  * @param   Legacy_BlockInformation  &$info
  * @param   XoopsModule  &$module
  * @param   Legacy_ModuleInstallLog  &$log
  * 
  * @return  void
  **/
 public static function updateBlockByInfo(&$info, &$module, &$log)
 {
     $blockHandler =& Legacy_Utils::getModuleHandler('newblocks', 'legacy');
     $cri = new CriteriaCompo();
     $cri->add(new Criteria('dirname', $module->get('dirname')));
     $cri->add(new Criteria('func_num', $info->mFuncNum));
     $blocks =& $blockHandler->getObjects($cri);
     foreach ($blocks as $block) {
         $filename = Letag_InstallUtils::replaceDirname($info->mTemplate, $module->get('dirname'), $module->getInfo('trust_dirname'));
         $block->set('options', $info->mOptions);
         $block->set('name', $info->mName);
         $block->set('func_file', $info->mFuncFile);
         $block->set('show_func', $info->mShowFunc);
         //$block->set('edit_func',$info->mEditFunc);
         $block->set('template', $filename['public']);
         if ($blockHandler->insert($block)) {
             $log->addReport(XCube_Utils::formatString(_MI_LETAG_INSTALL_MSG_BLOCK_UPDATED, $block->get('name')));
         } else {
             $log->addError(XCube_Utils::formatString(_MI_LETAG_INSTALL_ERROR_BLOCK_UPDATED, $block->get('name')));
         }
         Letag_InstallUtils::uninstallBlockTemplate($block, $module, $log, true);
         Letag_InstallUtils::installBlockTemplate($block, $module, $log);
     }
 }