|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Users/ServerPC/AppData/Roaming/Emby-Server/system/dashboard-ui/modules/common/ |
Upload File : |
define(["exports","./../emby-apiclient/events.js","./../emby-apiclient/connectionmanager.js","./servicelocator.js","./globalize.js"],function(_exports,_events,_connectionmanager,_servicelocator,_globalize){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var cacheParam=Date.now();function PluginManager(){this.pluginsList=[]}PluginManager.prototype.loadPluginFromUrl=function(url){console.log("Loading plugin: "+url);var instance=this;return require([url]).then(function(responses){responses=responses[0];return instance.loadPlugin(responses,url)})},PluginManager.prototype.loadPlugin=function(pluginFactory,url){var instance=this;return Emby.importModule("./modules/approuter.js").then(function(appRouter){console.log("creating plugin instance from: "+url);var baseUrl,plugin=new pluginFactory;return instance.pluginsList.filter(function(p){return p.id===plugin.id})[0]?Promise.resolve():(baseUrl=appRouter.baseUrl(),(url=(url=url.startsWith("./")?url.substring(2):url).endsWith(".js")?url.substring(0,url.length-3):url).includes("://")||url.startsWith(baseUrl)||(url=baseUrl+"/"+url),baseUrl=Math.max(url.lastIndexOf("/"),url.lastIndexOf("\\")),plugin.baseUrl=url.substring(0,baseUrl),instance.register(plugin),plugin.getRoutes&&plugin.getRoutes().forEach(function(route){!function(pluginManager,appRouter,route,plugin){route.contentPath=pluginManager.mapPath(plugin,route.path),route.path=pluginManager.mapRoute(plugin,route),appRouter.addRoute(route)}(instance,appRouter,route,plugin)}),console.log("loading plugin strings: "+plugin.id),function(plugin){var strings=plugin.getTranslations?plugin.getTranslations():[];return _globalize.default.loadStrings({name:plugin.id||plugin.packageName,strings:strings})}(plugin))})},PluginManager.prototype.register=function(obj){this.pluginsList.push(obj),_events.default.trigger(this,"registered",[obj])},PluginManager.prototype.ofType=function(type){return this.pluginsList.filter(function(o){return o.type===type})},PluginManager.prototype.plugins=function(){return this.pluginsList},PluginManager.prototype.mapRoute=function(plugin,route){return"string"==typeof plugin&&(plugin=this.pluginsList.filter(function(p){return(p.id||p.packageName)===plugin})[0]),0===(route=route.path||route).toLowerCase().indexOf("http")?route:"/plugins/"+plugin.id+"/"+route},PluginManager.prototype.mapPath=function(plugin,path,addCacheParam){path=(plugin="string"==typeof plugin?this.pluginsList.filter(function(p){return(p.id||p.packageName)===plugin})[0]:plugin).baseUrl+"/"+path;return path=addCacheParam?(path+=-1===path.indexOf("?")?"?":"&")+"v="+cacheParam:path};var allowedPluginConfigs=["de228f12-e43e-4bd9-9fc0-2830819c3b92","899c12c7-5b40-4c4e-9afd-afd74a685eb1","14f5f69e-4c8d-491b-8917-8e90e8317530","02528C96-F727-44D7-BE87-9EEF040758C3","dc372f99-4e0e-4c6b-8c18-2b887ca4530c","830fc68f-b964-4d2f-b139-48e22cd143c","b9f0c474-e9a8-4292-ae41-eb3c1542f4cd","7cfbb821-e8fd-40ab-b64e-a7749386a6b2","4C2FDA1C-FD5E-433A-AD2B-718E0B73E9A9","cd5a19be-7676-48ef-b64f-a17c98f2b889","b2ff6a63-303a-4a84-b937-6e12f87e3eb9","0277E613-3EC0-4360-A3DE-F8AF0AABB5E9","9464BD84-D30D-4404-B2AD-DFF4E12D5FC5","9574ac10-bf23-49bc-949f-924f23cfa48f","66fd72a4-7e8e-4f22-8d1c-022ce4b9b0d5","4DCB591C-0FA2-4C5D-A7E5-DABE37164C8B","8e791e2a-058a-4b12-8493-8bf69d92d685","577f89eb-58a7-4013-be06-9a970ddb1377","6153FDF0-40CC-4457-8730-3B4A19512BAE","de228f12-e43e-4bd9-9fc0-2830819c3b92","6C3B6965-C257-47C2-AA02-64457AE21D91","2FE79C34-C9DC-4D94-9DF2-2F3F36764414","0417264b-5a93-4ad0-a1f0-b87569b7cf80","e711475e-efad-431b-8527-033ba9873a34","AB95885A-1D0E-445E-BDBF-80C1912C98C5","F015EA06-B413-47F1-BF15-F049A799658B","986a7283-205a-4436-862d-23135c067f8a","8abc6789-fde2-4705-8592-4028806fa343","2850d40d-9c66-4525-aa46-968e8ef04e97","830fc68f-b964-4d2f-b139-48e22cd143c7","8D7D93B2-01DC-48DC-8C5D-4E7ABBD9F9EB","341944AF-4959-47E5-8ACE-398520208A71","3A63A9F3-810E-44F6-910A-14D6AD1255EC","E610BA80-9750-47BC-979D-3F0FC86E0081","C68856B8-6031-480D-B08E-43B9114ADDB2","7FB7FF5E-5407-4F74-8990-B7AA643085D2","3A63A9F3-810E-44F6-910A-14D6AD1255EC","0A70BB83-E28F-4633-923D-B87244697831","CEA173E8-8851-4B3B-B61D-5BEF28B4612B","8C6DDB20-18B1-4131-9285-796179A71C0F","96FA50A4-69CE-42AC-B6A3-EF6B3388CCB7","2EA04F4B-A776-428E-9869-58E8E5B149C2","DD735A61-C43E-446D-A1DB-1F9F47855383","4C7A45D6-F859-4242-9CDA-AEA1977969DE","85A7B1D4-FBDA-4E85-A0A2-AC303C9946A4","A0BF8914-0E58-4C1C-AF19-BB5B79D81FCA","77C172B0-1DCE-443E-9F17-02C74E933B5F","C8165D38-EC3D-46E8-B9EB-74FE79DFBADB","4FC3243F-31FE-45F2-A617-DECEEB51B383","4F077DD4-7D89-4AF2-B23D-0C36BDA780B2","de7fe7f0-b048-439e-a431-b1a7e99c930d","076204A5-8820-4776-95C4-5F585C41AC12","E2F078F2-144A-4B3D-ADC0-65F47945455E","7CAF8BFD-5B06-4DAE-97C9-11BEDB1C013E","b0daa30f-2e09-4083-a6ce-459d9fecdd80","47A1C3B3-700C-49D6-B75F-7A55D10FC67F"].map(function(i){return i.toLowerCase()});function loadPluginTranslations(apiClient,pluginId,languages){return languages&&languages.length?(languages=(languages||[]).map(function(i){return{lang:i,path:apiClient.getUrl("web/strings",{PluginId:pluginId,Locale:i})}}),_globalize.default.loadStrings({name:"plugin-"+pluginId,translations:languages})):Promise.resolve()}PluginManager.prototype.allowPluginPages=function(pluginId){return!_servicelocator.appHost.supports("restrictedplugins")||-1!==allowedPluginConfigs.indexOf((pluginId||"").toLowerCase())},PluginManager.prototype.getConfigurationPageUrl=function(name){return name.toLowerCase().startsWith("configurationpage?name=")?name:"configurationpage?name="+encodeURIComponent(name)},PluginManager.prototype.getConfigurationResourceUrl=function(name){return _servicelocator.appHost.supports("multiserver")?name.toLowerCase().startsWith("configurationpage?name=")?_connectionmanager.default.currentApiClient().getUrl("web/"+name):_connectionmanager.default.currentApiClient().getUrl("web/ConfigurationPage",{name:name}):this.getConfigurationPageUrl(name)},PluginManager.prototype.loadServerPluginTranslations=function(apiClient,pluginId){return apiClient._loadedTranslations||(apiClient._loadedTranslations={}),!apiClient._loadedTranslations[pluginId]&&(apiClient._loadedTranslations[pluginId]=!0,apiClient.isMinServerVersion("4.8.0.57"))?apiClient.getJSON(apiClient.getUrl("web/stringset",{pluginId:pluginId})).then(function(languages){return loadPluginTranslations(apiClient,pluginId,languages)}):Promise.resolve()},PluginManager.prototype.loadServerPluginPageTranslations=function(apiClient,pageName){return apiClient._loadedTranslations||(apiClient._loadedTranslations={}),apiClient._loadedTranslations[pageName]?Promise.resolve():(apiClient._loadedTranslations[pageName]=!0,apiClient.getJSON(apiClient.getUrl("web/configurationpages",{Name:pageName})).then(function(configPages){if(configPages.length)return function(apiClient,configPage){var languages=configPage.Translations;return languages&&languages.length?loadPluginTranslations(apiClient,configPage.PluginId,languages):Promise.resolve()}(apiClient,configPages[0])}))};_exports.default=new PluginManager});