mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-12-04 14:46:30 -05:00
encorporated xslt changes from dave st. john....
svn path=/icecast/trunk/icecast/; revision=9742
This commit is contained in:
parent
9179ffe661
commit
4c771579b8
@ -1,72 +1,97 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>List Connected Listeners</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<xsl:for-each select="source">
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<h3>
|
</div>
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
</div>
|
||||||
(<xsl:value-of select="@mount" />)</h3>
|
<br />
|
||||||
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
|
||||||
<a class="nav2" href="listclients.xsl?mount={@mount}">Show Listeners</a> |
|
|
||||||
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
<h1>Listener Stats</h1>
|
||||||
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
<div class="roundcont">
|
||||||
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
<div class="roundtop">
|
||||||
</td></tr>
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</table>
|
</div>
|
||||||
<br></br>
|
<div class="newscontent">
|
||||||
<table cellpadding="2" cellspacing="4" border="0" >
|
<xsl:for-each select="source">
|
||||||
<tr>
|
<h3>
|
||||||
<td ><b>IP</b></td>
|
|
||||||
<td ><b>Connected For</b></td>
|
<xsl:choose>
|
||||||
<td ><b>User Agent</b></td>
|
<xsl:when test="authenticator">
|
||||||
<td ></td>
|
<a href="auth.xsl"><img border="0" src="/key.png"/></a> Authentication Required
|
||||||
</tr>
|
</xsl:when>
|
||||||
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
|
<xsl:otherwise>
|
||||||
<xsl:for-each select="listener">
|
<a href="{@mount}.m3u"><img border="0" src="/tunein.png"/></a> Mount Point
|
||||||
<tr>
|
</xsl:otherwise>
|
||||||
<td><xsl:value-of select="IP" /><xsl:if test="username"> (<xsl:value-of select="username" />)</xsl:if></td>
|
</xsl:choose>
|
||||||
<td><xsl:value-of select="Connected" /> seconds</td>
|
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
||||||
<td><xsl:value-of select="UserAgent" /></td>
|
(<xsl:value-of select="@mount" />)
|
||||||
<td><a class="nav2" href="killclient.xsl?mount={$themount}&id={ID}">kill</a></td>
|
<xsl:if test="authenticator"><a href="manageauth.xsl?mount={@mount}"><img border="0" src="/key.png"/></a> </xsl:if>
|
||||||
</tr>
|
|
||||||
</xsl:for-each>
|
</h3>
|
||||||
</table>
|
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
||||||
<br />
|
<tr>
|
||||||
<br />
|
<td align="center">
|
||||||
</xsl:for-each>
|
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
||||||
</div>
|
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
||||||
<div class="roundbottom">
|
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
</div>
|
<br />
|
||||||
<div class="poster">
|
<table cellspacing="1" border="1" bordercolor="#C0C0C0" >
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
<tr>
|
||||||
</body>
|
<td ><center><b>IP</b></center></td>
|
||||||
</html>
|
<td ><center><b>Connected For</b></center></td>
|
||||||
</xsl:template>
|
<td ><center><b>User Agent</b></center></td>
|
||||||
</xsl:stylesheet>
|
<td ><center><b>Action</b></center></td>
|
||||||
|
</tr>
|
||||||
|
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
|
||||||
|
<xsl:for-each select="listener">
|
||||||
|
<tr>
|
||||||
|
<td align="center"><xsl:value-of select="IP" /><xsl:if test="username"> (<xsl:value-of select="username" />)</xsl:if></td>
|
||||||
|
<td align="center"><xsl:value-of select="Connected" /> seconds</td>
|
||||||
|
<td align="center"><xsl:value-of select="UserAgent" /></td>
|
||||||
|
<td align="center"><a href="killclient.xsl?mount={$themount}&id={ID}">Kick</a></td>
|
||||||
|
</tr>
|
||||||
|
</xsl:for-each>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,58 +1,80 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>List Mountpoints</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<xsl:for-each select="source">
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<h3>
|
</div>
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
</div>
|
||||||
(<xsl:value-of select="@mount" />)
|
<br />
|
||||||
<xsl:if test="authenticator"> <a href="manageauth.xsl?mount={@mount}"><img border="0" src="/key.gif"/></a> </xsl:if>
|
<br />
|
||||||
</h3>
|
|
||||||
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
|
||||||
<tr>
|
<h1>Active Mountpoints</h1>
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav2" href="listclients.xsl?mount={@mount}">Show Listeners</a> |
|
<div class="roundtop">
|
||||||
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
</div>
|
||||||
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
<div class="newscontent">
|
||||||
<xsl:if test="authenticator"> | <a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
|
<xsl:for-each select="source">
|
||||||
</td></tr>
|
<h3>
|
||||||
</table>
|
<xsl:choose>
|
||||||
<br />
|
<xsl:when test="authenticator">
|
||||||
<p><xsl:value-of select="listeners" /> Listener(s)</p>
|
<a href="auth.xsl"><img border="0" src="/key.png"/></a> Authentication Required
|
||||||
<br></br>
|
</xsl:when>
|
||||||
</xsl:for-each>
|
<xsl:otherwise>
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<a href="{@mount}.m3u"><img border="0" src="/tunein.png"/></a> Mount Point
|
||||||
</div>
|
</xsl:otherwise>
|
||||||
<div class="roundbottom">
|
</xsl:choose>
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
||||||
</div>
|
(<xsl:value-of select="@mount" />)
|
||||||
</div>
|
<xsl:if test="authenticator"> <a href="manageauth.xsl?mount={@mount}"><img border="0" src="/key.png"/></a> </xsl:if>
|
||||||
<div class="poster">
|
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
|
||||||
</body>
|
</h3>
|
||||||
</html>
|
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
||||||
</xsl:template>
|
<tr>
|
||||||
</xsl:stylesheet>
|
<td align="center">
|
||||||
|
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
|
||||||
|
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
||||||
|
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
||||||
|
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
||||||
|
<xsl:if test="authenticator"> | <a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
|
||||||
|
</td></tr>
|
||||||
|
</table>
|
||||||
|
<br />
|
||||||
|
<p><xsl:value-of select="listeners" /> Listener(s)</p>
|
||||||
|
<br></br>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,84 +1,95 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>Show defined users</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<xsl:for-each select="iceresponse">
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<xsl:value-of select="message" />
|
</div>
|
||||||
</xsl:for-each>
|
</div>
|
||||||
<xsl:for-each select="source">
|
<br />
|
||||||
<h3>
|
<br />
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
|
||||||
(<xsl:value-of select="@mount" />)</h3>
|
<h2>Show defined users</h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
<div class="roundcont">
|
||||||
<tr>
|
<div class="roundtop">
|
||||||
<td align="center">
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav2" href="listclients.xsl?mount={@mount}">Show Listeners</a> |
|
</div>
|
||||||
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
<div class="newscontent">
|
||||||
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
<xsl:for-each select="iceresponse">
|
||||||
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
<xsl:value-of select="message" />
|
||||||
</td></tr>
|
</xsl:for-each>
|
||||||
</table>
|
<xsl:for-each select="source">
|
||||||
<br></br>
|
<h3>
|
||||||
<form method="GET" action="manageauth.xsl">
|
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
||||||
<table cellpadding="2" cellspacing="4" border="0" >
|
(<xsl:value-of select="@mount" />)</h3>
|
||||||
<tr>
|
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
||||||
<td ><b>User Id</b></td>
|
<tr>
|
||||||
<td ><b>Password</b></td>
|
<td align="center">
|
||||||
<td ></td>
|
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
|
||||||
</tr>
|
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move Listeners</a> |
|
||||||
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
|
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
||||||
<xsl:for-each select="User">
|
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
||||||
<tr>
|
</td></tr>
|
||||||
<td><xsl:value-of select="username" /></td>
|
</table>
|
||||||
<td><xsl:value-of select="password" /></td>
|
<br></br>
|
||||||
<td><a class="nav2" href="manageauth.xsl?mount={$themount}&username={username}&action=delete">delete</a></td>
|
<form method="GET" action="manageauth.xsl">
|
||||||
</tr>
|
<table cellpadding="2" cellspacing="4" border="0" >
|
||||||
</xsl:for-each>
|
<tr>
|
||||||
<tr>
|
<td ><b>User Id</b></td>
|
||||||
<td ><input type="text" name="username" /></td>
|
<td ><b>Password</b></td>
|
||||||
<td ><input type="text" name="password" /></td>
|
<td ></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
|
||||||
<td colspan="2"><input type="Submit" name="Submit" value="Add New User" /></td>
|
<xsl:for-each select="User">
|
||||||
</tr>
|
<tr>
|
||||||
</table>
|
<td><xsl:value-of select="username" /></td>
|
||||||
<input type="hidden" name="mount" value="{@mount}"/>
|
<td><xsl:value-of select="password" /></td>
|
||||||
<input type="hidden" name="action" value="add"/>
|
<td><a class="nav2" href="manageauth.xsl?mount={$themount}&username={username}&action=delete">delete</a></td>
|
||||||
</form>
|
</tr>
|
||||||
<br />
|
</xsl:for-each>
|
||||||
<br />
|
<tr>
|
||||||
</xsl:for-each>
|
<td ><input type="text" name="username" /></td>
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<td ><input type="text" name="password" /></td>
|
||||||
</div>
|
</tr>
|
||||||
<div class="roundbottom">
|
<tr>
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<td colspan="2"><input type="Submit" name="Submit" value="Add New User" /></td>
|
||||||
</div>
|
</tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="poster">
|
<input type="hidden" name="mount" value="{@mount}"/>
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
<input type="hidden" name="action" value="add"/>
|
||||||
</body>
|
</form>
|
||||||
</html>
|
<br />
|
||||||
</xsl:template>
|
<br />
|
||||||
</xsl:stylesheet>
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,52 +1,63 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<h2>Move Clients from (<xsl:value-of select="current_source" />)</h2>
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<div class="roundtop">
|
</td></tr>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</table>
|
||||||
</div>
|
<div class="roundbottom">
|
||||||
<div class="newscontent">
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<h3>Move to which mountpoint ?</h3>
|
</div>
|
||||||
<xsl:for-each select="source">
|
</div>
|
||||||
<table border="0" cellpadding="1" cellspacing="5" >
|
<br />
|
||||||
<tr>
|
<br />
|
||||||
<td>Move from (<xsl:copy-of select="$currentmount" />) to (<xsl:value-of select="@mount" />)</td>
|
|
||||||
<td><xsl:value-of select="listeners" /> Listeners</td>
|
<xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable>
|
||||||
<td><a class="nav2" href="moveclients.xsl?mount={$currentmount}&destination={@mount}">Move Clients</a></td>
|
<h1>Moving Listeners From (<xsl:value-of select="current_source" />)</h1>
|
||||||
</tr>
|
<div class="roundcont">
|
||||||
</table>
|
<div class="roundtop">
|
||||||
<br />
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<br />
|
</div>
|
||||||
</xsl:for-each>
|
<div class="newscontent">
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<h3>Move to which mountpoint ?</h3>
|
||||||
</div>
|
<xsl:for-each select="source">
|
||||||
<div class="roundbottom">
|
<table border="0" cellpadding="1" cellspacing="5" >
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<tr>
|
||||||
</div>
|
<td>Move from (<xsl:copy-of select="$currentmount" />) to (<xsl:value-of select="@mount" />)</td>
|
||||||
</div>
|
<td><xsl:value-of select="listeners" /> Listeners</td>
|
||||||
<div class="poster">
|
<td><a class="nav2" href="moveclients.xsl?mount={$currentmount}&destination={@mount}">Move Clients</a></td>
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
</tr>
|
||||||
</body>
|
</table>
|
||||||
</html>
|
<br />
|
||||||
|
<br />
|
||||||
</xsl:template>
|
</xsl:for-each>
|
||||||
</xsl:stylesheet>
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,45 +1,56 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/iceresponse" >
|
<xsl:template match = "/iceresponse" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>Icecast Server Response</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<h3>Response</h3>
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<xsl:for-each select="/iceresponse">
|
</div>
|
||||||
Message : <xsl:value-of select="message" /><br></br>
|
</div>
|
||||||
Return Code: <xsl:value-of select="return" /><br></br>
|
<br />
|
||||||
</xsl:for-each>
|
<br />
|
||||||
<br />
|
|
||||||
<br />
|
<h1>Icecast Server Response</h1>
|
||||||
</div>
|
<div class="roundcont">
|
||||||
<div class="roundbottom">
|
<div class="roundtop">
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="newscontent">
|
||||||
<div class="poster">
|
<h3>Response</h3>
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
<xsl:for-each select="/iceresponse">
|
||||||
</body>
|
Message : <xsl:value-of select="message" /><br></br>
|
||||||
</html>
|
Return Code: <xsl:value-of select="return" /><br></br>
|
||||||
|
</xsl:for-each>
|
||||||
</xsl:template>
|
<br />
|
||||||
</xsl:stylesheet>
|
<br />
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
214
admin/stats.xsl
214
admin/stats.xsl
@ -1,94 +1,120 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
<!--header menu -->
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>Icecast Status Page</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<h3>Global Server Stats</h3>
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<table border="0" cellpadding="4">
|
</div>
|
||||||
<xsl:for-each select="/icestats">
|
</div>
|
||||||
<xsl:for-each select="*">
|
<br />
|
||||||
<xsl:if test = "name()!='source'">
|
<br />
|
||||||
<tr>
|
<!--end header menu -->
|
||||||
<td width="130"><xsl:value-of select="name()" /></td>
|
|
||||||
<td class="streamdata"><xsl:value-of select="." /></td>
|
<!--global server stats-->
|
||||||
</tr>
|
<div class="roundcont">
|
||||||
</xsl:if>
|
<div class="roundtop">
|
||||||
</xsl:for-each>
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</xsl:for-each>
|
</div>
|
||||||
</table>
|
<div class="newscontent">
|
||||||
</div>
|
<h3>Global Server Stats</h3>
|
||||||
<div class="roundbottom">
|
<table border="0" cellpadding="4">
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<xsl:for-each select="/icestats">
|
||||||
</div>
|
<xsl:for-each select="*">
|
||||||
</div>
|
<xsl:if test = "name()!='source'">
|
||||||
<br />
|
<tr>
|
||||||
<br />
|
<td width="130"><xsl:value-of select="name()" /></td>
|
||||||
|
<td class="streamdata"><xsl:value-of select="." /></td>
|
||||||
<div class="roundcont">
|
</tr>
|
||||||
<div class="roundtop">
|
</xsl:if>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</xsl:for-each>
|
||||||
</div>
|
</xsl:for-each>
|
||||||
<div class="newscontent">
|
</table>
|
||||||
<xsl:for-each select="source">
|
</div>
|
||||||
<xsl:if test = "listeners!=''">
|
<div class="roundbottom">
|
||||||
<h3>
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
</div>
|
||||||
(<xsl:value-of select="@mount" />)
|
</div>
|
||||||
<xsl:if test="authenticator"> <a href="manageauth.xsl?mount={@mount}"><img border="0" src="/key.gif"/></a> </xsl:if>
|
<br />
|
||||||
</h3>
|
<br />
|
||||||
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
<!--end global server stats-->
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<!--mount point stats-->
|
||||||
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
|
<xsl:for-each select="source">
|
||||||
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move MountPoints</a> |
|
<xsl:if test = "listeners!=''">
|
||||||
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
<div class="roundcont">
|
||||||
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
<div class="roundtop">
|
||||||
<xsl:if test="authenticator"> | <a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</td></tr>
|
</div>
|
||||||
</table>
|
<div class="newscontent">
|
||||||
<br />
|
<h3>
|
||||||
<table cellpadding="5" cellspacing="0" border="0">
|
<xsl:choose>
|
||||||
<xsl:for-each select="*">
|
<xsl:when test="authenticator">
|
||||||
<tr>
|
<a href="auth.xsl"><img border="0" src="/key.png"/></a> Authentication Required
|
||||||
<td width="130"><xsl:value-of select="name()" /></td>
|
</xsl:when>
|
||||||
<td class="streamdata"><xsl:value-of select="." /></td>
|
<xsl:otherwise>
|
||||||
</tr>
|
<a href="{@mount}.m3u"><img border="0" src="/tunein.png"/></a> Mount Point
|
||||||
</xsl:for-each>
|
</xsl:otherwise>
|
||||||
</table>
|
</xsl:choose>
|
||||||
<br />
|
|
||||||
<br />
|
(<xsl:value-of select="@mount" />)
|
||||||
</xsl:if>
|
<xsl:if test="authenticator"><a href="manageauth.xsl?mount={@mount}"><img border="0" src="/key.gif"/></a> </xsl:if>
|
||||||
</xsl:for-each>
|
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
</h3>
|
||||||
</div>
|
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
|
||||||
<div class="roundbottom">
|
<tr>
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<td align="center">
|
||||||
</div>
|
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
|
||||||
</div>
|
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move MountPoints</a> |
|
||||||
<div class="poster">
|
<a class="nav2" href="updatemetadata.xsl?mount={@mount}">Update Metadata</a> |
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
|
||||||
</body>
|
<xsl:if test="authenticator"> | <a class="nav2" href="manageauth.xsl?mount={@mount}">Manage Authentication</a></xsl:if>
|
||||||
</html>
|
</td></tr>
|
||||||
</xsl:template>
|
</table>
|
||||||
</xsl:stylesheet>
|
<br />
|
||||||
|
<table cellpadding="5" cellspacing="0" border="0">
|
||||||
|
<xsl:for-each select="*">
|
||||||
|
<tr>
|
||||||
|
<td width="130"><xsl:value-of select="name()" /></td>
|
||||||
|
<td class="streamdata"><xsl:value-of select="." /></td>
|
||||||
|
</tr>
|
||||||
|
</xsl:for-each>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
|
||||||
|
|
||||||
|
<!--end mount point stats-->
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,55 +1,66 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="/style.css" />
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<center>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Admin</center></h2>
|
||||||
<table border="0" cellpadding="1" cellspacing="3">
|
<br />
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<div class="roundcont">
|
||||||
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
|
<div class="roundtop">
|
||||||
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<a class="nav" href="stats.xsl">Stats</a> |
|
</div>
|
||||||
<a class="nav" href="/status.xsl">Status Page</a>
|
<table border="0" cellpadding="1" cellspacing="3">
|
||||||
</td></tr>
|
<tr>
|
||||||
</table>
|
<td align="center">
|
||||||
</center>
|
<a class="nav" href="stats.xsl">Admin Home</a> |
|
||||||
<h2>Update Metadata</h2>
|
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
|
||||||
<div class="roundcont">
|
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
|
||||||
<div class="roundtop">
|
<a class="nav" href="/status.xsl">Index</a>
|
||||||
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
</td></tr>
|
||||||
</div>
|
</table>
|
||||||
<div class="newscontent">
|
<div class="roundbottom">
|
||||||
<xsl:for-each select="source">
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
<h3>
|
</div>
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
</div>
|
||||||
(<xsl:value-of select="@mount" />)</h3>
|
<br />
|
||||||
|
<br />
|
||||||
<form method="GET" action="/admin/metadata.xsl">
|
|
||||||
<table border="0" cellpadding="4">
|
<h1>Update Metadata</h1>
|
||||||
<tr><td>Metadata : <input type="text" name="song"/></td></tr>
|
<div class="roundcont">
|
||||||
<tr><td><input type="Submit" value="Update"/></td></tr>
|
<div class="roundtop">
|
||||||
</table>
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<input type="hidden" name="mount" value="{@mount}"/>
|
</div>
|
||||||
<input type="hidden" name="mode" value="updinfo"/>
|
<div class="newscontent">
|
||||||
</form>
|
<xsl:for-each select="source">
|
||||||
|
<h3>
|
||||||
<br />
|
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
||||||
<br />
|
(<xsl:value-of select="@mount" />)</h3>
|
||||||
</xsl:for-each>
|
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<form method="GET" action="/admin/metadata.xsl">
|
||||||
</div>
|
<table border="0" cellpadding="4">
|
||||||
<div class="roundbottom">
|
<tr><td>Metadata : <input type="text" name="song"/></td></tr>
|
||||||
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
<tr><td><input type="Submit" value="Update"/></td></tr>
|
||||||
</div>
|
</table>
|
||||||
</div>
|
<input type="hidden" name="mount" value="{@mount}"/>
|
||||||
<div class="poster">
|
<input type="hidden" name="mode" value="updinfo"/>
|
||||||
<img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
</form>
|
||||||
</body>
|
|
||||||
</html>
|
<br />
|
||||||
</xsl:template>
|
<br />
|
||||||
</xsl:stylesheet>
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -12,4 +12,7 @@ dist_web_DATA = status.xsl \
|
|||||||
icecast.png \
|
icecast.png \
|
||||||
key.gif \
|
key.gif \
|
||||||
style.css \
|
style.css \
|
||||||
auth.xsl
|
auth.xsl \
|
||||||
|
server_version.xsl \
|
||||||
|
tunein.png \
|
||||||
|
key.png
|
||||||
|
114
web/auth.xsl
114
web/auth.xsl
@ -1,57 +1,57 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="black">
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<table border="0" width="100%%">
|
<table border="0" width="100%%">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="50"></td>
|
<td width="50"></td>
|
||||||
<td>
|
<td>
|
||||||
<h2>Authorization Page</h2>
|
<img align="left" src="/icecast.png" /><h2><center>Authorization Page</center></h2>
|
||||||
<div class="roundcont">
|
<div class="roundcont">
|
||||||
<div class="roundtop">
|
<div class="roundtop">
|
||||||
<img src="corner_topleft.jpg" class="corner" style="display: none" />
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</div>
|
</div>
|
||||||
<div class="newscontent">
|
<div class="newscontent">
|
||||||
<xsl:for-each select="source">
|
<xsl:for-each select="source">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="listeners">
|
<xsl:when test="listeners">
|
||||||
<xsl:if test="authenticator">
|
<xsl:if test="authenticator">
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
||||||
<h3>(<xsl:value-of select="@mount" />)</h3>
|
<h3>(<xsl:value-of select="@mount" />)</h3>
|
||||||
<form method="GET" action="/admin/buildm3u">
|
<form method="GET" action="/admin/buildm3u">
|
||||||
<table border="0" cellpadding="4">
|
<table border="0" cellpadding="4">
|
||||||
<tr><td>Username : <input type="text" name="username"/></td></tr>
|
<tr><td>Username : <input type="text" name="username"/></td></tr>
|
||||||
<tr><td>Password : <input type="password" name="password"/></td></tr>
|
<tr><td>Password : <input type="password" name="password"/></td></tr>
|
||||||
<tr><td><input type="Submit" value="Login"/></td></tr>
|
<tr><td><input type="Submit" value="Login"/></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<input type="hidden" name="mount" value="{@mount}"/>
|
<input type="hidden" name="mount" value="{@mount}"/>
|
||||||
</form>
|
</form>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
|
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
<br></br>
|
<br></br>
|
||||||
<br></br>
|
<br></br>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
</div>
|
</div>
|
||||||
<div class="roundbottom">
|
<div class="roundbottom">
|
||||||
<img src="corner_bottomleft.jpg" class="corner" style="display: none" />
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br></br><br></br>
|
<br></br><br></br>
|
||||||
</td>
|
</td>
|
||||||
<td width="25"></td></tr>
|
<td width="25"></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<div class="poster"><img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
BIN
web/key.png
Normal file
BIN
web/key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
91
web/server_version.xsl
Normal file
91
web/server_version.xsl
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
|
<xsl:template match = "/icestats" >
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Icecast Streaming Media Server</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
|
</head>
|
||||||
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Status (Version Info)</center></h2>
|
||||||
|
<br />
|
||||||
|
<!--index header menu -->
|
||||||
|
<div class="roundcont">
|
||||||
|
<div class="roundtop">
|
||||||
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#656565">
|
||||||
|
<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>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<!--end index header menu -->
|
||||||
|
|
||||||
|
<div class="roundcont">
|
||||||
|
<div class="roundtop">
|
||||||
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
<div class="newscontent">
|
||||||
|
<h3>Version Information</h3>
|
||||||
|
<table border="0" cellpadding="4">
|
||||||
|
<xsl:for-each select="/icestats">
|
||||||
|
<xsl:for-each select="server">
|
||||||
|
<xsl:if test = "name()!='source'">
|
||||||
|
<tr>
|
||||||
|
<td width="130">Build</td>
|
||||||
|
<td class="streamdata"><xsl:value-of select="." /></td>
|
||||||
|
</tr>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:for-each select="server_start">
|
||||||
|
<xsl:if test = "name()!='source'">
|
||||||
|
<tr>
|
||||||
|
<td width="130">Server Uptime</td>
|
||||||
|
<td class="streamdata"><xsl:value-of select="." /></td>
|
||||||
|
</tr>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:for-each>
|
||||||
|
<tr>
|
||||||
|
<td width="130">Download</td>
|
||||||
|
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/download.php">icecast.org</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="130">Subversion</td>
|
||||||
|
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/svn.php">click here</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="130">Documentation</td>
|
||||||
|
<td class="streamdata"><a class="nav" target="_blank" href="http://icecast.org/docs.php">click here</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="130">Stream Directory </td>
|
||||||
|
<td class="streamdata"><a class="nav" target="_blank" href="http://dir.xiph.org/index.php/">dir.xiph.org</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="130">Community</td>
|
||||||
|
<td class="streamdata"><a class="nav" target="_blank" href="http://forum.icecast.org/">forum.icecast.org</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
206
web/status.xsl
206
web/status.xsl
@ -1,91 +1,115 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Icecast Streaming Media Server</title>
|
<title>Icecast Streaming Media Server</title>
|
||||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
|
||||||
<h2>Icecast Status Page</h2>
|
<img align="left" src="/icecast.png" /><h2><center>Icecast2 Status</center></h2>
|
||||||
<div class="roundcont">
|
<br />
|
||||||
<div class="roundtop">
|
<!--index header menu -->
|
||||||
<img src="corner_topleft.jpg" class="corner" style="display: none" />
|
<div class="roundcont">
|
||||||
</div>
|
<div class="roundtop">
|
||||||
<div class="newscontent">
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
<xsl:for-each select="source">
|
</div>
|
||||||
<xsl:choose>
|
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4">
|
||||||
<xsl:when test="listeners">
|
<tr>
|
||||||
<h3>
|
<td bgcolor="#656565">
|
||||||
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
|
<a class="nav" href="admin/">Administration</a> |
|
||||||
(<xsl:value-of select="@mount" />)
|
<a class="nav" href="status.xsl">Server Status</a> |
|
||||||
<xsl:if test="authenticator"> <a href="/auth.xsl"><img border="0" src="/key.gif"/></a> </xsl:if>
|
<a class="nav" href="server_version.xsl">Version</a> |</td>
|
||||||
</h3>
|
</tr>
|
||||||
<table border="0" cellpadding="4">
|
</table>
|
||||||
<xsl:if test="server_name">
|
<div class="roundbottom">
|
||||||
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
</xsl:if>
|
</div>
|
||||||
<xsl:if test="server_description">
|
</div>
|
||||||
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
|
<br />
|
||||||
</xsl:if>
|
<br />
|
||||||
<xsl:if test="type">
|
<!--end index header menu -->
|
||||||
<tr><td width="130"> Stream Type:</td><td class="streamdata"><xsl:value-of select="type" /></td></tr>
|
<!--mount point stats-->
|
||||||
</xsl:if>
|
<xsl:for-each select="source">
|
||||||
<xsl:if test="bitrate">
|
<xsl:choose>
|
||||||
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
|
<xsl:when test="listeners">
|
||||||
</xsl:if>
|
<div class="roundcont">
|
||||||
<xsl:if test="quality">
|
<div class="roundtop">
|
||||||
<tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr>
|
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
|
||||||
</xsl:if>
|
</div>
|
||||||
<xsl:if test="video_quality">
|
<div class="newscontent">
|
||||||
<tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr>
|
<h3>
|
||||||
</xsl:if>
|
<xsl:choose>
|
||||||
<xsl:if test="frame_size">
|
<xsl:when test="authenticator">
|
||||||
<tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr>
|
<a href="auth.xsl"><img border="0" src="/key.png"/></a> Authentication Required
|
||||||
</xsl:if>
|
</xsl:when>
|
||||||
<xsl:if test="frame_rate">
|
<xsl:otherwise>
|
||||||
<tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr>
|
<a href="{@mount}.m3u"><img border="0" src="/tunein.png"/></a> Mount Point
|
||||||
</xsl:if>
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
<xsl:if test="listeners">
|
(<xsl:value-of select="@mount" />)
|
||||||
<tr><td>Stream Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
|
<xsl:if test="authenticator"> <a href="/auth.xsl"><img border="0" src="/key.png"/></a> </xsl:if>
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="genre">
|
</h3>
|
||||||
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
|
|
||||||
</xsl:if>
|
<table border="0" cellpadding="4">
|
||||||
<xsl:if test="server_url">
|
<xsl:if test="server_name">
|
||||||
<tr><td>Stream URL:</td><td class="streamdata"> <a href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
|
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<tr><td>Current Song:</td><td class="streamdata">
|
<xsl:if test="server_description">
|
||||||
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
|
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
|
||||||
<tr><td>Listen:</td><td class="streamdata">
|
</xsl:if>
|
||||||
<xsl:choose>
|
<tr><td>Content Type:</td><td class="streamdata"><xsl:value-of select="server_type" /></td></tr>
|
||||||
<xsl:when test="authenticator">
|
<tr><td>Mount Uptime:</td><td class="streamdata"><xsl:value-of select="stream_start" /></td></tr>
|
||||||
<a href="auth.xsl">Click to Listen</a>
|
<xsl:if test="bitrate">
|
||||||
</xsl:when>
|
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
|
||||||
<xsl:otherwise>
|
</xsl:if>
|
||||||
<a href="{@mount}.m3u">Click to Listen</a>
|
<xsl:if test="quality">
|
||||||
</xsl:otherwise>
|
<tr><td>Quality:</td><td class="streamdata"> <xsl:value-of select="quality" /></td></tr>
|
||||||
</xsl:choose>
|
</xsl:if>
|
||||||
</td></tr>
|
<xsl:if test="video_quality">
|
||||||
</table>
|
<tr><td>Video Quality:</td><td class="streamdata"> <xsl:value-of select="video_quality" /></td></tr>
|
||||||
</xsl:when>
|
</xsl:if>
|
||||||
<xsl:otherwise>
|
<xsl:if test="frame_size">
|
||||||
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
|
<tr><td>Framesize:</td><td class="streamdata"> <xsl:value-of select="frame_size" /></td></tr>
|
||||||
</xsl:otherwise>
|
</xsl:if>
|
||||||
</xsl:choose>
|
<xsl:if test="frame_rate">
|
||||||
<br></br>
|
<tr><td>Framerate:</td><td class="streamdata"> <xsl:value-of select="frame_rate" /></td></tr>
|
||||||
<br></br>
|
</xsl:if>
|
||||||
</xsl:for-each>
|
<xsl:if test="listeners">
|
||||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
<tr><td>Current Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
|
||||||
</div>
|
</xsl:if>
|
||||||
<div class="roundbottom">
|
<xsl:if test="listener_peak">
|
||||||
<img src="corner_bottomleft.jpg" class="corner" style="display: none" />
|
<tr><td>Peak Listeners:</td><td class="streamdata"> <xsl:value-of select="listener_peak" /></td></tr>
|
||||||
</div>
|
</xsl:if>
|
||||||
</div>
|
<xsl:if test="genre">
|
||||||
|
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
|
||||||
<div class="poster"><img align="left" src="/icecast.png" />Support icecast development at <a class="nav" href="http://www.icecast.org">www.icecast.org</a></div>
|
</xsl:if>
|
||||||
</body>
|
<xsl:if test="server_url">
|
||||||
</html>
|
<tr><td>Stream URL:</td><td class="streamdata"> <a target="_blank" href="{server_url}"><xsl:value-of select="server_url" /></a></td></tr>
|
||||||
</xsl:template>
|
</xsl:if>
|
||||||
</xsl:stylesheet>
|
<tr><td>Current Song:</td><td class="streamdata">
|
||||||
|
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" /></td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="roundbottom">
|
||||||
|
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
|
||||||
|
|
||||||
|
|
||||||
|
<div class="poster">Support icecast development at <a class="nav" target="_blank" href="http://www.icecast.org">www.icecast.org</a></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
|
||||||
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
<xsl:output omit-xml-declaration="no" method="xml" 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" />
|
||||||
<xsl:template match = "/icestats" >
|
<xsl:template match = "/icestats" >
|
||||||
<pre>
|
<pre>
|
||||||
MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL
|
MountPoint,Connections,Stream Name,Current Listeners,Description,Currently Playing,Stream URL
|
||||||
Global,Client:<xsl:value-of select="connections" /> Source: <xsl:value-of select="source_connections" />,,<xsl:value-of select="listeners" />,,
|
Global,Client:<xsl:value-of select="connections" /> Source: <xsl:value-of select="source_connections" />,,<xsl:value-of select="listeners" />,,
|
||||||
<xsl:for-each select="source">
|
<xsl:for-each select="source">
|
||||||
<xsl:value-of select="@mount" />,,<xsl:value-of select="name" />,<xsl:value-of select="listeners" />,<xsl:value-of select="description" />,<xsl:value-of select="artist" /> - <xsl:value-of select="title" />,<xsl:value-of select="url" />
|
<xsl:value-of select="@mount" />,,<xsl:value-of select="name" />,<xsl:value-of select="listeners" />,<xsl:value-of select="description" />,<xsl:value-of select="artist" /> - <xsl:value-of select="title" />,<xsl:value-of select="url" />
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</pre>
|
</pre>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
@ -38,6 +38,14 @@ h2 {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
margin-top:3px;
|
margin-top:3px;
|
||||||
}
|
}
|
||||||
|
h1 {
|
||||||
|
font-family: Verdana, sans-serif;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 100%;
|
||||||
|
color: #fff;
|
||||||
|
margin-top:3px;
|
||||||
|
}
|
||||||
.nav {
|
.nav {
|
||||||
font-family: Verdana, sans-serif;
|
font-family: Verdana, sans-serif;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@ -116,7 +124,7 @@ td {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 110%;
|
font-size: 110%;
|
||||||
color: #f8ef64;
|
color: #f8ef64;
|
||||||
border-bottom: 3px dashed #000000;
|
border-bottom: 1px groove #ACACAC;
|
||||||
}
|
}
|
||||||
.newscontent h4 {
|
.newscontent h4 {
|
||||||
margin: 10px 0px;
|
margin: 10px 0px;
|
||||||
@ -189,11 +197,11 @@ td {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.roundtop {
|
.roundtop {
|
||||||
background: url(corner_topright.jpg) no-repeat top right;
|
background: url(/corner_topright.jpg) no-repeat top right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.roundbottom {
|
.roundbottom {
|
||||||
background: url(corner_bottomright.jpg) no-repeat top right;
|
background: url(/corner_bottomright.jpg) no-repeat top right;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.corner {
|
img.corner {
|
||||||
|
BIN
web/tunein.png
Normal file
BIN
web/tunein.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
Loading…
Reference in New Issue
Block a user