Error executing template "Designs/Kwpn/_parsed/Page.parsed.cshtml"
System.IO.IOException: The process cannot access the file 'D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\Translations.xml' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Dynamicweb.Rendering.Translation.Source.WriteDocument(XmlDocument document)
at Dynamicweb.Rendering.Translation.Source.Save()
at Dynamicweb.Rendering.Translation.Source.UpdateTranslationSource(Source source, IEnumerable`1 newKeys, String designName, IEnumerable`1 cultures)
at Dynamicweb.Rendering.Template.TranslateText(String text, String defaultValue, String cultureName)
at Dynamicweb.Rendering.TemplateBase`1.Translate(String text, String defaultValue)
at CompiledRazorTemplates.Dynamic.RazorEngine_31eba7810ee84e7aba6b6163578c8462.Execute() in D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\_parsed\Page.parsed.cshtml:line 233
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @using System.Web 2 @using Kwpn.Repository.Helpers 3 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 4 <!DOCTYPE html> 5 <html lang='@GetString("Lang")'> 6 <head prefix="og: http://ogp.me/ns#"> 7 <meta charset="UTF-8"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 9 <meta name="apple-mobile-web-app-capable" content="yes"> 10 <title>@GetValue("Title")</title> 11 @GetValue("MetaTags") 12 @GetValue("CopyRightNotice") 13 14 @using System 15 @using Kwpn.Models.Constants 16 @using Kwpn.Repository.Helpers 17 @using System.Globalization 18 @using System.Web.Mvc 19 20 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 21 @{ 22 var urlSchemeHeadSection = HttpContext.Current.Request.Url.Scheme; 23 var urlHostHeadSection = HttpContext.Current.Request.Url.Host; 24 var requestHostHeadSection = $"{urlSchemeHeadSection}://{urlHostHeadSection}"; 25 var iconsFolderHeadSection = $"{requestHostHeadSection}/Files/Templates/Designs/Kwpn/Images/SystemIcons"; 26 var cultureHeadSection = GetGlobalValue("Global:Area.LongLang"); 27 var pageIdHeadSection = Dynamicweb.Frontend.PageView.Current().Page.ID; 28 var newsPageIdHeadSection = AreaHelper.GetNewsPageId(cultureHeadSection); 29 var marketplacePageIdHeadSection = AreaHelper.GetMarketplacePageId(cultureHeadSection); 30 var customOgTagsHeadSection = (pageIdHeadSection == newsPageIdHeadSection || pageIdHeadSection == marketplacePageIdHeadSection); 31 var searchFriendlyUrlHeadSection = Dynamicweb.Frontend.PageView.Current().SearchFriendlyUrl; 32 var ogUrlHeadSection = requestHostHeadSection; 33 if (searchFriendlyUrlHeadSection != $"/{cultureHeadSection.ToLower()}/homepage") 34 { 35 ogUrlHeadSection = $"{urlSchemeHeadSection}://{urlHostHeadSection}/{cultureHeadSection}{searchFriendlyUrlHeadSection}"; 36 } 37 var ogTitleHeadSection = GetString("Title"); 38 var ogDescriptionHeadSection = GetString("Meta.Description"); 39 var ogDefaultImageHeadSection = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.OpenGraphImage); 40 var ogImageHeadSection = $"{urlSchemeHeadSection}://{urlHostHeadSection}/{ogDefaultImageHeadSection}"; 41 var ogLocaleHeadSection = "nl_NL"; 42 var lastCssWriteTime = System.IO.File.GetLastWriteTime(HttpContext.Current.Server.MapPath("~/Files/Templates/Designs/Kwpn/Css/Custom.css")).Ticks; 43 var lastJsWriteTime = System.IO.File.GetLastWriteTime(HttpContext.Current.Server.MapPath("~/Files/Templates/Designs/Kwpn/Scripts/Custom.js")).Ticks; 44 var datePickerScript = $"datepicker-{GetGlobalValue("Global:Area.Lang")}.js"; 45 } 46 47 <meta http-equiv="content-language" content="@GetString(" lang")"=""> 48 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 49 <meta http-equiv="imagetoolbar" content="no"> 50 <meta http-equiv="x-dns-prefetch-control" content="on"> 51 <meta http-equiv="x-ua-compatible" content="ie=edge"> 52 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 53 <meta name="application-name" content="kwpn.nl"> 54 <meta name="author" content="Innovadis BV, Enschede"> 55 <meta name="copyright" content="Innovadis BV, Enschede, @DateTime.Now.Year"> 56 <meta name="web_author" content="Innovadis BV, Enschede"> 57 <meta name="msapplication-TileImage" content="@iconsFolderHeadSection/win8-tile-144x144.png"> 58 <meta name="msapplication-TileColor" content="#ffffff"> 59 <meta name="msapplication-navbutton-color" content="#ffffff"> 60 <meta name="msapplication-square70x70logo" content="@iconsFolderHeadSection/win8-tile-70x70.png"> 61 <meta name="msapplication-square144x144logo" content="@iconsFolderHeadSection/win8-tile-144x144.png"> 62 <meta name="msapplication-square150x150logo" content="@iconsFolderHeadSection/win8-tile-150x150.png"> 63 <meta name="msapplication-wide310x150logo" content="@iconsFolderHeadSection/win8-tile-310x150.png"> 64 <meta name="msapplication-square310x310logo" content="@iconsFolderHeadSection/win8-tile-310x310.png"> 65 66 @if (!customOgTagsHeadSection) 67 { 68 <meta property="og:url" content="@ogUrlHeadSection"> 69 <meta property="og:title" content="@ogTitleHeadSection"> 70 <meta property="og:description" content="@ogDescriptionHeadSection"> 71 <meta property="og:image" content="@ogImageHeadSection"> 72 <meta property="og:locale" content="@ogLocaleHeadSection"> 73 <meta property="og:type" content="website"> 74 <meta property="fb:app_id" content="234190117053664"> 75 } 76 77 <link rel="dns-prefetch" href="@requestHostHeadSection"> 78 <link rel="icon" href="/favicon.ico" type="image/x-icon"> 79 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 80 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-57x57.png" sizes="57x57"> 81 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-60x60.png" sizes="60x60"> 82 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-72x72.png" sizes="72x72"> 83 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-76x76.png" sizes="76x76"> 84 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-114x114.png" sizes="114x114"> 85 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-120x120.png" sizes="120x120"> 86 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-128x128.png" sizes="128x128"> 87 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-144x144.png" sizes="144x144"> 88 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-152x152.png" sizes="152x152"> 89 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-180x180.png" sizes="180x180"> 90 <link rel="apple-touch-icon" href="@iconsFolderHeadSection/apple-touch-icon-precomposed.png"> 91 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-16x16.png" sizes="16x16"> 92 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-32x32.png" sizes="32x32"> 93 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-96x96.png" sizes="96x96"> 94 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-160x160.png" sizes="160x160"> 95 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-192x192.png" sizes="192x192"> 96 <link rel="icon" type="image/png" href="@iconsFolderHeadSection/favicon-196x196.png" sizes="196x196"> 97 98 <link href="@requestHostHeadSection/Content/bootstrap.min.css" rel="stylesheet"> 99 <link href="@requestHostHeadSection/Content/themes/base/jquery-ui.min.css" rel="stylesheet"> 100 <link href="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Css/Custom.css?@lastCssWriteTime" rel="stylesheet"> 101 <link href="@requestHostHeadSection/Content/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet"> 102 <link href="@requestHostHeadSection/Content/jquery.fancybox.css" type="text/css" rel="stylesheet" media="screen"> 103 104 105 @* 106 COMMENTED OUT DUE TO KWPN-1742 107 108 <!-- Start cookieyes banner --> 109 @if (string.Equals(urlHostHeadSection, "kwpn.nl", StringComparison.OrdinalIgnoreCase)) 110 { 111 <script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/d8bbdb71d673be6b76d639e6/script.js"></script> 112 } 113 else { 114 <!-- cookieyes script not loaded by the template because the domain is invalid --> 115 } 116 <!-- End cookieyes banner --> 117 *@ 118 119 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 120 <!--[if lt IE 9]> 121 <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> 122 <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 123 <![endif]--> 124 <script src="@requestHostHeadSection/Scripts/jquery-3.7.1.min.js"></script> 125 <script src="@requestHostHeadSection/Scripts/jquery-ui-1.13.3.min.js"></script> 126 <script src="@requestHostHeadSection/Scripts/@datePickerScript"></script> 127 <script src="@requestHostHeadSection/Scripts/bootstrap.min.js"></script> 128 <script src="@requestHostHeadSection/Scripts/jquery.alphanumeric.js"></script> 129 <script src="@requestHostHeadSection/Scripts/jquery.fancybox.pack.js?v=2.1.5"></script> 130 <script src="@requestHostHeadSection/Scripts/jquery.touchSwipe.min.js"></script> 131 @*<script src="@requestHostHeadSection/Scripts/vue/vue.js"></script>*@ 132 <script src="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Scripts/jquery.tmpl.js"></script> 133 <script src="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Scripts/Custom.js"></script> 134 <script src="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Scripts/innovadis-seo.js"></script> 135 <script src="@requestHostHeadSection/Scripts/innovadis-checkbox-list.js"></script> 136 <script src="@requestHostHeadSection/Scripts/jquery.orgchart.js"></script> 137 @{ 138 var reCaptchaSiteKey = DependencyResolver.Current.GetService<Kwpn.Core.Services.Abstract.IRecaptchaSettingsService>().GetRecaptchaSettings()?.SiteKey; 139 var useReCaptcha = !string.IsNullOrEmpty(reCaptchaSiteKey); 140 if (useReCaptcha) 141 { 142 //Note: the recaptcha js reference is added by the afteroutputobserver when the g-recaptcha class is in the output 143 144 var reCaptchaInvalidReason = System.Web.HttpContext.Current.Request.QueryString.Get("InvalidReason"); 145 if (!string.IsNullOrEmpty(reCaptchaInvalidReason)) 146 { 147 // returned to form from invalid recaptcha check 148 @SnippetStart("JavascriptsBottom") 149 <script> 150 151 function removeParams(sParam) { 152 var url = window.location.href.split('?')[0] + '?'; 153 var sPageURL = decodeURIComponent(window.location.search.substring(1)), 154 sURLVariables = sPageURL.split('&'), 155 sParameterName, 156 i; 157 158 for (i = 0; i < sURLVariables.length; i++) { 159 sParameterName = sURLVariables[i].split('='); 160 if (sParameterName[0] != sParam) { 161 url = url + sParameterName[0] + '=' + sParameterName[1] + '&' 162 } 163 } 164 return url.substring(0, url.length - 1); 165 } 166 167 window.addEventListener('load', function () { 168 169 // show message 170 alert('@System.Web.HttpUtility.JavaScriptStringEncode(Translate($"RecaptchaInvalidReason_{reCaptchaInvalidReason}", reCaptchaInvalidReason))'); 171 172 // remove invalid reason param from Url 173 var newUrl = removeParams("InvalidReason"); 174 document.location = newUrl; 175 176 }, false); 177 </script> 178 @SnippetEnd("JavascriptsBottom") 179 } 180 } 181 } 182 @using Kwpn.Models.Constants 183 @using Kwpn.Repository.Helpers 184 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 185 @{ 186 var googleTrackingCode = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTrackingCode); 187 if (!string.IsNullOrWhiteSpace(googleTrackingCode)) 188 { 189 <script> 190 191 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function() 192 { (i[r].q=i[r].q||[]).push(arguments)} 193 ,i[r].l=1*new Date();a=s.createElement(o), 194 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 195 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); 196 197 var virtualPageviewHasBeenSent = false; // this variable will be set to true in innovadis-seo.js when a virtual pageview has been fired and used to prevent double analytics tracking 198 199 ga('create', '@googleTrackingCode', 'auto'); 200 // NOTE: the analytics tracking event 'send' code, ga('send', 'pageview'), which is located here in the Google code samples is moved to innovadis-seo.js and called at the bottom of the master to be able to prevent double analytics tracking when a virtual pageview has already been fired. 201 </script> 202 } 203 } 204 @using Kwpn.Models.Constants 205 @using Kwpn.Repository.Helpers 206 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 207 @{ 208 var googleTagmanagerCodeHead = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTagManagerCode); 209 if (!string.IsNullOrWhiteSpace(googleTagmanagerCodeHead)) 210 { 211 <!-- Google Tag Manager --> 212 <script> 213 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 214 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 215 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 216 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 217 })(window, document, 'script', 'dataLayer', '@googleTagmanagerCodeHead'); 218 </script> 219 <!-- End Google Tag Manager --> 220 } 221 222 // Google Adsense 223 <script data-ad-client="ca-pub-3169257067253610" async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> 224 } 225 @RenderSnippet("HeaderContent") 226 @GoogleAdsHelper.GetGoogleAdsHeadScript(GetString("Item.Page.HeadScript"), GetString("Item.Page.HeadScript_2")) 227 <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> 228 @GetValue("Stylesheets") 229 @GetValue("Javascripts") 230 </head> 231 @{ 232 var bodyClass = (NavigationHelper.CurrentPageIsHomepage()) ? "homepage" : ""; 233 var copyRightMessage = Translate("CopyrightNotifyText", "© KWPN ALL RIGHTS RESERVED").JsEncode(); 234 var copyRightMessageTitle = Translate("CopyrightNotifyTitle", "Let op").JsEncode(); 235 } 236 <body data-pageid='@GetValue("Global:Page.ID")' class='@bodyClass' oncut='Swal.fire({ title: "@copyRightMessageTitle" ,text: "@copyRightMessage", customClass: layout.notifyCopyrightMessageClass });' oncopy='Swal.fire({ title: "@copyRightMessageTitle" ,text: "@copyRightMessage", customClass: layout.notifyCopyrightMessageClass });'> 237 @if (Kwpn.Repository.Helpers.LoginHelper.MyKwpnIsOffline()) { 238 239 var currentAreaItem = Dynamicweb.Frontend.PageView.Current()?.Area.Item; 240 if (currentAreaItem != null) { 241 var message = Kwpn.Repository.Helpers.ItemHelper.GetItemValue<string>(currentAreaItem, Kwpn.Models.Constants.StringConstants.DynamicwebConstants.MyKwpnOfflineText); 242 if (!string.IsNullOrEmpty(message)) { 243 <div class="ticker-wrap"> 244 <div class="ticker"> 245 <div class="ticker__item">@Translate("Ticker_Announcement", "Announcement")</div> 246 <div class="ticker__item">@message</div> 247 </div> 248 </div> 249 } 250 } 251 } 252 @using Kwpn.Models.Constants 253 @using Kwpn.Repository.Helpers 254 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 255 @{ 256 var googleTagmanagerCodeBody = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTagManagerCode); 257 if (!string.IsNullOrWhiteSpace(googleTagmanagerCodeBody)) 258 { 259 var googleTagmanagerIframe = string.Format("https://www.googletagmanager.com/ns.html?id={0}", googleTagmanagerCodeBody); 260 <!-- Google Tag Manager (noscript) --> 261 <noscript> 262 <iframe src="@googleTagmanagerIframe" height="0" width="0" style="display:none;visibility:hidden"></iframe> 263 </noscript> 264 <!-- End Google Tag Manager (noscript) --> 265 } 266 } 267 @using Dynamicweb.Frontend 268 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 269 @{ 270 var ridingHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "RidingHorse"); 271 var harnessHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "HarnessHorse"); 272 var geldingHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "Geldinghorse"); 273 var youngKwpn = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "Young"); 274 var actionUrl = SearchEngineFriendlyURLs.GetFriendlyUrl(string.Format("Default.aspx?ID={0}", GetGlobalValue("Global:Page.ID"))); 275 <div class="content-filter" id="content-filter"> 276 277 <button class="fa fa-close content-filter-close"></button> 278 <form method="post" action="@actionUrl" id="content-filter-form"> 279 <input type="hidden" name="ID" value='@GetGlobalValue("Global:Page.ID")'> 280 <input type="hidden" name="ChangeContentFilter" value="true"> 281 @if (ridingHorseRegions.Any()) 282 { 283 <div class="content-filter-category ridingHorse"> 284 <h3>@Translate("RidingHorse", "Riding horse")</h3> 285 @foreach (var ridingHorseRegion in ridingHorseRegions) 286 { 287 var checked_state = "data-x"; /*DW appends ="" to output @checked_state for some mysterious reason, dummy data-x to make output valid*/ 288 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(ridingHorseRegion.Value)) 289 { 290 checked_state = "checked=\"checked\" data-x"; 291 } 292 <input type="checkbox" id='@ridingHorseRegion.Value' name="content-filter-value[]" value='@ridingHorseRegion.Value' @checked_state=""> 293 <label for='@ridingHorseRegion.Value'>@ridingHorseRegion.Label</label><br> 294 } 295 </div> 296 } 297 @if (harnessHorseRegions.Any()) 298 { 299 <div class="content-filter-category harnessHorse"> 300 <h3>@Translate("HarnessHorse", "Harness horse")</h3> 301 @foreach (var harnessHorseRegion in harnessHorseRegions) 302 { 303 var checked_state = "data-x"; 304 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(harnessHorseRegion.Value)) 305 { 306 checked_state = "checked=\"checked\" data-x"; 307 } 308 <input type="checkbox" id='@harnessHorseRegion.Value' name="content-filter-value[]" value='@harnessHorseRegion.Value' @checked_state=""> 309 <label for='@harnessHorseRegion.Value'>@harnessHorseRegion.Label</label><br> 310 } 311 </div> 312 } 313 @if (geldingHorseRegions.Any()) 314 { 315 <div class="content-filter-category geldingHorse"> 316 <h3>@Translate("Geldinghorse", "Geldinghorse")</h3> 317 @foreach (var geldingHorseRegion in geldingHorseRegions) 318 { 319 var checked_state = "data-x"; 320 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(geldingHorseRegion.Value)) 321 { 322 checked_state = "checked=\"checked\" data-x"; 323 } 324 <input type="checkbox" id='@geldingHorseRegion.Value' name="content-filter-value[]" value='@geldingHorseRegion.Value' @checked_state=""> 325 <label for='@geldingHorseRegion.Value'>@geldingHorseRegion.Label</label><br> 326 } 327 </div> 328 } 329 @if (youngKwpn.Any()) 330 { 331 <div class="content-filter-category youngKwpn"> 332 <h3>@Translate("YoungKwpn", "Young KWPN")</h3> 333 @foreach (var young in youngKwpn) 334 { 335 var checked_state = "data-x"; 336 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(young.Value)) 337 { 338 checked_state = "checked=\"checked\" data-x"; 339 } 340 <input type="checkbox" id='@young.Value' name="content-filter-value[]" value='@young.Value' @checked_state=""> 341 <label for='@young.Value'>@young.Label</label><br> 342 } 343 </div> 344 } 345 <br style="clear: both;"> 346 <a href="#" class="orange_arrow_link content-filter-submit" name="content-filter-apply">@Translate("Apply", "Apply")</a> 347 <i class="fa waitingSpinner fa-spinner fa-spin fa-2x fa-fw margin-bottom"></i> 348 </form> 349 </div> 350 } 351 <div id="pagewrapper"> 352 @using Kwpn.Repository.Helpers 353 @using Kwpn.Models.Constants 354 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 355 @{ 356 var requestHostSearchMobile = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")); 357 var searchResultsPageIdMobile = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.SearchResultsPageId); 358 } 359 <div class="header_top_mobile hidden-md hidden-lg"> 360 <div class="mobile-logo"> 361 <a href='@NavigationHelper.GetHomepageUrl()' title='@Translate("GoToHomepage", "Go to the homepage").JsEncode()'><img class="logo" src="/Files/Templates/Designs/Kwpn/images/kwpn-logo.svg"></a> 362 </div> 363 <div class="menuMobile"> 364 <div class="hamburgerMenu"><i class="fa fa-reorder"></i></div> 365 <div class="mobile-flags"> 366 @{ 367 var mobileLanguages = GetLoop("Languages"); 368 if (mobileLanguages.Count > 1) 369 { 370 foreach (var mobileLanguage in mobileLanguages) 371 { 372 var languageFlag = ""; 373 var languageClass = ""; 374 var languageCulture = mobileLanguage.GetString("Culture"); 375 var languagePageId = mobileLanguage.GetString("PageID"); 376 var languageFirstActivePageId = mobileLanguage.GetString("FirstActivePageID"); 377 378 var mobileGotoPage = AreaHelper.ChangeLanguageUrl( 379 GetString("DwPageID"), 380 languagePageId, 381 GetString("DWExtranetAction"), 382 languageFirstActivePageId, 383 languageCulture 384 ); 385 386 if (!string.IsNullOrWhiteSpace(languageCulture)) 387 { 388 var languageCode = languageCulture.Split('-')[0]; 389 if (languageCode.Equals("en", StringComparison.InvariantCultureIgnoreCase)) 390 { 391 languageCode = "gb"; 392 } 393 languageFlag = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/Flags/{1}.svg", requestHostSearchMobile, languageCode); 394 if (languageCulture.Equals(GetGlobalValue("Global:Area.LongLang"), StringComparison.InvariantCultureIgnoreCase)) 395 { 396 languageClass = "active"; 397 } 398 <a href="@mobileGotoPage" class="@languageClass"><img src='@languageFlag' class="switch-language"></a> 399 } 400 } 401 } 402 } 403 </div> 404 405 @if (!string.IsNullOrWhiteSpace(searchResultsPageIdMobile)) 406 { 407 var searchQuery = GetString("Ecom:Search.Query"); 408 <form class="search-form" action="default.aspx" method="get" name="GlobalSearchForm" id="mobileSearch" _lpchecked="1"> 409 <input type="hidden" name="ID" value='@searchResultsPageIdMobile'> 410 <input type="text" name="q" class="form-control" required="required" autocomplete="off" maxlength="65" placeholder='@Translate("SearchPlaceholder", "Search")' value='@searchQuery' id="mobileSearchTerm"> 411 <button class="btn btn-default" id="btn-mobile-search" type="submit"><i class="fa fa-search"></i></button> 412 </form> 413 } 414 415 @NavigationHelper.GetMainNavigationMobile(StringConstants.NavigationTags.Main, GetGlobalValue("Global:Page.ID"), Dynamicweb.Frontend.PageView.Current().Area.Culture) 416 417 @{ // ORANGE BUTTON 418 var orangeButtonLink = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.LoginPageId); 419 var orangeButtonText = Translate("LogIn", "Log in"); 420 421 if (LoginHelper.CurrentUserIsLoggedIn()) 422 { 423 orangeButtonLink = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.DashboardPageId); 424 orangeButtonText = Translate("MyDashboard", "My dashboard"); 425 426 var currentPage = string.Format("/Default.aspx?{0}", System.Web.HttpContext.Current.Request.QueryString).UrlEncode(); 427 var logOffLink = string.Format("/Admin/Public/ExtranetLogoff.aspx?redirect={0}", currentPage); 428 var seoPageview = string.Format("/{0}/{1}", GetGlobalValue("Global:Area.LongLang").ToLower(), TranslationHelper.Translate("SEO_TrackPageviewPage_UserLoggedOff", GetGlobalValue("Global:Area.LongLang").ToLower())); 429 430 // ADD Logoff to navigation 431 <script> 432 $(document).ready(function () { 433 // add logoff button 434 $(".menuMobile ul").append("<li><a href='@logOffLink' onclick=\"SEO.trackPageView('@seoPageview')\"><i class='fa fa-chevron-right'></i>@Translate("LogOff", "Log off")</a></li>"); 435 }); 436 </script> 437 } 438 <a href='@orangeButtonLink' class="inloggenMobielLink"> 439 <div class="inloggenMobiel"> 440 <div style="width:200px"> 441 <i class='fa fa-chevron-right'></i>@orangeButtonText 442 </div> 443 </div> 444 </a> 445 } 446 </div> 447 </div> 448 <div class="container header_top hidden-xs hidden-sm"> 449 <div class="row no-gutter"> 450 <div class="col-xs-4 col-xs-offset-6"> 451 @using System 452 @using Kwpn.Models.Constants 453 @using Kwpn.Repository.Helpers 454 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 455 @{ 456 var searchResultsPageId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.SearchResultsPageId); 457 var requestHostSearch = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")); 458 <div class="searchwrapper well-sm"> 459 460 <div class="row"> 461 <div class="col-xs-3 text-center"> 462 @{ 463 var websiteLanguages = GetLoop("Languages"); 464 if (websiteLanguages.Count > 1) 465 { 466 foreach (var websiteLanguage in websiteLanguages) 467 { 468 var languageFlag = ""; 469 var languageClass = ""; 470 var languageCulture = websiteLanguage.GetString("Culture"); 471 var languagePageId = websiteLanguage.GetString("PageID"); 472 var languageFirstActivePageId = websiteLanguage.GetString("FirstActivePageID"); 473 474 var gotoPage = AreaHelper.ChangeLanguageUrl( 475 GetString("DwPageID"), 476 languagePageId, 477 GetString("DWExtranetAction"), 478 languageFirstActivePageId, 479 languageCulture 480 ); 481 482 if (!string.IsNullOrWhiteSpace(languageCulture)) 483 { 484 var languageCode = languageCulture.Split('-')[0]; 485 if (languageCode.Equals("en", StringComparison.InvariantCultureIgnoreCase)) 486 { 487 languageCode = "gb"; 488 } 489 languageFlag = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/Flags/{1}.svg", requestHostSearch, languageCode); 490 if (languageCulture.Equals(GetGlobalValue("Global:Area.LongLang"), StringComparison.InvariantCultureIgnoreCase)) 491 { 492 languageClass = "active"; 493 } 494 <a href="@gotoPage" class="@languageClass"><img src='@languageFlag' class="switch-language"></a> 495 } 496 } 497 } 498 499 } 500 </div> 501 <div class="col-xs-9"> 502 @if (!string.IsNullOrWhiteSpace(searchResultsPageId)) 503 { 504 var searchQuery = GetString("Ecom:Search.Query"); 505 <form class="search-form" action="default.aspx" method="get" name="GlobalSearchForm" id="desktopSearch"> 506 <input type="hidden" name="ID" value='@searchResultsPageId'> 507 <div class="input-group"> 508 <input type="text" name="q" autocomplete="off" class="form-control" required="required" maxlength="65" placeholder='@Translate("SearchPlaceholder", "Search")' value='@searchQuery' id="desktopSearchTerm"> 509 <span class="input-group-addon" id="btn-search-visible"> 510 <i class="fa fa-search"></i> 511 </span> 512 </div> 513 </form> 514 } 515 </div> 516 </div> 517 </div> 518 } 519 </div> 520 <div class="col-xs-2"> 521 @using System 522 @using Kwpn.Repository.Helpers 523 @using Kwpn.Models.Constants 524 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 525 @{ 526 var getOnlyHttpHandlerStartDate = Kwpn.Models.Config.ExtraConfig.ExtraConfiguration.EquisSettings.GetOnlyHttpHandlerStartDate; 527 var getOnlyMode = getOnlyHttpHandlerStartDate.HasValue && DateTime.Now >= getOnlyHttpHandlerStartDate.Value; 528 } 529 530 @if (!getOnlyMode) 531 { 532 if (LoginHelper.MyKwpnIsOffline()) 533 { 534 <div class="offline-wrapper"></div> 535 } 536 else if (LoginHelper.CurrentUserIsLoggedIn()) 537 { 538 var currentUser = Kwpn.Repository.Repositories.KwpnUsers.CurrentUser(); 539 <div id="myaccountMenuWrapper"> 540 <button class="btn-lg btn-primary login-button" id="myaccountButton">@Translate("MyAccount", "My account")</button> 541 <div class="myaccountMenu hidden-xs hidden-sm" id="myaccountMenu" style='display: none;'> 542 @NavigationHelper.GetAccountNavigation( 543 StringConstants.NavigationTags.Account, 544 GetGlobalValue("Global:Page.ID"), 545 Translate("GoToMyDashboard", "Go to my dashboard"), 546 Translate("LogOff", "Log off"), 547 currentUser.IsBlocked 548 ) 549 </div> 550 </div> 551 } 552 else 553 { 554 var loginParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.LoginParagraphId); 555 if (!string.IsNullOrWhiteSpace(loginParagraphId) && Convert.ToInt32(loginParagraphId) > 0) 556 { 557 var loginPopupDisplay = "none"; 558 if (!string.IsNullOrWhiteSpace(LoginHelper.GetLoginError()) && 559 !GetGlobalValue("Global:Page.ID").Equals(AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.LoginPageId))) 560 { 561 loginPopupDisplay = "block"; 562 } 563 564 var loginAction = System.Web.HttpContext.Current.Request.QueryString.Get("LoginAction"); 565 if (!string.IsNullOrWhiteSpace(loginAction) && loginAction.Equals("Recovery", StringComparison.InvariantCultureIgnoreCase)) 566 { 567 // on password recovery the login module won't show. Probably due to duplicate input field names. 568 // in this case link to login page in stead of showing login form in layover 569 var loginPage = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.LoginPageId); 570 var clickText = string.Format("{0} <i class='fa fa-spinner fa-spin'></i>", Translate("LogIn", "Log in")).JsEncode(); 571 <button class="btn-lg btn-primary login-button link" onclick="$(this).html('@clickText');window.location.href='@loginPage';">@Translate("LogIn", "Log in")</button> 572 } 573 else 574 { 575 <button class="btn-lg btn-primary login-button" onclick="$('.inloggenMenu').toggle();">@Translate("LogIn", "Log in")</button> 576 } 577 578 <div class="inloggenMenu hidden-xs hidden-sm" style='display: @loginPopupDisplay;'> 579 <a href="javascript:void(0);" class="close-login" onclick="$('.inloggenMenu').toggle();"><i class="fa fa-close"></i></a> 580 @RenderParagraphContent(Convert.ToInt32(loginParagraphId)) 581 </div> 582 } 583 } 584 } 585 </div> 586 </div> 587 </div> 588 @using Kwpn.Repository.Helpers 589 @using Kwpn.Models.Constants 590 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 591 <div class="container header_content hidden-xs hidden-sm"> 592 <div class="row"> 593 <div class="col-md-3 col-lg-4"> 594 <div class="logo"> 595 <a href='@NavigationHelper.GetHomepageUrl()' title='@Translate("GoToHomepage", "Go to the homepage").JsEncode()'><img src="/Files/Templates/Designs/Kwpn/images/kwpn-logo.svg"></a> 596 </div> 597 </div> 598 <div class="col-md-9 col-lg-8"> 599 <div class="row"> 600 <div class="header col-lg-12 visible-lg visible-md visible-sm"> 601 @NavigationHelper.GetMainNavigation(StringConstants.NavigationTags.Main, GetGlobalValue("Global:Page.ID"), Dynamicweb.Frontend.PageView.Current().Area.Culture) 602 </div> 603 </div> 604 </div> 605 </div> 606 </div> 607 608 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 609 <div id="pagecontent" class="container" data-showmembership='@GetBoolean("Item.Page.ShowMembership")' data-showgotonavigation='@GetBoolean("Item.Page.ShowGotoNavigation")' data-showpartnerlogos='@GetBoolean("Item.Page.ShowCustomerLogos")'>@GetValue("DwContent(pagecontent)")</div> 610 @{ 611 var homepageId = Kwpn.Repository.Helpers.AreaHelper.GetAreaItemStringValueBySystemName(Kwpn.Models.Constants.StringConstants.PageIdSystemNames.HomepageId); 612 if (!GetGlobalValue("Global:Page.ID").Equals(homepageId) && !Kwpn.Repository.Helpers.LoginHelper.CurrentUserIsLoggedIn()) 613 { 614 var membershipParagraphId = Kwpn.Repository.Helpers.AreaHelper.GetAreaItemStringValueBySystemName(Kwpn.Models.Constants.StringConstants.ParagraphSystemNames.MembershipParagraphId); 615 if (!string.IsNullOrWhiteSpace(membershipParagraphId) && Convert.ToInt32(membershipParagraphId) > 0) 616 { 617 <div id="membershipwrapper">@RenderParagraphContent(Convert.ToInt32(membershipParagraphId))</div> 618 } 619 } 620 } 621 @using Kwpn.Models.Constants 622 @using Kwpn.Repository.Helpers 623 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 624 @{ 625 var partnerLogosParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.PartnerLogoParagraphId); 626 var showPartnerLogos = !string.IsNullOrWhiteSpace(partnerLogosParagraphId) && Convert.ToInt32(partnerLogosParagraphId) > 0; 627 var sponsorLogosParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.SponsorLogoParagraphId); 628 var showSponsorLogos = !string.IsNullOrWhiteSpace(sponsorLogosParagraphId) && Convert.ToInt32(sponsorLogosParagraphId) > 0; 629 if (showPartnerLogos || showSponsorLogos) 630 { 631 <div class="container" id="footerlogos"> 632 @if (showPartnerLogos) 633 { 634 <div class="row logolist logolist-blue" id="partner-logos"> 635 <div class="col-xs-12 text-center"> 636 @RenderParagraphContent(Convert.ToInt32(partnerLogosParagraphId)) 637 </div> 638 </div> 639 } 640 @if (showSponsorLogos) 641 { 642 <div class="row logolist" id="sponsor-logos"> 643 <div class="col-xs-12 text-center"> 644 @RenderParagraphContent(Convert.ToInt32(sponsorLogosParagraphId)) 645 </div> 646 </div> 647 } 648 </div> 649 } 650 } 651 @using Dynamicweb.Content 652 @using Dynamicweb.Frontend 653 @using Kwpn.Models.Constants 654 @using Kwpn.Repository.Helpers 655 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 656 @{ 657 var newsletterParagraphId = int.Parse(AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.NewsletterParagraphId)); 658 659 var quickLinksColumn1Folder = Dynamicweb.Services.Pages.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, Kwpn.Models.Constants.StringConstants.NavigationTags.InternalLinksColumn1); 660 var quickLinksColumn1 = Dynamicweb.Services.Pages.GetPagesByParentID(quickLinksColumn1Folder?.ID ?? 0); 661 662 var quickLinksColumn2Folder = Dynamicweb.Services.Pages.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, Kwpn.Models.Constants.StringConstants.NavigationTags.InternalLinksColumn2); 663 var quickLinksColumn2 = Dynamicweb.Services.Pages.GetPagesByParentID(quickLinksColumn2Folder?.ID ?? 0); 664 } 665 <div class="container" id="footerlinks"> 666 <div class="row" id="goto-navigation"> 667 <div class="col-xs-12 col-sm-6 col-md-3"> 668 <h3>@Translate("NavigationHeader_QuickLinksColumn1", "Directly to")</h3> 669 <ul id="navigation_internallinks_column1"> 670 @foreach (var ql1 in quickLinksColumn1) 671 { 672 <li><a href="@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(ql1.ID)">@ql1.MenuText</a></li> 673 } 674 </ul> 675 </div> 676 <div class="col-xs-12 col-sm-6 col-md-3"> 677 <h3>@Translate("NavigationHeader_QuickLinksColumn2", "Our products")</h3> 678 <ul id="navigation_internallinks_column2"> 679 @foreach (var ql2 in quickLinksColumn2) 680 { 681 var link = SearchEngineFriendlyURLs.GetFriendlyUrl(ql2.ID); 682 // determine icon based on name ... not very pretty, but I don't have another way .... 683 var listicon = ""; 684 if (ql2.MenuText.IndexOf("database", StringComparison.OrdinalIgnoreCase) >= 0) { 685 // KWPN Database 686 listicon ="<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_Horse.svg'>"; 687 } else if (ql2.MenuText.IndexOf(".tv", StringComparison.OrdinalIgnoreCase) >= 0) 688 { 689 // KWPN.tv 690 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_TV.svg'>"; 691 if (LoginHelper.CurrentUserIsLoggedIn()) 692 { 693 link = KwpnTvHelper.GetKwpnAutoLoginLink(System.Threading.Thread.CurrentThread.CurrentCulture.Name); 694 } 695 else 696 { 697 var pageService = new PageService(); 698 link = $"/Default.aspx?ID={pageService.GetPageByNavigationTag(PageView.Current().AreaID, StringConstants.PageIdSystemNames.KwpnTvOverviewPageId)?.ID}"; ; 699 } 700 } 701 else if (ql2.MenuText.IndexOf("mark", StringComparison.OrdinalIgnoreCase) >= 0 || ql2.MenuText.IndexOf("sale", StringComparison.OrdinalIgnoreCase) >= 0) 702 { 703 // KWPN Marktplaats, KWPN Market place, KWPN horses for sale 704 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_ForSale.svg'>"; 705 } 706 else if (ql2.MenuText.IndexOf("shop", StringComparison.OrdinalIgnoreCase) >= 0) 707 { 708 // KWPN Webshop 709 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_Webshop.svg'>"; 710 } 711 712 var listclass = string.IsNullOrWhiteSpace(listicon) ? "" : " class='icon'"; 713 var listitem = $"<li{listclass}><a href='{link}'>{listicon}{ql2.MenuText}</a>"; 714 @listitem 715 } 716 </li{listclass}></ul> 717 </div> 718 <a name="newsletter"></a> 719 <div class="col-xs-12 col-sm-6 col-md-3"> 720 @if (newsletterParagraphId > 0) 721 { 722 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 723 @*If not logged in or logged in and not subscribed to the monthly newsletter, then show newsletter subscription*@ 724 <h3>@Translate("NewsletterSubscriptionHeader", "Stay informed")</h3> 725 <p>@Translate("NewsletterSubscriptionIntro", "Receive our monthly newsletter filled with updates, events, tips and tricks!")</p> 726 @*If logged in, then show button to profile page (with subscribe/unsubscribe checkbox)*@ 727 728 @RenderParagraphContent(newsletterParagraphId) 729 } 730 </div> 731 <div class="col-xs-12 col-sm-6 col-md-3"> 732 @using Kwpn.Models.Constants 733 @using Kwpn.Repository.Helpers 734 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 735 <h3>@Translate("NavigationHeader_SocialMedia", "Social media")</h3> 736 <ul> 737 @{ 738 var facebookUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Facebook); 739 if (!string.IsNullOrWhiteSpace(facebookUrl)) 740 { 741 <li class="facebook"><a href='@facebookUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Facebook", "Facebook")</a></li> 742 } 743 var instagramUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Instagram); 744 if (!string.IsNullOrWhiteSpace(instagramUrl)) 745 { 746 <li class="instagram"><a href='@instagramUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Instagram", "Instagram")</a></li> 747 } 748 var linkedInUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.LinkedIn); 749 if (!string.IsNullOrWhiteSpace(linkedInUrl)) 750 { 751 <li class="linkedIn"><a href='@linkedInUrl.JsEncode()' target="_blank">@Translate("SocialMedia_LinkedIn", "LinkedIn")</a></li> 752 } 753 var twitterUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Twitter); 754 if (!string.IsNullOrWhiteSpace(twitterUrl)) 755 { 756 <li class="twitter"><a href='@twitterUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Twitter", "Twitter")</a></li> 757 } 758 var youtubeUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.YouTube); 759 if (!string.IsNullOrWhiteSpace(youtubeUrl)) 760 { 761 <li class="youtube"><a href='@youtubeUrl.JsEncode()' target="_blank">@Translate("SocialMedia_YouTube", "YouTube")</a></li> 762 } 763 var vimeoUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Vimeo); 764 if (!string.IsNullOrWhiteSpace(vimeoUrl)) 765 { 766 <li class="vimeo"><a href='@vimeoUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Vimeo", "Vimeo")</a></li> 767 } 768 var tiktokUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.TikTok); 769 if (!string.IsNullOrWhiteSpace(tiktokUrl)) 770 { 771 <li class="tiktok"><a href='@tiktokUrl.JsEncode()' target="_blank">@Translate("SocialMedia_TikTok", "TikTok")</a></li> 772 } 773 } 774 </ul> 775 </div> 776 </div> 777 </div> 778 </div> 779 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 780 @{ 781 var requestHostFooter = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")); 782 var footerLogo = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/kwpn-footer-logo.svg", requestHostFooter); 783 <div id="footerwrapper"> 784 <div class="container"> 785 <div class="row"> 786 <div class="col-xs-12 col-sm-12 col-md-10"> 787 @GetValue("DwNavigation(navigationfooter)") 788 </div> 789 <div class="hidden-xs hidden-sm col-md-2"> 790 <img src="@footerLogo" id="footer-logo"> 791 </div> 792 </div> 793 </div> 794 </div> 795 } 796 @using System.Web.Mvc; 797 @using Kwpn.Core.Services.Abstract; 798 799 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 800 801 @{ 802 IKwpnTvService tvService = DependencyResolver.Current.GetService<IKwpnTvService>(); 803 } 804 805 <div id="kwpnlink"> 806 <a href="@tvService.GetKwpnTvLink()" target="_blank"><i class="fa fa-television" aria-hidden="true"></i><span>@Translate("KwnpTvLinkText", "Go to: KWPN TV")</span> <i class="fa fa-chevron-right"></i></a> 807 </div> 808 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 809 <div class="modal fade" id="equis-offline" tabindex="-1" role="dialog" aria-labelledby="equis-offline-modal" aria-hidden="true"> 810 <div class="modal-dialog"> 811 <div class="modal-content"> 812 <div class="modal-header">@Translate("EquisOffline_Modal_HeaderText", "Back office offline")</div> 813 <div class="modal-body"></div> 814 <div class="modal-footer"> 815 <a class="orange_balloon_link modal-ok" data-dismiss="modal" href="javascript:void(0);">@Translate("EquisOffline_Modal_OkButtonText", "Ok")</a> 816 </div> 817 </div> 818 </div> 819 </div> 820 @RenderSnippet("JavascriptsBottom") 821 <div class="overlay"></div> 822 @{ 823 var loginError = LoginHelper.GetLoginError(); 824 if (!string.IsNullOrWhiteSpace(loginError)) 825 { 826 <script> 827 $(document).ready(function () { 828 $(".loginErrorMessage span").text('@Translate(loginError, "Incorrect membership number or password")'); 829 $(".loginErrorMessage span").show(); 830 }); 831 </script> 832 } 833 <script> 834 $(document).ready(function () { 835 // note: prevent copying text by using right click function on master's body tag 836 // check if page is market 837 $(".marketplace-page")[0] ? localStorage.setItem("marketPlace", true) : localStorage.removeItem("marketPlace"); 838 839 // tooltip initializer 840 $("[data-toggle='tooltip']").tooltip(); 841 842 // prevent right click on images 843 $('img').on('contextmenu', function () { 844 return false; 845 }); 846 $(".photo").on('contextmenu', function () { 847 return false; 848 }); 849 $(".fancybox-image").on('contextmenu', function () { 850 return false; 851 }); 852 853 @{ 854 // seo login, log when user logs in succesfully 855 var loginStatus = System.Web.HttpContext.Current.Session[Kwpn.Models.Constants.StringConstants.SessionVariables.LoginStatus]; 856 if (loginStatus != null && loginStatus.Equals(Kwpn.Models.Enumerations.LoginStatus.OK)) 857 { 858 System.Web.HttpContext.Current.Session[Kwpn.Models.Constants.StringConstants.SessionVariables.LoginStatus] = Kwpn.Models.Enumerations.LoginStatus.OKDone; 859 var seoPageview = string.Format("/{0}/{1}", GetGlobalValue("Global:Area.LongLang").ToLower(), Translate("SEO_TrackPageviewPage_UserLoggedIn", "logged-in")); 860 <Text> 861 SEO.trackPageView("@seoPageview"); 862 </Text> 863 } 864 } 865 866 // seo original pageview tracking 867 SEO.trackOriginalView(); 868 }); 869 </script> 870 } 871 </body> 872 </html>