Morgan Crocker #14 G UMaine-Farmington

gp 25
pts/g 12.4
fg % 30.8
3pt % 22.2
ft % 68.3
reb/g 2.9
a/g 1.8
Recent Games
Feb 3 at Johnson St. W, 61-52
Feb 6 at Colby L, 72-36
Feb 9 Green Mountain W, 69-56
Feb 10 Castleton L, 63-48
Feb 14 at Husson L, 74-49
Feb 17 Maine Maritime L, 79-64
Statistics category Overall Conf
Games 25 18
Games started 24 17
Minutes 697 499
Minutes per game 27.9 27.7
FG 101-328 71-225
FG Pct 30.8 31.6
3PT 10-45 6-31
3PT Pct 22.2 19.4
FT 99-145 81-120
FT Pct 68.3 67.5
Off rebounds 25 15
Def rebounds 48 37
Total rebounds 73 52
Rebounds per game 2.9 2.9
Personal fouls 31 22
Disqualifications - -
Assists 46 36
Turnovers 67 48
Assist to turnover ratio 0.7 0.8
Steals 18 17
Blocks 0 0
Points 311 229
Points per game 12.4 12.7
Points per 40 min 17.8 18.4
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 4 TBA   - - - - - - - - -
Nov 18 vs. Fisher W, 73-68 1 33 9-16 56.3 2-3 66.7 7-9 77.8 27
Nov 19 vs. Lesley W, 71-51 1 25 2-14 14.3 0-1 0.0 3-4 75.0 7
Nov 21 Saint Joseph's (Me.) L, 84-57 1 30 6-16 37.5 0-2 0.0 3-3 100.0 15
Nov 28 at Maine Maritime L, 69-50 1 26 2-8 25.0 0-1 0.0 5-6 83.3 9
Dec 1 Johnson St. W, 63-48 1 29 10-24 41.7 0-5 0.0 6-6 100.0 26
Dec 2 Lyndon St. L, 80-74 1 37 11-22 50.0 0-0 - 10-13 76.9 32
Dec 6 at Bowdoin L, 109-24 1 21 0-8 0.0 0-0 - 1-2 50.0 1
Dec 9 Thomas (ME) L, 70-46 1 29 3-19 15.8 1-4 25.0 9-11 81.8 16
Dec 10 Me.-Presque Isle W, 57-51 1 30 3-11 27.3 1-4 25.0 3-4 75.0 10
Jan 5 at Colby-Sawyer L, 86-38 1 24 1-7 14.3 0-1 0.0 2-4 50.0 4
Jan 6 at New England Col. L, 82-43 1 25 4-11 36.4 1-2 50.0 2-8 25.0 11
Jan 9 Husson L, 87-51 1 27 4-11 36.4 0-0 - 7-8 87.5 15
Jan 13 at Thomas (ME) L, 61-42 1 25 1-10 10.0 0-2 0.0 1-2 50.0 3
Jan 16 Bates L, 62-44 1 35 6-25 24.0 0-3 0.0 0-2 0.0 12
Jan 19 at Castleton L, 71-28 1 28 1-8 12.5 0-1 0.0 0-2 0.0 2
Jan 20 at Green Mountain W, 62-55 1 32 2-14 14.3 1-3 33.3 4-6 66.7 9
Jan 26 New England Col. L, 82-61 1 29 6-13 46.2 1-1 100.0 3-6 50.0 16
Jan 27 Colby-Sawyer L, 67-43 1 25 3-11 27.3 0-0 - 5-8 62.5 11
Feb 2 at Lyndon St. L, 66-41 1 26 5-14 35.7 0-1 0.0 6-10 60.0 16
Feb 3 at Johnson St. W, 61-52 1 27 7-13 53.8 1-2 50.0 7-9 77.8 22
Feb 6 at Colby L, 72-36 1 24 4-13 30.8 1-1 100.0 1-1 100.0 10
Feb 9 Green Mountain W, 69-56 1 29 4-11 36.4 0-2 0.0 0-0 - 8
Feb 10 Castleton L, 63-48 1 30 2-7 28.6 0-0 - 4-7 57.1 8
Feb 14 at Husson L, 74-49 1 28 2-13 15.4 0-4 0.0 5-8 62.5 9
Feb 17 Maine Maritime L, 79-64 - 23 3-9 33.3 1-2 50.0 5-6 83.3 12
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 4 TBA   - - - - - - - - - - - -
Nov 18 vs. Fisher W, 73-68 1 33 4 2 6 3 4 0.8 0 0 1 -
Nov 19 vs. Lesley W, 71-51 1 25 2 3 5 1 2 0.5 1 0 0 -
Nov 21 Saint Joseph's (Me.) L, 84-57 1 30 1 2 3 3 2 1.5 0 0 2 -
Nov 28 at Maine Maritime L, 69-50 1 26 0 3 3 0 5 0.0 1 0 2 -
Dec 1 Johnson St. W, 63-48 1 29 1 4 5 2 0 - 0 0 2 -
Dec 2 Lyndon St. L, 80-74 1 37 2 3 5 0 1 0.0 2 0 1 -
Dec 6 at Bowdoin L, 109-24 1 21 0 1 1 2 0 - 0 0 2 -
Dec 9 Thomas (ME) L, 70-46 1 29 0 3 3 2 2 1.0 2 0 1 -
Dec 10 Me.-Presque Isle W, 57-51 1 30 2 1 3 1 7 0.1 0 0 3 -
Jan 5 at Colby-Sawyer L, 86-38 1 24 2 3 5 1 5 0.2 2 0 1 -
Jan 6 at New England Col. L, 82-43 1 25 1 2 3 1 2 0.5 0 0 3 -
Jan 9 Husson L, 87-51 1 27 1 4 5 1 4 0.3 1 0 1 -
Jan 13 at Thomas (ME) L, 61-42 1 25 1 1 2 2 3 0.7 1 0 1 -
Jan 16 Bates L, 62-44 1 35 1 1 2 0 2 0.0 0 0 0 -
Jan 19 at Castleton L, 71-28 1 28 2 1 3 1 8 0.1 0 0 1 -
Jan 20 at Green Mountain W, 62-55 1 32 0 3 3 6 1 6.0 0 0 0 -
Jan 26 New England Col. L, 82-61 1 29 1 3 4 2 4 0.5 1 0 0 -
Jan 27 Colby-Sawyer L, 67-43 1 25 1 1 2 3 1 3.0 3 0 1 -
Feb 2 at Lyndon St. L, 66-41 1 26 1 0 1 0 1 0.0 0 0 0 -
Feb 3 at Johnson St. W, 61-52 1 27 0 0 0 2 2 1.0 0 0 4 -
Feb 6 at Colby L, 72-36 1 24 0 1 1 0 2 0.0 0 0 1 -
Feb 9 Green Mountain W, 69-56 1 29 0 1 1 5 3 1.7 0 0 0 -
Feb 10 Castleton L, 63-48 1 30 1 1 2 1 2 0.5 1 0 3 -
Feb 14 at Husson L, 74-49 1 28 1 0 1 6 2 3.0 3 0 0 -
Feb 17 Maine Maritime L, 79-64 - 23 0 4 4 1 2 0.5 0 0 1 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2015-16 23 - 5.5 0.5-2.5 19.3 0.0-0.7 6.7 0.7-0.8 89.5 1.7
2016-17 23 21 22.6 2.3-8.5 27.2 0.3-1.3 26.7 2.7-3.8 72.4 7.7
2017-18 25 24 27.9 4.0-13.1 30.8 0.4-1.8 22.2 4.0-5.8 68.3 12.4
2018-19 23 23 27.8 2.7-9.5 28.4 0.2-1.5 14.7 2.1-3.1 69.0 7.7
Total 94 68 21.1 2.4-8.5 28.4 0.3-1.3 19.4 2.4-3.4 70.8 7.5
  gp gs min fg pct 3pt pct ft pct pts
