mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 03:40:56 +08:00
Conflicts: ClickToBuild.cmd Orchard.proj lib/msbuild/MSBuild.Community.Tasks.Targets lib/newtonsoft.json/Newtonsoft.Json.xml lib/windowsazure/Microsoft.WindowsAzure.Diagnostics.xml src/Orchard.Azure.Tests/Orchard.Azure.Tests.csproj src/Orchard.Azure/Orchard.Azure.Web/Config/Host.config src/Orchard.Azure/Orchard.Azure.Web/Config/HostComponents.config src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj src/Orchard.Azure/Orchard.Azure.Web/Web.config src/Orchard.Azure/Orchard.Azure.sln src/Orchard.Core.Tests/Body/BodyPartTests.cs src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs src/Orchard.Core.Tests/Orchard.Core.Tests.csproj src/Orchard.Profile/profiling-setup-commands.txt src/Orchard.Specs/Bindings/OrchardSiteFactory.cs src/Orchard.Specs/Blogs.feature src/Orchard.Specs/Blogs.feature.cs src/Orchard.Specs/Comments.feature src/Orchard.Specs/Comments.feature.cs src/Orchard.Specs/Hosting/Orchard.Web/Config/Host.config src/Orchard.Specs/Hosting/Orchard.Web/Web.config src/Orchard.Specs/Hosting/Simple.Web/Web.config src/Orchard.Specs/Lists.feature src/Orchard.Specs/Lists.feature.cs src/Orchard.Specs/Media.feature src/Orchard.Specs/Media.feature.cs src/Orchard.Specs/MultiTenancy.feature src/Orchard.Specs/MultiTenancy.feature.cs src/Orchard.Specs/Orchard.Specs.csproj src/Orchard.Specs/Pages.feature src/Orchard.Specs/Pages.feature.cs src/Orchard.Specs/PermissionModel.feature src/Orchard.Specs/PermissionModel.feature.cs src/Orchard.Specs/Setup.feature src/Orchard.Specs/Setup.feature.cs src/Orchard.Specs/Tags.feature src/Orchard.Specs/Tags.feature.cs src/Orchard.Specs/Users.feature src/Orchard.Specs/Users.feature.cs src/Orchard.Tests.Modules/Comments/Services/CommentServiceTests.cs src/Orchard.Tests.Modules/Conditions/Providers/UrlRuleConditionTest.cs src/Orchard.Tests.Modules/DatabaseEnabledTestsBase.cs src/Orchard.Tests.Modules/ImportExport/Services/ImportExportServiceTests.cs src/Orchard.Tests.Modules/Media/Services/MediaServiceTests.cs src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj src/Orchard.Tests.Modules/Recipes/RecipeHandlers/ModuleStepTest.cs src/Orchard.Tests.Modules/Recipes/RecipeHandlers/ThemeStepTest.cs src/Orchard.Tests.Modules/Recipes/Services/RecipeManagerTests.cs src/Orchard.Tests.Modules/Users/Controllers/AccountControllerTests.cs src/Orchard.Tests.Modules/Users/Services/MembershipServiceTests.cs src/Orchard.Tests.Modules/Widgets/WidgetsTests.cs src/Orchard.Tests/App.config src/Orchard.Tests/ContainerTestBase.cs src/Orchard.Tests/ContentManagement/ContentQueryTests.cs src/Orchard.Tests/ContentManagement/DefaultContentManagerTests.cs src/Orchard.Tests/ContentManagement/DynamicContentQueryTests.cs src/Orchard.Tests/ContentManagement/HqlExpressionTests.cs src/Orchard.Tests/DataMigration/SchemaBuilderTests.cs src/Orchard.Tests/DataMigration/Utilities/NullInterpreter.cs src/Orchard.Tests/DatabaseEnabledTestsBase.cs src/Orchard.Tests/DisplayManagement/DefaultDisplayManagerTests.cs src/Orchard.Tests/DisplayManagement/Descriptors/ShapeAttributeBindingStrategyTests.cs src/Orchard.Tests/Environment/DefaultOrchardHostTests.cs src/Orchard.Tests/Environment/Extensions/ExtensionLoaderCoordinatorTests.cs src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs src/Orchard.Tests/Environment/Loaders/DynamicExtensionLoaderTests.cs src/Orchard.Tests/Orchard.Framework.Tests.csproj src/Orchard.Tests/Stubs/StubReportsCoordinator.cs src/Orchard.Tests/Stubs/StubWorkContextAccessor.cs src/Orchard.Tests/Time/TimeZoneSelectorTests.cs src/Orchard.Web.Tests/Orchard.Web.Tests.csproj src/Orchard.Web/Config/Host.config src/Orchard.Web/Config/HostComponents.config src/Orchard.Web/Config/log4net.config src/Orchard.Web/Core/Common/DateEditor/DateEditorHandler.cs src/Orchard.Web/Core/Common/Drivers/BodyPartDriver.cs src/Orchard.Web/Core/Common/Drivers/IdentityPartDriver.cs src/Orchard.Web/Core/Common/Drivers/TextFieldDriver.cs src/Orchard.Web/Core/Common/Handlers/BodyPartHandler.cs src/Orchard.Web/Core/Common/Handlers/CommonPartHandler.cs src/Orchard.Web/Core/Common/Handlers/IdentityPartHandler.cs src/Orchard.Web/Core/Common/Migrations.cs src/Orchard.Web/Core/Common/Models/CommonPart.cs src/Orchard.Web/Core/Common/Models/CommonPartVersionRecord.cs src/Orchard.Web/Core/Common/Services/IdentifierResolverSelector.cs src/Orchard.Web/Core/Common/Utilities/LazyField.cs src/Orchard.Web/Core/Common/Views/CommonMetadataOwner.cshtml src/Orchard.Web/Core/Common/Views/Parts.Common.Metadata.SummaryAdmin.cshtml src/Orchard.Web/Core/Containers/Models/ContainerPart.cs src/Orchard.Web/Core/Containers/ViewModels/ContainerViewModel.cs src/Orchard.Web/Core/Containers/Views/EditorTemplates/ContainerWidget.cshtml src/Orchard.Web/Core/Contents/Controllers/ItemController.cs src/Orchard.Web/Core/Contents/Security/AuthorizationEventHandler.cs src/Orchard.Web/Core/Contents/Views/Admin/List.cshtml src/Orchard.Web/Core/Contents/Views/Content.Edit.cshtml src/Orchard.Web/Core/Dashboard/Views/Admin/Index.cshtml src/Orchard.Web/Core/Feeds/Rss/RssFeedBuilder.cs src/Orchard.Web/Core/Feeds/Services/FeedFilter.cs src/Orchard.Web/Core/Feeds/Services/FeedManager.cs src/Orchard.Web/Core/Feeds/StandardBuilders/CorePartsFeedItemBuilder.cs src/Orchard.Web/Core/Feeds/StandardQueries/ContainerFeedQuery.cs src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs src/Orchard.Web/Core/Navigation/Drivers/AdminMenuPartDriver.cs src/Orchard.Web/Core/Navigation/Drivers/MenuItemPartDriver.cs src/Orchard.Web/Core/Navigation/Drivers/MenuPartDriver.cs src/Orchard.Web/Core/Navigation/Handlers/AdminMenuPartHandler.cs src/Orchard.Web/Core/Navigation/Handlers/MenuHandler.cs src/Orchard.Web/Core/Navigation/Handlers/MenuPartHandler.cs src/Orchard.Web/Core/Navigation/Scripts/navigation-admin.js src/Orchard.Web/Core/Navigation/Services/AdminMenuNavigationProvider.cs src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs src/Orchard.Web/Core/Navigation/Services/NavigationManager.cs src/Orchard.Web/Core/Navigation/Styles/navigation-admin.css src/Orchard.Web/Core/Navigation/Views/Admin/Index.cshtml src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml src/Orchard.Web/Core/Orchard.Core.csproj src/Orchard.Web/Core/Scheduling/Services/ScheduledTaskExecutor.cs src/Orchard.Web/Core/Scheduling/Services/ScheduledTaskManager.cs src/Orchard.Web/Core/Settings/Drivers/SiteSettingsPartDriver.cs src/Orchard.Web/Core/Settings/Handlers/SiteSettingsPartHandler.cs src/Orchard.Web/Core/Settings/Migrations.cs src/Orchard.Web/Core/Settings/Services/SiteService.cs src/Orchard.Web/Core/Settings/State/ShellStateManager.cs src/Orchard.Web/Core/Shapes/CoreShapes.cs src/Orchard.Web/Core/Shapes/DateTimeShapes.cs src/Orchard.Web/Core/Shapes/ResourceManifest.cs src/Orchard.Web/Core/Shapes/Scripts/base.js src/Orchard.Web/Modules/Lucene/Lucene.csproj src/Orchard.Web/Modules/Markdown/Markdown.csproj src/Orchard.Web/Modules/Orchard.Alias/AdminMenu.cs src/Orchard.Web/Modules/Orchard.Alias/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Alias/IAliasService.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/AliasRoute.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/DefaultAliasService.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/Holder/AliasInfo.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/Holder/IAliasHolder.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/Map/AliasMap.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/Storage/AliasStorage.cs src/Orchard.Web/Modules/Orchard.Alias/Implementation/Utils.cs src/Orchard.Web/Modules/Orchard.Alias/Migrations.cs src/Orchard.Web/Modules/Orchard.Alias/Orchard.Alias.csproj src/Orchard.Web/Modules/Orchard.Alias/Records/AliasRecord.cs src/Orchard.Web/Modules/Orchard.Alias/Routes.cs src/Orchard.Web/Modules/Orchard.Alias/ViewModels/AdminIndexViewModel.cs src/Orchard.Web/Modules/Orchard.Alias/Views/Admin/Add.cshtml src/Orchard.Web/Modules/Orchard.Alias/Views/Admin/Delete.cshtml src/Orchard.Web/Modules/Orchard.Alias/Views/Admin/Edit.cshtml src/Orchard.Web/Modules/Orchard.Alias/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.Alias/Web.config src/Orchard.Web/Modules/Orchard.AntiSpam/Drivers/ReCaptchaPartDriver.cs src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/AkismetSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/ReCaptchaSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/TypePadSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.AntiSpam/Module.txt src/Orchard.Web/Modules/Orchard.AntiSpam/Orchard.AntiSpam.csproj src/Orchard.Web/Modules/Orchard.AntiSpam/ViewModels/ReCaptchaPartEditViewModel.cs src/Orchard.Web/Modules/Orchard.AntiSpam/Views/EditorTemplates/Parts.ReCaptcha.Fields.cshtml src/Orchard.Web/Modules/Orchard.AntiSpam/Web.config src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/ArchiveLaterPartHandler.cs src/Orchard.Web/Modules/Orchard.ArchiveLater/Handlers/UnpublishingTaskHandler.cs src/Orchard.Web/Modules/Orchard.ArchiveLater/Orchard.ArchiveLater.csproj src/Orchard.Web/Modules/Orchard.Autoroute/Drivers/AutoroutePartDriver.cs src/Orchard.Web/Modules/Orchard.Autoroute/Handlers/AutoroutePartHandler.cs src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePart.cs src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePartRecord.cs src/Orchard.Web/Modules/Orchard.Autoroute/Orchard.Autoroute.csproj src/Orchard.Web/Modules/Orchard.Autoroute/Providers/SlugTokens.cs src/Orchard.Web/Modules/Orchard.Autoroute/ResourceManifest.cs src/Orchard.Web/Modules/Orchard.Autoroute/Services/AliasResolverSelector.cs src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs src/Orchard.Web/Modules/Orchard.Autoroute/Services/DefaultSlugService.cs src/Orchard.Web/Modules/Orchard.Autoroute/Services/IAutorouteService.cs src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettingsEvents.cs src/Orchard.Web/Modules/Orchard.Autoroute/Settings/RoutePattern.cs src/Orchard.Web/Modules/Orchard.Autoroute/Styles/orchard-autoroute-settings.css src/Orchard.Web/Modules/Orchard.Autoroute/ViewModels/AutoroutePartEditViewModel.cs src/Orchard.Web/Modules/Orchard.Autoroute/Views/DefinitionTemplates/AutorouteSettings.cshtml src/Orchard.Web/Modules/Orchard.Autoroute/Views/EditorTemplates/Parts.Autoroute.Edit.cshtml src/Orchard.Web/Modules/Orchard.Autoroute/Web.config src/Orchard.Web/Modules/Orchard.Azure/Constants.cs src/Orchard.Web/Modules/Orchard.Azure/Orchard.Azure.csproj src/Orchard.Web/Modules/Orchard.Azure/Services/Environment/Configuration/AzureBlobShellSettingsManager.cs src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/Media/AzureBlobStorageProvider.cs src/Orchard.Web/Modules/Orchard.Azure/Web.config src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPartDriver.cs src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostPartDriver.cs src/Orchard.Web/Modules/Orchard.Blogs/Drivers/RemoteBlogPublishingDriver.cs src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogArchivesPartHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPartArchiveHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPartHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPostPartHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Handlers/RecentBlogPostsPartHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Migrations.cs src/Orchard.Web/Modules/Orchard.Blogs/Module.txt src/Orchard.Web/Modules/Orchard.Blogs/Orchard.Blogs.csproj src/Orchard.Web/Modules/Orchard.Blogs/Routing/ArchiveConstraint.CS src/Orchard.Web/Modules/Orchard.Blogs/Routing/RsdConstraint.CS src/Orchard.Web/Modules/Orchard.Blogs/Security/BlogAuthorizationEventHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogPostService.cs src/Orchard.Web/Modules/Orchard.Blogs/Services/BlogService.cs src/Orchard.Web/Modules/Orchard.Blogs/Services/XmlRpcHandler.cs src/Orchard.Web/Modules/Orchard.Blogs/Views/BlogAdmin/List.cshtml src/Orchard.Web/Modules/Orchard.Blogs/Views/Parts.Blogs.BlogPost.ListAdmin.cshtml src/Orchard.Web/Modules/Orchard.CodeGeneration/CodeGenerationTemplates/ModuleRootWebConfig.txt src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs src/Orchard.Web/Modules/Orchard.CodeGeneration/Orchard.CodeGeneration.csproj src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentPartDriver.cs src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentsContainerPartDriver.cs src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentsPartDriver.cs src/Orchard.Web/Modules/Orchard.Comments/Feeds/CommentFeedItemBuilder.cs src/Orchard.Web/Modules/Orchard.Comments/Feeds/CommentedOnContainerFeedQuery.cs src/Orchard.Web/Modules/Orchard.Comments/Feeds/CommentedOnFeedQuery.cs src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentPartHandler.cs src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentsPartHandler.cs src/Orchard.Web/Modules/Orchard.Comments/Orchard.Comments.csproj src/Orchard.Web/Modules/Orchard.Comments/Services/CommentService.cs src/Orchard.Web/Modules/Orchard.Comments/Views/Parts.Comment.cshtml src/Orchard.Web/Modules/Orchard.Conditions/Providers/UrlCondition.cs src/Orchard.Web/Modules/Orchard.ContentPermissions/Drivers/ContentPermissionsPartDriver.cs src/Orchard.Web/Modules/Orchard.ContentPermissions/Orchard.ContentPermissions.csproj src/Orchard.Web/Modules/Orchard.ContentPermissions/Web.config src/Orchard.Web/Modules/Orchard.ContentPicker/Drivers/ContentMenuItemPartDriver.cs src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentMenuItemPartHandler.cs src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/ContentPickerFieldHandler.cs src/Orchard.Web/Modules/Orchard.ContentPicker/Handlers/NavigationPartHandler.cs src/Orchard.Web/Modules/Orchard.ContentPicker/Orchard.ContentPicker.csproj src/Orchard.Web/Modules/Orchard.ContentPicker/Web.config src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.sln src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs src/Orchard.Web/Modules/Orchard.CustomForms/Module.txt src/Orchard.Web/Modules/Orchard.CustomForms/Orchard.CustomForms.csproj src/Orchard.Web/Modules/Orchard.CustomForms/Security/AuthorizationEventHandler.cs src/Orchard.Web/Modules/Orchard.CustomForms/Web.config src/Orchard.Web/Modules/Orchard.DesignerTools/Module.txt src/Orchard.Web/Modules/Orchard.DesignerTools/Orchard.DesignerTools.csproj src/Orchard.Web/Modules/Orchard.DesignerTools/Services/UrlAlternatesFactory.cs src/Orchard.Web/Modules/Orchard.DesignerTools/Web.config src/Orchard.Web/Modules/Orchard.Email/Handlers/SmtpSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Email/Models/SmtpSettingsPart.cs src/Orchard.Web/Modules/Orchard.Email/Orchard.Email.csproj src/Orchard.Web/Modules/Orchard.Email/Views/EditorTemplates/Parts/SmtpSettings.cshtml src/Orchard.Web/Modules/Orchard.Fields/Drivers/BooleanFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Drivers/EnumerationFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Drivers/InputFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs src/Orchard.Web/Modules/Orchard.Fields/Module.txt src/Orchard.Web/Modules/Orchard.Fields/Orchard.Fields.csproj src/Orchard.Web/Modules/Orchard.Fields/Web.config src/Orchard.Web/Modules/Orchard.Forms/Orchard.Forms.csproj src/Orchard.Web/Modules/Orchard.Forms/Web.config src/Orchard.Web/Modules/Orchard.ImageEditor/Orchard.ImageEditor.csproj src/Orchard.Web/Modules/Orchard.ImageEditor/Web.config src/Orchard.Web/Modules/Orchard.ImportExport/Commands/ImportExportCommands.cs src/Orchard.Web/Modules/Orchard.ImportExport/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.ImportExport/Models/ExportOptions.cs src/Orchard.Web/Modules/Orchard.ImportExport/Module.txt src/Orchard.Web/Modules/Orchard.ImportExport/Orchard.ImportExport.csproj src/Orchard.Web/Modules/Orchard.ImportExport/Services/ICustomExportStep.cs src/Orchard.Web/Modules/Orchard.ImportExport/Services/IExportEventHandler.cs src/Orchard.Web/Modules/Orchard.ImportExport/Services/IImportExportService.cs src/Orchard.Web/Modules/Orchard.ImportExport/Services/ImportExportService.cs src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ExportViewModel.cs src/Orchard.Web/Modules/Orchard.ImportExport/ViewModels/ImportViewModel.cs src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Export.cshtml src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/Import.cshtml src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/ImportResult.cshtml src/Orchard.Web/Modules/Orchard.Indexing/Commands/IndexingCommands.cs src/Orchard.Web/Modules/Orchard.Indexing/Migrations.cs src/Orchard.Web/Modules/Orchard.Indexing/Module.txt src/Orchard.Web/Modules/Orchard.Indexing/Orchard.Indexing.csproj src/Orchard.Web/Modules/Orchard.Indexing/Services/IndexingBackgroundTask.cs src/Orchard.Web/Modules/Orchard.Indexing/Services/IndexingTaskExecutor.cs src/Orchard.Web/Modules/Orchard.Indexing/Services/IndexingTaskManager.cs src/Orchard.Web/Modules/Orchard.Indexing/Settings/EditorEvents.cs src/Orchard.Web/Modules/Orchard.Indexing/Views/Admin/Create.cshtml src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj src/Orchard.Web/Modules/Orchard.Lists/Migrations.cs src/Orchard.Web/Modules/Orchard.Lists/Orchard.Lists.csproj src/Orchard.Web/Modules/Orchard.Lists/Web.config src/Orchard.Web/Modules/Orchard.Localization/Drivers/LocalizationPartDriver.cs src/Orchard.Web/Modules/Orchard.Localization/Handlers/LocalizationPartHandler.cs src/Orchard.Web/Modules/Orchard.Localization/Orchard.Localization.csproj src/Orchard.Web/Modules/Orchard.Media/Handlers/MediaSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Media/Module.txt src/Orchard.Web/Modules/Orchard.Media/Orchard.Media.csproj src/Orchard.Web/Modules/Orchard.Media/Services/MediaService.cs src/Orchard.Web/Modules/Orchard.Media/Services/XmlRpcHandler.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/ClientStorageController.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Factories/ImageFactory.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/WebSearchSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Module.txt src/Orchard.Web/Modules/Orchard.MediaLibrary/ResourceManifest.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Services/MediaLibraryService.cs src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Import.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/ClientStorage/Index.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/EditorTemplates/Parts/WebSearch.WebSearchSettings.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Fields/MediaLibraryPicker.SummaryAdmin.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Fields/MediaLibraryPicker.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/WebSearch/Index.cshtml src/Orchard.Web/Modules/Orchard.MediaLibrary/Web.config src/Orchard.Web/Modules/Orchard.MediaPicker/Handlers/MediaGalleryFieldHandler.cs src/Orchard.Web/Modules/Orchard.MediaPicker/Module.txt src/Orchard.Web/Modules/Orchard.MediaPicker/Orchard.MediaPicker.csproj src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs src/Orchard.Web/Modules/Orchard.MediaProcessing/Orchard.MediaProcessing.csproj src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/IImageProfileManager.cs src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileManager.cs src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs src/Orchard.Web/Modules/Orchard.MediaProcessing/Web.config src/Orchard.Web/Modules/Orchard.Migrations/Orchard.Migrations.csproj src/Orchard.Web/Modules/Orchard.Modules/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Modules/Module.txt src/Orchard.Web/Modules/Orchard.Modules/Orchard.Modules.csproj src/Orchard.Web/Modules/Orchard.Modules/Recipes/Executors/FeatureStep.cs src/Orchard.Web/Modules/Orchard.Modules/Views/Admin/Features.cshtml src/Orchard.Web/Modules/Orchard.Modules/styles/orchard-modules-admin.css src/Orchard.Web/Modules/Orchard.MultiTenancy/Commands/TenantCommand.cs src/Orchard.Web/Modules/Orchard.MultiTenancy/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.MultiTenancy/Extensions/UrlHelperExtensions.cs src/Orchard.Web/Modules/Orchard.MultiTenancy/Module.txt src/Orchard.Web/Modules/Orchard.MultiTenancy/Orchard.MultiTenancy.csproj src/Orchard.Web/Modules/Orchard.MultiTenancy/Services/ITenantService.cs src/Orchard.Web/Modules/Orchard.MultiTenancy/Services/TenantService.cs src/Orchard.Web/Modules/Orchard.MultiTenancy/Views/Admin/Add.cshtml src/Orchard.Web/Modules/Orchard.MultiTenancy/Views/Admin/DisplayTemplates/ActionsForDisabled.cshtml src/Orchard.Web/Modules/Orchard.MultiTenancy/Views/Admin/DisplayTemplates/ActionsForRunning.cshtml src/Orchard.Web/Modules/Orchard.MultiTenancy/Views/Admin/Edit.cshtml src/Orchard.Web/Modules/Orchard.MultiTenancy/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.OutputCache/Filters/OutputCacheFilter.cs src/Orchard.Web/Modules/Orchard.OutputCache/Handlers/CacheSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.OutputCache/Orchard.OutputCache.csproj src/Orchard.Web/Modules/Orchard.OutputCache/Services/DefaultCacheStorageProvider.cs src/Orchard.Web/Modules/Orchard.OutputCache/Web.config src/Orchard.Web/Modules/Orchard.Packaging/Controllers/GalleryUpdatesController.cs src/Orchard.Web/Modules/Orchard.Packaging/Controllers/PackagingServicesController.cs src/Orchard.Web/Modules/Orchard.Packaging/Orchard.Packaging.csproj src/Orchard.Web/Modules/Orchard.Pages/Commands/PageCommands.cs src/Orchard.Web/Modules/Orchard.Pages/Migrations.cs src/Orchard.Web/Modules/Orchard.Pages/Module.txt src/Orchard.Web/Modules/Orchard.Pages/Orchard.Pages.csproj src/Orchard.Web/Modules/Orchard.Projections/Controllers/LayoutController.cs src/Orchard.Web/Modules/Orchard.Projections/Drivers/ProjectionPartDriver.cs src/Orchard.Web/Modules/Orchard.Projections/Drivers/QueryPartDriver.cs src/Orchard.Web/Modules/Orchard.Projections/Migrations.cs src/Orchard.Web/Modules/Orchard.Projections/Orchard.Projections.csproj src/Orchard.Web/Modules/Orchard.Projections/Providers/Layouts/GridLayout.cs src/Orchard.Web/Modules/Orchard.Projections/Providers/Layouts/ListLayout.cs src/Orchard.Web/Modules/Orchard.Projections/Providers/Layouts/RawLayout.cs src/Orchard.Web/Modules/Orchard.Projections/Tests/Orchard.Projections.Tests.csproj src/Orchard.Web/Modules/Orchard.Projections/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.Projections/Web.config src/Orchard.Web/Modules/Orchard.PublishLater/Drivers/PublishLaterPartDriver.cs src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishingTaskHandler.cs src/Orchard.Web/Modules/Orchard.PublishLater/Orchard.PublishLater.csproj src/Orchard.Web/Modules/Orchard.PublishLater/Services/PublishingTaskManager.cs src/Orchard.Web/Modules/Orchard.Recipes/Commands/RecipesCommands.cs src/Orchard.Web/Modules/Orchard.Recipes/Orchard.Recipes.csproj src/Orchard.Web/Modules/Orchard.Recipes/Providers/Executors/CommandStep.cs src/Orchard.Web/Modules/Orchard.Recipes/Providers/Executors/ModuleStep.cs src/Orchard.Web/Modules/Orchard.Recipes/Providers/Executors/SettingsStep.cs src/Orchard.Web/Modules/Orchard.Recipes/RecipeHandlers/DataRecipeHandler.cs src/Orchard.Web/Modules/Orchard.Recipes/RecipeHandlers/MetaDataRecipeHandler.cs src/Orchard.Web/Modules/Orchard.Recipes/RecipeHandlers/MigrationRecipeHandler.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeHarvester.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeJournalManager.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeManager.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeParser.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeScheduler.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeStepExecutor.cs src/Orchard.Web/Modules/Orchard.Recipes/Services/RecipeStepQueue.cs src/Orchard.Web/Modules/Orchard.Roles/DefaultRoleUpdater.cs src/Orchard.Web/Modules/Orchard.Roles/Drivers/UserRolesPartDriver.cs src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesPartHandler.cs src/Orchard.Web/Modules/Orchard.Roles/Module.txt src/Orchard.Web/Modules/Orchard.Roles/Orchard.Roles.csproj src/Orchard.Web/Modules/Orchard.Roles/Services/RoleService.cs src/Orchard.Web/Modules/Orchard.Roles/Services/RolesBasedAuthorizationService.cs src/Orchard.Web/Modules/Orchard.Rules/Handlers/ScheduledActionTaskHandler.cs src/Orchard.Web/Modules/Orchard.Rules/Handlers/ScheduledActionTaskPartHandler.cs src/Orchard.Web/Modules/Orchard.Rules/ImportExport/RulesCustomExportStep.cs src/Orchard.Web/Modules/Orchard.Rules/ImportExport/RulesRecipeHandler.cs src/Orchard.Web/Modules/Orchard.Rules/Module.txt src/Orchard.Web/Modules/Orchard.Rules/Orchard.Rules.csproj src/Orchard.Web/Modules/Orchard.Rules/Recipes/Builders/RulesStep.cs src/Orchard.Web/Modules/Orchard.Rules/Web.config src/Orchard.Web/Modules/Orchard.Scripting.CSharp/Orchard.Scripting.CSharp.csproj src/Orchard.Web/Modules/Orchard.Scripting.CSharp/Web.config src/Orchard.Web/Modules/Orchard.Search/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Search/Controllers/ContentPickerController.cs src/Orchard.Web/Modules/Orchard.Search/Controllers/SearchController.cs src/Orchard.Web/Modules/Orchard.Search/Drivers/SearchFormPartDriver.cs src/Orchard.Web/Modules/Orchard.Search/Drivers/SearchSettingsPartDriver.cs src/Orchard.Web/Modules/Orchard.Search/Handlers/SearchSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Search/Models/SearchFormPart.cs src/Orchard.Web/Modules/Orchard.Search/Orchard.Search.csproj src/Orchard.Web/Modules/Orchard.Search/Placement.info src/Orchard.Web/Modules/Orchard.Search/ResourceManifest.cs src/Orchard.Web/Modules/Orchard.Search/Routes.cs src/Orchard.Web/Modules/Orchard.Search/Styles/orchard-search-admin.css src/Orchard.Web/Modules/Orchard.Search/Styles/orchard-search-search.css src/Orchard.Web/Modules/Orchard.Search/ViewModels/SearchSettingsIndexViewModel.cs src/Orchard.Web/Modules/Orchard.Search/Views/EditorTemplates/Parts/Search.SiteSettings.cshtml src/Orchard.Web/Modules/Orchard.Search/Views/Parts/Search.SearchForm.cshtml src/Orchard.Web/Modules/Orchard.Setup/Commands/SetupCommand.cs src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupController.cs src/Orchard.Web/Modules/Orchard.Setup/Controllers/SetupDatabaseType.cs src/Orchard.Web/Modules/Orchard.Setup/Module.txt src/Orchard.Web/Modules/Orchard.Setup/Orchard.Setup.csproj src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml src/Orchard.Web/Modules/Orchard.Setup/Recipes/core.recipe.xml src/Orchard.Web/Modules/Orchard.Setup/Recipes/default.recipe.xml src/Orchard.Web/Modules/Orchard.Setup/Routes.cs src/Orchard.Web/Modules/Orchard.Setup/Scripts/setup.js src/Orchard.Web/Modules/Orchard.Setup/Services/SetupContext.cs src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs src/Orchard.Web/Modules/Orchard.Setup/SetupMode.cs src/Orchard.Web/Modules/Orchard.Setup/Views/Setup/Index.cshtml src/Orchard.Web/Modules/Orchard.Tags/Drivers/TagsPartDriver.cs src/Orchard.Web/Modules/Orchard.Tags/Module.txt src/Orchard.Web/Modules/Orchard.Tags/Orchard.Tags.csproj src/Orchard.Web/Modules/Orchard.Tags/ResourceManifest.cs src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs src/Orchard.Web/Modules/Orchard.TaskLease/Migrations.cs src/Orchard.Web/Modules/Orchard.TaskLease/Models/TaskLeaseRecord.cs src/Orchard.Web/Modules/Orchard.TaskLease/Module.txt src/Orchard.Web/Modules/Orchard.TaskLease/Orchard.TaskLease.csproj src/Orchard.Web/Modules/Orchard.TaskLease/Services/ITaskLeaseService.cs src/Orchard.Web/Modules/Orchard.TaskLease/Services/TaskLeaseService.cs src/Orchard.Web/Modules/Orchard.TaskLease/Tests/Orchard.TaskLease.Tests/Orchard.TaskLease.Tests.csproj src/Orchard.Web/Modules/Orchard.TaskLease/Web.config src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Controllers/TermAdminController.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Drivers/TaxonomyFieldDriver.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Drivers/TaxonomyPartDriver.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TaxonomyPartHandler.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Handlers/TermsPartHandler.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Helpers/PathExtensions.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Migrations.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Models/TermContentItem.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Models/TermPart.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Models/TermsPart.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Navigation/TaxonomyNavigationProvider.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Projections/TermsFilter.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Projections/TermsFilterForms.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Scripts/admin-taxonomy-tags.js src/Orchard.Web/Modules/Orchard.Taxonomies/Services/ITaxonomyService.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Services/TaxonomyService.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Shapes.cs src/Orchard.Web/Modules/Orchard.Taxonomies/StandardQueries/TermFeedQuery.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Styles/admin-taxonomy-tags.css src/Orchard.Web/Modules/Orchard.Taxonomies/ViewModels/TaxonomyAdminIndexViewModel.cs src/Orchard.Web/Modules/Orchard.Taxonomies/ViewModels/TaxonomyFieldViewModel.cs src/Orchard.Web/Modules/Orchard.Taxonomies/ViewModels/TermAdminIndexViewModel.cs src/Orchard.Web/Modules/Orchard.Taxonomies/Views/Admin/Import.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/DefinitionTemplates/TaxonomyFieldSettings.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/EditorTemplates/Fields/TaxonomyField.Autocomplete.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/EditorTemplates/Fields/TaxonomyField.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/EditorTemplates/Parts/Navigation.Taxonomy.Edit.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/Fields/TaxonomyField.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/Taxonomy.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TaxonomyItem.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TermAdmin/Index.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TermAdmin/Merge.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TermAdmin/MoveTerm.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TermAdmin/RenderTermSelect.cshtml src/Orchard.Web/Modules/Orchard.Taxonomies/Views/TermAdmin/SelectTerm.cshtml src/Orchard.Web/Modules/Orchard.Themes/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Themes/Handlers/ThemeSiteSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Themes/Module.txt src/Orchard.Web/Modules/Orchard.Themes/Orchard.Themes.csproj src/Orchard.Web/Modules/Orchard.Themes/Recipes/Executors/ThemeStep.cs src/Orchard.Web/Modules/Orchard.Themes/Services/IThemeService.cs src/Orchard.Web/Modules/Orchard.Themes/Services/SafeModeThemeSelector.cs src/Orchard.Web/Modules/Orchard.Themes/Services/SiteThemeSelector.cs src/Orchard.Web/Modules/Orchard.Themes/Services/ThemeService.cs src/Orchard.Web/Modules/Orchard.Tokens/Orchard.Tokens.csproj src/Orchard.Web/Modules/Orchard.Tokens/Styles/orchard-tokens-admin.css src/Orchard.Web/Modules/Orchard.Tokens/Tests/Orchard.Tokens.Tests.csproj src/Orchard.Web/Modules/Orchard.Tokens/Tests/StubWorkContextAccessor.cs src/Orchard.Web/Modules/Orchard.Tokens/Tests/TestTokenProvider.cs src/Orchard.Web/Modules/Orchard.Tokens/Views/TokenHint.cshtml src/Orchard.Web/Modules/Orchard.Tokens/Web.config src/Orchard.Web/Modules/Orchard.Users/Controllers/AccountController.cs src/Orchard.Web/Modules/Orchard.Users/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Users/Handlers/RegistrationSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Users/Handlers/UserPartHandler.cs src/Orchard.Web/Modules/Orchard.Users/Migrations.cs src/Orchard.Web/Modules/Orchard.Users/Models/UserPart.cs src/Orchard.Web/Modules/Orchard.Users/Models/UserPartRecord.cs src/Orchard.Web/Modules/Orchard.Users/Orchard.Users.csproj src/Orchard.Web/Modules/Orchard.Users/Services/MembershipService.cs src/Orchard.Web/Modules/Orchard.Users/Services/UserResolverSelector.cs src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs src/Orchard.Web/Modules/Orchard.Users/ViewModels/UsersIndexViewModel.cs src/Orchard.Web/Modules/Orchard.Users/Views/Account/ChallengeEmailSent.cshtml src/Orchard.Web/Modules/Orchard.Users/Views/Account/RegistrationPending.cshtml src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.Warmup/Handlers/WarmupSettingsPartHandler.cs src/Orchard.Web/Modules/Orchard.Warmup/Orchard.Warmup.csproj src/Orchard.Web/Modules/Orchard.Warmup/Web.config src/Orchard.Web/Modules/Orchard.Widgets/Drivers/LayerPartDriver.cs src/Orchard.Web/Modules/Orchard.Widgets/Drivers/WidgetPartDriver.cs src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs src/Orchard.Web/Modules/Orchard.Widgets/Handlers/LayerPartHandler.cs src/Orchard.Web/Modules/Orchard.Widgets/Handlers/WidgetPartHandler.cs src/Orchard.Web/Modules/Orchard.Widgets/Models/WidgetPart.cs src/Orchard.Web/Modules/Orchard.Widgets/Module.txt src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/AuthenticatedRuleProvider.cs src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/ContentDisplayedRuleProvider.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleManager.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/IRuleProvider.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/LayerResolverSelector.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleContext.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/RuleManager.cs src/Orchard.Web/Modules/Orchard.Widgets/Services/WidgetsService.cs src/Orchard.Web/Modules/Orchard.Widgets/Shapes.cs src/Orchard.Web/Modules/Orchard.Widgets/Views/EditorTemplates/Parts.Widgets.WidgetPart.cshtml src/Orchard.Web/Modules/Orchard.Widgets/Views/WidgetPlacement.Orphans.cshtml src/Orchard.Web/Modules/Orchard.Workflows/Controllers/AdminController.cs src/Orchard.Web/Modules/Orchard.Workflows/ImportExport/WorkflowsCustomExportStep.cs src/Orchard.Web/Modules/Orchard.Workflows/ImportExport/WorkflowsRecipeHandler.cs src/Orchard.Web/Modules/Orchard.Workflows/Module.txt src/Orchard.Web/Modules/Orchard.Workflows/Recipes/Builders/WorkflowsStep.cs src/Orchard.Web/Modules/Orchard.Workflows/Scripts/orchard-workflows-serialize.js src/Orchard.Web/Modules/Orchard.Workflows/Scripts/orchard-workflows.js src/Orchard.Web/Modules/Orchard.Workflows/Styles/orchard-workflows-admin.css src/Orchard.Web/Modules/Orchard.Workflows/Views/ActivityToolbox.cshtml src/Orchard.Web/Modules/Orchard.Workflows/Views/Admin/Index.cshtml src/Orchard.Web/Modules/Orchard.Workflows/Web.config src/Orchard.Web/Modules/Orchard.jQuery/Module.txt src/Orchard.Web/Modules/Orchard.jQuery/Orchard.jQuery.csproj src/Orchard.Web/Modules/SysCache/SysCache.csproj src/Orchard.Web/Modules/SysCache/Web.config src/Orchard.Web/Modules/TinyMce/Module.txt src/Orchard.Web/Modules/TinyMce/TinyMce.csproj src/Orchard.Web/Modules/Upgrade/Controllers/RouteController.cs src/Orchard.Web/Modules/Upgrade/Upgrade.csproj src/Orchard.Web/Modules/Upgrade/Web.config src/Orchard.Web/Orchard.Web.csproj src/Orchard.Web/Themes/TheAdmin/Scripts/admin.js src/Orchard.Web/Themes/TheAdmin/Styles/site.css src/Orchard.Web/Themes/TheAdmin/Views/User.cshtml src/Orchard.Web/Themes/Themes.csproj src/Orchard.Web/Themes/Web.config src/Orchard.Web/Web.config src/Orchard.sln src/Orchard/Commands/Builtin/HelpCommand.cs src/Orchard/Commands/CommandBackgroundService.cs.rej src/Orchard/Commands/CommandHostAgent.cs src/Orchard/ContentManagement/Aspects/ICommonPart.cs src/Orchard/ContentManagement/DataMigrations/FrameworkDataMigration.cs src/Orchard/ContentManagement/DefaultContentManager.cs src/Orchard/ContentManagement/Drivers/ContentFieldDriver.cs src/Orchard/ContentManagement/Drivers/ContentPartDriver.cs src/Orchard/ContentManagement/Drivers/ContentShapeResult.cs src/Orchard/ContentManagement/Drivers/Coordinators/ContentFieldDriverCoordinator.cs src/Orchard/ContentManagement/Drivers/Coordinators/ContentPartDriverCoordinator.cs src/Orchard/ContentManagement/Drivers/IContentFieldDriver.cs src/Orchard/ContentManagement/Drivers/IContentPartDriver.cs src/Orchard/ContentManagement/Handlers/ContentHandler.cs src/Orchard/ContentManagement/Handlers/ContentHandlerBase.cs src/Orchard/ContentManagement/Handlers/IContentHandler.cs src/Orchard/ContentManagement/Handlers/IContentStorageFilter.cs src/Orchard/ContentManagement/Handlers/StorageFilter.cs src/Orchard/ContentManagement/Handlers/StorageFilterBase.cs src/Orchard/ContentManagement/Handlers/StorageVersionFilter.cs src/Orchard/ContentManagement/IContentManager.cs src/Orchard/ContentManagement/MetaData/Services/ContentDefinitionWriter.cs src/Orchard/ContentManagement/Utilities/LazyField.cs src/Orchard/Data/Migration/AutomaticDataMigrations.cs src/Orchard/Data/Migration/Interpreters/DefaultDataMigrationInterpreter.cs src/Orchard/Data/Migration/Interpreters/IDataMigrationInterpreter.cs src/Orchard/Data/Migration/Interpreters/MySqlCommandInterpreter.cs src/Orchard/Data/Migration/Schema/AlterTableCommand.cs src/Orchard/Data/Migration/Schema/SchemaBuilder.cs src/Orchard/Data/Migration/Schema/SchemaCommand.cs src/Orchard/DisplayManagement/Descriptors/ResourceBindingStrategy/StylesheetBindingStrategy.cs src/Orchard/DisplayManagement/Shapes/ShapeMetadata.cs src/Orchard/Environment/Configuration/ShellSettingsManager.cs src/Orchard/Environment/Configuration/TenantState.cs src/Orchard/Environment/DefaultOrchardHost.cs src/Orchard/Environment/DefaultOrchardShell.cs src/Orchard/Environment/Descriptor/IShellDescriptorManager.cs src/Orchard/Environment/Extensions/ExtensionMonitoringCoordinator.cs src/Orchard/Environment/Extensions/Folders/ExtensionHarvester.cs src/Orchard/Environment/Extensions/IExtensionManager.cs src/Orchard/Environment/Extensions/Loaders/DynamicExtensionLoader.cs src/Orchard/Environment/Extensions/Loaders/RawThemeExtensionLoader.cs src/Orchard/Environment/Extensions/Models/ExtensionDescriptor.cs src/Orchard/Environment/Features/FeatureManager.cs src/Orchard/Environment/Features/IFeatureManager.cs src/Orchard/Environment/IOrchardHost.cs src/Orchard/Environment/OrchardServices.cs src/Orchard/Environment/OrchardStarter.cs src/Orchard/Environment/ShellBuilders/CompositionStrategy.cs src/Orchard/Environment/ShellBuilders/ShellContainerFactory.cs src/Orchard/Environment/ShellBuilders/ShellContextFactory.cs src/Orchard/Environment/State/DefaultProcessingEngine.cs src/Orchard/Environment/ViewsBackgroundCompilation.cs src/Orchard/Environment/WorkContextAccessor.cs src/Orchard/Environment/WorkContextImplementation.cs src/Orchard/Events/DelegateHelper.cs src/Orchard/FileSystems/Dependencies/DynamicModuleVirtualPathProvider.cs src/Orchard/FileSystems/Media/FileSystemStorageProvider.cs src/Orchard/Localization/Services/DefaultLocalizedStringManager.cs src/Orchard/Localization/Text.cs src/Orchard/Logging/OrchardLog4netLogger.cs src/Orchard/Mvc/AntiForgery/AntiForgeryAuthorizationFilter.cs src/Orchard/Mvc/Html/ContentItemExtensions.cs
277 lines
12 KiB
C#
277 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Web.Mvc;
|
|
using Orchard.Data.Migration;
|
|
using Orchard.Environment.Descriptor.Models;
|
|
using Orchard.Environment.Extensions;
|
|
using Orchard.Environment.Extensions.Models;
|
|
using Orchard.Environment.Features;
|
|
using Orchard.Localization;
|
|
using Orchard.Logging;
|
|
using Orchard.Mvc;
|
|
using Orchard.Mvc.Extensions;
|
|
using Orchard.Security;
|
|
using Orchard.Themes.Events;
|
|
using Orchard.Themes.Models;
|
|
using Orchard.Themes.Preview;
|
|
using Orchard.Themes.Services;
|
|
using Orchard.Themes.ViewModels;
|
|
using Orchard.UI.Notify;
|
|
using Orchard.Utility.Extensions;
|
|
using Orchard.Environment.Configuration;
|
|
|
|
namespace Orchard.Themes.Controllers {
|
|
[ValidateInput(false)]
|
|
public class AdminController : Controller {
|
|
private readonly IExtensionDisplayEventHandler _extensionDisplayEventHandler;
|
|
private readonly IDataMigrationManager _dataMigrationManager;
|
|
private readonly IFeatureManager _featureManager;
|
|
private readonly ISiteThemeService _siteThemeService;
|
|
private readonly IExtensionManager _extensionManager;
|
|
private readonly ShellDescriptor _shellDescriptor;
|
|
private readonly IPreviewTheme _previewTheme;
|
|
private readonly IThemeService _themeService;
|
|
private readonly ShellSettings _shellSettings;
|
|
|
|
private const string AlreadyEnabledFeatures = "Orchard.Themes.AlreadyEnabledFeatures";
|
|
|
|
public AdminController(
|
|
IEnumerable<IExtensionDisplayEventHandler> extensionDisplayEventHandlers,
|
|
IOrchardServices services,
|
|
IDataMigrationManager dataMigraitonManager,
|
|
IFeatureManager featureManager,
|
|
ISiteThemeService siteThemeService,
|
|
IExtensionManager extensionManager,
|
|
ShellDescriptor shellDescriptor,
|
|
IPreviewTheme previewTheme,
|
|
IThemeService themeService,
|
|
ShellSettings shellSettings) {
|
|
Services = services;
|
|
|
|
_extensionDisplayEventHandler = extensionDisplayEventHandlers.FirstOrDefault();
|
|
_dataMigrationManager = dataMigraitonManager;
|
|
_siteThemeService = siteThemeService;
|
|
_extensionManager = extensionManager;
|
|
_shellDescriptor = shellDescriptor;
|
|
_featureManager = featureManager;
|
|
_previewTheme = previewTheme;
|
|
_themeService = themeService;
|
|
_shellSettings = shellSettings;
|
|
|
|
T = NullLocalizer.Instance;
|
|
Logger = NullLogger.Instance;
|
|
}
|
|
|
|
public IOrchardServices Services { get; set; }
|
|
public Localizer T { get; set; }
|
|
public ILogger Logger { get; set; }
|
|
|
|
public ActionResult Index() {
|
|
bool installThemes =
|
|
_featureManager.GetEnabledFeatures().FirstOrDefault(f => f.Id == "PackagingServices") != null
|
|
&& Services.Authorizer.Authorize(StandardPermissions.SiteOwner) // only site owners
|
|
&& _shellSettings.Name == ShellSettings.DefaultName; // of the default tenant
|
|
|
|
var featuresThatNeedUpdate = _dataMigrationManager.GetFeaturesThatNeedUpdate();
|
|
|
|
ThemeEntry currentTheme = null;
|
|
ExtensionDescriptor currentThemeDescriptor = _siteThemeService.GetSiteTheme();
|
|
if (currentThemeDescriptor != null) {
|
|
currentTheme = new ThemeEntry(currentThemeDescriptor);
|
|
}
|
|
|
|
IEnumerable<ThemeEntry> themes = _extensionManager.AvailableExtensions()
|
|
.Where(extensionDescriptor => {
|
|
bool hidden = false;
|
|
string tags = extensionDescriptor.Tags;
|
|
if (tags != null) {
|
|
hidden = tags.Split(',').Any(t => t.Trim().Equals("hidden", StringComparison.OrdinalIgnoreCase));
|
|
}
|
|
|
|
// is the theme allowed for this tenant ?
|
|
bool allowed = _shellSettings.Themes.Length == 0 || _shellSettings.Themes.Contains(extensionDescriptor.Id);
|
|
|
|
return !hidden && allowed &&
|
|
DefaultExtensionTypes.IsTheme(extensionDescriptor.ExtensionType) &&
|
|
(currentTheme == null ||
|
|
!currentTheme.Descriptor.Id.Equals(extensionDescriptor.Id));
|
|
})
|
|
.Select(extensionDescriptor => {
|
|
ThemeEntry themeEntry = new ThemeEntry(extensionDescriptor) {
|
|
NeedsUpdate = featuresThatNeedUpdate.Contains(extensionDescriptor.Id),
|
|
IsRecentlyInstalled = _themeService.IsRecentlyInstalled(extensionDescriptor),
|
|
Enabled = _shellDescriptor.Features.Any(sf => sf.Name == extensionDescriptor.Id),
|
|
CanUninstall = installThemes
|
|
};
|
|
|
|
if (_extensionDisplayEventHandler != null) {
|
|
foreach (string notification in _extensionDisplayEventHandler.Displaying(themeEntry.Descriptor, ControllerContext.RequestContext))
|
|
{
|
|
themeEntry.Notifications.Add(notification);
|
|
}
|
|
}
|
|
|
|
return themeEntry;
|
|
})
|
|
.ToArray();
|
|
|
|
return View(new ThemesIndexViewModel {
|
|
CurrentTheme = currentTheme,
|
|
InstallThemes = installThemes,
|
|
Themes = themes
|
|
});
|
|
}
|
|
|
|
[HttpPost, FormValueAbsent("submit.Apply"), FormValueAbsent("submit.Cancel")]
|
|
public ActionResult Preview(string themeId, string returnUrl) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't preview the current theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (_extensionManager.AvailableExtensions()
|
|
.FirstOrDefault(extension => DefaultExtensionTypes.IsTheme(extension.ExtensionType) && extension.Id.Equals(themeId)) == null) {
|
|
|
|
Services.Notifier.Error(T("Theme {0} was not found", themeId));
|
|
} else {
|
|
var alreadyEnabledFeatures = GetEnabledFeatures();
|
|
_themeService.EnableThemeFeatures(themeId);
|
|
_previewTheme.SetPreviewTheme(themeId);
|
|
alreadyEnabledFeatures.Except(new[] { themeId });
|
|
TempData[AlreadyEnabledFeatures] = alreadyEnabledFeatures;
|
|
}
|
|
|
|
return this.RedirectLocal(returnUrl, "~/");
|
|
}
|
|
|
|
[HttpPost, ActionName("Preview"), FormValueRequired("submit.Apply")]
|
|
public ActionResult ApplyPreview(string themeId, string returnUrl) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't preview the current theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (_extensionManager.AvailableExtensions()
|
|
.FirstOrDefault(extension => DefaultExtensionTypes.IsTheme(extension.ExtensionType) && extension.Id.Equals(themeId)) == null) {
|
|
|
|
Services.Notifier.Error(T("Theme {0} was not found", themeId));
|
|
} else {
|
|
_previewTheme.SetPreviewTheme(null);
|
|
_siteThemeService.SetSiteTheme(themeId);
|
|
}
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[HttpPost, ActionName("Preview"), FormValueRequired("submit.Cancel")]
|
|
public ActionResult CancelPreview(string returnUrl) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't preview the current theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (TempData.ContainsKey(AlreadyEnabledFeatures)) {
|
|
|
|
var alreadyEnabledFeatures = TempData[AlreadyEnabledFeatures] as IEnumerable<string>;
|
|
if (alreadyEnabledFeatures != null) {
|
|
var afterEnabledFeatures = GetEnabledFeatures();
|
|
if (afterEnabledFeatures.Count() > alreadyEnabledFeatures.Count()) {
|
|
var disableFeatures = afterEnabledFeatures.Except(alreadyEnabledFeatures);
|
|
_themeService.DisablePreviewFeatures(disableFeatures);
|
|
}
|
|
}
|
|
}
|
|
|
|
_previewTheme.SetPreviewTheme(null);
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult Enable(string themeId) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't enable the theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (_extensionManager.AvailableExtensions()
|
|
.FirstOrDefault(extension => DefaultExtensionTypes.IsTheme(extension.ExtensionType) && extension.Id.Equals(themeId)) == null) {
|
|
|
|
Services.Notifier.Error(T("Theme {0} was not found", themeId));
|
|
} else {
|
|
_themeService.EnableThemeFeatures(themeId);
|
|
}
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult Disable(string themeId) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't disable the current theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (_extensionManager.AvailableExtensions()
|
|
.FirstOrDefault(extension => DefaultExtensionTypes.IsTheme(extension.ExtensionType) && extension.Id.Equals(themeId)) == null) {
|
|
|
|
Services.Notifier.Error(T("Theme {0} was not found", themeId));
|
|
} else {
|
|
_themeService.DisableThemeFeatures(themeId);
|
|
}
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult Activate(string themeId) {
|
|
if (!Services.Authorizer.Authorize(Permissions.ApplyTheme, T("Couldn't set the current theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (_extensionManager.AvailableExtensions()
|
|
.FirstOrDefault(extension => DefaultExtensionTypes.IsTheme(extension.ExtensionType) && extension.Id.Equals(themeId)) == null) {
|
|
|
|
Services.Notifier.Error(T("Theme {0} was not found", themeId));
|
|
}
|
|
else if (_shellSettings.Themes.Any() && !_shellSettings.Themes.Contains(themeId)) {
|
|
return new HttpUnauthorizedResult();
|
|
}
|
|
else {
|
|
_themeService.EnableThemeFeatures(themeId);
|
|
_siteThemeService.SetSiteTheme(themeId);
|
|
}
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult Update(string themeId) {
|
|
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Couldn't update theme")))
|
|
return new HttpUnauthorizedResult();
|
|
|
|
if (string.IsNullOrEmpty(themeId))
|
|
return HttpNotFound();
|
|
|
|
try {
|
|
_dataMigrationManager.Update(themeId);
|
|
Services.Notifier.Information(T("The theme {0} was updated successfully.", themeId));
|
|
Logger.Information("The theme {0} was updated successfully.", themeId);
|
|
} catch (Exception exception) {
|
|
Logger.Error(T("An error occured while updating the theme {0}: {1}", themeId, exception.Message).Text);
|
|
Services.Notifier.Error(T("An error occured while updating the theme {0}: {1}", themeId, exception.Message));
|
|
}
|
|
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
|
|
class FormValueAbsentAttribute : ActionMethodSelectorAttribute {
|
|
private readonly string _submitButtonName;
|
|
|
|
public FormValueAbsentAttribute(string submitButtonName) {
|
|
_submitButtonName = submitButtonName;
|
|
}
|
|
|
|
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo) {
|
|
var value = controllerContext.HttpContext.Request.Form[_submitButtonName];
|
|
return string.IsNullOrEmpty(value);
|
|
}
|
|
}
|
|
|
|
public IEnumerable<string> GetEnabledFeatures() {
|
|
return _featureManager.GetEnabledFeatures().Select(f => f.Id);
|
|
}
|
|
}
|
|
} |