15 Olivia Murphy
15 Olivia Murphy
Height: 6-0
Year: So.
Hometown: Canton, Mass.
High School: Canton
Position: F
gp 22
pts/g 15.9
fg % 46.3
3pt % 0.0
ft % 66.7
reb/g 10.6
a/g 1.0

2013-14 Built off her award-winning freshman campaign to enjoy an even more impressive sophomore campaign … Honored as the first All-American in program-history, after being named to the Women's Basketball Coaches Association (WBCA) All-American Honorable Mention List … Recognized as a D3Hoops.Com All Region Fourth Team selection … Earned a spot on the Little East Conference First Team … Became the first player in school history to be named to the ECAC Division III Women's Basketball, New England Women's Basketball Association and Little East Conference Player of the Week, while also earning D3Hoops.Com Team of the Week Honors for the week of December 9 … Named the Little East Conference Player of the Week on three occasions … Became the 7th player in program history to score 700 points and pull down 500 rebounds … Started in 20 of the 22 contests she played in … Averaged 29.9 minutes per game … Led the Little East with a career-high 15.9 points per game … Paced UMass Boston and ranked third in the LEC with her 10.6 rebounds per game … Finished second in the conference with 4.0 offensive rebounds per game … Finished with 88 offensive rebounds, 146 defensive rebounds and 234 total boards … Ranked third in the LEC with her 1.5 blocks per game and led UMass Boston with her 32 total blocks … Totaled 23 steals and 22 assists … Led UMass Boston and ranked 6th in the Little East with a 46.3 field goal percentage … Ended the year 14th in the LEC with a 66.7 percent mark from the free throw line … Scored 10 points or more in 17 of 22 appearances and 20 points or more in five games … Pulled down double-digit rebounds in 13 contests … Posted double-doubles in a career-high 12 games and had recorded 22 double-doubles in in 48 games … Recorded double-doubles in seven-straight games from November 23-December 30 … Finished with 26 points and 16 rebounds November 26 at Fitchburg State … Set a new program-record for made-field goals in a single-game (15) and tied the program-record for points in a single-game (33) on December 3 with 33 points (15-of-22) in 26 minutes against Mount Ida … Tied for fifth-most rebounds in a single-game in program-history with 24 boards and 19 points January 16 at Bridgewater State … Poured in 32 points on 13-of-21 shooting and added 19 rebounds, three steals and three blocks against UMass Dartmouth on January 21 … UMass Boston finished 10-2 when Olivia posted a double-double.  

2012-13 Turned in one of the best freshman seasons in program-history to help the Beacons record the second-most wins in school history … Became the second player in school history to be named the D3Hoops.com Northeast Region Rookie of the Year … Recognized as the ECAC Division III New England Women’s Basketball Rookie of the Year … Named the Little East Conference Rookie of the Year … Honored as the second UMB player in school history to be named to the Little East Conference Al-Defensive Team … Selected as one of five Little East Conference Rookies on the All-Rookie Team … Honored as the Little East Conference Rookie of the Week a UMB record seven times … Named the New England Women’s Basketball Association Rookie of the Week on January 7 … Honored as the UMass Boston Tip-off Tournament and Key Largo Classic Tournament Most Valuable Player … Appeared in all 26 contests, while making 24 starts at the power forward position … Finished third in the conference and second on the team with 31.8 minutes per game … Ended the season as the only LEC player to average a double-double with 14.5 points and 10.2 rebounds per game … Paced the conference with 10.2 rebounds and finished third in points per game … Led the LEC with her 109 offensive rebounds and 4.2 offensive rebounds per game … Recorded 1.8 blocks per game, the second-best mark in the LEC … Finished second on UMB and fifth in the conference with 1.7 steals per game … Totaled 378 points, 266 rebounds, 47 blocks and 44 steals … Ended the year amongst the top 11 in the conference in field goal percentage (41.9) and free throw percentage (65.0) … Recorded 10 double-doubles on the season, including six games of 20 points or more … Finished with 10 points and 15 rebounds in her collegiate debut November 17 against Middlebury College … Registered a career-high 18 rebounds December 4 at Mount Ida College … Poured in 20 points and 15 rebounds in 47 minutes December 30 against Maine Maritime Academy … Recorded a career-high 29 points and added 10 assists January 10 against Bridgewater State University … Finished the season with 21 points and 15 rebounds in a Little East Conference Quarterfinal loss to UMass Dartmouth.

PERSONAL/HIGH SCHOOL Graduated from Canton High School in 2012, where she played volleyball, basketball, and softball ... Named Hockmock League All-Star as a junior and senior with the basketball team ... Patriot Ledger All-Scholastic Team honoree as a junior and senior ... Helped the volleyball to three-straight league championships ... Two-time Hockmock League All-Star in volleyball and one-time All-Star in softball ... Born on September 25, 1993 ... Daughter of Michelle and William Murphy ... Has one brother, Brian and one sister, Julia (also a member of the UMass Boston volleyball team) ... Majoring in Exercise Health Science.

Career Stats


