Skip to content

Instantly share code, notes, and snippets.

@barryokane
barryokane / Check list of URLs for 301.ps
Last active October 28, 2022 10:47
Powershell script to loop over a list of URLs, make a HTTP HEAD request and check for (first) 301 response.
#-------------
# Script to loop over a list of URLs, make a HTTP HEAD request and check for (first) 301 response
# INPUT: A txt file with one URL per line
#
# OUTPUT: A CSV file with columns for:
# - RequestURI = the URI from than line in input file
# - StatusCode = response status code (blank if error code!)
# - Error = Error message (for 404 or 500 errors)
#
-- ** Clean up old versions and other content from Umbraco Database
-- ** Compatible with SQLCE (eg run using LinqPad on an SDF file)
--https://gist.github.com/dampee/a8ead728165b16d49c00
-- Umbraco Clear Old Document Versions To Decrease Database Size And Improve Performance
-- http://borism.net/2008/12/16/fixing-a-large-cmspropertydata-table-in-umbraco/
DELETE FROM cmsPropertyData WHERE
versionId NOT IN (SELECT versionId FROM cmsDocument WHERE updateDate > DATEADD(m, -1, getdate()) OR published = 1 OR newest = 1) AND
@barryokane
barryokane / PatternLibRazorViewEngine.cs
Created March 11, 2017 04:56
Inspired by Heather Floyd's article (http://24days.in/umbraco-cms/2016/unique-sites-using-theming), however our use case is slightly different: we want to share a library of partials between multiple Umbraco sites with custom overrides on specific sites
using System.Linq;
using Umbraco.Web.Mvc;
namespace Endzone.Umbraco.PatternLib
{
public class PatternLibRazorViewEngine : RenderViewEngine
{
public PatternLibRazorViewEngine() : base()
{
/*
@barryokane
barryokane / sso_login_freshdesk.cs
Created May 17, 2012 11:08
SSO Login for Freshdesk support portal - ASP.Net C# Sample Code
protected void Page_Load(object sender, EventArgs e)
{
string url = GetSsoUrl(ConfigurationManager.AppSettings["FreshDesk.BaseUrl"], //including trailing slash
ConfigurationManager.AppSettings["FreshDesk.Secert"], user.UserName, user.Email);
Response.Redirect(url);
}
string GetSsoUrl(string baseUrl, string secert, string name, string email)
{
return String.Format("{0}login/sso/?name={1}&email={2}&hash={3}", baseUrl, Server.UrlEncode(name),
@barryokane
barryokane / app_offline.htm
Last active June 15, 2018 03:25
Simple app_offline.htm with no-cache meta tags, to discourage browsers from caching the maintenance message.
<html>
<head>
<title>Maintenance underway</title>
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
</head>
<body>
@barryokane
barryokane / umbraco.helper.sample.before.cshtml
Last active March 15, 2017 15:52
Simple example of using Razor @Helper in an Umbraco template. In this example we have some repeating HTML, using @Helper removes the duplication.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = "Layout.cshtml";
}
<main>
<section id="content" class="offers">
@{
@barryokane
barryokane / EventsList_all.cshtml
Created April 12, 2016 20:31
Combining “FullCalendar” with “KS.Umbraco7.Calendar” to create a great Umbraco events listing
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using KS.Umbraco7.Calendar.Core
@{
Layout = "Layout.cshtml";
}
@section styles {
<link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.6.1/fullcalendar.min.css' />
<link media="print" rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.6.1/fullcalendar.print.css' />
}
@barryokane
barryokane / nav_partial.cshtml
Last active April 14, 2016 00:34
Getting Nested Content property values from child pages.
@{
var root = Model.Content.AncestorOrSelf(1);
var pages = root.DescendantsOrSelf("DocTypeAlias");
foreach (var p in pages) {
var items = p.GetPropertyValue<IEnumerable<IPublishedContent>>("NestedContentPropertyName");
<div class="outer">
<h1><a href="@p.Url">@Umbraco.Field(p,"HeadingText")</a></h1>
<ul class="innerList">
@if (items != null) {
foreach(var item in items) {
namespace OnePageImpactReport.Models
{
[UIOMaticAttribute("ImpactOrganisations", "icon-users", "icon-user")]
[TableName("ImpactOrganisations")]
[PrimaryKey("Id", autoIncrement = true)]
[ExplicitColumns]
public class ImpactOrganisation : IUIOMaticModel
{
[UIOMaticIgnoreField]
@barryokane
barryokane / uWhiteLabel.Install.InstallControl.ascx
Created March 22, 2016 15:58
An example User Control used for "Load control after installation" when creating an Umbraco package. (See http://issues.umbraco.org/issue/U4-7471)
<%@ Control Language="C#" AutoEventWireup="true" Inherits="uWhiteLabel.Install.InstallControl" %>
<div>
<h3>uWhiteLabel Installed Successfully!</h3>
</div>
<hr />
<div>
<p class="umb-abstract">Instructions</p>
<ol>
<li>...more stuff here...</li>
</ol>