Posted: Nov 18, 2023
Lindenwood Open Challenges Red Devils
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic-bootstrap/rich-template |
Error | Invocation of method 'getEventsWithLink' in class com.prestosports.content.sport.Schedule threw exception java.lang.NullPointerException at /httpd/prestosports/site-public/WEB-INF/themes/generic-bootstrap/rich-template[line 373, column 47] |
Page source: |
1: #set ($ajax = false) 2: #if ($request.getParameter("ajax") == true) 3: #set ($ajax = true) 4: $website.decorate("ajax-decorator") 5: #end 6: 7: #set ($demo = false) 8: #if ($request.getParameter("demo") == true) 9: #set ($demo = true) 10: #end 11: 12: #set ($isFrontrow = false) 13: #if ($request.getParameter("frontrow") == true) 14: #set ($isFrontrow = true) 15: #end 16: 17: ## DEFAULT VALUES 18: #set ($layoutStyle = "standard") 19: #set ($showDate = true) 20: #set ($facebookLike = true) 21: #set ($tweetButton = true) 22: #set ($showBannerScore = true) 23: #set ($showThumb = true) 24: #set ($showVideo = true) 25: #set ($videoOverlay = true) 26: #set ($showBoxscore = true) 27: #set ($showGallery = true) 28: #set ($showCaption = true) 29: #set ($showOnlyBody = false) 30: #set ($showRelatedLinks = true) 31: #set ($headlineStyle = "h1") 32: #set ($thumbWidth = 1200) 33: #set ($infiniteScroll = false) 34: #set ($shareButtons = true) 35: #set ($showTeamLogo = false) 36: 37: ## PICK UP OPTIONS 38: $website.include("options") 39: #set ($options = $request.getAttribute("options")) 40: 41: ## SET VARIABLES FROM OPTIONS 42: #if ($options.get("article_layout_style") == "modern") #set ($layoutStyle = "modern") #end 43: #if ($options.get("article_layout_style") == "classic") #set ($layoutStyle = "classic") #end 44: #if ($options.get("article_layout_style") == "modern card") #set ($layoutStyle = "modern card") #end 45: #if ($options.get("article_show_date") == false) #set ($showDate = false) #end 46: #if ($options.get("article_facebook_like") == false) #set ($facebookLike = false) #end 47: #if ($options.get("article_tweet_button") == false) #set ($tweetButton = false) #end 48: #if ($options.get("article_banner_score") == false) #set ($showBannerScore = false) #end 49: #if ($options.get("article_show_thumb") == false) 50: #set ($showThumb = false) 51: #set ($showVideo = false) 52: #end 53: #if ($options.get("schedule_show_team_logo") == "show") 54: #set ($showTeamLogo = true) 55: #end 56: #if ($options.get("article_show_video") == false) #set ($showVideo = false) #end 57: #if ($options.get("article_video_overlay") == false) #set ($videoOverlay = false) #end 58: #if ($options.get("article_show_boxscore") == false) #set ($showBoxscore = false) #end 59: #if ($options.get("article_show_gallery") == false) #set ($showGallery = false) #end 60: #if ($options.get("article_show_caption") == false) #set ($showCaption = false) #end 61: #if ($options.get("article_show_body") == true) #set ($showOnlyBody = true) #end 62: #if ($tool.math.toInteger($options.get("article_thumb_width"))) 63: #set ($thumbWidth = $tool.math.toInteger($options.get("article_thumb_width"))) 64: #end 65: #set ($headlineStyle = $options.get("article_headline_style")) 66: 67: ## GRAB RELATED ARTICLES 68: #set ($relatedArticles = []) 69: #set ($relatedHeadline = "") 70: #foreach ($headline in $page.headlinesFeatured) 71: #if ($headline.name == "news" && $relatedHeadline.length() == 0) 72: #set ($relatedHeadline = $headline.url) 73: #foreach ($article in $headline.allHeadlines) 74: #if ($article.contentType == "loki/tinymce" && ($article.date && $article.title.length() > 0)) 75: #set ($bool = $relatedArticles.add($article)) 76: #end 77: #end 78: #end 79: #end 80: 81: ## ONLY TURN ON INFINITY SCROLL WHEN THE PAGE IS A STANDALONE PAGE, AND RELATED ARTICLES FOUND IN ABOVE BLOCK 82: #if ($options.get("article_infinite_scroll") == true && !$website.isIncluded() && $relatedArticles.size() > 0) 83: #set ($infiniteScroll = true) 84: #set ($layoutStyle = "modern") 85: #end 86: 87: ## IF FRONTROW TURN OFF DECORATOR, SHARE BUTTONS AND INFINITY SCROLL 88: #if ($isFrontrow) 89: $website.decorate("") 90: #set ($infiniteScroll = false) 91: #set ($shareButtons = false) 92: #end 93: 94: ## OVERRIDE OPTIONS FOR PRINTER FRIENDLY VIEW 95: #if ($request.getParameter("dec") == "printer-decorator") 96: #set ($infiniteScroll = false) 97: #set ($layoutStyle = "standard") 98: #set ($thumbWidth = 1200) 99: #set ($showRelatedLinks = false) 100: #set ($facebookLike = false) 101: #set ($tweetButton = false) 102: #end 103: 104: ## WHEN THE FOLLOWING ATTRIBUTE IS SET, TURN OFF THE RELATED LINKS 105: #if ($request.getAttribute("disable_related_links") == "y") 106: #set ($showRelatedLinks = false) 107: #end 108: 109: #if ($showOnlyBody == true) 110: $body 111: #else 112: #set ($relatedPages = $page.relatedInSchedule) 113: #set ($hasSidebar = false) 114: #set ($boxscores = []) 115: #set ($relatedVideo = "") 116: #set ($relatedVideoType = "") 117: #set ($relatedGallery = "") 118: 119: 120: #if ($relatedPages.size() > 0) 121: #foreach ($related in $relatedPages) 122: #if ($showBoxscore) 123: #if ($related.contentType.startsWith("statcrew") && $related.mapType == "BS" && $website.exists($related.url)) 124: #set ($r = $boxscores.add($related.url)) 125: #set ($hasSidebar = true) 126: #end 127: #end 128: #if ($showVideo) 129: #if (($related.contentType == "video/x-flv" || $related.contentType == "loki/video" || $related.contentType == "loki/youtube") && $related.id != $page.id && $website.exists($related.url) && $relatedVideo.length() == 0) 130: #if ($related.contentType == "video/x-flv") 131: #set ($relatedVideo = "${related.url}?dec=") 132: #set ($relatedVideoType = "video/x-flv") 133: #elseif ($related.contentType == "loki/video") 134: #set ($relatedVideo = "${related.url}?dec=") 135: #set ($relatedVideoType = "video/mp4") 136: #else 137: #set ($relatedVideo = "${related.dataAsString}") 138: #set ($relatedVideoType = "video/youtube") 139: #end 140: 141: ## VIDEOJS PLAYER CSS 142: $website.addCss($website.cdn("/info/videojs/css/video-js.min.css")) 143: #end 144: #end 145: 146: #if ($showGallery) 147: #if ($related.mapType == "GA" && !$website.isExternalLink($related.url) && $website.exists($related.url)) 148: #set ($relatedGallery = $related) 149: #end 150: #end 151: #end 152: #end 153: 154: ##==================================## 155: ## BEGIN TEMPLATE MACROS 156: ##==================================## 157: 158: ########################### 159: ## SIDEBAR 160: #macro (printSidebar) 161: #if ($boxscores.size() > 0) 162: <div class="sidebar article-sidebar float-md-right clear col-md-6 col-lg-4 position-relative"> 163: #foreach ($boxscore in $boxscores) 164: #set ($includeURL = "${boxscore}?tmpl=brief-stats-template") 165: #if ($showBannerScore) 166: #set ($includeURL = "${includeURL}&showLinescore=false") 167: #end 168: #if ($layoutStyle != "classic" && $showTeamLogo) 169: #set ($includeURL = "${includeURL}&showTeamLogo=true") 170: #end 171: <div class="sidebar-boxscores"> 172: $website.includeAgain("${includeURL}") 173: </div> 174: #end 175: </div> 176: #end 177: #end ## printSidebar 178: ########################### 179: 180: ########################## 181: ## CAPITALIZE 182: #macro (capitalize $name) 183: $name.substring(0,1).toUpperCase()$name.substring(1).toLowerCase() 184: #end 185: ########################### 186: 187: ########################### 188: ## PAGE TITLE 189: #macro (printTitle) 190: #if($request.getAttribute("pageTitle").length() > 0) 191: #set ($pageTitle = $request.getAttribute("pageTitle")) 192: #else 193: #set ($pageTitle = "") 194: #end 195: #if ($page.title.length() > 0) 196: #set ($pageTitle = $!page.title) 197: #if ($headlineStyle == "none") 198: <div class="article-title">$!pageTitle</div> 199: #else 200: <${headlineStyle} class="article-title">$!pageTitle</${headlineStyle}> 201: #end 202: #end 203: #if($pageTitle.trim().length() == 0) 204: #set ($pageTitle = "#capitalize($page.name.trim())") 205: #end 206: $!request.setAttribute("pageTitle", "${pageTitle}") 207: 208: #if ($body.length() > 150) 209: $!request.setAttribute("pageDescription", "$body.substring(1, 150) ...") 210: #else 211: $!request.setAttribute("pageDescription", "$body") 212: #end 213: 214: 215: #end ## printTitle 216: ########################### 217: 218: ########################### 219: ## PAGE DATE 220: #macro (printDate) 221: #if ($page.date && $showDate) 222: <div class="article-date"> 223: <div class="date">Posted: $formatter.formatDate($page.date, "MMM dd, yyyy")</div> 224: </div> 225: #end 226: #end ## printDate 227: ########################### 228: 229: ########################### 230: ## PAGE SOCIAL COUNTS 231: #macro (printSocialCounts) 232: #* DISABLED 01/03/2024 DUE TO ADDTHIS MODULE BEING DEPRICATED 233: #if ($shareButtons && ($facebookLike || $tweetButton) && !$website.isIncluded()) 234: <div class="article-social-counts mb-2"> 235: <div class="like-buttons d-flex justify-content-start" data-module="share-buttons"> 236: #if ($facebookLike) 237: <div class="fb-like-btn mr-2"><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a></div> 238: #end 239: #if ($tweetButton) 240: <div class="tweet-btn mr-2"><a class="addthis_button_tweet"></a></div> 241: #end 242: </div> 243: </div> 244: #end 245: *# 246: #end ## printSocialSharing 247: ########################### 248: 249: ########################### 250: ## ARTICLE THUMBNAIL PICTURE 251: #macro (printPicture) 252: #set ($thumbSrc = $page.thumbnailURL) 253: #if ($layoutStyle == "standard" || ($layoutStyle == "classic")) 254: #set ($thumbSrc = "${thumbSrc}?max_width=${thumbWidth}") 255: #end 256: #set ($thumbAlt = "$!page.title") 257: #if ($page.thumbnailPage.altText.length() > 0) 258: #set ($thumbAlt = "$page.thumbnailPage.altText") 259: #end 260: 261: <picture alt="$thumbAlt"> 262: <source media="(min-width:1200px)" srcset="${thumbSrc}?max_width=1920"> 263: <source media="(min-width:992px)" srcset="${thumbSrc}?max_width=1199"> 264: <source media="(min-width:578px)" srcset="${thumbSrc}?max_width=991"> 265: <source media="(min-width:0px)" srcset="${thumbSrc}?max_width=576"> 266: <img class="img-fluid mx-auto" src="${thumbSrc}" alt="${thumbAlt}"/> 267: </picture> 268: #end ## printPicture 269: ########################### 270: 271: ########################### 272: ## ARTICLE THUMBNAIL 273: #macro (printThumbnail) 274: #set($figureClass = "article-image position-relative text-center") 275: #if ($layoutStyle == "classic" || $layoutStyle == "standard") 276: #if ($boxscores.size() > 0) 277: #set($figureClass = "article-image position-relative col-md-12") 278: #else 279: #set($figureClass = "article-image position-relative float-md-right mw-xs-100 mw-lg-50 pl-lg-3") 280: #end 281: #end 282: #if (!$videoOverlay && $relatedVideo.length() > 0) 283: <figure class="${figureClass}"> 284: <div data-module="init-video" data-file="$relatedVideo" data-type="$relatedVideoType" data-image="$!page.thumbnailURL"></div> 285: </figure> 286: #else 287: #if ($showThumb && $page.thumbnailURL) 288: #set ($buyPhotoURL = "") 289: #set ($buyPhotoURL = $website.storeURL($page.thumbnailPage)) 290: 291: <figure class="${figureClass}"> 292: #printPicture 293: 294: #if (($page.thumbnailPage.buyURL && $buyPhotoURL.length() > 0) || $demo) 295: <a href="${buyPhotoURL}" class="btn btn-success buynow-btn btn-sm"><span class="fa fa-shopping-cart"></span> BUY</a> 296: #end 297: #if ($showCaption == true && $page.thumbnailPage.title.length() > 0) 298: <figcaption class="p-2 figure-caption image-caption-overlay">$page.thumbnailPage.title</figcaption> 299: #end 300: #if ($relatedVideo.length() > 0 || $demo) 301: <a href="${relatedVideo}" class="play-btn video-btn-overlay" data-module="bs-scripts/init-modal-video" data-module-binding="always" data-trigger="true" data-overlay="true" data-file="$relatedVideo" data-type="$relatedVideoType"> 302: <span class="center-icon-pre"> 303: <span class="center-icon"> 304: <span class="sr-only">Play Video</span> 305: <span class="fab fa-youtube"></span> 306: </span> 307: </span> 308: </a> 309: #end 310: </figure> 311: #end 312: #end 313: #end ## printThumbnail 314: ########################### 315: 316: ########################### 317: ## ARTICLE HEADER IMAGE 318: #macro (printHeaderImage) 319: 320: #if (!$videoOverlay && $relatedVideo.length() > 0 || ($showThumb && $page.thumbnailURL)) 321: $!request.setAttribute("pageClass", "internal-page release-page") 322: #if($page.contentType.equals("loki/tinymce")) 323: $!request.setAttribute("container", "container-fluid p-0") 324: #end 325: <div class="article-header bg-primary position-relative mb-3"> 326: #if (!$infiniteScroll) 327: <div class="article-header-bg mt-n3"> 328: #printPicture 329: </div> 330: #end 331: <div class="article-header-hero"> 332: <div class="container"> 333: #printThumbnail 334: </div> 335: </div> 336: </div> 337: #end 338: #end ## printHeaderImage 339: ########################### 340: 341: ########################### 342: ## ARIA LABEL FOR RELATED LINK 343: #macro (printLinkAriaLabel $event $label) 344: #if (!$event) 345: #set ($ariaLabel = $label) 346: #else 347: #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}") 348: #if ($event.neutralSite.length() > 0 || $event.home) 349: #set ($vsOrAt = "vs.") 350: #else 351: #set ($vsOrAt = "at") 352: #end 353: #if ($event.teams.size() > 1) 354: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name} ${vsOrAt} ${event.teams.get(1).name}:") 355: #elseif ($event.teams.size() == 1) 356: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name}:") 357: #end 358: #if ($event.neutralSite.length() > 0) 359: #set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:") 360: #end 361: #set ($ariaLabel = "${ariaLabel} ${label}") 362: #end 363: aria-label="$ariaLabel" 364: #end ##printLinkAriaLabel 365: ########################### 366: 367: ########################### 368: ## RELATED LINKS 369: #macro (printRelatedLinks) 370: #if ($showRelatedLinks && $relatedPages.size() > 0) 371: #set ($printedLinks = {}) 372: #set ($eventLinks = []) 373: #set ($relatedEvents = $page.schedule.getEventsWithLink($page.url)) 374: #if (!$relatedEvents.isEmpty()) 375: #set ($relatedEvent = $relatedEvents[0]) 376: #if (!$relatedEvent.links.isEmpty()) 377: #set ($eventLinks = $relatedEvent.links) 378: #end 379: #end 380: $request.setAttribute("disable_related_links", "y") 381: <div class="related-links mb-3 float-md-right col-md-6 col-lg-4"> 382: <div class="list-group"> 383: #foreach ($related in $relatedPages) 384: #if ($related.id != $page.id) 385: #set ($linkText = $related.mapLabel) 386: #set ($linkUrl = $related.url) 387: #set ($linkMapType = $related.mapType) 388: #set ($linkFound = false) 389: #if (!$eventLinks.isEmpty()) 390: #set ($link = $eventLinks[0]) 391: #foreach ($l in $eventLinks) 392: #if ($related.url == $l.url) 393: #set ($link = $l) 394: #set ($linkFound = true) 395: #end 396: #end 397: #end 398: #if ($linkFound == true) 399: #set ($linkText = $link.name) 400: #set ($linkUrl = $link.url) 401: #set ($linkMapType = $link.mapType) 402: #end 403: #set ($linkTypeCounter = 1) 404: #set ($linkTypeLabel = $linkText) 405: #if ($printedLinks.containsKey("${linkText}")) 406: #set ($linkTypeCounter = $printedLinks.get("${linkText}") + 1) 407: #set ($linkTypeLabel = "$linkTypeLabel ${linkTypeCounter}") 408: #end 409: #set ($ignore = $printedLinks.put($linkText, $linkTypeCounter)) 410: 411: <a class="list-group-item list-group-item-action bg-primary text-white" #printLinkAriaLabel($relatedEvent, $linkTypeLabel) href="$linkUrl" #if ($website.isExternalLink($linkUrl))target="_blank"#end> 412: #if ($linkMapType == "GA") ##gallery 413: <span class="far fa-images mr-1"></span> 414: #elseif($linkMapType == "RC") ##recap 415: <span class="far fa-newspaper mr-1"></span> 416: #elseif($linkMapType == "PR") ##preview 417: <span class="far fa-eye mr-1"></span> 418: #elseif($linkMapType == "LS") ##live stats 419: <span class="fas fa fa-eye mr-1"></span> 420: #elseif($linkMapType == "VI") ##video 421: <span class="far fa-play-circle mr-1"></span> 422: #elseif($linkMapType == "DI") ##directions 423: <span class="fas fa-directions mr-1"></span> 424: #elseif($linkMapType == "BS") ##box scores 425: <span class="far fa-chart-bar mr-1"></span> 426: #elseif($linkMapType == "LI") ##custom links 427: <span class="fas fa-external-link-alt mr-1"></span> 428: #end 429: <span class="recap-label">${linkText}</span> 430: </a> 431: #end 432: #end 433: </div> 434: </div> 435: #end 436: #end ## printRelatedLinks 437: ########################### 438: 439: ########################### 440: ## RELATED LINKS 441: #macro (printRelatedArticles) 442: #set ($relatedArticles = $tool.sorter.sort($relatedArticles, "date:desc")) 443: <div class="article-sidebar-for-related flex-grow-1 col-lg-4 col-xl-3 d-none d-lg-block my-n3 bg-light"> 444: <div class="sidebar-vertical-scroll"> 445: <div class="rel-articles"> 446: <div class="container p-0"> 447: ## GLOBAL ADS SERVER 448: #if ($website.ads.isAdvertisingEnabled('ARTICLES')) 449: $website.includeAgain("global-adserver-slots?adSlot=articles_sidebar") 450: #end 451: #foreach ($article in $relatedArticles) 452: <div class="card my-3 preview #if($article.url == $page.url) active bg-primary text-light loaded #end"> 453: <div class="card-body"> 454: #if ($article.thumbnailURL.length() > 0) 455: #set ($src = $article.thumbnailURL) 456: #elseif ($website.exists("/images/setup/default-thumbnail.png")) 457: #set ($src = "/images/setup/default-thumbnail.png") 458: #elseif ($website.exists("/images/setup/thumbnail_default.jpg")) 459: #set ($src = "/images/setup/thumbnail_default.jpg") 460: #else 461: #set ($src = "/info/images/default-thumbnail.png") 462: #end 463: #set ($thumbnailURL = "${src}?max_width=576&max_height=324&crop=true") 464: 465: <img data-src="$thumbnailURL" alt="$!article.title" class="lazyload img-fluid card-img-top" /> 466: <div class="card-contents"> 467: <p class="card-text text-muted m-0"> 468: <span class="date small">$formatter.formatLongDate($article.date)</span> 469: </p> 470: <h5 class="card-title m-0"> 471: <a href="$article.url" class="title">$article.title</a> 472: </h5> 473: 474: </div> 475: </div> 476: </div> 477: #end 478: </div> 479: </div> 480: </div> 481: </div> 482: #end ##printRelatedArticles 483: ########################### 484: 485: #macro (printWaldoVideo) 486: #if ($website.ads.isMediaVideoAdsEnabled()) 487: <!-- Responsive Video --> 488: <div id="waldo-tag-article-video"></div> 489: #end 490: #end 491: 492: ########################### 493: ## ARTICLE LAYOUT 494: #macro (printArticleLayout) 495: #set ($sidebarClass = "no-sidebar") 496: #if ($hasSidebar) 497: #set ($sidebarClass = "has-sidebar") 498: #end 499: 500: <div class="rich-v2 ${layoutStyle} ${sidebarClass} clearfix" data-title="$!page.title" data-url="$page.url"> 501: ## BANNER IMAGE 502: #if ($layoutStyle == "modern card") 503: #printHeaderImage 504: #end 505: 506: <div class="article-body clearfix"> 507: <div class="container p-0"> 508: <div class="d-flex #if ($infiniteScroll) flex-column #else flex-row flex-sm-row #end justify-content-between"> 509: <div class="article-main flex-fill position-relative overflow-hidden"> 510: 511: #if ($layoutStyle == "standard" || $layoutStyle == "modern") 512: #printThumbnail 513: #end 514: 515: <div class="article-contents"> 516: 517: <div class="article-text position-relative"> 518: ## PAGE DATE 519: #printDate 520: 521: ## PAGE TITLE 522: #if (!$request.getAttribute("pageClass").contains('landing')) 523: #printTitle 524: #end 525: 526: ## ARTICLE SOCIAL COUNTS 527: #printSocialCounts 528: 529: #printWaldoVideo 530: 531: ## BANNER SCORE 532: #if ($showBannerScore && $boxscores.size() > 0) 533: <div class="article-scores mb-3"> 534: #if (($layoutStyle != "classic") && $showTeamLogo) 535: #set ($showTeamLogo = true) 536: #end 537: #foreach ($boxscore in $boxscores) 538: <div class="banner-score border-bottom mb-3">$website.include("${boxscore}?tmpl=brief-stats-template&showLinescore=true&extended=false&showTeamLogo=${showTeamLogo}")</div> 539: #end 540: </div> 541: #end 542: 543: <div class="article-body"> 544: 545: #if ($layoutStyle == "classic") 546: #printThumbnail 547: #end 548: 549: ## RELATED LINKS 550: #printRelatedLinks 551: 552: ## SIDEBAR 553: #printSidebar 554: 555: ## ARTICLE BODY 556: $body.replace('src="//www.youtube.com', 'src="https://www.youtube.com') 557: 558: </div> 559: 560: ## ARTICLE FOOTER 561: #if (!$request.getAttribute("disable_article_footer")) 562: $website.include("article-footer") 563: #end 564: 565: ## SHARE BUTTONS 566: #if ($shareButtons && $infiniteScroll && !$website.isIncluded()) 567: $!request.setAttribute("showBookmark", false) 568: $website.include("share-buttons") 569: #end 570: </div> 571: 572: </div> 573: 574: </div> ## article-main 575: 576: 577: </div> 578: 579: ## RELATED PHOTO GALLERY 580: #if ($relatedGallery.url) 581: ## RELATED PHOTO GALLERY 582: #set ($photos = $relatedGallery.allHeadlines) 583: #if ($photos.size() > 0) 584: <div class="article-gallery related-gallery my-3 text-center row"> 585: <div class="no-gutters d-flex align-items-center"> 586: <div class="flex-fill d-flex align-items-center justify-content-center"> 587: <a class="btn btn-light" href="#carouselExampleIndicators" role="button" data-slide="prev"> 588: <span class="fa fa-angle-left" aria-hidden="true"></span> 589: </a> 590: </div> 591: <div class="flex-fill w-100 p-3"> 592: <!--Start carousel--> 593: <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel"> 594: <div class="carousel-inner"> 595: #foreach ($photo in $photos) 596: #set ($maxWidth = 320) 597: #set ($maxHeight = 180) 598: #set ($imgSrc = $photo.url) 599: #if ($maxWidth)#set ($imgSrc = "${photo.url}?max_width=${maxWidth}")#end 600: #if ($maxHeight)#set ($imgSrc = "${photo.url}?max_height=${maxHeight}")#end 601: 602: #if ($maxWidth && $maxHeight) 603: #set ($imgSrc = "${photo.url}?max_width=${maxWidth}&max_height=${maxHeight}&crop=true") 604: #end 605: 606: #set ($imgAlt = "") 607: #if (!$showLabel && $photo.altText.length() > 0) 608: #set ($imgAlt = $photo.altText) 609: #elseif (!$showLabel && $photo.title.length() > 0) 610: #set ($imgAlt = $photo.title) 611: #end 612: 613: #if($foreach.first) 614: <div class="carousel-item #if($foreach.first)active#end"> 615: <div class="row"> 616: #elseif($foreach.index %4 == 0) 617: </div></div> 618: <div class="carousel-item #if($foreach.first)active#end"> 619: <div class="row"> 620: #end 621: 622: #set ($photoItemClass = "col-6 col-sm-6 col-md-3 col-lg-3") 623: #if ($infiniteScroll) 624: #set ($photoItemClass = "col-6 col-sm-6 col-md-3 col-lg-6") 625: #end 626: 627: <div class="${photoItemClass} d-flex align-items-center justify-content-center"> 628: <a class="my-3 slide" href="${relatedGallery.url}" #if ($website.isExternalLink($relatedGallery.url)) target="_blank" #end #if ($photo.title.length() > 0) aria-label="$photo.title" #end> 629: <img src="${imgSrc}" alt="${imgAlt}" class="img-fluid" /> 630: #if ($showLabel && $photo.title.length() > 0)<span class="title">$photo.title</span>#end 631: </a> 632: </div> 633: 634: #if($foreach.last) 635: </div></div> 636: #end 637: #end 638: </div> 639: </div> 640: <!--End carousel--> 641: </div> 642: <div class="flex-fill align-items-center justify-content-center"> 643: <a class="btn btn-light" href="#carouselExampleIndicators" data-slide="next"> 644: <div class="carousel-nav-icon"> 645: <span class="fa fa-angle-right" aria-hidden="true"></span> 646: </div> 647: </a> 648: </div> 649: </div> 650: </div> 651: #end 652: #end 653: $wiki 654: </div> 655: </div> ## article-body 656: ## GLOBAL ADS SERVER 657: #if ($website.ads.isAdvertisingEnabled('ARTICLES')) 658: $website.includeAgain("global-adserver-slots?adSlot=articles") 659: #end 660: </div> ##rich-v2 661: #end ## printArticleLayout 662: ########################### 663: 664: ##==================================## 665: ## END MACROS 666: ##==================================## 667: 668: #if ($infiniteScroll && !$ajax) 669: $!request.setAttribute("pageClass", "internal-page release-page") 670: <div class="infinite-articles row d-flex position-relative" data-module="bs-scripts/infinite-articles"> 671: <div class="articles flex-grow-1 col-lg-8 col-xl-9"> 672: #printArticleLayout 673: </div> 674: #printRelatedArticles 675: </div> 676: #else 677: #printArticleLayout 678: #end 679: 680: #end ## ends only-body check 681: 682: $!request.setAttribute("icl-videojs-script", true) 683: $!request.setAttribute("icl-videojs-flash-script", true) 684: $!request.setAttribute("icl-responsive-legacy-content-script", true) |