status.xsl 5.19 KB
Newer Older
1
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
2
<xsl:output omit-xml-declaration="no" method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="UTF-8" />
3
<xsl:template match = "/icestats" >
4
<html xmlns="http://www.w3.org/1999/xhtml">
5 6 7 8
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
9
<body>
10
<h2>Icecast2 Status</h2>
11 12 13
<!--index header menu -->
<div class="roundcont">
<div class="roundtop">
14
<img src="/corner_topleft.jpg" class="corner" style="display: none" alt="" />
15 16 17
</div>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
	<tr>
18
		<td style="background-color: #656565">
19 20 21
		<a class="nav" href="admin/">Administration</a>
		<a class="nav" href="status.xsl">Server Status</a>
		<a class="nav" href="server_version.xsl">Version</a></td>
22 23 24
	</tr>
</table>
<div class="roundbottom">
25
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" alt="" />
26 27
</div>
</div>
28
<p><br /></p>
29 30 31 32 33 34 35
<!--end index header menu -->
<!--mount point stats-->
<xsl:for-each select="source">
<xsl:choose>
<xsl:when test="listeners">
<div class="roundcont">
<div class="roundtop">
36
<img src="/corner_topleft.jpg" class="corner" style="display: none" alt="" />
37
</div>
38 39 40 41 42 43 44 45 46 47 48
<xsl:text disable-output-escaping="yes">
&lt;!-- WARNING:
     DO NOT ATTEMPT TO PARSE ICECAST HTML OUTPUT!
     The web interface may change completely between releases.
     If you have a need for automatic processing of server data,
     please read the appropriate documentation. Latest docs:
     http://icecast.org/docs/icecast-latest/icecast2_stats.html
--></xsl:text>
<div class="content">
    <div class="dummy"></div>   
    <div class="streamheading">
49 50 51 52 53 54 55 56 57 58
        <table cellspacing="0" cellpadding="0">
            <colgroup align="left" />
            <colgroup align="right" width="300" />
            <tr>
                <td><h3>Mount Point <xsl:value-of select="@mount" /></h3></td>
                <xsl:choose>
                    <xsl:when test="authenticator">
                        <td align="right"><a class="auth" href="/auth.xsl">Login</a></td>
                    </xsl:when>
                    <xsl:otherwise>
Philipp Schafft's avatar
Philipp Schafft committed
59 60 61
                        <td align="right">
                            <a href="{@mount}.m3u">M3U</a>
                            <a href="{@mount}.xspf">XSPF</a>
62
                            <!-- <a href="{@mount}.vclt">VCLT</a> -->
Philipp Schafft's avatar
Philipp Schafft committed
63
                        </td>
64 65 66 67
                    </xsl:otherwise>
                </xsl:choose>
        </tr></table>
    </div>
68 69 70

<table border="0" cellpadding="4">
<xsl:if test="server_name">
71
<tr><td>Stream Name:</td><td class="streamstats"> <xsl:value-of select="server_name" /></td></tr>
72 73
</xsl:if>
<xsl:if test="server_description">
74
<tr><td>Stream Description:</td><td class="streamstats"> <xsl:value-of select="server_description" /></td></tr>
75
</xsl:if>
76
<xsl:if test="server_type">
77
<tr><td>Content Type:</td><td class="streamstats"><xsl:value-of select="server_type" /></td></tr>
78 79
</xsl:if>
<xsl:if test="stream_start">
80
<tr><td>Mount started:</td><td class="streamstats"><xsl:value-of select="stream_start" /></td></tr>
81
</xsl:if>
82
<xsl:if test="bitrate">
83
<tr><td>Bitrate:</td><td class="streamstats"> <xsl:value-of select="bitrate" /></td></tr>
84 85
</xsl:if>
<xsl:if test="quality">
86
<tr><td>Quality:</td><td class="streamstats"> <xsl:value-of select="quality" /></td></tr>
87 88
</xsl:if>
<xsl:if test="video_quality">
89
<tr><td>Video Quality:</td><td class="streamstats"> <xsl:value-of select="video_quality" /></td></tr>
90 91
</xsl:if>
<xsl:if test="frame_size">
92
<tr><td>Framesize:</td><td class="streamstats"> <xsl:value-of select="frame_size" /></td></tr>
93 94
</xsl:if>
<xsl:if test="frame_rate">
95
<tr><td>Framerate:</td><td class="streamstats"> <xsl:value-of select="frame_rate" /></td></tr>
96 97
</xsl:if>
<xsl:if test="listeners">
98
<tr><td>Listeners (current):</td><td class="streamstats"> <xsl:value-of select="listeners" /></td></tr>
99 100
</xsl:if>
<xsl:if test="listener_peak">
101
<tr><td>Listeners (peak):</td><td class="streamstats"> <xsl:value-of select="listener_peak" /></td></tr>
102 103
</xsl:if>
<xsl:if test="genre">
104
<tr><td>Genre:</td><td class="streamstats"> <xsl:value-of select="genre" /></td></tr>
105 106
</xsl:if>
<xsl:if test="server_url">
107
<tr><td>Stream URL:</td><td class="streamstats"> <a href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
108
</xsl:if>
109
<tr><td>Currently playing:</td><td class="streamstats"> 
110 111 112 113
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
</table>
</div>
<div class="roundbottom">
114
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" alt="" />
115 116
</div>
</div>
117
<p><br /></p>
118 119 120 121 122 123 124
</xsl:when>
<xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise>
</xsl:choose>

</xsl:for-each>
125
<p><xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;</p>
126 127


128
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
129 130 131 132
</body>
</html>
</xsl:template>
</xsl:stylesheet>