Schedule Summary | |
---|---|
Overall (Pct.) | 0-0-1 (.500) |
Conference (Pct.) | 0-0 (.000) |
Streak | Tied 1 |
Home | 0-0 |
Away | 0-0-1 |
Neutral | 0-0 |
Full Scores and Schedule ยป |
Recent Games | ||
---|---|---|
Aug 24 | Cornell | |
Aug 25 | Cornell | |
Aug 26 | at Cornell | |
Aug 27 | at Cornell | |
Oct 24 | at Utah | |
Feb 16 | at Utah | T, 0-0 |
Statistics category | Overall | Conf | ||
---|---|---|---|---|
Comp-Att-Int | 0-0-0 | 7th | 0-0-0 | 7th |
3rd-down conversions | 0-0 | 7th | 0-0 | 7th |
4th-down conversions | 0-0 | 7th | 0-0 | 7th |
Kick returns (No.-Yards) | 0-0 | 7th | 0-0 | 7th |
Punt returns (No.-Yards) | 0-0 | 7th | 0-0 | 7th |
Field goals | 0-0 | 7th | 0-0 | 7th |
PATs | 0-0 | 7th | 0-0 | 7th |
Punts (No.-Yards) | 0-0 | 7th | 0-0 | 7th |
Red zone scores | 0-0 | 7th | 0-0 | 7th |
Red zone touchdowns | 0-0 | 7th | 0-0 | 7th |
Fumbles-lost | 0-0 | 7th | 0-0 | 7th |
Interception returns (No.-Yds) | 0-0 | 7th | 0-0 | 7th |
Tackles | 0 | 1st | 0 | 1st |
Time of possession per game | 0:00 | 7th | 0:00 | 7th |
No. | Name | Position | Year | Player Status |
---|---|---|---|---|
6 | Rick Rons | QB/FB | Active | |
31 | Jake Taute | TE | Active | |
32 | Matt Strecker | TE | Active | |
33 | Jack Sievert | TE | So | Active |
34 | Brody Nelson | LB | Fr | Active |
35 | Sione Tuifua | TE | Sr | Active |
37 | Isaac Bower | LB | Jr | Active |
39 | Isaac Pingel | LB | So | Active |
41 | Carter Anderson | DL | Sr | Active |
43 | Colton Dreith | LB | So | Active |
45 | Jack West | DB | So | Active |
46 | Colton Irlbeck | P/P | Sr | Active |
50 | Jacob Murphy | LS | Jr | Active |
52 | Hayden Thilges | OL | Fr | Active |
55 | Tyler Anderson | Active | ||
56 | Colby Roos | OL | Active | |
57 | Haden Mendel | LB | So | Active |
58 | Christian Riha | Active | ||
60 | Hunter Behrens | OL | Sr | Active |
64 | Riley Lindberg | TE | So | Active |
66 | Mason Williams | OL | Active | |
67 | Jason Hahlbeck | OL | Sr | Active |
70 | Dylan Miller | Active | ||
74 | T. Johnston | OL | Active | |
81 | R. Jurgensmeier | WR | Active | |
86 | Aidan Queen | TE | Fr | Active |
88 | Laken Harnly | WR | So | Active |
90 | Gage Haake | DL | Jr | Active |
92 | Brady Schlaeger | DL | Fr | Active |
93 | Owen Osbahr | Active | ||
95 | Carson Wadle | DL | So | Active |
96 | Zack Keller | DL | Sr | Active |
97 | D. Barrett | DT | Sr | Active |
98 | Jonah Kollbaum | DL | Jr | Active |
B1 | Jalen Portis | LB/ | Active | |
B2 | C. Ochsendorf | DB/ | Active | |
B3 | Logan Macumber | DB/ | Active | |
B4 | Ben Chelsvig | DB/ | Active | |
B5 | Anthony Sims | RB/ | Active | |
D | Zach Norton | WR/ | Active | |
D1 | Bryson Freeberg | RB/ | Active | |
D3 | Braden Drehle | QB/ | Active | |
D4 | Ben Steffens | K/ | Active | |
D5 | Weston Schultz | DE/ | Active | |
FB | Joshua Miller | DB/ | Active | |
FG | C. Von seggern | LB/ | Active | |
K | Michael Minor | RB/ | Active | |
L1 | Kaden Ladwig | QB/ | Active | |
L2 | Jon Andreasen | DB/ | Active | |
L3 | Chase Carter | K/ | Active | |
O1 | Joe Dolincheck | QB/ | Active | |
O2 | Cajon Green | DB/ | Active | |
O3 | Michael Payne | WR/ | Active | |
O4 | Tyler Wingert | LB/ | Active | |
P | Drew Bessey | / | Active | |
QB | Austin Johnson | WR/ | Active | |
RB | C. Schweigart | WR/ | Active | |
TE | Zach McKee | DL/ | Active | |
W2 | Jr. L. boyd | DB/ | Active | |
WR | Jamal Jones | DB/ | Active |
No. | Name | Yr | Pos | gp | comp | att | pct | yds | y/g | y/a | td | int | lg | effic |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | - | 0.0 | |||
Opponent | - | - | - | - | - | - | - | - | - | - | 0.0 | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | rush | yds | y/g | avg | td | lg | fum | lost |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | rec | rec/g | yds | y/g | avg | td | lg |
---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | fgm | fga | pct | lg | xpm | xpa | pct | pts |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | gp | punt | yds | avg | lg | in20 | fc | tb | blk |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
No. | Name | Yr | Pos | kr | yds | avg | td | lg | pr | yds | avg | td | lg |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | gp | rush | rcv | pr | kr | yds | ypg |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | pts | pts/g | rush | rec | kr | pr | int | fum | xpm | fgm | 2pt | misc |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | gp | tkl | ast | tot | tkl/g | sck | yds | tfl | yds | ff | fr | yds | int | yds | brup | blk |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | gp | comp | att | pct | yds | y/g | y/a | td | int | lg | effic |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | - | 0.0 | |||
Opponent | - | - | - | - | - | - | - | - | - | - | 0.0 | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | rush | yds | y/g | avg | td | lg | fum | lost |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | rec | rec/g | yds | y/g | avg | td | lg |
---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
No. | Name | Yr | Pos | gp | fgm | fga | pct | lg | xpm | xpa | pct | pts |
---|
There was a problem with a Velocity script | |
Page | /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template |
Error | Error invoking method 'get(java.lang.Integer)' in [Ljava.lang.String; at /httpd/prestosports/site-public/WEB-INF/themes/generic/stats-bios-template[line 355, column 50] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: #set ($paginate = false) 11: #if ($options.get("stats_individual_pagination") and $options.get("stats_individual_pagination").equalsIgnoreCase("yes")) 12: #set ($paginate = true) 13: #end 14: #set ($limit = $options.get("stats_individual_limit")) 15: 16: #set ($isSharedMeets = true) 17: #if ($sport and $sport.statistics == true) 18: #set ($isSharedMeets = false) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: #set ($pos = "") 50: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 51: 52: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 53: $website.decorate("") 54: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 55: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 56: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 57: #end 58: #if($paginate) 59: #set ($targetURL = $targetURL + "&page=1") 60: #end 61: #if($limit) 62: #set ($targetURL = $targetURL + "&limit=" + $limit) 63: #end 64: $response.sendRedirect($targetURL) 65: #stop 66: #end 67: 68: ## We want to leave this undefined so we can test for that 69: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 70: #if ($minEsc.length() > 0) 71: #set ($min = $minEsc) 72: #end 73: 74: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 75: 76: ## #set ($labels = $labels.get($positions.get($pos))) 77: 78: #set ($url = $request.requestURI) 79: #set ($paginationParameters = "") 80: #if($paginate and $!request.getParameter("page")) 81: #set ($paginationParameters = $paginationParameters + "&page=1") 82: #end 83: #if($limit and $!request.getParameter("limit")) 84: #set ($paginationParameters = $paginationParameters + "&limit=" + $limit) 85: #end 86: 87: #set ($view = "") 88: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 89: 90: #set ($restriction = "0") 91: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 92: #if ($restrictionEsc.length() > 0) 93: #set ($restriction = $restrictionEsc) 94: #end 95: 96: $website.include("standings?tmpl=stats-standings-abbr-template") 97: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 98: 99: #* 100: <!-- 101: Debug 102: URL: $url 103: isIncluded: $isIncluded 104: View: ${view} 105: Position: $pos 106: Sort: $sort 107: isAjax: $isAjax 108: isSharedMeets = $isSharedMeets 109: page.getTeamIDs.size() = $page.getTeamIDs().size() 110: teamId = $teamId 111: page.teams.entrySet() = $page.teams.entrySet().size() 112: isSingleTeam = $isSingleTeam 113: --> 114: *# 115: 116: #if ($locale == "en_us") 117: #set ($defLabel = "Defense") 118: #elseif ($locale == "en_gb") 119: #set ($defLabel = "Defence") 120: #end 121: 122: #macro(printBriefsCategories $r) 123: #set ($ariaLabel = "Overall Stats") 124: #if ($r == "1") 125: #set ($ariaLabel = "Conference Stats") 126: #end 127: #set ($briefsCategories = []) 128: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 129: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary"> 130: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 131: <div> 132: <ul class="clearfix"> 133: 134: #if($briefsCategoriesLabels.containsKey("Game")) 135: 136: ## So we need to print Season, Games and Minutes (for some sports) tabs 137: 138: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 139: #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game")) 140: #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes")) 141: ## Iterate over the brief categories labels 142: 143: #set ($isFirstCategory = true) 144: #foreach($briefsCat in $briefsCategoriesSeason.entrySet()) 145: #set($briefsCatKey = $briefsCat.key) 146: #set($briefsCatLabel = $briefsCat.value) 147: 148: <li class="tabs-category" data-skip="true"><span>$briefsCatLabel:</span></li> 149: #foreach($briefsCatGame in $briefsCategoriesGame.entrySet()) 150: #if($briefsCatGame.value == $briefsCatLabel) 151: #set($gamePos = $briefsCatGame.key) 152: #end 153: #end 154: 155: ## Print the Game stuff 156: #set($gameDefaultSorting = $briefsDefaultSorting.get($gamePos)) 157: <li #if ($pos == $gamePos) class="active" #end> 158: <a href="${url}?sort=$gameDefaultSorting&view=${view}&pos=${gamePos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: game">Game</a> 159: </li> 160: 161: ## Print the Season stuff 162: #set($seasonDefaultSorting = $briefsDefaultSorting.get($briefsCatKey)) 163: #if ($pos.length() == 0 || $pos == $briefsCatKey)<li class="active">#else <li> #end 164: <a href="${url}?sort=$seasonDefaultSorting&view=${view}&pos=${briefsCatKey}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: season">Season</a> 165: </li> 166: 167: #if ($briefsCategories.add({ "pos" : $gamePos}))#end 168: #if ($briefsCategories.add({ "pos" : $briefsCatKey, "isFirstCategory" : $isFirstCategory}))#end 169: 170: #if ($isFirstCategory) 171: #set ($isFirstCategory = false) 172: #end 173: 174: #if ($briefsCategoriesMinutes) 175: #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet()) 176: #if($briefsCatMinutes.value == $briefsCatLabel) 177: #set($minutesPos = $briefsCatMinutes.key) 178: #end 179: #end 180: 181: ## Print the minutes stuff 182: #set($minutesDefaultSorting = $briefsDefaultSorting.get($minutesPos)) 183: <li #if ($pos == $minutesPos) class="active" #end> 184: <a href="${url}?sort=$minutesDefaultSorting&view=${view}&pos=${minutesPos}&r=${r}${paginationParameters}" role="button" aria-label="${ariaLabel}: ${briefsCatLabel}: minutes">Minutes</a> 185: </li> 186: 187: #if ($briefsCategories.add({ "pos" : $minutesPos}))#end 188: 189: #end 190: #end 191: #else 192: 193: ## So there are no Games or minutes subgroup for this sport so just print the categories 194: #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season")) 195: #foreach($briefCat in $briefsCategoriesSeason.entrySet()) 196: #set($categoryLabel = $briefCat.value) 197: #set($briefCatKey = $briefCat.key) 198: 199: #if($locale == "en_gb") 200: #if($categoryLabel == "Defense") 201: #set($categoryLabel = "Defence") 202: #end 203: 204: #if($categoryLabel == "Defensemen") 205: #set($categoryLabel = "Defencemen") 206: #end 207: #end 208: 209: #set($categorySort = $briefsDefaultSorting.get($briefCatKey)) 210: 211: ## Check if the current position category can set a sorting that comes 212: ## from antoher tabs category or maybe from a stat alphabet-filter-column 213: 214: #if($briefKeepPreviousSorting) 215: #if($briefKeepPreviousSorting.contains($pos) && $briefKeepPreviousSorting.contains($briefCatKey)) 216: #set($categorySort = $sort) 217: #end 218: #end 219: 220: <li #if ($pos == ${briefCatKey}) class="active" #end> 221: <a href="${url}?sort=$!categorySort&view=$!view&pos=$!briefCatKey&r=$!r${paginationParameters}" role="button" aria-label="${ariaLabel}: ${categoryLabel}">$categoryLabel</a> 222: </li> 223: 224: #if ($briefsCategories.add({ "pos" : $briefCatKey }))#end 225: 226: #end 227: #end 228: 229: </ul> 230: </div> 231: </div> ## tab-nav 232: 233: <div class="tab-panels clearfix"> 234: #foreach ($category in $briefsCategories) 235: #set ($isActive = false) 236: 237: #* 238: <br><br><br> 239: $briefsCategories <br > 240: DEBUG <br> 241: r = $r <br> 242: restriction = $restriction <br> 243: pos = $pos <br> 244: category.pos = $category.pos <br> 245: isFirstCategory = $isFirstCategory 246: <br><br><br> 247: *# 248: 249: #if ($r == $restriction && ($pos == $category.pos || (!$pos && $isFirstCategory) || $briefsCategories.size() == 1)) 250: #set ($isActive = true) 251: #end 252: 253: #if ($isActive) 254: <div class="tab-panel active"> 255: #printPlayers($category.pos, $r) 256: </div> 257: #else 258: <div class="tab-panel tab-panel-ondemand"></div> 259: #end 260: #end 261: </div> 262: 263: </div> ## tab-container 264: 265: #else 266: #printPlayers($pos, $r) 267: #end 268: #end ## printBriefsCategories 269: 270: #macro(printPlayerName $isIncluded $individual) 271: #if ($isIncluded) 272: ${individual.firstName} 273: #elseif ($individual.firstName.length() > 0) 274: ${individual.firstName.substring(0, 1)} 275: #end 276: ${individual.lastName} 277: #end 278: 279: #macro(printPlayers $p $r) 280: #set ($briefs = $briefs.get($positions.get($p))) 281: 282: #set ($tennis = $sport && $sport.XMLCode == "tngame") 283: 284: <div class="stats-wrap clearfix"> 285: <div class="stats-box stats-box-alternate full clearfix"> 286: <div class="scrollable"> 287: <div> 288: <table> 289: <tr class="thead accent-bg"> 290: #if ($isIncluded) 291: #if(!$tennis) 292: <th class="text">No.</th> 293: #end 294: #elseif ($sort != 'name' && ! $isSharedMeets) 295: <th class="text">Rk</th> 296: #end 297: 298: <th class="text pinned-col" title="Name"> 299: #if ($cansort == 'n' || $isSharedMeets) 300: Name 301: #else 302: <button value="${url}?sort=name&view=${view}&pos=${p}&r=${r}${paginationParameters}" 303: class="sortable" 304: aria-label="sort table using name"> 305: Name 306: </button> 307: #end 308: </th> 309: 310: #if ($isIncluded) 311: <th>Yr</th> 312: <th>Pos</th> 313: #elseif ($isSharedMeets) 314: <th>Yr</th> 315: #else 316: <th> </th> 317: #end 318: 319: ## Hack for now 320: #set ($pos = "") 321: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 322: #set ($labels = $labels.get($pos)) 323: 324: #foreach ($key in $briefs.keySet()) 325: #if ($cansort == 'n') 326: <th>${briefs.get($key)}</th> 327: #else 328: <th> 329: <button value="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}${paginationParameters}" 330: title="$!{labels.get($key)}" 331: class="sortable" 332: aria-label="sort table using ${briefs.get($key)}" 333: > 334: ${briefs.get($key)} 335: </button> 336: </th> 337: #end 338: #end 339: </tr> 340: 341: #set ($showCount = 0) 342: #set ($rankValue = "abb") 343: #set ($counter = 0) 344: 345: #foreach ($individual in $individuals) 346: #if ($restriction == "1") 347: #set ($stats = $individual.statsConference) 348: #else 349: #set ($stats = $individual.stats) 350: #end 351: 352: #set ($individualPosition = "") 353: #set ($individualPosition = $individual.position) 354: #set ($posVec = $individualPosition.split("/")) 355: #set ($individualPosition = $posVec[0]) 356: 357: #set ($show = "") 358: 359: #set ($showAllPlayers = $options.get("stats_show_all_players")) 360: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 361: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 362: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 363: #if ($showPosition) 364: #set ($indPositionsList = $lineupShowPosition.get($p)) 365: #foreach ($indPos in $indPositionsList) 366: #if ($individualPosition.equalsIgnoreCase($indPos)) 367: #set ($show = "y") 368: #end 369: #end 370: #end 371: 372: #if ($showStat) 373: #set ($statsList = $lineupShowStat.get($p)) 374: #foreach ($statElem in $statsList) 375: #if ($stats.get($statElem) > 0) 376: #set ($show = "y") 377: #end 378: #end 379: #end 380: 381: #if ($min) 382: #set ($test = 0) 383: #set ($test = $stats.get($min)) 384: #if ($test > 0) 385: #set ($show = "y") 386: #end 387: #end 388: #else 389: #set ($show = "y") 390: #end 391: 392: #if ($show.length() > 0) 393: #set ($showCount = $showCount + 1) 394: <tr> 395: #if ($isIncluded) 396: #if(!$tennis) 397: <td class="text">${individual.uniform}</td> 398: #end 399: #elseif ($sort != 'name' && ! $isSharedMeets) 400: <td class="text"> 401: ## Need to figure out what value is 402: #set ($value = ${stats.get($sort)}) 403: #if (!($value == $rankValue)) 404: ##This is a new rank value... let's update our ranking 405: #set ($rank = $showCount) 406: #set ($rankValue = $value) 407: #end 408: #if($request.getParameter("page")) 409: ${individual.getRank()} 410: #else 411: ${rank} 412: #end 413: </td> 414: #end 415: 416: <td class="text pinned-col"> 417: #if ($isSharedMeets) 418: ${individual.firstName} ${individual.lastName} 419: #else 420: #if ($page.contentType == "tournament/bios") 421: <a href="players/${individual.pageName}"> 422: #printPlayerName($isIncluded, $individual) 423: </a> 424: #else 425: <a href="${page.url}/${individual.pageName}"> 426: #printPlayerName($isIncluded, $individual) 427: </a> 428: #end 429: #end 430: </td> 431: 432: #if ($isIncluded) 433: <td>$!{individual.year}</td> 434: <td> 435: #if($individual.positionAbbreviation) 436: $!individual.positionAbbreviation 437: #else 438: $!individual.position 439: #end 440: </td> 441: #elseif ($isSharedMeets) 442: <td>$!{individual.year}</td> 443: #else 444: #set ($teamname = "") 445: #set ($teamname = $individual.team) 446: 447: ############################################################## 448: ## This creates an abbr. team name for each athlete. 449: ## Comment out if client would prefer the full team name to show. 450: 451: #set ($teamname = $teamAbbr.get($individual.teamId)) 452: #set ($teamname = $teamAbbr.get($individual.team)) 453: 454: ## end of team abbr swap for team name 455: ############################################################## 456: 457: <td class="text"> 458: #if ($teamname.length() > 0) 459: <a href="teams?id=$!{individual.teamId}">${teamname}</a> 460: #end 461: </td> 462: #end 463: 464: #foreach ($key in $briefs.keySet()) 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 467: <td #if ($key == $sort) class="sort" #end> 468: #if ($value.length() > 0) 469: $value 470: #else 471: - 472: #end 473: </td> 474: #end 475: </tr> 476: #end ## showing 477: #end ## foreach individual 478: 479: #if ($isIncluded) 480: #set ($teamStats = $request.getAttribute("teamStats")) 481: <tr class="totals"> 482: <td> </td> 483: <td class="text pinned-col">Totals</td> 484: <td> </td> ## YR 485: <td> </td> ## POS 486: #foreach ($key in $briefs.keySet()) 487: #set ($value = "-") 488: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 489: <td #if ($key == $sort) class="sort" #end> 490: #if ($value.length() > 0) 491: $value 492: #else 493: - 494: #end 495: </td> 496: #end 497: </tr> 498: 499: <tr class="totals"> 500: <td> </td> 501: <td class="text pinned-col">Opponent</td> 502: <td> </td> ## YR 503: <td> </td> ## POS 504: #foreach ($key in $briefs.keySet()) 505: #set ($keyopp = "${key}opp") 506: #set ($value = "-") 507: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 508: <td #if ($key == $sort) class="sort" #end> 509: #if ($value.length() > 0) 510: $value 511: #else 512: - 513: #end 514: </td> 515: #end 516: </tr> 517: #end 518: 519: #if ($individuals.size() == 0) 520: <tr class="totals"> 521: <td colspan="5"> 522: #if ($isSharedMeets) 523: This team's roster is empty 524: #elseif ($hasBiosBeforeFilter) 525: No players meet the minimum 526: #else 527: No stats are available at this time 528: #end 529: </td> 530: </tr> 531: #end 532: #if($totals) 533: <tfoot> 534: <tr class="font-weight-bold"> 535: <td colspan="3" class="text-center">TOTALS</td> 536: #foreach ($key in $briefs.keySet()) 537: #set ($value = "-") 538: #set ($value = $formatter.formatNumber(${totals.get($key)}, $!formats.get($key))) 539: <td class="text-right text-nowrap" #if($key == $sort) #end> 540: #if ($value.length() > 0) 541: $value 542: #else 543: - 544: #end 545: </td> 546: #end 547: </tr> 548: </tfoot> 549: #end 550: </table> 551: #if($request.getParameter("page")) 552: Page ${request.getParameter("page")}/${totalPages} - Showing: ${showCount}, Total: ${individualsTotalLength} Players 553: #end 554: </div> 555: </div> ## scrollable 556: </div> ## stats-box 557: </div> ## stats-wrap 558: #end ## printPlayers 559: 560: ### END MACROS ### 561: 562: ## TEAMS LAYOUTS FOR SHARED MEETS 563: #if ($isSharedMeets && !$isSingleTeam) 564: 565: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 566: #set ($teamsThreshold = 20) 567: 568: #if ($page.title.length() > 0) 569: <h1>$page.title</h1> 570: #else 571: <h1>Teams</h1> 572: #end 573: 574: #if ($teams.size() > $teamsThreshold) 575: 576: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 577: 578: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 579: <div class="alphabet-filter-chars"> 580: <span class="alphabet-filter-border"> | </span> 581: #foreach ($alphabet in $alphabets.split("")) 582: #if ($alphabet.length() > 0) 583: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 584: <span class="alphabet-filter-border"> | </span> 585: #end 586: #end 587: </div> ## alphabet-filter-char 588: 589: <div class="alphabet-filter-list"> 590: <div class="alphabet-filter-column"> 591: #set ($lastAlphabet = "") 592: #set ($counter = 0) 593: 594: #foreach ($team in $teams) 595: #set ($teamName = $team.value) 596: 597: #if ($teamName.charAt(0) != $lastAlphabet) 598: #set ($counter = $counter + 1) 599: #if ($counter > 1) 600: </div> ## alphabet-filter-section 601: #end 602: #if ($counter == 8 || $counter == 15) 603: </div> ## alphabet-filter-column 604: <div class="alphabet-filter-column"> 605: #end 606: #set ($lastAlphabet = $teamName.charAt(0)) 607: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 608: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 609: #end 610: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 611: #end 612: </div> ## alphabet-filter-section 613: </div> ## alphabet-filter-column 614: </div> ## alphabet-filter-list 615: </div> ## alphabet-filter 616: 617: #else ## plain list 618: 619: <div class="stats-wrap clearfix"> 620: <div class="stats-box full clearfix"> 621: <table> 622: #foreach ($team in $teams) 623: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 624: #end 625: #if ($teams.size() == 0) 626: <tr><td>There are no teams that match this criteria</td></tr> 627: #end 628: </table> 629: </div> 630: </div> 631: 632: #end ## teams threshold 633: 634: ## TEAMINFO ROSTER LAYOUT 635: #elseif ($isIncluded && $view == 'roster') 636: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 637: #set ($tennis = $sport && $sport.XMLCode == "tngame") 638: 639: <div class="stats-wrap clearfix"> 640: <div class="stats-box stats-box-alternate full clearfix"> 641: <div class="scrollable"> 642: <div> 643: <table> 644: <tr class="thead accent-bg"> 645: #if (!$tennis) 646: <th class="text">No.</th> 647: #end 648: <th class="text pinned-col">Name</th> 649: <th>Position</th> 650: <th>Year</th> 651: <th>Player Status</th> 652: #if ($baseball) 653: <th>Height</th> 654: <th>Weight</th> 655: <th>Bats</th> 656: <th>Throws</th> 657: <th>DOB</th> 658: <th>Hometown</th> 659: #end 660: </tr> 661: #foreach ($individual in $individuals) 662: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 663: #if (!$tennis) 664: <td class="text"> 665: ${individual.uniform} 666: </td> 667: #end 668: <td class="text pinned-col"> 669: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 670: </td> 671: <td> 672: #if ($individual.positionAbbreviation) 673: $!individual.positionAbbreviation 674: #else 675: $!individual.position 676: #end 677: </td> 678: <td>$!{individual.year}</td> 679: <td> 680: #if($additionalRosterStatus) 681: $individual.playerStatus 682: #elseif ($individual.active) 683: Active 684: #else 685: Inactive 686: #end 687: </td> 688: #if ($baseball) 689: <td>$!{individual.dataMap["height"]}</td> 690: <td>$!{individual.dataMap["weight"]}</td> 691: <td>$!{individual.dataMap["bats"]}</td> 692: <td>$!{individual.dataMap["throws"]}</td> 693: <td>$!{individual.dataMap["born"]}</td> 694: <td>$!{individual.dataMap["hometown"]}</td> 695: #end 696: </tr> 697: #end 698: </table> 699: </div> 700: </div> 701: </div> 702: </div> 703: 704: ## SHARED MEETS PLAYERS 705: #elseif ($isSharedMeets) 706: 707: #if ($teamId) 708: #set ($playersPageTitle = $page.title) 709: #foreach($team in $page.teams.entrySet()) 710: #if ($teamId == $team.key) 711: #set ($playersPageTitle = $team.value) 712: #end 713: #end 714: <h1>$playersPageTitle</h1> 715: #end 716: 717: #printPlayers($pos, $restriction) 718: 719: ## PLAYERS / LINEUP 720: #else 721: 722: ## do not show these options on the lineup page 723: #if (not $isIncluded) 724: 725: #if ($isAjax) 726: $website.decorate('') 727: #printPlayers($pos $restriction) 728: #stop 729: #end 730: 731: #if ($page.contentType == "stat/bios") 732: ## ARCHIVES 733: <div class="align-right">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 734: #end 735: 736: #if ($page.title.length() > 0 && !$isSharedMeets) 737: <h1>$page.title</h1> 738: #end 739: 740: #if ($minimum.length() > 0) 741: <div class="clearfix align-right">$!minimum</div> 742: #end 743: 744: #if ($showconf && !$isSharedMeets) 745: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary"> 746: <div class="tab-nav" data-module="jscroll" data-momentum="false"> 747: <div> 748: <ul class="clearfix"> 749: <li #if ($restriction == "0")class="active"#end> 750: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0${paginationParameters}">Overall</a> 751: </li> 752: <li #if ($restriction == "1")class="active"#end> 753: <a href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1${paginationParameters}">Conference</a> 754: </li> 755: </ul> 756: </div> 757: </div> 758: 759: <div class="tab-panels clearfix"> 760: <div class="tab-panel 761: #if ($restriction.equals("0")) 762: active 763: #else 764: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 765: #end"> 766: #printBriefsCategories(0) 767: </div> 768: <div class="tab-panel 769: #if ($restriction.equals("1")) 770: active 771: #else 772: #if ($teamId.length() != 0 || !$briefsCategoriesLabels) tab-panel-ondemand #else tab-panel-primary-ondemand #end 773: #end"> 774: #printBriefsCategories(1) 775: </div> 776: </div> 777: </div> ## tab-container overall/conf 778: #else 779: #printBriefsCategories($restriction) 780: #end 781: 782: #else 783: #printBriefsCategories($restriction) 784: #end ## not isIncluded 785: #end ## LAYOUTS 786: 787: $wiki.su |
No. | Name | Yr | Pos | gp | punt | yds | avg | lg | in20 | fc | tb | blk |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Totals | - | - | - | - | - | - | - | - | - | |||
Opponent | - | - | - | - | - | - | - | - | - | |||
No players meet the minimum |
Date | Opponent | Score | yds | pass | c-a | comp % | rush | r | y/r | int | fum | tack | sac | pen yds | top |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Feb 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 24 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 20 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Apr 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Apr 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Apr 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Oct 24 # | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 16 | at Utah | T, 0-0 | - | - | - | - | - | - | - | - | - | - | - | - | - |
Feb 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 24 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Feb 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 1 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 2 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 16 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Mar 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Apr 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Apr 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 3 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 6 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 6 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 7 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 9 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 16 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 19 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 21 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 23 | at Adrian | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 29 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 30 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
May 31 | at Albany (N.Y.) | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 16 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jun 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Jul 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 16 | at Utah | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 24 | at Cornell College | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 24 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 25 | Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 26 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Aug 27 | at Cornell | - | - | - | - | - | - | - | - | - | - | - | - | - |
gp | td | fg | xpt | 2pc | dxp | saf | pts | ppg | |
---|---|---|---|---|---|---|---|---|---|
Total | - | - | - | - | - | - | - | - | - |
Conference | - | - | - | - | - | - | - | - | - |
Exhibition | - | - | - | - | - | - | - | - | - |
- |
|||||||||
Home | - | - | - | - | - | - | - | - | - |
Away | - | - | - | - | - | - | - | - | - |
Neutral | - | - | - | - | - | - | - | - | - |
- |
|||||||||
Wins | - | - | - | - | - | - | - | - | - |
Losses | - | - | - | - | - | - | - | - | - |
- |
gp | ppg | pts | yd/g | pass y/g | rush y/g | tkl/g | int | fum rec | sack | td | |
---|---|---|---|---|---|---|---|---|---|---|---|
Total | - | - | - | - | - | - | - | - | - | - | - |
Conference | - | - | - | - | - | - | - | - | - | - | - |
Exhibition | - | - | - | - | - | - | - | - | - | - | - |
- |
|||||||||||
Home | - | - | - | - | - | - | - | - | - | - | - |
Away | - | - | - | - | - | - | - | - | - | - | - |
Neutral | - | - | - | - | - | - | - | - | - | - | - |
- |
|||||||||||
Wins | - | - | - | - | - | - | - | - | - | - | - |
Losses | - | - | - | - | - | - | - | - | - | - | - |
- |
Date | Opponent | Score | Attend |
---|---|---|---|
Feb 24 | Cornell | - | |
Feb 24 | at Utah | - | |
Feb 25 | Cornell | - | |
Feb 26 | at Cornell | - | |
Feb 27 | at Cornell | - | |
Mar 16 | at Utah | - | |
Mar 20 | at Utah | - | |
Mar 24 | Cornell | - | |
Mar 25 | Cornell | - | |
Mar 26 | at Cornell | - | |
Mar 27 | at Cornell | - | |
Apr 25 | Cornell | - | |
Apr 26 | at Cornell | - | |
Apr 27 | at Cornell | - | |
Jun 16 | at Utah | - | |
Jun 24 | Cornell | - | |
Jun 25 | Cornell | - | |
Jun 26 | at Cornell | - | |
Jun 27 | at Cornell | - | |
Jul 16 | at Utah | - | |
Jul 24 | Cornell | - | |
Jul 25 | Cornell | - | |
Jul 26 | at Cornell | - | |
Jul 27 | at Cornell | - | |
Aug 16 | at Utah | - | |
Aug 24 | Cornell | - | |
Aug 25 | Cornell | - | |
Aug 26 | at Cornell | - | |
Aug 27 | at Cornell | - | |
Oct 24 | at Utah | - | |
Feb 16 | at Utah | 0-0 Tie | - |
Feb 24 | Cornell | - | |
Feb 24 | at Utah | - | |
Feb 25 | Cornell | - | |
Feb 26 | at Cornell | - | |
Feb 27 | at Cornell | - | |
Mar 1 | at Utah | - | |
Mar 2 | at Albany (N.Y.) | - | |
Mar 16 | at Albany (N.Y.) | - | |
Mar 16 | at Utah | - | |
Mar 24 | Cornell | - | |
Mar 25 | Cornell | - | |
Mar 26 | at Cornell | - | |
Mar 27 | at Cornell | - | |
Apr 16 | at Utah | - | |
Apr 24 | Cornell | - | |
May 3 | at Utah | - | |
May 6 | at Utah | - | |
May 6 | at Utah | - | |
May 7 | at Albany (N.Y.) | - | |
May 9 | at Utah | - | |
May 16 | at Albany (N.Y.) | - | |
May 19 | at Utah | - | |
May 21 | at Utah | - | |
May 23 | at Adrian | - | |
May 29 | at Albany (N.Y.) | - | |
May 30 | at Utah | - | |
May 31 | at Albany (N.Y.) | - | |
Jun 16 | at Cornell | - | |
Jun 16 | at Utah | - | |
Jun 24 | Cornell | - | |
Jun 25 | Cornell | - | |
Jun 26 | at Cornell | - | |
Jun 27 | at Cornell | - | |
Jul 16 | at Utah | - | |
Jul 24 | Cornell | - | |
Jul 25 | Cornell | - | |
Jul 26 | at Cornell | - | |
Jul 27 | at Cornell | - | |
Aug 16 | at Utah | - | |
Aug 24 | at Cornell College | - | |
Aug 24 | Cornell | - | |
Aug 25 | Cornell | - | |
Aug 26 | at Cornell | - | |
Aug 27 | at Cornell | - |