32 Aubrey Ashenfelter
32 Aubrey Ashenfelter
Height: 6-0
Year: Sr.
Hometown: Portland, Ore.
High School: Southridge HS '10
Position: G
Experience: 3L
gp 29
pts/g 9.2
fg % 38.0
3pt % 31.1
ft % 72.6
reb/g 4.9
a/g 3.0

2013-14 Big Sky All-Academic Team
2012-13 Big Sky All-Academic Team

2011-12 Big Sky All-Academic Team
2010-11 Big Sky All-Academic Team

Career: Leaves Eastern atop the career games played list with 122 appearances in an EWU uniform ... Made 94 career starts, including starts in her final 63 appearances ... Only player in program history with 800 career points, 400 career rebounds, 200 career assists and 100 career steals ... Helped Eastern reach the Big Sky Tournament in each of her four seasons while leading the team to its second-ever appearance in the WNIT in 2012-13 ... Tied for fifth all-time in school history with 167 assists and ranks 10th all-time in assists (245), 13th in blocked shots (58) and 19th in rebounds (445) ... Her 90 made three-pointers rank 11th all-time while her three-point percentage of .333 is good for 14th ... Recorded 809 career points, good for 26th all-time ... Four-time Big Sky All-Academic selection. 

2013-14: Started all 29 games in which she appeared during her final season at EWU, averaging 27.2 minutes per game ... Ranked in the top four on the team in points (4th; 9.2), rebounds (2nd; 4.9), assists (2nd; 3.0), steals (1st; 1.8) and blocks (2nd; 0.8) ... Steals average ranked eighth in the Big Sky ... Made 38 percent of her shots from the field and shot 31.1 percent from three-point range and 72.6 percent from the free throw line ... Tied for the team lead in steals (53) and blocks (23) while dishing out 86 assists ... Tallied three double-doubles on the year, tied for most on the team ... Went for six points, six assists and five rebounds while burying a pair of three-pointers against SMU (Nov. 16) ... Notched six points, five rebounds and four steals against nationally-ranked Gonzaga (Nov. 20) ... Had a 20-point, 10-assist performance against Idaho (Dec. 14), burying the game-winning shot while also pulling down seven boards ... Earned co-Big Sky Player of the Week honors for her performance against the Vandals ... Went 4-of-8 against Boise State (Dec. 20), registering 12 points to go along with four assists ... Tallied six points, eight rebounds and five assists versus Weber State (Jan. 2) ... Dished out seven assists without committing a turnover against Idaho State (Jan. 4), adding six points ... Went 6-of-8 from the free throw line against Montana State (Jan. 11), finishing with 13 points and six rebounds ... Notched 11 points on 4-of-7 shooting to go along with seven rebounds and three steals against Northern Arizona (Jan. 16) ... Hit all four free throws and finished with 10 points against league champion North Dakota (Jan. 30) ... Scored 16 points on 5-of-6 shooting while pulling down 11 rebounds for her second double-double of the year against Montana State (Feb. 6) ... Tallied 14 points and 10 rebounds in Eastern's win at Sacramento State (Feb. 13) before registering 13 points and six boards at Northern Arizona (Feb. 15) ... Nearly recorded a fourth double-double after recording 11 points and nine rebounds against Portland State (Feb. 24) ... Scored the winning basket against the Vikings on Feb. 24, blocking a shot before recovering the loose ball and racing down the court to lay the ball up with one second left ... Shot 5-of-9 and made all six of her free throws against Northern Colorado (Feb. 27), finishing with 16 points, four rebounds and four assists ... Led the team with 17 points in a Big Sky quarterfinal loss to Idaho State (Mar. 13).

