Skip to content

Instantly share code, notes, and snippets.

View garpunkal's full-sized avatar
:octocat:

Gareth Wright garpunkal

:octocat:
View GitHub Profile
@garpunkal
garpunkal / umbracooptimise.sql
Last active October 8, 2019 14:20
Umbraco 7 optimise (6 months records)
-- 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/
DECLARE @createdDate Datetime = DATEADD(m, -6, getdate())
print '=================================================='
print 'CreatedDate: ' + CAST(@createdDate AS VARCHAR)
print '=================================================='
print ''
print ''
@garpunkal
garpunkal / umbracoemptyrecyclebin.sql
Last active October 8, 2019 14:20
Umbraco Empty Recycle Bin
print '=================================================='
print 'delete recycle bin'
print '=================================================='
DELETE FROM cmsPreviewXml WHERE nodeId IN (SELECT id FROM umbracoNode WHERE path LIKE '%-20%' AND id!=-20);
DELETE FROM cmsContentVersion WHERE ContentId IN (SELECT id FROM umbracoNode WHERE path LIKE '%-20%' AND id!=-20);
@garpunkal
garpunkal / SQLTableSizes.sql
Last active October 30, 2019 10:22
SQL Table Sizes
SELECT
t.NAME AS TableName,
s.Name AS SchemaName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
FROM sys.tables t
INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
@garpunkal
garpunkal / umbracodeletebydoctype.sql
Last active October 8, 2019 15:26
Umbraco Delete Documents By DocType
DECLARE @Nodes TABLE (NodeId int)
INSERT INTO @Nodes (NodeId)
SELECT n.id
FROM cmsContent C
INNER JOIN cmsContentType CT ON C.contentType = CT.nodeId
INNER JOIN umbracoNode N ON C.nodeId = N.id
WHERE CT.alias = 'Twitter' OR CT.alias = 'Instagram' OR CT.alias = 'SocialPost'
delete from cmsPreviewXml where nodeId in (select NodeId from @Nodes)
@garpunkal
garpunkal / CreateUserGroups
Last active January 10, 2020 17:01
CreateUserGroups
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
@garpunkal
garpunkal / cmspropertydatalength.sql
Created October 30, 2019 10:19
CmsPropertyData datalength
select cpd.contentNodeId, datalength(cpd.dataNtext) as size from cmsPropertyData cpd order by size desc
@garpunkal
garpunkal / stripHtmlFilter.js
Created December 16, 2019 13:38
Umbraco: StripHtmlFilter
// usage: "nameTemplate": "{{ text | stripHtml }}"
(function () {
var tagBody = '(?:[^"\'>]|"[^"]*"|\'[^\']*\')*';
var tagOrComment = new RegExp(
"<(?:"
// Comment body.
+ "!--(?:(?:-*[^->])*--+|-?)"
@garpunkal
garpunkal / EnumHelpers.cs
Created January 3, 2020 11:19
EnumHelpers.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
namespace Helpers
{
public class EnumHelpers
{
@garpunkal
garpunkal / HtmlStringExtensions.cs
Created January 3, 2020 16:39
HtmlStringExtensions.cs
public static class HtmlStringExtensions
{
public static bool IsNullOrWhiteSpace(this IHtmlString htmlString)
{
return htmlString == null || string.IsNullOrWhiteSpace(htmlString.ToHtmlString());
}
public static HtmlString AddClass(this IHtmlString html, string css)
{
return html.UpdateElement(node => node.AddClass(css));
@garpunkal
garpunkal / Sitemap.cs
Created January 8, 2020 10:25
Sitemap.cs
public class XmlSitemap : IHttpHandler
{
public bool IsReusable => false;
private static readonly XNamespace xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9";
public void ProcessRequest(HttpContext context)
{
string language = context.Request?.QueryString["language"]?.ToFriendlyUrlFormat();