Skip to content

Instantly share code, notes, and snippets.

View dampee's full-sized avatar

Damiaan dampee

View GitHub Profile
@dampee
dampee / gist:8020337
Created December 18, 2013 10:41
format size as bytes, kb, mb, gb
public static string FormatBytes(long bytes, int scale = 1024)
{
string[] orders = new string[] { "GB", "MB", "KB", "Bytes" };
long max = (long)Math.Pow(scale, orders.Length - 1);
foreach (string order in orders)
{
if (bytes > max)
{
return String.Format("{0:##.##} {1}", Decimal.Divide(bytes, max), order);
@dampee
dampee / Cache.cs
Last active December 31, 2015 17:29
Generic http cache with locking
using System;
using System.Web;
using System.Web.Caching;
using Umbraco.Core.Logging;
/// <summary>
/// Generic cache class
/// </summary>
/// <typeparam name="T">The type of the object to be cached</typeparam>
/// <remarks>
@dampee
dampee / gist:8053121
Created December 20, 2013 10:42
get specific umbraco dictionary item
select d.pk, lt.pk, d.[key], lt.languageId, l.languageISOCode, lt.value
from cmsDictionary d inner join cmsLanguageText lt on d.id = lt.UniqueId
left join umbracoLanguage l on lt.languageId = l.id
where d.pk = 6
@dampee
dampee / MediaPickerPropertyEditorValueConverter.cs
Created December 23, 2013 15:57
Media Picker Property Editor Value Convertor - without DB hits from uQuery
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Models;
using umbraco.editorControls;
using Umbraco.Web;
@dampee
dampee / MultiNodeTreePickerPropertyEditorValueConverter.cs
Last active January 1, 2016 05:39
Umbraco MultiNodeTreePicker PropertyEditorValueConverter
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Models;
using umbraco.editorControls;
using Umbraco.Web;
@dampee
dampee / gist:8165323
Created December 28, 2013 23:00
XPATH: Get All documents of type X and Y
var joinedDoctypes = Umbraco.TypedContentAtXPath("//*[self::DocType1 or self::DocType2]")
// http://stackoverflow.com/questions/721928/xpath-to-select-multiple-tags
@dampee
dampee / gist:4b4fb227a86ce64e4155
Created June 13, 2014 11:09
example segment provider
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Strings;
@dampee
dampee / LoremIpsumBuilder.cs
Created July 3, 2014 18:42
Lorem ipsum generator in c#
/// <summary>
/// Lorem Ipsum Generator
/// </summary>
/// <remarks>
/// Based on Javascript Version of Marcus Campbell - Version 2.0 (Copyright 2003 - 2005)
/// Open-source code under the GNU GPL: http://www.gnu.org/licenses/gpl.txt
/// </remarks>
/// <example>
/// LoremIpsumBuilder _lib = new LoremIpsumBuilder();
/// string test = _lib.GetLetters();
@dampee
dampee / CreateNewAdminUser
Created August 4, 2014 15:26
Create a new admin user in umbraco
/// ApplicationBase: prior to 4.8
public class AdminUserPwdReset : ApplicationBase //: ApplicationStartupHandler
{
public AdminUserPwdReset()
{
var userTYpe = UserType.GetUserType(1); // admins
User adminUser = User.MakeNew("damiaan", "damiaan", hashPassword("default"), userTYpe);
adminUser.addApplication("users");
adminUser.addApplication("settings");
adminUser.addApplication("developer");
@dampee
dampee / LastChance404Finder
Last active October 14, 2015 15:58
Umbraco ContentLastChanceFinder for 404 pages
using System;
using System.Globalization;
using System.Linq;
using umbraco.cms.businesslogic.web;
using Umbraco.Core;
using Umbraco.Web;
using Umbraco.Web.Routing;
/// <summary>
/// Summary description for NotFoundHandler