public static CanManageConfiguration ( string username, string groups ) : bool | ||
username | string | The username. |
groups | string | The groups. |
return | bool |
protected void Page_Load(object sender, EventArgs e) { Page.Title = Properties.Messages.ErrorTitle + " - " + Settings.WikiTitle; Exception ex = Session["LastError"] as Exception; if (ex != null && SessionFacade.LoginKey != null && AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { lblException.Text = ex.ToString(); } else { pnlException.Visible = false; } Session["LastError"] = null; // Workaround for ASP.NET vulnerability // http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx byte[] delay = new byte[1]; RandomNumberGenerator prng = new RNGCryptoServiceProvider(); prng.GetBytes(delay); Thread.Sleep((int)delay[0]); IDisposable disposable = prng as IDisposable; if (disposable != null) { disposable.Dispose(); } }
protected void Page_Load(object sender, EventArgs e) { AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("AccessDenied.aspx"); } PrintSystemStatus(); if (!Page.IsPostBack) { rptPages.DataBind(); rptIndex.DataBind(); DisplayOrphansCount(); string anon = Settings.AnonymousGroup; foreach (UserGroup group in Users.GetUserGroups()) { if (group.Name != anon) { ListItem item = new ListItem(group.Name, group.Name); item.Selected = true; lstGroups.Items.Add(item); } } } }
protected void Page_Load(object sender, EventArgs e) { AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("AccessDenied.aspx"); } StringBuilder sb = new StringBuilder(200); sb.Append("<script type=\"text/javascript\">\r\n<!--\r\n"); sb.AppendFormat("\tvar __DateTimeFormatTextBox = '{0}';\r\n", txtDateTimeFormat.ClientID); sb.Append("// -->\r\n</script>"); lblStrings.Text = sb.ToString(); if (!Page.IsPostBack) { // Setup validation regular expressions revMainUrl.ValidationExpression = Settings.MainUrlRegex; revWikiTitle.ValidationExpression = Settings.WikiTitleRegex; revContactEmail.ValidationExpression = Settings.EmailRegex; revSenderEmail.ValidationExpression = Settings.EmailRegex; revSmtpServer.ValidationExpression = Settings.SmtpServerRegex; // Load current values LoadGeneralConfig(); LoadContentConfig(); LoadSecurityConfig(); LoadAdvancedConfig(); } }
protected void Page_Load(object sender, EventArgs e) { AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("AccessDenied.aspx"); } if (!Page.IsPostBack) { // Load log entries rptLog.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { var context = this.Context; context.Response.ContentType = "text/plain"; AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("~/AccessDenied.aspx"); } var qs = context.Request.QueryString; var ns = qs["NS"]; var nspace = Pages.GetNamespaces().FirstOrDefault(x => x.Name == ns); if (nspace == null) { context.Response.Write(string.Format("Namespace \"{0}\" not found", ns)); return; } // Liste des pages orphelines var candidates = Pages.GetOrphanedPages(nspace) // récupération contenu .Select(p => new { PageInfo = p, PageContent = p.Provider.GetContent(p) }) // qui n'ont pas été modifées depuis plus d'un mois .Where(p => p.PageContent != null && p.PageContent.LastModified < DateTime.Today.AddMonths(-1)) .OrderBy(p => p.PageInfo.FullName); foreach (var candidate in candidates) { context.Response.Write(string.Format("[url=/Wiki/{0}.ashx]{0}[/url] \"{1}\"\r\n", candidate.PageInfo.FullName, candidate.PageContent.Title)); } }
protected void Page_Load(object sender, EventArgs e) { AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("AccessDenied.aspx"); } if (!Page.IsPostBack) { // Load namespaces // Add root namespace lstNamespace.Items.Add(new ListItem("<root>", "")); List <NamespaceInfo> namespaces = Pages.GetNamespaces(); foreach (NamespaceInfo ns in namespaces) { lstNamespace.Items.Add(new ListItem(ns.Name, ns.Name)); } } }
protected void Page_Load(object sender, EventArgs e) { var context = this.Context; context.Response.ContentType = "text/plain"; AdminMaster.RedirectToLoginIfNeeded(); if (!AdminMaster.CanManageConfiguration(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) { UrlTools.Redirect("~/AccessDenied.aspx"); } var qs = context.Request.QueryString; // Espace de nom de filtrage var ns = qs["NS"]; var nspace = Pages.GetNamespaces().FirstOrDefault(x => x.Name == ns); if (nspace == null) { context.Response.Write(string.Format("Namespace \"{0}\" not found", ns)); return; } // On ne supprime que les révisions datant de plus de xx jours par rapport à la dernière modification var ageDays = 30; // On ne supprime que les révisions au délà de cette limite var revisions = 10; if (!string.IsNullOrEmpty(qs["age"])) { int.TryParse(qs["age"], out ageDays); } if (!string.IsNullOrEmpty(qs["revisions"])) { int.TryParse(qs["revisions"], out revisions); } foreach (var page in Pages.GetPages(nspace)) { // Liste des revisions de la page, du plus grand (plus récent) au plus petit (plus vieux) var backups = Pages.GetBackups(page); if (backups == null) { context.Response.Write(string.Format("ERROR : Page {0} has no backups\r\n", page.FullName)); continue; } backups = backups.OrderByDescending(x => x).ToList(); if (page.Provider == null) { context.Response.Write(string.Format("ERROR : Page {0} has no provider\r\n", page.FullName)); continue; } var pageContent = page.Provider.GetContent(page); if (pageContent == null) { context.Response.Write(string.Format("ERROR : Page {0} has no content\r\n", page.FullName)); continue; } var pageLastModified = pageContent.LastModified; var count = backups.Count; int?mostRecentRevisionToDelete = null; for (int i = 0; i < count; i++) { var revision = backups[i]; if (i >= revisions) { // On a dépassé le nombre de révisions max, on va supprimer à partir de cette révision var backupContent = Pages.GetBackupContent(page, revision); // Nombre de jours écoulés depuis la dernière modification var age = (pageLastModified - backupContent.LastModified).TotalDays; if (age > ageDays) { mostRecentRevisionToDelete = revision; break; } } } if (mostRecentRevisionToDelete.HasValue) { if (mostRecentRevisionToDelete.Value == backups[0]) { context.Response.Write(string.Format("Suppression de toutes les révisions pour la page {1}\r\n", mostRecentRevisionToDelete.Value, page.FullName)); Pages.DeleteBackups(page); } else { context.Response.Write(string.Format("Suppression des révisions <= {0} pour la page {1}\r\n", mostRecentRevisionToDelete.Value, page.FullName)); Pages.DeleteBackups(page, mostRecentRevisionToDelete.Value); } } } }