/** * Installs all of blocks $module specify. * * This function gets informations about blocks from xoops_version. * * @static * @param XoopsModule $module * @param Legacy_ModuleInstallLog $log * @note FOR THE CUSTOM-INSTALLER * @see Legacy_ModuleInstallUtils::uninstallAllOfBlocks() */ function installAllOfBlocks(&$module, &$log) { $definedBlocks = $module->getInfo('blocks'); if ($definedBlocks == false) { return true; } $func_num = 0; foreach ($definedBlocks as $block) { $successFlag = true; $updateblocks = array(); // Try (1) --- func_num foreach ($definedBlocks as $idx => $block) { if (isset($block['func_num'])) { $updateblocks[$idx] = $block; } else { $successFlag = false; break; } } // Try (2) --- index pattern if ($successFlag == false) { $successFlag = true; $updateblocks = array(); foreach ($definedBlocks as $idx => $block) { if (is_int($idx)) { $block['func_num'] = $idx; $updateblocks[$idx] = $block; } else { $successFlag = false; break; } } } // Try (3) --- automatic if ($successFlag == false) { $successFlag = true; $updateblocks = array(); $func_num = 0; foreach ($definedBlocks as $block) { $block['func_num'] = $func_num; $updateblocks[] = $block; } } } foreach ($updateblocks as $block) { $newBlock =& Legacy_ModuleInstallUtils::createBlockByInfo($module, $block, $block['func_num']); Legacy_ModuleInstallUtils::installBlock($module, $newBlock, $block, $log); } }