using System; using System.Xml; using System.Xml.Xsl; using System.Xml.XPath; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Text.RegularExpressions; using umbraco.cms.businesslogic; using umbraco.cms.businesslogic.member; using umbraco.cms.businesslogic.property; namespace presentation.umbracoBase.library { //This should be replaced with umbracos own methods... public class library { public static Member GetCurrentMember() { try { if (CurrentMemberId() != 0) { // return member from cache Member m = Member.GetMemberFromCache(CurrentMemberId()); if (m == null) m = new Member(CurrentMemberId()); if (m != null) if (m.UniqueId == new Guid(getCookieValue("umbracoMemberGuid")) && m.LoginName == getCookieValue("umbracoMemberLogin")) return m; return null; } else return null; } catch { return null; } } public static int CurrentMemberId() { int _currentMemberId = 0; if (getCookieValue("umbracoMemberId") != "" && getCookieValue("umbracoMemberGuid") != "" && getCookieValue("umbracoMemberLogin") != "") _currentMemberId = int.Parse(getCookieValue("umbracoMemberId")); return _currentMemberId; } private static string getCookieValue(string Name) { string tempValue = ""; if (System.Web.HttpContext.Current.Request.Cookies[Name] != null) if (System.Web.HttpContext.Current.Request.Cookies[Name].Value != "") { tempValue = System.Web.HttpContext.Current.Request.Cookies[Name].Value; } return tempValue; } } public class member { public static int login(string loginname, string password) { Member m = Member.GetMemberFromLoginNameAndPassword(loginname, password); if (library.CurrentMemberId() == 0) { // If null, login not correct... if (m != null) { Member.AddMemberToCache(m); return m.Id; } else return 0; } else return library.CurrentMemberId(); } public static int logout() { Member m = library.GetCurrentMember(); if (m != null) { Member.RemoveMemberFromCache(m); Member.ClearMemberFromClient(m); return m.Id; } else return 0; } public static XPathNodeIterator data() { if (library.GetCurrentMember() != null) { XmlDocument mXml = new XmlDocument(); mXml.LoadXml(library.GetCurrentMember().ToXml(mXml, false).OuterXml); XPathNavigator xp = mXml.CreateNavigator(); return xp.Select("/node"); } else return null; } public static int id() { return library.CurrentMemberId(); } public static string setProperty(string alias, object value) { string retVal = "False"; try { Member myMember = library.GetCurrentMember(); if (myMember != null) { Property myProperty = myMember.getProperty(alias); if (MemberType.GetByAlias(myMember.ContentType.Alias).MemberCanEdit(myProperty.PropertyType)) { if (myProperty.PropertyType.ValidationRegExp.Trim() != "") { Regex regexPattern = new Regex(myMember.getProperty(alias).PropertyType.ValidationRegExp); if (regexPattern.IsMatch(value.ToString())) { myProperty.Value = value; retVal = "True"; myMember.XmlGenerate(new XmlDocument()); } } else { myProperty.Value = value; retVal = "True"; myMember.XmlGenerate(new XmlDocument()); } } } } catch (Exception x) { retVal = x.Message; } return retVal; } } }