diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/OperatingSystems/OperatingSystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/OperatingSystems/OperatingSystemController.cs index 10a79b04..a19bc353 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/OperatingSystems/OperatingSystemController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/OperatingSystems/OperatingSystemController.cs @@ -493,6 +493,11 @@ namespace WebsitePanel.EnterpriseServer return GetServerService(serverId).GetWPIProductsFiltered(keywordId); } + public static WPIProduct GetWPIProductById(int serverId, string productdId) + { + return GetServerService(serverId).GetWPIProductById(productdId); + } + public static WPIProduct[] GetWPIProductsWithDependencies(int serverId, string[] products) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebServers/WebServerController.cs index 07802a23..cb8eebca 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/WebServers/WebServerController.cs @@ -3394,7 +3394,83 @@ namespace WebsitePanel.EnterpriseServer } } #endregion - + + #region Helicon Zoo + + public static List GetZooApplications(int siteItemId) + { + List dirs = new List(); + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return dirs; + + // truncate home folders + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebVirtualDirectory[] vdirs = web.GetZooApplications(siteItem.SiteId); + + foreach (WebVirtualDirectory vdir in vdirs) + { + vdir.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, vdir.ContentPath); + dirs.Add(vdir); + } + + return dirs; + } + + public static StringResultObject SetZooEnvironmentVariable(int siteItemId, string appName, string envName, string envValue) + { + StringResultObject result = new StringResultObject {IsSuccess = false}; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooEnvironmentVariable(siteItem.SiteId, appName, envName, envValue); + } + + public static StringResultObject SetZooConsoleEnabled(int siteItemId, string appName) + { + StringResultObject result = new StringResultObject { IsSuccess = false }; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooConsoleEnabled(siteItem.SiteId, appName); + } + + + public static StringResultObject SetZooConsoleDisabled(int siteItemId, string appName) + { + StringResultObject result = new StringResultObject { IsSuccess = false }; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooConsoleDisabled(siteItem.SiteId, appName); + } + + #endregion + #region WebManagement Access public static ResultObject GrantWebManagementAccess(int siteItemId, string accountName, string accountPassword)