| Page source: |
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4:
5: ## MOBILE CHECK
6: #if ($browser.getIphone() || $browser.getMobile())
7: #set ($isMobile = true)
8: #else
9: #set ($isMobile = false)
10: #end
11:
12: #set ($mobileNS = 'mobile-stats-')
13: #set ($mobileNSP = "#${mobileNS}")
14:
15:
16:
17: #set ($locale = "en_us")
18: #set ($locale = $options.get("locale"))
19: #set ($teamId = $attributes.get("teamId"))
20: #set ($stats = $splits.overall)
21: #set ($pos = "")
22: #if ($sport.enumCode == 0) ## Football
23: #set ($pos = "off")
24: #elseif ($sport.enumCode == 2) ## Basketball
25: #set ($pos = "sh")
26: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer and Field Hockey
27: #set ($pos = "kickers")
28: #end
29: #set ($pos = $request.getParameter("pos"))
30: #if ($sport.enumCode == 2) ## Basketball
31: #if ($pos == "bc")
32: #set ($pos = "sh")
33: #end
34: #if ($pos == "bt")
35: #set ($pos = "st")
36: #end
37: #if ($pos == "bm")
38: #set ($pos = "sm")
39: #end
40: #end
41: #if ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer and Field Hockey
42: #if ($pos == "goalie")
43: #set ($pos = "kickers")
44: #end
45: #if ($pos == "gg")
46: #set ($pos = "kg")
47: #end
48: #end
49:
50: ## MACROS
51: #macro (split $label $stats $rowClass)
52: <tr class="${rowClass}">
53: #if ($isMobile)
54: <td class="${mobileNS}fixed-column">${label}</td>
55: #else
56: <td>${label}</td>
57: #end
58: #foreach ($brief in $briefs.keySet())
59: #set ($value = "-")
60: #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
61: <td align="center">
62: #if ($value.length() > 0)$value#else - #end
63: </td>
64: #end
65: </tr>
66: #end
67:
68: #macro(roundbutton $enabled $url $label, $restriction, $pos, $class)
69: #if ($isMobile)
70: #if ($label == 'Overall' || $label == 'Conference')
71: <a data-restriction="${restriction}" data-pos="${pos}" class="${mobileNS}subtab #if ($enabled) ${mobileNS}tab-selected #end" href="${url}">${label}</a>
72: #else
73: <option data-restriction="${restriction}" data-pos="${pos}" value="${url}" #if ($enabled) selected="selected" #end>${label}</option>
74: #end
75: #else
76: #if ($enabled) <li class="active">#else <li> #end
77: #if ($class.length() > 0)
78: <a href="${url}" class="$!{class}">${label}</a>
79: #else
80: <a href="${url}">${label}</a>
81: #end
82: </li>
83: #end
84: #end
85:
86: #if ($isMobile) ## MOBILE
87:
88: <div class="stats-wrapper mobile-stats">
89: <h1>$!attributes.get("school_name")</h1>
90: ## <img src="/info/mobile/mobile-js/photoswipe/loader.gif" alt="" id="${mobileNS}tabs-spinner" />
91:
92: ## TABS
93: <div class="stats-tabs mobile-tabs">
94: <ul>
95: <li><a data-url="${page.url}" #if (!($request.getParameter('view').length() > 0)) href="#Team_Profile" class="active" #else href="${page.url}" #end title="Team Profile">Team</a></li>
96: <li><a data-url="${page.url}?view=lineup" #if ($request.getParameter('view') == "lineup") href="#Lineup" class="active" #else href="${page.url}?view=lineup" #end title="Lineup">Lineup</a></li>
97: <li><a data-url="${page.url}?view=gamelog" #if ($request.getParameter('view') == "gamelog") href="#Gamelog" class="active" #else href="${page.url}?view=gamelog" #end title="Gamelog">Games</a></li>
98: <li><a data-url="${page.url}?view=splits" #if ($request.getParameter('view') == "splits") href="#Split_Stats" class="active" #else href="${page.url}?view=splits" #end title="Split Stats">Splits</a></li>
99: <li><a data-url="${page.url}?view=attendance" #if ($request.getParameter("view") == "attendance") href="#Attendance" class="active" #else href="${page.url}?view=attendance" #end title="Attendance">Attendance</a></li>
100: </ul>
101:
102: #if ($request.getParameter("view") == "gamelog" and $events)
103: <div id="Gamelog">
104: <div class="${mobileNS}panel-container">
105: <table><thead>
106: <tr>
107: <th><b>Date</b></th>
108: <th class="${mobileNS}fixed-column"><b>Opponent</b></th>
109: <th><b>Score</b></th>
110: #foreach ($gamelog in $gamelogs)
111: <th><b>$gamelog</b></th>
112: #end
113: </tr>
114: </thead>
115: <tbody>
116: #foreach ($event in $events)
117:
118: <tr>
119: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
120: <td class="${mobileNS}fixed-column ${mobileNS}no-wrap">
121: #if ($event.event.neutralSite.length() > 0) vs.
122: #elseif (!$event.event.home) at
123: #else ## nothing for a home game
124: #end
125: $event.event.opponent.name</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.result}
132: #end
133:
134: #else #end
135: </td>
136: #foreach ($gamelog in $gamelogs.keySet())
137: #set ($value = "-")
138: #set ($value = $!formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
139: <td align="center">
140: #if ($value.length() > 0)$value#else - #end
141: </td>
142: #end
143: </tr>
144: #end
145: </tbody></table>
146: </div>
147:
148: </div>
149:
150:
151: #elseif ($request.getParameter("view") == "splits" and $events)
152:
153: <div id="Split_Stats">
154: <div class="stats-fullbox ${mobileNS}panel-wrapper" data-pos="${pos}">
155:
156: #if ($sport.enumCode == 0) ## Football
157: <select class="${mobileNS}tab-select">
158: <option #if ($pos == "off") selected="selected" #end data-pos="off" value="$page.url?view=splits&pos=off">Offense</option>
159: <option #if ($pos == "def") selected="selected" #end data-pos="def" value="$page.url?view=splits&pos=def">#if ($locale == "en_us") Defense #elseif ($locale == "en_gb") Defence #end</option>
160: </select>
161: <div class="${mobileNS}panel-container">
162: <table><thead>
163: #else
164: <div class="${mobileNS}panel-container">
165: <table><thead>
166: #end
167:
168: <tr>
169: <th class="${mobileNS}fixed-column" data-sorter="false"> </th>
170: #foreach ($brief in $briefs)
171: <th><b>$brief</b></th>
172: #end
173: </tr>
174: </thead><tbody>
175:
176: #macro (printHr)
177: <tr>
178: <td class="${mobileNS}fixed-column"> </td>
179: <td colspan="${colspan}"> </td>
180: </tr>
181: #end
182:
183: #set ($colspan = $briefs.size() + 1)
184:
185: #split("Total", $splits.overall, "")
186: #split("Conference", $splits.conference, "")
187: #split("Exhibition", $splits.exhibition, "")
188: #printHr()
189: #split("Home", $splits.home, "")
190: #split("Away", $splits.away, "")
191: #split("Neutral", $splits.neutral, "")
192: #printHr()
193: #split("Wins", $splits.inWins, "")
194: #split("Losses", $splits.inLosses, "")
195: #if ($sport.enumCode == 5) ## Ice hockey
196: #split("Ties", $splits.inTies, "")
197: #end
198: #printHr()
199:
200: ## Going to need to replace this with sound logic that does not use the sport to determine dates
201: #if ($sport.enumCode == 5) ## Ice hockey
202: #split("September", $splits.september, "")
203: #split("October", $splits.october, "")
204: #split("November", $splits.november, "")
205: #split("December", $splits.december, "")
206: #split("January", $splits.january, "")
207: #split("February", $splits.february, "")
208: #split("March", $splits.march, "")
209: #split("April", $splits.april, "")
210: #elseif ($sport.enumCode == 2) ## Basketball
211: #split("November", $splits.november, "")
212: #split("December", $splits.december, "")
213: #split("January", $splits.january, "")
214: #split("February", $splits.february, "")
215: #split("March", $splits.march, "")
216: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer and field hockey
217: #split("September", $splits.september, "")
218: #split("October", $splits.october, "")
219: #split("November", $splits.november, "")
220: #split("December", $splits.december, "")
221: #elseif ($sport.enumCode == 0) ## Football
222: #split("August", $splits.august, "")
223: #split("September", $splits.september, "")
224: #split("October", $splits.october, "")
225: #split("November", $splits.november, "")
226: #split("December", $splits.december, "")
227: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
228: #split("January", $splits.january, "")
229: #split("February", $splits.february, "")
230: #split("March", $splits.march, "")
231: #split("April", $splits.april, "")
232: #split("May", $splits.may, "")
233: #end
234: </tbody>
235: </table>
236: </div>
237: </div>
238: </div>
239:
240: #elseif ($request.getParameter("view") == "lineup") ## Lineup page
241:
242: #set ($restriction = "0")
243: #set ($restriction = $request.getParameter("r"))
244: #set ($view = "")
245: #set ($view = $!request.getParameter("view"))
246:
247: ## Set this for the inner page to pull something out
248: #if ($restriction == "1")
249: $!request.setAttribute("teamStats", $splits.conference)
250: #else
251: $!request.setAttribute("teamStats", $splits.overall)
252: #end
253:
254: <div id="Lineup">
255: <div class="stats-fullbox ${mobileNS}panel-wrapper" data-pos="${pos}" data-r="${restriction}">
256: ## start of overall/conference
257: #set ($url = $request.requestURI)
258: <div class="stats-tabs-secondary">
259:
260: #if ($sport.enumCode == 2) ## Basketball
261: <select class="${mobileNS}tab-select" style="visibility:visible">
262: #roundbutton($pos.equals("sh"), "${url}?view=${view}&r=${restriction}&pos=sh", "Game", "${restriction}", "sh", "")
263: #roundbutton($pos.equals("st"), "${url}?view=${view}&r=${restriction}&pos=st", "Season", "${restriction}", "st", "")
264: #if ( ($restriction == 0 && $splits.overall.minpg >= 200) || ($restriction == 1 && $splits.conference.minpg >= 200) )
265: #roundbutton($pos.equals("sm"), "${url}?view=${view}&r=${restriction}&pos=sm", "Minutes", "${restriction}", "sm", "")
266: #end
267: </select>
268: #end
269:
270: #if ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer or Field hockey
271: <select class="${mobileNS}tab-select" style="visibility:visible">
272: #roundbutton($pos.equals("kg"), "${url}?view=${view}&r=${restriction}&pos=kg", "Game", "${restriction}", "kg", "")
273: #roundbutton($pos.equals("kickers"), "${url}?view=${view}&r=${restriction}&pos=kickers", "Season", "${restriction}", "kickers", "")
274: </select>
275: #end
276:
277: <div class="${mobileNS}subtabs">
278: #roundbutton($restriction.equals("0"), "${url}?view=${view}&r=0&pos=${pos}", "Overall", "0", "${pos}", "")
279: #roundbutton($restriction.equals("1"), "${url}?view=${view}&r=1&pos=${pos}", "Conference", "1", "${pos}", "")
280: </div>
281:
282: </div>
283: ## end of overall/conference
284:
285: #if ($sport.enumCode == 5) ## Ice hockey
286:
287: <table class="${mobileNS}static-table"><tr><th>Skaters</th></tr></table>
288: #set ($sort = $request.getParameter("sort"))
289: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sk&r=${restriction}")
290: $website.include($url)
291: <table class="${mobileNS}static-table"><tr><th>Goalies</th></tr></table>
292: #set ($sort = $request.getParameter("ggp"))
293: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=g&r=${restriction}")
294: $website.includeAgain($url)
295:
296: #elseif ($sport.enumCode == 2) ## Basketball
297:
298: #if ($pos.equals("sh"))
299: <table class="${mobileNS}static-table"><tr><th>Shooting statistics</th></tr></table>
300: #set ($sort = $request.getParameter("sort"))
301: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sh&r=${restriction}")
302: $website.includeAgain($url)
303: <table class="${mobileNS}static-table"><tr><th>Ball control statistics</th></tr></table>
304: #set ($sort = $request.getParameter("sort"))
305: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bc&r=${restriction}")
306: $website.includeAgain($url)
307: #elseif ($pos.equals("st"))
308: <table class="${mobileNS}static-table"><tr><th>Shooting statistics</th></tr></table>
309: #set ($sort = $request.getParameter("sort"))
310: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=st&r=${restriction}")
311: $website.includeAgain($url)
312: <table class="${mobileNS}static-table"><tr><th>Ball control statistics</th></tr></table>
313: #set ($sort = $request.getParameter("sort"))
314: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bt&r=${restriction}")
315: $website.includeAgain($url)
316: #elseif ($pos.equals("sm"))
317: #if ( ($restriction == 0 && $splits.overall.minpg >= 200) || ($restriction == 1 && $splits.conference.minpg >= 200) )
318: <table class="${mobileNS}static-table"><tr><th>Shooting statistics</th></tr></table>
319: #set ($sort = $request.getParameter("sort"))
320: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sm&r=${restriction}")
321: $website.include($url)
322: <table class="${mobileNS}static-table"><tr><th>Ball control statistics</th></tr></table>
323: #set ($sort = $request.getParameter("sort"))
324: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bm&r=${restriction}")
325: $website.includeAgain($url)
326: #end
327: #end
328:
329: #elseif ($sport.enumCode == 4) ## Volleyball
330: #set ($sort = $request.getParameter("sort"))
331: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${restriction}")
332: $website.include($url)
333:
334: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer or Field hockey
335: #if ($pos.equals("kickers"))
336: <table class="${mobileNS}static-table"><tr><th>Field players</th></tr></table>
337: #set ($sort = $request.getParameter("sort"))
338: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=kickers&r=${restriction}")
339: $website.include($url)
340: <table class="${mobileNS}static-table"><tr><th>Goalkeepers</th></tr></table>
341: #set ($sort = $request.getParameter("sort"))
342: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=goalie&r=${restriction}")
343: $website.includeAgain($url)
344: #elseif ($pos.equals("kg"))
345: <table class="${mobileNS}static-table"><tr><th>Field players</th></tr></table>
346: #set ($sort = $request.getParameter("sort"))
347: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=kg&r=${restriction}")
348: $website.include($url)
349: <table class="${mobileNS}static-table"><tr><th>Goalkeepers</th></tr></table>
350: #set ($sort = $request.getParameter("sort"))
351: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=gg&r=${restriction}")
352: $website.includeAgain($url)
353: #end
354: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
355: <table class="${mobileNS}static-table"><tr><th>Field players</th></tr></table>
356: #set ($sort = $request.getParameter("sort"))
357: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=fp&r=${restriction}")
358: $website.include($url)
359: <table class="${mobileNS}static-table"><tr><th>Goalkeepers</th></tr></table>
360: #set ($sort = $request.getParameter("ggp"))
361: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=g&r=${restriction}")
362: $website.includeAgain($url)
363:
364: #elseif ($sport.enumCode == 0) ## Football
365: ## POS_MINS = "qb:pa|rb:rat|wr:wat|k:fga|p:pat";
366:
367: <table class="${mobileNS}static-table"><tr><th>Passing</th></tr></table>
368: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=pyd&pos=qb&r=${restriction}&min=pa&cs=n")
369: $website.include($url)
370:
371: <table class="${mobileNS}static-table"><tr><th>Rushing</th></tr></table>
372: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=ryd&pos=rb&r=${restriction}&min=rat&cs=n")
373: $website.includeAgain($url)
374:
375: <table class="${mobileNS}static-table"><tr><th>Receiving</th></tr></table>
376: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=wat&pos=wr&r=${restriction}&min=wat&cs=n")
377: $website.includeAgain($url)
378:
379: <table class="${mobileNS}static-table"><tr><th>Kicking</th></tr></table>
380: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=kpts&pos=k&r=${restriction}&min=xafg&cs=n&skipBlank=n")
381: $website.includeAgain($url)
382:
383: <table class="${mobileNS}static-table"><tr><th>Punting</th></tr></table>
384: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=uat&pos=p&r=${restriction}&min=uat&cs=n")
385: $website.includeAgain($url)
386:
387: <table class="${mobileNS}static-table"><tr><th>Returns</th></tr></table>
388: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=kryd&pos=kr&r=${restriction}&min=krpr&cs=n&skipBlank=n")
389: $website.includeAgain($url)
390:
391: <table class="${mobileNS}static-table"><tr><th>Scoring</th></tr></table>
392: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=pts&pos=pts&r=${restriction}&min=pts&cs=n")
393: $website.includeAgain($url)
394:
395: <table class="${mobileNS}static-table"><tr><th>
396: #if ($locale == "en_us")
397: Defense
398: #elseif ($locale == "en_gb")
399: Defence
400: #end
401: </th></tr></table>
402: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=dtt&pos=d&r=${restriction}&min=dtt&cs=n")
403: $website.includeAgain($url)
404: #elseif ($sport.enumCode == 1) ## Baseball
405:
406: ## POS_MINS = "h:pa|p:pgp|f:(none)";
407:
408: #set ($sort = "ab")
409: #set ($sort = $request.getParameter("sort"))
410: <table class="${mobileNS}static-table"><tr><th>Hitting</th></tr></table>
411: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=h&r=${restriction}&min=par")
412: $website.include($url)
413:
414: #set ($sort = "pa")
415: #set ($sort = $request.getParameter("sort"))
416: <table class="${mobileNS}static-table"><tr><th>Extended hitting</th></tr></table>
417: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=he&r=${restriction}&min=par")
418: $website.includeAgain($url)
419:
420: #set ($sort = "ip")
421: #set ($sort = $request.getParameter("sort"))
422: <table class="${mobileNS}static-table"><tr><th>Pitching</th></tr></table>
423: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=p&r=${restriction}&min=bf")
424: $website.includeAgain($url)
425:
426: #set ($sort = "po")
427: #set ($sort = $request.getParameter("sort"))
428: <table class="${mobileNS}static-table"><tr><th>Fielding</th></tr></table>
429: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=f&r=${restriction}")
430: $website.includeAgain($url)
431:
432: #else
433: We do not support this sport
434: #end
435: </div>
436: </div>
437:
438: #elseif ($request.getParameter("view") == "attendance" and $events)
439:
440: <div id="Attendance">
441: <table>
442: <tr>
443: <th><b>Date</b></th>
444: <th><b>Opponent</b></th>
445: <th><b>Score</b></th>
446: <th><b>Attend</b></th>
447: </tr>
448: #foreach ($event in $events)
449:
450: <tr>
451: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
452: <td>
453: #if ($event.event.neutralSite.length() > 0) vs.
454: #elseif (!$event.event.home) at
455: #else ## nothing for a home game
456: #end
457: $event.event.opponent.name</td>
458: <td>
459: #if ($event.event.statusCode >= 0)
460: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
461: <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
462: #else
463: ${event.event.result}
464: #end
465:
466: #else #end
467: </td>
468: #set ($value = "-")
469: #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
470: <td align="center">
471: #if ($value.length() > 0)$value#else - #end
472: </td>
473: </tr>
474: #end
475: </table>
476: </div>
477:
478: #else ## Team profile page
479:
480: #set($school_name_url = $!attributes.get("school_name"))
481: #set($school_name_url = $tool.esc.url($school_name_url))
482:
483: <div id="Team_Profile">
484: <div class="stats-halfbox-left">
485:
486: ## SCHEDULE INFORMATION
487: $website.include("schedule?teamId=${teamId}&tmpl=schedule-data-template")
488:
489:
490: ## LAST SIX GAMES
491: <table>
492: <tr><th colspan="3">Recent Games</th></tr>
493: #set ($eventEnd = -1)
494: #foreach ($event in $events)
495: #if ($event.event.result.resolved)
496: #set ($eventEnd = $velocityCount)
497: #end
498: #end
499: #set ($eventStart = $eventEnd - 5)
500: #if ($eventStart < 0) #set ($eventStart = 0) #end
501: #foreach ($event in $events)
502: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
503: <tr>
504: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
505: <td>
506: #if ($event.event.neutralSite.length() > 0) vs.
507: #elseif (!$event.event.home) at
508: #else ## nothing for a home game
509: #end
510: $event.event.opponent.name</td>
511: <td>
512: #if ($event.event.statusCode >= 0)
513: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
514: <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
515: #else
516: ${event.event.APResult}
517: #end
518: #end
519: </td>
520: </tr>
521: #end ## if
522: #end
523: </table>
524: </div>
525:
526:
527: ## RANKINGS
528: $website.include("../teams?tmpl=stats-teams-rank-template&rank=${teamId}")
529:
530: <div style="clear: both"></div>
531:
532: </div>
533:
534: #end
535:
536: </div> ## MOBILE TABS
537:
538:
539: $wiki.su
540: </div>
541:
542: <script type="text/javascript">
543: mobileConf = {
544: page : 'stats',
545: pageParams : {
546: #if (!($request.getParameter('view').length() > 0))
547: activeStatTab : $('#Team_Profile')
548: #elseif ($request.getParameter('view') == "lineup")
549: activeStatTab : $('#Lineup')
550: #elseif ($request.getParameter('view') == "gamelog")
551: activeStatTab : $('#Gamelog')
552: #elseif ($request.getParameter('view') == "splits")
553: activeStatTab : $('#Split_Stats')
554: #elseif ($request.getParameter('view') == "attendance")
555: activeStatTab : $('#Attendance')
556: #end
557: }
558: }
559: </script>
560:
561:
562: #else ## DESKTOP
563:
564: <head>
565: <title>$!attributes.get("school_name")</title>
566: </head>
567:
568: <div class="stats-wrapper clearfix">
569:
570: #if ($page.title.length() > 0)
571: <h1>$page.title</h1>
572: #end
573:
574: #if ($attributes.get("school_name").length() > 0)
575: <h2>$!attributes.get("school_name")</h2>
576: #end
577:
578: ## HIGHLIGHTS
579: <div class="stats-fullbox clearfix">
580: <table>
581: <tr>
582: #foreach ($highlight in $highlights.keySet())
583: <th>$!highlights.get($highlight)</th>
584: #end
585: </tr>
586: <tr>
587: #foreach ($highlight in $highlights.keySet())
588: #set ($value = "-")
589: #set ($value = $!formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
590: <td align="center">
591: #if ($value.length() > 0)$value#else - #end
592: </td>
593: #end
594: </tr>
595: </table>
596: </div>
597:
598: ## TABS
599: <div class="stats-tabs clearfix">
600: <ul class="clearfix">
601: <li #if (!($request.getParameter("view").length() > 0))class="active"#end><a href="${page.url}">Team Profile</a></li>
602: <li #if ($request.getParameter("view") == "lineup")class="active"#end><a href="${page.url}?view=lineup">Lineup</a></li>
603: <li #if ($request.getParameter("view") == "gamelog")class="active"#end><a href="${page.url}?view=gamelog">Game Log</a></li>
604: <li #if ($request.getParameter("view") == "splits")class="active"#end><a href="${page.url}?view=splits">Split Stats</a></li>
605: #if ($sport.enumCode == 2) ## Basketball
606: <li><a href="${page.url}?sort=ptspg&tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
607: #elseif ($sport.enumCode == 1) ## baseball/softball
608: <li><a href="${page.url}?sort=ab&pos=h&tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
609: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
610: <li><a href="${page.url}?tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
611: #elseif ($sport.enumCode == 9) ## field hockey
612: <li><a href="${page.url}?tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
613: #elseif ($sport.enumCode == 3) ## Men's or women's soccer
614: <li><a href="${page.url}?tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
615: #elseif ($sport.enumCode == 4) ## Men's or women's volleyball
616: <li><a href="${page.url}?tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
617: #elseif ($sport.enumCode == 5) ## Men's or women's ice hockey
618: <li><a href="${page.url}?tmpl=teaminfo-network-monospace-template" target="_blank">Coach's View</a></li>
619: #end
620: <li #if ($request.getParameter("view") == "attendance")class="active"#end><a href="${page.url}?view=attendance">Attendance</a></li>
621: </ul>
622: </div>
623:
624: #if ($request.getParameter("view") == "gamelog" and $events)
625:
626: <div class="stats-fullbox clearfix">
627: <table>
628: <tr>
629: <th>Date</th>
630: <th>Opponent</th>
631: <th>Score</th>
632: #foreach ($gamelog in $gamelogs)
633: <th>$gamelog</th>
634: #end
635: </tr>
636:
637: #set ($counter = 0)
638: #foreach ($event in $events)
639:
640: #set ($counter = $counter + 1)
641: #if ($counter % 2 == 0)
642: #set ($row = "even")
643: #else
644: #set ($row = "odd")
645: #end
646: <tr class="${row}">
647: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
648: <td>
649: #if ($event.event.neutralSite.length() > 0) vs.
650: #elseif (!$event.event.home) at
651: #else ## nothing for a home game
652: #end
653: $event.event.opponent.name</td>
654: <td>
655: #if ($event.event.statusCode >= 0)
656: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
657: <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
658: #else
659: ${event.event.result}
660: #end
661:
662: #else #end
663: </td>
664: #foreach ($gamelog in $gamelogs.keySet())
665: #set ($value = "-")
666: #set ($value = $!formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
667: <td align="center">
668: #if ($value.length() > 0)$value#else - #end
669: </td>
670: #end
671: </tr>
672: #end
673: </table>
674: </div>
675:
676: #elseif ($request.getParameter("view") == "splits" and $events)
677:
678: <div class="stats-fullbox clearfix">
679: <table>
680: #if ($sport.enumCode == 0) ## Football
681: <tr><td colspan="100">
682: #if ($pos == "off")<b>#end
683: <a href="$page.url?view=splits&pos=off">Offense</a>
684: #if ($pos == "off")</b>#end
685: |
686: #if ($pos == "def")<b>#end
687: <a href="$page.url?view=splits&pos=def">#if ($locale == "en_us")
688: Defense
689: #elseif ($locale == "en_gb")
690: Defence
691: #end
692: </a>
693: #if ($pos == "def")<b>#end
694: </td></tr>
695: #end
696: <tr>
697: <th> </th>
698: #foreach ($brief in $briefs)
699: <th>$brief</th>
700: #end
701: </tr>
702:
703: #set ($colspan = $briefs.size() + 1)
704:
705: #split("Total", $splits.overall, "odd")
706: #split("Conference", $splits.conference, "even")
707: #split("Exhibition", $splits.exhibition, "odd")
708: <tr><td colspan="${colspan}"><hr /></td></tr>
709: #split("Home", $splits.home, "even")
710: #split("Away", $splits.away, "odd")
711: #split("Neutral", $splits.neutral, "even")
712: <tr><td colspan="${colspan}"><hr /></td></tr>
713: #split("Wins", $splits.inWins, "odd")
714: #split("Losses", $splits.inLosses, "even")
715: #if ($sport.enumCode == 5) ## Ice hockey
716: #split("Ties", $splits.inTies, "odd")
717: #end
718: <tr><td colspan="${colspan}"><hr /></td></tr>
719:
720: ## Going to need to replace this with sound logic that does not use the sport to determine dates
721: #if ($sport.enumCode == 5) ## Ice hockey
722: #split("September", $splits.september, "even")
723: #split("October", $splits.october, "odd")
724: #split("November", $splits.november, "even")
725: #split("December", $splits.december, "odd")
726: #split("January", $splits.january, "even")
727: #split("February", $splits.february, "odd")
728: #split("March", $splits.march, "even")
729: #split("April", $splits.april, "odd")
730: #elseif ($sport.enumCode == 2) ## Basketball
731: #split("November", $splits.november, "odd")
732: #split("December", $splits.december, "even")
733: #split("January", $splits.january, "odd")
734: #split("February", $splits.february, "even")
735: #split("March", $splits.march, "odd")
736: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer and field hockey
737: #split("September", $splits.september, "odd")
738: #split("October", $splits.october, "even")
739: #split("November", $splits.november, "odd")
740: #split("December", $splits.december, "even")
741: #elseif ($sport.enumCode == 0) ## Football
742: #split("August", $splits.august, "odd")
743: #split("September", $splits.september, "even")
744: #split("October", $splits.october, "odd")
745: #split("November", $splits.november, "even")
746: #split("December", $splits.december, "odd")
747: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
748: #split("January", $splits.january, "odd")
749: #split("February", $splits.february, "even")
750: #split("March", $splits.march, "odd")
751: #split("April", $splits.april, "even")
752: #split("May", $splits.may, "odd")
753: #end
754:
755: </table>
756: </div>
757:
758:
759: #elseif ($request.getParameter("view") == "lineup")
760:
761: ## Lineup page
762: <div class="stats-fullbox clearfix">
763:
764: #set ($restriction = "0")
765: #set ($restriction = $request.getParameter("r"))
766: #set ($view = "")
767: #set ($view = $!request.getParameter("view"))
768:
769: ## Set this for the inner page to pull something out
770: #if ($restriction == "1")
771: $!request.setAttribute("teamStats", $splits.conference)
772: #else
773: $!request.setAttribute("teamStats", $splits.overall)
774: #end
775:
776: ## start of overall/conference
777: #set ($url = $request.requestURI)
778: <div class="stats-tabs-secondary">
779: <ul class="clearfix">
780:
781: #roundbutton($restriction.equals("0"), "${url}?view=${view}&r=0&pos=${pos}", "Overall", "", "", "first t_overall")
782: #roundbutton($restriction.equals("1"), "${url}?view=${view}&r=1&pos=${pos}", "Conference", "", "", "t_conf")
783:
784:
785: #if ($sport.enumCode == 2) ## Basketball
786: #roundbutton($pos.equals("sh"), "${url}?view=${view}&r=${restriction}&pos=sh", "Game", "", "", "t_game")
787: #roundbutton($pos.equals("st"), "${url}?view=${view}&r=${restriction}&pos=st", "Season", "", "", "t_season")
788: #if ( ($restriction == 0 && $splits.overall.minpg >= 200) || ($restriction == 1 && $splits.conference.minpg >= 200) )
789: #roundbutton($pos.equals("sm"), "${url}?view=${view}&r=${restriction}&pos=sm", "Minutes", "", "", "t_minutes")
790: #end
791: #end
792:
793: #if ($sport.enumCode == 3) ## Soccer
794: #roundbutton($pos.equals("kg"), "${url}?view=${view}&r=${restriction}&pos=kg", "Game", "", "", "t_game")
795: #roundbutton($pos.equals("kickers"), "${url}?view=${view}&r=${restriction}&pos=kickers", "Season", "", "", "t_season")
796: #end
797:
798: </ul>
799: </div>
800: ## end of overall/conference
801:
802: #if ($sport.enumCode == 5) ## Ice hockey
803:
804: <table><tr><th>Skaters</th></tr></table>
805: #set ($sort = $request.getParameter("sort"))
806: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sk&r=${restriction}")
807: $website.include($url)
808: <table><tr><th>Goalies</th></tr></table>
809: #set ($sort = $request.getParameter("ggp"))
810: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=g&r=${restriction}")
811: $website.includeAgain($url)
812:
813: #elseif ($sport.enumCode == 2) ## Basketball
814:
815: #if ($pos.equals("sh"))
816: <table><tr><th>Shooting statistics</th></tr></table>
817: #set ($sort = $request.getParameter("sort"))
818: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sh&r=${restriction}")
819: $website.includeAgain($url)
820: <table><tr><th>Ball control statistics</th></tr></table>
821: #set ($sort = $request.getParameter("sort"))
822: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bc&r=${restriction}")
823: $website.includeAgain($url)
824: #elseif ($pos.equals("st"))
825: <table><tr><th>Shooting statistics</th></tr></table>
826: #set ($sort = $request.getParameter("sort"))
827: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=st&r=${restriction}")
828: $website.includeAgain($url)
829: <table><tr><th>Ball control statistics</th></tr></table>
830: #set ($sort = $request.getParameter("sort"))
831: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bt&r=${restriction}")
832: $website.includeAgain($url)
833: #elseif ($pos.equals("sm"))
834: #if ( ($restriction == 0 && $splits.overall.minpg >= 200) || ($restriction == 1 && $splits.conference.minpg >= 200) )
835: <table><tr><th>Shooting statistics</th></tr></table>
836: #set ($sort = $request.getParameter("sort"))
837: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=sm&r=${restriction}")
838: $website.include($url)
839: <table><tr><th>Ball control statistics</th></tr></table>
840: #set ($sort = $request.getParameter("sort"))
841: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=bm&r=${restriction}")
842: $website.includeAgain($url)
843: #end
844: #end
845:
846: #elseif ($sport.enumCode == 4) ## Volleyball
847: #set ($sort = $request.getParameter("sort"))
848: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${restriction}")
849: $website.include($url)
850:
851: #elseif ($sport.enumCode == 3 or $sport.enumCode == 9) ## Soccer and Field Hockey
852: #if ($pos.equals("kickers"))
853: <table><tr><th>Field players</th></tr></table>
854: #set ($sort = $request.getParameter("sort"))
855: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=kickers&r=${restriction}")
856: $website.include($url)
857: <table><tr><th>Goalkeepers</th></tr></table>
858: #set ($sort = $request.getParameter("sort"))
859: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=goalie&r=${restriction}")
860: $website.includeAgain($url)
861: #elseif ($pos.equals("kg"))
862: <table><tr><th>Field players</th></tr></table>
863: #set ($sort = $request.getParameter("sort"))
864: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=kg&r=${restriction}")
865: $website.include($url)
866: <table><tr><th>Goalkeepers</th></tr></table>
867: #set ($sort = $request.getParameter("sort"))
868: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=gg&r=${restriction}")
869: $website.includeAgain($url)
870: #end
871: #elseif ($sport.enumCode == 9) ## Field hockey
872: <table><tr><th>Field players</th></tr></table>
873: #set ($sort = $request.getParameter("sort"))
874: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=fp&r=${restriction}")
875: $website.include($url)
876: <table><tr><th>Goalkeepers</th></tr></table>
877: #set ($sort = $request.getParameter("ggp"))
878: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=g&r=${restriction}")
879: $website.includeAgain($url)
880: #elseif ($sport.enumCode == 6 or $sport.enumCode == 10) ## Men's or women's lacrosse
881: <table><tr><th>Field players</th></tr></table>
882: #set ($sort = $request.getParameter("sort"))
883: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=fp&r=${restriction}")
884: $website.include($url)
885: <table><tr><th>Goalkeepers</th></tr></table>
886: #set ($sort = $request.getParameter("ggp"))
887: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=g&r=${restriction}")
888: $website.includeAgain($url)
889:
890: #elseif ($sport.enumCode == 0) ## Football
891: ## POS_MINS = "qb:pa|rb:rat|wr:wat|k:fga|p:pat";
892:
893: <table><tr><th>Passing</th></tr></table>
894: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=pyd&pos=qb&r=${restriction}&min=pa&cs=n")
895: $website.include($url)
896:
897: <table><tr><th>Rushing</th></tr></table>
898: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=ryd&pos=rb&r=${restriction}&min=rat&cs=n")
899: $website.includeAgain($url)
900:
901: <table><tr><th>Receiving</th></tr></table>
902: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=wat&pos=wr&r=${restriction}&min=wat&cs=n")
903: $website.includeAgain($url)
904:
905: <table><tr><th>Kicking</th></tr></table>
906: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=kpts&pos=k&r=${restriction}&min=xafg&cs=n&skipBlank=n")
907: $website.includeAgain($url)
908:
909: <table><tr><th>Punting</th></tr></table>
910: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=uat&pos=p&r=${restriction}&min=uat&cs=n")
911: $website.includeAgain($url)
912:
913: <table><tr><th>Returns</th></tr></table>
914: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=kryd&pos=kr&r=${restriction}&min=krpr&cs=n&skipBlank=n")
915: $website.includeAgain($url)
916:
917: <table><tr><th>Scoring</th></tr></table>
918: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=pts&pos=pts&r=${restriction}&min=pts&cs=n")
919: $website.includeAgain($url)
920:
921: <table><tr><th>
922: #if ($locale == "en_us")
923: Defense
924: #elseif ($locale == "en_gb")
925: Defence
926: #end
927: </th></tr></table>
928: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=dtt&pos=d&r=${restriction}&min=dtt&cs=n")
929: $website.includeAgain($url)
930: #elseif ($sport.enumCode == 1) ## Baseball
931:
932: ## POS_MINS = "h:pa|p:pgp|f:(none)";
933:
934: #set ($sort = "ab")
935: #set ($sort = $request.getParameter("sort"))
936: <table><tr><th>Hitting</th></tr></table>
937: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=h&r=${restriction}&min=par")
938: $website.include($url)
939:
940: #set ($sort = "pa")
941: #set ($sort = $request.getParameter("sort"))
942: <table><tr><th>Extended hitting</th></tr></table>
943: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=he&r=${restriction}&min=par")
944: $website.includeAgain($url)
945:
946: #set ($sort = "ip")
947: #set ($sort = $request.getParameter("sort"))
948: <table><tr><th>Pitching</th></tr></table>
949: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=p&r=${restriction}&min=bf")
950: $website.includeAgain($url)
951:
952: #set ($sort = "po")
953: #set ($sort = $request.getParameter("sort"))
954: <table><tr><th>Fielding</th></tr></table>
955: #set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=${sort}&pos=f&r=${restriction}")
956: $website.includeAgain($url)
957:
958: #else
959: We do not support this sport
960: #end
961: </div>
962:
963: #elseif ($request.getParameter("view") == "attendance" and $events)
964:
965: <div class="stats-fullbox clearfix">
966: <table>
967: <tr>
968: <th>Date</th>
969: <th>Opponent</th>
970: <th>Score</th>
971: <th>Attend</th>
972: </tr>
973: #set ($counter = 0)
974: #foreach ($event in $events)
975:
976: #set ($counter = $counter + 1)
977: #if ($counter % 2 == 0)
978: #set ($row = "even")
979: #else
980: #set ($row = "odd")
981: #end
982: <tr class="${row}">
983: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
984: <td>
985: #if ($event.event.neutralSite.length() > 0) vs.
986: #elseif (!$event.event.home) at
987: #else ## nothing for a home game
988: #end
989: $event.event.opponent.name</td>
990: <td>
991: #if ($event.event.statusCode >= 0)
992: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
993: <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
994: #else
995: ${event.event.result}
996: #end
997:
998: #else #end
999: </td>
1000: #set ($value = "-")
1001: #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
1002: <td align="center">
1003: #if ($value.length() > 0)$value#else - #end
1004: </td>
1005: </tr>
1006: #end
1007: </table>
1008: </div>
1009:
1010: #else
1011:
1012: ## Team profile page
1013:
1014: #set($school_name_url = $!attributes.get("school_name"))
1015: #set($school_name_url = $tool.esc.url($school_name_url))
1016:
1017: <div class="clearfix">
1018: <div class="stats-halfbox-left">
1019:
1020: ## SCHEDULE INFORMATION
1021: $website.include("schedule?teamId=${teamId}&tmpl=schedule-data-template")
1022:
1023:
1024: ## LAST SIX GAMES
1025: <table>
1026: <tr><th colspan="3">Recent Games</th></tr>
1027: #set ($eventEnd = -1)
1028: #foreach ($event in $events)
1029: #if ($event.event.result.resolved)
1030: #set ($eventEnd = $velocityCount)
1031: #end
1032: #end
1033: #set ($eventStart = $eventEnd - 5)
1034: #if ($eventStart < 0) #set ($eventStart = 0) #end
1035:
1036: #set ($counter = 0)
1037: #foreach ($event in $events)
1038: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
1039:
1040: #set ($counter = $counter + 1)
1041: #if ($counter % 2 == 0)
1042: #set ($row = "even")
1043: #else
1044: #set ($row = "odd")
1045: #end
1046: <tr class="${row}">
1047: <td>$formatter.formatDate($event.event.date, "MMM d")</td>
1048: <td>
1049: #if ($event.event.neutralSite.length() > 0) vs.
1050: #elseif (!$event.event.home) at
1051: #else ## nothing for a home game
1052: #end
1053: $event.event.opponent.name</td>
1054: <td>
1055: #if ($event.event.statusCode >= 0)
1056: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
1057: <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
1058: #else
1059: ${event.event.APResult}
1060: #end
1061: #end
1062: </td>
1063: </tr>
1064: #end ## if
1065: #end
1066: </table>
1067: </div>
1068:
1069:
1070: ## RANKINGS
1071: $website.include("../teams?tmpl=stats-teams-rank-template&rank=${teamId}")
1072:
1073: </div> ## clearfix
1074:
1075: #end
1076:
1077: $wiki.su
1078: </div>
1079:
1080: ## DESKTOP ENDS
1081: #end
|