Skip to content

Instantly share code, notes, and snippets.

View AThraen's full-sized avatar

Allan Thraen AThraen

View GitHub Profile
@AThraen
AThraen / CatFun.cs
Created October 29, 2019 18:27
CodeMania 2019: Episervers Cat
using CodeMania.Site.Business;
using EPiServer;
using EPiServer.Core;
using EPiServer.Framework.Cache;
using EPiServer.Framework.Web.Resources;
using EPiServer.Logging;
using EPiServer.Security;
using EPiServer.ServiceLocation;
using EPiServer.Web.Routing;
using System;
@AThraen
AThraen / PropertyLottery.cs
Created October 29, 2019 18:31
Code Mania 2019: Property Lottery
sing EPiServer.Cms.Shell.Extensions;
using EPiServer.Shell.ObjectEditing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CodeMania.Site.Fun
{
@AThraen
AThraen / Datasources.xml
Created November 5, 2019 13:19
Episerver Forms - Adding a Profile Store data source to the hidden field.
<?xml version="1.0" encoding="utf-8" ?>
<languages>
<language name="English" id="en">
<episerver>
<forms>
<visitordatasources>
<Alloy.Business.Forms.TrackedVisitorDataSource>
<displayname>Tracked Visitor Data Source</displayname>
</Alloy.Business.Forms.TrackedVisitorDataSource>
</visitordatasources>
@AThraen
AThraen / FormValidationInit.cs
Last active November 27, 2019 11:55
Custom validator for Episerver Forms added to existing elements
using System;
using System.Linq;
using EPiServer.Forms.Core.Validation;
using EPiServer.Forms.Implementation.Elements;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.ServiceLocation;
namespace AlloyExperiments.Forms
{
@AThraen
AThraen / BlockSliceExtensions.cs
Last active January 10, 2020 13:14
Powerslice for Episerver to show unused blocks
using EPiServer.Core;
using EPiServer.DataAbstraction;
using EPiServer.ServiceLocation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Demo.Business.Powerslice
{
@AThraen
AThraen / XHTMLSettingsAttribute.cs
Created January 22, 2020 08:08
Episerver attribute to manage XHTML Configuration
using EPiServer.Shell.ObjectEditing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CodeArt.Episerver.Tools
{
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
@AThraen
AThraen / EnrichFormSubmissionActor.cs
Last active May 15, 2020 14:13
Actor that adds additional system fields to Episerver Forms
using EPiServer;
using EPiServer.Core;
using EPiServer.Forms.Core.PostSubmissionActor;
using EPiServer.Forms.Core.PostSubmissionActor.Internal;
using EPiServer.ServiceLocation;
using EPiServer.Web.Routing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
@AThraen
AThraen / _Layout.cshtml
Created May 11, 2020 07:45
Using Wyam to build a blog website from an RssFeed
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
@RenderBody()
</body>
</html>
@AThraen
AThraen / SiteVirtualRole.cs
Created May 26, 2020 12:49
Use a virtual role to only show blocks available for the current site
public class SiteVirtualRole : VirtualRoleProviderBase
{
public string Site { get; set; }
public override void Initialize(string name, NameValueCollection config)
{
base.Initialize(name, config);
Site = config["site"];
}
public override bool IsInVirtualRole(IPrincipal principal, object context)
{
@AThraen
AThraen / HoneyPotActor.cs
Last active August 23, 2020 06:10
Episerver Forms Honeypot
using EPiServer.Forms.Core.PostSubmissionActor;
using EPiServer.Forms.Core.PostSubmissionActor.Internal;
using EPiServer.Forms.Helpers.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Demo.Web.Business.Forms
{