Announcements

Welcome to the home for York College Athletics.





 
21 Aja Wallpher
21 Aja Wallpher
Height: 5-8
Year: Sr.
Hometown: Ellicott City, Md.
High School: Seton Keough
Position: G
Major: Pre-Med/Biology
gp 28
pts/g 5.1
fg % 40.5
3pt % 26.7
ft % 65.4
reb/g 3.2
a/g 6.4

2013-14: Enters her senior year as one of the top point guards in the country ... is a quick and athletic point guard that brings a number of valuable skills to the Spartan squad . . . has tremendous court vision and is a pass-first oriented point guard ... has been working on refining her jump shot and will be expected to shoot a higher percentage from the floor during the year ... has the ability to slash and get to the basket and draw fouls to get to the line ... is a tenacious defender that supplies great on-the-ball defense ... has matured as a player and is a coach on the floor for York ... has played in 85 career games as she has accumulated 564 points, 318 rebounds, 540 assists, and 311 steals ... enters her senior year 101 assists away from breaking the all-time career York record ... is 25 steals away from being the all-time leader in that category as well.  

2012-13: Played in and started 26 games for the Spartans as a junior ... named second-team All-CAC ... averaged 6.8 points, 4.0 rebounds, 6.9 assists, and 4.3 steals per game ... led the CAC in steals and assists ... finished third in the nation in assists after leading the country as a sophomore ... was ranked fifth in the nation in steals per game ... set a new school and Capital Athletic Conference record with 17 assists in the February 16 win over Frostburg State ... the CAC record was over 22 years old ... had five games with double figures in assists ... had at least one assist in every game during the year ... tallied a season-high 14 points in the December 29 win over Wheaton ... scored in 24 of her 26 games with seven games in double figures ... pulled in at lease one rebound in all 26 games including a season-high nine boards in the January 3 win over Elizabethtown ... had a season-high nine steals in the game against Wheaton ... had at least one steal in 25 of her 26 games ... finished the year shooting 36.3% from the floor, 29.2% from three and 62.3% (43-for-69) from the free throw line.

2011-12: Played in and started all 30 games for the Green and White … averaged 6.3 points, 3.8 rebounds and 7.3 assists per game as she played a team-high 1055 minutes … led all of NCAA Division III in assists per game … was named first-team All-Capital Athletic Conference. …  accumulated 219 assists in her 30 games including a season-high 14 in the February 11 game against Mary Washington … reached double figures in assists in seven games including a combined 22 in the first and second round of the NCAA Tournament at Juniata … had a sterling 2.3-to-1 assist to turnover ratio (219 assists – 95 turnovers) … had a career-high 17 points in the November 27 win against Gettysburg … reached double figures in eight games and scored in 26 of her 30 games … had two double-doubles during the year as she had 13 points and a career-high 12 rebounds in the January win over Frostburg State and had 13 points and 11 assists in the NCAA Tournament first round win over St. Vincent … grabbed at least one rebound in 28 games including the career-high 12 against FSU … shot 34.9% from the field and 66.3% from the free throw line … picked up her scoring at the end of the year as she averaged 9.7 points per game over the final eight games of the year … registered a career-high 11 steals in the February 8 win at Stevenson … converted a career-high seven field goals in the February 11 loss to Mary Washington … made a season-high six free throws in the February 18 win at Salisbury … had a career-high five blocked shots in the November 20 win over Elizabethtown … had a team-high 98 steals for the year.

2010-11: Made an immediate impact on the Spartans as she played in and started all 29 games for the Spartans as a freshman ... averaged 6.8 points, 4.8 assists, 3.4 rebounds, and 3.4 steals per game for the Green and White ... averaged 31.6 minutes per game for York as she accumulated 917 minutes ... recorded a season-high 14 points in the January 27 game at Frostburg ... had a pair of season-highs vs. St. Mary's on February 22 as she notched eight rebounds and handed out 12 assists ... had a season-high seven steals in the January 22 game against Marymount ... drained a career-high three triples in the game at Frostburg ... had a 1.36-to-1 assist-to-turnover ratio as a freshman ... reached double figures in seven games while she scored in all 29 of her games during the year ... grabbed at least one rebound in 27 games while she failed to register at least one assist in just one game.