2015-16 23 - 127 11-57 19.3 1-15 6.7 17-19 89.5 40
2016-17 23 21 520 53-195 27.2 8-30 26.7 63-87 72.4 177
2017-18 25 24 697 101-328 30.8 10-45 22.2 99-145 68.3 311
2018-19 23 23 639 62-218 28.4 5-34 14.7 49-71 69.0 178
Total 94 68 1983 227-798 28.4 24-124 19.4 228-322 70.8 706
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2015-16 23 - 5.5 3.5-18.0 19.3 0.3-4.7 6.7 5.4-6.0 89.5 12.6
2016-17 23 21 22.6 4.1-15.0 27.2 0.6-2.3 26.7 4.8-6.7 72.4 13.6
2017-18 25 24 27.9 5.8-18.8 30.8 0.6-2.6 22.2 5.7-8.3 68.3 17.8
2018-19 23 23 27.8 3.9-13.6 28.4 0.3-2.1 14.7 3.1-4.4 69.0 11.1
Total 94 68 21.1 4.6-16.1 28.4 0.5-2.5 19.4 4.6-6.5 70.8 14.2
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2015-16 23 - 5.5 0.4 0.7 1.1 0.8 - 0.3 0.5 0.6 0.3 0.0
2016-17 23 21 22.6 1.1 1.8 2.9 1.0 0.0 1.0 2.3 0.5 0.5 0.0
2017-18 25 24 27.9 1.0 1.9 2.9 1.2 - 1.8 2.7 0.7 0.7 0.0
2018-19 23 23 27.8 0.9 1.3 2.2 1.1 0.0 1.2 2.6 0.5 0.8 0.0
Total 94 68 21.1 0.9 1.4 2.3 1.0 0.0 1.1 2.0 0.5 0.6 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
2015-16 23 - 127 10 16 26 19 - 7 12 0.6 8 0
2016-17 23 21 520 26 41 67 23 0 24 52 0.5 11 1
2017-18 25 24 697 25 48 73 31 - 46 67 0.7 18 0
2018-19 23 23 639 20 31 51 25 0 27 59 0.5 19 0
Total 94 68 1983 81 136 217 98 0 104 190 0.5 56 1
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2015-16 23 - 5.5 3.1 5.0 8.2 6.0 0.0 2.2 3.8 0.6 2.5 0.0
2016-17 23 21 22.6 2.0 3.2 5.2 1.8 0.0 1.8 4.0 0.5 0.8 0.1
2017-18 25 24 27.9 1.4 2.8 4.2 1.8 0.0 2.6 3.8 0.7 1.0 0.0
2018-19 23 23 27.8 1.3 1.9 3.2 1.6 0.0 1.7 3.7 0.5 1.2 0.0
Total 94 68 21.1 1.6 2.7 4.4 2.0 0.0 2.1 3.8 0.5 1.1 0.0
There was a problem with a Velocity script
Pagebio-network-template
ErrorVM #printCategories: too many arguments to macro. Wanted 2 got 3 at bio-network-template[line 574, column 11]
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: 
7: #set ($showconf = true)
8: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
9:   #set ($showconf = false)
10: #end
11: 
12: #set ($showCareer = $wiki.valid() && $seasons)
13: #if ("yes" == $options.get("stats_show_career") && $seasons)
14:   #set ($showCareer = "yes")
15: #end
16: 
17: #if ($locale == "en_us")
18:   #set ($defLabel = "Defense")
19: #elseif ($locale == "en_gb")
20:   #set ($defLabel = "Defence")
21: #end
22: 
23: #set ($pos = "")
24: #set ($pos = $attributes.get("position"))
25: #set ($posVec = $pos.split("/"))
26: #set ($pos = $posVec[0])
27: #set ($pos = $pos.toLowerCase())
28: 
29: #set ($statPos = $positions.get($pos))
30: #set ($paramPos = $request.getParameter("pos").toLowerCase())
31: 
32: #*
33: $positions
34: $positions.keySet()
35: $positions.entrySet()
36: $statPos
37: $paramPos
38: *#
39: 
40: #set ($highlights = $highlights.get($statPos))
41: 
42: #set ($url = ${page.url})
43: #set ($playerId = $attributes.get("playerId"))
44: #set ($stats = $splits.overall)
45: 
46: #set ($hasEvents = $events.size() > 0)
47: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
48: #set ($htmlStatsURL = "${page.url}-stats")
49: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
50: #set ($bioBriefURL = "${page.url}-brief")
51: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
52: 
53: $request.setAttribute("careerTotals", $career)
54: ## We track a map of the careers to see if we are missing any seasons
55: #set ($careerMap = {})
56: $request.setAttribute("careerMap", $careerMap)
57: #foreach ($season in $seasons)
58:   ## We need to include this season stats
59:   #set ($path = "${season.path}?tmpl=bio-career-template&name=${season.seasonName}&pos=${statPos}&print=no")
60:   $website.includeAgain($path)
61: #end
62: 
63: #set ($view = "profile")
64: #if ($request.getParameter("view"))
65:   #set ($view = $request.getParameter("view"))
66: #end
67: 
68: #macro (printResultAriaLabel $event)
69:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
70:     #if ($event.neutralSite.length() > 0 || $event.home) 
71:     	#set ($ariaLabel = "${ariaLabel} vs.")
72:     #else
73:     	#set ($ariaLabel = "${ariaLabel} at")
74:     #end
75:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
76:     #if ($event.neutralSite.length() > 0)
77:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
78:     #end
79:     #set ($ariaLabel = "${ariaLabel} Box Score")
80:     aria-label="$ariaLabel"
81: #end
82: 
83: #macro (printHighlights)
84: #if ($highlights)
85:   <div class="highlights highlights-standalone accent-bg">
86:     #foreach ($highlight in $highlights.keySet())
87:       #set ($value = "-")
88:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
89:       <div class="stat clearfix">
90:         <span class="stat-title">$!highlights.get($highlight)</span>
91:         <span class="stat-value">$value</span>
92:       </div>
93:     #end
94:   </div>
95: #end ## has highlights
96: #end ## macro printHighlights
97: 
98: #macro (split $statPosBriefs $label $stats)
99:   <tr>
100:     <td class="pinned-col text">${label}</td>
101:     #foreach ($brief in $statPosBriefs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
104:       <td>#if ($value.length() > 0) $value #else - #end</td>
105:     #end
106:   </tr>
107: #end ## marco split
108: 
109: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
110:   
111: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
112: <div class="tab-nav" data-module="jscroll" data-momentum="false">
113: <div>
114: <ul class="clearfix">
115: #foreach($briefCat in $briefCategoryLabels.entrySet())
116:   #set ($briefCatLabel = $briefCat.value)
117:   #set ($briefCatKey = $briefCat.key)
118:     
119:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
120:     #set ($briefCatLabel = "Defence")
121:   #end  
122:   
123:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="tab" id="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
124: #end
125: </ul>
126: </div>
127: </div>
128: <div class="tab-panels">
129: #foreach ($briefCat in $briefCategoryLabels.entrySet())
130:   #set ($briefCatLabel = $briefCat.value)
131:   #set ($class = "tab-panel clearfix")
132:   #if ($briefCat.key == $activePos)
133:     #set ($class = "tab-panel active clearfix")
134:   #end
135:   <div class="$class" role="tabpanel" aria-labelledby="stats-tab-${ariaLabel.toLowerCase().replace(" ", "-")}-${briefCatLabel.toLowerCase()}">
136:     <div class="stats-wrap clearfix">
137:     #if ($v == "splits")
138:       #splitsData($briefCat.key)
139:     #elseif ($v == "career")
140:       #careerData($briefCat.key)
141:     #end
142:     </div>
143:   </div>
144: #end  
145: </div>
146: </div> ## tab-container
147: 
148: #end ## macro printCategories
149: 
150: #macro (splitsData $p)
151: 
152: #set ($p = $positions.get($p))
153: #set ($statPosBriefs = $briefs.get($p))
154: #set ($colspan = $statPosBriefs.size())  
155:   
156: <div class="stats-box full clearfix">
157: <div class="scrollable">
158: <div>
159: <table>
160:   <tr class="accent-bg">
161:     <th class="pinned-col">&nbsp;</th>
162:     #foreach ($brief in $statPosBriefs)
163:       <th>$brief</th>
164:     #end
165:   </tr>
166: 
167: #split($statPosBriefs, "Total", $splits.overall)
168: #if ($showconf)
169:   #split($statPosBriefs, "Conference", $splits.conference)
170: #end
171: #split($statPosBriefs, "Exhibition", $splits.exhibition)
172: 
173: <tr class="empty-row">
174: 	<td class="pinned-col">&nbsp;</td>
175: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
176: </tr>
177: 
178: #split($statPosBriefs, "Home", $splits.home)
179: #split($statPosBriefs, "Away", $splits.away)
180: #split($statPosBriefs, "Neutral", $splits.neutral)
181: 
182: <tr class="empty-row">
183: 	<td class="pinned-col">&nbsp;</td>
184: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
185: </tr>
186: 
187: #foreach($gameResult in $gamesResults.entrySet())
188:   #if ($gameResult.key == "wins")
189:     #set ($splitGameResult = $splits.inWins)
190:   #elseif ($gameResult.key == "losses")
191:     #set ($splitGameResult = $splits.inLosses)
192:   #elseif ($gameResult.key == "ties")
193:     #set ($splitGameResult = $splits.inTies)
194:   #end
195:   
196:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
197: #end
198: 
199: <tr class="empty-row">
200: 	<td class="pinned-col">&nbsp;</td>
201: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
202: </tr>
203: 
204: #if ($monthsPlayed and $monthsPlayed.size() > 0)
205:   #foreach($month in $monthsPlayed)
206:     #if ($month == 'January')
207:       #set ($splitMonth = $splits.january)
208:     #elseif ($month == 'February')
209:       #set ($splitMonth = $splits.february)
210:     #elseif ($month == 'March')
211:       #set($splitMonth = $splits.march)
212:     #elseif ($month == 'April')
213:       #set($splitMonth = $splits.april)
214:     #elseif ($month == 'May')
215:       #set ($splitMonth = $splits.may)
216:     #elseif ($month == 'June')
217:       #set ($splitMonth = $splits.june)
218:     #elseif ($month == 'July')
219:       #set($splitMonth = $splits.july)
220:     #elseif ($month == 'August')
221:       #set ($splitMonth = $splits.august)
222:     #elseif ($month == 'September')
223:       #set($splitMonth = $splits.september)
224:     #elseif ($month == 'October')
225:       #set($splitMonth = $splits.october)
226:     #elseif ($month == 'November')
227:       #set ($splitMonth = $splits.november)
228:     #elseif ($month == 'December')
229:       #set($splitMonth = $splits.december)
230:     #end
231:     
232:     #split($statPosBriefs, $month, $splitMonth)
233:   #end ## foreach
234: #end
235: </table>
236: </div>
237: </div> ## scrollable
238: </div> ## srollable-table
239: 
240: #end ## macro splitsData
241: 
242: #macro (printRecentGames)
243: <table>
244:     <tr class="thead accent-bg"><th colspan="3" class="text">Recent Games</th></tr>
245: 
246:     #set ($eventEnd = -1)
247:     #foreach ($event in $events)
248:     #if ($event.event.result.resolved)
249:     #set ($eventEnd = $velocityCount)
250:     #end
251:     #end
252: 
253:     #set ($eventStart = $eventEnd - 5)
254:     #if ($eventStart < 0) #set ($eventStart = 0) #end
255: 
256:     #foreach ($event in $events)
257:     #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
258:     <tr>
259:         <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
260:         <td class="text">
261:             #if ($event.event.neutralSite.length() > 0) vs.
262:             #elseif (!$event.event.home) at
263:             #else ## nothing for a home game
264:             #end
265:             $event.event.opponent.name
266:         </td>
267:         <td class="text">
268:             #if ($event.event.statusCode >= 0)
269:             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
270:                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
271:             #else
272:             ${event.event.APResult}
273:             #end
274:             #end
275:         </td>
276:     </tr>
277:     #end ## if
278:     #end
279: </table>
280: #end ## macro printRecentGames
281: 
282: #macro (gamelogData $p)
283: 
284: #set ($p = $positions.get($p))
285: #set ($gamelogs = $gamelogs.get($p))
286: #set ($atLeastOneNotOverall = false)
287: 
288: <div class="stats-box full clearfix">
289:     <div class="scrollable">
290:         <div>
291:             <table>
292:               <tr class="thead accent-bg">
293:                   <th class="text">Date</th>
294:                   <th class="pinned-col text">Opponent</th>
295:                   <th>Score</th>
296: 				  #set ($colspan = 3)
297:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
298: 					#set ($colspan = $colspan + 1)
299: 					<th>Dec</th>
300:                   #end
301:                   #foreach ($gamelog in $gamelogs)
302: 					#set ($colspan = $colspan + 1)
303: 					<th>$gamelog</th>
304:                   #end
305:               </tr>
306:               #foreach ($event in $events)
307:               <tr>
308:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d") #if (!$event.event.overall) #set ($atLeastOneNotOverall = true) # #end</</td>
309:                   <td class="pinned-col text">
310:                       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
311:                       $event.event.opponent.name
312:                   </td>
313:                   <td>
314:                       #if ($event.event.statusCode >= 0)
315:                       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
316:                           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
317:                       #else
318:                       ${event.event.APResult}
319:                       #end
320:                       #else &nbsp; #end
321:                   </td>
322:                   #if ($p == 'goalie' && ($sport.enumCode == 9 || $sport.enumCode == 3)) ## field hockey: 9   soccer:3
323:                       #if ($event.stats.get('gow') == 1)
324:                           <td>W</td>
325:                       #elseif ($event.stats.get('gol') == 1)
326:                           <td>L</td>
327:                       #elseif ($event.stats.get('got') == 1)
328:                           <td>T</td>
329:                       #else
330:                           <td>-</td>
331:                       #end
332:                   #end
333:                   #foreach ($gamelog in $gamelogs.keySet())
334:                   #set ($value = "-")
335:                   #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
336:                   <td>$value</td>
337:                   #end
338:               </tr>
339:               #end
340:               #if ($atLeastOneNotOverall)
341:                 <tr><td colspan="$colspan"># Stats don't count towards season totals</td></tr>
342:               #end
343:             </table>
344:         </div>
345:     </div> ## scrollable
346: </div> ## stats-box
347: 
348: #end ## macro gamelogData
349: 
350: #macro (split $statPosBriefs $label $stats)
351:   <tr>
352:     <td class="pinned-col text">${label}</td>
353:     #foreach ($brief in $statPosBriefs.keySet())
354:       #set ($value = "-")
355:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
356:       <td>#if ($value.length() > 0) $value #else - #end</td>
357:     #end
358:   </tr>
359: #end
360: 
361: #macro (careerData $p)
362: #set ($p = $positions.get($p))
363: #set ($statPosBriefs = $briefs.get($p))
364: 
365: <div class="stats-box full clearfix">
366: <div class="scrollable">
367: <div>
368: <table>
369: <tr class="thead accent-bg">
370:   <th class="pinned-col">&nbsp;</th>
371:   #foreach ($brief in $statPosBriefs)
372:     <th>$brief</th>
373:   #end
374: </tr>
375: 
376: #foreach ($season in $seasons)
377:   #if ($careerMap.get($season.seasonName))
378:     #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
379:     #split($statPosBriefs, $label, $careerMap[$season.seasonName])
380:   #elseif ($wiki.valid())
381:     <tr>
382:       <td class="pinned-col text">${season.seasonName}</td>
383:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
384:     </tr>
385:   #end
386: #end
387: 
388: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
389: 
390: </table>
391: </div>
392: </div> ## scrollable
393: </div> ## stats-box
394: 
395: #end ## macro careerData
396: 
397: ################################################## END MACROS  #############################################################
398: 
399: <head>
400: <title>
401:     $!attributes.get("first_name") $!attributes.get("last_name") | #if ($attributes.get("number"))#$!attributes.get("number") | #end #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)$!attributes.get("position_abbr") | #elseif ($attributes.get("position"))$!attributes.get("position") | #end  $attributes.get("team")
402: </title>
403: </head>
404: 
405: <div class="bio-wrap bio-wrap-network clearfix" data-module="stats/responsive-container">
406: 
407:     #if ($page.title.length() > 0)
408:     <h1>$page.title</h1>
409:     #end
410: 
411:     <h2 class="player-name">
412:         <span>$!attributes.get("first_name") $!attributes.get("last_name")</span>
413:         #if (!$attributes.get("number").empty)<span>#$!attributes.get("number")</span>#end
414:         #if($attributes.get("position_abbr") && !$attributes.get("position_abbr").empty)
415: 			<span>$!attributes.get("position_abbr")</span>
416: 		#elseif ($attributes.get("position"))
417: 			<span>$!attributes.get("position")</span>
418: 		#end 
419:         <a href="../teams?id=$!{attributes.get("teamId")}" aria-label="Team Stats - ${attributes.get("team")}">$attributes.get("team")</a>
420:     </h2>
421: 	
422:     #printHighlights
423: 
424:     <div class="body clearfix">
425:         <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
426:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
427:                 <div>
428:                     <ul class="clearfix">
429:                         <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile" role="tab" id="stats-tab-player-profile">Player Profile</a></li>
430:                         <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog" role="tab" id="stats-tab-game-log">Game Log</a></li>
431:                         #if ($showCareer)
432:                         <li #if ($view == "career")class="active"#end><a href="${page.url}?view=career" role="tab" id="stats-tab-career-stats">Career Stats</a></li>
433:                         #end
434:                         <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits" role="tab" id="stats-tab-split-stats">Split Stats</a></li>
435:                     </ul>
436:                 </div>
437:             </div> ## tab-nav
438: 
439:             <div class="tab-panels clearfix">
440: 
441:                 ## PROFILE
442:                 #set ($class = "tab-panel clearfix")
443:                 #if ($view == "profile")
444:                 #set ($class = "tab-panel active clearfix")
445:                 #end
446:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-player-profile">
447: 
448:                     ## Player profile
449:                     <div class="clearfix stats-wrap">
450: 
451:                         ## LAST SIX GAMES
452:                         <div class="stats-box half">
453:                             #printRecentGames()
454:                         </div>
455: 
456:                         ## RANKING
457:                         <div class="stats-box half">
458:                             $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
459:                         </div>
460: 
461:                     </div> ## clearfix
462: 
463:                     #if ($hasSynopsis)
464:                     <div class="clearfix">$!synopsis</div>
465:                     #end
466: 
467:                     #if ($hasBioBrief)
468:                     <div class="clearfix">$website.include($htmlStatsURL)</div>
469:                     #end
470: 
471:                     #if ($htmlStatsURL)
472:                     <div class="clearfix">$website.include($bioBriefURL)</div>
473:                     #end
474: 
475:                 </div>
476:                 ## PROFILE
477: 
478:                 ## GAMELOG
479:                 #set ($class = "tab-panel clearfix")
480:                 #if ($view == "gamelog")
481:                 #set ($class = "tab-panel active clearfix")
482:                 #end
483: 
484:                 #set ($activePos = $statPos)
485:                 #if ($view == "gamelog" && $paramPos.length() > 0)
486:                   #if ($positions.get($paramPos).length() > 0)
487:                     #set ($activePos = $positions.get($paramPos))
488:                   #end
489:                 #end
490: 
491:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log">
492: 
493:                     #if ($gamelogsCategoriesLabels)
494:                     <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
495:                         <div class="tab-nav" data-module="jscroll" data-momentum="false">
496:                             <div>
497:                                 <ul class="clearfix">
498:                                     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
499:                                       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
500: 
501:                                   #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
502:                       #set($gamelogsCatLabelVal = "Defence")
503:                     #end
504: 
505:                     <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end>
506:                       <a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="tab" id="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a>
507:                     </li>
508:                                     #end
509:                                 </ul>
510:                             </div>
511:                         </div>
512:                         <div class="tab-panels">
513:                 #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
514: 					#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
515:                 #set ($class = "tab-panel clearfix")
516:                 #if ($gamelogsCatLabel.key == $activePos)
517:                   #set ($class = "tab-panel active clearfix")
518:                 #end
519:                 <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-game-log-${gamelogsCatLabelVal.toLowerCase()}">
520:                   <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
521:                 </div>
522:               #end
523:                         </div>
524:                     </div>
525:                     #else
526:                       <div class="stats-wrap clearfix">#gamelogData($pos)</div>
527:                     #end
528: 
529:                 </div> ## tab-panel
530:                 ## GAMELOG
531: 
532:         ## CAREER
533:         #if ($showCareer)
534: 
535:         #set ($activePos = $statPos)
536:         #if ($view == "career" && $paramPos.length() > 0)
537:           #if ($positions.get($paramPos).length() > 0)
538:           #set ($activePos = $positions.get($paramPos))
539:           #end
540:         #end
541: 
542:         #set ($class = "tab-panel clearfix")
543:         #if ($view == "career")
544:           #set ($class = "tab-panel active clearfix")
545:         #end
546: 
547:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-career-stats">
548: 
549:         #if ($briefsCategoriesLabels)
550:           #printCategories($briefsCategoriesLabels "career" "Career Stats")
551:         #else
552:           <div class="stats-wrap clearfix">#careerData($activePos)</div>
553:         #end    
554: 
555:         </div> ## tab-panel
556:         #end ## CAREER
557:         
558:         ## SPLITS
559:         #set ($class = "tab-panel clearfix")
560:         #if ($view == "splits")
561:           #set ($class = "tab-panel active clearfix")
562:         #end
563: 
564:         #set ($activePos = $statPos)
565:         #if ($view == "splits" && $paramPos.length() > 0)
566:           #if ($positions.get($paramPos).length() > 0)
567:           #set ($activePos = $positions.get($paramPos))
568:           #end
569:         #end
570: 
571:         <div class="${class}" role="tabpanel" aria-labelledby="stats-tab-split-stats">
572: 
573:         #if ($briefsCategoriesLabels)
574:           #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
575:         #else
576:           <div class="stats-wrap clearfix">#splitsData($pos)</div>
577:         #end    
578: 
579:         </div> ## tab-panel
580:         ## SPLITS
581:         
582:             </div> ##tab-panels
583: 
584:         </div> ## tab-container
585:     </div> ## body
586: 
587: 
588: </div> ## bio-wrapper
589: $wiki.su