MEN'S BASKETBALL

 
4 - Sheldon Strickland
Sheldon Strickland
Height: 6-0
Weight: 175
Year: Senior
Hometown: Lithonia, Ga.
High School: Lakeside
Position: Guard
gp 31
pts/g 11.4
fg % 40.7
3pt % 40.5
ft % 75.9
reb/g 2.4
a/g 2.6

2013-14: Enjoyed a solid senior season, appearing in all 31 games while starting 13 at guard…Finished fourth on the team in scoring with 11.4 points per game and second with 81 assists…Helped CSU make the third most threes per game in the country by shooting 40.5 percent from three-point range (64-of-158), a great improvement from his junior year mark…Played some of his best basketball late in the season, starting the final 12 games of the year in place of the injured Saah Nimley…Proved his durability by playing 37 or more minutes seven times, including the final four games of the year…Scored in double figures 18 times, including two games of 20 or more points…Made three or more threes in a game eight times…Scored 18 points on 7-of-9 shooting in the season opening win over Johnson (11/8)…Connected on five three-pointers and gave the Bucs a spark in a starting role against nationally ranked New Mexico (11/17)…Made four more threes against nationally ranked Baylor (11/20) three days later, finishing that road trip 9-for-14 from beyond the arc…Tallied 15 points and knocked down a pair of treys in the loss to Delaware (12/3)…Played well in the loss to UNC Asheville (1/18) as the Bucs’ bench outscored the Bulldogs’ bench, 45-15, behind 15 points from Strickland…Had a career-day in the win over Liberty (2/1) in a game televised on ESPN3, scoring a career-high 35 points while connecting of 13-of-18 field goals and 7-of-11 three-point attempts…Drained five threes and scored 17 points to help lead a second half comeback bid against High Point (2/17)…Hit five more threes and poured in 26 points in another comeback bid against UNC Asheville (2/19) two days later…Scored 14 points and hit two big threes in the second half of the Big South Tournament opening round win over Campbell (3/5)…His second three against Campbell tied the game with 8:00 left, and his two free throws 25 seconds later gave CSU the lead for good as the Bucs rallied from down as many as 15 in the first half…Played 49 of a possible 50 minutes in the Big South Tournament Quarterfinal loss to Coastal Carolina (3/7), scoring 19 points…Forced overtime with a jumper at the 32 second mark of regulation against Coastal.

2012-2013: Earned starting nod in season opener at Charlotte (11/9)...Had 10 points and was 3-of-6 from the floor and 2-of-3 from three-point range in blowout win over Hiwassee (11/15)...Had seven points off the bench in CSU’s 21-point win at ETSU (12/18)...Added 14 points in the blowout of Virginia Intermont (12/29), highlighted by a 3-of-4 showing from downtown....Gave the Bucs a jolt off the bench with a season-high 15 points in a 79-59 win (1/23) at Presbyterian...Started at point guard in place of an injured Saah Nimley against VMI (2/21) and stepped up with 11 points, six rebounds and two assists in a season-high 31 minutes as the Bucs turned in one of their better offensive performances of the year in a 92-69 win...Started the next game against Rider (2/23) as well and matched a season-high with four assists...Helped spark CSU off the bench in second-half comeback win over VMI in the Big South Tournament Semifinals (3/9), tallying 7 points and two steals...Reached double figures in scoring for the fifth and final time of the year in the Big South Tournament Finals (3/10) loss to Liberty, recording 10 points on 3-of-7 shooting, including a 2-of-4 finish from beyond the arc.

2011-2012: Went 5-of-10 from the floor for 11 points and handed out five assists off the bench in CSU’s 88-69 win at The Citadel on Dec. 14…Efficient 5-of-8 from the field for 14 points, to go along with four rebounds and three assists, in the Bucs’ 88-81 comeback road victory over Stetson on Dec. 21…Provided spark off the bench with 13 points, three rebounds and two assists in CSU’s 88-78 road loss to High Point on Jan. 2…Hit his first six shots of the night and tallied a season-high 17 points in 75-74 home loss to Liberty on Feb. 9…Also had three assists in that contest and came up with a steal and layup to cap a 12-2 run and give CSU a 71-70 lead with 2:02 remaining…Provided energy off bench with 7 points, three rebounds, and an assist in the Bucs’ 88-74 victory over the Flames in the Big South Tournament Quarterfinals.  

2010-2011: Earned a spot on the 2010-2011 Big South All-Freshman team… Honored as Big South Crons Brand Freshman of the Week on November 22. and December 20…Started 22 games while appearing in 31. Averaged 8.5 points per game, good for 5th on the team. His 2.3 assists and 1.2 steals per game were 3rd on the team…4th on the Bucs in free-throw percentage with .817…Went 7-7 from deep against the College of Charleston on Dec. 15 en route to a career high 27 points…Recorded his first double-double (Nov. 18) against Montreat amassing 16 points and 10 assists…Shot .750 (3-4) from the field against Richmond (Nov. 21)…Logged a career-high 36 minutes against Radford on (Jan. 27) where he also recorded a career-high seven blocks…Scored 20 points including 4-8 from deep against Winthrop (Feb. 10). 

High School: At Lakeside High School, he was selected to the 2009-10 All Region First Team as a senior. Strickland was also named an All Region First Team member and All State Second Team member as a junior. He was awarded MVP honors at the Dekalb County All Star Game, in which six division one players participated. Strickland also played for the Nike Georgia Stars on the AAU circuit for Coach Walter White. He was the second highest scorer in Dekalb County and led the county in steals with 4.2 per game. During the 2009-10 season, Strickland averaged 21.1 points, 4.0 assists and 4.2 steals per game. He also shot 51% from the floor and 36% from three point range. Strickland helped Lakeside reach the playoffs for the first time in seven years, advancing through one of the toughest regions in Georgia.