2012-13: Played in and started all 32 of Eastern’s games in her third year with the program, averaging 28.9 minutes per game ... Ranked third on the team in scoring with an average of 8.0 points per game ... Finished sixth in the Big Sky in three-point field goal percentage, connecting on 37.6 percent of her shots from long range (32-85) ... Upped her three-point percentage to 38.9 percent in Big Sky contests ... Totaled the second-most assists on the squad, finishing the year with 77 helpers, a mark that ranked 15th in the league ... Ranked third on the team in rebounding, grabbing an average of 4.5 boards per game ... Scored eight points and grabbed five rebounds against Cal State Northridge (Nov. 15) ... Notched her first career double-double in EWU’s 68-50 win over Portland (Nov. 18), tallying 11 points and 10 rebounds ... Went for 12 points and added four assists and two steals versus NCAA Final Four participant California (Nov. 23) ... Had nine points and hit a pair of triples against Cal State Fullerton (Nov. 24) ... Scored 13 points and added four assists versus cross-town rival Gonzaga (Dec. 4) before notching 16 points on 6-of-11 shooting in Eastern’s win over Boise State (Dec. 7) ... Recorded a career-best 18 points in the Eagles’ win over Weber State (Dec. 20), making four of six threes and hitting all six free throw attempts ... Scored eight points and added five rebounds and three assists in EWU’s win over Montana (Jan. 3) ... Registered seven points and nine boards against Sacramento State (Jan. 12) ... Contributed nine points, four rebounds and a pair of steals in the Eagles’ victory over Southern Utah (Jan. 26) before recording 11 points and five rebounds in EWU’s defeat of Montana State (Jan. 31) ... Scored 15 points on 6-of-7 shooting versus Northern Colorado (Feb. 28), then totaled 10 points and nine boards in Eastern’s overtime win over Idaho State (Mar. 7) ... Scored 12 points and grabbed six rebounds in the Eagles’ defeat of Montana State in the opening round of the Big Sky Tournament (Mar. 13) ... Notched a career-high 13 boards in EWU’s double-overtime loss to Washington in the opening round of the WNIT (Mar. 22) ... Earned Big Sky All-Academic honors for the third consecutive season.

2011-12: Named to the Big Sky All-Academic team for the second year in a row ... A consistent role player for EWU, Ashenfelter started 29 of 30 games in her sophomore campaign, averaging 22.6 minutes per game ... She was the fourth-leading scorer on the team, averaging 6.3 points per game and was also fourth in 3-pointers made with 22 ... She averaged 1.3 assists and 1.6 steals throughout the season, with a career-high four steals in three different games ... She posted a career-high and team-leading 20 points in Eastern’s second game of the year against Hofstra (Nov. 13) ... She was 7-of-12 from the floor in that contest with two 3-pointers ... She had back-to-back 13-point games against Sac State (Feb. 4) and Weber State (Feb. 9) - both of which were overwhelming wins for EWU ... Also had a career-high six rebounds and four steals in the victory against Weber State.                     

2010-11: The only true freshman to play in all 31 games of the 2010-11 season, which included four starts ... Was also the only EWU freshman named to the Big Sky All-Academic team ... Played primarily at the point, averaging 16.3 minutes, 3.2 points, 1.9 rebounds and 1.4 assists per game ... Knocked down 13 three-pointers during her rookie campaign, including three games with two or more ... Had two double-digit scoring efforts, including a season-high 12 points against Northern Colorado (Feb. 3) ... Had 11 points, three assists, three rebounds and three steals against Idaho State (Feb. 5).

High School: 2010 graduate of Southridge High School ... Earned All-Metro League second-team honors as a junior and honorable mention accolades as a sophomore ... Named to the End of Oregon Trail All-Tournament team in 2009, as well as the End of Oregon Trail All-Star Division All-Tournament team ... Recognized as an All-Metro League scholar athlete and was on the honor roll at Southridge all four years of high school.

Personal: Daughter of Craig and Christine Ashenfelter ... Majoring in psychology.


Ashenfelter's Career Statistics

        Total 3-Point F-Throws Rebounds                
YEAR GP-GS MIN AVG FG FGA PCT FG FGA PCT FT FTA PCT OFF DEF TOT AVG PF FO AST TO BLK STL PTS AVG
2010-11 31-4 504 16.3 35 103 .340 13 37 .351 15 27 .556 10 49 59 1.9 35 0 44 47 5 21 98 3.2
2011-12 30-29 678 22.6 70 209 .335 22 74 .297 27 41 .659 20 80 100 3.3 44 0 38 68 7 47 189 6.3
2012-13 32-32 924 28.9 95 251 .378 32 85 .376 34 48 .708 31 112 143 4.5 84 2 77 83 23 46 256 8.0
2013-14 29-29 788 27.2 87 229 .380 23 74 .311 69 95 .726 42 101 143 4.9 92 4 86 67 23 53 266 9.2
TOTAL 122-94 2894 23.7 287 792 .362 90 270 .333 145 211 .687 103 342 445 3.6 255 6 245 265 58 167 809 6.6
                                                 

Ashenfelter's Career Highs