Minutes  Total  3-Point  F-Throws  Rebounds   
Year  gp-gs  min  avg  fg  fga  pct  fg  fga  pct  ft  fta  pct  off  def  tot  avg  pf  fo  ast  t/o  blk  stl  pts  avg 
2012-13   26-24  828  31.8  156  372  .419  1.000  65  100  .650  109  157  266  10.2  62  33  63  47  44  378  14.5 
TOTAL  26-24  828  31.8  156  372  .419  1.000  65  100  .650  109  157  266  10.2  62  33  63  47  44  378  14.5 


Recent Games
Feb 8 Eastern Connecticut State University L, 64-37
Feb 11 at UMass Dartmouth L, 76-59
Feb 15 at Plymouth State University W, 64-54
Feb 18 University of Southern Maine L, 49-48
Feb 22 at Western Connecticut State University L, 49-38
Feb 25 at University of Southern Maine L, 53-45
Statistics category Overall Conf
Games 22 11
Games started 20 9
Minutes 657 334
Minutes per game 29.9 30.4
FG 143-309 62-146
FG Pct 46.3 42.5
3PT 0-1 0-0
3PT Pct 0.0 -
FT 64-96 32-46
FT Pct 66.7 69.6
Off rebounds 88 34
Def rebounds 146 75
Total rebounds 234 109
Rebounds per game 10.6 9.9
Personal fouls 47 23
Disqualifications 1 0
Assists 22 9
Turnovers 47 24
Assist to turnover ratio 0.5 0.4
Steals 23 15
Blocks 32 15
Points 350 156
Points per game 15.9 14.2
Points per 40 min 21.3 18.7
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 19 at Simmons College W, 71-37 1 26 8-16 50.0 0-0 - 4-5 80.0 20
Nov 22 at Wesleyan University (Conn.) L, 58-47 1 30 4-11 36.4 0-0 - 1-6 16.7 9
Nov 23 vs. Albertus Magnus College W, 84-80 1 36 8-13 61.5 0-0 - 0-0 - 16
Nov 26 at Fitchburg State University W, 59-47 1 36 10-26 38.5 0-1 0.0 6-8 75.0 26
Dec 3 Mount Ida College W, 79-41 1 26 15-22 68.2 0-0 - 3-5 60.0 33
Dec 7 Keene State College W, 66-56 1 37 11-20 55.0 0-0 - 5-10 50.0 27
Dec 12 at Westfield State University W, 72-49 1 32 7-14 50.0 0-0 - 4-5 80.0 18
Dec 14 at Rhode Island College L, 48-30 1 27 5-11 45.5 0-0 - 2-2 100.0 12
Dec 30 Husson University W, 64-49 1 24 8-13 61.5 0-0 - 3-4 75.0 19
Jan 2 at Salve Regina University W, 60-54 1 24 6-14 42.9 0-0 - 2-7 28.6 14
Jan 6 at Brandeis University L, 73-35 1 15 1-4 25.0 0-0 - 2-2 100.0 4
Jan 11 at Eastern Connecticut State University L, 67-47 - 23 4-12 33.3 0-0 - 2-2 100.0 10
Jan 14 Plymouth State University L, 46-42 - 27 5-12 41.7 0-0 - 3-6 50.0 13
Jan 16 at Bridgewater State University (Mass.) W, 64-39 1 36 9-20 45.0 0-0 - 1-2 50.0 19
Jan 18 Western Connecticut State University W, 66-40 1 29 6-12 50.0 0-0 - 2-4 50.0 14
Jan 21 UMass Dartmouth W, 70-55 1 38 13-21 61.9 0-0 - 6-8 75.0 32
Jan 25 at Keene State College L, 60-56 1 32 2-7 28.6 0-0 - 4-4 100.0 8
Jan 28 at University of Southern Maine L, 55-47 1 32 6-12 50.0 0-0 - 1-2 50.0 13
Feb 1 Rhode Island College L, 55-44 1 35 3-9 33.3 0-0 - 0-0 - 6
Feb 4 at Suffolk University W, 74-71 1 38 5-10 50.0 0-0 - 6-6 100.0 16
Feb 8 Eastern Connecticut State University L, 64-37 1 19 1-13 7.7 0-0 - 0-0 - 2
Feb 11 at UMass Dartmouth L, 76-59 1 35 6-17 35.3 0-0 - 7-8 87.5 19
Feb 15 at Plymouth State University W, 64-54 - - - - - - - - -
Feb 18 University of Southern Maine L, 49-48 - - - - - - - - -
Feb 22 at Western Connecticut State University L, 49-38 - - - - - - - - -
Feb 25 at University of Southern Maine L, 53-45 - - - - - - - - -
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 19 at Simmons College W, 71-37 1 26 4 6 10 0 1 0.0 0 0 1 0
Nov 22 at Wesleyan University (Conn.) L, 58-47 1 30 3 4 7 1 2 0.5 4 3 4 0
Nov 23 vs. Albertus Magnus College W, 84-80 1 36 8 8 16 3 4 0.8 0 4 5 1
Nov 26 at Fitchburg State University W, 59-47 1 36 6 10 16 1 2 0.5 2 0 2 0
Dec 3 Mount Ida College W, 79-41 1 26 7 5 12 0 0 - 0 0 2 0
Dec 7 Keene State College W, 66-56 1 37 3 9 12 0 1 0.0 2 3 2 0
Dec 12 at Westfield State University W, 72-49 1 32 3 10 13 1 8 0.1 2 3 2 0
Dec 14 at Rhode Island College L, 48-30 1 27 3 9 12 0 4 0.0 2 0 1 0
Dec 30 Husson University W, 64-49 1 24 7 4 11 1 1 1.0 0 0 2 0
Jan 2 at Salve Regina University W, 60-54 1 24 2 5 7 0 3 0.0 0 2 3 0
Jan 6 at Brandeis University L, 73-35 1 15 0 3 3 1 0 - 0 0 0 0
Jan 11 at Eastern Connecticut State University L, 67-47 - 23 2 1 3 3 2 1.5 1 0 2 0
Jan 14 Plymouth State University L, 46-42 - 27 1 8 9 0 4 0.0 0 4 3 0
Jan 16 at Bridgewater State University (Mass.) W, 64-39 1 36 12 12 24 2 2 1.0 0 2 1 0
Jan 18 Western Connecticut State University W, 66-40 1 29 5 6 11 1 0 - 3 0 3 0
Jan 21 UMass Dartmouth W, 70-55 1 38 8 11 19 1 1 1.0 3 3 3 0
Jan 25 at Keene State College L, 60-56 1 32 1 6 7 1 3 0.3 1 1 2 0
Jan 28 at University of Southern Maine L, 55-47 1 32 6 9 15 0 4 0.0 0 1 2 0
Feb 1 Rhode Island College L, 55-44 1 35 1 10 11 0 2 0.0 0 2 2 0
Feb 4 at Suffolk University W, 74-71 1 38 2 4 6 3 0 - 0 3 2 -
Feb 8 Eastern Connecticut State University L, 64-37 1 19 1 1 2 2 1 2.0 1 1 2 0
Feb 11 at UMass Dartmouth L, 76-59 1 35 3 5 8 1 2 0.5 2 0 1 0
Feb 15 at Plymouth State University W, 64-54 - - - - - - - - - - - -
Feb 18 University of Southern Maine L, 49-48 - - - - - - - - - - - -
Feb 22 at Western Connecticut State University L, 49-38 - - - - - - - - - - - -
Feb 25 at University of Southern Maine L, 53-45 - - - - - - - - - - - -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2012-13 26 24 31.8 6.0-14.3 41.9 0.0-0.0 100.0 2.5-3.8 65.0 14.5
2013-14 22 20 29.9 6.5-14.0 46.3 0.0-0.0 0.0 2.9-4.4 66.7 15.9
2014-15 28 27 30.1 5.9-12.6 46.6 0.0-0.0 - 2.1-3.1 69.0 13.9
Total 76 71 30.6 6.1-13.6 44.8 0.0-0.0 50.0 2.5-3.7 66.8 14.7
  gp gs min fg pct 3pt pct ft pct pts
