stats.xsl 4.43 KB
Newer Older
1 2 3
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
	<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" />
	<!-- Import include files -->
4
	<xsl:include href="includes/page.xsl"/>
5
	<xsl:include href="includes/mountnav.xsl"/>
6

7 8
	<xsl:variable name="title">Stats</xsl:variable>

9 10 11 12 13 14 15 16 17 18
	<!-- Auth template -->
	<xsl:template name="authlist">
		<ul>
			<xsl:for-each select="authentication/role">
				<li>Role
					<xsl:if test="@name">
						<xsl:value-of select="@name" />
					</xsl:if>
					of type <xsl:value-of select="@type" />
					<xsl:if test="@management-url">
19
						<xsl:choose>
20 21 22 23 24
							<xsl:when test="@can-adduser='true' or @can-deleteuser='true'">
								(<a href="{@management-url}">Manage</a>)
							</xsl:when>
							<xsl:when test="@can-listuser='true'">
								(<a href="{@management-url}">List</a>)
25 26
							</xsl:when>
						</xsl:choose>
27
					</xsl:if>
28 29 30 31 32 33
				</li>
			</xsl:for-each>
		</ul>
	</xsl:template>


34
	<xsl:template name="content">
35 36 37 38 39 40
				<div class="section">
					<h2>Administration</h2>

					<!-- Global stats table -->
					<div class="article">
						<h3>Global server stats</h3>
41 42 43 44 45 46
						<!-- Global subnav -->
						<div class="nav">
							<ul>
								<li><a href="reloadconfig.xsl">Reload Configuration</a></li>
							</ul>
						</div>
47 48
						<table class="table-block">
							<thead>
49
								<tr>
50 51
									<th>Key</th>
									<th>Value</th>
52
								</tr>
53 54 55
							</thead>
							<tbody>
								<xsl:for-each select="/icestats/*[not(self::source) and not(self::authentication)]">
56 57
									<tr>
										<td><xsl:value-of select="name()" /></td>
58
										<td><xsl:value-of select="text()" /></td>
59 60
									</tr>
								</xsl:for-each>
61
							</tbody>
62
						</table>
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

						<!-- Global Auth -->
						<xsl:if test="authentication">
							<h4>Authentication</h4>
							<xsl:call-template name="authlist" />
						</xsl:if>
					</div>

					<!-- Mount stats -->
					<xsl:for-each select="source">
						<div class="article">
							<h3>Mountpoint <xsl:value-of select="@mount" /></h3>
							<!-- Mount nav -->
							<xsl:call-template name="mountnav" />
							<h4>Play stream</h4>
							<xsl:choose>
								<xsl:when test="authenticator">
									<a class="play" href="/auth.xsl">Auth</a>
								</xsl:when>
								<xsl:otherwise>
									<a class="play" href="{@mount}.m3u">&#9658; <span>M3U</span></a>
									<xsl:text> </xsl:text>
									<a class="play" href="{@mount}.xspf">&#9658; <span>XSPF</span></a>
									<xsl:text> </xsl:text>
									<a class="play" href="{@mount}.vclt">&#9658; <span>VCLT</span></a>
								</xsl:otherwise>
							</xsl:choose>
							<h4>Further information</h4>
							<table class="table-block">
								<thead>
									<tr>
										<th>Key</th>
										<th>Value</th>
									</tr>
								</thead>
								<tbody>
99
									<xsl:for-each select="*[not(self::metadata) and not(self::authentication) and not(self::authenticator) and not(self::listener)]">
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
										<tr>
											<td><xsl:value-of select="name()" /></td>
											<td><xsl:value-of select="text()" /></td>
										</tr>
									</xsl:for-each>
								</tbody>
							</table>

							<!-- Extra metadata -->
							<xsl:if test="metadata/*">
								<h4>Extra Metadata</h4>
								<table class="table-block">
									<tbody>
										<xsl:for-each select="metadata/*">
											<tr>
												<td><xsl:value-of select="name()" /></td>
												<td><xsl:value-of select="text()" /></td>
											</tr>
										</xsl:for-each>
									</tbody>
								</table>
							</xsl:if>

123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
							<!-- Extra playlist -->
							<xsl:if test="playlist/*">
								<h4>Playlist</h4>
								<table class="table-block">
									<tbody>
										<tr>
											<th>Album</th>
											<th>Track</th>
											<th>Creator</th>
											<th>Title</th>
										</tr>
										<xsl:for-each select="playlist/trackList/track">
											<tr>
												<td><xsl:value-of select="album" /></td>
												<td><xsl:value-of select="trackNum" /></td>
												<td><xsl:value-of select="creator" /></td>
												<td><xsl:value-of select="title" /></td>
											</tr>
										</xsl:for-each>
									</tbody>
								</table>
							</xsl:if>

146 147 148 149 150 151 152 153
							<!-- Mount Authentication -->
							<xsl:if test="authentication">
								<h4>Mount Authentication</h4>
								<xsl:call-template name="authlist" />
							</xsl:if>

						</div>
					</xsl:for-each>
154
				</div>
155
	</xsl:template>
156
</xsl:stylesheet>