Skip to content

Instantly share code, notes, and snippets.

@jonathanread
jonathanread / RecaptchaController.cs
Created September 19, 2016 12:34
Sitefinity MVC ReCaptacha
using SitefinityWebApp.Mvc.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;
using Telerik.Sitefinity.Data.Metadata;
using Telerik.Sitefinity.Frontend.Forms;
using Telerik.Sitefinity.Frontend.Forms.Mvc.Controllers.Base;
using Telerik.Sitefinity.Model;
@jonathanread
jonathanread / StateDropDownlist.ascx
Created December 8, 2015 15:02
State dropdown widget for sitefinity forms
<%@ Control %>
<%@ Register Assembly="Telerik.Sitefinity" TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" %>
<div class="sfFormDropdown stateDropDown">
<asp:Label runat="server" ID="titleLabel" CssClass="sfTxtLbl" Text="title label" AssociatedControlID="DropDownList" />
<span class="sfFieldWrp sfDropdownList">
<asp:DropDownList runat="server" ID="DropDownList"></asp:DropDownList>
<sf:SitefinityLabel runat="server" ID="descriptionLabel" WrapperTagName="div" CssClass="sfDescription"/>
<sf:SitefinityLabel runat="server" ID="exampleLabel" WrapperTagName="div" CssClass="sfExample"/>
</span>
@jonathanread
jonathanread / GetSomePages..aspx.cs
Created December 8, 2015 14:56
This searches and returns pages with the string from "SearchPhrase"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Sitefinity.GenericContent.Model;
using Telerik.Sitefinity.Modules.Pages;
using Telerik.Sitefinity.Pages.Model;
using Telerik.Sitefinity.Model;
var directionsService = new google.maps.DirectionsService();
var geocoder = new google.maps.Geocoder();
var infoWindow = new google.maps.InfoWindow();
var map, userLoc, directionsDisplay, locationRequest;
$(document).ready(function () {
LoadMap();
GetUsersLocation();
locationRequest = getQueryString()["location"];
$(window).scroll(moveMap);
jQuery.fn.delayedAction = function (options) {
var settings = $.extend(
{},
{
delayedAction: function () { },
canceledAction: function () { },
hoverTime: 1000
},
options);
extension String {
func Contains(find: String) -> Bool{
return self.rangeOfString(find) != nil
}
}
extension Int{
func IsMultipleOf(divisableBy: Int) -> Bool{
return self % divisableBy == 0
}
public static string GetCurrentProvider(string moduleName)
{
var multisiteContext = SystemManager.CurrentContext as MultisiteContext;
return multisiteContext.CurrentSite.GetProviders(moduleName).Select(p => p.ProviderName).FirstOrDefault();
}
@jonathanread
jonathanread / CallToActionController.cs
Last active July 13, 2017 17:46
Call To Action Widget. Designers go in ~/MVC/Designers Folder
using System;
using System.ComponentModel;
using System.Linq;
using System.Web.Mvc;
using Telerik.Sitefinity.Mvc;
using SitefinityWebApp.Mvc.Models;
using Telerik.Sitefinity.Multisite;
using Telerik.Sitefinity.Modules.Libraries;
using Telerik.Sitefinity.Libraries.Model;
using Telerik.Sitefinity.Services;
@jonathanread
jonathanread / WidgetTemplate.ascx
Created May 8, 2015 14:43
Mega Menu for Sitefinty
<%@ Control Language="C#" %>
<%@ Import Namespace="Telerik.Sitefinity.Web.UI.NavigationControls.Extensions.LightNavigationControlTemplate" %>
<%@ Import Namespace="Telerik.Sitefinity.Web.UI.NavigationControls" %>
<%@ Register Assembly="Telerik.Sitefinity" TagPrefix="navigation" Namespace="Telerik.Sitefinity.Web.UI.NavigationControls" %>
<%@ Register Assembly="Telerik.Sitefinity" TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" %>
<%@ Register Assembly="Tenet.Sitefinity" TagPrefix="custom" Namespace="Tenet.Sitefinity.Widgets.Overrides" %>
<sf:ResourceLinks id="resLinks" runat="server" UseEmbeddedThemes="true" Theme="Basic">
<sf:ResourceFile Name="Telerik.Sitefinity.Resources.Themes.Basic.Styles.nav.widget.css" Static="true" />
private static ResourceManager resources = ResourceManager.GetManager();
public static string GetLabelOrMessage(string labelGroup, string key)
{
var item = resources.GetResourceOrEmpty(Thread.CurrentThread.CurrentCulture, labelGroup, key);
if (!item.Value.IsNullOrEmpty())
{
return item.Value;
}
else