protected void SendResetPassword(string email, string password, MembershipUser u) { Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(u.UserName, true); string name = user.Profile.FullName; string username = user.LocalName; try { MailMessage message = new MailMessage(); message.To.Add(email); message.From = new MailAddress("*****@*****.**"); message.Subject = "Reset Password Request for: " + username; message.Body = name + ",\n\nA request to reset the password for your account has been made at PBS Pressroom. Your new login information is as follows:\n\nUsername: "******"\nPassword: "******"\n\nYou may change your password in the same place you requested this new one.\n\nIf this request was a mistake please notify PBS Pressroom immediately by replying to this email.\n\nRegards,\nPBS Pressroom Team"; Sitecore.MainUtil.SendMail(message); lblResetUserMessage.Text = "An email will be sent to '" + email + "' with your reset password. Please allow up to an hour for the email to arrive."; lblResetUserMessage.ForeColor = System.Drawing.Color.Green; forgotPasswordClose.Visible = true; checkUser.Visible = false; } catch (Exception ex) { lblResetUserMessage.Text = "Error: The system was unable to send you a reset password, please try agian."; lblResetUserMessage.ForeColor = System.Drawing.Color.Red; Sitecore.Diagnostics.Log.Error("Could not send auto reply email!", ex, this); } }
public void Process(Sitecore.Pipelines.LoggingIn.LoggingInArgs args) { Sitecore.Diagnostics.Assert.ArgumentNotNull(args, "args"); if (args.StartUrl != "/sitecore/shell/default.aspx" || !args.Success) { return; } string path = Sitecore.IO.FileUtil.MapPath(Sitecore.Configuration.Settings.WallpapersPath) + "\\" + Sitecore.Security.Domains.Domain.ExtractShortName(args.Username); if (!Directory.Exists(path)) { return; } string[] files = Directory.GetFiles(path); if (files.Length < 1) { return; } Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(args.Username, true); int which = new Random().Next(files.Length - 1); user.Profile["Wallpaper"] = Sitecore.IO.FileUtil.UnmapPath(files[which]); user.Profile.Save(); }
public static bool HasUnlockAccess(SC.Data.Items.Item item, SC.Security.Accounts.User user = null) { Assert.ArgumentNotNull(item, "item"); if (user == null) { user = SC.Context.User; Assert.IsNotNull(user, "context user"); } if (user.IsAdministrator) { return(true); } SC.Security.AccessControl.AccessRight checkIn = SC.Security.AccessControl.AccessRight.FromName("item:checkin"); if (checkIn != null) { return(SC.Security.AccessControl.AuthorizationManager.IsAllowed(item, checkIn, user)); } SC.Security.Accounts.Role control = SC.Security.Accounts.Role.FromName("sitecore\\Sitecore Client Maintaining"); return(SC.Security.Accounts.Role.Exists(control.Name) && SC.Security.Accounts.RolesInRolesManager.IsUserInRole(SC.Context.User, control, true /*includeIndirectMembership*/)); }
/// <summary> /// Gets a <see cref="User"/> by <see cref="User.UserName"/>. /// </summary> /// <param name="userName">Name of the user.</param> /// <returns></returns> /// <remarks>Adds new user if user doesn't exist</remarks> public virtual User GetUser(string userName) { if (string.IsNullOrWhiteSpace(userName)) { throw new ArgumentException("userName cannot be null or whitespace."); } SitecoreUser sitecoreUser = GetUserInternal(userName); if (sitecoreUser == null) { throw new NullReferenceException(string.Format("'sitecoreUser' is null. Looked for: '{0}'", userName)); } var name = sitecoreUser.LocalName; if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentException(string.Format("The 'sitecoreUser.userName' cannot be null or whitespace. LocalName: {0}, Domain: {1}, AccountType: {2}, Name: {3}", sitecoreUser.LocalName, sitecoreUser.Domain, sitecoreUser.AccountType, sitecoreUser.Name)); } // Using static method on User to avoid circular // dependency between IRepository<T> and this service. // We need user info for audit in repo. var user = User.SingleOrDefault(x => x.ExternalId == name); return(MapUser(sitecoreUser)); }
private List <Item> GetSitemapItems(string rootPath) { string disTpls = SitemapManagerConfiguration.EnabledTemplates; string exclNames = SitemapManagerConfiguration.ExcludeItems; Database database = Factory.GetDatabase(SitemapManagerConfiguration.WorkingDatabase); Item contentRoot = database.Items[rootPath]; Item[] descendants; Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(@"extranet\Anonymous", true); using (new Sitecore.Security.Accounts.UserSwitcher(user)) { descendants = contentRoot.Axes.GetDescendants(); } List <Item> sitemapItems = descendants.ToList(); sitemapItems.Insert(0, contentRoot); List <string> enabledTemplates = this.BuildListFromString(disTpls, '|'); List <string> excludedNames = this.BuildListFromString(exclNames, '|'); var selected = from itm in sitemapItems where itm.Template != null && enabledTemplates.Contains(itm.Template.ID.ToString()) && !excludedNames.Contains(itm.ID.ToString()) select itm; return(selected.ToList()); }
public static Guid GetUserGuid(this Sitecore.Security.Accounts.User user) { var membershipUser = System.Web.Security.Membership.GetUser(user.Name); var userId = membershipUser.ProviderUserKey; return(new Guid(userId.ToString())); }
private List <Item> GetSitemapItems(string rootPath) { string disTpls = SitemapManagerConfiguration.EnabledTemplates; string exclNames = SitemapManagerConfiguration.ExcludeItems; Database database = Factory.GetDatabase(SitemapManagerConfiguration.WorkingDatabase); Item contentRoot = database.Items[rootPath]; if (contentRoot == null) { return(new List <Item>()); } Item[] descendants; Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(@"extranet\Anonymous", true); using (new Sitecore.Security.Accounts.UserSwitcher(user)) { descendants = contentRoot.Axes.GetDescendants(); } List <Item> sitemapItems = descendants.ToList(); sitemapItems.Insert(0, contentRoot); var enabledTemplates = new HashSet <string>(BuildListFromString(disTpls, '|')); var excludedNames = new HashSet <string>(BuildListFromString(exclNames, '|')); List <Item> validItems = new List <Item>(); foreach (var item in sitemapItems) { // ignore templates which are not enabled in sitemap if (item.Template != null && !enabledTemplates.Contains(item.Template.ID.ToString())) { Log.Debug($"skipping item = {item.Paths.FullPath}, template id = {item.TemplateID}, because it is not enabled in sitemap configuration", this); continue; } // ignore excluded items if (excludedNames.Contains(item.ID.ToString())) { Log.Debug($"skipping item = {item.Paths.FullPath}, excluded", this); continue; } // ignore descendants of excluded items if (item.Paths.GetPath(ItemPathType.ItemID).Split('/') .Any(itemPathId => excludedNames.Contains(itemPathId))) { Log.Debug($"skipping item = {item.Paths.FullPath}, because it is a descendant of an excluded item", this); continue; } validItems.Add(item); } return(validItems); }
public Boolean Add(int widgetType) { // Check if the type is correct. if (!WidgetsValidator.ValidateWidgetType(widgetType)) { return(false); } // get sitecore context user Sitecore.Security.Accounts.User currentUser = Sitecore.Context.User; // load widgets setting from the context user string userWidgetsJson = currentUser.Profile.GetCustomProperty(Constants.UserCustomProperty.UserWidgets); List <SABB.Entities.Widgets.Widget> userWidgets; try { // deserilaize the JSON sting to list of Widgets entity userWidgets = JsonConvert.DeserializeObject <List <Widget> >(userWidgetsJson); } catch (Exception ex) { // log the exception Sitecore.Diagnostics.Log.Error("Error in user adding widgets, The object is:" + userWidgetsJson, ex, this); return(false); } // validate if the widget already added, if not then add it if (!userWidgets.Any(w => w.WidgetType == (WidgetType)widgetType)) { userWidgets.Add(new Widget { WidgetType = (WidgetType)widgetType, PlaceholderOrder = 1, Order = 1 }); // convert to JSON string string widgetJson = JsonConvert.SerializeObject(userWidgets); // save the value in the user profile using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(Sitecore.Context.User.Name, true); user.Profile.SetCustomProperty(Constants.UserCustomProperty.UserWidgets, widgetJson); user.Profile.Save(); } return(true); } else { return(false); } }
protected virtual Member ToMember(MembershipUser membershipUser, User member) { return(new Member() { MemberId = membershipUser.ProviderUserKey != null?membershipUser.ProviderUserKey.ToString() : "", LoginName = member.DisplayName, Email = member.Profile.Email, Password = member.Profile.LegacyPassword }); }
public override void Display(DisplayElement dElement) { Sitecore.Security.Accounts.User user = dElement.Element as Sitecore.Security.Accounts.User; if (user == null) { return; } dElement.AddColumn("Name", user.Name); dElement.AddColumn("Display Name", user.DisplayName); dElement.AddColumn("Domain", user.Domain.Name); dElement.AddColumn("Is Admin", user.IsAdministrator ? "yes" : "no"); }
private void SetButtonText(LinkButton button) { Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; string favorites = profile.GetCustomProperty("Favorites"); if (favorites.Contains(Sitecore.Context.Item.ID.ToString())) { button.Text = GetDictionaryText("Remove from Favorites"); } else { button.Text = GetDictionaryText("Add to Favorites"); } }
public Boolean Remove(int widgetType) { // Check if the type is correct. if (!WidgetsValidator.ValidateWidgetType(widgetType)) { return(false); } // get sitecore context user Sitecore.Security.Accounts.User currentUser = Sitecore.Context.User; // load widgets setting from the context user string userWidgetsJson = currentUser.Profile.GetCustomProperty(Constants.UserCustomProperty.UserWidgets); List <SABB.Entities.Widgets.Widget> userWidgets; try { // deserilaize the JSON sting to list of Widgets entity userWidgets = JsonConvert.DeserializeObject <List <Widget> >(userWidgetsJson); } catch (Exception ex) { // log the exception Sitecore.Diagnostics.Log.Error("Error in user delete widgets, The object is:" + userWidgetsJson, ex, this); return(false); } userWidgets.Remove(userWidgets.SingleOrDefault(w => w.WidgetType == (WidgetType)widgetType)); // serilize back to JSON string string widgetJson = JsonConvert.SerializeObject(userWidgets); // save the value in the user profile using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(Sitecore.Context.User.Name, true); user.Profile.SetCustomProperty(Constants.UserCustomProperty.UserWidgets, widgetJson); user.Profile.Save(); } return(true); }
private Sitecore.Security.Accounts.User GetUser() { if (Sitecore.Context.Items["profile_user"] == null) { Sitecore.Diagnostics.Assert.IsNotNull(Sitecore.Context.RawUrl, "RawUrl"); string user = Sitecore.Context.RawUrl; int pos = user.IndexOf("?"); if (pos > 0) { user = user.Substring(0, pos); } pos = user.LastIndexOf("/"); if (pos > 0) { user = user.Substring(pos + 1); } pos = user.IndexOf(".aspx"); if (pos > -1) { user = user.Substring(0, pos); } user = Sitecore.Context.Domain + "\\" + user; if (!Sitecore.Security.Accounts.User.Exists(user)) { return(null); } Sitecore.Security.Accounts.User obj = Sitecore.Security.Accounts.Account.FromName( user, Sitecore.Security.Accounts.AccountType.User) as Sitecore.Security.Accounts.User; Sitecore.Context.Items["profile_user"] = obj; } if (Sitecore.Context.Items["profile_user"] == null) { return(null); } return(Sitecore.Context.Items["profile_user"] as Sitecore.Security.Accounts.User); }
protected virtual User GetOrCreateUser(SitecoreUser sitecoreUser) { lock (_lock) { var user = User.SingleOrDefault(u => u.ExternalId.ToUpper() == sitecoreUser.LocalName.ToUpper()); if (user == null) { user = new User(sitecoreUser.LocalName); user.ExternalId = sitecoreUser.LocalName; user.UserGroups = _userGroupService.GetAllUserGroups().Where(x => x.ExternalId.ToUpper() == sitecoreUser.LocalName.ToUpper()).ToList(); if (user.ExternalId != null) { user.Save(); } } return(user); } }
/// <summary> /// Creates an item in the media library from a file. Saves it to the specified path in the media library /// </summary> /// <param name="filePath"></param> /// <param name="itemName"></param> /// <param name="fileExtension"></param> /// <param name="mediaLibraryPath">Path in sitecore to save the file</param> /// <returns></returns> public MediaItem CreateMediaLibraryItemFromFile(string filePath, string itemName, string fileExtension, string mediaLibraryPath) { Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.Current; MediaCreatorOptions mediaCreatorOptions = GetDefaultMediaCreatorOptions(Constants.MediaLibraryRoot + mediaLibraryPath, itemName.Replace("-", "")); //using (new Sitecore.Security.Accounts.UserSwitcher(user)) using (new Sitecore.SecurityModel.SecurityDisabler()) { try { //first, find the item, if it exists already string itempath = mediaCreatorOptions.Destination; Item mediaItem = _sitecoreMasterService.GetItem <Item>(itempath); if (mediaItem == null) { //new media item MediaItem media = MediaManager.Creator.CreateFromFile(filePath, mediaCreatorOptions); return(media); } else { //existing media item, update and increment version. MediaItem media = mediaItem; MediaItem newMedia; Stream stream = new FileStream(filePath, FileMode.Open); using (new EditContext(media)) { newMedia = media.InnerItem.Versions.AddVersion(); Media data = MediaManager.GetMedia(newMedia); var mediaStream = new MediaStream(stream, fileExtension, mediaItem); data.SetStream(mediaStream); } return(newMedia); } } catch (Exception e) { throw new Exception("CreateMediaLibraryItemFromFile: Cannot create Media Option from file = " + filePath, e); } } }
protected virtual void AddDecorations(BooleanQuery result) { Assert.ArgumentNotNull(result, "result"); Sitecore.Security.Accounts.User user = this.User; if (user != null) { result.Add(new TermQuery(new Term(BuiltinFields.Creator, user.Name)), Occur.SHOULD); result.Add(new TermQuery(new Term(BuiltinFields.Editor, user.Name)), Occur.SHOULD); } Sitecore.Data.Items.Item item = this.Item; if (item != null) { result.Add(new TermQuery(new Term(BuiltinFields.Path, ShortID.Encode(item.ID).ToLowerInvariant())), Occur.MUST); result.Add(new TermQuery(new Term(BuiltinFields.Database, item.Database.Name.ToLowerInvariant())), Occur.MUST); if (this.ContentLanguage == null) { result.Add(new TermQuery(new Term(BuiltinFields.Language, item.Language.ToString().ToLowerInvariant())), Occur.MUST); } } if (this.ContentLanguage != null) { TermQuery query = new TermQuery(new Term(BuiltinFields.Language, this.ContentLanguage.ToString().ToLowerInvariant())); result.Add(query, Occur.MUST); } if (!this.IgnoreContentEditorOptions) { if (!UserOptions.View.ShowHiddenItems) { result.Add(new TermQuery(new Term(BuiltinFields.Hidden, "1")), Occur.MUST_NOT); } if (!UserOptions.View.ShowEntireTree && (item != null)) { Sitecore.Data.Items.Item item2 = item.Database.GetItem(RootSections.GetSection(item)); if (item2 != null) { result.Add(new TermQuery(new Term(BuiltinFields.Path, ShortID.Encode(item2.ID).ToLowerInvariant())), Occur.MUST); } } } if (TemplateID != default(Guid)) { result.Add(new TermQuery(new Term(BuiltinFields.Template, new ShortID(TemplateID).ToString().ToLowerInvariant())), Occur.MUST); } }
public static bool CanCheckIn(SC.Data.Items.Item item, SC.Security.Accounts.User user = null) { Assert.ArgumentNotNull(item, "item"); if (user == null) { user = SC.Context.User; Assert.IsNotNull(user, "context user"); } if (item.Appearance.ReadOnly || !item.Locking.IsLocked() || !item.Access.CanWrite() || !item.Access.CanWriteLanguage()) { return(false); } return(user.IsAdministrator || string.Compare(item.Locking.GetOwner(), user.Name, System.StringComparison.OrdinalIgnoreCase) == 0 || CheckIn.HasUnlockAccess(item)); }
public ActionResult FavoritesNavigation() { List <GenericLink> favs = new List <GenericLink>(); Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; string ItemIds = profile.GetCustomProperty("Favorites"); foreach (string itemId in ItemIds.Split('|')) { Item item = Sitecore.Context.Database.GetItem(itemId); if (item != null) { favs.Add(new GenericLink(item["Menu Title"], LinkManager.GetItemUrl(item), false)); } } return((favs.Count > 0) ? View("TertiaryNavigationPartialFavorites", favs as IEnumerable <GenericLink>) : null); }
public static List <object[]> GetUserPropertiesFull(Sitecore.Security.Accounts.User u) { var results = new List <object[]>() { new object[] { "User Property", "Value" }, new object[] { "Name", u.Name }, new object[] { "DisplayName", u.DisplayName }, new object[] { "Roles", u.Roles.Select(r => r.Name) }, // new object[] { "AccountType", u.AccountType}, new object[] { "Description", u.Description }, new object[] { "Domain Name", u.GetDomainName() }, new object[] { "IsAdministrator", u.IsAdministrator }, new object[] { "IsAuthenticated", u.IsAuthenticated }, new object[] { "LocalName", u.LocalName }, // new object[] { "Profile", u.Profile}, }; return(results); }
// GET api/<controller> public JsonResult <List <string> > Get(string username) { List <string> lockUserInformation = new List <string>(); try { Sitecore.Security.Accounts.User editor = Sitecore.Security.Accounts.User.FromName(username, false); if (editor != null && !string.IsNullOrEmpty(editor.Profile.FullName)) { lockUserInformation.Add(editor.Profile.FullName); lockUserInformation.Add(editor.Profile.Email); } } catch (Exception ex) { // ignored } return(Json(lockUserInformation)); }
/// <summary> /// Converts a SiteCore user to a <see cref="User"/>. /// </summary> /// <param name="sitecoreUser">The Sitecore user.</param> /// <returns>UCommerce User representing the Sitecore user.</returns> protected virtual User MapUser(SitecoreUser sitecoreUser) { var user = GetOrCreateUser(sitecoreUser); user.UserName = sitecoreUser.LocalName; user.FirstName = sitecoreUser.LocalName; user.ExternalId = sitecoreUser.LocalName; user.IsAdmin = sitecoreUser.IsAdministrator; foreach (var userGroup in _userGroupService.GetAllUserGroups()) { if (sitecoreUser.Roles.Any(x => x.LocalName == userGroup.ExternalId)) { user.UserGroups.Add(userGroup); } } return(user); }
public Boolean Sort(string widgets) { // validate the JSON: // 1- check if the type is correct. // 2- check if the user send the correct placeholder ids if (!WidgetsValidator.Validate(widgets)) { return(false); } List <SABB.Entities.Widgets.Widget> userWidgets; try { // deserilaize the JSON sting to list of Widgets entity userWidgets = JsonConvert.DeserializeObject <List <Widget> >(widgets); } catch (Exception ex) { // log the exception Sitecore.Diagnostics.Log.Error("Error in user widget sorting, The object is:" + widgets, ex, this); return(false); } // serilize back to JSON string string widgetJson = JsonConvert.SerializeObject(userWidgets); // save the value in the user profile using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(Sitecore.Context.User.Name, true); user.Profile.SetCustomProperty(Constants.UserCustomProperty.UserWidgets, widgetJson); user.Profile.Save(); } return(true); }
protected override void DoRender(HtmlTextWriter output) { Sitecore.Security.Accounts.User user = this.GetUser(); if (user == null) { output.WriteLine("No such user.<br /><br />"); } else { output.WriteLine("Username: "******"<br />"); output.WriteLine("Email: " + user.Profile.Email + "<br /><br />" + Sitecore.Context.Domain.Name + "<br />"); } foreach (Sitecore.Security.Accounts.User member in Sitecore.Context.Domain.GetUsers()) { output.WriteLine(@"<a href=""/users/" + member.LocalName + @".aspx"">" + member.LocalName + "</a><br />"); } output.WriteLine("<br />"); }
public ActionResult AddToFavorites(string itemId) { try { Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; string favorites = profile.GetCustomProperty("Favorites"); // determine if we are adding or removing. // We don't know the text of the button because it is managed in the CMS, so we will see it is already a favorite. if (favorites.Contains(Sitecore.Context.Item.ID.ToString())) { favorites = favorites.Replace(Sitecore.Context.Item.ID.ToString(), String.Empty); favorites = favorites.Replace("||", "|"); // when removing we may leave a double pipe if (favorites == "|") { favorites = String.Empty; } } else // it must be an add { if (favorites == String.Empty) { favorites = Sitecore.Context.Item.ID.ToString(); } else { favorites = favorites + "|" + Sitecore.Context.Item.ID.ToString(); } // Capture the goal AnalyticsHelper.RegisterGoalOnCurrentPage("Add a Favorite", "[Add a Favorite] : \"" + Sitecore.Context.Item.Name + "\""); } profile.SetCustomProperty("Favorites", favorites); profile.Save(); } catch { } return(View("AddToFavorites", IsAddToFavorites)); }
protected void btnAddtoFavs_Click(object sender, EventArgs e) { Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; string favorites = profile.GetCustomProperty("Favorites"); // determine if we are adding or removing. // We don't know the text of the button because it is managed in the CMS, so we will see it is already a favorite. if (favorites.Contains(Sitecore.Context.Item.ID.ToString())) { favorites = favorites.Replace(Sitecore.Context.Item.ID.ToString(), String.Empty); favorites = favorites.Replace("||", "|"); // when removeing we may leave a double pipe if (favorites == "|") { favorites = String.Empty; } } else // it must be an add { if (favorites == String.Empty) { favorites = Sitecore.Context.Item.ID.ToString(); } else { favorites = favorites + "|" + Sitecore.Context.Item.ID.ToString(); } // Capture the goal using our helper method AnalyticsHelper.RegisterGoalOnCurrentPage("Add a Favorite", "[Add a Favorite] : \"" + Sitecore.Context.Item.Name + "\""); //Tracker.CurrentVisit.CurrentPage.Register("Add a Favorite", "[Add a Favorite] : \"" + Sitecore.Context.Item.Name + "\""); } profile.SetCustomProperty("Favorites", favorites); profile.Save(); SetButtonText(sender as LinkButton); }
private List <Item> GetSitemapItems(string rootPath) { string disTpls = SitemapManagerConfiguration.EnabledTemplates; string exclNames = SitemapManagerConfiguration.ExcludeItems; Item contentRoot = Db.Items[rootPath]; if (contentRoot == null) { return(new List <Item>()); } Item[] descendants; Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(@"extranet\Anonymous", true); using (new Sitecore.Security.Accounts.UserSwitcher(user)) { descendants = contentRoot.Axes.GetDescendants(); } List <Item> sitemapItems = descendants.ToList(); sitemapItems.Insert(0, contentRoot); List <string> enabledTemplates = this.BuildListFromString(disTpls, '|'); List <string> excludedNames = this.BuildListFromString(exclNames, '|'); List <Item> selected; if (enabledTemplates.Any()) { selected = sitemapItems.Where(itm => itm.Template != null && enabledTemplates.Contains(itm.Template.ID.ToString()) && !excludedNames.Contains(itm.ID.ToString())).ToList(); } else { selected = sitemapItems.Where(itm => HasLayout(itm, DefaultDevice) && !excludedNames.Contains(itm.ID.ToString())).ToList(); } return(selected); }
protected void btnPrint_Click(object sender, EventArgs e) { Item projectItem = Sitecore.Context.Database.GetItem(this.projectPath); Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; if (projectItem != null) { string fileName = string.Format("{0}_{1}", projectItem.Name, DateTime.Now.Ticks.ToString()); PrintOptions printOptions = new PrintOptions { PrintExportType = PrintExportType.Pdf, ResultFileName = fileName, UseHighRes = false }; Database masterBase = Factory.GetDatabase("master"); printOptions.Parameters.Add("articles", profile.GetCustomProperty("Favorites")); PrintManager printManager = new PrintManager(masterBase, Sitecore.Context.Language); string result = printManager.Print(projectItem.ID.ToString(), printOptions); if (!string.IsNullOrEmpty(result) && File.Exists(result)) { var file = new FileInfo(result); Response.ContentType = "application/pdf"; Response.AppendHeader("content-disposition", string.Format("attachment; filename={0}", file.Name)); Response.AppendHeader("Content-Length", file.Length.ToString()); Response.TransmitFile(file.FullName); Response.Flush(); Response.End(); } } }
private void LoadFavorites() { List <Item> items = new List <Item>(); Sitecore.Security.Accounts.User user = Sitecore.Context.User; Sitecore.Security.UserProfile profile = user.Profile; string ItemIds = profile.GetCustomProperty("Favorites"); foreach (string itemId in ItemIds.Split('|')) { Item item = Sitecore.Context.Database.GetItem(itemId); if (item != null) { items.Add(item); } } if (items.Count > 0) { favoritesli.Visible = true; rptFavorites.DataSource = items; rptFavorites.DataBind(); } }
/// <summary> /// Creates package /// </summary> /// <param name="contextItem">Item on wich we create package</param> /// <param name="fileName">File name of generating package</param> /// <param name="includeDescendants">If including descendant items</param> /// <returns>Generated package path</returns> protected String CreatePackage(Item contextItem, String fileName, bool includeDescendants) { String filePath = String.Empty; string currentUserName = Sitecore.Context.User.Profile.FullName; Sitecore.Security.Accounts.User scUser = Sitecore.Security.Accounts.User.FromName("sitecore\\admin", false); using (new Sitecore.Security.Accounts.UserSwitcher(scUser)) { Sitecore.Data.Database db = Context.ContentDatabase; Sitecore.Install.PackageProject packageProject = new Sitecore.Install.PackageProject(); packageProject.Metadata.PackageName = PackageName.Value; packageProject.Metadata.Author = currentUserName; Sitecore.Install.Items.ExplicitItemSource source = new Sitecore.Install.Items.ExplicitItemSource(); source.Name = contextItem.Name; List <Item> items = new List <Item>(); items.Add(db.Items.Database.GetItem(contextItem.Paths.Path)); if (includeDescendants) { var paths = Sitecore.StringUtil.Split(contextItem.Paths.Path, '/', true) .Where(p => p != null & p != string.Empty) .Select(p => "#" + p + "#") .ToList(); String allChildQuery = string.Format("/{0}//*", Sitecore.StringUtil.Join(paths, "/")); var children = db.Items.Database.SelectItems(allChildQuery); if (children != null && children.Length > 0) { items.AddRange(children); } } foreach (Item item in items) { source.Entries.Add(new Sitecore.Install.Items.ItemReference(item.Uri, false).ToString()); } packageProject.Sources.Add(source); packageProject.SaveProject = true; // - Path where the zip file package will be saved - filePath = Sitecore.Configuration.Settings.DataFolder + "/packages/" + fileName; using (Sitecore.Install.Zip.PackageWriter writer = new Sitecore.Install.Zip.PackageWriter(filePath)) { Sitecore.Context.SetActiveSite("shell"); writer.Initialize(Sitecore.Install.Installer.CreateInstallationContext()); Sitecore.Install.PackageGenerator.GeneratePackage(packageProject, writer); Sitecore.Context.SetActiveSite("website"); } } return(filePath); }
public static bool IsAuthenticatedOnDomain(this Sitecore.Security.Accounts.User user) => user.IsAuthenticated && user.Domain.Name == Sitecore.Context.Site.Domain.Name;
public FixedSearchContext(Sitecore.Security.Accounts.User user, Sitecore.Data.Items.Item item) { this._user = user; this._item = item; }
public FixedSearchContext(Sitecore.Security.Accounts.User user) { this._user = user; }