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 316
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>