Points: 20, 2x, last vs. Idaho (Dec. 14, 2013)                              
Rebounds: 13 at Washington (Mar. 22, 2013)                              
Assists: 10 vs. Idaho (Dec. 14, 2013)                              
Steals: 5, 2x, last vs. Northern Arizona (Feb. 9, 2013)                              
Blocks: 3, 3x, last at Portland State (Feb. 24, 2014)                              
FG Made: 7, 2x, last vs. Idaho (Dec. 14, 2013)                              
FG Attempts: 15 vs. Idaho (Dec. 14, 2013)                              
3FG Made: 4 at Weber State (Dec. 20, 2012)                              
3FG Attempts: 7 vs. Idaho (Dec. 14, 2013)                              
FT Made: 6, 5x, last vs. Northern Colorado (Feb. 27, 2014)                              
FT Attempts: 8, 4x, last at Northern Arizona (Feb. 15, 2014)                              
Recent Games
Feb 24 at Portland St. W, 61-60
Feb 27 Northern Colo. W, 67-61
Mar 1 North Dakota L, 61-57
Mar 6 at Idaho St. L, 86-62
Mar 8 at Weber St. W, 68-60
Mar 13 vs. Idaho St. L, 70-65
Statistics category Overall Conf
Games 29 20
Games started 29 20
Minutes 788 564
Minutes per game 27.2 28.2
FG 87-229 58-151
FG Pct 38.0 38.4
3PT 23-74 11-43
3PT Pct 31.1 25.6
FT 69-95 59-81
FT Pct 72.6 72.8
Off rebounds 42 27
Def rebounds 101 76
Total rebounds 143 103
Rebounds per game 4.9 5.2
Personal fouls 92 67
Disqualifications 4 3
Assists 86 50
Turnovers 67 48
Assist to turnover ratio 1.3 1.0
Steals 53 33
Blocks 23 18
Points 266 186
Points per game 9.2 9.3
Points per 40 min 13.5 13.2
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 1 Master's College W, 87-74 1 23 8-12 66.7 1-2 50.0 6-7 85.7 23
Nov 8 at Portland L, 68-65 1 26 2-6 33.3 1-2 50.0 0-2 0.0 5
Nov 16 SMU L, 75-70 1 20 2-6 33.3 2-4 50.0 0-1 0.0 6
Nov 20 at Gonzaga L, 78-58 1 29 3-10 30.0 0-1 0.0 0-0 - 6
Nov 29 vs. Iowa St. L, 88-60 1 9 1-4 25.0 0-2 0.0 0-0 - 2
Nov 30 vs. Butler L, 74-51 - - - - - - - - -
Dec 6 Cal State Northridge W, 73-53 1 24 2-8 25.0 0-2 0.0 0-0 - 4
Dec 14 Idaho W, 85-84 1 32 7-15 46.7 3-7 42.9 3-3 100.0 20
Dec 17 Northwest (Wash) W, 90-48 1 19 2-5 40.0 2-3 66.7 2-2 100.0 8
Dec 20 Boise St. W, 81-66 1 28 4-8 50.0 2-3 66.7 2-2 100.0 12
Dec 29 Portland St. L, 86-74 1 26 4-9 44.4 0-2 0.0 1-2 50.0 9
Jan 2 Weber St. W, 78-67 1 23 1-5 20.0 0-2 0.0 4-4 100.0 6
Jan 4 Idaho St. W, 67-55 1 32 3-11 27.3 0-3 0.0 0-0 - 6
Jan 9 at Montana L, 81-64 1 18 1-8 12.5 0-2 0.0 3-5 60.0 5
Jan 11 at Montana St. L, 78-74 1 23 3-9 33.3 1-1 100.0 6-8 75.0 13
Jan 16 Northern Ariz. W, 92-68 1 32 4-7 57.1 2-2 100.0 1-2 50.0 11
Jan 18 Sacramento St. W, 78-65 1 28 3-7 42.9 0-0 - 0-3 0.0 6
Jan 25 at Southern Utah L, 62-61 1 19 1-3 33.3 0-1 0.0 2-2 100.0 4
Jan 30 at North Dakota L, 82-60 1 26 3-8 37.5 0-1 0.0 4-4 100.0 10
Feb 1 at Northern Colo. W, 52-51 1 21 3-5 60.0 2-2 100.0 1-2 50.0 9
Feb 6 Montana St. W, 81-66 1 31 5-6 83.3 1-2 50.0 5-7 71.4 16
Feb 8 Montana W, 71-61 1 32 4-13 30.8 2-5 40.0 3-4 75.0 13
Feb 13 at Sacramento St. W, 79-73 1 26 4-6 66.7 0-0 - 6-8 75.0 14
Feb 15 at Northern Ariz. L, 86-78 1 32 3-5 60.0 1-2 50.0 6-8 75.0 13
Feb 20 Southern Utah W, 59-54 1 32 1-5 20.0 1-4 25.0 5-6 83.3 8
Feb 24 at Portland St. W, 61-60 1 38 5-12 41.7 1-5 20.0 0-2 0.0 11
Feb 27 Northern Colo. W, 67-61 1 37 5-9 55.6 0-2 0.0 6-6 100.0 16
Mar 1 North Dakota L, 61-57 1 28 0-6 0.0 0-3 0.0 0-0 - 0
Mar 6 at Idaho St. L, 86-62 1 27 2-8 25.0 0-2 0.0 1-3 33.3 5
Mar 8 at Weber St. W, 68-60 1 33 3-9 33.3 0-2 0.0 5-5 100.0 11
Mar 13 vs. Idaho St. L, 70-65 1 37 6-16 37.5 2-7 28.6 3-4 75.0 17
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 1 Master's College W, 87-74 1 23 1 6 7 0 3 0.0 0 0 3 0
Nov 8 at Portland L, 68-65 1 26 3 1 4 5 1 5.0 1 0 3 0
Nov 16 SMU L, 75-70 1 20 2 3 5 6 4 1.5 2 0 5 1
Nov 20 at Gonzaga L, 78-58 1 29 2 3 5 2 3 0.7 4 0 4 0
Nov 29 vs. Iowa St. L, 88-60 1 9 0 1 1 0 1 0.0 2 0 1 0
Nov 30 vs. Butler L, 74-51 - - - - - - - - - - - -
Dec 6 Cal State Northridge W, 73-53 1 24 0 6 6 2 2 1.0 2 1 3 0
Dec 14 Idaho W, 85-84 1 32 4 3 7 10 3 3.3 3 2 3 0
Dec 17 Northwest (Wash) W, 90-48 1 19 2 4 6 3 1 3.0 2 0 0 0
Dec 20 Boise St. W, 81-66 1 28 0 3 3 4 3 1.3 2 1 2 0
Dec 29 Portland St. L, 86-74 1 26 2 1 3 2 0 - 2 3 5 1
Jan 2 Weber St. W, 78-67 1 23 3 5 8 5 1 5.0 0 2 2 0
Jan 4 Idaho St. W, 67-55 1 32 0 2 2 7 0 - 0 0 3 0
Jan 9 at Montana L, 81-64 1 18 0 1 1 3 1 3.0 0 0 4 0
Jan 11 at Montana St. L, 78-74 1 23 1 5 6 1 1 1.0 1 0 3 0
Jan 16 Northern Ariz. W, 92-68 1 32 2 5 7 3 1 3.0 3 1 3 0
Jan 18 Sacramento St. W, 78-65 1 28 1 4 5 5 4 1.3 4 1 3 0
Jan 25 at Southern Utah L, 62-61 1 19 1 2 3 0 4 0.0 2 0 4 0
Jan 30 at North Dakota L, 82-60 1 26 0 3 3 1 3 0.3 3 0 3 -
Feb 1 at Northern Colo. W, 52-51 1 21 2 0 2 1 1 1.0 1 0 4 -
Feb 6 Montana St. W, 81-66 1 31 3 8 11 5 6 0.8 1 2 5 1
Feb 8 Montana W, 71-61 1 32 3 4 7 2 0 - 1 0 4 -
Feb 13 at Sacramento St. W, 79-73 1 26 0 10 10 4 9 0.4 2 0 4 -
Feb 15 at Northern Ariz. L, 86-78 1 32 1 5 6 0 3 0.0 2 0 5 1
Feb 20 Southern Utah W, 59-54 1 32 0 1 1 1 6 0.2 1 2 3 -
Feb 24 at Portland St. W, 61-60 1 38 3 6 9 2 1 2.0 2 3 1 -
Feb 27 Northern Colo. W, 67-61 1 37 0 4 4 4 1 4.0 1 2 1 -
Mar 1 North Dakota L, 61-57 1 28 2 2 4 2 2 1.0 0 2 3 -
Mar 6 at Idaho St. L, 86-62 1 27 0 2 2 0 2 0.0 4 0 3 -
Mar 8 at Weber St. W, 68-60 1 33 3 6 9 2 2 1.0 3 0 4 -
Mar 13 vs. Idaho St. L, 70-65 1 37 2 1 3 4 1 4.0 2 1 4 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 4 got 3 at bio-template[line 178, column 5]
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: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #end
74: 
75: #if ($options.get("bio_default_view").length() > 0)
76:   #set ($checkView = $options.get("bio_default_view"))
77: #end
78: 
79: #if ($request.getParameter("view"))
80:   #set ($checkView = $request.getParameter("view"))
81: #end
82: 
83: #if ($checkView == "profile" && $statsURL.length() > 0)
84:   #set ($view = "profile")
85: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
86:   #set ($view = "bio")
87: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
88:   #set ($view = "gamelog")
89: #elseif ($checkView == "career" && $showCareer)
90:   #set ($view = "career")
91: #elseif ($checkView == "splits" && $statsURL.length() > 0)
92:   #set ($view = "splits")
93: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
94:   #set ($view = "htmlstats")
95: #end
96: 
97: #macro (gamelogData $p)
98: 
99: #set ($p = $positions.get($p))
100: #set ($gamelogs = $gamelogs.get($p))
101: 	
102: #if ($hasEvents)
103: <div class="stats-box full clearfix">
104: <div class="scrollable">
105: <div>
106: <table>
107:   <tr class="thead">
108:     <th class="text">Date</th>
109:     <th class="pinned-col text">Opponent</th>
110:     <th>Score</th>
111:     #foreach ($gamelog in $gamelogs)
112:       <th>$gamelog</th>
113:     #end
114:   </tr>
115: #foreach ($event in $events)
116:   <tr>
117:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
118:     <td class="pinned-col text">
119:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
120:       $event.event.opponent.name
121:     </td>
122:     <td>
123:     #if ($event.event.statusCode >= 0)
124:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
125:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
126:       #else
127:       ${event.event.APResult}
128:       #end
129:     #else &nbsp; #end
130:     </td>
131:     #foreach ($gamelog in $gamelogs.keySet())
132:       #set ($value = "-")
133:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
134:       <td>$value</td>
135:     #end
136:   </tr>
137: #end
138: </table>
139: </div>
140: </div> ## scrollable
141: </div> ## stats-box
142: #end
143: 
144: #end ## macro gamelogData
145: 
146: #macro (split $statPosBriefs $label $stats)
147:   <tr>
148:     <td class="pinned-col text">${label}</td>
149:     #foreach ($brief in $statPosBriefs.keySet())
150:       #set ($value = "-")
151:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
152:       <td>#if ($value.length() > 0) $value #else - #end</td>
153:     #end
154:   </tr>
155: #end
156: 
157: #macro (careerData $p)
158: #set ($p = $positions.get($p))
159: #set ($statPosBriefs = $briefs.get($p))
160: 
161: <div class="stats-box full clearfix">
162: <div class="scrollable">
163: <div>
164: <table>
165: <tr class="thead">
166:   <th class="pinned-col">&nbsp;</th>
167:   #foreach ($brief in $statPosBriefs)
168:     <th>$brief</th>
169:   #end
170: </tr>
171: 
172: #set ($careerTotals = $request.getAttribute("careerTotals"))
173: #set ($careerMap = $request.getAttribute("careerMap"))
174: 
175: #foreach ($season in $seasons)
176:   ## Check if we did not get stats for this season
177:   #if ($careerMap.get($season.seasonName))
178:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
179:   #elseif ($wiki.valid())
180:     <tr>
181:       <td class="text">${season.seasonName}</td>
182:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
183:     </tr>
184:   #end
185: #end
186: 
187: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
188: 
189: </table>
190: </div>
191: </div> ## scrollable
192: </div> ## stats-box
193: 
194: #end ## macro careerData
195: 
196: #macro (splitsData $p)
197: 
198: #set ($p = $positions.get($p))
199: #set ($statPosBriefs = $briefs.get($p))
200: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))	
201: 	
202: #if ($statPosBriefs.size() > 0)
203: <div class="stats-box full clearfix">
204: <div class="scrollable">
205: <div>
206: <table>
207:   <tr>
208:     <th class="pinned-col">&nbsp;</th>
209:     #foreach ($brief in $statPosBriefs)
210:       <th>$brief</th>
211:     #end
212:   </tr>
213: 
214: #split($statPosBriefs, "Total", $splits.overall)
215: #split($statPosBriefs, "Conference", $splits.conference)
216: #split($statPosBriefs, "Exhibition", $splits.exhibition)
217: 
218: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
219: 
220: #split($statPosBriefs, "Home", $splits.home)
221: #split($statPosBriefs, "Away", $splits.away)
222: #split($statPosBriefs, "Neutral", $splits.neutral)
223: 
224: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
225: 
226: #foreach($gameResult in $gamesResults.entrySet())
227:   #if ($gameResult.key == "wins")
228:     #set ($splitGameResult = $splits.inWins)
229:   #elseif ($gameResult.key == "losses")
230:     #set ($splitGameResult = $splits.inLosses)
231:   #elseif ($gameResult.key == "ties")
232:     #set ($splitGameResult = $splits.inTies)
233:   #end
234: 	
235:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
236: #end
237: 
238: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
239: 
240: #if ($monthsPlayed and $monthsPlayed.size() > 0)
241:   #foreach($month in $monthsPlayed)
242:     #if ($month == 'January')
243:       #set ($splitMonth = $splits.january)
244:     #elseif ($month == 'February')
245:       #set ($splitMonth = $splits.february)
246:     #elseif ($month == 'March')
247:       #set($splitMonth = $splits.march)
248:     #elseif ($month == 'April')
249:       #set($splitMonth = $splits.april)
250:     #elseif ($month == 'May')
251:       #set ($splitMonth = $splits.may)
252:     #elseif ($month == 'June')
253:       #set ($splitMonth = $splits.june)
254:     #elseif ($month == 'July')
255:       #set($splitMonth = $splits.july)
256:     #elseif ($month == 'August')
257:       #set ($splitMonth = $splits.august)
258:     #elseif ($month == 'September')
259:       #set($splitMonth = $splits.september)
260:     #elseif ($month == 'October')
261:       #set($splitMonth = $splits.october)
262:     #elseif ($month == 'November')
263:       #set ($splitMonth = $splits.november)
264:     #elseif ($month == 'December')
265:       #set($splitMonth = $splits.december)
266:     #end
267: 		
268:     #split($statPosBriefs, $month, $splitMonth)
269:   #end ## foreach
270: #end
271: </table>
272: </div>
273: </div> ## scrollable
274: </div> ## srollable-table
275: #end
276: 
277: #end ## macro splitsData
278: 
279: #macro (printRecentGames)
280: #if ($hasEvents)
281: <table>
282:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
283:   
284: #set ($eventEnd = -1)
285: #foreach ($event in $events)
286:   #if ($event.event.result.resolved)
287:     #set ($eventEnd = $velocityCount)
288:   #end
289: #end
290: 
291: #set ($eventStart = $eventEnd - 5)
292: #if ($eventStart < 0) #set ($eventStart = 0) #end
293: 
294: #foreach ($event in $events)
295: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
296:   <tr>
297:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
298:     <td class="text">
299:       #if ($event.event.neutralSite.length() > 0) vs.
300:       #elseif (!$event.event.home) at
301:       #else ## nothing for a home game
302:       #end
303:       $event.event.opponent.name
304:     </td>
305:     <td class="text">
306:     #if ($event.event.statusCode >= 0)
307:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
308:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
309:       #else
310:       ${event.event.APResult}
311:       #end
312: 	#end
313: 	</td>
314:   </tr>
315: #end ## if
316: #end
317: </table>
318: #end
319: #end ## macro printRecentGames
320: 
321: #macro (printCategories $briefCategoryLabels $v)
322: 	
323: <div class="tab-container secondary clearfix">
324: <div class="tab-nav" data-jscroll="true" data-momentum="false">
325: <div>
326: <ul class="clearfix">
327: #foreach($briefCat in $briefCategoryLabels.entrySet())
328:   #set ($briefCatLabel = $briefCat.value)
329:   #set ($briefCatKey = $briefCat.key)
330: 		
331:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
332:     #set ($briefCatLabel = "Defence")
333:   #end	
334: 	
335:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
336: #end
337: </ul>
338: </div>
339: </div>
340: <div class="tab-panels">
341: #foreach ($briefCat in $briefCategoryLabels.entrySet())
342:   #set ($class = "tab-panel clearfix")
343:   #if ($briefCat.key == $activePos)
344:     #set ($class = "tab-panel active clearfix")
345:   #end
346:   <div class="$class">
347:     <div class="stats-wrap clearfix">
348:     #if ($v == "splits")
349:       #splitsData($briefCat.key)
350:     #elseif ($v == "career")
351:       #careerData($briefCat.key)
352:     #end
353:     </div>
354:   </div>
355: #end	
356: </div>
357: </div> ## tab-container
358: 
359: #end ## macro printCategories
360: 	
361: #macro (printHeadshot)
362: 
363: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
364: 
365: #if ($headshot.url)
366:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
367: #else
368:   #if ($website.exists("/images/setup/headshot_default.jpg"))
369:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
370:   #else
371:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
372:   #end
373: #end
374: #end ## macro printHeadshot
375: 	
376: #macro (printBioInfo)
377: <div class="player-name">
378:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
379:   <span class="name">$fullName</span>
380: </div>	
381: 	
382: <table>
383: #foreach ($i in [1..10])
384:   #set ($stickyKey = "bio_custom${i}_sticky")
385:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
386:     <tr>
387:       <td class="label">$options.get($stickyKey): </td>
388:       <td class="value">$!attributes.get("custom${i}")</td>
389:     </tr>
390:   #end
391: #end
392: 
393: #foreach ($field in $fields)
394:   #if (!$field.key.startsWith("custom"))
395:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
396:       #if ($field.key == "phone1" || $field.key == "phone2")
397:         <tr>
398:           <td class="label">Phone: </td>
399:           <td class="value">$!attributes.get($field.key)</td>
400:         </tr>
401:       #elseif ($field.key == "email_address")
402:         #set ($emailAdd = $attributes.get($field.key))
403:         <tr>
404:           <td class="label">Email: </td>
405:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
406:         </tr>
407:       #else
408:         <tr>
409:           <td class="label">$field.value: </td>
410:           <td class="value">$!attributes.get($field.key)</td>
411:         </tr>
412:       #end
413:     #end
414:   #end
415: #end
416: 
417: #foreach ($i in [1..10])
418:   #set ($customKey = "bio_custom${i}")
419:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
420:     <tr>
421:       <td class="label">$options.get($customKey): </td>
422:       <td class="value">$!attributes.get("custom${i}")</td>
423:     </tr>
424:   #end
425: #end
426: </table>
427: #end ## macro printBioInfo
428: 	
429: #macro (printHighlights)
430: #foreach ($highlight in $highlights.keySet())
431:   #set ($value = "-")
432:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
433:   <div class="stat clearfix">
434:     <span class="stat-title">$!highlights.get($highlight)</span>
435:     <span class="stat-value">$value</span>
436:   </div>
437: #end
438: #end ## macro printHighlights
439: 	
440: #macro (printRoster)
441: #if ($page.contentType == "loki/bio")
442:   #set ($headlinesFeaturedSize = 0)
443:   #foreach ($featuredPage in $page.headlinesFeatured)
444:     #if ($featuredPage.contentType == "loki/headlines")
445:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
446:     #end
447:   #end
448:   #if ($headlinesFeaturedSize > 0)
449:     <select class="roster-select-list">
450:       <option selected="selected">Related Bios</option>
451:       #foreach ($featuredPage in $page.headlinesFeatured)
452:         #if ($featuredPage.contentType == "loki/headlines")
453:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
454: 		#end
455: 	  #end
456:     </select>
457:   #end
458: #elseif ($page.contentType == "loki/bio-network")
459:   #set ($relatedPlayers = $page.sectionPage.children)
460:   #set ($teamNames = {})
461:   #foreach ($relatedPlayer in $relatedPlayers)
462:     #if ($relatedPlayer.contentType == "loki/bio-network")
463:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
464:       #set ($teamName = $relatedPlayerObj.get("team"))
465:       #if ($teamName.length() > 0)
466:         #if (!$teamNames.containsValue($teamName))
467:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
468:         #end
469:       #end
470:     #end
471:   #end
472: 
473:   <select class="roster-select-list">
474:   #foreach ($i in [1..$teamNames.size()])
475:     #if ($teamNames.size() > 1)
476:       <optgroup label="$teamNames.get($i)">
477:     #end
478: 				
479:     #foreach ($relatedPlayer in $relatedPlayers)
480:       #if ($relatedPlayer.contentType == "loki/bio-network")
481:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
482:         #set ($teamName = $relatedPlayerObj.get("team"))
483:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
484:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
485:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
486:           #if ($page.url == $relatedPlayer.url)
487:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
488:           #else
489:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
490:           #end
491:         #end
492:       #end
493:     #end
494: 				
495:     #if ($teamNames.size() > 1)
496:       </optgroup>
497:     #end
498:   #end
499:   </select>
500: #end
501: #end ## macro printRoster
502: 	
503: ################################################## END MACROS  #############################################################
504: 
505: #if ($attributes.get("full_name"))
506:   #set ($fullName = $attributes.get("full_name"))
507: #else
508:   #set ($firstName = $!attributes.get("first_name"))
509:   #set ($lastName = $!attributes.get("last_name"))
510:   #set ($fullName = "${firstName} ${lastName}")
511: #end
512: 
513: ## FULL ROSTER
514: <div class="bio-wrap clearfix">
515: 	
516: ## RELATED BIOS
517: #if ($showRoster)
518:   <div class="related-bios clearfix">#printRoster</div>
519: #end
520:   
521: <div class="head clearfix">
522: <div class="clearfix">
523:     
524: <div class="player-about clearfix">
525:   <div class="player-headshot">#printHeadshot</div>
526:   <div class="player-info">#printBioInfo</div>
527: </div>
528: 
529: #if ($highlights && $showHighlights)
530:   <div class="player-highlights clearfix">#printHighlights</div>
531: #end
532: 
533: </div>
534: </div> ## head
535: 
536: #if ($view.length() > 0)
537: <div class="body clearfix">
538:   
539: <div class="tab-container primary clearfix">
540:   
541: <div class="tab-nav" data-jscroll="true" data-momentum="false">
542:   <div>
543:   <ul class="clearfix">
544:   #if ($hasSynopsis || $hasBioBrief)
545:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
546:   #end
547: 		
548:   #if ($statsURL.length() > 0)
549:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
550:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
551:     #if ($showCareer)
552:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
553:     #end
554:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
555:   #end
556: 
557:   #if ($hasHTMLStats)
558:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
559:   #end
560:   </ul>
561:   </div>
562: </div> ## tab-nav
563: 
564: <div class="tab-panels clearfix">
565: 	
566: ## BIO
567: #if ($hasSynopsis || $hasBioBrief)
568: 
569: #set ($class = "tab-panel clearfix")
570: #if ($view == "bio")
571:   #set ($class = "tab-panel active clearfix")
572: #end
573: <div class="${class}">
574: 
575: <div class="synopsis clearfix">
576: #if ($hasSynopsis)
577:   $synopsis
578: #elseif ($hasBioBrief)
579:   $website.include("$bioBriefURL")
580: #end
581: </div>
582: 
583: </div> ## tab-panel
584: #end 
585: ## BIO
586: 
587: ## STATS
588: #if ($statsURL.length() > 0)
589: 
590: ## PROFILE
591: #set ($class = "tab-panel clearfix")
592: #if ($view == "profile")
593:   #set ($class = "tab-panel active clearfix")
594: #end
595: <div class="${class}">
596: <div class="stats-wrap clearfix">
597: 
598: ## LAST SIX GAMES
599: <div class="stats-box half">
600: #printRecentGames()
601: </div>
602: 
603: ## RANKING
604: <div class="stats-box half">
605: #if ($statPos.length() > 0)
606:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
607: #end
608: </div>
609: 
610: </div> ## stats-wrap	
611: </div> ## tab-content
612: ## PROFILE
613: 
614: ## GAMELOG
615: #set ($class = "tab-panel clearfix")
616: #if ($view == "gamelog")
617:   #set ($class = "tab-panel active clearfix")
618: #end
619: 
620: #set ($activePos = $statPos)
621: #if ($view == "gamelog" && $paramPos.length() > 0)
622:   #if ($positions.get($paramPos).length() > 0)
623:     #set ($activePos = $positions.get($paramPos))
624:   #end
625: #end
626: 
627: <div class="${class}">
628: 
629: #if ($gamelogsCategoriesLabels)
630: <div class="tab-container secondary clearfix">
631:   <div class="tab-nav" data-jscroll="true" data-momentum="false">
632:     <div>
633:     <ul class="clearfix">
634:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
635:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
636: 		
637:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
638:         #set($gamelogsCatLabelVal = "Defence")
639:       #end
640: 
641:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
642:     #end
643:     </ul>
644: 	</div>
645:   </div>
646:   <div class="tab-panels">
647:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
648:     #set ($class = "tab-panel clearfix")
649:     #if ($gamelogsCatLabel.key == $activePos)
650:       #set ($class = "tab-panel active clearfix")
651:     #end
652:     <div class="${class}">
653:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
654: 	</div>
655:   #end   
656:   </div>
657: </div>	
658: #else
659:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
660: #end
661: 	
662: </div> ## tab-panel
663: ## GAMELOG
664: 
665: 
666: ## CAREER
667: #if ($showCareer)
668: 
669: #set ($activePos = $statPos)
670: #if ($view == "career" && $paramPos.length() > 0)
671:   #if ($positions.get($paramPos).length() > 0)
672:     #set ($activePos = $positions.get($paramPos))
673:   #end
674: #end
675: 
676: #set ($class = "tab-panel clearfix")
677: #if ($view == "career")
678:   #set ($class = "tab-panel active clearfix")
679: #end
680: 
681: <div class="${class}">
682: 
683: #if ($briefsCategoriesLabels)
684:   #printCategories($briefsCategoriesLabels "career")
685: #else
686:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
687: #end		
688: 
689: </div> ## tab-panel
690: #end
691: ## CAREER
692: 
693: ## SPLITS
694: #set ($class = "tab-panel clearfix")
695: #if ($view == "splits")
696: 	#set ($class = "tab-panel active clearfix")
697: #end
698: 
699: #set ($activePos = $statPos)
700: #if ($view == "splits" && $paramPos.length() > 0)
701:   #if ($positions.get($paramPos).length() > 0)
702:     #set ($activePos = $positions.get($paramPos))
703:   #end
704: #end
705: 
706: <div class="${class}">
707: 
708: #if ($briefsCategoriesLabels)
709:   #printCategories($briefsCategoriesLabels "splits")
710: #else
711:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
712: #end		
713: 
714: </div> ## tab-panel
715: ## SPLITS
716: 
717: #end 
718: ## STATS
719: 
720: ## HTML STATS
721: #if ($hasHTMLStats)
722: 
723: #set ($class = "tab-panel clearfix")
724: #if ($view == "htmlstats")
725:   #set ($class = "tab-panel active clearfix")
726: #end
727: <div class="${class}">
728:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
729: </div>
730: 
731: #end
732: ## HTML STATS
733: 	
734: </div> ## tab-panels
735: </div> ## tab-container
736: </div> ## body
737: #end
738: 
739: $wiki
740: </div> ## ends bio-wrap

View: Mobile | Desktop