Recent Games
Feb 19 at UNC Asheville L, 82-71
Feb 22 at Presbyterian W, 86-47
Feb 26 Gardner-Webb L, 78-76
Mar 1 at Coastal Caro. L, 63-61
Mar 5 vs. Campbell W, 81-71
Mar 7 at Coastal Caro. L, 73-68
Statistics category Overall Conf
Games 31 16
Games started 13 10
Minutes 835 448
Minutes per game 26.9 28.0
FG 124-305 69-178
FG Pct 40.7 38.8
3PT 64-158 34-88
3PT Pct 40.5 38.6
FT 41-54 23-29
FT Pct 75.9 79.3
Off rebounds 11 6
Def rebounds 63 29
Total rebounds 74 35
Rebounds per game 2.4 2.2
Personal fouls 53 30
Disqualifications 0 0
Assists 81 43
Turnovers 42 30
Assist to turnover ratio 1.9 1.4
Steals 24 18
Blocks 0 0
Points 353 195
Points per game 11.4 12.2
Points per 40 min 16.9 17.4
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 8 Johnson (TN) W, 130-51 - 24 7-9 77.8 3-5 60.0 1-1 100.0 18
Nov 10 at Delaware W, 95-93 - 18 4-10 40.0 2-5 40.0 0-0 - 10
Nov 13 UNC Wilmington L, 80-78 - 23 1-4 25.0 1-3 33.3 2-4 50.0 5
Nov 17 at New Mexico L, 109-93 1 24 5-10 50.0 5-9 55.6 2-2 100.0 17
Nov 20 at Baylor L, 69-64 - 27 5-10 50.0 4-5 80.0 0-0 - 14
Nov 26 Trinity (Fla.) W, 105-58 - 27 2-6 33.3 2-2 100.0 0-0 - 6
Dec 3 Delaware L, 85-80 - 26 6-12 50.0 2-6 33.3 1-2 50.0 15
Dec 14 at Alabama L, 59-45 - 27 3-6 50.0 1-3 33.3 3-4 75.0 10
Dec 18 at Western Caro. L, 92-84 - 25 3-7 42.9 2-5 40.0 0-0 - 8
Dec 21 at Central Ark. W, 97-90 - 23 1-5 20.0 0-2 0.0 0-0 - 2
Dec 28 St. Andrews W, 122-40 - 23 4-8 50.0 3-5 60.0 0-0 - 11
Dec 30 at Florida St. L, 67-59 - 18 1-4 25.0 1-4 25.0 2-2 100.0 5
Jan 6 Columbia International (S.C.) W, 105-45 - 13 2-5 40.0 0-2 0.0 0-0 - 4
Jan 8 Coastal Caro. W, 70-58 - 19 1-3 33.3 1-3 33.3 2-2 100.0 5
Jan 11 at Winthrop L, 85-68 - 21 5-10 50.0 2-6 33.3 2-3 66.7 14
Jan 15 Presbyterian W, 95-58 - 19 3-6 50.0 2-4 50.0 0-0 - 8
Jan 18 UNC Asheville L, 80-76 - 26 5-9 55.6 3-5 60.0 2-3 66.7 15
Jan 22 at Gardner-Webb W, 78-76 - 12 0-6 0.0 0-2 0.0 0-0 - 0
Jan 25 Longwood L, 88-85 - 22 2-8 25.0 0-3 0.0 3-3 100.0 7
Jan 29 at Campbell L, 65-57 1 30 2-17 11.8 0-9 0.0 1-2 50.0 5
Feb 1 Liberty W, 80-66 1 38 13-18 72.2 7-11 63.6 2-4 50.0 35
Feb 5 Radford L, 82-76 1 37 8-19 42.1 1-4 25.0 0-0 - 17
Feb 8 at VMI L, 92-84 1 22 2-10 20.0 1-4 25.0 0-0 - 5
Feb 15 Winthrop W, 84-64 1 20 5-9 55.6 2-5 40.0 2-2 100.0 14
Feb 17 at High Point L, 76-70 1 34 5-11 45.5 5-9 55.6 2-2 100.0 17
Feb 19 at UNC Asheville L, 82-71 1 37 7-21 33.3 5-12 41.7 7-8 87.5 26
Feb 22 at Presbyterian W, 86-47 1 35 4-11 36.4 2-2 100.0 0-0 - 10
Feb 26 Gardner-Webb L, 78-76 1 38 6-10 60.0 2-3 66.7 0-0 - 14
Mar 1 at Coastal Caro. L, 63-61 1 38 1-10 10.0 1-6 16.7 0-0 - 3
Mar 5 vs. Campbell W, 81-71 1 40 5-13 38.5 2-7 28.6 2-4 50.0 14
Mar 7 at Coastal Caro. L, 73-68 1 49 6-18 33.3 2-7 28.6 5-6 83.3 19
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 8 Johnson (TN) W, 130-51 - 24 0 2 2 7 1 7.0 3 0 1 0
Nov 10 at Delaware W, 95-93 - 18 0 1 1 0 0 - 0 0 2 0
Nov 13 UNC Wilmington L, 80-78 - 23 0 1 1 1 2 0.5 0 0 1 0
Nov 17 at New Mexico L, 109-93 1 24 0 1 1 2 2 1.0 0 0 1 0
Nov 20 at Baylor L, 69-64 - 27 0 0 0 1 0 - 1 0 2 0
Nov 26 Trinity (Fla.) W, 105-58 - 27 0 2 2 1 2 0.5 0 0 2 0
Dec 3 Delaware L, 85-80 - 26 1 4 5 5 1 5.0 1 0 0 0
Dec 14 at Alabama L, 59-45 - 27 1 4 5 1 0 - 0 0 4 0
Dec 18 at Western Caro. L, 92-84 - 25 1 2 3 1 0 - 1 0 0 0
Dec 21 at Central Ark. W, 97-90 - 23 0 3 3 3 0 - 0 0 2 0
Dec 28 St. Andrews W, 122-40 - 23 0 1 1 5 0 - 0 0 1 0
Dec 30 at Florida St. L, 67-59 - 18 0 2 2 1 1 1.0 0 0 1 0
Jan 6 Columbia International (S.C.) W, 105-45 - 13 0 1 1 4 0 - 0 0 1 0
Jan 8 Coastal Caro. W, 70-58 - 19 0 3 3 1 2 0.5 2 0 2 0
Jan 11 at Winthrop L, 85-68 - 21 1 3 4 0 1 0.0 0 0 2 0
Jan 15 Presbyterian W, 95-58 - 19 1 2 3 5 1 5.0 2 0 2 0
Jan 18 UNC Asheville L, 80-76 - 26 0 0 0 1 2 0.5 0 0 3 0
Jan 22 at Gardner-Webb W, 78-76 - 12 0 0 0 3 0 - 0 0 0 0
Jan 25 Longwood L, 88-85 - 22 1 0 1 2 2 1.0 1 0 4 0
Jan 29 at Campbell L, 65-57 1 30 0 2 2 2 1 2.0 1 0 2 0
Feb 1 Liberty W, 80-66 1 38 0 1 1 2 3 0.7 2 0 2 0
Feb 5 Radford L, 82-76 1 37 0 2 2 5 3 1.7 4 0 1 0
Feb 8 at VMI L, 92-84 1 22 0 0 0 1 2 0.5 1 0 1 0
Feb 15 Winthrop W, 84-64 1 20 0 1 1 2 1 2.0 2 0 2 0
Feb 17 at High Point L, 76-70 1 34 0 2 2 3 2 1.5 1 0 2 0
Feb 19 at UNC Asheville L, 82-71 1 37 2 3 5 5 3 1.7 1 0 1 0
Feb 22 at Presbyterian W, 86-47 1 35 0 4 4 3 1 3.0 1 0 3 0
Feb 26 Gardner-Webb L, 78-76 1 38 0 1 1 3 4 0.8 0 0 1 0
Mar 1 at Coastal Caro. L, 63-61 1 38 1 5 6 5 2 2.5 0 0 2 0
Mar 5 vs. Campbell W, 81-71 1 40 0 6 6 4 1 4.0 0 0 2 0
Mar 7 at Coastal Caro. L, 73-68 1 49 2 4 6 2 2 1.0 0 0 3 0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2010-11 32 22 25.2 2.8-6.9 40.3 1.4-3.4 40.0 1.5-1.9 81.7 8.5
2011-12 31 - 14.5 2.0-5.0 39.6 0.6-1.9 33.3 0.5-0.7 66.7 5.0
2012-13 31 3 12.7 1.4-4.3 33.3 0.5-2.0 27.4 0.6-1.1 57.1 4.0
2013-14 31 13 26.9 4.0-9.8 40.7 2.1-5.1 40.5 1.3-1.7 75.9 11.4
Total 125 38 19.9 2.5-6.5 39.2 1.2-3.1 37.2 1.0-1.4 72.9 7.2
  gp gs min fg pct 3pt pct ft pct pts