2012-13 26 24 828 156-372 41.9 1-1 100.0 65-100 65.0 378
2013-14 22 20 657 143-309 46.3 0-1 0.0 64-96 66.7 350
2014-15 28 27 842 165-354 46.6 0-0 - 60-87 69.0 390
Total 76 71 2327 464-1035 44.8 1-2 50.0 189-283 66.8 1118
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2012-13 26 24 31.8 7.5-18.0 41.9 0.0-0.0 100.0 3.1-4.8 65.0 18.3
2013-14 22 20 29.9 8.7-18.8 46.3 0.0-0.1 0.0 3.9-5.8 66.7 21.3
2014-15 28 27 30.1 7.8-16.8 46.6 0.0-0.0 - 2.9-4.1 69.0 18.5
Total 76 71 30.6 8.0-17.8 44.8 0.0-0.0 50.0 3.2-4.9 66.8 19.2
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2012-13 26 24 31.8 4.2 6.0 10.2 2.4 0.0 1.3 2.4 0.5 1.7 1.8
2013-14 22 20 29.9 4.0 6.6 10.6 2.1 0.0 1.0 2.1 0.5 1.0 1.5
2014-15 28 27 30.1 4.1 6.3 10.4 2.4 0.0 2.5 3.0 0.8 1.4 1.6
Total 76 71 30.6 4.1 6.3 10.4 2.3 0.0 1.7 2.6 0.6 1.4 1.6
  gp gs min off def reb pf dq ast to a/to stl blk
