Skip to content

Instantly share code, notes, and snippets.

View VesselinVassilev's full-sized avatar

Vesselin Vassilev VesselinVassilev

  • Avion Software
  • Australia
View GitHub Profile
@VesselinVassilev
VesselinVassilev / NavigationView.Horizontal.cshtml
Last active June 15, 2022 12:44
Navigation view with direct links to redirect pages
@using Telerik.Sitefinity.Pages.Model;
@using Telerik.Sitefinity.Frontend.Mvc.Helpers;
@using Telerik.Sitefinity.Web;
@using Telerik.Sitefinity.Frontend.Navigation.Mvc.Models;
@model Telerik.Sitefinity.Frontend.Navigation.Mvc.Models.INavigationModel
<ul class="navbar-nav mr-auto mt-lg-0 pr-0 @Model.CssClass">
<li class="nav-close"><a href="#"><i class="fa fa-times" aria-hidden="true"></i></a></li>
@foreach (var node in Model.Nodes)
{
@VesselinVassilev
VesselinVassilev / readme.txt
Last active December 9, 2023 06:50
Create Self Signed SSL certificate for Sitefinity
Open powershell as admin and execute:
New-SelfSignedCertificate -DnsName "fgaau.localtest.me", "fgaau.localtest.me" -CertStoreLocation "Cert:\LocalMachine\My"
This will place the certificate under the Intermediate Certification Authorities node (or Personal).
Open the Certificates / Local Computer mmc snapin (certlm.msc) and copy the cert from personal to the Trusted Root Certification Authorities.
Restart the browser.
@VesselinVassilev
VesselinVassilev / Default.cshtml
Last active January 3, 2020 00:22
Image Selector - Sitefinity MVC
@Html.Raw(ViewBag.RichText)
@if (ViewBag.ImageId != null)
{
if (Guid.TryParse(ViewBag.ImageId.ToString(), out Guid imgId))
{
var image = Telerik.Sitefinity.App.WorkWith().Image(imgId).Get();
if (image != null)
{
@VesselinVassilev
VesselinVassilev / ChangeUserPassword.cs
Created March 6, 2019 23:18
How to Change User's password without knowing the existing one
public static void ChangeUserPassword(string newPassword, Guid userId)
{
var uManager = UserManager.GetManager();
using (new ElevatedModeRegion(uManager))
{
// first reset the user's password - that would gives us the "current" password
string tempPass = uManager.ResetPassword(userId, string.Empty);
// now that we have the current password, we can change it
@VesselinVassilev
VesselinVassilev / CreateDynamicItemAllLangs.cs
Last active August 1, 2018 02:41
This creates and updates a dynamic item in all defined languages and creates orphaned records in sf_url_data preventing opening of the child items in the backend
var languages = SystemManager.CurrentContext.AppSettings.DefinedFrontendLanguages.ToList();
for (int j = 0; j < languages.Count; j++)
{
var lang = languages[j];
try
{
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture = lang;
@VesselinVassilev
VesselinVassilev / FilterDynamicContentItems.cs
Created July 26, 2018 03:03
Filter dynamic content items
public static IQueryable<DynamicContent> GetLiveDataItemsForType(this DynamicModuleManager manager, string type)
{
Type resolvedType = TypeResolutionService.ResolveType(type);
return manager.GetDataItems(resolvedType)
.Where(i => i.Status == ContentLifecycleStatus.Live && i.Visible);
}
....
@VesselinVassilev
VesselinVassilev / RemoveSfAppPath.cs
Last active July 10, 2018 04:59
Remove the sf_appPath javascript variable from Sitefinity pages
private void SystemManager_ApplicationStart(object sender, EventArgs e)
{
// remove the sf_appPath script from the header
EventHub.Subscribe<IPagePreRenderCompleteEvent>(evt => PagePreRenderCompleteEvent(evt));
}
private void PagePreRenderCompleteEvent(IPagePreRenderCompleteEvent evt)
{
if (!SystemManager.IsDesignMode)
{
public static Guid CreateSitefinityUser(AgentModel model, UserRole userRole)
{
var uManager = UserManager.GetManager();
var userId = Guid.NewGuid();
try
{
using (new ElevatedModeRegion(uManager))
{
@VesselinVassilev
VesselinVassilev / CrontabHelper.cs
Last active July 22, 2020 14:01
Custom Recurring Scheduled Tasks in Sitefinity with Cron Jobs
using NCrontab;
using System;
using Telerik.Sitefinity.Configuration;
using Telerik.Sitefinity.Services;
namespace SitefinityWebApp.Custom.Helpers
{
/// <summary>
/// Copied from the internal sitefinity classes
/// </summary>
@VesselinVassilev
VesselinVassilev / GetPromos.cs
Last active March 19, 2018 05:43
Sitefinity - Custom WebService
[HttpGet]
public HttpResponseMessage GetPromos()
{
if (ClaimsManager.GetCurrentUserId() == Guid.Empty)
{
throw new Exception("You need to authenticate first");
}
var manager = DynamicModuleManager.GetManager();