function add_mini_module($module, $generate_cache = true) { $info_module = load_ini_file(PATH_TO_ROOT . '/' . $module . '/lang/', get_ulang()); if (empty($info_module) || empty($info_module['mini_module'])) { return false; } $mini_modules_menus = parse_ini_array($info_module['mini_module']); if (empty($mini_modules_menus)) { return false; } $installed = false; foreach ($mini_modules_menus as $filename => $location) { if (file_exists(PATH_TO_ROOT . '/' . $module . '/' . $filename)) { $file = explode('.', $filename, 2); if (!is_array($file) || count($file) < 1) { continue; } include_once PATH_TO_ROOT . '/' . $module . '/' . $filename; if (!function_exists($file[0])) { continue; } $menu = new ModuleMiniMenu($module, $file[0]); $menu->enabled(false); $menu->set_auth(array('r1' => MENU_AUTH_BIT, 'r0' => MENU_AUTH_BIT, 'r-1' => MENU_AUTH_BIT)); $menu->set_block(MenuService::str_to_location($location)); MenuService::save($menu); if ($generate_cache) { MenuService::generate_cache(); } $installed = true; } } return $installed; }