2010-11 32 22 808 89-221 40.3 44-110 40.0 49-60 81.7 271
2011-12 31 - 451 61-154 39.6 20-60 33.3 14-21 66.7 156
2012-13 31 3 394 44-132 33.3 17-62 27.4 20-35 57.1 125
2013-14 31 13 835 124-305 40.7 64-158 40.5 41-54 75.9 353
Total 125 38 2488 318-812 39.2 145-390 37.2 124-170 72.9 905
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2010-11 32 22 25.2 4.4-10.9 40.3 2.2-5.4 40.0 2.4-3.0 81.7 13.4
2011-12 31 - 14.5 5.4-13.7 39.6 1.8-5.3 33.3 1.2-1.9 66.7 13.8
2012-13 31 3 12.7 4.5-13.4 33.3 1.7-6.3 27.4 2.0-3.6 57.1 12.7
2013-14 31 13 26.9 5.9-14.6 40.7 3.1-7.6 40.5 2.0-2.6 75.9 16.9
Total 125 38 19.9 5.1-13.1 39.2 2.3-6.3 37.2 2.0-2.7 72.9 14.5
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2010-11 32 22 25.2 0.7 1.2 1.9 1.9 0.1 2.3 2.0 1.1 1.2 0.0
2011-12 31 - 14.5 0.5 0.8 1.2 1.2 0.0 1.5 1.0 1.4 0.5 0.0
2012-13 31 3 12.7 0.2 1.1 1.3 0.9 0.0 1.0 0.7 1.4 0.4 0.0
2013-14 31 13 26.9 0.4 2.0 2.4 1.7 0.0 2.6 1.4 1.9 0.8 0.0
Total 125 38 19.9 0.4 1.3 1.7 1.4 0.0 1.8 1.3 1.4 0.7 0.0
  gp gs min off def reb pf dq ast to a/to stl blk
2010-11 32 22 808 22 40 62 60 2 73 64 1.1 39 1
2011-12 31 - 451 14 24 38 37 0 46 32 1.4 15 1
2012-13 31 3 394 7 33 40 27 0 31 22 1.4 11 1
2013-14 31 13 835 11 63 74 53 0 81 42 1.9 24 0
Total 125 38 2488 54 160 214 177 2 231 160 1.4 89 3
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2010-11 32 22 25.2 1.1 2.0 3.1 3.0 0.1 3.6 3.2 1.1 1.9 0.0
2011-12 31 - 14.5 1.2 2.1 3.4 3.3 0.0 4.1 2.8 1.4 1.3 0.1
2012-13 31 3 12.7 0.7 3.4 4.1 2.7 0.0 3.1 2.2 1.4 1.1 0.1
2013-14 31 13 26.9 0.5 3.0 3.5 2.5 0.0 3.9 2.0 1.9 1.1 0.0
Total 125 38 19.9 0.9 2.6 3.4 2.8 0.0 3.7 2.6 1.4 1.4 0.0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 31 13 26.9 4.0-9.8 40.7 2.1-5.1 40.5 1.3-1.7 75.9 11.4
Conference 16 10 28.0 4.3-11.1 38.8 2.1-5.5 38.6 1.4-1.8 79.3 12.2
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -

Home 14 4 25.4 4.6-9.0 51.6 2.1-4.4 47.5 1.1-1.5 71.4 12.4
Away 16 8 27.5 3.4-10.4 32.5 2.1-5.6 36.7 1.5-1.8 82.8 10.3
Neutral 1 1 40.0 5.0-13.0 38.5 2.0-7.0 28.6 2.0-4.0 50.0 14.0

Wins 13 4 23.9 3.9-8.4 46.8 2.0-4.2 47.3 0.7-1.0 69.2 10.5
Losses 18 9 29.1 4.1-10.9 37.2 2.1-5.7 36.9 1.8-2.3 78.0 12.0

November 6 1 23.8 4.0-8.2 49.0 2.8-4.8 58.6 0.8-1.2 71.4 11.7
December 6 - 23.7 3.0-7.0 42.9 1.5-4.2 36.0 1.0-1.3 75.0 8.5
January 8 1 20.2 2.5-8.0 31.2 1.0-4.2 23.5 1.2-1.6 76.9 7.2
February 8 8 32.6 6.2-13.6 45.9 3.1-6.2 50.0 1.6-2.0 81.2 17.2
March 3 3 42.3 4.0-13.7 29.3 1.7-6.7 25.0 2.3-3.3 70.0 12.0
  gp gs min fg pct 3pt pct ft pct pts
Total 31 13 835 124-305 40.7 64-158 40.5 41-54 75.9 353
Conference 16 10 448 69-178 38.8 34-88 38.6 23-29 79.3 195
Exhibition - - - 0-0 - 0-0 - 0-0 - 0

Home 14 4 355 65-126 51.6 29-61 47.5 15-21 71.4 174
Away 16 8 440 54-166 32.5 33-90 36.7 24-29 82.8 165
Neutral 1 1 40 5-13 38.5 2-7 28.6 2-4 50.0 14

Wins 13 4 311 51-109 46.8 26-55 47.3 9-13 69.2 137
Losses 18 9 524 73-196 37.2 38-103 36.9 32-41 78.0 216

November 6 1 143 24-49 49.0 17-29 58.6 5-7 71.4 70
December 6 - 142 18-42 42.9 9-25 36.0 6-8 75.0 51
January 8 1 162 20-64 31.2 8-34 23.5 10-13 76.9 58
February 8 8 261 50-109 45.9 25-50 50.0 13-16 81.2 138
March 3 3 127 12-41 29.3 5-20 25.0 7-10 70.0 36
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 31 13 26.9 5.9-14.6 40.7 3.1-7.6 40.5 2.0-2.6 75.9 16.9
Conference 16 10 28.0 6.2-15.9 38.8 3.0-7.9 38.6 2.1-2.6 79.3 17.4
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -

Home 14 4 25.4 7.3-14.2 51.6 3.3-6.9 47.5 1.7-2.4 71.4 19.6
Away 16 8 27.5 4.9-15.1 32.5 3.0-8.2 36.7 2.2-2.6 82.8 15.0
Neutral 1 1 40.0 5.0-13.0 38.5 2.0-7.0 28.6 2.0-4.0 50.0 14.0

Wins 13 4 23.9 6.6-14.0 46.8 3.3-7.1 47.3 1.2-1.7 69.2 17.6
Losses 18 9 29.1 5.6-15.0 37.2 2.9-7.9 36.9 2.4-3.1 78.0 16.5