2012-13 26 24 828 109 157 266 62 1 33 63 0.5 44 47
2013-14 22 20 657 88 146 234 47 1 22 47 0.5 23 32
2014-15 28 27 842 115 177 292 67 1 71 84 0.8 39 44
Total 76 71 2327 312 480 792 176 3 126 194 0.6 106 123
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2012-13 26 24 31.8 5.3 7.6 12.9 3.0 0.0 1.6 3.0 0.5 2.1 2.3
2013-14 22 20 29.9 5.4 8.9 14.2 2.9 0.1 1.3 2.9 0.5 1.4 1.9
2014-15 28 27 30.1 5.5 8.4 13.9 3.2 0.0 3.4 4.0 0.8 1.9 2.1
Total 76 71 30.6 5.4 8.3 13.6 3.0 0.1 2.2 3.3 0.6 1.8 2.1
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 22 20 29.9 6.5-14.0 46.3 0.0-0.0 0.0 2.9-4.4 66.7 15.9
Conference 11 9 30.4 5.6-13.3 42.5 0.0-0.0 - 2.9-4.2 69.6 14.2
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 8 7 29.4 7.8-15.2 50.8 0.0-0.0 - 2.8-4.6 59.5 18.3
Away 13 12 29.7 5.6-13.4 42.0 0.0-0.1 0.0 3.2-4.5 71.2 14.5
Neutral 1 1 36.0 8.0-13.0 61.5 0.0-0.0 - 0.0-0.0 - 16.0
-
Wins 12 12 31.8 8.8-16.8 52.7 0.0-0.1 0.0 3.5-5.3 65.6 21.2
Losses 10 8 27.5 3.7-10.8 34.3 0.0-0.0 - 2.2-3.2 68.8 9.6
-
November 4 4 32.0 7.5-16.5 45.5 0.0-0.2 0.0 2.8-4.8 57.9 17.8
December 5 5 29.2 9.2-16.0 57.5 0.0-0.0 - 3.4-5.2 65.4 21.8
January 9 7 28.4 5.8-12.7 45.6 0.0-0.0 - 2.6-4.1 62.2 14.1
February 4 4 31.8 3.8-12.2 30.6 0.0-0.0 - 3.2-3.5 92.9 10.8
  gp gs min fg pct 3pt pct ft pct pts
