getLocalAddons(); } $link_files = []; foreach ($addons as $v) { $link_path = $this->getAddonDictPath($v) . "diy" . DIRECTORY_SEPARATOR . "web_links.php"; if (is_file($link_path)) { $link_files[ $v ] = $link_path; } } $addon_service = new AddonService(); $addon_info_list = $addon_service->getAddonListByKeys(array_keys($link_files)); if (!empty($params[ 'params' ][ 'query' ]) && $params[ 'params' ][ 'query' ] == 'addon') { $list_key = array_column($addon_info_list, 'key'); $addon_info_list = array_combine($list_key, $addon_info_list); return $addon_info_list; } else { $links = $params[ 'data' ]; foreach ($link_files as $k => $v) { $addon_link = include $v; if (!empty($addon_link)) { $addon_info = []; foreach ($addon_info_list as $ck => $cv) { if ($cv[ 'key' ] == $k) { $addon_info = $cv; break; } } foreach ($addon_link as $ck => $cv) { $addon_link[ $ck ][ 'addon_info' ] = $addon_info; } $links = array_merge($links, $addon_link); } } return $links; } } }