1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-12-04 14:46:30 -05:00

after way too long with an ugly admin interface, lets go with

a slightly-less-ugly-admin-interface-that-is-at-least-similar-to-the-website.

svn path=/trunk/icecast/; revision=5810
This commit is contained in:
oddsock 2004-02-04 23:56:23 +00:00
parent 682753ea10
commit 6c6232f0d1
13 changed files with 541 additions and 524 deletions

View File

@ -1,82 +1,79 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/icestats" >
<HTML>
<HEAD>
<title>Icecast 2 Stats</title>
<style type="text/css">
a:hover {color: #BBBBBB;}
a {color: black;}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table border="0" cellpadding="5" cellspacing="5">
<tr>
<td><a href="listmounts.xsl">List MountPoints</a></td>
<td><a href="moveclients.xsl">Move MountPoints</a></td>
<td><a href="stats.xsl">Stats</a></td>
<td><a href="/status.xsl">Status Page</a></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Listener Info</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body bgcolor="black">
<center>
<table border="0" cellpadding="1" cellspacing="3">
<tr>
<td align="center">
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="stats.xsl">Stats</a> |
<a class="nav" href="/status.xsl">Status Page</a>
</td></tr>
</table>
</center>
<table border="0" width="90%%">
<tr>
<td width="50"></td>
<td>
<h2>Icecast Status Page</h2>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<xsl:for-each select="source">
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<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> |
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
</td></tr>
</table>
<br></br>
<table cellpadding="2" cellspacing="4" border="0" >
<tr>
<td bgcolor="#5BB2EB" colspan="2" align="center">
<center>
<font class="mount">Listener Information for <xsl:value-of select="@mount" /> - Total of <xsl:value-of select="Listeners" /><br></br>
</font>
</center>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#CCDDDD"><b>IP</b></td>
<td bgcolor="#CCDDDD"><b>Connected For</b></td>
<td bgcolor="#CCDDDD"><b>User Agent</b></td>
<td bgcolor="#CCDDDD"><b>Internal ID</b></td>
<td ><b>IP</b></td>
<td ><b>Connected For</b></td>
<td ><b>User Agent</b></td>
<td ></td>
</tr>
<xsl:variable name = "themount" ><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="listener">
<tr>
<td width="30%"><xsl:value-of select="IP" /></td>
<td><xsl:value-of select="IP" /></td>
<td><xsl:value-of select="Connected" /> seconds</td>
<td><xsl:value-of select="UserAgent" /></td>
<td><a href="killclient.xsl?mount={$themount}&amp;id={ID}">kill</a></td>
<td><a class="nav2" href="killclient.xsl?mount={$themount}&amp;id={ID}">kill</a></td>
</tr>
</xsl:for-each>
</table>
<br></br>
<br></br>
<br></br>
</xsl:for-each>
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</font>
</BODY>
</HTML>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
<td width="50"></td>
</tr>
</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>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,73 +1,62 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/icestats" >
<HTML>
<HEAD>
<title>Icecast 2 Stats</title>
<style type="text/css">
a:hover {color: #BBBBBB;}
a {color: black;}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table border="0" cellpadding="5" cellspacing="5">
<tr>
<td><a href="listmounts.xsl">List MountPoints</a></td>
<td><a href="moveclients.xsl">Move MountPoints</a></td>
<td><a href="stats.xsl">Stats</a></td>
<td><a href="/status.xsl">Status Page</a></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Mountpoint Info</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body bgcolor="black">
<center>
<table border="0" cellpadding="1" cellspacing="3">
<tr>
<td align="center">
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="stats.xsl">Stats</a> |
<a class="nav" href="/status.xsl">Status Page</a>
</td></tr>
</table>
</center>
<table border="0" width="90%%">
<tr>
<td width="50"></td>
<td>
<h2>List Mountpoints</h2>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<xsl:for-each select="source">
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#5BB2EB" align="center" colspan="3">
<font class="mount">(<xsl:value-of select="@mount" />) <xsl:value-of select="listeners" /> Listener(s)<br></br>
</font>
</td>
</tr>
<tr>
<td bgcolor="#CCDDDD">
<a href="listclients.xsl?mount={@mount}">List Clients</a>
</td>
<td bgcolor="#CCDDDD">
<a href="moveclients.xsl?mount={@mount}">Move Clients</a>
</td>
<td bgcolor="#CCDDDD">
<a href="killsource.xsl?mount={@mount}">Kill Source</a>
</td>
</tr>
</table>
<h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<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> |
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
</td></tr>
</table>
<br></br>
<p><xsl:value-of select="listeners" /> Listener(s)</p>
<br></br>
</xsl:for-each>
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</font>
</BODY>
</HTML>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
<td width="50"></td>
</tr>
</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>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,66 +1,61 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/icestats" >
<HTML>
<HEAD>
<title>Icecast 2 Stats</title>
<style type="text/css">
a:hover {color: #BBBBBB;}
a {color: black;}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table border="0" cellpadding="5" cellspacing="5">
<tr>
<td><a href="listmounts.xsl">List MountPoints</a></td>
<td><a href="moveclients.xsl">Move MountPoints</a></td>
<td><a href="stats.xsl">Stats</a></td>
<td><a href="/status.xsl">Status Page</a></td>
</tr>
</table>
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body bgcolor="black">
<center>
<table border="0" cellpadding="1" cellspacing="3">
<tr>
<td align="center">
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="stats.xsl">Stats</a> |
<a class="nav" href="/status.xsl">Status Page</a>
</td></tr>
</table>
</center>
<table border="0" width="90%%">
<tr>
<td width="50"></td>
<td>
<xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Move Clients from (<xsl:value-of select="current_source" />)</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
Move to which mountpoint ?<br></br>
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<h2>Move Clients from (<xsl:value-of select="current_source" />)</h2>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<h3>Move to which mountpoint ?</h3>
<xsl:for-each select="source">
<tr>
<td bgcolor="#CCDDDD" align="left">
<font class="mount"><xsl:value-of select="@mount" />
</font>
</td>
<td bgcolor="#CCDDDD"><xsl:value-of select="listeners" /> Listeners</td>
<td bgcolor="#CCDDDD"><a href="moveclients.xsl?mount={$currentmount}&amp;destination={@mount}">Move Clients</a></td>
</tr>
<table border="0" cellpadding="1" cellspacing="5" >
<tr>
<td>Move from (<xsl:copy-of select="$currentmount" />) to (<xsl:value-of select="@mount" />)</td>
<td><xsl:value-of select="listeners" /> Listeners</td>
<td><a class="nav2" href="moveclients.xsl?mount={$currentmount}&amp;destination={@mount}">Move Clients</a></td>
</tr>
</table>
<br></br>
<br></br>
</xsl:for-each>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
<td width="50"></td>
</tr>
</table>
<br></br>
<br></br>
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</font>
</BODY>
</HTML>
<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>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,59 +1,54 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/iceresponse" >
<HTML>
<HEAD>
<title>Icecast 2 Response</title>
<style type="text/css">
a:hover {color: #BBBBBB;}
a {color: black;}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table border="0" cellpadding="5" cellspacing="5" >
<tr>
<td><a href="listmounts.xsl">List MountPoints</a></td>
<td><a href="moveclients.xsl">Move MountPoints</a></td>
<td><a href="stats.xsl">Stats</a></td>
<td><a href="/status.xsl">Status Page</a></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Response</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body bgcolor="black">
<center>
<table border="0" cellpadding="1" cellspacing="3">
<tr>
<td align="center">
<a class="nav" href="listmounts.xsl">List MountPoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="stats.xsl">Stats</a> |
<a class="nav" href="/status.xsl">Status Page</a>
</td></tr>
</table>
</center>
<table border="0" width="90%%">
<tr>
<td width="50"></td>
<td>
<h2>Icecast Server Response</h2>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<h3>Response</h3>
<xsl:for-each select="/iceresponse">
<font size="4">
Message : <xsl:value-of select="message" /><br></br>
Return Code: <xsl:value-of select="return" /><br></br>
</font>
</xsl:for-each>
<br></br>
<br></br>
<br></br>
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</font>
</BODY>
</HTML>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
<td width="50"></td>
</tr>
</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>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,124 +1,98 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/icestats" >
<HTML>
<HEAD>
<title>Icecast 2 Stats</title>
<style type="text/css">
a:hover {color: #BBBBBB;}
a {color: black;}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table border="0" cellpadding="5" cellspacing="5" >
<tr>
<td><a href="listmounts.xsl">List MountPoints</a></td>
<td><a href="moveclients.xsl">Move MountPoints</a></td>
<td><a href="stats.xsl">Stats</a></td>
<td><a href="/status.xsl">Status Page</a></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Global Server Info</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#5BB2EB">
<table width="100%" border="2" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td><font size="+2" color="black">Statistic</font></td>
<td><font size="+2" color="black">Value</font></td>
</tr>
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body bgcolor="black">
<center>
<table border="0" cellpadding="1" cellspacing="3">
<tr>
<td align="center">
<a class="nav" href="listmounts.xsl">List Mountpoints</a> |
<a class="nav" href="moveclients.xsl">Move Listeners</a> |
<a class="nav" href="stats.xsl">Stats</a> |
<a class="nav" href="/status.xsl">Status Page</a>
</td></tr>
</table>
</center>
<table border="0" width="90%%">
<tr>
<td width="50"></td>
<td>
<h2>Icecast Status Page</h2>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<h3>Global Server Stats</h3>
<table border="0" cellpadding="4">
<xsl:for-each select="/icestats">
<xsl:for-each select="*">
<xsl:if test = "name()!='source'">
<tr>
<td><xsl:value-of select="name()" /></td>
<td><xsl:value-of select="." /></td>
</tr>
<tr>
<td width="130"><xsl:value-of select="name()" /></td>
<td class="streamdata"><xsl:value-of select="." /></td>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</table>
</td>
</tr>
</table>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Mountpoint Info</font>
</td>
</tr>
<tr>
<td height="14" align="right"></td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center"></td>
</tr>
</table>
<br></br>
<div class="roundcont">
<div class="roundtop">
<img src="/corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<xsl:for-each select="source">
<xsl:if test = "listeners!=''">
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3>
<table border="0" cellpadding="1" cellspacing="5" bgcolor="444444">
<tr>
<td align="center">
<a class="nav2" href="listclients.xsl?mount={@mount}">List Clients</a> |
<a class="nav2" href="moveclients.xsl?mount={@mount}">Move MountPoints</a> |
<a class="nav2" href="killsource.xsl?mount={@mount}">Kill Source</a>
</td></tr>
</table>
<br></br>
<table cellpadding="5" cellspacing="0" border="0">
<xsl:for-each select="*">
<tr>
<td bgcolor="#5BB2EB">
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#5BB2EB" align="center">
<font class="mount">(<xsl:value-of select="@mount" />)<br></br>
</font>
</td>
</tr>
<tr>
<td bgcolor="#CCDDDD">
<a href="listclients.xsl?mount={@mount}">List Clients</a>
</td>
</tr>
</table>
<table width="100%" border="2" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td><font size="+2" color="black">Statistic</font></td>
<td><font size="+2" color="black">Value</font></td>
</tr>
<xsl:for-each select="*">
<tr>
<td><xsl:value-of select="name()" /></td>
<td><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
<td width="130"><xsl:value-of select="name()" /></td>
<td class="streamdata"><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
<br></br>
<br></br>
</xsl:if>
</xsl:for-each>
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</font>
</BODY>
</HTML>
</div>
<div class="roundbottom">
<img src="/corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
<td width="50"></td>
</tr>
</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>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@ -3,5 +3,11 @@
AUTOMAKE_OPTIONS = foreign
webdir = $(pkgdatadir)/web
dist_web_DATA = status.xsl status2.xsl
dist_web_DATA = status.xsl \
status2.xsl \
corner_bottomleft.jpg \
corner_bottomright.jpg \
corner_topleft.jpg \
corner_topright.jpg \
icecast.png \
style.css

BIN
web/corner_bottomleft.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
web/corner_bottomright.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
web/corner_topleft.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
web/corner_topright.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
web/icecast.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -1,210 +1,73 @@
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="html" indent="yes" />
<xsl:template match = "/icestats" >
<HTML>
<HEAD>
<title>Icecast 2 Stats</title>
<style type="text/css">
a:hover {color: black; font-family:Verdana}
.default1 {color: #505050; font-family:Verdana; font-size:9pt; font-weight: normal}
.default2 {color: #252525; font-family:Verdana; font-size:9pt; font-weight: normal}
.mount {color: White; font-family:Verdana; font-size:9pt; font-weight: normal}
.icelogo {color: #0099D4; font-family: Verdana; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}
.ltv {color: gray; font-family: Verdana; font-size: 9pt; font-weight: normal;}
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#EFEFEF" text="#0099D4" link="#0000FF" vlink="#FF00FF" alink="#FF0000" >
<font class="default">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<html>
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body bgcolor="black">
<table border="0" width="100%%">
<tr>
<td height="50">
<font class="icelogo">Icecast 2 Status</font>
</td>
</tr>
<tr>
<td height="14" align="right">
</td>
</tr>
<tr>
<td bgcolor="#007B79" height="20" align="center">
</td>
</tr>
</table>
<br></br>
<td width="50"></td>
<td>
<h2>Icecast Status Page</h2>
<div class="roundcont">
<div class="roundtop">
<img src="corner_topleft.jpg" class="corner" style="display: none" />
</div>
<div class="newscontent">
<xsl:for-each select="source">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#B4E6FF" colspan="5">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#5BB2EB" colspan="2" align="center">
<center>
<xsl:choose>
<xsl:when test="listeners">
<font class="mount">Current Stream Information<br></br>
<xsl:value-of select="@mount" />
</font>
</xsl:when>
<xsl:otherwise>
<font class="mount">Stream Information (stream not currently available)</font>
</xsl:otherwise>
</xsl:choose>
</center>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#B4E6FF" colspan="5">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="2" cellspacing="0" border="0" align="center">
<tr>
<td width="100" >
</td>
</tr>
<tr>
<td width="100" >
<font class="default1">Stream Type: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="type" /></b>
</font>
</td>
</tr>
<xsl:if test="listeners">
<tr>
<td width="100" >
<font class="default1">Stream Listeners: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="listeners" /></b>
</font>
</td>
</tr>
<h3>
<xsl:if test="server_name"><xsl:value-of select="server_name" /> </xsl:if>
(<xsl:value-of select="@mount" />)</h3>
<table border="0" cellpadding="4">
<xsl:if test="server_name">
<tr><td>Stream Title:</td><td class="streamdata"> <xsl:value-of select="server_name" /></td></tr>
</xsl:if>
<xsl:if test="name">
<tr>
<td width="100" >
<font class="default1">Stream Title: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="name" /></b>
</font>
</td>
</tr>
<xsl:if test="server_description">
<tr><td>Stream Description:</td><td class="streamdata"> <xsl:value-of select="server_description" /></td></tr>
</xsl:if>
<xsl:if test="type">
<tr><td width="130"> Stream Type:</td><td class="streamdata"><xsl:value-of select="type" /></td></tr>
</xsl:if>
<xsl:if test="bitrate">
<tr><td>Bitrate:</td><td class="streamdata"> <xsl:value-of select="bitrate" /></td></tr>
</xsl:if>
<xsl:if test="listeners">
<tr><td>Stream Listeners:</td><td class="streamdata"> <xsl:value-of select="listeners" /></td></tr>
</xsl:if>
<xsl:if test="genre">
<tr>
<td width="100" >
<font class="default1">Stream Genre: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="genre" /></b>
</font>
</td>
</tr>
<tr><td>Stream Genre:</td><td class="streamdata"> <xsl:value-of select="genre" /></td></tr>
</xsl:if>
<xsl:if test="description">
<tr>
<td width="100" >
<font class="default1">Stream Description: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="description" /></b>
</font>
</td>
</tr>
</xsl:if>
<xsl:if test="url">
<tr>
<td width="100" >
<font class="default1">Stream URL: </font>
</td>
<td>
<font class="default2">
<b>
<xsl:value-of select="url" />
</b>
</font>
</td>
</tr>
</xsl:if>
<tr>
<td width="100" >
<font class="default1">Current Song: </font>
</td>
<td>
<font class="default2">
<b><xsl:value-of select="artist" /> - <xsl:value-of select="title" /></b>
</font>
</td>
</tr>
<xsl:if test="listeners">
<tr>
<td width="100" >
<font class="default1">Listen: </font>
</td>
<td>
<font class="default2">
<a href="{@mount}.m3u">Here</a>
</font>
</td>
</tr>
<xsl:if test="server_url">
<tr><td>Stream URL:</td><td class="streamdata"> <a href="{@server_url}"><xsl:value-of select="server_url" /></a></td></tr>
</xsl:if>
<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>
<tr><td>Listen:</td><td class="streamdata"> <a href="{@mount}.m3u">Click to Listen</a></td></tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td bgcolor="#B4E6FF" colspan="5">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td></td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:when>
<xsl:otherwise>
<h3><xsl:value-of select="@mount" /> - Not Connected</h3>
</xsl:otherwise>
</xsl:choose>
<br></br>
<br></br>
</xsl:for-each>
<table celspacing="0" cellpadding="0" border="0">
<tr>
<td colspan="5" align="center">
<font class="mount">
<a href="http://www.icecast.org">Icecast development team</a>
</font>
</div>
<div class="roundbottom">
<img src="corner_bottomleft.jpg" class="corner" style="display: none" />
</div>
</div>
<br></br><br></br>
</td>
</tr>
<td width="25"></td></tr>
</table>
</font>
</BODY>
</HTML>
<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>
</html>
</xsl:template>
</xsl:stylesheet>

198
web/style.css Normal file
View File

@ -0,0 +1,198 @@
/******************************************************************************
This file styles the bar that goes across the top of all Xiph.Org
pages.
The style that comes from this was first (to my knowledge) at
http://alistapart.com/stories/practicalcss/ in the
"Splitting the Difference" section.
******************************************************************************/
/* This effect doesn't work at all if all content is pinched in a bit. */
html, body {
margin: 0;
padding: 0;
}
.xiphnav {
font-family: Verdana, sans-serif;
font-weight: normal;
padding: .25em;
margin-bottom: .5em;
border-bottom: 1px solid #000;
color: #000;
background: #aaa;
}
h2 {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
font-size: 250%;
color: #FFFFFF;
}
.nav {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
font-size: 110%;
color: #FFFFFF;
}
.nav:hover {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
color: #F8EF64;
}
.xiphnav_a {
text-decoration: none;
font-weight: normal;
color: #000;
}
.news {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: normal;
color: #FFFFFF;
}
.newsheader {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: normal;
font-size: 110%;
color: #F8EF64;
background: #444444;
}
.streamtd {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: normal;
font-size: 85%;
color: #FFFFFF;
padding:15px;
}
.streamtd_alt {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: normal;
font-size: 85%;
color: #FFFFFF;
}
.streamtd_alt_2 {
font-family: Verdana, sans-serif;
text-decoration: underline;
font-weight: normal;
font-size: 85%;
color: #FFFFFF;
}
td {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: normal;
color: #FFFFFF;
}
.roundcont {
width: 90%;
background-color: #656565;
color: #fff;
}
.newscontent {
margin: 0 20px;
}
.newscontent h3 {
margin: 10px 0px;
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
font-size: 110%;
color: #F8EF64;
border-bottom: 3px dashed #000000;
}
.newscontent h4 {
margin: 10px 0px;
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
font-size: 110%;
color: #F8EF64;
}
.newscontent p {
margin: 0 0;
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: none;
font-size: 90%;
}
.newscontent td {
margin: 0 0;
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: none;
font-size: 90%;
}
.newscontent td.streamdata {
margin: 0 0;
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: none;
font-size: 90%;
color: #F8EF64;
}
.newscontent a {
font-family: Verdana, sans-serif;
text-decoration: underline;
font-weight: bold;
color: #F8EF64;
}
.newscontent a:hover {
font-family: Verdana, sans-serif;
text-decoration: underline;
font-weight: bold;
color: #FFFFFF;
}
.newscontent a.nav2 {
font-family: Verdana, sans-serif;
text-decoration: none;
font-weight: bold;
background: #444444;
color: #F8EF64;
}
.newscontent a.nav2:hover {
font-family: Verdana, sans-serif;
text-decoration: none;
background: #777777;
font-weight: bold;
color: #FFFFFF;
}
.poster {
font-family: Verdana, sans-serif;
margin: 0px 0px;
display: block;
text-decoration: none;
font-size: 100%;
color: #F8EF64;
border-top: 3px dashed #000000;
}
.roundcont p {
margin: 10px 50px;
}
.roundtop {
background: url(corner_topright.jpg) no-repeat top right;
}
.roundbottom {
background: url(corner_bottomright.jpg) no-repeat top right;
}
img.corner {
width: 15px;
height: 15px;
border: none;
display: block !important;
}