Page source: |
1: ##COMMON FUNCTIONS
2: #macro (printPdfHeader $title)
3: <div class="stats-fullbox clearfix">
4: <table>
5: <tr>
6: <td class="align-center"><h4>$title</h4></td>
7: </tr>
8: </table>
9: </div>
10: #end
11: ##
12:
13: #if($stats.view != "pdf" )
14: $website.decorate("printer-decorator")
15: #end
16:
17: #set ($sportCode = $document.getRootElement().valueOf("network/@sportCode"))
18: #if ($sportCode == "")
19: #set ($sportCode = $sport)
20: #end
21: #set ($menLacrosseSportCode = 6)
22: #set ($womenLacrosseSportCode = 10)
23:
24: #if ($sportCode == $menLacrosseSportCode)
25: #set ($gender = 'M')
26: #else
27: #set ($gender = 'F')
28: #end
29:
30: #set ($periodRule = $tool.math.toInteger($document.valueOf("lcgame/venue/rules/@prds")))
31: #macro (period $p)
32: #set ($p = $tool.math.toInteger($p))
33: #if($p <= $periodRule)
34:
35: #if ($p == 1)1st
36: #elseif ($p == 2)2nd
37: #elseif ($p == 3)3rd
38: #elseif ($p == 4)4th
39: #end
40: #else
41: #set($ot = $p - $periodRule)
42: #if ($ot > 1)
43: ${ot}OT
44: #else
45: OT
46: #end
47: #end
48: #end
49:
50: #set ($home = $document.valueOf("lcgame/team[@vh='H']/@name"))
51: #set ($visitor = $document.valueOf("lcgame/team[@vh='V']/@name"))
52: #set ($status = $tool.math.toInteger($document.valueOf("lcgame/status/@period")))
53: #set ($clock = $document.valueOf("lcgame/status/@clock"))
54:
55: #set ($periods = $document.numberValueOf("lcgame/team[@vh='V']/linescore/@periods"))
56: #set ($periods = $tool.math.toInteger($periods))
57: #set ($periodRange = [1..$periods])
58:
59: #set ($linkPlayers = $stats.linkPlayers)
60: #set ($linkPlayersBase = $stats.linkPlayersBase)
61: #set ($linkTeams = $stats.linkTeams)
62: #set ($linkTeamsBase = $stats.linkTeamsBase)
63:
64: #set ($shootoutScores = {"V" : 0, "H" : 0})
65: #set ($hasPlayByPlay = $document.selectNodes("lcgame/plays/period").size() > 0)
66: #set ($isNeutralGame = $documnt.valueOf("lcgame/venue/@neutralgame"))
67: #if ($isNeutralGame.length() > 0 && $isNeutralGame.equals("Y"))
68: #set ($isNeutralGame = true)
69: #else
70: #set ($isNeutralGame = false)
71: #end
72:
73: #if ($stats.pageUrl.length() > 0 && !$stats.pageUrl.contains("?"))
74: #set ($paramSep = "?")
75: #else
76: #set ($paramSep = "&")
77: #end
78:
79: #set ($visname = $document.valueOf("lcgame/venue/@visname"))
80: #set ($homename = $document.valueOf("lcgame/venue/@homename"))
81: #set ($visid = $document.valueOf("lcgame/venue/@visid"))
82: #set ($homeid = $document.valueOf("lcgame/venue/@homeid"))
83: #set ($location = $document.valueOf("lcgame/venue/@location"))
84: #set ($stadium = $document.valueOf("lcgame/venue/@stadium"))
85: #set ($date = $document.valueOf("lcgame/venue/@date"))
86: #set ($time = $document.valueOf("lcgame/venue/@start"))
87: #set ($schedNote = $document.valueOf("lcgame/venue/@schednote"))
88:
89: ## SORT GOALIES BY GOALIECHANGES NODE https://prestosports.jira.com/browse/PS-5828
90: #set ($visitorGoaliesOrder = [])
91: #set ($visitorCount = 1)
92:
93: #set ($homeGoaliesOrder = [])
94: #set ($homeCount = 1)
95:
96: #foreach ($node in $document.selectNodes("lcgame/goaliechanges/goaliechange"))
97: #if ($node.attributeValue('vh') == 'V')
98: #if ($!visitorGoaliesOrder.add($node.attributeValue('uni')))#end
99: #set($visitorCount = $visitorCount + 1)
100: #else
101: #if ($!homeGoaliesOrder.add($node.attributeValue('uni')))#end
102: #set($homeCount = $homeCount + 1)
103: #end
104: #end
105:
106: #macro (printPlayerName $node $link)
107: #if ($node.valueOf("../@playerId").length() > 0 && $linkPlayers && $link)
108: <a href="$!linkPlayersBase?id=${stat.valueOf("../@playerId")}">
109: #end
110: $node.valueOf("../@name")
111: #if ($node.valueOf("../@playerId").length() > 0 && $linkPlayers && $link)
112: </a>
113: #end
114: #end
115:
116: #macro (listGoalies $nodes $pos)
117: #foreach ($stat in $nodes)
118: #if ($pos == $stat.valueOf("../@uni") || ! $pos)
119: <div class="row goalies">
120: <div class="toggle clearfix">
121: <div class="data">$!stat.valueOf("../@uni")</div>
122: <div class="name">#printPlayerName($stat, false)</div>
123: #set ($ga = $stat.numberValueOf("@ga"))
124: <div class="data">$!formatter.formatNumber($ga, "#")</div>
125: <div class="data">$!stat.valueOf("@minutes")</div>
126: <div class="data">$!stat.valueOf("@saves")</div>
127: <div class="data">#shots($stat.valueOf("@ga") $stat.valueOf("@saves"))</div>
128: </div>
129: </div>
130: #end
131: #end
132: #end
133:
134: #macro (printGoalies $team)
135: #set ($nodes = $team.selectNodes("player/goalie"))
136: #if ($team.attributeValue('vh') == 'V')
137: #set($order = $visitorGoaliesOrder)
138: #else
139: #set($order = $homeGoaliesOrder)
140: #end
141:
142: #set ($printedUNIS = [])
143:
144: #if ($order.size() > 0)
145: #foreach($uni in $order)
146:
147: #set ($printAllowed = true)
148:
149: #foreach($printedUNI in $printedUNIS)
150: #if ($uni == $printedUNI)
151: #set ($printAllowed = false)
152: #end
153: #end
154:
155: #if ($printAllowed)
156: #listGoalies($nodes, $uni)
157: #set ($addResult = $printedUNIS.add($uni))
158: #end
159: #end
160: #else
161: #listGoalies($nodes, false)
162: #end
163: #end
164:
165: ## GOALIE SHOTS
166: #macro (shots $ga $saves)
167: #if ($saves.length() > 0)
168: $tool.math.add($ga, $saves)
169: #else
170:
171: #end
172: #end
173:
174: ## POWER PLAY PERCENTAGE
175: #macro (pp $ppg $ppopp)
176: #if ($ppopp.length() > 0)
177: $formatter.formatNumber($tool.math.div($ppopp, $ppg), 3)
178: #else
179:
180: #end
181: #end
182:
183: ## SHOOTOUT
184: #macro (shootout $shootouts $t)
185: #foreach ($shot in $shootouts)
186: #if ($shot.valueOf("@vh") == $t)
187: #if ($shot.valueOf("@result") == "MADE")
188: #set ($score = $shootoutScores.get($t))
189: #set ($score = $tool.math.add($score, 1))
190: #set ($score = $shootoutScores.put($t, $score))
191: Goal
192: #else
193: No Goal
194: #end
195: - #${shot.valueOf("@uni")} ${shot.valueOf("@name")}<br />
196: #end ## if
197: #end ## foreach
198: #end
199:
200: #macro (printPeriodHeadCoach)
201: #set ($ot = 0)
202: #foreach ($i in $periodRange)
203: #if (($gender == 'M' && $i > 4) || ($gender == 'F' && $i > 2))
204: #set ($ot = $ot + 1)
205: #if ($ot > 1)
206: <th style="width:40px;" class="align-left">${ot}OT</th>
207: #else
208: <th style="width:40px;" class="align-left">OT</th>
209: #end
210: #else
211: <th style="width:40px;" class="align-left">$i</th>
212: #end
213: #end
214: #end
215:
216: ## CALCULATE FACEOFF
217: #macro (calculateFaceoff $pVal $period $team)
218: #if ($team.attributeValue("name") == $visitor)
219: #set ($otherTeam = $document.selectSingleNode("lcgame/team[@vh='H']"))
220: #else
221: #set ($otherTeam = $document.selectSingleNode("lcgame/team[@vh='V']"))
222: #end
223: #set($add1 = $team.valueOf("linescore/lineprd[$period]/@fowon"))
224: #set($add2 = $otherTeam.valueOf("linescore/lineprd[$period]/@fowon"))
225: #if ($add1.length() > 0 && $add2.length() > 0)
226: ${pVal}-$tool.math.add($add1, $add2)
227: #end
228: #end
229:
230:
231: #macro (playerstatsCoach $team)
232: <table>
233: <tr><td class="align-left"><h4>$team.valueOf("@name")</h4></td></tr>
234: </table>
235: <table>
236: <tr>
237: <th>POS</th>
238: <th class="align-left">#</th>
239: <th class="align-left">PLAYER</th>
240: <th>G</th>
241: <th>A</th>
242: <th>Pts</th>
243: <th>Sh</th>
244: <th>SOG</th>
245: <th>GB</th>
246: #if ($gender == 'M')<th>Face</th>#elseif ($gender == 'F')<th>DC</th>#end
247: #if ($gender == 'F')<th>FPS</th>#end
248: <th>T/O</th>
249: <th>CT</th>
250: #if ($gender == 'M')<th>Pen-Min</th>#elseif ($gender == 'F')<th>Fouls</th>#end
251: </tr>
252:
253: #foreach ($stat in $team.selectNodes("player/shots"))
254: #if ($velocityCount % 2 == 0)
255: #set ($row = "even")
256: #else
257: #set ($row = "odd")
258: #end
259:
260: <tr class="$row">
261: <td class="align-left">$stat.valueOf("../@pos")</td>
262: <td>$!stat.valueOf("../@uni")</td>
263: <td class="nowrap">
264: #if ($stat.valueOf("../@playerId").length() > 0 and $linkPlayers)
265: <a href="$!linkPlayersBase?id=${stat.valueOf("../@playerId")}">
266: #end
267: $stat.valueOf("../@name")
268: #if ($stat.valueOf("../@playerId").length() > 0 and $linkPlayers)
269: </a>
270: #end
271: #if($stat.valueOf("../@gs").length() > 0)*#end
272: </td>
273:
274: <td class="align-center">$!stat.valueOf("@g")</td>
275: <td class="align-center">$!stat.valueOf("@a")</td>
276: <td class="align-center">$tool.math.add($!stat.valueOf("@g"),$!stat.valueOf("@a"))</td> ## PTS
277: <td class="align-center">$!stat.valueOf("@sh")</td>
278: <td class="align-center">$!stat.valueOf("@sog")</td>
279: <td class="align-center">$!stat.valueOf("../misc/@gb")</td>
280: #if ($gender == 'M')
281: <td class="align-center">$!stat.valueOf("../misc/@facewon")-$!tool.math.add($!stat.valueOf("../misc/@facewon"),$!stat.valueOf("../misc/@facelost"))</td> ## FACEOFFS
282: #elseif ($gender == 'F')
283: <td class="align-center">$!stat.valueOf("../misc/@dc")</td> ## DRAW CONTROLS
284: #end
285: #if ($gender == 'F')<td class="align-center">$!stat.valueOf("../shots/@freepos")</td>#end ## FREE POSITION
286: <td class="align-center">$!stat.valueOf("../misc/@turnover")</td>
287: <td class="align-center">$!stat.valueOf("../misc/@ct")</td>
288: #if ($gender == 'M')
289: <td class="align-center">$!stat.valueOf("../penalty/@count")-$!stat.valueOf("../penalty/@seconds")</td> ## PEN MIN
290: #elseif ($gender == 'F')
291: <td class="align-center">$!stat.valueOf("../penalty/@foul")</td> ## FOULS
292: #end
293: </tr>
294: #end
295: <tr class="totals">
296: <td colspan="3">Totals</td>
297: <td class="align-center">$team.valueOf("totals/shots/@g")</td>
298: <td class="align-center">$team.valueOf("totals/shots/@a")</td>
299: <td class="align-center">$tool.math.add($!team.valueOf("totals/shots/@g"),$!team.valueOf("totals/shots/@a"))</td> ## PTS
300: <td class="align-center">$team.valueOf("totals/shots/@sh")</td>
301: <td class="align-center">$team.valueOf("totals/shots/@sog")</td>
302: <td class="align-center">$team.valueOf("totals/misc/@gb")</td>
303: #if ($gender == 'M')
304: <td class="align-center">$team.valueOf("totals/misc/@facewon")-$!tool.math.add($!team.valueOf("totals/misc/@facewon"),$!team.valueOf("totals/misc/@facelost"))</td> ## FACEOFFS
305: #elseif ($gender == 'F')
306: <td class="align-center">$!team.valueOf("totals/misc/@dc")</td> ## DRAW CONTROLS
307: #end
308: #if ($gender == 'F')<td class="align-center">$!team.valueOf("totals/shots/@freepos")</td>#end ## FREE POSITION
309: <td class="align-center">$team.valueOf("totals/misc/@turnover")</td>
310: <td class="align-center">$team.valueOf("totals/misc/@ct")</td>
311: #if ($gender == 'M')
312: <td class="align-center">$!team.valueOf("totals/penalty/@count")-$!team.valueOf("totals/penalty/@seconds")</td> ## PEN MIN
313: #elseif ($gender == 'F')
314: <td class="align-center">$!team.valueOf("totals/penalty/@foul")</td> ## FOULS
315: #end
316: </tr>
317: </table>
318:
319: #if ($team.selectNodes("player/goalie").size() >= 1)
320: <br />
321: <table>
322: <tr>
323: <th class="align-left">#</th>
324: <th class="align-left">GOALIES</th>
325: <th>Min</th>
326: <th>GA</th>
327: <th>W/L</th>
328: <th>Saves</th>
329: </tr>
330: #foreach ($stat in $team.selectNodes("player/goalie"))
331: #if ($stat.valueOf("@minutes") != "0:00")
332: #if ($velocityCount % 2 == 0)
333: #set ($row = "even")
334: #else
335: #set ($row = "odd")
336: #end
337:
338: <tr class="$row">
339: <td>$!stat.valueOf("../@uni")</td>
340: <td class="nowrap">#printPlayerName($stat, false)</td>
341: #set ($ga = $stat.numberValueOf("@ga"))
342: <td class="align-center">$!stat.valueOf("@minutes")</td>
343: <td class="align-center">$!formatter.formatNumber($ga, "#")</td>
344: #set ($winLoss = " ")
345: #if ($stat.valueOf("@win").length() > 0)
346: #set ($winLoss = "W")
347: #elseif ($stat.valueOf("@loss").length() > 0)
348: #set ($winLoss = "L")
349: #end
350: <td class="align-center">$winLoss</td>
351: <td class="align-center">$!stat.valueOf("@saves")</td>
352: </tr>
353: #end
354: #end
355: </table>
356: #end
357:
358: #end ##macro
359:
360: #macro (capitalize $name)
361: $name.substring(0,1).toUpperCase()$name.substring(1).toLowerCase()
362: #end
363:
364: ## CAPITALIZE NAMES
365: #macro (printScoringName $name)
366: #set ($name = $name.toLowerCase())
367: ##$name[0] <br />
368: ##$name.get(0) <br />
369: ##$name.get(1) <br />
370: #set ($comaIndex = $name.indexOf(','))
371: #set ($comaIndexNext = $comaIndex + 1)
372: #if ($comaIndex > -1)
373: <span>#capitalize($name.substring($comaIndexNext)) #capitalize($name.substring(0, $comaIndex))</span>##
374: #else
375: #capitalize($name)
376: #end
377: #end
378:
379: #macro (printScoring $team)
380: <div class="align-left">
381: $team.valueOf("@name") SCORING: GOALS:
382: #set ($playerShown = false)##
383: #foreach ($stat in $team.selectNodes("player/shots[@g]"))##
384: #if ($stat.numberValueOf("@g") > 0)##
385: #if ($playerShown); #end##
386: #set ($playerShown = true)##
387: #printScoringName($stat.valueOf('../@checkname')) $stat.valueOf('@g')##
388: #end##
389: #end##
390: .
391:
392: <br /> ASSISTS:
393: #set ($playerShown = false)
394: #foreach ($stat in $team.selectNodes("player/shots[@a]"))##
395: #if ($stat.numberValueOf("@a") > 0)##
396: #if ($playerShown); #end##
397: #set ($playerShown = true)##
398: #printScoringName($stat.valueOf('../@checkname')) $stat.valueOf('@a')##
399: #end##
400: #end##
401: .
402: </div>
403: #end ##macro
404:
405: <div class="monostats clearfix">
406:
407: <hr />
408: ## GAME INFORMATION
409: <div class="align-left bold">
410: #if($gender == 'M')Men's #elseif($gender == 'F') Women's #end Lacrosse Box Score #if ($stats.final)(Final)#end <br />
411: #if ($page.title.length() > 0)$!page.title <br />#end
412: $visname #if($isNeutralGame)vs.#else at #end $homename <br />
413: (#if($date.length() > 0)$date #if($time.length() > 0)at $time#end#end #if($location.length() > 0)at $location #if($stadium.length() > 0)($stadium)#end#end)
414: </div>
415: <br />
416:
417: ## SCORING
418: <div class="clearfix">
419: <div class="monostats-halfbox-left">
420: <table>
421: <tr><td valign="top">
422: #foreach ($team in $document.selectNodes("lcgame/team"))
423: #set ($teamRecord = $team.valueOf("@record"))
424: $team.attributeValue("name") #if($teamRecord.length() > 0)($teamRecord)#end
425: #if ($velocityCount == 1)
426: #if($isNeutralGame)vs.#else at #end <br />
427: #end
428: #end
429: #if($date.length() > 0)<br /> Date: $date, #end
430: Attendance: $document.valueOf("lcgame/venue/@attend")
431: </td>
432: </tr></table>
433: </div>
434:
435: ## TEAM SCORES
436: <div class="monostats-halfbox-right">
437: <table>
438: <tr>
439: <th class="align-left" style="padding-right:10px;">SCORE BY PERIOD</th>
440: #printPeriodHeadCoach()
441: <th style="width:40px" class="align-left">#if($stats.final)FINAL#else#period($status)#if($clock.length() > 0) - $clock#end#end</th>
442: </tr>
443: #if ($stats.view != "pdf")
444: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
445: #end
446:
447: #foreach ($team in $document.selectNodes("lcgame/team"))
448: <tr>
449: <td>$team.attributeValue("name")</td>
450: #foreach ($i in $periodRange)
451: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@score")</td>
452: #end
453: <td class="align-left">$team.valueOf("linescore/@score")</td>
454: </tr>
455: #end
456: </table>
457: </div>
458: </div>
459: <br />
460:
461: ## SCORING BY TEAM
462: #if($stats.view == "pdf")
463: <br /><br />
464: #end
465: #printScoring($document.selectSingleNode("lcgame/team[@vh='V']"))
466: <br />
467: #printScoring($document.selectSingleNode("lcgame/team[@vh='H']"))
468: <br />
469:
470: ## TEAM STATS
471: ## SHOTS BY PERIOD
472: <div class="monostats-halfbox-left">
473: <table>
474: <tr>
475: <th class="align-left" style="width:150px">SHOTS BY PERIOD</th>
476: #printPeriodHeadCoach()
477: <th style="width:50px" class="align-left">TOTAL</th>
478: </tr>
479:
480: #if ($stats.view != "pdf")
481: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
482: #end
483:
484: ## TEAM SHOTS
485: #foreach ($team in $document.selectNodes("lcgame/team"))
486: <tr>
487: <td class="nowrap">$team.attributeValue("name")</td>
488: #foreach ($i in $periodRange)
489: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@shots")</td>
490: #end
491: <td class="align-left">$team.valueOf("linescore/@shots")</td>
492: </tr>
493: #end
494: </table>
495: </div>
496: <div class="clear"></div>
497: <br />
498:
499: ## GROUND BALLS
500: <div class="monostats-halfbox-left">
501: <table>
502: <tr>
503: <th class="align-left" style="width:150px">GROUND BALLS BY PRD</th>
504: #printPeriodHeadCoach()
505: <th style="width:50px" class="align-left">TOTAL</th>
506: </tr>
507:
508: #if ($stats.view != "pdf")
509: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
510: #end
511:
512: #foreach ($team in $document.selectNodes("lcgame/team"))
513: <tr>
514: <td class="nowrap">$team.attributeValue("name")</td>
515: #foreach ($i in $periodRange)
516: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@gb")</td>
517: #end
518: <td class="align-left">$team.valueOf("totals/misc/@gb")</td>
519: </tr>
520: #end
521: </table>
522: </div>
523: <div class="clear"></div>
524: <br />
525:
526: #if ($gender == 'M')
527: ## FACE OFFS
528: <div class="monostats-halfbox-left">
529: <table>
530: <tr>
531: <th class="align-left" style="width:150px">FACE-OFFS BY PRD</th>
532: #printPeriodHeadCoach()
533: <th style="width:50px" class="align-left">TOTAL</th>
534: </tr>
535:
536: #if ($stats.view != "pdf")
537: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
538: #end
539:
540: #foreach ($team in $document.selectNodes("lcgame/team"))
541: <tr>
542: <td class="nowrap">$team.attributeValue("name")</td>
543: #foreach ($i in $periodRange)
544: #set ($tfo = $team.valueOf("linescore/lineprd[$i]/@fowon"))
545: <td class="align-left">#calculateFaceoff($tfo $i $team)</td>
546: #end
547: <td class="align-left">$team.valueOf("totals/misc/@facewon")-$tool.math.add($team.valueOf("totals/misc/@facewon"),$team.valueOf("totals/misc/@facelost"))</td>
548: </tr>
549: #end
550: </table>
551: </div>
552: <div class="clear"></div>
553: <br />
554: #elseif ($gender == 'F')
555: <div class="monostats-halfbox-left">
556: <table>
557: <tr>
558: <th class="align-left" style="width:150px">DRAW CONTROLS BY PRD</th>
559: #printPeriodHeadCoach()
560: <th style="width:50px" class="align-left">TOTAL</th>
561: </tr>
562: #if ($stats.view != "pdf")
563: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
564: #end
565: #foreach ($team in $document.selectNodes("lcgame/team"))
566: <tr>
567: <td class="nowrap">$team.attributeValue("name")</td>
568: #foreach ($i in $periodRange)
569: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@dc")</td>
570: #end
571: <td class="align-left">$team.valueOf("totals/misc/@dc")</td>
572: </tr>
573: #end
574: </table>
575: </div>
576: <div class="clear"></div>
577: <br />
578:
579: #end
580:
581: ## CLEARS
582: <div class="monostats-halfbox-left">
583: <table>
584: <tr>
585: <th class="align-left" style="width:150px">CLEARS</th>
586: #printPeriodHeadCoach()
587: <th class="align-left" style="width:50px">TOTAL</th>
588: </tr>
589:
590: #if ($stats.view != "pdf")
591: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
592: #end
593:
594: #foreach ($team in $document.selectNodes("lcgame/team"))
595: <tr>
596: <td class="nowrap">$team.attributeValue("name")</td>
597: #foreach ($i in $periodRange)
598: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@clearm")-$team.valueOf("linescore/lineprd[$i]/@cleara")</td>
599: #end
600: <td class="align-left">$team.valueOf("totals/clear/@clearm")-$team.valueOf("totals/clear/@cleara")</td>
601: </tr>
602: #end
603: </table>
604: </div>
605: <div class="clear"></div>
606: <br />
607:
608: #if ($gender == 'M')
609: ## MAN ADVANTAGE
610: <div class="monostats-halfbox-left">
611: <table>
612: <tr>
613: <th class="align-left" style="width:150px">EXTRA-MAN OPPS</th>
614: #printPeriodHeadCoach()
615: <th>TOTAL</th>
616: </tr>
617:
618: #if ($stats.view != "pdf")
619: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
620: #end
621: #foreach ($team in $document.selectNodes("lcgame/team"))
622: <tr>
623: <td class="nowrap">$team.attributeValue("name")</td>
624: #foreach ($i in $periodRange)
625: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@ppg")-$team.valueOf("linescore/lineprd[$i]/@ppatt")</td>
626: #end
627: <td class="align-left">$team.valueOf("totals/powerplay/@ppg")-$team.valueOf("totals/powerplay/@ppopp")</td>
628: </tr>
629: #end
630: </table>
631: </div>
632: <div class="clear"></div>
633: <br />
634:
635: #elseif ($gender == 'F')
636: ## FREE POSITION SHOTS
637: <div class="monostats-halfbox-left">
638: <table>
639: <tr>
640: <th class="align-left" style="width:150px">FREE-POSITION SHOTS</th>
641: #printPeriodHeadCoach()
642: <th class="align-left" style="width:50px">TOTAL</th>
643: </tr>
644: #if ($stats.view != "pdf")
645: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
646: #end
647: #foreach ($team in $document.selectNodes("lcgame/team"))
648: <tr>
649: <td class="nowrap">$team.attributeValue("name")</td>
650: #foreach ($i in $periodRange)
651: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@fpg")-$team.valueOf("linescore/lineprd[$i]/@fps")</td>
652: #end
653: <td class="align-left">$team.valueOf("totals/goaltype/@freepos")-$team.valueOf("totals/shots/@freepos")</td>
654: </tr>
655: #end
656: </table>
657: </div>
658: <div class="clear"></div>
659: <br />
660: #end
661:
662: ## SAVES
663: <div class="monostats-halfbox-left">
664: <table>
665: <tr>
666: <th class="align-left" style="width:150px">SAVES BY PERIOD</th>
667: #printPeriodHeadCoach()
668: <th style="width:50px" class="align-left">TOTAL</th>
669: </tr>
670: #if ($stats.view != "pdf")
671: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
672: #end
673: #foreach ($team in $document.selectNodes("lcgame/team"))
674: <tr>
675: <td class="nowrap">$team.attributeValue("name")</td>
676: #foreach ($i in $periodRange)
677: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@saves")</td>
678: #end
679: <td class="align-left">$team.valueOf("totals/goalie/@saves")</td>
680: </tr>
681: #end
682: </table>
683: </div>
684: <div class="clear"></div>
685: <br />
686:
687:
688: #if ($gender == 'F')
689: ## FOULS
690: <div class="monostats-halfbox-left">
691: <table>
692: <tr>
693: <th class="align-left" style="width:150px">FOULS BY PRD</th>
694: #printPeriodHeadCoach()
695: <th style="width:50px" class="align-left">TOTAL</th>
696: </tr>
697: #if ($stats.view != "pdf")
698: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
699: #end
700: #foreach ($team in $document.selectNodes("lcgame/team"))
701: <tr>
702: <td class="nowrap">$team.attributeValue("name")</td>
703: #set ($foulTotal = 0)
704: #foreach ($i in $periodRange)
705: #set ($foulVal = $team.valueOf("linescore/lineprd[$i]/@fouls"))
706: #if ($foulVal.length() > 0)
707: #set ($foulTotal = $tool.math.add($foulTotal, $foulVal))
708: <td class="align-left">$foulVal</td>
709: #else
710: <td> </td>
711: #end
712: #end
713: <td class="align-left">$foulTotal</td>
714: </tr>
715: #end
716: </table>
717: </div>
718: <div class="clear"></div>
719: <br />
720: #end
721:
722:
723:
724: ## TURNOVERS
725: <div class="monostats-halfbox-left">
726: <table>
727: <tr>
728: <th class="align-left" style="width:150px">TURNOVERS BY PRD</th>
729: #printPeriodHeadCoach()
730: <th style="width:50px" class="align-left">TOTAL</th>
731: </tr>
732: #if ($stats.view != "pdf")
733: <tr><td colspan="$tool.math.add($periods, 2)" class="hr"> </td></tr>
734: #end
735: #foreach ($team in $document.selectNodes("lcgame/team"))
736: <tr>
737: <td class="nowrap">$team.attributeValue("name")</td>
738: #foreach ($i in $periodRange)
739: <td class="align-left">$team.valueOf("linescore/lineprd[$i]/@turnover")</td>
740: #end
741: <td class="align-left">$team.valueOf("totals/misc/@turnover")</td>
742: </tr>
743: #end
744: </table>
745: </div>
746: <div class="clear"></div>
747: <br />
748:
749: #if($stats.view == "pdf")
750: </div>
751: <p class="pagebreak"> </p>
752: #printPdfHeader("Visitor Individual Statistics")
753: <div class="monostats clearfix">
754: #else
755: <span class="pagebreak"></span>
756: #end
757:
758: ## VISITOR STATISTICS
759: <div class="monostats-fullbox">#playerstatsCoach($document.selectSingleNode("lcgame/team[@vh='V']"))</div>
760: <br />
761: #if($stats.view == "pdf")
762: </div>
763: <p class="pagebreak"> </p>
764: #printPdfHeader("Home Individual Statistics")
765: <div class="monostats clearfix">
766: #end
767: ## HOME STATISTICS
768: <div class="monostats-fullbox">#playerstatsCoach($document.selectSingleNode("lcgame/team[@vh='H']"))</div>
769:
770: #if($stats.view == "pdf")
771: </div>
772: <p class="pagebreak"> </p>
773: #printPdfHeader("Scoring/Penalty Summary")
774: <div class="monostats clearfix">
775: #else
776: <span class="pagebreak"></span>
777: #end
778:
779: ## SCORING SUMMARY
780: <div class="monostats-fullbox clearfix">
781: <table style="width:100%">
782: <tr><th #if($hasPlayByPlay)colspan="8"#else colspan="7"
783: #end class="align-left">SCORING
784: SUMMARY</th></tr>
785: <tr>
786: <th> </th>
787: <th class="align-left">Prd</th>
788: <th class="align-left">Time</th>
789: <th class="align-left">Team</th>
790: <th class="align-left">Type</th>
791: <th class="align-left" style="width:30%">Goal Scorer</th>
792: <th class="align-left" style="width:30%">Assists</th>
793: #if ($hasPlayByPlay)
794: <th class="align-left">H-V</th>
795: #end
796: </tr>
797:
798: ## #foreach ($pd in $periodRange)
799: ## #set ($shownStats = "")
800:
801: ## <th class="align-center">-- <span class="bold">#period($pd)</span> -- </th>
802: ## #if ($hasPlayByPlay)
803: ## <td class="align-center"><span class="bold">$visitor</span></td>
804: ## <td class="align-center"><span class="bold">$home</span></td>
805: ## #end
806:
807: #set ($currentPeriod = '')
808: #set ($currentscoreNodes = $document.selectNodes("//currentscore"))
809: #foreach ($score in $document.selectNodes("lcgame/scores/score"))
810: #set ($pd = $score.valueOf("@prd"))
811: #set ($shownStats = "y")
812: #set ($type = $score.valueOf("@type"))
813:
814: <tr>
815: <td>$velocityCount.</td>
816: <td>#if ($currentPeriod != $pd) #period($pd) #set ($currentPeriod = $pd) #else   #end</td>
817: <td>$score.valueOf("@time")</td>
818: <td>
819: #if($score.valueOf("@vh") == 'H') $homeid #end
820: #if($score.valueOf("@vh") == 'V') $visid #end
821: </td>
822:
823: ## TYPE
824: <td>
825: #if ($type == 'PP')
826: UP
827: #elseif ($type == 'SH')
828: DN
829: #else
830: $!type
831: #end
832: </td>
833: <td>
834: #if ($score.valueOf("@playerId").length() > 0 and $linkPlayers)
835: <a href="$!linkPlayersBase?id=${score.valueOf("@playerId")}">
836: #end
837: $score.valueOf("@name")
838: #if ($score.valueOf("@playerId").length() > 0 and $linkPlayers)
839: </a>
840: #end
841: </td>
842: <td>
843: #if($score.valueOf("@assist1").length() > 0)
844: #if ($score.valueOf("@assist1Id").length() > 0 and $linkPlayers)
845: <a href="$!linkPlayersBase?id=${score.valueOf("@assist1Id")}">
846: #end
847: $score.valueOf("@assist1")
848: #if ($score.valueOf("@assist1Id").length() > 0 and $linkPlayers)
849: </a>
850: #end
851: #else
852: #if ($hasPlayByPlay && $gender == 'F')
853: #set ($scoreTime = $score.valueOf("@time"))
854: #set ($fpsFlag = false)
855:
856: #foreach ($fpsNode in $document.selectNodes("//play[@action='FPS']"))
857: #if ($fpsNode.valueOf("@clock") == $scoreTime)
858: #set ($fpsFlag = true)
859: #end
860: #end
861:
862: #if ($fpsFlag)
863: Free position shot
864: #else
865: unassisted
866: #end
867: #else
868: unassisted
869: #end
870: #end
871: #if($score.valueOf("@assist2").length() > 0)
872: &
873: #if ($score.valueOf("@assist2Id").length() > 0 and $linkPlayers)
874: <a href="$!linkPlayersBase?id=${score.valueOf("@assist2Id")}">
875: #end
876: $score.valueOf("@assist2")
877: #if ($score.valueOf("@assist2Id").length() > 0 and $linkPlayers)
878: </a>
879: #end
880: #end
881: </td>
882: #if ($hasPlayByPlay && $currentscoreNodes.size() >($tool.math.sub($velocityCount, 1)))
883: #set ($currentScore = $currentscoreNodes.get($tool.math.sub($velocityCount, 1)))
884: <td>$currentScore.valueOf("@hscore")-$currentScore.valueOf("@vscore")</td>
885: #end
886: </tr>
887: #end ## scoring foreach
888:
889: #if ($shownStats == "") <tr><td #if($hasPlayByPlay)colspan="8"#else colspan="7"#end class="align-center">(no scoring)</td></tr> #end
890:
891: ## #end ## period range
892: </table>
893: </div>
894:
895:
896: ## PENALTY SUMMARY
897: <div class="monostats-fullbox clearfix">
898: <table style="width:100%">
899: <tr><th colspan="6" class="align-left">PENALTY SUMMARY</th></tr>
900: ###foreach ($pd in $periodRange)
901: ## #set ($shownStats = "")
902: ## <tr class="stats-highlight"><td colspan="4" class="align-center">-- <span class="bold">#period($pd)</span> -- </td></tr>
903:
904: <tr>
905: <th class="align-left">Prd</th>
906: <th class="align-left">Time</th>
907: <th class="align-left">Team</th>
908: <th class="align-left" style="width:30%">#-Player</th>
909: <th class="align-left">Min</th>
910: <th class="align-left" style="width:30%">Offence</th>
911: </tr>
912:
913: #foreach ($penalty in $document.selectNodes("lcgame/penalties/pen"))
914: #set ($shownStats = "y")
915: <tr>
916: <td>#period($penalty.valueOf("@prd"))</td>
917: <td>$penalty.valueOf("@time")</td>
918: <td>
919: #if($penalty.valueOf("@vh") == 'H') $homeid #end
920: #if($penalty.valueOf("@vh") == 'V') $visid #end
921: </td>
922: <td>
923: ##$penalty.valueOf("@../uni")-
924: $penalty.valueOf("@name")
925: </td>
926: <td>
927: $!penalty.valueOf("@minutes") $!penalty.valueOf("@type")
928: ## #if ($penalty.valueOf("@type") == 'PP')PP#end
929: ## #if ($penalty.valueOf("@type") == 'SH')SH#end
930: </td>
931: <td>
932: $!penalty.valueOf("@desc")
933: </td></tr>
934: #end ## penalty foreach
935:
936: #if ($shownStats == "")
937: <tr><td colspan="6" class="align-center">(no penalties)</td></tr>
938: #end
939:
940: #if ($gender == 'M')
941: ## penalty minutes
942: ## MEN ONLY
943: <tr><th colspan="6" class="align-left"><br /> PENALTY TOTALS</th></tr>
944: <tr>
945: <td colspan="6">
946:
947: <table>
948: <tr>
949: #foreach ($team in $document.selectNodes("lcgame/team"))
950: #set ($penaltySeconds = $team.valueOf("totals/penalty/@seconds"))
951: #set ($penaltyCount = $team.valueOf("totals/penalty/@count"))
952: #if ($penaltySeconds.length() > 0 && $penaltyCount.length() > 0)
953: #set ($penaltySeconds = $tool.math.toInteger($penaltySeconds))
954: #set ($remainder = 0)
955: #set ($remainder = $penaltySeconds % 60)
956: #set ($penaltyMinutes = $tool.math.toInteger($tool.math.div($penaltySeconds, 60)))
957: #if ($penaltyMinutes > 1)
958: #set ($minString = "${penaltyMinutes} minutes")
959: #else
960: #set ($minString = "${penaltyMinutes} minute")
961: #end
962: #set ($secString = "")
963: #if ($remainder > 0)
964: #if ($remainder > 1)
965: #set ($secString = "${remainder} seconds")
966: #else
967: #set ($secString = "${remainder} second")
968: #end
969: #end
970: <td><span class="bold">$team.attributeValue("name")</span>: $minString $secString on $penaltyCount infraction(s)</td>
971: #else
972: <td> </td>
973: #end
974: #end
975: </tr>
976: </table>
977:
978: </td>
979: </tr>
980: #end
981: </table>
982: </div>
983: </div>
984:
985: #if($stats.view != "pdf" )
986: $wiki.su
987: #end
|