Personal: Is the daughter of John and Darbye Wallpher . . . born July 17, 1992 . . . is a biology/pre-med major. . . played for the Maryland Flames Elite along with current teammates Kelsey Murphy and Kristen Haley . . . earned Baltimore Metro MVP honors as a senior . . . was named first-team All-Baltimore Metro Area and first-team All-Howard County.


Recent Games
Feb 19 at Frostburg St. W, 89-62
Feb 22 Southern Virginia W, 75-39
Feb 27 Marymount (Va.) W, 73-65
Mar 1 Chris. Newport W, 66-53
Mar 7 La Roche W, 76-54
Mar 8 Baldwin Wallace L, 67-52
Statistics category Overall Conf
Games 28 15
Games started 28 15
Minutes 843 478
Minutes per game 30.1 31.9
FG 53-131 27-65
FG Pct 40.5 41.5
3PT 4-15 2-10
3PT Pct 26.7 20.0
FT 34-52 17-25
FT Pct 65.4 68.0
Off rebounds 24 13
Def rebounds 65 35
Total rebounds 89 48
Rebounds per game 3.2 3.2
Personal fouls 47 23
Disqualifications 3 2
Assists 179 101
Turnovers 73 33
Assist to turnover ratio 2.5 3.1
Steals 71 39
Blocks 14 9
Points 144 73
Points per game 5.1 4.9
Points per 40 min 6.8 6.1
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 15 Pitt.-Bradford W, 58-41 1 27 4-8 50.0 0-0 - 3-3 100.0 11
Nov 16 Bridgewater (Va.) W, 79-53 1 25 4-7 57.1 1-1 100.0 1-5 20.0 10
Nov 20 East. Mennonite W, 65-52 1 33 2-6 33.3 0-0 - 2-3 66.7 6
Nov 23 at Frank. & Marsh. W, 63-50 1 30 0-2 0.0 0-0 - 0-0 - 0
Nov 26 McDaniel W, 71-56 1 10 0-0 - 0-0 - 0-0 - 0
Dec 1 at Wesley W, 79-48 - - - - - - - - -
Dec 4 Penn State-Harrisburg W, 84-41 1 25 4-5 80.0 0-0 - 0-1 0.0 8
Dec 7 Chris. Newport W, 75-63 1 38 2-13 15.4 0-2 0.0 1-2 50.0 5
Dec 29 vs. Wis.-Stevens Point W, 54-53 1 31 2-8 25.0 0-1 0.0 2-2 100.0 6
Dec 30 at Oglethorpe W, 76-42 1 24 2-5 40.0 0-0 - 0-0 - 4
Jan 4 at Mary Washington W, 53-35 1 34 0-5 0.0 0-1 0.0 0-0 - 0
Jan 8 at Marymount (Va.) W, 70-63 1 37 1-4 25.0 0-2 0.0 1-1 100.0 3
Jan 11 Salisbury W, 77-72 1 38 4-6 66.7 2-3 66.7 6-6 100.0 16
Jan 15 St. Mary's (Md.) W, 69-41 1 26 0-0 - 0-0 - 3-4 75.0 3
Jan 18 at Southern Virginia W, 77-49 1 32 4-8 50.0 0-1 0.0 3-4 75.0 11
Jan 22 Frostburg St. W, 96-54 1 23 1-1 100.0 0-0 - 1-2 50.0 3
Jan 25 Mary Washington W, 61-58 1 40 2-2 100.0 0-0 - 1-2 50.0 5
Jan 29 at Penn State-Harrisburg W, 63-30 1 28 0-0 - 0-0 - 0-0 - 0
Feb 1 at Chris. Newport L, 67-64 1 44 5-12 41.7 0-1 0.0 1-3 33.3 11
Feb 6 Wesley W, 73-48 1 27 0-3 0.0 0-0 - 2-2 100.0 2
Feb 8 Marymount (Va.) W, 78-62 1 30 0-0 - 0-0 - 0-0 - 0
Feb 12 at St. Mary's (Md.) W, 64-43 1 23 0-1 0.0 0-0 - 0-0 - 0
Feb 15 at Salisbury L, 79-69 1 31 4-6 66.7 0-1 0.0 1-2 50.0 9
Feb 19 at Frostburg St. W, 89-62 1 34 4-7 57.1 0-0 - 0-0 - 8
Feb 22 Southern Virginia W, 75-39 1 26 4-7 57.1 0-1 0.0 0-0 - 8
Feb 27 Marymount (Va.) W, 73-65 1 35 1-6 16.7 1-1 100.0 4-5 80.0 7
Mar 1 Chris. Newport W, 66-53 1 39 3-7 42.9 0-0 - 2-4 50.0 8
Mar 7 La Roche W, 76-54 1 30 0-0 - 0-0 - 0-0 - 0
Mar 8 Baldwin Wallace L, 67-52 1 23 0-2 0.0 0-0 - 0-1 0.0 0
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 15 Pitt.-Bradford W, 58-41 1 27 1 3 4 7 4 1.8 6 0 2 0
Nov 16 Bridgewater (Va.) W, 79-53 1 25 1 0 1 10 2 5.0 3 0 0 0
Nov 20 East. Mennonite W, 65-52 1 33 2 1 3 3 1 3.0 4 1 2 0
Nov 23 at Frank. & Marsh. W, 63-50 1 30 1 2 3 7 2 3.5 1 0 2 0
Nov 26 McDaniel W, 71-56 1 10 0 1 1 3 0 - 0 0 2 0
Dec 1 at Wesley W, 79-48 - - - - - - - - - - - -
Dec 4 Penn State-Harrisburg W, 84-41 1 25 2 5 7 9 2 4.5 4 2 1 0
Dec 7 Chris. Newport W, 75-63 1 38 2 2 4 12 6 2.0 1 0 3 0
Dec 29 vs. Wis.-Stevens Point W, 54-53 1 31 1 2 3 3 2 1.5 3 0 2 0
Dec 30 at Oglethorpe W, 76-42 1 24 0 5 5 6 4 1.5 1 0 1 0
Jan 4 at Mary Washington W, 53-35 1 34 1 6 7 4 3 1.3 3 0 0 0
Jan 8 at Marymount (Va.) W, 70-63 1 37 0 0 0 7 4 1.8 2 0 5 1
Jan 11 Salisbury W, 77-72 1 38 0 0 0 8 0 - 2 2 0 0
Jan 15 St. Mary's (Md.) W, 69-41 1 26 1 2 3 3 0 - 2 1 2 0
Jan 18 at Southern Virginia W, 77-49 1 32 0 1 1 9 4 2.3 3 0 2 0
Jan 22 Frostburg St. W, 96-54 1 23 1 4 5 9 3 3.0 3 0 5 1
Jan 25 Mary Washington W, 61-58 1 40 1 6 7 6 1 6.0 2 1 1 0
Jan 29 at Penn State-Harrisburg W, 63-30 1 28 1 0 1 2 1 2.0 5 0 0 0
Feb 1 at Chris. Newport L, 67-64 1 44 1 6 7 5 5 1.0 3 1 2 -
Feb 6 Wesley W, 73-48 1 27 1 0 1 11 1 11.0 2 2 0 0
Feb 8 Marymount (Va.) W, 78-62 1 30 0 1 1 8 0 - 4 0 1 0
Feb 12 at St. Mary's (Md.) W, 64-43 1 23 0 2 2 2 0 - 2 0 0 0
Feb 15 at Salisbury L, 79-69 1 31 0 0 0 5 5 1.0 1 0 3 0
Feb 19 at Frostburg St. W, 89-62 1 34 2 1 3 10 2 5.0 3 0 0 -
Feb 22 Southern Virginia W, 75-39 1 26 2 1 3 12 1 12.0 2 1 1 0
Feb 27 Marymount (Va.) W, 73-65 1 35 0 8 8 7 5 1.4 3 0 3 0
Mar 1 Chris. Newport W, 66-53 1 39 0 3 3 3 6 0.5 2 1 2 0
Mar 7 La Roche W, 76-54 1 30 0 2 2 6 2 3.0 2 2 0 0
Mar 8 Baldwin Wallace L, 67-52 1 23 3 1 4 2 7 0.3 2 0 5 1
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2013-14 28 28 30.1 1.9-4.7 40.5 0.1-0.5 26.7 1.2-1.9 65.4 5.1
Total 28 28 30.1 1.9-4.7 40.5 0.1-0.5 26.7 1.2-1.9 65.4 5.1
  gp gs min fg pct 3pt pct ft pct pts