There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too many arguments to macro. Wanted 3 got 4 at bio-template[line 304, column 17]
Page source:
1: #if ($browser.getIphone() || $browser.getMobile())
2: 	#set ($isMobile = true)
3: #else
4: 	#set ($isMobile = false)
5: #end
6: 
7: ## PICK UP OPTIONS
8: $website.include("options")
9: #set ($options = $request.getAttribute("options"))
10: #set ($locale = "en_us")
11: #set ($locale = $options.get("locale"))
12: 
13: ## STATS DATA
14: #if ($request.getParameter("stats"))
15: 
16: #set ($showCareer = $wiki.valid() && $seasons)
17: #if ("yes" == $options.get("stats_show_career") && $seasons)
18:   #set ($showCareer = "yes")
19: #end
20: 	
21: ## FETCH THE BIO URL FROM THE PARAMETER
22: #set ($bioURL = $request.getParameter("biourl"))
23: 
24: ## VIEW IS AVAILABLE PROVIDED WHEN REACHED HERE
25: #set ($view = $request.getParameter("view"))
26: 
27: #set ($pos = "")
28: #set ($pos = $attributes.get("position"))
29: #set ($posVec = $pos.split("/"))
30: #set ($pos = $posVec[0])
31: #set ($pos = $pos.toLowerCase())
32: #set ($statPos = $positions.get($pos))
33: 
34: #set ($playerId = $attributes.get("playerId"))
35: #set ($stats = $splits.overall)
36: 
37: #if ($locale == "en_us")
38: #set ($defLabel = 'Defense')
39: #elseif ($locale == "en_gb") 
40: #set ($defLabel = 'Defence')
41: #end
42:  
43: #macro (gamelogData $p)
44: 
45: #set ($p = $positions.get($p))
46: #set ($gamelogs = $gamelogs.get($p))
47: 
48: ## SECONDARY TAB CONTENT FOR ONLY FOOTBALL,  BASEBALL, SOFTBALL AND BASKETBALL
49: #if($gamelogsCategoriesLabels)
50:   #set ($class = "sub-tab-content")
51:   #if ($activePos == $p)
52:     #set ($class = "sub-tab-content active")
53:   #end
54:   #if ($isMobile)
55: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
56:   #else
57: 	<div class="$class">
58:   #end
59: #end
60: 	
61: #if (! $isMobile)
62: 	<div class="stats-fullbox clearfix">
63: #else
64: 	<div class="mobile-stats-panel-container">
65: #end
66: <table>
67:   <tr>
68:     <th #if ($isMobile) width="10%" #end>Date</th>
69:     <th #if ($isMobile) class="mobile-stats-fixed-column" #*width="20%"*# #end>Opponent</th>
70:     <th>Score</th>
71:     #foreach ($gamelog in $gamelogs)
72:       <th>$gamelog</th>
73:     #end
74:   </tr>
75: 
76: #set ($counter = 0)
77: #foreach ($event in $events)
78:  #set ($counter = $counter + 1)
79:  #if ($counter % 2 == 0)
80:   #set ($row = "even")
81:  #else
82:   #set ($row = "odd")
83:  #end
84:   <tr class="${row}">
85:     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
86:     <td #if ($isMobile) class="mobile-stats-fixed-column" #end>
87:     #if ($event.event.neutralSite.length() > 0) vs.
88:     #elseif (!$event.event.home) at
89:     #else ## nothing for a home game
90:     #end
91:     $event.event.opponent.name</td>
92:     <td class="align-center">
93:     #if ($event.event.statusCode >= 0)
94:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
95:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
96:       #else
97:       ${event.event.APResult}
98:       #end
99:     #else &nbsp; #end
100:     </td>
101:     #foreach ($gamelog in $gamelogs.keySet())
102:       #set ($value = "-")
103:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
104:       <td class="align-center">
105:       #if ($value.length() > 0)$value#else - #end
106:       </td>
107:     #end
108:   </tr>
109: #end
110: </table>
111: </div>
112: 
113: #if($gamelogsCategoriesLabels)
114:   </div>
115: #end
116: 
117: #end ## macro gamelogData
118: 
119: #macro (split $statPosBriefs $label $stats $class)
120:   <tr class="$!{class}">
121:     <td #if ($isMobile) class="mobile-stats-fixed-column" #end>${label}</td>
122:     #foreach ($brief in $statPosBriefs.keySet())
123:       #set ($value = "-")
124:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
125:       <td class="align-center">#if ($value.length() > 0) $value #else - #end</td>
126:     #end
127:   </tr>
128: #end
129: 
130: #set ($colspan = $statPosBriefs.size() + 1)
131: #macro (printSplitsHr)
132: 	#if ($isMobile)
133: 		<tr>
134: 			<td class="mobile-stats-fixed-column">&nbsp;</td>
135: 			<td colspan="$statPosBriefs.size()">&nbsp;</td>
136: 		</tr>
137: 	#else
138: 		<tr><td colspan="${colspan}"><hr /></td></tr>
139: 	#end
140: #end
141: 
142: 
143: #macro (careerData $p)
144: 
145: #set ($p = $positions.get($p))
146: #set ($statPosBriefs = $briefs.get($p))
147: 
148: ## SECONDARY TAB CONTENT.
149: #if($briefsCategoriesLabels)
150:   #set ($class = "sub-tab-content")
151:   #if ($activePos == $p)
152:     #set ($class = "sub-tab-content active")
153:   #end
154:   #if ($isMobile)
155: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
156:   #else
157: 	<div class="$class">
158:   #end
159: #end
160: 
161: 
162: #if (! $isMobile) 
163: 	<div class="stats-fullbox clearfix">
164: #else
165: 	<div class="mobile-stats-panel-container">
166: #end
167: <table>
168:   <tr>
169:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
170:     #foreach ($brief in $statPosBriefs)
171:       <th>$brief</th>
172:     #end
173:   </tr>
174: 
175: #set ($careerTotals = $request.getAttribute("careerTotals"))
176: #set ($careerMap = $request.getAttribute("careerMap"))
177: 
178: #foreach ($season in $seasons)
179:   ## Check if we did not get stats for this season
180:   #if ($careerMap.get($season.seasonName))
181:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName], '')
182:   #elseif ($wiki.valid())
183:     <tr><td class="${mobileNS}fixed-column">${season.seasonName}</td><td colspan="${briefs.size()}" align="center">We could not find the "players" page in the ${season.seasonName} section.</td></tr>
184:   #end
185: 
186: #end
187: 
188: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall, '')
189: 
190: 
191: </table>
192: 
193: </div> ## stats-fullbox
194: 
195: #if($briefsCategoriesLabels)
196: 	</div>
197: #end
198: #end ## macro splitsData
199: 
200: 
201: 
202: 
203: 
204: 
205: 
206: 
207: #macro (splitsData $p)
208: 
209: #set ($p = $positions.get($p))
210: #set ($statPosBriefs = $briefs.get($p))
211: 
212: ## SECONDARY TAB CONTENT.
213: #if($briefsCategoriesLabels)
214:   #set ($class = "sub-tab-content")
215:   #if ($activePos == $p)
216:     #set ($class = "sub-tab-content active")
217:   #end
218:   #if ($isMobile)
219: 	<div class="mobile-bios-subtab-panel mobile-stats-panel-wrapper #if ($activePos == $p) active #end">
220:   #else
221: 	<div class="$class">
222:   #end
223: #end	
224: 	
225: #if (! $isMobile) 
226: 	<div class="stats-fullbox clearfix">
227: #else
228: 	<div class="mobile-stats-panel-container">
229: #end
230: <table>
231:   <tr>
232:     <th #if ($isMobile) class="mobile-stats-fixed-column" #end>&nbsp;</th>
233:     #foreach ($brief in $statPosBriefs)
234:       <th>$brief</th>
235:     #end
236:   </tr>
237: 
238: #split($statPosBriefs, "Total", $splits.overall, "odd")
239: #split($statPosBriefs, "Conference", $splits.conference, "even")
240: #split($statPosBriefs, "Exhibition", $splits.exhibition, "odd")
241: 
242: #printSplitsHr()
243: 
244: #split($statPosBriefs, "Home", $splits.home, "odd")
245: #split($statPosBriefs, "Away", $splits.away, "even")
246: #split($statPosBriefs, "Neutral", $splits.neutral, "odd")
247: 
248: #printSplitsHr()
249: 
250: #set($isOddOrEven = 'odd')
251: 
252: #foreach($gameResult in $gamesResults.entrySet())
253: 	
254: 	#if($gameResult.key == "wins")
255: 		#set($splitGameResult = $splits.inWins)
256: 	#elseif($gameResult.key == "losses")
257: 		#set($splitGameResult = $splits.inLosses)
258: 	#elseif($gameResult.key == "ties")
259: 		#set($splitGameResult = $splits.inTies)
260: 	#end
261: 	
262: 	#split($statPosBriefs, $gameResult.value, $splitGameResult, $isOddOrEven)
263: 	
264: 	#if($isOddOrEven == 'even')
265: 		#set($isOddOrEven = 'odd')
266: 	#else
267: 		#set($isOddOrEven = 'even')
268: 	#end
269: #end
270: 
271: #printSplitsHr()
272: 
273: #if($monthsPlayed and $monthsPlayed.size() > 0)
274: 	
275: 	#set($isOddOrEven = 'odd')
276: 	
277: 	#foreach($month in $monthsPlayed)
278: 		#if($month == 'January')
279: 			#set($splitMonth =  $splits.january)
280: 		#elseif($month == 'February')
281: 			#set($splitMonth =  $splits.february)
282: 		#elseif($month == 'March')
283: 			#set($splitMonth =  $splits.march)
284: 		#elseif($month == 'April')
285: 			#set($splitMonth =  $splits.april)
286: 		#elseif($month == 'May')
287: 			#set($splitMonth =  $splits.may)
288: 		#elseif($month == 'June')
289: 			#set($splitMonth =  $splits.june)
290: 		#elseif($month == 'July')
291: 			#set($splitMonth =  $splits.july)
292: 		#elseif($month == 'August')
293: 			#set($splitMonth =  $splits.august)
294: 		#elseif($month == 'September')
295: 			#set($splitMonth =  $splits.september)
296: 		#elseif($month == 'October')
297: 			#set($splitMonth =  $splits.october)
298: 		#elseif($month == 'November')
299: 			#set($splitMonth =  $splits.november)
300: 		#elseif($month == 'December')
301: 			#set($splitMonth =  $splits.december)
302: 		#end
303: 		
304: 		#split($statPosBriefs, $month, $splitMonth, $isOddOrEven)
305: 		
306: 		#if($isOddOrEven == 'odd')
307: 			#set($isOddOrEven = 'even')
308: 		#else
309: 			#set($isOddOrEven = 'odd')
310: 		#end
311: 	#end	
312: #end	
313: 
314: </table>
315: 
316: </div> ## stats-fullbox
317: 
318: #if($briefsCategoriesLabels)
319: 	</div>
320: #end
321: 
322: #end ## macro splitsData
323: 
324: #macro (printRecentGames)
325: <table>
326: <tr><th colspan="3">Recent Games</th></tr>
327: #set ($eventEnd = -1)
328: #foreach ($event in $events)
329:   #if ($event.event.result.resolved)
330:     #set ($eventEnd = $velocityCount)
331:   #end
332: #end
333: #set ($eventStart = $eventEnd - 5)
334: #if ($eventStart < 0) #set ($eventStart = 0) #end
335: 
336: #set ($counter = 0)
337: #foreach ($event in $events)
338: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
339: 
340:  #set ($counter = $counter + 1)
341:  #if ($counter % 2 == 0)
342:   #set ($row = "even")
343:  #else
344:   #set ($row = "odd")
345:  #end
346: 
347:   <tr class="${row}">
348:     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
349:     <td>
350:     #if ($event.event.neutralSite.length() > 0) vs.
351:     #elseif (!$event.event.home) at
352:     #else ## nothing for a home game
353:     #end
354:     $event.event.opponent.name</td>
355:     <td>
356:     #if ($event.event.statusCode >= 0)
357:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
358:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
359:       #else
360:       ${event.event.APResult}
361:       #end
362:     #end
363:   </tr>
364: #end ## if
365: #end
366: </table>
367: #end
368: 
369: #macro (printSubTab $pos $label $activePos $view)
370: 	<option #if ($activePos == $pos) selected="selected" #end value="${bioURL}?view=${view}&pos=${pos}">$!label</option>
371: #end
372: 
373: 	
374: #macro(printCategories $briefCategoryLabels $viewReport)
375: 	
376: 	#if ($isMobile)
377: 		<select class="mobile-bios-subtabs clearfix">
378: 	#else
379: 		<div class="stats-tabs-secondary clearfix">
380: 		  <ul class="clearfix">
381: 	#end
382: 			
383: 	#foreach($briefCat in $briefCategoryLabels.entrySet())
384: 		#set($briefCatLabel = $briefCat.value)
385: 		#set($briefCatKey = $briefCat.key)
386: 		
387: 		#if($locale == "en_gb" && $briefCatLabel == "Defense")
388: 			#set($briefCatLabel = "Defence")
389: 		#end	
390: 		
391: 		#if ($isMobile)
392: 			#printSubTab($briefCatKey, $briefCatLabel, $activePos, $viewReport)
393: 		#else
394: 			#if ($activePos == $briefCatKey)<li class="active">#else <li> #end<a href="${bioURL}?view=${viewReport}&pos=${briefCatKey}">$briefCatLabel</a></li>
395: 		#end
396: 	#end
397: 	
398: 	#if ($isMobile)
399: 		</select>
400: 	#else
401: 		   </ul>
402: 		</div> ## stats-tabs-secondary
403: 		<div class="sub-tab-panels">
404: 	#end	
405: 	
406: 	#foreach($briefCat in $briefCategoryLabels.entrySet())
407: 		#if($viewReport == "splits")
408: 			#splitsData($briefCat.key)
409: 		#elseif($viewReport == "career")
410: 			#careerData($briefCat.key)
411: 		#end	
412: 	#end
413: 	
414: 	#if (!$isMobile)
415: 		</div>
416: 	#end
417: 	
418: #end
419: 
420: 
421: 
422: #if ($isMobile)
423: 
424: #set ($activePos = $statPos)
425: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
426: 	#set ($activePos = $positions.get($request.getParameter("pos")))
427: #end
428: 
429: <div id="tab-gamelog">
430: 
431: #if($gamelogsCategoriesLabels)
432: 
433: 	<select class="mobile-bios-subtabs clearfix">
434:     	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
435:     		#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
436:     		
437:     		#if($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
438:     			#set($gamelogsCatLabelVal = "Defence")
439:     		#end
440:     
441:     		#printSubTab($gamelogsCatLabel.key, $gamelogsCatLabelVal, $activePos, 'gamelog')			
442:     	#end	
443:     </select> ## stats-tabs-secondary
444: 
445:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
446:     	#gamelogData($gamelogsCatLabel.key)
447:     #end
448: 
449: #else
450: 	#gamelogData($pos)
451: #end 
452: 	
453: </div> ## tab-content
454: ## END GAMELOG
455: 
456: 
457: 
458: 
459: 
460: 
461: 
462: 
463: 
464: ## CAREER
465: #set ($activePos = $statPos)
466: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
467: 	#set ($activePos = $positions.get($request.getParameter("pos")))
468: #end
469: 
470: 
471: <div id="tab-career">
472: 	
473: #if($briefsCategoriesLabels)
474: 	#printCategories($briefsCategoriesLabels, "career")
475: #else
476: 	#careerData($statPos)
477: #end
478: 
479: </div> ## tab-content
480: ## CAREER
481: 
482: 
483: 
484: 
485: 
486: 
487: 
488: 
489: 
490: 
491: 
492: 
493: ## SPLITS
494: #set ($activePos = $statPos)
495: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
496: 	#set ($activePos = $positions.get($request.getParameter("pos")))
497: #end
498: 
499: 
500: <div id="tab-splits">
501: 	
502: #if($briefsCategoriesLabels)
503: 	#printCategories($briefsCategoriesLabels, "splits")
504: #else
505: 	#splitsData($statPos)
506: #end
507: 
508: </div> ## tab-content
509: ## SPLITS
510: 
511: 
512: 
513: 
514: 
515: #else
516: 
517: 
518: 
519: ## PROFILE
520: #set ($class = "tab-content clearfix")
521: #if ($view == "profile")
522: 	#set ($class = "tab-content clearfix active")
523: #end
524: <div class="${class}">
525: <div class="stats-wrapper clearfix">
526: 
527: ## LAST SIX GAMES
528: <div class="stats-halfbox-left">
529: #printRecentGames()
530: </div>
531: 
532: ## RANKING
533: $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
534: 
535: </div> ## stats-wrapper	
536: </div> ## tab-content
537: ## PROFILE
538: 
539: ## GAMELOG
540: #set ($class = "tab-content clearfix")
541: #if ($view == "gamelog")
542: 	#set ($class = "tab-content clearfix active")
543: #end
544: 
545: #set ($activePos = $statPos)
546: #if ($request.getParameter("view") == "gamelog" && $positions.get($request.getParameter("pos")).length() > 0)
547: 	#set ($activePos = $positions.get($request.getParameter("pos")))
548: #end
549: 
550: <div class="${class}">
551: <div class="stats-wrapper clearfix">
552: 
553: #if($gamelogsCategoriesLabels)
554: <div class="stats-tabs-secondary clearfix">
555: <ul class="clearfix">
556: 	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
557: 		#set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
558: 		
559: 		#if($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
560: 			#set($gamelogsCatLabelVal = "Defence")
561: 		#end
562: 
563: 		#if ($activePos == $$gamelogsCatLabel.key)<li class="active">#else <li> #end<a href="${bioURL}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
564: 	#end
565: </ul>
566: </div> ## stats-tabs-secondary
567: #end
568: 
569: #if($gamelogsCategoriesLabels)
570: 	<div class="sub-tab-panels">
571: 	#foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
572: 		#gamelogData($gamelogsCatLabel.key)
573: 	#end
574: 	</div>	
575: #else
576: 	
577:   #gamelogData($pos)
578:   
579: #end
580: 	
581: </div> ## stats-wrapper
582: </div> ## tab-content
583: ## GAMELOG
584: 
585: 
586: 
587: 
588: 
589: 
590: 
591: 
592: ## CAREER
593: #if ($showCareer)
594: #set ($class = "tab-content clearfix")
595: #if ($view == "career")
596: 	#set ($class = "tab-content clearfix active")
597: #end
598: 
599: #set ($activePos = $statPos)
600: #if ($request.getParameter("view") == "career" && $positions.get($request.getParameter("pos")).length() > 0)
601: 	#set ($activePos = $positions.get($request.getParameter("pos")))
602: #end
603: 
604: <div class="${class}">
605: <div class="stats-wrapper clearfix">
606: 
607: #if($briefsCategoriesLabels)
608: 	#printCategories($briefsCategoriesLabels, "career")
609: #else
610: 	#careerData($statPos)
611: #end		
612: 
613: </div> ## stats-wrapper
614: </div> ## tab-content
615: #end ## show career
616: ## CAREER
617: 
618: 
619: 
620: 
621: 
622: 
623: 
624: 
625: 
626: ## SPLITS
627: #set ($class = "tab-content clearfix")
628: #if ($view == "splits")
629: 	#set ($class = "tab-content clearfix active")
630: #end
631: 
632: #set ($activePos = $statPos)
633: #if ($request.getParameter("view") == "splits" && $positions.get($request.getParameter("pos")).length() > 0)
634: 	#set ($activePos = $positions.get($request.getParameter("pos")))
635: #end
636: 
637: <div class="${class}">
638: <div class="stats-wrapper clearfix">
639: 
640: #if($briefsCategoriesLabels)
641: 	#printCategories($briefsCategoriesLabels, "splits")
642: #else
643: 	#splitsData($statPos)
644: #end		
645: 
646: </div> ## stats-wrapper
647: </div> ## tab-content
648: ## SPLITS
649: 
650: #end ## MOBILE / DESKTOP STATS
651: 
652: #else
653: ## BIO
654: 
655: ## CHANGES FOR STATS
656: 
657: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
658: #set ($bioObject = $page.getDataAsObject())
659: #set ($statsURL = $bioObject.statsURL)
660: ## END OF HACK
661: 
662: #if ($statsURL.length() > 0)
663:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
664:   ## various settings to get the variables set
665:   #set ($events = $request.getAttribute("bio_events"))
666:   #set ($seasons = $request.getAttribute("bio_seasons"))
667:   #set ($career = $request.getAttribute("bio_career"))
668:   #set ($labels = $request.getAttribute("bio_labels"))
669:   #set ($briefs = $request.getAttribute("bio_briefs"))
670:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
671:   #set ($splits = $request.getAttribute("bio_splits"))
672:   #set ($statPosition = $request.getAttribute("bio_position"))
673:   #set ($positions = $request.getAttribute("bio_positions"))
674:   #set ($playerId = $request.getAttribute("bio_player_id"))
675:   #set ($highlights = $request.getAttribute("bio_highlights"))
676:   #set ($formats = $request.getAttribute("bio_formats"))
677: #end
678: 
679: ## END CHANGES FOR STATS
680: 
681: #set ($pos = "")
682: #set ($pos = $attributes.get("position"))
683: #set ($pos = $statPosition)
684: #set ($pos = $pos.toLowerCase())
685: #set ($posVec = $pos.split("/"))
686: #set ($pos = $posVec[0])
687: #set ($pos = $positions.get($pos))
688: #set ($highlights = $highlights.get($pos))
689: 
690: #set ($showHighlights = true)
691: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
692: 	#set ($showHighlights = false)
693: #end
694: #set ($showCareer = $wiki.valid() && $seasons)
695: #if ("yes" == $options.get("stats_show_career") && $seasons)
696:   #set ($showCareer = "yes")
697: #end
698: 
699: #set ($labels = $labels.get($pos))
700: #set ($briefs = $briefs.get($pos))
701: #set ($gamelogs = $gamelogs.get($pos))
702: #set ($stats = $splits.overall)
703: #set ($hasEvents = $events.size() > 0)
704: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
705: #set ($htmlStatsURL = "${page.url}-stats")
706: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
707: #set ($bioBriefURL = "${page.url}-brief")
708: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
709: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
710: #if ($options.get("bio_hide_roster") == true)
711: 	#set ($showRoster = false)
712: #end
713: 
714: ## Always default to the bio page if available
715: #set ($view = "bio")
716: 
717: #if ($hasSynopsis || $hasBioBrief)
718: 	#set ($view = "bio")
719: #elseif ($statsURL.length() > 0)
720: 	#set ($view = "profile")
721: #elseif ($hasHTMLStats)
722: 	#set ($view = "htmlstats")
723: #else
724: 	#set ($view = "")
725: #end
726: 
727: #if ($options.get("bio_default_view").length() > 0)
728: 	#set ($checkView = $options.get("bio_default_view"))
729: #end
730: 
731: #if ($request.getParameter("view"))
732: 	#set ($checkView = $request.getParameter("view"))
733: #end
734: 
735: #if ($checkView == "profile" && $statsURL.length() > 0)
736: 	#set ($view = "profile")
737: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
738: 	#set ($view = "bio")
739: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
740: 	#set ($view = "gamelog")
741: #elseif ($checkView == "career" && $showCareer)
742: 	#set ($view = "career")
743: #elseif ($checkView == "splits" && $statsURL.length() > 0)
744: 	#set ($view = "splits")
745: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
746: 	#set ($view = "htmlstats")
747: #end
748: 
749: #if ($attributes.get("full_name"))
750: 	#set ($fullName = $attributes.get("full_name"))
751: #else
752: 	#set ($firstName = $!attributes.get("first_name"))
753: 	#set ($lastName = $!attributes.get("last_name"))
754: 	#set ($fullName = "${firstName} ${lastName}")
755: #end
756: 
757: #macro (printHeadshot $width $height)
758: 	#if ($headshot.url)
759: 		<img src="$headshot.url?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
760: 	#else
761: 		#if ($website.exists("/images/setup/headshot_default.jpg"))
762: 			<img src="/images/setup/headshot_default.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
763: 		#else
764: 			<img src="/info/images/default_headshot.jpg?max_width=$!width&max_height=$!height" alt="$fullName" title="$fullName" class="bio-headshot" />
765: 		#end
766: 	#end
767: #end
768: 
769: #if ($isMobile)
770: 
771: #set ($hasBioTab = false)
772: #if ($hasSynopsis || $hasBioBrief)
773: 	#set ($hasBioTab = true)
774: #end
775: 
776: #set ($hasProfileTab = false)
777: #if (($highlights && $showHighlights) || $events.size() > 0 || $website.exists("$statsURL/../players"))
778: 	#set ($hasProfileTab = true)
779: #end
780: 
781: <script type="text/javascript">
782: 	window.mobileConf = {
783: 		page : 'bios',
784: 		pageParams : {
785: 			view : '$!view'
786: 		}
787: 	}
788: </script>
789: 
790: <div class="bios">
791: 	<div class="profile">
792: 		<div class="images">
793: 			<div class="photo">
794: 				#printHeadshot(81, 116)
795: 			</div>				
796: 			#if ($attributes.get("number"))	<div class="number"> $!attributes.get("number") </div> #end
797: 		</div>
798: 		<div class="texts">
799: 			<div class="name">$!attributes.get("first_name") $!attributes.get("last_name")</div>
800: 			<div class="data">
801: 				#foreach ($field in $fields)
802: 					#if (! $field.key.startsWith("custom"))
803: 						#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
804: 
805: 							#if ($field.key == "phone1" || $field.key == "phone2")
806: 								Phone: $!attributes.get($field.key) <br />
807: 							#elseif ($field.key == "email_address")
808: 								#set ($emailAdd = $attributes.get($field.key))
809: 								Email: <a href="mailto:${emailAdd}">$emailAdd</a> <br />
810: 							#else
811: 								$field.value: $!attributes.get($field.key) <br />
812: 							#end
813: 
814: 							#set ($counter = $counter + 1)
815: 						#end
816: 					#end
817: 				#end
818: 					
819: 				#foreach ($i in [1..10])
820: 					#set ($customKey = "bio_custom${i}")
821: 					#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
822: 						$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}") <br />
823: 						#set ($counter = $counter + 1)
824: 					#end
825: 				#end
826: 				
827: 			</div>
828: 		</div>
829: 	</div>	
830: 
831: 	#if ($hasBioTab || $hasProfileTab)
832: 	<div class="details mobile-tabs mobile-stats" id="mobile-bios-tabs-container">
833: 		<ul class="mobile-bios-tabs">
834: 			#if ($hasBioTab)
835: 				<li><a data-view="bio" href="#tab-bios">Bio</a></li>
836: 			#end
837: 			#if ($hasProfileTab)
838: 				<li><a data-view="profile" href="#tab-profile">Profile</a></li>
839: 			#end
840: 			#if ($statsURL.length() > 0)
841: 				<li><a data-view="gamelog" href="#tab-gamelog">Game Log</a></li>
842: 				#if ($showCareer)
843: 				    <li><a data-view="career" href="#tab-career">Career</a></li>
844: 				#end
845: 				<li><a data-view="splits" href="#tab-splits">Splits</a></li>
846: 			#end
847: 		</ul>
848: 		
849: 		#if ($hasBioTab)
850: 		<div id="tab-bios">
851: 			#if ($hasSynopsis)
852: 				$synopsis
853: 			#elseif ($hasBioBrief)
854: 				<p>$website.include("$bioBriefURL")</p>
855: 			#end
856: 		</div>
857: 		#end
858: 		
859: 		#if ($hasProfileTab)
860: 		#set ($cellWidth = $tool.math.toInteger($tool.math.div(100, $highlights.size())))
861: 			
862: 		<div id="tab-profile">
863: 			## HIGHLIGHTS
864: 			#if ($highlights && $showHighlights)
865: 				<div class="bios-stat-wrapper">
866: 					<h4>Highlights</h4>
867: 					<table width="100%"><tr>
868: 					#foreach ($highlight in $highlights.keySet())
869: 						<th #if (! $isMobile) width="18%" #else width="${cellWidth}%" #end>$!highlights.get($highlight)</th>
870: 					#end
871: 					</tr><tr>
872: 					#foreach ($highlight in $highlights.keySet())
873: 						<td>
874: 						#set ($value = "-")
875: 						#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
876: 						#if ($value.length() > 0)
877: 							<span class="value">$value</span>
878: 						#else
879: 							<span class="value">-</span>
880: 						#end	
881: 						</td>
882: 					#end
883: 					</tr></table>
884: 				</div>
885: 			#end
886: 			
887: 			## RECENT GAMES
888: 			#if ($events.size() > 0)
889: 			<div class="bios-stat-wrapper">
890: 				##<h4>Recent Games</h4>
891: 				#printRecentGames()
892: 			</div>
893: 			#end
894: 			
895: 			<div class="bios-stat-wrapper">
896: 				$website.include("$statsURL/../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${pos}")
897: 			</div>
898: 			
899: 		</div>
900: 		#end
901: 		
902: 		## STATS TABS
903: 		#if ($statsURL.length() > 0)
904: 			$website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
905: 			
906: 			<div id="tab-splits"></div>
907: 			
908: 		#end
909: 		
910: 	</div>
911: 	#end
912: </div>   
913:    
914:    
915: #else
916: ## NOT MOBILE
917: 
918: <head>
919: 	<title>$fullName #if ($attributes.get("team")) | $attributes.get("team")#end</title>
920: 	<link rel="stylesheet" type="text/css" href="/info/bio-styles.css" />
921: </head>
922: 
923: ## FULL ROSTER
924: <div class="bio-wrap clearfix">
925: 
926: <div class="head clearfix">
927: 
928: <div class="bio-title">#if ($attributes.get("number"))<span class="number">$!attributes.get("number") - #end</span><span class="name">$fullName</span></div>
929: 
930: <div class="about">
931: 
932: <div class="clearfix">
933: 
934: #printHeadshot(150, 200)
935: 
936: #set ($counter = 0)
937: <table cellpadding="5" cellspacing="5" border="0">
938: 
939: #foreach ($i in [1..10])
940: 	#set ($stickyKey = "bio_custom${i}_sticky")
941: 	#if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
942: 		<tr><td class="lbl">$options.get($stickyKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
943: 		#set ($counter = $counter + 1)
944: 	#end
945: #end
946: 
947: #foreach ($field in $fields)
948: 	#if (! $field.key.startsWith("custom"))
949: 		#if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
950: 
951: 			#if ($field.key == "phone1" || $field.key == "phone2")
952: 				<tr><td class="lbl">Phone: </td><td class="val">$!attributes.get($field.key)</td></tr>
953: 			#elseif ($field.key == "email_address")
954: 				#set ($emailAdd = $attributes.get($field.key))
955: 				<tr><td class="lbl">Email: </td><td class="val"><a href="mailto:${emailAdd}">$emailAdd</a></td></tr>
956: 			#else
957: 				<tr><td class="lbl">$field.value: </td><td class="val">$!attributes.get($field.key)</td></tr>
958: 			#end
959: 
960: 			#set ($counter = $counter + 1)
961: 		#end
962: 	#end
963: #end
964: 
965: #foreach ($i in [1..10])
966: 	#set ($customKey = "bio_custom${i}")
967: 	#if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
968: 		<tr><td class="lbl">$options.get($customKey): </td><td class="val">$!attributes.get("custom${i}")</td></tr>
969: 		#set ($counter = $counter + 1)
970: 	#end
971: #end
972: 
973: </table>
974: 
975: </div> ## clearfix
976: </div> ## ends about
977: 
978: #if ($highlights && $showHighlights)
979: <div class="headstats">
980: 	#foreach ($highlight in $highlights.keySet())
981: 		<div class="hst">
982: 		<span class="title" title="$!highlights.get($highlight)">$!highlights.get($highlight)</span>
983: 		#set ($value = "-")
984: 		#set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
985: 		#if ($value.length() > 0)
986: 			<span class="value">$value</span>
987: 		#else
988: 			<span class="value">-</span>
989: 		#end
990: 		</div>
991: 	#end
992: </div>
993: #end ## if-highlights
994: 
995: </div> ## ends head
996: 
997: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats || $showRoster)
998: <div class="stats-tabs clearfix">
999: 	#if (($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats) && $view.length() > 0)
1000: 	<ul class="clearfix">
1001: 		#if ($hasSynopsis || $hasBioBrief)
1002: 			#if ($view == "bio")<li class="active">#else<li>#end<a href="${page.url}?view=bio">Bio</a></li>
1003: 		#end
1004: 		
1005: 		#if ($statsURL.length() > 0)
1006: 			#if ($view == "profile")<li class="active">#else<li>#end<a href="${page.url}?view=profile">Player Profile</a></li>
1007: 			#if ($view == "gamelog")<li class="active">#else<li>#end<a href="${page.url}?view=gamelog">Game Log</a></li>
1008: 			#if ($showCareer)
1009:   			    #if ($view == "career")<li class="active">#else<li>#end<a href="${page.url}?view=career">Career Stats</a></li>
1010:   			#end
1011: 			#if ($view == "splits")<li class="active">#else<li>#end<a href="${page.url}?view=splits">Split Stats</a></li>
1012: 		#end
1013: 
1014: 		#if ($hasHTMLStats)
1015: 			#if ($view == "htmlstats")<li class="active">#else<li>#end<a href="${page.url}?view=htmlstats">HTML Stats</a></li>
1016: 		#end
1017: 	</ul>
1018: 	#end
1019: 	#if ($showRoster)
1020: 		#if ($page.contentType == "loki/bio")
1021: 			#set ($headlinesFeaturedSize = 0)
1022: 			#foreach ($featuredPage in $page.headlinesFeatured)
1023: 				#if ($featuredPage.contentType == "loki/headlines")
1024: 					#set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
1025: 				#end
1026: 			#end
1027: 			#if ($headlinesFeaturedSize > 0)
1028: 				<select class="roster-select-list">
1029: 					<option selected="selected" class="bold">Related Bios</option>
1030:     			#foreach ($featuredPage in $page.headlinesFeatured)
1031:     				#if ($featuredPage.contentType == "loki/headlines")
1032:     					$website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
1033:     				#end
1034: 				#end
1035: 				</select>
1036: 			#end
1037: 		#elseif ($page.contentType == "loki/bio-network")
1038: 			#set ($relatedPlayers = $page.sectionPage.children)
1039: 			#set ($teamNames = {})
1040: 			#foreach ($relatedPlayer in $relatedPlayers)
1041: 				#if ($relatedPlayer.contentType == "loki/bio-network")
1042: 					#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1043: 					## <span class="none relatedplayeratt">$relatedPlayerObj</span>
1044: 					#set ($teamName = $relatedPlayerObj.get("team"))
1045: 					#if ($teamName.length() > 0)
1046:     					#if (!$teamNames.containsValue($teamName))
1047:     						$!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
1048:     					#end
1049: 					#end
1050: 				#end
1051: 			#end
1052: 			##<span class="none teamnames">$teamNames</span>
1053: 			<select class="roster-select-list">
1054: 			#foreach ($i in [1..$teamNames.size()])
1055: 				#if ($teamNames.size() > 1)
1056: 					<optgroup label="$teamNames.get($i)">
1057: 				#end
1058: 				
1059: 				#foreach ($relatedPlayer in $relatedPlayers)
1060: 					#if ($relatedPlayer.contentType == "loki/bio-network")
1061: 						#set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
1062: 						#set ($teamName = $relatedPlayerObj.get("team"))
1063: 						#if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
1064: 							#set ($playerFirstName = $relatedPlayerObj.get("first_name"))
1065: 							#set ($playerLastName = $relatedPlayerObj.get("last_name"))
1066: 							#if ($page.url == $relatedPlayer.url)
1067: 								<option value="$relatedPlayer.url" selected="selected" class="bold">${playerFirstName} ${playerLastName}</option>
1068: 							#else
1069: 								<option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
1070: 							#end
1071: 						#end
1072: 					#end
1073: 				#end
1074: 				
1075: 				#if ($teamNames.size() > 1)
1076: 					</optgroup>
1077: 				#end
1078: 			#end
1079: 			</select>
1080: 		#end
1081: 	#end
1082: </div>
1083: #end
1084: 
1085: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats)
1086: 	<div class="tab-content-panels">
1087: #end
1088: 
1089: ## BIO TAB
1090: #if ($hasSynopsis || $hasBioBrief)
1091: 
1092: #set ($class = "tab-content clearfix")
1093: #if ($view == "bio")
1094: 	#set ($class = "tab-content clearfix active")
1095: #end
1096: <div class="${class}">
1097: 
1098: <div class="synopsis clearfix">
1099: #if ($hasSynopsis)
1100: 	$synopsis
1101: #elseif ($hasBioBrief)
1102: 	$website.include("$bioBriefURL")
1103: #end
1104: </div>
1105: 
1106: </div> ## tab-content
1107: #end ## BIO TAB ENDS
1108: 
1109: ## STATS TABS
1110: #if ($statsURL.length() > 0)
1111:   $website.includeAgain("${statsURL}?tmpl=bio-template&stats=1&biourl=${tool.esc.url($page.url)}&view=${view}&pos=${request.getParameter('pos')}")
1112: #end
1113: 
1114: ## HTML TAB
1115: #if ($hasHTMLStats)
1116: 
1117: #set ($class = "tab-content clearfix")
1118: #if ($view == "htmlstats")
1119: 	#set ($class = "tab-content clearfix active")
1120: #end
1121: <div class="${class}">
1122: 	<a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
1123: </div>
1124: 
1125: #end
1126: 
1127: #if ($hasSynopsis || $hasBioBrief || $statsURL.length() > 0 || $hasHTMLStats)
1128: 	</div>
1129: #end
1130: 
1131: </div> ## ends bio-wrap
1132: 
1133: #if ($request.getAttribute("bioScriptCalled"))
1134:   #set ($scriptCalled = true)
1135: #else
1136:   #set ($scriptCalled = false)
1137: #end
1138: 
1139: #if (!$scriptCalled)
1140: 	
1141: $!request.setAttribute("bioScriptCalled", true)
1142: <script type="text/javascript" src="$website.cdn("/info/jquery.address-1.5.min.js")"></script>
1143: <script type="text/javascript">
1144: 
1145: jQuery.address.strict(false).state('${page.url}').init(function() {
1146: 	$('.bio-wrap .stats-tabs a').address();
1147: 	$('.bio-wrap .stats-tabs-secondary a').address();
1148: });
1149: 
1150: $(function() {
1151: 
1152: $('.bio-wrap .stats-tabs li').click(function(e) {
1153: 	e.preventDefault();
1154: 	if (!$(this).hasClass('active')) {
1155: 		$(this).addClass('active').siblings().removeClass('active');
1156: 		$(this).parent().parent('.stats-tabs').next('.tab-content-panels').children('.tab-content').removeClass('active').eq($(this).index()).addClass('active');
1157: 	}
1158: });
1159: 
1160: $('.bio-wrap .stats-tabs-secondary li').click(function(e) {
1161: 	e.preventDefault();
1162: 	if (!$(this).hasClass('active')) {
1163: 		$(this).addClass('active').siblings().removeClass('active');
1164: 		$(this).parent().parent('.stats-tabs-secondary').next('.sub-tab-panels').children('.sub-tab-content').removeClass('active').eq($(this).index()).addClass('active');
1165: 	}
1166: });
1167: 
1168: #if ($showRoster)
1169: 	$('.bio-wrap .roster-select-list').change(function() {
1170: 		window.location.href = $(this).val();
1171: 	});
1172: #end
1173: 
1174: #if ($hasHTMLStats)
1175: 	$('.bio-htmlstats-identifier').each(function() {
1176: 		var targetElement = $(this);
1177: 		jQuery.get($(this).attr('href'), function(data) {
1178: 			var htmlStats = $(data).find('center').first();
1179: 			htmlStats.add(htmlStats.siblings('center'));
1180: 			if (htmlStats.children().length > 0) {
1181: 				targetElement.replaceWith(htmlStats);
1182: 			}
1183: 		});
1184: 	});
1185: #end
1186: 
1187: });
1188: </script>
1189: #end
1190: 
1191: #end ## MOBILE CHECK
1192: #end ## STATS PARAMETER
1193: 
1194: $wiki

View: Mobile | Desktop