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