2013-14 28 28 843 53-131 40.5 4-15 26.7 34-52 65.4 144
Total 28 28 843 53-131 40.5 4-15 26.7 34-52 65.4 144
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2013-14 28 28 30.1 2.5-6.2 40.5 0.2-0.7 26.7 1.6-2.5 65.4 6.8
Total 28 28 30.1 2.5-6.2 40.5 0.2-0.7 26.7 1.6-2.5 65.4 6.8
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2013-14 28 28 30.1 0.9 2.3 3.2 1.7 0.1 6.4 2.6 2.5 2.5 0.5
Total 28 28 30.1 0.9 2.3 3.2 1.7 0.1 6.4 2.6 2.5 2.5 0.5
  gp gs min off def reb pf dq ast to a/to stl blk
2013-14 28 28 843 24 65 89 47 3 179 73 2.5 71 14
Total 28 28 843 24 65 89 47 3 179 73 2.5 71 14
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2013-14 28 28 30.1 1.1 3.1 4.2 2.2 0.1 8.5 3.5 2.5 3.4 0.7
Total 28 28 30.1 1.1 3.1 4.2 2.2 0.1 8.5 3.5 2.5 3.4 0.7
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 28 28 30.1 1.9-4.7 40.5 0.1-0.5 26.7 1.2-1.9 65.4 5.1
Conference 15 15 31.9 1.8-4.3 41.5 0.1-0.7 20.0 1.1-1.7 68.0 4.9
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 17 17 29.1 1.8-4.3 42.5 0.2-0.5 50.0 1.5-2.4 65.0 5.4
Away 10 10 31.7 2.0-5.0 40.0 0.0-0.6 0.0 0.6-1.0 60.0 4.6
Neutral 1 1 31.0 2.0-8.0 25.0 0.0-1.0 0.0 2.0-2.0 100.0 6.0
-
Wins 25 25 29.8 1.8-4.4 39.6 0.2-0.5 30.8 1.3-1.8 69.6 5.0
Losses 3 3 32.7 3.0-6.7 45.0 0.0-0.7 0.0 0.7-2.0 33.3 6.7
-
November 5 5 25.0 2.0-4.6 43.5 0.2-0.2 100.0 1.2-2.2 54.5 5.4
December 4 4 29.5 2.5-7.8 32.3 0.0-0.8 0.0 0.8-1.2 60.0 5.8
January 8 8 32.3 1.5-3.2 46.2 0.2-0.9 28.6 1.9-2.4 78.9 5.1
February 8 8 31.3 2.2-5.2 42.9 0.1-0.5 25.0 1.0-1.5 66.7 5.6
March 3 3 30.7 1.0-3.0 33.3 0.0-0.0 - 0.7-1.7 40.0 2.7
  gp gs min fg pct 3pt pct ft pct pts
