Error executing template "Designs/Kwpn/_parsed/HorsePage.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_30b4960dadc1443da30df387d0ff6931.Execute() in D:\inetpub\wwwroot\www.kwpn.nl\Files\Templates\Designs\Kwpn\_parsed\HorsePage.parsed.cshtml:line 416
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.1.0.min.js"></script>
123 <script src="@requestHostHeadSection/Scripts/jquery-ui-1.12.0.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/Files/Templates/Designs/Kwpn/Scripts/jquery.tmpl.js"></script>
130 <script src="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Scripts/Custom.js"></script>
131 <script src="@requestHostHeadSection/Files/Templates/Designs/Kwpn/Scripts/innovadis-seo.js"></script>
132 <script src="@requestHostHeadSection/Scripts/innovadis-checkbox-list.js"></script>
133 <script src="@requestHostHeadSection/Scripts/jquery.orgchart.js"></script>
134 @{
135 var reCaptchaSiteKey = Kwpn.Models.Constants.StringConstants.ApplicationVariables.RecaptchaSiteKey;
136 var useReCaptcha = !string.IsNullOrEmpty(reCaptchaSiteKey);
137 if (useReCaptcha)
138 {
139 //Note: the recaptcha js reference is added by the afteroutputobserver when the g-recaptcha class is in the output
140
141 var reCaptchaInvalidReason = System.Web.HttpContext.Current.Request.QueryString.Get("InvalidReason");
142 if (!string.IsNullOrEmpty(reCaptchaInvalidReason))
143 {
144 // returned to form from invalid recaptcha check
145 @SnippetStart("JavascriptsBottom")
146 <script>
147
148 function removeParams(sParam) {
149 var url = window.location.href.split('?')[0] + '?';
150 var sPageURL = decodeURIComponent(window.location.search.substring(1)),
151 sURLVariables = sPageURL.split('&'),
152 sParameterName,
153 i;
154
155 for (i = 0; i < sURLVariables.length; i++) {
156 sParameterName = sURLVariables[i].split('=');
157 if (sParameterName[0] != sParam) {
158 url = url + sParameterName[0] + '=' + sParameterName[1] + '&'
159 }
160 }
161 return url.substring(0, url.length - 1);
162 }
163
164 window.addEventListener('load', function () {
165
166 // show message
167 alert('@System.Web.HttpUtility.JavaScriptStringEncode(Translate($"RecaptchaInvalidReason_{reCaptchaInvalidReason}", reCaptchaInvalidReason))');
168
169 // remove invalid reason param from Url
170 var newUrl = removeParams("InvalidReason");
171 document.location = newUrl;
172
173 }, false);
174 </script>
175 @SnippetEnd("JavascriptsBottom")
176 }
177 }
178 }
179 @using Kwpn.Models.Constants
180 @using Kwpn.Repository.Helpers
181 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
182 @{
183 var googleTrackingCode = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTrackingCode);
184 if (!string.IsNullOrWhiteSpace(googleTrackingCode))
185 {
186 <script>
187
188 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function()
189 { (i[r].q=i[r].q||[]).push(arguments)}
190 ,i[r].l=1*new Date();a=s.createElement(o),
191 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
192 })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
193
194 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
195
196 ga('create', '@googleTrackingCode', 'auto');
197 // 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.
198 </script>
199 }
200 }
201 @using Kwpn.Models.Constants
202 @using Kwpn.Repository.Helpers
203 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
204 @{
205 var googleTagmanagerCodeHead = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTagManagerCode);
206 if (!string.IsNullOrWhiteSpace(googleTagmanagerCodeHead))
207 {
208 <!-- Google Tag Manager -->
209 <script>
210 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
211 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
212 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
213 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
214 })(window, document, 'script', 'dataLayer', '@googleTagmanagerCodeHead');
215 </script>
216 <!-- End Google Tag Manager -->
217 }
218
219 // Google Adsense
220 <script data-ad-client="ca-pub-3169257067253610" async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
221 }
222 @RenderSnippet("HeaderContent")
223 @GoogleAdsHelper.GetGoogleAdsHeadScript(GetString("Item.Page.HeadScript"), GetString("Item.Page.HeadScript_2"))
224 <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
225 @GetValue("Stylesheets")
226 @GetValue("Javascripts")
227 </head>
228 @{
229 var bodyClass = (NavigationHelper.CurrentPageIsHomepage()) ? "homepage" : "";
230 var copyRightMessage = Translate("CopyrightNotifyText", "© KWPN ALL RIGHTS RESERVED").JsEncode();
231 var copyRightMessageTitle = Translate("CopyrightNotifyTitle", "Let op").JsEncode();
232 }
233 <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 });'>
234 @if (Kwpn.Repository.Helpers.LoginHelper.MyKwpnIsOffline()) {
235
236 var currentAreaItem = Dynamicweb.Frontend.PageView.Current()?.Area.Item;
237 if (currentAreaItem != null) {
238 var message = Kwpn.Repository.Helpers.ItemHelper.GetItemValue<string>(currentAreaItem, Kwpn.Models.Constants.StringConstants.DynamicwebConstants.MyKwpnOfflineText);
239 if (!string.IsNullOrEmpty(message)) {
240 <div class="ticker-wrap">
241 <div class="ticker">
242 <div class="ticker__item">@Translate("Ticker_Announcement", "Announcement")</div>
243 <div class="ticker__item">@message</div>
244 </div>
245 </div>
246 }
247 }
248 }
249 @using Kwpn.Models.Constants
250 @using Kwpn.Repository.Helpers
251 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
252 @{
253 var googleTagmanagerCodeBody = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ThirdPartyConfiguration.GoogleTagManagerCode);
254 if (!string.IsNullOrWhiteSpace(googleTagmanagerCodeBody))
255 {
256 var googleTagmanagerIframe = string.Format("https://www.googletagmanager.com/ns.html?id={0}", googleTagmanagerCodeBody);
257 <!-- Google Tag Manager (noscript) -->
258 <noscript>
259 <iframe src="@googleTagmanagerIframe" height="0" width="0" style="display:none;visibility:hidden"></iframe>
260 </noscript>
261 <!-- End Google Tag Manager (noscript) -->
262 }
263 }
264 @using Dynamicweb.Frontend
265 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
266 @{
267 var ridingHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "RidingHorse");
268 var harnessHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "HarnessHorse");
269 var geldingHorseRegions = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "Geldinghorse");
270 var youngKwpn = Kwpn.Repository.Helpers.ContentFilterHelper.GetRegions(GetGlobalValue("Global:Area.LongLang"), "Young");
271 var actionUrl = SearchEngineFriendlyURLs.GetFriendlyUrl(string.Format("Default.aspx?ID={0}", GetGlobalValue("Global:Page.ID")));
272 <div class="content-filter" id="content-filter">
273
274 <button class="fa fa-close content-filter-close"></button>
275 <form method="post" action="@actionUrl" id="content-filter-form">
276 <input type="hidden" name="ID" value='@GetGlobalValue("Global:Page.ID")'>
277 <input type="hidden" name="ChangeContentFilter" value="true">
278 @if (ridingHorseRegions.Any())
279 {
280 <div class="content-filter-category ridingHorse">
281 <h3>@Translate("RidingHorse", "Riding horse")</h3>
282 @foreach (var ridingHorseRegion in ridingHorseRegions)
283 {
284 var checked_state = "data-x"; /*DW appends ="" to output @checked_state for some mysterious reason, dummy data-x to make output valid*/
285 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(ridingHorseRegion.Value))
286 {
287 checked_state = "checked=\"checked\" data-x";
288 }
289 <input type="checkbox" id='@ridingHorseRegion.Value' name="content-filter-value[]" value='@ridingHorseRegion.Value' @checked_state="">
290 <label for='@ridingHorseRegion.Value'>@ridingHorseRegion.Label</label><br>
291 }
292 </div>
293 }
294 @if (harnessHorseRegions.Any())
295 {
296 <div class="content-filter-category harnessHorse">
297 <h3>@Translate("HarnessHorse", "Harness horse")</h3>
298 @foreach (var harnessHorseRegion in harnessHorseRegions)
299 {
300 var checked_state = "data-x";
301 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(harnessHorseRegion.Value))
302 {
303 checked_state = "checked=\"checked\" data-x";
304 }
305 <input type="checkbox" id='@harnessHorseRegion.Value' name="content-filter-value[]" value='@harnessHorseRegion.Value' @checked_state="">
306 <label for='@harnessHorseRegion.Value'>@harnessHorseRegion.Label</label><br>
307 }
308 </div>
309 }
310 @if (geldingHorseRegions.Any())
311 {
312 <div class="content-filter-category geldingHorse">
313 <h3>@Translate("Geldinghorse", "Geldinghorse")</h3>
314 @foreach (var geldingHorseRegion in geldingHorseRegions)
315 {
316 var checked_state = "data-x";
317 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(geldingHorseRegion.Value))
318 {
319 checked_state = "checked=\"checked\" data-x";
320 }
321 <input type="checkbox" id='@geldingHorseRegion.Value' name="content-filter-value[]" value='@geldingHorseRegion.Value' @checked_state="">
322 <label for='@geldingHorseRegion.Value'>@geldingHorseRegion.Label</label><br>
323 }
324 </div>
325 }
326 @if (youngKwpn.Any())
327 {
328 <div class="content-filter-category youngKwpn">
329 <h3>@Translate("YoungKwpn", "Young KWPN")</h3>
330 @foreach (var young in youngKwpn)
331 {
332 var checked_state = "data-x";
333 if (Kwpn.Repository.Helpers.ContentFilterHelper.CookieContainsValue(young.Value))
334 {
335 checked_state = "checked=\"checked\" data-x";
336 }
337 <input type="checkbox" id='@young.Value' name="content-filter-value[]" value='@young.Value' @checked_state="">
338 <label for='@young.Value'>@young.Label</label><br>
339 }
340 </div>
341 }
342 <br style="clear: both;">
343 <a href="#" class="orange_arrow_link content-filter-submit" name="content-filter-apply">@Translate("Apply", "Apply")</a>
344 <i class="fa waitingSpinner fa-spinner fa-spin fa-2x fa-fw margin-bottom"></i>
345 </form>
346 </div>
347 }
348 <div id="pagewrapper">
349 @using Kwpn.Repository.Helpers
350 @using Kwpn.Models.Constants
351 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
352 @{
353 var requestHostSearchMobile = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host"));
354 var searchResultsPageIdMobile = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.SearchResultsPageId);
355 }
356 <div class="header_top_mobile hidden-md hidden-lg">
357 <div class="mobile-logo">
358 <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>
359 </div>
360 <div class="menuMobile">
361 <div class="hamburgerMenu"><i class="fa fa-reorder"></i></div>
362 <div class="mobile-flags">
363 @{
364 var mobileLanguages = GetLoop("Languages");
365 if (mobileLanguages.Count > 1)
366 {
367 foreach (var mobileLanguage in mobileLanguages)
368 {
369 var languageFlag = "";
370 var languageClass = "";
371 var languageCulture = mobileLanguage.GetString("Culture");
372 var languagePageId = mobileLanguage.GetString("PageID");
373 var languageFirstActivePageId = mobileLanguage.GetString("FirstActivePageID");
374
375 var mobileGotoPage = AreaHelper.ChangeLanguageUrl(
376 GetString("DwPageID"),
377 languagePageId,
378 GetString("DWExtranetAction"),
379 languageFirstActivePageId,
380 languageCulture
381 );
382
383 if (!string.IsNullOrWhiteSpace(languageCulture))
384 {
385 var languageCode = languageCulture.Split('-')[0];
386 if (languageCode.Equals("en", StringComparison.InvariantCultureIgnoreCase))
387 {
388 languageCode = "gb";
389 }
390 languageFlag = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/Flags/{1}.svg", requestHostSearchMobile, languageCode);
391 if (languageCulture.Equals(GetGlobalValue("Global:Area.LongLang"), StringComparison.InvariantCultureIgnoreCase))
392 {
393 languageClass = "active";
394 }
395 <a href="@mobileGotoPage" class="@languageClass"><img src='@languageFlag' class="switch-language"></a>
396 }
397 }
398 }
399 }
400 </div>
401
402 @if (!string.IsNullOrWhiteSpace(searchResultsPageIdMobile))
403 {
404 var searchQuery = GetString("Ecom:Search.Query");
405 <form class="search-form" action="default.aspx" method="get" name="GlobalSearchForm" id="mobileSearch" _lpchecked="1">
406 <input type="hidden" name="ID" value='@searchResultsPageIdMobile'>
407 <input type="text" name="q" class="form-control" required="required" autocomplete="off" maxlength="65" placeholder='@Translate("SearchPlaceholder", "Search")' value='@searchQuery' id="mobileSearchTerm">
408 <button class="btn btn-default" id="btn-mobile-search" type="submit"><i class="fa fa-search"></i></button>
409 </form>
410 }
411
412 @NavigationHelper.GetMainNavigationMobile(StringConstants.NavigationTags.Main, GetGlobalValue("Global:Page.ID"), Dynamicweb.Frontend.PageView.Current().Area.Culture)
413
414 @{ // ORANGE BUTTON
415 var orangeButtonLink = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.LoginPageId);
416 var orangeButtonText = Translate("LogIn", "Log in");
417
418 if (LoginHelper.CurrentUserIsLoggedIn())
419 {
420 orangeButtonLink = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.DashboardPageId);
421 orangeButtonText = Translate("MyDashboard", "My dashboard");
422
423 var currentPage = string.Format("/Default.aspx?{0}", System.Web.HttpContext.Current.Request.QueryString).UrlEncode();
424 var logOffLink = string.Format("/Admin/Public/ExtranetLogoff.aspx?redirect={0}", currentPage);
425 var seoPageview = string.Format("/{0}/{1}", GetGlobalValue("Global:Area.LongLang").ToLower(), TranslationHelper.Translate("SEO_TrackPageviewPage_UserLoggedOff", GetGlobalValue("Global:Area.LongLang").ToLower()));
426
427 // ADD Logoff to navigation
428 <script>
429 $(document).ready(function () {
430 // add logoff button
431 $(".menuMobile ul").append("<li><a href='@logOffLink' onclick=\"SEO.trackPageView('@seoPageview')\"><i class='fa fa-chevron-right'></i>@Translate("LogOff", "Log off")</a></li>");
432 });
433 </script>
434 }
435 <a href='@orangeButtonLink' class="inloggenMobielLink">
436 <div class="inloggenMobiel">
437 <div style="width:200px">
438 <i class='fa fa-chevron-right'></i>@orangeButtonText
439 </div>
440 </div>
441 </a>
442 }
443 </div>
444 </div>
445 <div class="container header_top hidden-xs hidden-sm">
446 <div class="row no-gutter">
447 <div class="col-xs-4 col-xs-offset-6">
448 @using System
449 @using Kwpn.Models.Constants
450 @using Kwpn.Repository.Helpers
451 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
452 @{
453 var searchResultsPageId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.SearchResultsPageId);
454 var requestHostSearch = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host"));
455 <div class="searchwrapper well-sm">
456
457 <div class="row">
458 <div class="col-xs-3 text-center">
459 @{
460 var websiteLanguages = GetLoop("Languages");
461 if (websiteLanguages.Count > 1)
462 {
463 foreach (var websiteLanguage in websiteLanguages)
464 {
465 var languageFlag = "";
466 var languageClass = "";
467 var languageCulture = websiteLanguage.GetString("Culture");
468 var languagePageId = websiteLanguage.GetString("PageID");
469 var languageFirstActivePageId = websiteLanguage.GetString("FirstActivePageID");
470
471 var gotoPage = AreaHelper.ChangeLanguageUrl(
472 GetString("DwPageID"),
473 languagePageId,
474 GetString("DWExtranetAction"),
475 languageFirstActivePageId,
476 languageCulture
477 );
478
479 if (!string.IsNullOrWhiteSpace(languageCulture))
480 {
481 var languageCode = languageCulture.Split('-')[0];
482 if (languageCode.Equals("en", StringComparison.InvariantCultureIgnoreCase))
483 {
484 languageCode = "gb";
485 }
486 languageFlag = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/Flags/{1}.svg", requestHostSearch, languageCode);
487 if (languageCulture.Equals(GetGlobalValue("Global:Area.LongLang"), StringComparison.InvariantCultureIgnoreCase))
488 {
489 languageClass = "active";
490 }
491 <a href="@gotoPage" class="@languageClass"><img src='@languageFlag' class="switch-language"></a>
492 }
493 }
494 }
495
496 }
497 </div>
498 <div class="col-xs-9">
499 @if (!string.IsNullOrWhiteSpace(searchResultsPageId))
500 {
501 var searchQuery = GetString("Ecom:Search.Query");
502 <form class="search-form" action="default.aspx" method="get" name="GlobalSearchForm" id="desktopSearch">
503 <input type="hidden" name="ID" value='@searchResultsPageId'>
504 <div class="input-group">
505 <input type="text" name="q" autocomplete="off" class="form-control" required="required" maxlength="65" placeholder='@Translate("SearchPlaceholder", "Search")' value='@searchQuery' id="desktopSearchTerm">
506 <span class="input-group-addon" id="btn-search-visible">
507 <i class="fa fa-search"></i>
508 </span>
509 </div>
510 </form>
511 }
512 </div>
513 </div>
514 </div>
515 }
516 </div>
517 <div class="col-xs-2">
518 @using System
519 @using Kwpn.Repository.Helpers
520 @using Kwpn.Models.Constants
521 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
522 @if (LoginHelper.MyKwpnIsOffline())
523 {
524 <div class="offline-wrapper"></div>
525 }
526 else if (LoginHelper.CurrentUserIsLoggedIn())
527 {
528 var currentUser = Kwpn.Repository.Repositories.KwpnUsers.CurrentUser();
529 <div id="myaccountMenuWrapper">
530 <button class="btn-lg btn-primary login-button" id="myaccountButton">@Translate("MyAccount", "My account")</button>
531 <div class="myaccountMenu hidden-xs hidden-sm" id="myaccountMenu" style='display: none;'>
532 @NavigationHelper.GetAccountNavigation(
533 StringConstants.NavigationTags.Account,
534 GetGlobalValue("Global:Page.ID"),
535 Translate("GoToMyDashboard", "Go to my dashboard"),
536 Translate("LogOff", "Log off"),
537 currentUser.IsBlocked
538 )
539 </div>
540 </div>
541 }
542 else
543 {
544 var loginParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.LoginParagraphId);
545 if (!string.IsNullOrWhiteSpace(loginParagraphId) && Convert.ToInt32(loginParagraphId) > 0)
546 {
547 var loginPopupDisplay = "none";
548 if (!string.IsNullOrWhiteSpace(LoginHelper.GetLoginError()) &&
549 !GetGlobalValue("Global:Page.ID").Equals(AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.PageIdSystemNames.LoginPageId)))
550 {
551 loginPopupDisplay = "block";
552 }
553
554 var loginAction = System.Web.HttpContext.Current.Request.QueryString.Get("LoginAction");
555 if (!string.IsNullOrWhiteSpace(loginAction) && loginAction.Equals("Recovery", StringComparison.InvariantCultureIgnoreCase))
556 {
557 // on password recovery the login module won't show. Probably due to duplicate input field names.
558 // in this case link to login page in stead of showing login form in layover
559 var loginPage = AreaHelper.CreateUrlBySystemName(StringConstants.PageIdSystemNames.LoginPageId);
560 var clickText = string.Format("{0} <i class='fa fa-spinner fa-spin'></i>", Translate("LogIn", "Log in")).JsEncode();
561 <button class="btn-lg btn-primary login-button link" onclick="$(this).html('@clickText');window.location.href='@loginPage';">@Translate("LogIn", "Log in")</button>
562 }
563 else
564 {
565 <button class="btn-lg btn-primary login-button" onclick="$('.inloggenMenu').toggle();">@Translate("LogIn", "Log in")</button>
566 }
567
568 <div class="inloggenMenu hidden-xs hidden-sm" style='display: @loginPopupDisplay;'>
569 <a href="javascript:void(0);" class="close-login" onclick="$('.inloggenMenu').toggle();"><i class="fa fa-close"></i></a>
570 @RenderParagraphContent(Convert.ToInt32(loginParagraphId))
571 </div>
572 }
573 }
574 </div>
575 </div>
576 </div>
577 @using Kwpn.Repository.Helpers
578 @using Kwpn.Models.Constants
579 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
580 <div class="container header_content hidden-xs hidden-sm">
581 <div class="row">
582 <div class="col-md-3 col-lg-4">
583 <div class="logo">
584 <a href='@NavigationHelper.GetHomepageUrl()' title='@Translate("GoToHomepage", "Go to the homepage").JsEncode()'><img src="/Files/Templates/Designs/Kwpn/images/kwpn-logo.svg"></a>
585 </div>
586 </div>
587 <div class="col-md-9 col-lg-8">
588 <div class="row">
589 <div class="header col-lg-12 visible-lg visible-md visible-sm">
590 @NavigationHelper.GetMainNavigation(StringConstants.NavigationTags.Main, GetGlobalValue("Global:Page.ID"), Dynamicweb.Frontend.PageView.Current().Area.Culture)
591 </div>
592 </div>
593 </div>
594 </div>
595 </div>
596
597 @using Kwpn.Models.Constants
598 @using Kwpn.Models.Enumerations
599 @using Kwpn.Repository.Helpers
600 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
601 @{
602 var animalCode = GetString("Item.AnimalCode.Value");
603 var culture = GetGlobalValue("Global:Area.LongLang");
604 var horse = Kwpn.Repository.Repositories.Horses.Get(animalCode, culture, true, true, true, true, true, true, true, true, true, false, false, false, false, false, true);
605 var showMemberContent = true;
606 <div id="pagecontent" class="container horse-page" data-showmembership='@GetBoolean("Item.Page.ShowMembership")' data-showgotonavigation='@GetBoolean("Item.Page.ShowGotoNavigation")' data-showpartnerlogos='@GetBoolean("Item.Page.ShowCustomerLogos")'>
607 <div class="break-grid content-container">
608 <div class="break-grid-background">
609 <div class="in-grid">
610 @if (horse != null)
611 {
612 var horseHasMemberContentOverride = HorseHelper.HorseHasMemberContentOverride(animalCode);
613 var headerImage = GetString("Item.HeaderImage.Value");
614 var introText = GetString("Item.IntroText.Value");
615
616 // horse info
617 var horseName = HorseHelper.GetHorseName(horse.SportsName, horse.AnimalName, horse.DateOfBirth);
618 var breeders = horse.Breeders;
619 var register = horse.Register;
620 var lifeNumber = horse.Lifenumber;
621 var predicates = horse.Predicates;
622
623 // gender info
624 var genderClass = "fa-question";
625 var genderAbbr = "";
626 var gender = Gender.UNKNOWN;
627 Enum.TryParse(horse.Gender.ToUpper(), out gender);
628 switch (gender)
629 {
630 case Gender.HENGST:
631 genderClass = "fa-mars";
632 genderAbbr = Translate("Stallion", "Stallion");
633 break;
634 case Gender.MERRIE:
635 genderClass = "fa-venus";
636 genderAbbr = Translate("Mare", "Mare");
637 break;
638 case Gender.RUIN:
639 genderClass = "fa-mars"; //fa-mars-stroke-h
640 genderAbbr = Translate("Gelding", "Gelding");
641 break;
642 }
643
644 // color info
645 var color = "";
646 var colorInfo = horse.GetMarkingByType(StringConstants.MarkingTypes.Color);
647 if (colorInfo != null) { color = colorInfo.Description; }
648
649 // height info
650 var withers = "";
651 var heightInfo = horse.GetMarkingByType(StringConstants.MarkingTypes.Height);
652 if (heightInfo != null) { withers = heightInfo.Description; }
653 if (!string.IsNullOrWhiteSpace(withers)) { withers = Kwpn.Repository.Helpers.HorseHelper.ConvertWithers(withers); }
654
655 // mother info
656 var motherName = "";
657 var mother = horse.GetPredigreeByPrefix(StringConstants.PedigreePrefixes.Mother);
658 if (mother != null) { motherName = mother.AnimalName; } else { motherName = Translate("Unknown", "Unknown"); }
659
660 // father info
661 var fatherName = "";
662 var father = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.Father);
663 if (father != null) { fatherName = father.AnimalName; } else { fatherName = Translate("Unknown", "Unknown"); }
664 var fatherNameAbbr = Translate("FathersName", "Fathers name").JsEncode();
665
666 // mothers father info
667 var mothersFatherName = "";
668 var mothersFather = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather);
669 if (mothersFather != null) { mothersFatherName = mothersFather.AnimalName; } else { mothersFatherName = Translate("Unknown", "Unknown"); }
670 var mothersFatherNameAbbr = Translate("MothersFathersName", "Mothers fathers name").JsEncode();
671 var horsePageLink = HorseHelper.GetHorseInfoPageUrl(GetGlobalValue("Global:Area.LongLang"), horse.AnimalCode);
672
673 <div class="row">
674 <div class="col-xs-12">
675 <h1>@horseName</h1>
676 </div>
677 </div>
678
679 <div class="row subtitle">
680 <div class="col-xs-4 col-sm-2 gender">
681 <i class="fa @genderClass" title='@genderAbbr.JsEncode()'></i> @genderAbbr.ToUpper()
682 </div>
683 <div class="col-xs-8 col-sm-10 pedigree">
684 <abbr title='@fatherNameAbbr'>@fatherName</abbr> x <abbr title='@mothersFatherNameAbbr'>@mothersFatherName</abbr>
685 </div>
686 </div>
687
688 <div class="row">
689
690 <article class="col-xs-12 col-md-7">
691 @if (!string.IsNullOrWhiteSpace(headerImage))
692 {
693 <div class="header-image">
694 <img src='@headerImage'>
695 </div>
696 }
697
698 @if (!string.IsNullOrWhiteSpace(introText))
699 {
700 if (!introText.StartsWith("<p>", StringComparison.InvariantCultureIgnoreCase))
701 {
702 introText = string.Format("<p>{0}</p>", introText);
703 }
704
705 <div class="introText">
706 @introText
707 </div>
708 }
709
710 <div class="details">
711 <h2>@Translate("Details", "Details")</h2>
712 @if (!string.IsNullOrWhiteSpace(motherName))
713 {
714 <div class="row">
715 <div class="col-xs-12 col-md-4">
716 <span class="label">@Translate("Mother", "Mother")</span>
717 </div>
718 <div class="col-xs-12 col-md-8">
719 <span class="value">@motherName</span>
720 </div>
721 </div>
722 }
723
724 @if (breeders != null && breeders.Any())
725 {
726 <div class="row">
727 <div class="col-xs-12 col-md-4">
728 <span class="label">@Translate("Breeders", "Breeders")</span>
729 </div>
730 <div class="col-xs-12 col-md-8">
731 <span class="value">
732 @foreach (var breeder in breeders)
733 {
734 var breederName = breeder.PersonName;
735 if (!string.IsNullOrWhiteSpace(breeder.Place))
736 {
737 breederName = string.Format("{0} ({1})", breederName, breeder.Place);
738 }
739 <span class="breeder">@breederName</span>
740 }
741 </span>
742 </div>
743 </div>
744 }
745
746 @if (!string.IsNullOrWhiteSpace(register))
747 {
748 <div class="row">
749 <div class="col-xs-12 col-md-4">
750 <span class="label">@Translate("Register", "Register")</span>
751 </div>
752 <div class="col-xs-12 col-md-8">
753 <span class="value">@register</span>
754 </div>
755 </div>
756 }
757
758 @if (!string.IsNullOrWhiteSpace(lifeNumber))
759 {
760 <div class="row">
761 <div class="col-xs-12 col-md-4">
762 <span class="label">@Translate("LifeNumber", "Life number")</span>
763 </div>
764 <div class="col-xs-12 col-md-8">
765 <span class="value">@lifeNumber</span>
766 </div>
767 </div>
768 }
769
770 @if (!string.IsNullOrWhiteSpace(color))
771 {
772 <div class="row">
773 <div class="col-xs-12 col-md-4">
774 <span class="label">@Translate("Color", "Color")</span>
775 </div>
776 <div class="col-xs-12 col-md-8">
777 <span class="value">@color</span>
778 </div>
779 </div>
780 }
781
782 @if (!string.IsNullOrWhiteSpace(withers))
783 {
784 <div class="row">
785 <div class="col-xs-12 col-md-4">
786 <span class="label">@Translate("Withers", "Withers")</span>
787 </div>
788 <div class="col-xs-12 col-md-8">
789 <span class="value">@withers</span>
790 </div>
791 </div>
792 }
793 </div>
794
795 <div id="pagecontent-container-AbovePedigree" class="col-xs-12 no-padding">@GetValue("DwContent(pagecontentcontainerAbovePedigree)")</div>
796
797 <div class="details">
798 <div class="row">
799 <div class="col-xs-12">
800 <br><br>
801 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
802 @*note: variables like "horse/culture" are set in the parent: Paragraph/HorseDatabase.cshtml*@
803 <div class="horse-detail-item" id="horse-detail-item-pedigree" data-content="tab_general">
804 @{
805 var pedigree_Me = Kwpn.Repository.Helpers.HorseHelper.GetHorseName(horse.SportsName, horse.AnimalName, DateTime.MinValue);
806 var pedigree_Father = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.Father);
807 var pedigree_Mother = horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.Mother);
808 }
809 @if (pedigree_Father != null && pedigree_Mother != null)
810 {
811 <script type="text/javascript">
812
813 $(document).ready(function () {
814
815 var jsGender = '';
816 if ('@genderClass' == 'fa-mars') {
817 jsGender = 'male'
818 } else {
819 jsGender = 'female'
820 }
821
822 var datasource = {
823 'name': '@horse.Lifenumber.JsEncode()',
824 'title': '@horse.AnimalName.JsEncode()',
825 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.Register))
826 {
827 <text>'subtext': '@horse.Register.JsEncode()',</text>
828 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.AnimalCode)',</text>
829 }
830 else
831 {
832 <text>'subtext': '-',</text>
833 <text>'link': '',</text>
834 }
835 'sex': jsGender,
836 'children': [
837 {
838 'name': '@pedigree_Father.Lifenumber.JsEncode()',
839 'title': '@pedigree_Father.AnimalName.JsEncode()',
840 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(pedigree_Father.Register))
841 {
842 <text>'subtext': '@pedigree_Father.Register.JsEncode()',</text>
843 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, pedigree_Father.AnimalCode)',</text>
844 }
845 else
846 {
847 <text>'subtext': '-',</text>
848 <text>'link': '',</text>
849 }
850 'sex': 'male',
851 'children': [
852 {
853 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFather).Lifenumber.JsEncode()',
854 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFather).AnimalName.JsEncode()',
855 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFather).Register))
856 {
857 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFather).Register.JsEncode()',</text>
858 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFather).AnimalCode)',</text>
859 }
860 else
861 {
862 <text>'subtext': '-',</text>
863 <text>'link': '',</text>
864 }
865 'sex': 'male',
866 'children': [
867 {
868 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersFather).Lifenumber.JsEncode()',
869 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersFather).AnimalName.JsEncode()',
870 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersFather).Register))
871 {
872 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersFather).Register.JsEncode()',</text>
873 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersFather).AnimalCode)',</text>
874 }
875 else
876 {
877 <text>'subtext': '-',</text>
878 <text>'link': '',</text>
879 }
880 'sex': 'male'
881 }, {
882 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersMother).Lifenumber.JsEncode()',
883 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersMother).AnimalName.JsEncode()',
884 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersMother).Register))
885 {
886 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersMother).Register.JsEncode()',</text>
887 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersFathersMother).AnimalCode)',</text>
888 }
889 else
890 {
891 <text>'subtext': '-',</text>
892 <text>'link': '',</text>
893 }
894 'sex': 'female'
895 }
896 ]
897 }, {
898 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMother).Lifenumber.JsEncode()',
899 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMother).AnimalName.JsEncode()',
900 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMother).Register))
901 {
902 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMother).Register.JsEncode()',</text>
903 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMother).AnimalCode)',</text>
904 }
905 else
906 {
907 <text>'subtext': '-',</text>
908 <text>'link': '',</text>
909 }
910 'sex': 'female',
911 'children': [
912 {
913 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersFather).Lifenumber.JsEncode()',
914 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersFather).AnimalName.JsEncode()',
915 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersFather).Register))
916 {
917 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersFather).Register.JsEncode()',</text>
918 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersFather).AnimalCode)',</text>
919 }
920 else
921 {
922 <text>'subtext': '-',</text>
923 <text>'link': '',</text>
924 }
925 'sex': 'male'
926 }, {
927 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersMother).Lifenumber.JsEncode()',
928 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersMother).AnimalName.JsEncode()',
929 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersMother).Register))
930 {
931 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersMother).Register.JsEncode()',</text>
932 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.FathersMothersMother).AnimalCode)',</text>
933 }
934 else
935 {
936 <text>'subtext': '-',</text>
937 <text>'link': '',</text>
938 }
939 'sex': 'female'
940 }]
941 }]
942 },
943 {
944 'name': '@pedigree_Mother.Lifenumber.JsEncode()',
945 'title': '@pedigree_Mother.AnimalName.JsEncode()',
946 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(pedigree_Mother.Register))
947 {
948 <text>'subtext': '@pedigree_Mother.Register.JsEncode()',</text>
949 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, pedigree_Mother.AnimalCode)',</text>
950 }
951 else
952 {
953 <text>'subtext': '-',</text>
954 <text>'link': '',</text>
955 }
956 'sex': 'female',
957 'children': [
958 {
959 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather).Lifenumber.JsEncode()',
960 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather).AnimalName.JsEncode()',
961 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather).Register))
962 {
963 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather).Register.JsEncode()',</text>
964 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFather).AnimalCode)',</text>
965 }
966 else
967 {
968 <text>'subtext': '-',</text>
969 <text>'link': '',</text>
970 }
971 'sex': 'male',
972 'children': [
973 {
974 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersFather).Lifenumber.JsEncode().JsEncode()',
975 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersFather).AnimalName.JsEncode().JsEncode()',
976 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersFather).Register))
977 {
978 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersFather).Register.JsEncode().JsEncode()',</text>
979 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersFather).AnimalCode)',</text>
980 }
981 else
982 {
983 <text>'subtext': '-',</text>
984 <text>'link': '',</text>
985 }
986 'sex': 'male'
987 }, {
988 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersMother).Lifenumber.JsEncode()',
989 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersMother).AnimalName.JsEncode()',
990 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersMother).Register))
991 {
992 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersMother).Register.JsEncode()',</text>
993 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersFathersMother).AnimalCode)',</text>
994 }
995 else
996 {
997 <text>'subtext': '-',</text>
998 <text>'link': '',</text>
999 }
1000 'sex': 'female'
1001 }
1002 ]
1003 }, {
1004 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMother).Lifenumber.JsEncode()',
1005 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMother).AnimalName.JsEncode()',
1006 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMother).Register))
1007 {
1008 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMother).Register.JsEncode()',</text>
1009 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMother).AnimalCode)',</text>
1010 }
1011 else
1012 {
1013 <text>'subtext': '-',</text>
1014 <text>'link': '',</text>
1015 }
1016 'sex': 'female',
1017 'children': [
1018 {
1019 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersFather).Lifenumber.JsEncode()',
1020 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersFather).AnimalName.JsEncode()',
1021 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersFather).Register))
1022 {
1023 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersFather).Register.JsEncode()',</text>
1024 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersFather).AnimalCode)',</text>
1025 }
1026 else
1027 {
1028 <text>'subtext': '-',</text>
1029 <text>'link': '',</text>
1030 }
1031 'sex': 'male'
1032 }, {
1033 'name': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersMother).Lifenumber.JsEncode()',
1034 'title': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersMother).AnimalName.JsEncode()',
1035 @if (Kwpn.Repository.Helpers.HorseHelper.IsAllowedRegister(horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersMother).Register))
1036 {
1037 <text>'subtext': '@horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersMother).Register.JsEncode()',</text>
1038 <text>'link': '@Kwpn.Repository.Helpers.HorseHelper.GetHorseInfoPageUrl(culture, horse.GetPredigreeByPrefix(Kwpn.Models.Constants.StringConstants.PedigreePrefixes.MothersMothersMother).AnimalCode)',</text>
1039 }
1040 else
1041 {
1042 <text>'subtext': '-',</text>
1043 <text>'link': '',</text>
1044 }
1045 'sex': 'female'
1046 }
1047 ]
1048 }
1049 ]
1050 }]
1051 };
1052
1053
1054 $('#chart-container').orgchart({
1055 data: datasource,
1056 direction: 'l2r',
1057 nodeContent: 'title',
1058 parentNodeSymbol: '',
1059 createNode: function ($node, data) {
1060 var icon = '<div class="imagecontainer"><i class="fa fa-' + (data.sex === 'male' ? 'mars' : 'venus') + '"></i></div>';
1061 var subtext = '<div class="subtext">' + data.subtext + '</div></div>';
1062 $node.find('i[class^="edge"], i[class^="fa"]').remove();
1063 $node.prepend(icon);
1064 $node.append(subtext);
1065 $node.find('.imagecontainer').nextAll().wrapAll('<div class="contextcontainer"/>');
1066
1067 if (data.link.length > 0) {
1068 $node.css('cursor', 'pointer');
1069 $node.on('click', function (event) {
1070 location.href = data.link;
1071 });
1072 }
1073
1074 $node.on('mouseenter', function () {
1075 $('#custom_tooltip').css('display', 'block');
1076 $('#custom_tooltip').find('.title').text(data.title);
1077 $('#custom_tooltip').find('.subtext').text(data.subtext);
1078 });
1079
1080 $node.on('mouseleave', function () {
1081 $('#custom_tooltip').css('display', 'none');
1082 });
1083 }
1084 });
1085
1086 $('.tooltip').on('shown.bs.tooltip', function () {
1087 console.log('tooltip show');
1088 });
1089
1090
1091 });
1092
1093 $(window).on('mousemove', function (e) {
1094 var mouseX = e.clientX + 10;
1095 var mouseY = e.clientY + 20;
1096 $('#custom_tooltip').css('left', mouseX);
1097 $('#custom_tooltip').css('top', mouseY);
1098 });
1099 </script>
1100 <div class="pedigreetree">
1101 <div id="custom_tooltip">
1102 <div class="title"></div>
1103 <div class="subtext"></div>
1104 </div>
1105 <h2>@Translate("Pedigree", "Pedigree")</h2>
1106 <div id="chart-container"></div>
1107 </div>
1108 }
1109 </div>
1110 </div>
1111 </div>
1112 </div>
1113
1114 <div id="pagecontent-container-BelowPedigree" class="col-xs-12 no-padding">@GetValue("DwContent(pagecontentcontainerBelowPedigree)")</div>
1115
1116 </article>
1117
1118 <aside class="col-xs-12 col-md-4 col-md-offset-1 aside">
1119 <div class="row">
1120 <div class="col-xs-12">
1121 <h2>@Translate("MoreInfoAboutThisHorse", "More info about this horse?")</h2>
1122 <ul>
1123 <li><a href='@horsePageLink'>@Translate("GoToDatabase", "To database")</a></li>
1124 </ul>
1125 </div>
1126 </div>
1127 <div id="asidecontent" class="col-xs-12">@GetValue("DwContent(asidecontent)")</div>
1128 </aside>
1129 </div>
1130 }
1131 else
1132 {
1133 <div class="row">
1134 <div class="col-xs-12">
1135 <p>@Translate("HorseNotFound", "Oops, something went wrong.<br>The requested horse info is not available.")</p>
1136 </div>
1137 </div>
1138 }
1139 </div>
1140 </div>
1141 </div>
1142 </div>
1143 }
1144 @using Kwpn.Models.Constants
1145 @using Kwpn.Repository.Helpers
1146 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1147 @{
1148 var partnerLogosParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.PartnerLogoParagraphId);
1149 var showPartnerLogos = !string.IsNullOrWhiteSpace(partnerLogosParagraphId) && Convert.ToInt32(partnerLogosParagraphId) > 0;
1150 var sponsorLogosParagraphId = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.SponsorLogoParagraphId);
1151 var showSponsorLogos = !string.IsNullOrWhiteSpace(sponsorLogosParagraphId) && Convert.ToInt32(sponsorLogosParagraphId) > 0;
1152 if (showPartnerLogos || showSponsorLogos)
1153 {
1154 <div class="container" id="footerlogos">
1155 @if (showPartnerLogos)
1156 {
1157 <div class="row logolist logolist-blue" id="partner-logos">
1158 <div class="col-xs-12 text-center">
1159 @RenderParagraphContent(Convert.ToInt32(partnerLogosParagraphId))
1160 </div>
1161 </div>
1162 }
1163 @if (showSponsorLogos)
1164 {
1165 <div class="row logolist" id="sponsor-logos">
1166 <div class="col-xs-12 text-center">
1167 @RenderParagraphContent(Convert.ToInt32(sponsorLogosParagraphId))
1168 </div>
1169 </div>
1170 }
1171 </div>
1172 }
1173 }
1174 @using Kwpn.Models.Constants
1175 @using Kwpn.Repository.Helpers
1176 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1177 @{
1178 var newsletterParagraphId = int.Parse(AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.ParagraphSystemNames.NewsletterParagraphId));
1179
1180 var quickLinksColumn1Folder = Dynamicweb.Services.Pages.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, Kwpn.Models.Constants.StringConstants.NavigationTags.InternalLinksColumn1);
1181 var quickLinksColumn1 = Dynamicweb.Services.Pages.GetPagesByParentID(quickLinksColumn1Folder?.ID ?? 0);
1182
1183 var quickLinksColumn2Folder = Dynamicweb.Services.Pages.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, Kwpn.Models.Constants.StringConstants.NavigationTags.InternalLinksColumn2);
1184 var quickLinksColumn2 = Dynamicweb.Services.Pages.GetPagesByParentID(quickLinksColumn2Folder?.ID ?? 0);
1185 }
1186 <div class="container" id="footerlinks">
1187 <div class="row" id="goto-navigation">
1188 <div class="col-xs-12 col-sm-6 col-md-3">
1189 <h3>@Translate("NavigationHeader_QuickLinksColumn1", "Directly to")</h3>
1190 <ul id="navigation_internallinks_column1">
1191 @foreach (var ql1 in quickLinksColumn1)
1192 {
1193 <li><a href="@Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(ql1.ID)">@ql1.MenuText</a></li>
1194 }
1195 </ul>
1196 </div>
1197 <div class="col-xs-12 col-sm-6 col-md-3">
1198 <h3>@Translate("NavigationHeader_QuickLinksColumn2", "Our products")</h3>
1199 <ul id="navigation_internallinks_column2">
1200 @foreach (var ql2 in quickLinksColumn2)
1201 {
1202
1203 // determine icon based on name ... not very pretty, but I don't have another way ....
1204 var listicon = "";
1205 if (ql2.MenuText.IndexOf("database", StringComparison.OrdinalIgnoreCase) >= 0) {
1206 // KWPN Database
1207 listicon ="<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_Horse.svg'>";
1208 } else if (ql2.MenuText.IndexOf(".tv", StringComparison.OrdinalIgnoreCase) >= 0)
1209 {
1210 // KWPN.tv
1211 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_TV.svg'>";
1212 }
1213 else if (ql2.MenuText.IndexOf("mark", StringComparison.OrdinalIgnoreCase) >= 0 || ql2.MenuText.IndexOf("sale", StringComparison.OrdinalIgnoreCase) >= 0)
1214 {
1215 // KWPN Marktplaats, KWPN Market place, KWPN horses for sale
1216 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_ForSale.svg'>";
1217 }
1218 else if (ql2.MenuText.IndexOf("shop", StringComparison.OrdinalIgnoreCase) >= 0)
1219 {
1220 // KWPN Webshop
1221 listicon = "<img src='/Files/Templates/Designs/Kwpn/Images/StyleElements/HomepageHeader_Webshop.svg'>";
1222 }
1223
1224 var listclass = string.IsNullOrWhiteSpace(listicon) ? "" : " class='icon'";
1225 var listitem = $"<li{listclass}><a href='{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(ql2.ID)}'>{listicon}{ql2.MenuText}</a>";
1226 @listitem
1227 }
1228 </li{listclass}></ul>
1229 </div>
1230 <a name="newsletter"></a>
1231 <div class="col-xs-12 col-sm-6 col-md-3">
1232 @if (newsletterParagraphId > 0)
1233 {
1234 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1235 @*If not logged in or logged in and not subscribed to the monthly newsletter, then show newsletter subscription*@
1236 <h3>@Translate("NewsletterSubscriptionHeader", "Stay informed")</h3>
1237 <p>@Translate("NewsletterSubscriptionIntro", "Receive our monthly newsletter filled with updates, events, tips and tricks!")</p>
1238 @*If logged in, then show button to profile page (with subscribe/unsubscribe checkbox)*@
1239
1240 @RenderParagraphContent(newsletterParagraphId)
1241 }
1242 </div>
1243 <div class="col-xs-12 col-sm-6 col-md-3">
1244 @using Kwpn.Models.Constants
1245 @using Kwpn.Repository.Helpers
1246 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1247 <h3>@Translate("NavigationHeader_SocialMedia", "Social media")</h3>
1248 <ul>
1249 @{
1250 var facebookUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Facebook);
1251 if (!string.IsNullOrWhiteSpace(facebookUrl))
1252 {
1253 <li class="facebook"><a href='@facebookUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Facebook", "Facebook")</a></li>
1254 }
1255 var instagramUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Instagram);
1256 if (!string.IsNullOrWhiteSpace(instagramUrl))
1257 {
1258 <li class="instagram"><a href='@instagramUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Instagram", "Instagram")</a></li>
1259 }
1260 var linkedInUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.LinkedIn);
1261 if (!string.IsNullOrWhiteSpace(linkedInUrl))
1262 {
1263 <li class="linkedIn"><a href='@linkedInUrl.JsEncode()' target="_blank">@Translate("SocialMedia_LinkedIn", "LinkedIn")</a></li>
1264 }
1265 var twitterUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Twitter);
1266 if (!string.IsNullOrWhiteSpace(twitterUrl))
1267 {
1268 <li class="twitter"><a href='@twitterUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Twitter", "Twitter")</a></li>
1269 }
1270 var youtubeUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.YouTube);
1271 if (!string.IsNullOrWhiteSpace(youtubeUrl))
1272 {
1273 <li class="youtube"><a href='@youtubeUrl.JsEncode()' target="_blank">@Translate("SocialMedia_YouTube", "YouTube")</a></li>
1274 }
1275 var vimeoUrl = AreaHelper.GetAreaItemStringValueBySystemName(StringConstants.SocialMedia.Vimeo);
1276 if (!string.IsNullOrWhiteSpace(vimeoUrl))
1277 {
1278 <li class="vimeo"><a href='@vimeoUrl.JsEncode()' target="_blank">@Translate("SocialMedia_Vimeo", "Vimeo")</a></li>
1279 }
1280 }
1281 </ul>
1282 </div>
1283 </div>
1284 </div>
1285 </div>
1286 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1287 @{
1288 var requestHostFooter = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host"));
1289 var footerLogo = string.Format("{0}/Files/Templates/Designs/Kwpn/Images/kwpn-footer-logo.svg", requestHostFooter);
1290 <div id="footerwrapper">
1291 <div class="container">
1292 <div class="row">
1293 <div class="col-xs-12 col-sm-12 col-md-10">
1294 @GetValue("DwNavigation(navigationfooter)")
1295 </div>
1296 <div class="hidden-xs hidden-sm col-md-2">
1297 <img src="@footerLogo" id="footer-logo">
1298 </div>
1299 </div>
1300 </div>
1301 </div>
1302 }
1303 @using System.Web.Mvc;
1304 @using Kwpn.Core.Services.Abstract;
1305
1306 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1307
1308 @{
1309 IKwpnTvService tvService = DependencyResolver.Current.GetService<IKwpnTvService>();
1310 }
1311
1312 <div id="kwpnlink">
1313 <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>
1314 </div>
1315 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
1316 <div class="modal fade" id="equis-offline" tabindex="-1" role="dialog" aria-labelledby="equis-offline-modal" aria-hidden="true">
1317 <div class="modal-dialog">
1318 <div class="modal-content">
1319 <div class="modal-header">@Translate("EquisOffline_Modal_HeaderText", "Back office offline")</div>
1320 <div class="modal-body"></div>
1321 <div class="modal-footer">
1322 <a class="orange_balloon_link modal-ok" data-dismiss="modal" href="javascript:void(0);">@Translate("EquisOffline_Modal_OkButtonText", "Ok")</a>
1323 </div>
1324 </div>
1325 </div>
1326 </div>
1327 @RenderSnippet("JavascriptsBottom")
1328 <div class="overlay"></div>
1329 @{
1330 var loginError = LoginHelper.GetLoginError();
1331 if (!string.IsNullOrWhiteSpace(loginError))
1332 {
1333 <script>
1334 $(document).ready(function () {
1335 $(".loginErrorMessage span").text('@Translate(loginError, "Incorrect membership number or password")');
1336 $(".loginErrorMessage span").show();
1337 });
1338 </script>
1339 }
1340 <script>
1341 $(document).ready(function () {
1342 // note: prevent copying text by using right click function on master's body tag
1343 // check if page is market
1344 $(".marketplace-page")[0] ? localStorage.setItem("marketPlace", true) : localStorage.removeItem("marketPlace");
1345
1346 // tooltip initializer
1347 $("[data-toggle='tooltip']").tooltip();
1348
1349 // prevent right click on images
1350 $('img').on('contextmenu', function () {
1351 return false;
1352 });
1353 $(".photo").on('contextmenu', function () {
1354 return false;
1355 });
1356 $(".fancybox-image").on('contextmenu', function () {
1357 return false;
1358 });
1359
1360 @{
1361 // seo login, log when user logs in succesfully
1362 var loginStatus = System.Web.HttpContext.Current.Session[Kwpn.Models.Constants.StringConstants.SessionVariables.LoginStatus];
1363 if (loginStatus != null && loginStatus.Equals(Kwpn.Models.Enumerations.LoginStatus.OK))
1364 {
1365 System.Web.HttpContext.Current.Session[Kwpn.Models.Constants.StringConstants.SessionVariables.LoginStatus] = Kwpn.Models.Enumerations.LoginStatus.OKDone;
1366 var seoPageview = string.Format("/{0}/{1}", GetGlobalValue("Global:Area.LongLang").ToLower(), Translate("SEO_TrackPageviewPage_UserLoggedIn", "logged-in"));
1367 <Text>
1368 SEO.trackPageView("@seoPageview");
1369 </Text>
1370 }
1371 }
1372
1373 // seo original pageview tracking
1374 SEO.trackOriginalView();
1375 });
1376 </script>
1377 }
1378 </body>
1379 </html>