diff --git a/README.md b/README.md index 5e7cb63499..f842afd3c2 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,27 @@ Umbraco CMS ## Umbraco - the simple, flexible and friendly ASP.NET CMS ## -**More than 155,000 sites trust Umbraco** -For the first time on the Microsoft platform a free user and developer friendly cms that makes it quick and easy to create websites - or a breeze to build complex web applications. umbraco got award-winning integration capabilities and supports your ASP.NET User and Custom Controls out of the box. It's a developers dream and your users will love it too. Used by more than 110,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)) you can be sure that the technology is proven, stable and scales. -[More info at http://umbraco.org](http://umbraco.org) +**More than 177,000 sites trust Umbraco** + +For the first time on the Microsoft platform a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports your ASP.NET User and Custom Controls out of the box. It's a developers dream and your users will love it too. + +Used by more than 177,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)) you can be sure that the technology is proven, stable and scales. + +To view more examples please visit [http://umbraco.com/why-umbraco/#caseStudies](http://umbraco.com/why-umbraco/#caseStudies) + +## Downloading ## + +The downloadable Umbraco releases live at [http://our.umbraco.org/contribute/releases](http://our.umbraco.org/contribute/releases). ## Forums ## -We have a forum running on [http://our.umbraco.org](http://our.umbraco.org). The discussions area on CodePlex will be for discussions on developing the core, and not on Umbraco-implementations or extensions in general. For those topics, please use [http://our.umbraco.org](http://our.umbraco.org). + +We have a forum running on [http://our.umbraco.org](http://our.umbraco.org). The discussions group on [Google Groups](https://groups.google.com/forum/#!forum/umbraco-dev) is for discussions on developing the core, and not on Umbraco-implementations or extensions in general. For those topics, please use [http://our.umbraco.org](http://our.umbraco.org). ## Contribute to Umbraco ## If you want to contribute back to Umbraco you should check out our [guide to contributing](http://our.umbraco.org/contribute). -## Submitting Issues ## +## Found a bug? ## Another way you can contribute to Umbraco is by providing issue reports, for information on how to submit an issue report refer to our [online guide for reporting issues](http://our.umbraco.org/contribute/report-an-issue-or-request-a-feature). diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs index 517479e893..8eb3f54023 100644 --- a/src/Umbraco.Core/Services/ContentService.cs +++ b/src/Umbraco.Core/Services/ContentService.cs @@ -952,7 +952,10 @@ namespace Umbraco.Core.Services var uow = _uowProvider.GetUnitOfWork(); using (var repository = _repositoryFactory.CreateContentRepository(uow)) { - content.WriterId = userId; + // Update the create author and last edit author + copy.CreatorId = userId; + copy.WriterId = userId; + repository.AddOrUpdate(copy); uow.Commit(); diff --git a/src/Umbraco.Web/umbraco.presentation/macro.cs b/src/Umbraco.Web/umbraco.presentation/macro.cs index 2f4bdf9820..aea5e4de03 100644 --- a/src/Umbraco.Web/umbraco.presentation/macro.cs +++ b/src/Umbraco.Web/umbraco.presentation/macro.cs @@ -31,6 +31,7 @@ using umbraco.NodeFactory; using umbraco.presentation.templateControls; using Content = umbraco.cms.businesslogic.Content; using Macro = umbraco.cms.businesslogic.macro.Macro; +using MacroErrorEventArgs = Umbraco.Core.Events.MacroErrorEventArgs; namespace umbraco { diff --git a/src/umbraco.cms/businesslogic/events/EventArgs.cs b/src/umbraco.cms/businesslogic/events/EventArgs.cs index 09836a8101..1329e9c6b2 100644 --- a/src/umbraco.cms/businesslogic/events/EventArgs.cs +++ b/src/umbraco.cms/businesslogic/events/EventArgs.cs @@ -63,5 +63,36 @@ namespace umbraco.cms.businesslogic { public bool CancelChildren { get; set; } } - + + // Provides information on the macro that caused an error + public class MacroErrorEventArgs : System.EventArgs + { + /// + /// Name of the faulting macro. + /// + public string Name { get; set; } + + /// + /// Alias of the faulting macro. + /// + public string Alias { get; set; } + + /// + /// Filename of the faulting macro. + /// + public string File { get; set; } + + /// + /// Exception raised. + /// + public Exception Exception { get; set; } + + /// + /// Gets or sets the desired behaviour when a matching macro causes an error. See + /// for definitions. By setting this in your event + /// you can override the default behaviour defined in UmbracoSettings.config. + /// + /// Macro error behaviour enum. + public MacroErrorBehaviour Behaviour { get; set; } + } } diff --git a/src/umbraco.cms/businesslogic/member/Member.cs b/src/umbraco.cms/businesslogic/member/Member.cs index 918327564d..1668f490aa 100644 --- a/src/umbraco.cms/businesslogic/member/Member.cs +++ b/src/umbraco.cms/businesslogic/member/Member.cs @@ -91,7 +91,7 @@ namespace umbraco.cms.businesslogic.member /// /// Note: is ressource intensive, use with care. /// - [Obsolete("Use System.Web.Security.Membership.GetAllUsers()")] + public static Member[] GetAll { get @@ -146,13 +146,13 @@ namespace umbraco.cms.businesslogic.member /// /// The first letter /// - [Obsolete("Use System.Web.Security.Membership.FindUsersByName(string letter)")] + public static Member[] getMemberFromFirstLetter(char letter) { return GetMemberByName(letter.ToString(), true); } - [Obsolete("Use System.Web.Security.Membership.FindUsersByName(string letter)")] + public static Member[] GetMemberByName(string usernameToMatch, bool matchByNameInsteadOfLogin) { string field = matchByNameInsteadOfLogin ? "umbracoNode.text" : "cmsMember.loginName"; @@ -184,7 +184,7 @@ namespace umbraco.cms.businesslogic.member /// Member type /// The umbraco usercontext /// The new member - [Obsolete("Use System.Web.Security.Membership.CreateUser")] + public static Member MakeNew(string Name, MemberType mbt, User u) { return MakeNew(Name, "", "", mbt, u); @@ -199,7 +199,7 @@ namespace umbraco.cms.businesslogic.member /// The umbraco usercontext /// The email of the user /// The new member - [Obsolete("Use System.Web.Security.Membership.CreateUser")] + public static Member MakeNew(string Name, string Email, MemberType mbt, User u) { return MakeNew(Name, "", Email, mbt, u); @@ -213,7 +213,7 @@ namespace umbraco.cms.businesslogic.member /// The umbraco usercontext /// The email of the user /// The new member - [Obsolete("Use System.Web.Security.Membership.CreateUser")] + public static Member MakeNew(string Name, string LoginName, string Email, MemberType mbt, User u) { var loginName = (!String.IsNullOrEmpty(LoginName)) ? LoginName : Name; @@ -265,7 +265,7 @@ namespace umbraco.cms.businesslogic.member /// /// The unique Loginname /// The member with the specified loginname - null if no Member with the login exists - [Obsolete("Use System.Web.Security.Membership.GetUser")] + public static Member GetMemberFromLoginName(string loginName) { if (String.IsNullOrEmpty(loginName)) @@ -298,7 +298,7 @@ namespace umbraco.cms.businesslogic.member /// /// The email of the member /// The member with the specified email - null if no Member with the email exists - [Obsolete("Use System.Web.Security.Membership.GetUserNameByEmail")] + public static Member GetMemberFromEmail(string email) { if (string.IsNullOrEmpty(email)) @@ -326,7 +326,7 @@ namespace umbraco.cms.businesslogic.member /// Member login /// Member password /// The member with the credentials - null if none exists - [Obsolete("Log members in via the standard Forms Authentiaction login")] + public static Member GetMemberFromLoginNameAndPassword(string loginName, string password) { if (IsMember(loginName)) @@ -668,7 +668,7 @@ namespace umbraco.cms.businesslogic.member /// /// Deltes the current member /// - [Obsolete("Use System.Web.Security.Membership.DeleteUser")] + public override void delete() { DeleteEventArgs e = new DeleteEventArgs(); @@ -712,7 +712,7 @@ namespace umbraco.cms.businesslogic.member /// /// The id of the group which the member is being added to [MethodImpl(MethodImplOptions.Synchronized)] - [Obsolete("Use System.Web.Security.Roles.AddUserToRole")] + public void AddGroup(int GroupId) { AddGroupEventArgs e = new AddGroupEventArgs(); @@ -738,7 +738,7 @@ namespace umbraco.cms.businesslogic.member /// Removes the member from the MemberGroup specified /// /// The MemberGroup from which the Member is removed - [Obsolete("Use System.Web.Security.Roles.RemoveUserFromRole")] + public void RemoveGroup(int GroupId) { RemoveGroupEventArgs e = new RemoveGroupEventArgs();