Files
Orchard/src/Orchard.Web/Modules/Orchard.Users/Services/UserService.cs

150 lines
5.9 KiB
C#
Raw Normal View History

using System;
using System.Linq;
using System.Collections.Generic;
Code cleanup and consistency (renaming to match patterns, moving namespaces, etc) --HG-- branch : dev rename : src/Orchard.Web/Core/Common/Controllers/BodyDriver.cs => src/Orchard.Web/Core/Common/Drivers/BodyDriver.cs rename : src/Orchard.Web/Core/Common/Controllers/RoutableDriver.cs => src/Orchard.Web/Core/Common/Drivers/RoutableDriver.cs rename : src/Orchard.Web/Core/Common/Models/BodyAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/BodyAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/CommonAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/CommonAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/RoutableAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/RoutableAspectHandler.cs rename : src/Orchard.Web/Core/Common/Records/BodyRecord.cs => src/Orchard.Web/Core/Common/Models/BodyRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonRecord.cs => src/Orchard.Web/Core/Common/Models/CommonRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonVersionRecord.cs => src/Orchard.Web/Core/Common/Models/CommonVersionRecord.cs rename : src/Orchard.Web/Core/Common/Records/RoutableRecord.cs => src/Orchard.Web/Core/Common/Models/RoutableRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuItemRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuItemRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuPartRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuPartRecord.cs rename : src/Orchard.Web/Core/Navigation/Services/MainMenu.cs => src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs rename : src/Orchard.Web/Core/Scheduling/Records/ScheduledTaskRecord.cs => src/Orchard.Web/Core/Scheduling/Models/ScheduledTaskRecord.cs rename : src/Orchard.Web/Core/Settings/Controllers/SiteSettingsDriver.cs => src/Orchard.Web/Core/Settings/Drivers/SiteSettingsDriver.cs rename : src/Orchard.Web/Core/Settings/Models/SiteSettingsHandler.cs => src/Orchard.Web/Core/Settings/Handlers/SiteSettingsHandler.cs rename : src/Orchard.Web/Core/Settings/Records/SiteSettingsRecord.cs => src/Orchard.Web/Core/Settings/Models/SiteSettingsRecord.cs rename : src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsHandler.cs => src/Orchard.Web/Core/Themes/Handlers/ThemeSiteSettingsHandler.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeRecord.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeSiteSettingsRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogArchiveHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogArchiveHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPostHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPostHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsContainerDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsContainerDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentSettingsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentSettingsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsContainerHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsContainerHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsHandler.cs rename : src/Orchard.Web/Modules/Orchard.DevTools/Models/DebugLinkHandler.cs => src/Orchard.Web/Modules/Orchard.DevTools/Handlers/DebugLinkHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Controllers/PageDriver.cs => src/Orchard.Web/Modules/Orchard.Pages/Drivers/PageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Models/PageHandler.cs => src/Orchard.Web/Modules/Orchard.Pages/Handlers/PageHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraint.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraint.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraintUpdator.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraintUpdator.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Controllers/UserRolesDriver.cs => src/Orchard.Web/Modules/Orchard.Roles/Drivers/UserRolesDriver.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesHandler.cs => src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesHandler.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/PermissionRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/PermissionRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RoleRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RoleRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RolesPermissions.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RolesPermissionsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/UserRolesRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesRecord.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Controllers/SandboxPageDriver.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Drivers/SandboxPageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Models/SandboxContentHandler.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Handlers/SandboxContentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Controllers/HasTagsDriver.cs => src/Orchard.Web/Modules/Orchard.Tags/Drivers/HasTagsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Models/HasTagsHandler.cs => src/Orchard.Web/Modules/Orchard.Tags/Handlers/HasTagsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Users/Controllers/UserDriver.cs => src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs rename : src/Orchard.Web/Modules/Orchard.Users/Models/UserHandler.cs => src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs
2010-03-03 23:31:42 -08:00
using JetBrains.Annotations;
using Orchard.Logging;
using Orchard.ContentManagement;
using Orchard.Users.Models;
using Orchard.Security;
using System.Xml.Linq;
using Orchard.Services;
using System.Globalization;
using System.Text;
using Orchard.Messaging.Services;
using Orchard.Environment.Configuration;
namespace Orchard.Users.Services {
Code cleanup and consistency (renaming to match patterns, moving namespaces, etc) --HG-- branch : dev rename : src/Orchard.Web/Core/Common/Controllers/BodyDriver.cs => src/Orchard.Web/Core/Common/Drivers/BodyDriver.cs rename : src/Orchard.Web/Core/Common/Controllers/RoutableDriver.cs => src/Orchard.Web/Core/Common/Drivers/RoutableDriver.cs rename : src/Orchard.Web/Core/Common/Models/BodyAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/BodyAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/CommonAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/CommonAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/RoutableAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/RoutableAspectHandler.cs rename : src/Orchard.Web/Core/Common/Records/BodyRecord.cs => src/Orchard.Web/Core/Common/Models/BodyRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonRecord.cs => src/Orchard.Web/Core/Common/Models/CommonRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonVersionRecord.cs => src/Orchard.Web/Core/Common/Models/CommonVersionRecord.cs rename : src/Orchard.Web/Core/Common/Records/RoutableRecord.cs => src/Orchard.Web/Core/Common/Models/RoutableRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuItemRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuItemRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuPartRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuPartRecord.cs rename : src/Orchard.Web/Core/Navigation/Services/MainMenu.cs => src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs rename : src/Orchard.Web/Core/Scheduling/Records/ScheduledTaskRecord.cs => src/Orchard.Web/Core/Scheduling/Models/ScheduledTaskRecord.cs rename : src/Orchard.Web/Core/Settings/Controllers/SiteSettingsDriver.cs => src/Orchard.Web/Core/Settings/Drivers/SiteSettingsDriver.cs rename : src/Orchard.Web/Core/Settings/Models/SiteSettingsHandler.cs => src/Orchard.Web/Core/Settings/Handlers/SiteSettingsHandler.cs rename : src/Orchard.Web/Core/Settings/Records/SiteSettingsRecord.cs => src/Orchard.Web/Core/Settings/Models/SiteSettingsRecord.cs rename : src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsHandler.cs => src/Orchard.Web/Core/Themes/Handlers/ThemeSiteSettingsHandler.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeRecord.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeSiteSettingsRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogArchiveHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogArchiveHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPostHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPostHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsContainerDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsContainerDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentSettingsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentSettingsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsContainerHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsContainerHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsHandler.cs rename : src/Orchard.Web/Modules/Orchard.DevTools/Models/DebugLinkHandler.cs => src/Orchard.Web/Modules/Orchard.DevTools/Handlers/DebugLinkHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Controllers/PageDriver.cs => src/Orchard.Web/Modules/Orchard.Pages/Drivers/PageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Models/PageHandler.cs => src/Orchard.Web/Modules/Orchard.Pages/Handlers/PageHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraint.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraint.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraintUpdator.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraintUpdator.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Controllers/UserRolesDriver.cs => src/Orchard.Web/Modules/Orchard.Roles/Drivers/UserRolesDriver.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesHandler.cs => src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesHandler.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/PermissionRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/PermissionRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RoleRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RoleRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RolesPermissions.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RolesPermissionsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/UserRolesRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesRecord.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Controllers/SandboxPageDriver.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Drivers/SandboxPageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Models/SandboxContentHandler.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Handlers/SandboxContentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Controllers/HasTagsDriver.cs => src/Orchard.Web/Modules/Orchard.Tags/Drivers/HasTagsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Models/HasTagsHandler.cs => src/Orchard.Web/Modules/Orchard.Tags/Handlers/HasTagsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Users/Controllers/UserDriver.cs => src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs rename : src/Orchard.Web/Modules/Orchard.Users/Models/UserHandler.cs => src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs
2010-03-03 23:31:42 -08:00
[UsedImplicitly]
public class UserService : IUserService {
private static readonly TimeSpan DelayToValidate = new TimeSpan(7, 0, 0, 0); // one week to validate email
private static readonly TimeSpan DelayToResetPassword = new TimeSpan(1, 0, 0, 0); // 24 hours to validate email
private readonly IContentManager _contentManager;
private readonly IMembershipService _membershipService;
private readonly IClock _clock;
private readonly IMessageManager _messageManager;
private readonly IEncryptionService _encryptionService;
public UserService(IContentManager contentManager, IMembershipService membershipService, IClock clock, IMessageManager messageManager, ShellSettings shellSettings, IEncryptionService encryptionService) {
_contentManager = contentManager;
_membershipService = membershipService;
_clock = clock;
_messageManager = messageManager;
_encryptionService = encryptionService;
Logger = NullLogger.Instance;
}
public ILogger Logger { get; set; }
public bool VerifyUserUnicity(string userName, string email) {
string normalizedUserName = userName.ToLower();
if (_contentManager.Query<UserPart, UserPartRecord>()
.Where(user =>
user.NormalizedUserName == normalizedUserName ||
user.Email == email)
.List().Any()) {
return false;
}
return true;
}
public bool VerifyUserUnicity(int id, string userName, string email) {
string normalizedUserName = userName.ToLower();
if (_contentManager.Query<UserPart, UserPartRecord>()
.Where(user =>
user.NormalizedUserName == normalizedUserName ||
user.Email == email)
.List().Any(user => user.Id != id)) {
return false;
}
return true;
}
public string CreateNonce(IUser user, TimeSpan delay) {
var challengeToken = new XElement("n", new XAttribute("un", user.UserName), new XAttribute("utc", _clock.UtcNow.ToUniversalTime().Add(delay).ToString(CultureInfo.InvariantCulture))).ToString();
var data = Encoding.UTF8.GetBytes(challengeToken);
return Convert.ToBase64String(_encryptionService.Encode(data));
}
public bool DecryptNonce(string nonce, out string username, out DateTime validateByUtc) {
username = null;
validateByUtc = _clock.UtcNow;
try {
var data = _encryptionService.Decode(Convert.FromBase64String(nonce));
var xml = Encoding.UTF8.GetString(data);
var element = XElement.Parse(xml);
username = element.Attribute("un").Value;
validateByUtc = DateTime.Parse(element.Attribute("utc").Value, CultureInfo.InvariantCulture);
return _clock.UtcNow <= validateByUtc;
}
catch {
return false;
}
}
public IUser ValidateChallenge(string nonce) {
string username;
DateTime validateByUtc;
if (!DecryptNonce(nonce, out username, out validateByUtc)) {
return null;
}
if (validateByUtc < _clock.UtcNow)
return null;
var user = _membershipService.GetUser(username);
if (user == null)
return null;
user.As<UserPart>().EmailStatus = UserStatus.Approved;
return user;
}
public void SendChallengeEmail(IUser user, Func<string, string> createUrl) {
string nonce = CreateNonce(user, DelayToValidate);
string url = createUrl(nonce);
_messageManager.Send(user.ContentItem.Record, MessageTypes.Validation, "email", new Dictionary<string, string> { { "ChallengeUrl", url } });
}
public bool SendLostPasswordEmail(string usernameOrEmail, Func<string, string> createUrl) {
var lowerName = usernameOrEmail.ToLower();
var user = _contentManager.Query<UserPart, UserPartRecord>().Where(u => u.NormalizedUserName == lowerName || u.Email == lowerName).List().FirstOrDefault();
if (user != null) {
string nonce = CreateNonce(user, DelayToResetPassword);
string url = createUrl(nonce);
_messageManager.Send(user.ContentItem.Record, MessageTypes.LostPassword, "email", new Dictionary<string, string> { { "LostPasswordUrl", url } });
return true;
}
return false;
}
public IUser ValidateLostPassword(string nonce) {
string username;
DateTime validateByUtc;
if (!DecryptNonce(nonce, out username, out validateByUtc)) {
return null;
}
if (validateByUtc < _clock.UtcNow)
return null;
var user = _membershipService.GetUser(username);
if (user == null)
return null;
return user;
}
}
Code cleanup and consistency (renaming to match patterns, moving namespaces, etc) --HG-- branch : dev rename : src/Orchard.Web/Core/Common/Controllers/BodyDriver.cs => src/Orchard.Web/Core/Common/Drivers/BodyDriver.cs rename : src/Orchard.Web/Core/Common/Controllers/RoutableDriver.cs => src/Orchard.Web/Core/Common/Drivers/RoutableDriver.cs rename : src/Orchard.Web/Core/Common/Models/BodyAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/BodyAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/CommonAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/CommonAspectHandler.cs rename : src/Orchard.Web/Core/Common/Models/RoutableAspectHandler.cs => src/Orchard.Web/Core/Common/Handlers/RoutableAspectHandler.cs rename : src/Orchard.Web/Core/Common/Records/BodyRecord.cs => src/Orchard.Web/Core/Common/Models/BodyRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonRecord.cs => src/Orchard.Web/Core/Common/Models/CommonRecord.cs rename : src/Orchard.Web/Core/Common/Records/CommonVersionRecord.cs => src/Orchard.Web/Core/Common/Models/CommonVersionRecord.cs rename : src/Orchard.Web/Core/Common/Records/RoutableRecord.cs => src/Orchard.Web/Core/Common/Models/RoutableRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuItemRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuItemRecord.cs rename : src/Orchard.Web/Core/Navigation/Records/MenuPartRecord.cs => src/Orchard.Web/Core/Navigation/Models/MenuPartRecord.cs rename : src/Orchard.Web/Core/Navigation/Services/MainMenu.cs => src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs rename : src/Orchard.Web/Core/Scheduling/Records/ScheduledTaskRecord.cs => src/Orchard.Web/Core/Scheduling/Models/ScheduledTaskRecord.cs rename : src/Orchard.Web/Core/Settings/Controllers/SiteSettingsDriver.cs => src/Orchard.Web/Core/Settings/Drivers/SiteSettingsDriver.cs rename : src/Orchard.Web/Core/Settings/Models/SiteSettingsHandler.cs => src/Orchard.Web/Core/Settings/Handlers/SiteSettingsHandler.cs rename : src/Orchard.Web/Core/Settings/Records/SiteSettingsRecord.cs => src/Orchard.Web/Core/Settings/Models/SiteSettingsRecord.cs rename : src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsHandler.cs => src/Orchard.Web/Core/Themes/Handlers/ThemeSiteSettingsHandler.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeRecord.cs rename : src/Orchard.Web/Core/Themes/Records/ThemeSiteSettingsRecord.cs => src/Orchard.Web/Core/Themes/Models/ThemeSiteSettingsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Controllers/BlogPostDriver.cs => src/Orchard.Web/Modules/Orchard.Blogs/Drivers/BlogPostDriver.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogArchiveHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogArchiveHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogHandler.cs rename : src/Orchard.Web/Modules/Orchard.Blogs/Models/BlogPostHandler.cs => src/Orchard.Web/Modules/Orchard.Blogs/Handlers/BlogPostHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/CommentDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsContainerDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsContainerDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Controllers/HasCommentsDriver.cs => src/Orchard.Web/Modules/Orchard.Comments/Drivers/HasCommentsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/CommentSettingsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/CommentSettingsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsContainerHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsContainerHandler.cs rename : src/Orchard.Web/Modules/Orchard.Comments/Models/HasCommentsHandler.cs => src/Orchard.Web/Modules/Orchard.Comments/Handlers/HasCommentsHandler.cs rename : src/Orchard.Web/Modules/Orchard.DevTools/Models/DebugLinkHandler.cs => src/Orchard.Web/Modules/Orchard.DevTools/Handlers/DebugLinkHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Controllers/PageDriver.cs => src/Orchard.Web/Modules/Orchard.Pages/Drivers/PageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Models/PageHandler.cs => src/Orchard.Web/Modules/Orchard.Pages/Handlers/PageHandler.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraint.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraint.cs rename : src/Orchard.Web/Modules/Orchard.Pages/Services/SlugConstraintUpdator.cs => src/Orchard.Web/Modules/Orchard.Pages/Routing/SlugConstraintUpdator.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Controllers/UserRolesDriver.cs => src/Orchard.Web/Modules/Orchard.Roles/Drivers/UserRolesDriver.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesHandler.cs => src/Orchard.Web/Modules/Orchard.Roles/Handlers/UserRolesHandler.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/PermissionRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/PermissionRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RoleRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RoleRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/RolesPermissions.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/RolesPermissionsRecord.cs rename : src/Orchard.Web/Modules/Orchard.Roles/Records/UserRolesRecord.cs => src/Orchard.Web/Modules/Orchard.Roles/Models/UserRolesRecord.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Controllers/SandboxPageDriver.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Drivers/SandboxPageDriver.cs rename : src/Orchard.Web/Modules/Orchard.Sandbox/Models/SandboxContentHandler.cs => src/Orchard.Web/Modules/Orchard.Sandbox/Handlers/SandboxContentHandler.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Controllers/HasTagsDriver.cs => src/Orchard.Web/Modules/Orchard.Tags/Drivers/HasTagsDriver.cs rename : src/Orchard.Web/Modules/Orchard.Tags/Models/HasTagsHandler.cs => src/Orchard.Web/Modules/Orchard.Tags/Handlers/HasTagsHandler.cs rename : src/Orchard.Web/Modules/Orchard.Users/Controllers/UserDriver.cs => src/Orchard.Web/Modules/Orchard.Users/Drivers/UserDriver.cs rename : src/Orchard.Web/Modules/Orchard.Users/Models/UserHandler.cs => src/Orchard.Web/Modules/Orchard.Users/Handlers/UserHandler.cs
2010-03-03 23:31:42 -08:00
}