Total 28 28 843 53-131 40.5 4-15 26.7 34-52 65.4 144
Conference 15 15 478 27-65 41.5 2-10 20.0 17-25 68.0 73
Exhibition - - - 0-0 - 0-0 - 0-0 - 0
-
Home 17 17 495 31-73 42.5 4-8 50.0 26-40 65.0 92
Away 10 10 317 20-50 40.0 0-6 0.0 6-10 60.0 46
Neutral 1 1 31 2-8 25.0 0-1 0.0 2-2 100.0 6
-
Wins 25 25 745 44-111 39.6 4-13 30.8 32-46 69.6 124
Losses 3 3 98 9-20 45.0 0-2 0.0 2-6 33.3 20
-
November 5 5 125 10-23 43.5 1-1 100.0 6-11 54.5 27
December 4 4 118 10-31 32.3 0-3 0.0 3-5 60.0 23
January 8 8 258 12-26 46.2 2-7 28.6 15-19 78.9 41
February 8 8 250 18-42 42.9 1-4 25.0 8-12 66.7 45
March 3 3 92 3-9 33.3 0-0 - 2-5 40.0 8
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 28 28 30.1 2.5-6.2 40.5 0.2-0.7 26.7 1.6-2.5 65.4 6.8
Conference 15 15 31.9 2.3-5.4 41.5 0.2-0.8 20.0 1.4-2.1 68.0 6.1
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 17 17 29.1 2.5-5.9 42.5 0.3-0.6 50.0 2.1-3.2 65.0 7.4
Away 10 10 31.7 2.5-6.3 40.0 0.0-0.8 0.0 0.8-1.3 60.0 5.8
Neutral 1 1 31.0 2.6-10.3 25.0 0.0-1.3 0.0 2.6-2.6 100.0 7.7
-
Wins 25 25 29.8 2.4-6.0 39.6 0.2-0.7 30.8 1.7-2.5 69.6 6.7
Losses 3 3 32.7 3.7-8.2 45.0 0.0-0.8 0.0 0.8-2.4 33.3 8.2
-
November 5 5 25.0 3.2-7.4 43.5 0.3-0.3 100.0 1.9-3.5 54.5 8.6
December 4 4 29.5 3.4-10.5 32.3 0.0-1.0 0.0 1.0-1.7 60.0 7.8
January 8 8 32.3 1.9-4.0 46.2 0.3-1.1 28.6 2.3-2.9 78.9 6.4
February 8 8 31.3 2.9-6.7 42.9 0.2-0.6 25.0 1.3-1.9 66.7 7.2
March 3 3 30.7 1.3-3.9 33.3 0.0-0.0 - 0.9-2.2 40.0 3.5
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 28 28 30.1 0.9 2.3 3.2 1.7 0.1 6.4 2.6 2.5 2.5 0.5
Conference 15 15 31.9 0.9 2.3 3.2 1.5 0.1 6.7 2.2 3.1 2.6 0.6
Exhibition - - - - - - - - - - - - -
-
Home 17 17 29.1 1.0 2.4 3.4 1.8 0.1 7.0 2.4 2.9 2.6 0.8
Away 10 10 31.7 0.6 2.3 2.9 1.5 0.1 5.7 3.0 1.9 2.4 0.1
Neutral 1 1 31.0 1.0 2.0 3.0 2.0 0.0 3.0 2.0 1.5 3.0 0.0
-
Wins 25 25 29.8 0.8 2.3 3.1 1.5 0.1 6.7 2.2 3.0 2.6 0.5
Losses 3 3 32.7 1.3 2.3 3.7 3.3 0.3 4.0 5.7 0.7 2.0 0.3
-
November 5 5 25.0 1.0 1.4 2.4 1.6 0.0 6.0 1.8 3.3 2.8 0.2
December 4 4 29.5 1.3 3.5 4.8 1.8 0.0 7.5 3.5 2.1 2.3 0.5
January 8 8 32.3 0.6 2.4 3.0 1.9 0.3 6.0 2.0 3.0 2.8 0.5
February 8 8 31.3 0.8 2.4 3.1 1.3 0.0 7.5 2.4 3.2 2.5 0.5
March 3 3 30.7 1.0 2.0 3.0 2.3 0.3 3.7 5.0 0.7 2.0 1.0
  gp gs min off def reb pf dq ast to a/to stl blk
