DWU men’s soccer picks up road victory
There was a problem with a Velocity script | |
Page | rich-template |
Error | Invocation of method 'include' in class com.prestosports.render.ContentEngineInvoker threw exception javax.servlet.ServletException: javax.servlet.ServletException: java.lang.NullPointerException at rich-template[line 433, column 40] |
Page source: |
1: #set ($showMobile = false) 2: #if ($request.getParameter('showMobile').length() > 0) 3: #set ($showMobile = true) 4: #end 5: 6: ## Front Row legacy code for verions prior to 2.3 7: #if ($showMobile) 8: ##MOBILE TEMPLATE 9: $website.include("options") 10: #set ($options = $request.getAttribute("options")) 11: 12: ## DEFAULT VALUES 13: #set ($showDate = true) 14: #set ($facebookLike = false) 15: #set ($showThumb = true) 16: #set ($showCaption = true) 17: #set ($thumbWidth = 150) 18: 19: #set ($showDate = $options.get("article_show_date")) 20: #set ($facebookLike = $options.get("article_facebook_like")) 21: #set ($showThumb = $options.get("article_show_thumb")) 22: #set ($showCaption = $options.get("article_show_caption")) 23: #set ($thumbWidth = $options.get("article_mobile_thumb_width")) 24: 25: ## ADD THIS 26: #if ($page.date && $facebookLike == true) 27: 28: #end 29: 30: ## STYLES 31: <style> 32: .mobile-article iframe { max-width:100% } 33: </style> 34: 35: <div class="mobile-article"> 36: ## PAGE TITLE 37: <h1>$!page.title</h1> 38: 39: #if ($showDate == true and $page.date) 40: <span class="page-date">$formatter.formatLongDate($!page.date)</span> 41: #end 42: 43: <div class="clear"></div> 44: 45: #if ($page.thumbnailURL && $showThumb == true) 46: <div class="thumb"> 47: <img src="$page.thumbnailURL" alt="$!page.thumbnailPage.altText" /> 48: #set ($buyPhotoURL = "") 49: #set ($buyPhotoURL = $website.storeURL($page.thumbnailPage)) 50: #if ($page.thumbnailPage.buyURL && $buyPhotoURL.length() > 0) 51: <a href="$buyPhotoURL" class="buynow-button" title="Buy Now"></a> 52: #end 53: #if ($showCaption == true && $page.thumbnailPage.title.length() > 0) 54: <h5 class="thumb-title">$!page.thumbnailPage.title</h5> 55: #end 56: </div> ## ends thumb 57: #end 58: 59: ## PAGE BODY 60: $body.replace('src="//www.youtube.com', 'src="https://www.youtube.com')) 61: 62: <div class="clear"></div> 63: 64: #if ($facebookLike == true) 65: ## FACEBOOK LIKE 66: ##<div class="mobile-facebook-like"> 67: ##<fb:like href="http://${request.serverName}${page.url}" show_faces="false" width="300" height="30" /> 68: ##</div> 69: #end 70: 71: #if ($wiki.valid()) 72: <div class="wiki">$wiki</div> 73: #end 74: </div> 75: $wiki 76: 77: #else 78: 79: ####################################### 80: ## SUPPORT RESPONSIVE LAYOUT ## 81: ####################################### 82: 83: #set ($ajax = false) 84: #if ($request.getParameter("ajax") == true) 85: #set ($ajax = true) 86: $website.decorate("") 87: #end 88: 89: #set ($isMobile = false) 90: #if ($browser.getIphone() || $browser.getMobile()) 91: #set ($isMobile = true) 92: #end 93: 94: #set ($isFrontrow = false) 95: #if ($request.getParameter("frontrow") == true) 96: #set ($isFrontrow = true) 97: #end 98: 99: ## DEFAULT VALUES 100: #set ($layoutStyle = "standard") 101: #set ($showDate = true) 102: #set ($facebookLike = true) 103: #set ($tweetButton = true) 104: #set ($showBannerScore = true) 105: #set ($showThumb = true) 106: #set ($showVideo = true) 107: #set ($videoOverlay = true) 108: #set ($showBoxscore = true) 109: #set ($showGallery = true) 110: #set ($showCaption = true) 111: #set ($showOnlyBody = false) 112: #set ($showRelatedLinks = true) 113: #set ($headlineStyle = "h1") 114: #set ($thumbWidth = 450) 115: #set ($infiniteScroll = false) 116: #set ($shareButtons = true) 117: 118: ## PICK UP OPTIONS 119: $website.include("options") 120: #set ($options = $request.getAttribute("options")) 121: 122: ## SET VARIABLES FROM OPTIONS 123: #if ($options.get("article_layout_style") == "modern") #set ($layoutStyle = "modern") #end 124: #if ($options.get("article_layout_style") == "classic") #set ($layoutStyle = "classic") #end 125: #if ($options.get("article_show_date") == false) #set ($showDate = false) #end 126: #if ($options.get("article_facebook_like") == false) #set ($facebookLike = false) #end 127: #if ($options.get("article_tweet_button") == false) #set ($tweetButton = false) #end 128: #if ($options.get("article_banner_score") == false) #set ($showBannerScore = false) #end 129: #if ($options.get("article_show_thumb") == false) 130: #set ($showThumb = false) 131: #set ($showVideo = false) 132: #end 133: #if ($options.get("article_show_video") == false) #set ($showVideo = false) #end 134: #if ($options.get("article_video_overlay") == false || $isMobile) #set ($videoOverlay = false) #end 135: #if ($options.get("article_show_boxscore") == false) #set ($showBoxscore = false) #end 136: #if ($options.get("article_show_gallery") == false) #set ($showGallery = false) #end 137: #if ($options.get("article_show_caption") == false) #set ($showCaption = false) #end 138: #if ($options.get("article_show_body") == true) #set ($showOnlyBody = true) #end 139: #if ($tool.math.toInteger($options.get("article_thumb_width"))) #set ($thumbWidth = $tool.math.toInteger($options.get("article_thumb_width"))) #end 140: #set ($headlineStyle = $options.get("article_headline_style")) 141: 142: ## GRAB RELATED ARTICLES 143: #set ($relatedArticles = []) 144: #set ($relatedHeadline = "") 145: #foreach ($headline in $page.headlinesFeatured) 146: #if ($headline.name == "news" && $relatedHeadline.length() == 0) 147: #set ($relatedHeadline = $headline.url) 148: #foreach ($article in $headline.allHeadlines) 149: #if ($article.contentType == "loki/tinymce" && ($article.date && $article.title.length() > 0)) 150: #set ($bool = $relatedArticles.add($article)) 151: #end 152: #end 153: #end 154: #end 155: 156: ## ONLY TURN ON INFINITY SCROLL WHEN THE PAGE IS A STANDALONE PAGE, AND RELATED ARTICLES FOUND IN ABOVE BLOCK 157: #if ($options.get("article_infinite_scroll") == true && !$website.isIncluded() && $relatedArticles.size() > 0) 158: #set ($infiniteScroll = true) 159: #set ($layoutStyle = "modern") 160: #end 161: 162: ## IF MOBILE TURN OFF INFINITY SCROLL 163: #if ($isMobile) 164: #set ($infiniteScroll = false) 165: #set ($layoutStyle = "classic") 166: #end 167: 168: ## IF FRONTROW TURN OFF DECORATOR, SHARE BUTTONS AND INFINITY SCROLL 169: #if ($isFrontrow) 170: $website.decorate("") 171: #set ($infiniteScroll = false) 172: #set ($shareButtons = false) 173: #end 174: 175: ## OVERRIDE OPTIONS FOR PRINTER FRIENDLY VIEW 176: #if ($request.getParameter("dec") == "printer-decorator") 177: #set ($infiniteScroll = false) 178: #set ($layoutStyle = "standard") 179: #set ($thumbWidth = 450) 180: #set ($showRelatedLinks = false) 181: #set ($facebookLike = false) 182: #set ($tweetButton = false) 183: #end 184: 185: ## WHEN THE FOLLOWING ATTRIBUTE IS SET, TURN OFF THE RELATED LINKS 186: #if ($request.getAttribute("disable_related_links") == "y") 187: #set ($showRelatedLinks = false) 188: #end 189: 190: #if ($showOnlyBody == true) 191: 192: $body 193: 194: #else 195: 196: #set ($relatedPages = $page.relatedInSchedule) 197: #set ($hasSidebar = false) 198: #set ($boxscores = []) 199: #set ($relatedVideo = "") 200: #set ($relatedVideoType = "") 201: #set ($relatedGallery = "") 202: 203: #if ($relatedPages.size() > 0) 204: #foreach ($related in $relatedPages) 205: #if ($showBoxscore) 206: #if ($related.contentType.startsWith("statcrew") && $related.mapType == "BS" && $website.exists($related.url)) 207: #set ($r = $boxscores.add($related.url)) 208: #set ($hasSidebar = true) 209: #end 210: #end 211: 212: #if ($showVideo) 213: #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) 214: #if ($related.contentType == "video/x-flv") 215: #set ($relatedVideo = "${related.url}?dec=") 216: #set ($relatedVideoType = "video/x-flv") 217: #elseif ($related.contentType == "loki/video") 218: #set ($relatedVideo = "${related.url}?dec=") 219: #set ($relatedVideoType = "video/mp4") 220: #else 221: #set ($relatedVideo = "${related.dataAsString}") 222: #set ($relatedVideoType = "video/youtube") 223: #end 224: 225: ## VIDEOJS PLAYER CSS 226: $website.addCss($website.cdn("/info/videojs/css/video-js.min.css")) 227: #end 228: #end 229: 230: #if ($showGallery) 231: #if ($related.mapType == "GA" && !$website.isExternalLink($related.url) && $website.exists($related.url)) 232: #set ($relatedGallery = $related) 233: #end 234: #end 235: #end 236: #end 237: 238: ## MACROS 239: #macro (printSidebar) 240: #if ($hasSidebar) 241: <div class="sidebar"> 242: #foreach ($boxscore in $boxscores) 243: #set ($includeURL = "${boxscore}?tmpl=brief-stats-template") 244: #if ($showBannerScore) 245: #set ($includeURL = "${includeURL}&showLinescore=false") 246: #end 247: #if ($foreach.count > 1) 248: <br /> 249: #end 250: <div class="widget"> 251: $website.includeAgain("${includeURL}") 252: <a href="${boxscore}" class="more">full stats</a> 253: </div> 254: #end 255: </div> 256: #end 257: #end ## printSidebar 258: 259: ## PAGE TITLE 260: #macro (printTitle) 261: #if ($page.title.length() > 0) 262: #if ($headlineStyle == "none") 263: <div class="article-title">$!page.title</div> 264: #else 265: <${headlineStyle} class="article-title">$!page.title</${headlineStyle}> 266: #end 267: #end 268: #end ## printTitle 269: 270: ## PAGE DATE 271: #macro (printDate) 272: #if ($page.date && $showDate) 273: <div class="article-date"> 274: <div class="date">Posted: $formatter.formatDate($page.date, "MMM dd, yyyy")</div> 275: 276: #if ($shareButtons && ($facebookLike || $tweetButton)) 277: <div class="like-buttons" data-module="share-buttons"> 278: #if ($facebookLike) 279: <div class="fb-like-btn"><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a></div> 280: #end 281: #if ($tweetButton) 282: <div class="tweet-btn"><a class="addthis_button_tweet"></a></div> 283: #end 284: </div> 285: #end 286: </div> 287: #end 288: #end ## printDate 289: 290: ## ARTICLE THUMBNAIL 291: #macro (printThumbnail) 292: #if (!$videoOverlay && $relatedVideo.length() > 0) 293: <div class="article-image" style="width:${thumbWidth}px"> 294: <div data-module="init-video" data-file="$relatedVideo" data-type="$relatedVideoType" data-image="$!page.thumbnailURL"></div> 295: </div> 296: #else 297: #if ($showThumb && $page.thumbnailURL) 298: #set ($buyPhotoURL = "") 299: #set ($buyPhotoURL = $website.storeURL($page.thumbnailPage)) 300: 301: #set ($thumbSrc = $page.thumbnailURL) 302: #if ($layoutStyle == "standard" || ($layoutStyle == "classic" && !$hasSidebar)) 303: #set ($thumbSrc = "${thumbSrc}?max_width=${thumbWidth}") 304: #end 305: 306: <div class="article-image"> 307: <div class="image"> 308: 309: #if ($page.thumbnailPage.altText.length() > 0) 310: <img src="$thumbSrc" alt="$page.thumbnailPage.altText" /> 311: #else 312: <img src="$thumbSrc" alt="$!page.title" /> 313: #end 314: 315: #if ($page.thumbnailPage.buyURL && $buyPhotoURL.length() > 0) 316: <a href="$buyPhotoURL" class="buynow-btn">Buy Now</a> 317: #end 318: 319: #if ($showCaption == true && $page.thumbnailPage.title.length() > 0) 320: <div class="thumb-caption">$page.thumbnailPage.title</div> 321: #end 322: 323: #if ($relatedVideo.length() > 0) 324: <a href="${relatedVideo}" class="play-btn" data-module="init-video" data-module-binding="always" data-trigger="true" data-overlay="true" data-file="$relatedVideo" data-type="$relatedVideoType">Play Video</a> 325: #end 326: </div> 327: </div> 328: #end 329: #end 330: #end ## printThumbnail 331: 332: ## ARIA LABEL FOR RELATED LINK 333: #macro (printLinkAriaLabel $event $label) 334: #if (!$event) 335: #set ($ariaLabel = $label) 336: #else 337: #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}") 338: #if ($event.neutralSite.length() > 0 || $event.home) 339: #set ($vsOrAt = "vs.") 340: #else 341: #set ($vsOrAt = "at") 342: #end 343: #if ($event.teams.size() > 1) 344: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name} ${vsOrAt} ${event.teams.get(1).name}:") 345: #elseif ($event.teams.size() == 1) 346: #set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name}:") 347: #end 348: #if ($event.neutralSite.length() > 0) 349: #set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:") 350: #end 351: #set ($ariaLabel = "${ariaLabel} ${label}") 352: #end 353: aria-label="$ariaLabel" 354: #end 355: 356: ## RELATED LINKS 357: #macro (printRelatedLinks) 358: #if ($showRelatedLinks && $relatedPages.size() > 0) 359: #set ($printedLinks = {}) 360: #set ($relatedEvents = $page.schedule.getEventsWithLink($page.url)) 361: #if (!$relatedEvents.isEmpty()) 362: #set ($relatedEvent = $relatedEvents[0]) 363: #end 364: $request.setAttribute("disable_related_links", "y") 365: <div class="related-links" data-module="jscroll" data-momentum="false"> 366: <div> 367: <ul class="clearfix"> 368: #foreach ($related in $relatedPages) 369: #if ($related.id != $page.id) 370: <li> 371: #set ($linkTypeCounter = 1) 372: #set ($linkTypeLabel = $related.mapLabel) 373: #if ($printedLinks.containsKey("${related.mapLabel}")) 374: #set ($linkTypeCounter = $printedLinks.get("${related.mapLabel}") + 1) 375: #set ($linkTypeLabel = "$related.mapLabel${linkTypeCounter}") 376: #end 377: #set ($ignore = $printedLinks.put($related.mapLabel, $linkTypeCounter)) 378: 379: <a #printLinkAriaLabel($relatedEvent, $linkTypeLabel) href="$related.url" #if ($website.isExternalLink($related.url))target="_blank"#end> 380: <span class="gicon-${related.mapType.toLowerCase()}"></span> 381: ${related.mapLabel} 382: </a> 383: </li> 384: #end 385: #end 386: </ul> 387: </div> 388: </div> 389: #end 390: #end ## printRelatedLinks 391: 392: #macro (printRelatedArticles) 393: #set ($relatedArticles = $tool.sorter.sort($relatedArticles, "date:desc")) 394: <div class="rel-articles"> 395: <div class="container"> 396: #foreach ($article in $relatedArticles) 397: <div #if ($article.url == $page.url) class="preview active loaded" #else class="preview" #end> 398: <div class="thumb"> 399: #if ($article.thumbnailURL) 400: <img data-src="$article.thumbnailURL?max_width=280&max_height=160&crop=true" alt="$!article.title" class="lazyload" /> 401: #else 402: <img data-src="/images/setup/thumbnail_default.jpg?max_width=280&max_height=160&crop=true" alt="$!article.title" class="lazyload" /> 403: #end 404: </div> 405: <div class="info"> 406: <span class="date">$formatter.formatLongDate($article.date)</span> 407: <a href="$article.url" class="title">$article.title</a> 408: </div> 409: </div> 410: #end 411: </div> 412: </div> 413: #end ## printRelatedArticles 414: 415: #macro (printArticleLayout) 416: 417: #set ($sidebarClass = "no-sidebar") 418: #if ($hasSidebar) 419: #set ($sidebarClass = "has-sidebar") 420: #end 421: 422: <div class="rich-v2 ${layoutStyle} ${sidebarClass} clearfix" data-module="article-rich" data-title="$!page.title" data-url="$page.url"> 423: 424: ## RELATED LINKS 425: #printRelatedLinks 426: 427: ## PAGE TITLE 428: #printTitle 429: 430: ## BANNER SCORE 431: #if ($showBannerScore && $boxscores.size() > 0) 432: #foreach ($boxscore in $boxscores) 433: <div class="banner-score">$website.include("${boxscore}?tmpl=brief-stats-template&showLinescore=true&extended=false")</div> 434: #end 435: #end 436: 437: ## BANNER IMAGE 438: #if ($layoutStyle == "modern") 439: #printThumbnail 440: #end 441: 442: <div class="article-body clearfix"> 443: 444: #if ($layoutStyle == "modern") 445: #if (!$isMobile) 446: #printSidebar 447: #end 448: 449: #elseif ($layoutStyle == "classic") 450: #if (!$isMobile) 451: #printSidebar 452: #end 453: 454: #printThumbnail 455: 456: #elseif ($layoutStyle == "standard") 457: #printThumbnail 458: 459: #if (!$isMobile) 460: #printSidebar 461: #end 462: #end 463: 464: <div class="article-text"> 465: 466: ## PAGE DATE 467: #printDate 468: 469: ## ARTICLE BODY 470: $body 471: 472: ## ARTICLE FOOTER 473: #if (!$request.getAttribute("disable_article_footer")) 474: <div class="article-footer clearfix">$website.include("article-footer")</div> 475: #end 476: 477: ## SHARE BUTTONS 478: #if ($shareButtons && $infiniteScroll && !$website.isIncluded()) 479: $!request.setAttribute("showBookmark", false) 480: $website.include("share-buttons") 481: #end 482: 483: </div> 484: 485: ## SIDEBAR (for mobile print here) 486: #if ($isMobile) 487: #printSidebar 488: #end 489: 490: </div> ## article-body 491: 492: #if ($isMobile) 493: #printRelatedLinks 494: #end 495: 496: ## RELATED PHOTO GALLERY 497: #if ($relatedGallery.url) 498: #set ($photos = $relatedGallery.allHeadlines) 499: #if ($photos.size() > 0) 500: <div class="related-gallery"> 501: <h2 class="related-title">Related Photos</h2> 502: <div class="photos"> 503: <div class="photo-slider" data-module="jscroll" data-snap=".item" data-show-prev-next="true" data-show-buttons="true"> 504: <div> 505: #foreach ($photo in $photos) 506: #set ($imgAlt = "") 507: #if ($photo.altText.length() > 0) 508: #set ($imgAlt = $photo.altText) 509: #elseif ($photo.title.length() > 0) 510: #set ($imgAlt = $photo.title) 511: #else 512: #set ($imgAlt = "Photo for $page.title image $velocityCount") 513: #end 514: <div class="item"> 515: <a href="${relatedGallery.url}"><img data-src="${photo.url}?max_height=140" alt="$!{imgAlt}" class="lazyload" /></a> 516: </div> 517: #end 518: </div> 519: </div> 520: </div> 521: </div> 522: #end 523: #end 524: 525: $wiki 526: 527: </div> ## rich-v2 528: 529: ## GLOBAL ADS SERVER 530: #if ($website.ads.isAdvertisingEnabled('ARTICLES')) 531: $website.ads.register('articles', '[[320,50],[728,90],[970,90]]', 'PS_WEB_INTERNAL_LEADERBOARD') 532: #end 533: 534: #end ## printArticleLayout 535: 536: ######### END MACROS #################### 537: 538: #if ($infiniteScroll && !$ajax) 539: $!request.setAttribute("pageClass", "release-page") 540: <div class="infinite-articles" data-module="infinite-articles"> 541: <div class="articles"> 542: #printArticleLayout 543: </div> 544: 545: #printRelatedArticles 546: </div> 547: #else 548: #printArticleLayout 549: #end 550: 551: #end ## ends only-body check 552: #end ## showMobile check 553: 554: $!request.setAttribute("icl-videojs-script", true) 555: $!request.setAttribute("icl-videojs-flash-script", true) |