Пример #1
0
        public static void SetAppIdForModule(ModuleInfo module, int?appId)
        {
            //var moduleController = new ModuleController();

            // Reset temporary template
            ContentGroupManager.DeletePreviewTemplateId(module.ModuleID);

            // ToDo: Should throw exception if a real ContentGroup exists

            var zoneId = ZoneHelpers.GetZoneID(module.OwnerPortalID);

            if (appId == 0 || !appId.HasValue)
            {
                //moduleController.DeleteModuleSetting(module.ModuleID, AppNameString);
                DnnStuffToRefactor.UpdateModuleSettingForAllLanguages(module.ModuleID, Settings.AppNameString, null);
            }
            else
            {
                var appName = ((BaseCache)DataSource.GetCache(0, 0)).ZoneApps[zoneId.Value].Apps[appId.Value];
                //moduleController.UpdateModuleSetting(module.ModuleID, AppNameString, appName);
                DnnStuffToRefactor.UpdateModuleSettingForAllLanguages(module.ModuleID, Settings.AppNameString, appName);
            }

            // Change to 1. available template if app has been set
            if (appId.HasValue)
            {
                //var sexyForNewApp = new SxcInstance(zoneId.Value, appId.Value);// 2016-03-26 2dm this used to have a third parameter false = don't enable caching, which hasn't been respected for a while; removed it
                var app       = new App(zoneId.Value, appId.Value, PortalSettings.Current);
                var templates = app.TemplateManager.GetAvailableTemplatesForSelector(module.ModuleID, app.ContentGroupManager).ToList();
                if (templates.Any())
                {
                    app.ContentGroupManager.SetModulePreviewTemplateId(module.ModuleID, templates.First().Guid /* .TemplateId */);
                }
            }
        }
Пример #2
0
        internal static void RemoveApp(int zoneId, int appId, PortalSettings ps, int userId)
        {
            if (zoneId != ZoneHelpers.GetZoneID(ps.PortalId))
            {
                throw new Exception("This app does not belong to portal " + ps.PortalId);
            }

            //var sexy = new SxcInstance(zoneId, appId);// 2016-03-26 2dm this used to have a third parameter false = don't enable caching, which hasn't been respected for a while; removed it
            var eavContext = EavDataController.Instance(zoneId, appId);

            if (appId != eavContext.AppId)  // this only happens if there is some kind of id-fallback
            {
                throw new Exception("An app can only be removed inside of it's own context.");
            }

            if (appId == AppHelpers.GetDefaultAppId(zoneId))
            {
                throw new Exception("The default app of a zone cannot be removed.");
            }

            var sexyApp = new App(zoneId, appId, ps);

            // Delete folder
            if (!String.IsNullOrEmpty(sexyApp.Folder) && Directory.Exists(sexyApp.PhysicalPath))
            {
                Directory.Delete(sexyApp.PhysicalPath, true);
            }

            // Delete the app
            eavContext.App.DeleteApp(appId);
        }
Пример #3
0
        public static void SetAppIdForModule(ModuleInfo module, int?appId)
        {
            // Reset temporary template
            ContentGroupManager.DeletePreviewTemplateId(module.ModuleID);

            // ToDo: Should throw exception if a real ContentGroup exists

            var zoneId = ZoneHelpers.GetZoneID(module.OwnerPortalID);

            if (appId == 0 || !appId.HasValue)
            {
                DnnStuffToRefactor.UpdateModuleSettingForAllLanguages(module.ModuleID, Settings.AppNameString, null);
            }
            else
            {
                var appName = ((BaseCache)DataSource.GetCache(0, 0)).ZoneApps[zoneId.Value].Apps[appId.Value];
                DnnStuffToRefactor.UpdateModuleSettingForAllLanguages(module.ModuleID, Settings.AppNameString, appName);
            }

            // Change to 1. available template if app has been set
            if (appId.HasValue)
            {
                var app       = new App(zoneId.Value, appId.Value, PortalSettings.Current);
                var templates = app.TemplateManager.GetAvailableTemplatesForSelector(module.ModuleID, app.ContentGroupManager).ToList();
                if (templates.Any())
                {
                    app.ContentGroupManager.SetModulePreviewTemplateId(module.ModuleID, templates.First().Guid /* .TemplateId */);
                }
            }
        }