Total 28 28 843 24 65 89 47 3 179 73 2.5 71 14
Conference 15 15 478 13 35 48 23 2 101 33 3.1 39 9
Exhibition - - - - - - - - - - - - -
-
Home 17 17 495 17 40 57 30 2 119 41 2.9 44 13
Away 10 10 317 6 23 29 15 1 57 30 1.9 24 1
Neutral 1 1 31 1 2 3 2 0 3 2 1.5 3 0
-
Wins 25 25 745 20 58 78 37 2 167 56 3.0 65 13
Losses 3 3 98 4 7 11 10 1 12 17 0.7 6 1
-
November 5 5 125 5 7 12 8 0 30 9 3.3 14 1
December 4 4 118 5 14 19 7 0 30 14 2.1 9 2
January 8 8 258 5 19 24 15 2 48 16 3.0 22 4
February 8 8 250 6 19 25 10 0 60 19 3.2 20 4
March 3 3 92 3 6 9 7 1 11 15 0.7 6 3
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
Total 28 28 30.1 1.1 3.1 4.2 2.2 0.1 8.5 3.5 2.5 3.4 0.7
Conference 15 15 31.9 1.1 2.9 4.0 1.9 0.2 8.5 2.8 3.1 3.3 0.8
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 216, column 1]
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