Total 22 20 657 143-309 46.3 0-1 0.0 64-96 66.7 350
Conference 11 9 334 62-146 42.5 0-0 - 32-46 69.6 156
Exhibition - - - 0-0 - 0-0 - 0-0 - 0
-
Home 8 7 235 62-122 50.8 0-0 - 22-37 59.5 146
Away 13 12 386 73-174 42.0 0-1 0.0 42-59 71.2 188
Neutral 1 1 36 8-13 61.5 0-0 - 0-0 - 16
-
Wins 12 12 382 106-201 52.7 0-1 0.0 42-64 65.6 254
Losses 10 8 275 37-108 34.3 0-0 - 22-32 68.8 96
-
November 4 4 128 30-66 45.5 0-1 0.0 11-19 57.9 71
December 5 5 146 46-80 57.5 0-0 - 17-26 65.4 109
January 9 7 256 52-114 45.6 0-0 - 23-37 62.2 127
February 4 4 127 15-49 30.6 0-0 - 13-14 92.9 43
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 22 20 29.9 8.7-18.8 46.3 0.0-0.1 0.0 3.9-5.8 66.7 21.3
Conference 11 9 30.4 7.4-17.5 42.5 0.0-0.0 - 3.8-5.5 69.6 18.7
Exhibition - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
-
Home 8 7 29.4 10.6-20.8 50.8 0.0-0.0 - 3.7-6.3 59.5 24.9
Away 13 12 29.7 7.6-18.0 42.0 0.0-0.1 0.0 4.4-6.1 71.2 19.5
Neutral 1 1 36.0 8.9-14.4 61.5 0.0-0.0 - 0.0-0.0 - 17.8
-
Wins 12 12 31.8 11.1-21.0 52.7 0.0-0.1 0.0 4.4-6.7 65.6 26.6
Losses 10 8 27.5 5.4-15.7 34.3 0.0-0.0 - 3.2-4.7 68.8 14.0
-
November 4 4 32.0 9.4-20.6 45.5 0.0-0.3 0.0 3.4-5.9 57.9 22.2
December 5 5 29.2 12.6-21.9 57.5 0.0-0.0 - 4.7-7.1 65.4 29.9
January 9 7 28.4 8.1-17.8 45.6 0.0-0.0 - 3.6-5.8 62.2 19.8
February 4 4 31.8 4.7-15.4 30.6 0.0-0.0 - 4.1-4.4 92.9 13.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 22 20 29.9 4.0 6.6 10.6 2.1 0.0 1.0 2.1 0.5 1.0 1.5
Conference 11 9 30.4 3.1 6.8 9.9 2.1 0.0 0.8 2.2 0.4 1.4 1.4
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 220, 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: #elseif ($releases.size() > 0)
74:   #set ($view = "news")
75: #end
76: 
77: #if ($options.get("bio_default_view").length() > 0)
78:   #set ($checkView = $options.get("bio_default_view"))
79: #end
80: 
81: #if ($request.getParameter("view"))
82:   #set ($checkView = $request.getParameter("view"))
83: #end
84: 
85: #if ($checkView == "profile" && $statsURL.length() > 0)
86:   #set ($view = "profile")
87: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
88:   #set ($view = "bio")
89: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
90:   #set ($view = "gamelog")
91: #elseif ($checkView == "career" && $showCareer)
92:   #set ($view = "career")
93: #elseif ($checkView == "splits" && $statsURL.length() > 0)
94:   #set ($view = "splits")
95: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
96:   #set ($view = "htmlstats")
97: #elseif ($checkView == "news" && $releases.size() > 0)
98:   #set ($view = "news")
99: #end
100: 
101: #macro (gamelogData $p)
102: 
103: #set ($p = $positions.get($p))
104: #set ($gamelogs = $gamelogs.get($p))
105: 
106: #if ($hasEvents)
107: <div class="stats-box full clearfix">
108: <div class="scrollable">
109: <div>
110: <table>
111:   <tr class="thead">
112:     <th class="text">Date</th>
113:     <th class="pinned-col text">Opponent</th>
114:     <th>Score</th>
115:     #foreach ($gamelog in $gamelogs)
116:       <th>$gamelog</th>
117:     #end
118:   </tr>
119: #foreach ($event in $events)
120:   <tr>
121:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
122:     <td class="pinned-col text">
123:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
124:       $event.event.opponent.name
125:     </td>
126:     <td>
127:     #if ($event.event.statusCode >= 0)
128:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
129:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
130:       #else
131:       ${event.event.APResult}
132:       #end
133:     #else &nbsp; #end
134:     </td>
135:     #foreach ($gamelog in $gamelogs.keySet())
136:       #set ($value = "-")
137:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
138:       <td>$value</td>
139:     #end
140:   </tr>
141: #end
142: </table>
143: </div>
144: </div> ## scrollable
145: </div> ## stats-box
146: #end
147: 
148: #end ## macro gamelogData
149: 
150: #macro (split $statPosBriefs $label $stats)
151:   <tr>
152:     <td class="pinned-col text">${label}</td>
153:     #foreach ($brief in $statPosBriefs.keySet())
154:       #set ($value = "-")
155:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
156:       <td>#if ($value.length() > 0) $value #else - #end</td>
157:     #end
158:   </tr>
159: #end
160: 
161: #macro (careerData $p)
162: #set ($p = $positions.get($p))
163: #set ($statPosBriefs = $briefs.get($p))
164: 
165: <div class="stats-box full clearfix">
166: <div class="scrollable">
167: <div>
168: <table>
169: <tr class="thead">
170:   <th class="pinned-col">&nbsp;</th>
171:   #foreach ($brief in $statPosBriefs)
172:     <th>$brief</th>
173:   #end
174: </tr>
175: 
176: #set ($careerTotals = $request.getAttribute("careerTotals"))
177: #set ($careerMap = $request.getAttribute("careerMap"))
178: 
179: #foreach ($season in $seasons)
180:   ## Check if we did not get stats for this season
181:   #if ($careerMap.get($season.seasonName))
182:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
183:   #elseif ($wiki.valid())
184:     <tr>
185:       <td class="text">${season.seasonName}</td>
186:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
187:     </tr>
188:   #end
189: #end
190: 
191: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
192: 
193: </table>
194: </div>
195: </div> ## scrollable
196: </div> ## stats-box
197: 
198: #end ## macro careerData
199: 
200: #macro (splitsData $p)
201: 
202: #set ($p = $positions.get($p))
203: #set ($statPosBriefs = $briefs.get($p))
204: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))
205: 
206: #if ($statPosBriefs.size() > 0)
207: <div class="stats-box full clearfix">
208: <div class="scrollable">
209: <div>
210: <table>
211:   <tr>
212:     <th class="pinned-col">&nbsp;</th>
213:     #foreach ($brief in $statPosBriefs)
214:       <th>$brief</th>
215:     #end
216:   </tr>
217: 
218: #split($statPosBriefs, "Total", $splits.overall)
219: #split($statPosBriefs, "Conference", $splits.conference)
220: #split($statPosBriefs, "Exhibition", $splits.exhibition)
221: 
222: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
223: 
224: #split($statPosBriefs, "Home", $splits.home)
225: #split($statPosBriefs, "Away", $splits.away)
226: #split($statPosBriefs, "Neutral", $splits.neutral)
227: 
228: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
229: 
230: #foreach($gameResult in $gamesResults.entrySet())
231:   #if ($gameResult.key == "wins")
232:     #set ($splitGameResult = $splits.inWins)
233:   #elseif ($gameResult.key == "losses")
234:     #set ($splitGameResult = $splits.inLosses)
235:   #elseif ($gameResult.key == "ties")
236:     #set ($splitGameResult = $splits.inTies)
237:   #end
238: 
239:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
240: #end
241: 
242: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
243: 
244: #if ($monthsPlayed and $monthsPlayed.size() > 0)
245:   #foreach($month in $monthsPlayed)
246:     #if ($month == 'January')
247:       #set ($splitMonth = $splits.january)
248:     #elseif ($month == 'February')
249:       #set ($splitMonth = $splits.february)
250:     #elseif ($month == 'March')
251:       #set($splitMonth = $splits.march)
252:     #elseif ($month == 'April')
253:       #set($splitMonth = $splits.april)
254:     #elseif ($month == 'May')
255:       #set ($splitMonth = $splits.may)
256:     #elseif ($month == 'June')
257:       #set ($splitMonth = $splits.june)
258:     #elseif ($month == 'July')
259:       #set($splitMonth = $splits.july)
260:     #elseif ($month == 'August')
261:       #set ($splitMonth = $splits.august)
262:     #elseif ($month == 'September')
263:       #set($splitMonth = $splits.september)
264:     #elseif ($month == 'October')
265:       #set($splitMonth = $splits.october)
266:     #elseif ($month == 'November')
267:       #set ($splitMonth = $splits.november)
268:     #elseif ($month == 'December')
269:       #set($splitMonth = $splits.december)
270:     #end
271: 
272:     #split($statPosBriefs, $month, $splitMonth)
273:   #end ## foreach
274: #end
275: </table>
276: </div>
277: </div> ## scrollable
278: </div> ## srollable-table
279: #end
280: 
281: #end ## macro splitsData
282: 
283: #macro (printRecentGames)
284: #if ($hasEvents)
285: <table>
286:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
287: 
288: #set ($eventEnd = -1)
289: #foreach ($event in $events)
290:   #if ($event.event.result.resolved)
291:     #set ($eventEnd = $velocityCount)
292:   #end
293: #end
294: 
295: #set ($eventStart = $eventEnd - 5)
296: #if ($eventStart < 0) #set ($eventStart = 0) #end
297: 
298: #foreach ($event in $events)
299: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
300:   <tr>
301:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
302:     <td class="text">
303:       #if ($event.event.neutralSite.length() > 0) vs.
304:       #elseif (!$event.event.home) at
305:       #else ## nothing for a home game
306:       #end
307:       $event.event.opponent.name
308:     </td>
309:     <td class="text">
310:     #if ($event.event.statusCode >= 0)
311:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
312:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
313:       #else
314:       ${event.event.APResult}
315:       #end
316: 	#end
317: 	</td>
318:   </tr>
319: #end ## if
320: #end
321: </table>
322: #end
323: #end ## macro printRecentGames
324: 
325: #macro (printCategories $briefCategoryLabels $v)
326: 
327: <div class="tab-container secondary clearfix" data-module="amd-tabs">
328: <div class="tab-nav" data-module="jscroll" data-momentum="false">
329: <div>
330: <ul class="clearfix">
331: #foreach($briefCat in $briefCategoryLabels.entrySet())
332:   #set ($briefCatLabel = $briefCat.value)
333:   #set ($briefCatKey = $briefCat.key)
334: 
335:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
336:     #set ($briefCatLabel = "Defence")
337:   #end
338: 
339:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
340: #end
341: </ul>
342: </div>
343: </div>
344: <div class="tab-panels">
345: #foreach ($briefCat in $briefCategoryLabels.entrySet())
346:   #set ($class = "tab-panel clearfix")
347:   #if ($briefCat.key == $activePos)
348:     #set ($class = "tab-panel active clearfix")
349:   #end
350:   <div class="$class">
351:     <div class="stats-wrap clearfix">
352:     #if ($v == "splits")
353:       #splitsData($briefCat.key)
354:     #elseif ($v == "career")
355:       #careerData($briefCat.key)
356:     #end
357:     </div>
358:   </div>
359: #end
360: </div>
361: </div> ## tab-container
362: 
363: #end ## macro printCategories
364: 
365: #macro (printHeadshot)
366: 
367: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
368: 
369: #if ($headshot.url)
370:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
371: #else
372:   #if ($website.exists("/images/setup/headshot_default.jpg"))
373:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
374:   #else
375:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
376:   #end
377: #end
378: #end ## macro printHeadshot
379: 
380: #macro (printBioInfo)
381: <div class="player-name">
382:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
383:   <span class="name">$fullName</span>
384: </div>
385: 
386: <table>
387: #foreach ($i in [1..10])
388:   #set ($stickyKey = "bio_custom${i}_sticky")
389:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
390:     <tr>
391:       <td class="label">$options.get($stickyKey): </td>
392:       <td class="value">$!attributes.get("custom${i}")</td>
393:     </tr>
394:   #end
395: #end
396: 
397: #foreach ($field in $fields)
398:   #if (!$field.key.startsWith("custom"))
399:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
400:       #if ($field.key == "phone1" || $field.key == "phone2")
401:         <tr>
402:           <td class="label">Phone: </td>
403:           <td class="value">$!attributes.get($field.key)</td>
404:         </tr>
405:       #elseif ($field.key == "email_address")
406:         #set ($emailAdd = $attributes.get($field.key))
407:         <tr>
408:           <td class="label">Email: </td>
409:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
410:         </tr>
411:       #elseif ($field.key == "weight_class")
412:         <tr>
413:           <td class="label">Class: </td>
414:           <td class="value">$!attributes.get($field.key)</td>
415:         </tr>
416:       #else
417:         <tr>
418:           <td class="label">$field.value: </td>
419:           <td class="value">$!attributes.get($field.key)</td>
420:         </tr>
421:       #end
422:     #end
423:   #end
424: #end
425: 
426: #foreach ($i in [1..10])
427:   #set ($customKey = "bio_custom${i}")
428:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
429:     <tr>
430:       <td class="label">$options.get($customKey): </td>
431:       <td class="value">$!attributes.get("custom${i}")</td>
432:     </tr>
433:   #end
434: #end
435: </table>
436: #end ## macro printBioInfo
437: 
438: #macro (printHighlights)
439: #foreach ($highlight in $highlights.keySet())
440:   #set ($value = "-")
441:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
442:   <div class="stat clearfix">
443:     <span class="stat-title">$!highlights.get($highlight)</span>
444:     <span class="stat-value">$value</span>
445:   </div>
446: #end
447: #end ## macro printHighlights
448: 
449: #macro (printRoster)
450: #if ($page.contentType == "loki/bio")
451:   #set ($headlinesFeaturedSize = 0)
452:   #foreach ($featuredPage in $page.headlinesFeatured)
453:     #if ($featuredPage.contentType == "loki/headlines")
454:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
455:     #end
456:   #end
457:   #if ($headlinesFeaturedSize > 0)
458:     <select class="roster-select-list">
459:       <option selected="selected">Related Bios</option>
460:       #foreach ($featuredPage in $page.headlinesFeatured)
461:         #if ($featuredPage.contentType == "loki/headlines")
462:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
463: 		#end
464: 	  #end
465:     </select>
466:   #end
467: #elseif ($page.contentType == "loki/bio-network")
468:   #set ($relatedPlayers = $page.sectionPage.children)
469:   #set ($teamNames = {})
470:   #foreach ($relatedPlayer in $relatedPlayers)
471:     #if ($relatedPlayer.contentType == "loki/bio-network")
472:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
473:       #set ($teamName = $relatedPlayerObj.get("team"))
474:       #if ($teamName.length() > 0)
475:         #if (!$teamNames.containsValue($teamName))
476:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
477:         #end
478:       #end
479:     #end
480:   #end
481: 
482:   <select class="roster-select-list">
483:   #foreach ($i in [1..$teamNames.size()])
484:     #if ($teamNames.size() > 1)
485:       <optgroup label="$teamNames.get($i)">
486:     #end
487: 
488:     #foreach ($relatedPlayer in $relatedPlayers)
489:       #if ($relatedPlayer.contentType == "loki/bio-network")
490:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
491:         #set ($teamName = $relatedPlayerObj.get("team"))
492:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
493:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
494:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
495:           #if ($page.url == $relatedPlayer.url)
496:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
497:           #else
498:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
499:           #end
500:         #end
501:       #end
502:     #end
503: 
504:     #if ($teamNames.size() > 1)
505:       </optgroup>
506:     #end
507:   #end
508:   </select>
509: #end
510: #end ## macro printRoster
511: 
512: ################################################## END MACROS  #############################################################
513: 
514: #if ($attributes.get("full_name").length() > 0)
515:   #set ($fullName = $attributes.get("full_name"))
516: #else
517:   #set ($firstName = $!attributes.get("first_name"))
518:   #set ($lastName = $!attributes.get("last_name"))
519:   #set ($fullName = "${firstName} ${lastName}")
520: #end
521: 
522: ## FULL ROSTER
523: <div class="bio-wrap clearfix #if ($highlights) bio-wrap-has-highlights #end">
524: 
525: ## RELATED BIOS
526: #if ($showRoster)
527:   <div class="related-bios clearfix">#printRoster</div>
528: #end
529: 
530: <div class="head clearfix">
531: <div class="clearfix">
532: 
533: <div class="player-about clearfix">
534:   <div class="player-headshot">#printHeadshot</div>
535:   <div class="player-info">#printBioInfo</div>
536: </div>
537: 
538: #if ($highlights && $showHighlights)
539:   <div class="player-highlights clearfix">#printHighlights</div>
540: #end
541: 
542: </div>
543: </div> ## head
544: 
545: #if ($view.length() > 0)
546: <div class="body clearfix">
547: 
548: <div class="tab-container primary clearfix" data-module="amd-tabs">
549: <div class="tab-nav" data-module="jscroll" data-momentum="false">
550:   <div>
551:   <ul class="clearfix">
552:   #if ($hasSynopsis || $hasBioBrief)
553:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
554:   #end
555: 
556:   #if ($statsURL.length() > 0)
557:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
558:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
559:     #if ($showCareer)
560:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
561:     #end
562:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
563:   #end
564: 
565:   #if ($hasHTMLStats)
566:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
567:   #end
568: 
569:   #if ($releases.size() > 0)
570: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
571:   #end
572:   </ul>
573:   </div>
574: </div> ## tab-nav
575: 
576: <div class="tab-panels clearfix">
577: 
578: ## BIO
579: #if ($hasSynopsis || $hasBioBrief)
580: 
581: #set ($class = "tab-panel clearfix")
582: #if ($view == "bio")
583:   #set ($class = "tab-panel active clearfix")
584: #end
585: <div class="${class}">
586: 
587: <div class="synopsis clearfix">
588: #if ($hasSynopsis)
589:   $synopsis
590: #elseif ($hasBioBrief)
591:   $website.include("$bioBriefURL")
592: #end
593: </div>
594: 
595: </div> ## tab-panel
596: #end
597: ## BIO
598: 
599: ## STATS
600: #if ($statsURL.length() > 0)
601: 
602: ## PROFILE
603: #set ($class = "tab-panel clearfix")
604: #if ($view == "profile")
605:   #set ($class = "tab-panel active clearfix")
606: #end
607: <div class="${class}">
608: <div class="stats-wrap clearfix">
609: 
610: ## LAST SIX GAMES
611: <div class="stats-box half">
612: #printRecentGames()
613: </div>
614: 
615: ## RANKING
616: <div class="stats-box half">
617: #if ($statPos.length() > 0)
618:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
619: #end
620: </div>
621: 
622: </div> ## stats-wrap
623: </div> ## tab-content
624: ## PROFILE
625: 
626: ## GAMELOG
627: #set ($class = "tab-panel clearfix")
628: #if ($view == "gamelog")
629:   #set ($class = "tab-panel active clearfix")
630: #end
631: 
632: #set ($activePos = $statPos)
633: #if ($view == "gamelog" && $paramPos.length() > 0)
634:   #if ($positions.get($paramPos).length() > 0)
635:     #set ($activePos = $positions.get($paramPos))
636:   #end
637: #end
638: 
639: <div class="${class}">
640: 
641: #if ($gamelogsCategoriesLabels)
642: <div class="tab-container secondary clearfix" data-module="amd-tabs">
643:   <div class="tab-nav" data-module="jscroll" data-momentum="false">
644:     <div>
645:     <ul class="clearfix">
646:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
647:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
648: 
649:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
650:         #set($gamelogsCatLabelVal = "Defence")
651:       #end
652: 
653:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
654:     #end
655:     </ul>
656: 	</div>
657:   </div>
658:   <div class="tab-panels">
659:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
660:     #set ($class = "tab-panel clearfix")
661:     #if ($gamelogsCatLabel.key == $activePos)
662:       #set ($class = "tab-panel active clearfix")
663:     #end
664:     <div class="${class}">
665:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
666: 	</div>
667:   #end
668:   </div>
669: </div>
670: #else
671:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
672: #end
673: 
674: </div> ## tab-panel
675: ## GAMELOG
676: 
677: 
678: ## CAREER
679: #if ($showCareer)
680: 
681: #set ($activePos = $statPos)
682: #if ($view == "career" && $paramPos.length() > 0)
683:   #if ($positions.get($paramPos).length() > 0)
684:     #set ($activePos = $positions.get($paramPos))
685:   #end
686: #end
687: 
688: #set ($class = "tab-panel clearfix")
689: #if ($view == "career")
690:   #set ($class = "tab-panel active clearfix")
691: #end
692: 
693: <div class="${class}">
694: 
695: #if ($briefsCategoriesLabels)
696:   #printCategories($briefsCategoriesLabels "career")
697: #else
698:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
699: #end
700: 
701: </div> ## tab-panel
702: #end
703: ## CAREER
704: 
705: ## SPLITS
706: #set ($class = "tab-panel clearfix")
707: #if ($view == "splits")
708: 	#set ($class = "tab-panel active clearfix")
709: #end
710: 
711: #set ($activePos = $statPos)
712: #if ($view == "splits" && $paramPos.length() > 0)
713:   #if ($positions.get($paramPos).length() > 0)
714:     #set ($activePos = $positions.get($paramPos))
715:   #end
716: #end
717: 
718: <div class="${class}">
719: 
720: #if ($briefsCategoriesLabels)
721:   #printCategories($briefsCategoriesLabels "splits")
722: #else
723:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
724: #end
725: 
726: </div> ## tab-panel
727: ## SPLITS
728: 
729: #end
730: ## STATS
731: 
732: ## HTML STATS
733: #if ($hasHTMLStats)
734: 
735: #set ($class = "tab-panel clearfix")
736: #if ($view == "htmlstats")
737:   #set ($class = "tab-panel active clearfix")
738: #end
739: <div class="${class}">
740:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
741: </div>
742: 
743: #end
744: ## HTML STATS
745: 
746: ## NEWS
747: #set ($class = "tab-panel clearfix")
748: #if ($view == "news")
749:   #set ($class = "tab-panel active clearfix")
750: #end
751: <div class="bio-news ${class}">
752: 
753: #set ($counter = 0)
754: 
755: #foreach ($article in $releases)
756: #if ($article.title.length() > 0)
757: 
758: #set ($counter = $counter + 1)
759: 
760: #if ($counter == 1)
761:   <div class="row clearfix">
762: #end
763: 
764: <div class="item">
765: <div>
766: #if ($article.thumbnailURL)
767:   <img src="${article.thumbnailURL}?max_width=300" alt="" />
768: #else
769:   <img src="/images/setup/thumbnail_default.jpg" alt="" />
770: #end
771: 
772: <a href="$article.url" class="title">$article.title</a>
773: 
774: </div>
775: </div> ## item
776: 
777: #if ($counter == 3 || $velocityCount == $releases.size())
778:   </div> ## row
779:   #set ($counter = 0)
780: #end
781: 
782: #end
783: #end ## foreach
784: 
785: </div> ## tab-content
786: ## NEWS
787: 
788: </div> ## tab-panels
789: </div> ## tab-container
790: </div> ## body
791: #end
792: 
793: $wiki
794: </div> ## ends bio-wrap