25

25 - Anne Schu
Height: | 5-8 |
Year: | Fr. |
Hometown: | Orwigsburg, Pa. |
High School: | Blue Mountain |
Position: | F |
gp
11
pts/g
0.6
fg %
16.7
3pt %
0.0
ft %
50.0
reb/g
0.9
a/g
0.1
2012: Schu played 11 games and averaged 0.6 points and 0.9 rebounds this season. She has had 10 total rebounds, one assist, one steal and one block this season.
Recent Games | ||
---|---|---|
Feb 10 | at St. Elizabeth | L, 68-63 |
Feb 13 | Penn St.-Berks | W, 90-71 |
Feb 15 | at Wilson | L, 77-75 |
Feb 16 | Penn St.-Abington | W, 71-62 |
Feb 19 | St. Elizabeth | W, 79-73 |
Feb 23 | vs. Keuka | L, 81-68 |
Statistics category | Overall | Conf | ||
---|---|---|---|---|
Games | 11 | 5 | ||
Games started | - | - | ||
Minutes | 60 | 25 | ||
Minutes per game | 5.5 | 5.0 | ||
FG | 3-18 | 0-4 | ||
FG Pct | 16.7 | 0.0 | ||
3PT | 0-6 | 0-3 | ||
3PT Pct | 0.0 | 0.0 | ||
FT | 1-2 | 1-2 | ||
FT Pct | 50.0 | 50.0 | ||
Off rebounds | 2 | 1 | ||
Def rebounds | 8 | 4 | ||
Total rebounds | 10 | 5 | ||
Rebounds per game | 0.9 | 1.0 | ||
Personal fouls | 1 | 0 | ||
Disqualifications | 0 | 0 | ||
Assists | 1 | 1 | ||
Turnovers | 7 | 3 | ||
Assist to turnover ratio | 0.1 | 0.3 | ||
Steals | 1 | 0 | ||
Blocks | 1 | 1 | ||
Points | 7 | 1 | ||
Points per game | 0.6 | 0.2 | ||
Points per 40 min | 4.7 | 1.6 |
Date | Opponent | Score | gs | min | fg | pct | 3pt | pct | ft | pct | pts |
---|---|---|---|---|---|---|---|---|---|---|---|
Nov 17 | at Susquehanna | W, 65-61 | - | 2 | 0-1 | 0.0 | 0-0 | - | 0-0 | - | 0 |
Nov 18 | vs. Ursinus | L, 85-38 | - | 9 | 1-6 | 16.7 | 0-1 | 0.0 | 0-0 | - | 2 |
Nov 27 | at Cedar Crest | W, 75-53 | - | 8 | 1-2 | 50.0 | 0-1 | 0.0 | 0-0 | - | 2 |
Dec 4 | St. Elizabeth | W, 77-58 | - | - | - | - | - | - | - | - | - |
Dec 6 | Lancaster Bible | W, 60-58 | - | - | - | - | - | - | - | - | - |
Dec 8 | at Penn St.-Berks | W, 81-55 | - | 11 | 0-0 | - | 0-0 | - | 0-0 | - | 0 |
Dec 11 | Frostburg St. | L, 83-71 | - | - | - | - | - | - | - | - | - |
Dec 14 | at Penn State-Altoona | W, 70-55 | - | 9 | 1-3 | 33.3 | 0-1 | 0.0 | 0-0 | - | 2 |
Jan 2 | Goucher | W, 59-47 | - | 3 | 0-1 | 0.0 | 0-0 | - | 0-0 | - | 0 |
Jan 5 | SUNYIT | W, 87-68 | - | 0 | 0-0 | - | 0-0 | - | 0-0 | - | 0 |
Jan 7 | at Wilkes | L, 87-79 | - | 4 | 0-1 | 0.0 | 0-0 | - | 0-0 | - | 0 |
Jan 12 | at Wells | L, 85-76 | - | 8 | 0-2 | 0.0 | 0-2 | 0.0 | 1-2 | 50.0 | 1 |
Jan 13 | at Keuka | L, 86-71 | - | 4 | 0-2 | 0.0 | 0-1 | 0.0 | 0-0 | - | 0 |
Jan 16 | Gallaudet | W, 64-52 | - | 2 | 0-0 | - | 0-0 | - | 0-0 | - | 0 |
Jan 19 | at SUNY Cobleskill | W, 72-65 | - | - | - | - | - | - | - | - | - |
Jan 23 | Wilson | W, 89-46 | - | - | - | - | - | - | - | - | - |
Jan 27 | at Penn St.-Abington | W, 89-72 | - | - | - | - | - | - | - | - | - |
Jan 30 | at Lancaster Bible | L, 76-69 | - | - | - | - | - | - | - | - | - |
Feb 2 | Cazenovia | W, 71-61 | - | - | - | - | - | - | - | - | - |
Feb 3 | Morrisville St. | W, 57-43 | - | - | - | - | - | - | - | - | - |
Feb 6 | at Gallaudet | W, 59-40 | - | - | - | - | - | - | - | - | - |
Feb 10 | at St. Elizabeth | L, 68-63 | - | - | - | - | - | - | - | - | - |
Feb 13 | Penn St.-Berks | W, 90-71 | - | - | - | - | - | - | - | - | - |
Feb 15 | at Wilson | L, 77-75 | - | - | - | - | - | - | - | - | - |
Feb 16 | Penn St.-Abington | W, 71-62 | - | - | - | - | - | - | - | - | - |
Feb 19 | St. Elizabeth | W, 79-73 | - | - | - | - | - | - | - | - | - |
Feb 23 | vs. Keuka | L, 81-68 | - | - | - | - | - | - | - | - | - |
Date | Opponent | Score | gs | min | off | def | reb | ast | to | a/to | stl | blk | pf | dq |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nov 17 | at Susquehanna | W, 65-61 | - | 2 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Nov 18 | vs. Ursinus | L, 85-38 | - | 9 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Nov 27 | at Cedar Crest | W, 75-53 | - | 8 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Dec 4 | St. Elizabeth | W, 77-58 | - | - | - | - | - | - | - | - | - | - | - | - |
Dec 6 | Lancaster Bible | W, 60-58 | - | - | - | - | - | - | - | - | - | - | - | - |
Dec 8 | at Penn St.-Berks | W, 81-55 | - | 11 | 1 | 2 | 3 | 1 | 2 | 0.5 | 0 | 1 | 0 | 0 |
Dec 11 | Frostburg St. | L, 83-71 | - | - | - | - | - | - | - | - | - | - | - | - |
Dec 14 | at Penn State-Altoona | W, 70-55 | - | 9 | 0 | 3 | 3 | 0 | 3 | 0.0 | 0 | 0 | 0 | 0 |
Jan 2 | Goucher | W, 59-47 | - | 3 | 0 | 1 | 1 | 0 | 1 | 0.0 | 1 | 0 | 0 | 0 |
Jan 5 | SUNYIT | W, 87-68 | - | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Jan 7 | at Wilkes | L, 87-79 | - | 4 | 1 | 0 | 1 | 0 | 0 | - | 0 | 0 | 1 | 0 |
Jan 12 | at Wells | L, 85-76 | - | 8 | 0 | 1 | 1 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Jan 13 | at Keuka | L, 86-71 | - | 4 | 0 | 1 | 1 | 0 | 0 | - | 0 | 0 | 0 | 0 |
Jan 16 | Gallaudet | W, 64-52 | - | 2 | 0 | 0 | 0 | 0 | 1 | 0.0 | 0 | 0 | 0 | 0 |
Jan 19 | at SUNY Cobleskill | W, 72-65 | - | - | - | - | - | - | - | - | - | - | - | - |
Jan 23 | Wilson | W, 89-46 | - | - | - | - | - | - | - | - | - | - | - | - |
Jan 27 | at Penn St.-Abington | W, 89-72 | - | - | - | - | - | - | - | - | - | - | - | - |
Jan 30 | at Lancaster Bible | L, 76-69 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 2 | Cazenovia | W, 71-61 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 3 | Morrisville St. | W, 57-43 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 6 | at Gallaudet | W, 59-40 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 10 | at St. Elizabeth | L, 68-63 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 13 | Penn St.-Berks | W, 90-71 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 15 | at Wilson | L, 77-75 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 16 | Penn St.-Abington | W, 71-62 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 19 | St. Elizabeth | W, 79-73 | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 23 | vs. Keuka | L, 81-68 | - | - | - | - | - | - | - | - | - | - | - | - |
gp | gs | min/g | fg/g | pct | 3pt/g | pct | ft/g | pct | ppg | |
---|---|---|---|---|---|---|---|---|---|---|
Total | 11 | - | 5.5 | 0.3-1.6 | 16.7 | 0.0-0.5 | 0.0 | 0.1-0.2 | 50.0 | 0.6 |
Conference | 5 | - | 5.0 | 0.0-0.8 | 0.0 | 0.0-0.6 | 0.0 | 0.2-0.4 | 50.0 | 0.2 |
Exhibition | - | - | - | 0.0-0.0 | - | 0.0-0.0 | - | 0.0-0.0 | - | - |
- | ||||||||||
Home | 3 | - | 1.7 | 0.0-0.3 | 0.0 | 0.0-0.0 | - | 0.0-0.0 | - | 0.0 |
Away | 7 | - | 6.6 | 0.3-1.6 | 18.2 | 0.0-0.7 | 0.0 | 0.1-0.3 | 50.0 | 0.7 |
There was a problem with a Velocity script | |
Page | bio-template |
Error | VM #split: too few arguments to macro. Wanted 5 got 3 at bio-template[line 301, column 1] |
Page source: |
1: $website.addCss($website.cdn("/info/photo-gallery.css")) 2: <script src="${website.cdn("/info/klass.min.js")}"></script> 3: <script src="${website.cdn("/info/code.photoswipe.jquery-3.0.5.min.js")}"></script> 4: <script src="${website.cdn("/info/masonry.pkgd.min.js")}"></script> 5: <script src="${website.cdn("/info/imagesloaded.pkgd.min.js")}"></script> 6: <script src="${website.cdn("/info/photogallery/photogallery.js")}"></script> 7: 8: ## PICK UP OPTIONS 9: $website.include("options") 10: #set ($options = $request.getAttribute("options")) 11: #set ($locale = "en_us") 12: #set ($locale = $options.get("locale")) 13: 14: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE 15: #set ($bioObject = $page.getDataAsObject()) 16: #set ($statsURL = $bioObject.statsURL) 17: 18: #if ($statsURL.length() > 0) 19: $website.includeAgain("${statsURL}?tmpl=bio-stats-template") 20: ## various settings to get the variables set 21: #set ($events = $request.getAttribute("bio_events")) 22: #set ($seasons = $request.getAttribute("bio_seasons")) 23: #set ($career = $request.getAttribute("bio_career")) 24: #set ($labels = $request.getAttribute("bio_labels")) 25: #set ($briefs = $request.getAttribute("bio_briefs")) 26: #set ($gamelogs = $request.getAttribute("bio_gamelogs")) 27: #set ($splits = $request.getAttribute("bio_splits")) 28: #set ($statPosition = $request.getAttribute("bio_position")) 29: #set ($positions = $request.getAttribute("bio_positions")) 30: #set ($playerId = $request.getAttribute("bio_player_id")) 31: #set ($highlights = $request.getAttribute("bio_highlights")) 32: #set ($formats = $request.getAttribute("bio_formats")) 33: #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels")) 34: #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels")) 35: #set ($gamesResults = $request.getAttribute("bio_games_results")) 36: #set ($monthsPlayed = $request.getAttribute("bio_months_played")) 37: #end 38: 39: #set ($pos = "") 40: #set ($pos = $attributes.get("position")) 41: #set ($pos = $statPosition) 42: #set ($posVec = $pos.split("/")) 43: #set ($pos = $posVec[0]) 44: #set ($pos = $pos.toLowerCase()) 45: #set ($statPos = $positions.get($pos)) 46: #set ($paramPos = $request.getParameter("pos")) 47: 48: #set ($playerId = $attributes.get("playerId")) 49: #set ($stats = $splits.overall) 50: #set ($highlights = $highlights.get($statPos)) 51: 52: #set ($showHighlights = true) 53: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false) 54: #set ($showHighlights = false) 55: #end 56: 57: #set ($enhancedLayout = false) 58: #if (($options.get("bio_enhanced_layout") == "yes") || ($request.getParameter("bio_enhanced_layout") == true)) 59: #set ($enhancedLayout = true) 60: $website.addCss($website.cdn("/info/bio-styles-enhanced.css")) 61: #end 62: 63: #set ($showActionShots = true) 64: #if ($options.get("bio_show_action_shots") && $options.get("bio_show_action_shots") == false) 65: #set ($showActionShots = false) 66: #end 67: 68: #set ($actionShotsLimit = 5) 69: #set ($actionShotsLimit = $tool.math.toInteger($options.get("bio_action_shots_limit"))) 70: 71: #set ($showCareer = $wiki.valid() && $seasons) 72: #if ("yes" == $options.get("stats_show_career") && $seasons) 73: #set ($showCareer = true) 74: #end 75: 76: #set ($hasEvents = $events.size() > 0) 77: #set ($hasSynopsis = $synopsis.trim().length() > 0) 78: #set ($htmlStatsURL = "${page.url}-stats") 79: #set ($hasHTMLStats = $website.exists($htmlStatsURL)) 80: #set ($bioBriefURL = "${page.url}-brief") 81: #set ($hasBioBrief = $website.exists("$bioBriefURL")) 82: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1)) 83: #if ($options.get("bio_hide_roster") == true) 84: #set ($showRoster = false) 85: #end 86: 87: #set ($view = "") 88: #if ($hasSynopsis || $hasBioBrief) 89: #set ($view = "bio") 90: #elseif ($statsURL.length() > 0) 91: #set ($view = "profile") 92: #elseif ($hasHTMLStats) 93: #set ($view = "htmlstats") 94: #elseif ($releases.size() > 0) 95: #set ($view = "news") 96: #elseif ($playerPhotos.size() > 0) 97: #set ($view = "photos") 98: #elseif ($playerVideos.size() > 0) 99: #set ($view = "videos") 100: #end 101: 102: #if ($options.get("bio_default_view").length() > 0) 103: #set ($checkView = $options.get("bio_default_view")) 104: #end 105: 106: #if ($request.getParameter("view")) 107: #set ($checkView = $request.getParameter("view")) 108: #end 109: 110: #if ($checkView == "profile" && $statsURL.length() > 0) 111: #set ($view = "profile") 112: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief)) 113: #set ($view = "bio") 114: #elseif ($checkView == "gamelog" && $statsURL.length() > 0) 115: #set ($view = "gamelog") 116: #elseif ($checkView == "career" && $showCareer) 117: #set ($view = "career") 118: #elseif ($checkView == "splits" && $statsURL.length() > 0) 119: #set ($view = "splits") 120: #elseif ($checkView == "htmlstats" && $hasHTMLStats) 121: #set ($view = "htmlstats") 122: #elseif ($checkView == "news" && $releases.size() > 0) 123: #set ($view = "news") 124: #elseif ($checkView == "photos" && $playerPhotos.size() > 0) 125: #set ($view = "photos") 126: #elseif ($checkView == "videos" && $playerVideos.size() > 0) 127: #set ($view = "videos") 128: #end 129: 130: #macro (printResultAriaLabel $event) 131: #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}") 132: #if ($event.neutralSite.length() > 0 || $event.home) 133: #set ($ariaLabel = "${ariaLabel} vs.") 134: #else 135: #set ($ariaLabel = "${ariaLabel} at") 136: #end 137: #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:") 138: #if ($event.neutralSite.length() > 0) 139: #set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:") 140: #end 141: #set ($ariaLabel = "${ariaLabel} Box Score") 142: aria-label="$ariaLabel" 143: #end 144: 145: #macro (printGrid $items $type) 146: <div class="news-layout grid"> 147: <div class="stories"> 148: <ul> 149: #foreach ($item in $items) 150: #if ($item.title.length() > 0) 151: 152: <li class="story ${type}"> 153: <div class="clearfix"> 154: <a href="$item.url" class="title-box"> 155: <span class="thumb"> 156: #if ($item.thumbnailURL) 157: <img src="$website.cdn("/info/images/spacer.gif")" data-src="${item.thumbnailURL}?max_width=300" alt="" class="lazyload" /> 158: #elseif ($item.contentType == "loki/youtube") 159: <img src="$website.cdn("/info/images/spacer.gif")" data-src="http://img.youtube.com/vi/${item.dataAsString}/0.jpg" alt="" class="lazyload" /> 160: #else 161: <img src="$website.cdn("/info/images/spacer.gif")" data-src="/images/setup/thumbnail_default.jpg?max_width=300" alt="" class="lazyload" /> 162: #end 163: </span> 164: <span class="title">$item.title</span> 165: </a> 166: </div> 167: </li> 168: #end 169: #end ## foreach 170: </ul> 171: </div> 172: </div> 173: #end ## ends macro 174: 175: #macro (gamelogData $p) 176: 177: #set ($p = $positions.get($p)) 178: #set ($gamelogs = $gamelogs.get($p)) 179: 180: #if ($hasEvents) 181: <div class="stats-box full clearfix"> 182: <div class="scrollable"> 183: <div> 184: <table> 185: <tr class="thead"> 186: <th class="text">Date</th> 187: <th class="pinned-col text">Opponent</th> 188: <th>Score</th> 189: #foreach ($gamelog in $gamelogs) 190: <th>$gamelog</th> 191: #end 192: </tr> 193: #foreach ($event in $events) 194: <tr> 195: <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td> 196: <td class="pinned-col text"> 197: #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end 198: $event.event.opponent.name 199: </td> 200: <td> 201: #if ($event.event.statusCode >= 0) 202: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0) 203: <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a> 204: #else 205: ${event.event.APResult} 206: #end 207: #else #end 208: </td> 209: #foreach ($gamelog in $gamelogs.keySet()) 210: #set ($value = "-") 211: #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog))) 212: <td>$value</td> 213: #end 214: </tr> 215: #end 216: </table> 217: </div> 218: </div> ## scrollable 219: </div> ## stats-box 220: #end 221: 222: #end ## macro gamelogData 223: 224: #macro (split $statPosBriefs $label $stats) 225: <tr> 226: <td class="pinned-col text">${label}</td> 227: #foreach ($brief in $statPosBriefs.keySet()) 228: #set ($value = "-") 229: #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief))) 230: <td>#if ($value.length() > 0) $value #else - #end</td> 231: #end 232: </tr> 233: #end 234: 235: #macro (careerData $p) 236: #set ($p = $positions.get($p)) 237: #set ($statPosBriefs = $briefs.get($p)) 238: 239: <div class="stats-box full clearfix"> 240: <div class="scrollable"> 241: <div> 242: <table> 243: <tr class="thead"> 244: <th class="pinned-col"> </th> 245: #foreach ($brief in $statPosBriefs) 246: <th>$brief</th> 247: #end 248: </tr> 249: 250: #set ($careerTotals = $request.getAttribute("careerTotals")) 251: #set ($careerMap = $request.getAttribute("careerMap")) 252: 253: #foreach ($season in $seasons) 254: ## Check if we did not get stats for this season 255: #if ($careerMap.get($season.seasonName)) 256: #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>") 257: #split($statPosBriefs, $label, $careerMap[$season.seasonName]) 258: #elseif ($wiki.valid()) 259: <tr> 260: <td class="text">${season.seasonName}</td> 261: <td colspan="${statPosBriefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td> 262: </tr> 263: #end 264: #end 265: 266: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall) 267: 268: </table> 269: </div> 270: </div> ## scrollable 271: </div> ## stats-box 272: 273: #end ## macro careerData 274: 275: #macro (splitsData $p) 276: 277: #set ($p = $positions.get($p)) 278: #set ($statPosBriefs = $briefs.get($p)) 279: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1)) 280: 281: #if ($statPosBriefs.size() > 0) 282: <div class="stats-box full clearfix"> 283: <div class="scrollable"> 284: <div> 285: <table> 286: <tr> 287: <th class="pinned-col"> </th> 288: #foreach ($brief in $statPosBriefs) 289: <th>$brief</th> 290: #end 291: </tr> 292: 293: #split($statPosBriefs, "Total", $splits.overall) 294: #split($statPosBriefs, "Conference", $splits.conference) 295: #split($statPosBriefs, "Exhibition", $splits.exhibition) 296: 297: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr> 298: 299: #split($statPosBriefs, "Home", $splits.home) 300: #split($statPosBriefs, "Away", $splits.away) 301: #split($statPosBriefs, "Neutral", $splits.neutral) 302: 303: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr> 304: 305: #foreach($gameResult in $gamesResults.entrySet()) 306: #if ($gameResult.key == "wins") 307: #set ($splitGameResult = $splits.inWins) 308: #elseif ($gameResult.key == "losses") 309: #set ($splitGameResult = $splits.inLosses) 310: #elseif ($gameResult.key == "ties") 311: #set ($splitGameResult = $splits.inTies) 312: #end 313: 314: #split($statPosBriefs, $gameResult.value, $splitGameResult) 315: #end 316: 317: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr> 318: 319: #if ($monthsPlayed and $monthsPlayed.size() > 0) 320: #foreach($month in $monthsPlayed) 321: #if ($month == 'January') 322: #set ($splitMonth = $splits.january) 323: #elseif ($month == 'February') 324: #set ($splitMonth = $splits.february) 325: #elseif ($month == 'March') 326: #set($splitMonth = $splits.march) 327: #elseif ($month == 'April') 328: #set($splitMonth = $splits.april) 329: #elseif ($month == 'May') 330: #set ($splitMonth = $splits.may) 331: #elseif ($month == 'June') 332: #set ($splitMonth = $splits.june) 333: #elseif ($month == 'July') 334: #set($splitMonth = $splits.july) 335: #elseif ($month == 'August') 336: #set ($splitMonth = $splits.august) 337: #elseif ($month == 'September') 338: #set($splitMonth = $splits.september) 339: #elseif ($month == 'October') 340: #set($splitMonth = $splits.october) 341: #elseif ($month == 'November') 342: #set ($splitMonth = $splits.november) 343: #elseif ($month == 'December') 344: #set($splitMonth = $splits.december) 345: #end 346: 347: #split($statPosBriefs, $month, $splitMonth) 348: #end ## foreach 349: #end 350: </table> 351: </div> 352: </div> ## scrollable 353: </div> ## srollable-table 354: #end 355: 356: #end ## macro splitsData 357: 358: #macro (printRecentGames) 359: #if ($hasEvents) 360: <table> 361: <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr> 362: 363: #set ($eventEnd = -1) 364: #foreach ($event in $events) 365: #if ($event.event.result.resolved) 366: #set ($eventEnd = $velocityCount) 367: #end 368: #end 369: 370: #set ($eventStart = $eventEnd - 5) 371: #if ($eventStart < 0) #set ($eventStart = 0) #end 372: 373: #foreach ($event in $events) 374: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd) 375: <tr> 376: <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td> 377: <td class="text"> 378: #if ($event.event.neutralSite.length() > 0) vs. 379: #elseif (!$event.event.home) at 380: #else ## nothing for a home game 381: #end 382: $event.event.opponent.name 383: </td> 384: <td class="text"> 385: #if ($event.event.statusCode >= 0) 386: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0) 387: <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a> 388: #else 389: ${event.event.APResult} 390: #end 391: #end 392: </td> 393: </tr> 394: #end ## if 395: #end 396: </table> 397: #end 398: #end ## macro printRecentGames 399: 400: #macro (printCategories $briefCategoryLabels $v $ariaLabel) 401: 402: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 403: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 404: <div> 405: <ul class="clearfix"> 406: #foreach($briefCat in $briefCategoryLabels.entrySet()) 407: #set ($briefCatLabel = $briefCat.value) 408: #set ($briefCatKey = $briefCat.key) 409: 410: #if ($locale == "en_gb" && $briefCatLabel == "Defense") 411: #set ($briefCatLabel = "Defence") 412: #end 413: 414: <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="button" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li> 415: #end 416: </ul> 417: </div> 418: </div> 419: <div class="tab-panels"> 420: #foreach ($briefCat in $briefCategoryLabels.entrySet()) 421: #set ($class = "tab-panel clearfix") 422: #if ($briefCat.key == $activePos) 423: #set ($class = "tab-panel active clearfix") 424: #end 425: <div class="$class"> 426: <div class="stats-wrap clearfix"> 427: #if ($v == "splits") 428: #splitsData($briefCat.key) 429: #elseif ($v == "career") 430: #careerData($briefCat.key) 431: #end 432: </div> 433: </div> 434: #end 435: </div> 436: </div> ## tab-container 437: 438: #end ## macro printCategories 439: 440: #macro (printHeadshot) 441: #if ($enhancedLayout) 442: 443: #if ($headshot.url) 444: <img src="$headshot.url?max_width=300&max_height=400" alt="$fullName" /> 445: #else 446: #if ($website.exists("/images/setup/headshot_default.jpg")) 447: <img src="/images/setup/headshot_default.jpg?max_width=300&max_height=400" alt="$fullName" /> 448: #else 449: <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=300&max_height=400")" alt="$fullName" /> 450: #end 451: #end 452: 453: #else 454: 455: #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span>#end 456: 457: #if ($headshot.url) 458: <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" /> 459: #else 460: #if ($website.exists("/images/setup/headshot_default.jpg")) 461: <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="" /> 462: #else 463: <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=160&max_height=210")" alt="" /> 464: #end 465: #end 466: 467: #end ## ## enhancedLayout check 468: #end ## macro printHeadshot 469: 470: #macro (printBioInfo) 471: #if ($enhancedLayout) 472: 473: <h2 class="player-heading"> 474: #if ($!attributes.get("number").length() > 0)<span class="number accent-bg">$!attributes.get("number")</span>#end 475: <span class="name">$fullName</span> 476: </h2> 477: 478: <ul> 479: #foreach ($i in [1..10]) 480: #set ($stickyKey = "bio_custom${i}_sticky") 481: #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0) 482: <li> 483: <dl> 484: <dt class="label">$options.get($stickyKey): </dt> 485: <dd class="value">$!attributes.get("custom${i}")</dd> 486: </dl> 487: </li> 488: #end 489: #end 490: 491: #foreach ($field in $fields) 492: #if (!$field.key.startsWith("custom")) 493: #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name")) 494: #if ($field.key == "phone1" || $field.key == "phone2") 495: <li> 496: <dl> 497: <dt class="label">Phone: </dt> 498: <dd class="value">$!attributes.get($field.key)</dd> 499: </dl> 500: </li> 501: #elseif ($field.key == "email_address") 502: #set ($emailAdd = $attributes.get($field.key)) 503: <li> 504: <dl> 505: <dt class="label">Email: </dt> 506: <dd class="value"><a href="mailto:${emailAdd}">$emailAdd</a></dd> 507: </dl> 508: </li> 509: #elseif ($field.key == "weight_class") 510: <li> 511: <dl> 512: <dt class="label">Class: </dt> 513: <dd class="value">$!attributes.get($field.key)</dd> 514: </dl> 515: </li> 516: #elseif ($field.key != "position_abbr") 517: <li> 518: <dl> 519: <dt class="label">$field.value: </dt> 520: <dd class="value">$!attributes.get($field.key)</dd> 521: </dl> 522: </li> 523: #end 524: #end 525: #end 526: #end 527: 528: #foreach ($i in [1..10]) 529: #set ($customKey = "bio_custom${i}") 530: #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}")) 531: <li> 532: <dl> 533: <dt class="label">$options.get($customKey): </dt> 534: <dd class="value">$!attributes.get("custom${i}")</dd> 535: </dl> 536: </li> 537: #end 538: #end 539: </ul> 540: 541: #else 542: ## default layout 543: 544: <div class="player-name"> 545: #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span><span class="sep"> - </span>#end 546: <span class="name">$fullName</span> 547: </div> 548: 549: <table role="presentation"> 550: #foreach ($i in [1..10]) 551: #set ($stickyKey = "bio_custom${i}_sticky") 552: #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0) 553: <tr> 554: <td class="label">$options.get($stickyKey): </td> 555: <td class="value">$!attributes.get("custom${i}")</td> 556: </tr> 557: #end 558: #end 559: 560: #foreach ($field in $fields) 561: #if (!$field.key.startsWith("custom")) 562: #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name")) 563: #if ($field.key == "phone1" || $field.key == "phone2") 564: <tr> 565: <td class="label">Phone: </td> 566: <td class="value">$!attributes.get($field.key)</td> 567: </tr> 568: #elseif ($field.key == "email_address") 569: #set ($emailAdd = $attributes.get($field.key)) 570: <tr> 571: <td class="label">Email: </td> 572: <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td> 573: </tr> 574: #elseif ($field.key == "weight_class") 575: <tr> 576: <td class="label">Class: </td> 577: <td class="value">$!attributes.get($field.key)</td> 578: </tr> 579: #elseif ($field.key != "position_abbr") 580: <tr> 581: <td class="label">$field.value: </td> 582: <td class="value">$!attributes.get($field.key)</td> 583: </tr> 584: #end 585: #end 586: #end 587: #end 588: 589: #foreach ($i in [1..10]) 590: #set ($customKey = "bio_custom${i}") 591: #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}")) 592: <tr> 593: <td class="label">$options.get($customKey): </td> 594: <td class="value">$!attributes.get("custom${i}")</td> 595: </tr> 596: #end 597: #end 598: </table> 599: #end ## enhancedLayout check 600: #end ## macro printBioInfo 601: 602: #macro (printActionShots) 603: #if ($showActionShots) 604: ## BANNERS SLIDER 605: #set ($slickSettings = { 606: "autoplay": true, 607: "fade": true, 608: "arrows": false, 609: "slidesToShow": 1, 610: "slidesToScroll": 1, 611: "lazyLoad": "ondemand", 612: "responsive": "none" 613: }) 614: #set ($slickSettings = $slickSettings.toString().replace("=", ":")) 615: <div class="action-shots clearfix"> 616: <div class="slider" data-module="slick-slider-init" data-slick-settings="$slickSettings"> 617: #foreach ($photo in $playerPhotos) 618: #if ($velocityCount <= $actionShotsLimit) 619: #set ($imgAlt = "") 620: #if (!$image.altText.equals($image.title)) 621: #set ($imgAlt = $image.altText) 622: #elseif( $image.title.length() == 0 ) 623: #set ($imgAlt = "Action shot for $page.title image $velocityCount") 624: #end 625: <div class="image"> 626: <img data-lazy="$photo.url" alt="$imgAlt" /> 627: </div> 628: #end 629: #end 630: </div> 631: </div> 632: #end 633: #end ## macro printActionShots 634: 635: #macro (printHighlights) 636: #if ($highlights && $showHighlights) 637: <div class="highlights #if ($enhancedLayout) highlights-bio-enhanced #else highlights-bio #end clearfix"> 638: #foreach ($highlight in $highlights.keySet()) 639: #set ($value = "-") 640: #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight))) 641: <div class="stat clearfix"> 642: <span class="stat-title">$!highlights.get($highlight)</span> 643: <span class="stat-value">$value</span> 644: </div> 645: #end 646: </div> 647: #end 648: #end ## macro printHighlights 649: #macro (printRoster) 650: #if ($enhancedLayout) 651: $website.includeAgain("${page.url}?tmpl=roster-switcher-template&id=roster-list") 652: #else 653: #if ($page.contentType == "loki/bio") 654: #set ($headlinesFeaturedSize = 0) 655: #foreach ($featuredPage in $page.headlinesFeatured) 656: #if ($featuredPage.contentType == "loki/headlines") 657: #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1) 658: #end 659: #end 660: #if ($headlinesFeaturedSize > 0) 661: <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below."> 662: <option selected="selected">Related Bios</option> 663: #foreach ($featuredPage in $page.headlinesFeatured) 664: #if ($featuredPage.contentType == "loki/headlines") 665: $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template¤t_url=${page.url}") 666: #end 667: #end 668: </select> 669: #end 670: #elseif ($page.contentType == "loki/bio-network") 671: #set ($relatedPlayers = $page.sectionPage.children) 672: #set ($teamNames = {}) 673: #foreach ($relatedPlayer in $relatedPlayers) 674: #if ($relatedPlayer.contentType == "loki/bio-network") 675: #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes()) 676: #set ($teamName = $relatedPlayerObj.get("team")) 677: #if ($teamName.length() > 0) 678: #if (!$teamNames.containsValue($teamName)) 679: $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName) 680: #end 681: #end 682: #end 683: #end 684: 685: <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below."> 686: #foreach ($i in [1..$teamNames.size()]) 687: #if ($teamNames.size() > 1) 688: <optgroup label="$teamNames.get($i)"> 689: #end 690: 691: #foreach ($relatedPlayer in $relatedPlayers) 692: #if ($relatedPlayer.contentType == "loki/bio-network") 693: #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes()) 694: #set ($teamName = $relatedPlayerObj.get("team")) 695: #if ($teamName.length() > 0 && $teamName == $teamNames.get($i)) 696: #set ($playerFirstName = $relatedPlayerObj.get("first_name")) 697: #set ($playerLastName = $relatedPlayerObj.get("last_name")) 698: #if ($page.url == $relatedPlayer.url) 699: <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option> 700: #else 701: <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option> 702: #end 703: #end 704: #end 705: #end 706: 707: #if ($teamNames.size() > 1) 708: </optgroup> 709: #end 710: #end 711: </select> 712: #end 713: #end ## enhancedLayout check 714: #end ## macro printRoster 715: 716: ################################################## END MACROS ############################################################# 717: 718: #if ($attributes.get("full_name").length() > 0) 719: #set ($fullName = $attributes.get("full_name")) 720: #else 721: #set ($firstName = $!attributes.get("first_name")) 722: #set ($lastName = $!attributes.get("last_name")) 723: #set ($fullName = "${firstName} ${lastName}") 724: #end 725: 726: #set ($actionShots = false) 727: #if ($enhancedLayout && $playerPhotos.size() > 0) 728: #set ($actionShots = true) 729: #end 730: 731: #if ($enhancedLayout) 732: #set ($rootClass = "bio-enhanced") 733: #if ($actionShots && $showActionShots) 734: #set ($rootClass = "${rootClass} action") 735: #else 736: #set ($rootClass = "${rootClass} plain") 737: #end 738: #else 739: #set ($rootClass = "bio-wrap") 740: #end 741: 742: ## FULL ROSTER 743: <div class="${rootClass} #if ($highlights) bio-wrap-has-highlights #end clearfix" data-module="stats/responsive-container"> 744: 745: ## RELATED BIOS 746: #if ($showRoster) 747: <div class="related-bios clearfix">#printRoster</div> 748: #end 749: 750: #if ($actionShots) 751: #printActionShots 752: #end 753: 754: <div class="head clearfix"> 755: <div class="clearfix"> 756: 757: <div class="player-about clearfix"> 758: <div class="player-headshot">#printHeadshot</div> 759: <div class="player-info">#printBioInfo</div> 760: </div> 761: 762: #printHighlights 763: 764: </div> 765: </div> ## head 766: 767: #if ($view.length() > 0) 768: <div class="body clearfix"> 769: 770: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 771: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 772: <div> 773: <ul class="clearfix"> 774: #if ($hasSynopsis || $hasBioBrief) 775: <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li> 776: #end 777: 778: #if ($statsURL.length() > 0) 779: <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li> 780: <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li> 781: #if ($showCareer) 782: <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li> 783: #end 784: <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li> 785: #end 786: 787: #if ($hasHTMLStats) 788: <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li> 789: #end 790: 791: #if ($releases.size() > 0) 792: <li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li> 793: #end 794: 795: #if ($playerPhotos.size() > 0) 796: <li #if ($view == "photos") class="active" #end><a href="${page.url}?view=photos">Photos</a></li> 797: #end 798: 799: #if ($playerVideos.size() > 0) 800: <li #if ($view == "videos") class="active" #end><a href="${page.url}?view=videos">Videos</a></li> 801: #end 802: </ul> 803: </div> 804: </div> ## tab-nav 805: 806: <div class="tab-panels clearfix"> 807: 808: ## BIO 809: #if ($hasSynopsis || $hasBioBrief) 810: 811: #set ($class = "tab-panel clearfix") 812: #if ($view == "bio") 813: #set ($class = "tab-panel active clearfix") 814: #end 815: <div class="${class}"> 816: 817: <div class="synopsis clearfix"> 818: #if ($hasSynopsis) 819: $synopsis 820: #elseif ($hasBioBrief) 821: $website.include("$bioBriefURL") 822: #end 823: </div> 824: 825: </div> ## tab-panel 826: #end 827: ## BIO 828: 829: ## STATS 830: #if ($statsURL.length() > 0) 831: 832: ## PROFILE 833: #set ($class = "tab-panel clearfix") 834: #if ($view == "profile") 835: #set ($class = "tab-panel active clearfix") 836: #end 837: <div class="${class}"> 838: <div class="stats-wrap clearfix"> 839: 840: ## LAST SIX GAMES 841: <div class="stats-box half"> 842: #printRecentGames() 843: </div> 844: 845: ## RANKING 846: <div class="stats-box half"> 847: #if ($statPos.length() > 0) 848: $website.include("players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}") 849: #end 850: </div> 851: 852: </div> ## stats-wrap 853: </div> ## tab-content 854: ## PROFILE 855: 856: ## GAMELOG 857: #set ($class = "tab-panel clearfix") 858: #if ($view == "gamelog") 859: #set ($class = "tab-panel active clearfix") 860: #end 861: 862: #set ($activePos = $statPos) 863: #if ($view == "gamelog" && $paramPos.length() > 0) 864: #if ($positions.get($paramPos).length() > 0) 865: #set ($activePos = $positions.get($paramPos)) 866: #end 867: #end 868: 869: <div class="${class}"> 870: 871: #if ($gamelogsCategoriesLabels) 872: <div class="tab-container clearfix secondary" data-module="stats/tabs" data-type="secondary"> 873: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 874: <div> 875: <ul class="clearfix"> 876: #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet()) 877: #set($gamelogsCatLabelVal = $gamelogsCatLabel.value) 878: 879: #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense") 880: #set($gamelogsCatLabelVal = "Defence") 881: #end 882: 883: <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="button" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a></li> 884: #end 885: </ul> 886: </div> 887: </div> 888: <div class="tab-panels"> 889: #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet()) 890: #set ($class = "tab-panel clearfix") 891: #if ($gamelogsCatLabel.key == $activePos) 892: #set ($class = "tab-panel active clearfix") 893: #end 894: <div class="${class}"> 895: <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div> 896: </div> 897: #end 898: </div> 899: </div> 900: #else 901: <div class="stats-wrap clearfix">#gamelogData($pos)</div> 902: #end 903: 904: </div> ## tab-panel 905: ## GAMELOG 906: 907: 908: ## CAREER 909: #if ($showCareer) 910: 911: #set ($activePos = $statPos) 912: #if ($view == "career" && $paramPos.length() > 0) 913: #if ($positions.get($paramPos).length() > 0) 914: #set ($activePos = $positions.get($paramPos)) 915: #end 916: #end 917: 918: #set ($class = "tab-panel clearfix") 919: #if ($view == "career") 920: #set ($class = "tab-panel active clearfix") 921: #end 922: 923: <div class="${class}"> 924: 925: #if ($briefsCategoriesLabels) 926: #printCategories($briefsCategoriesLabels "career" "Career Stats") 927: #else 928: <div class="stats-wrap clearfix">#careerData($activePos)</div> 929: #end 930: 931: </div> ## tab-panel 932: #end 933: ## CAREER 934: 935: ## SPLITS 936: #set ($class = "tab-panel clearfix") 937: #if ($view == "splits") 938: #set ($class = "tab-panel active clearfix") 939: #end 940: 941: #set ($activePos = $statPos) 942: #if ($view == "splits" && $paramPos.length() > 0) 943: #if ($positions.get($paramPos).length() > 0) 944: #set ($activePos = $positions.get($paramPos)) 945: #end 946: #end 947: 948: <div class="${class}"> 949: 950: #if ($briefsCategoriesLabels) 951: #printCategories($briefsCategoriesLabels "splits" "Splits Stats") 952: #else 953: <div class="stats-wrap clearfix">#splitsData($pos)</div> 954: #end 955: 956: </div> ## tab-panel 957: ## SPLITS 958: 959: #end 960: ## STATS 961: 962: ## HTML STATS 963: #if ($hasHTMLStats) 964: 965: #set ($class = "tab-panel clearfix") 966: #if ($view == "htmlstats") 967: #set ($class = "tab-panel active clearfix") 968: #end 969: <div class="${class}"> 970: <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a> 971: </div> 972: 973: #end 974: ## HTML STATS 975: 976: ## NEWS 977: #if ($releases.size() > 0) 978: #set ($class = "tab-panel clearfix") 979: #if ($view == "news") 980: #set ($class = "tab-panel active clearfix") 981: #end 982: <div class="${class}"> 983: #printGrid($releases, "article") 984: </div> ## tab-content 985: #end 986: ## NEWS 987: 988: ## PHOTOS 989: #if ($playerPhotos.size() > 0) 990: #set ($class = "tab-panel clearfix") 991: #if ($view == "photos") 992: #set ($class = "tab-panel active clearfix") 993: #end 994: <div class="${class}"> 995: $website.includeAgain("${page.url}?tmpl=bio-photos-template") 996: </div> ## tab-content 997: #end 998: ## PHOTOS 999: 1000: ## VIDEOS 1001: #if ($playerVideos.size() > 0) 1002: #set ($class = "tab-panel clearfix") 1003: #if ($view == "videos") 1004: #set ($class = "tab-panel active clearfix") 1005: #end 1006: <div class="${class}"> 1007: #printGrid($playerVideos, "video") 1008: </div> ## tab-content 1009: #end 1010: ## VIDEOS 1011: 1012: </div> ## tab-panels 1013: </div> ## tab-container 1014: </div> ## body 1015: #end 1016: 1017: $wiki 1018: </div> ## ends bio-wrap 1019: 1020: ## GLOBAL ADS SERVER 1021: #if ($website.ads.isAdvertisingEnabled('BIOS')) 1022: $website.includeAgain("global-adserver-slots?adSlot=bios") 1023: #end |