Commit 1d8e1283 authored by Marvin Scholz's avatar Marvin Scholz

Preparations for new webinterface design

parent 490482de
......@@ -2,6 +2,8 @@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = includes
admindir = $(pkgdatadir)/admin
dist_admin_DATA = listclients.xsl listmounts.xsl moveclients.xsl response.xsl \
stats.xsl manageauth.xsl updatemetadata.xsl xspf.xsl vclt.xsl
......
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
otheradmindir = $(admindir)/includes
otheradmin_DATA = footer.xsl head.xsl header.xsl mountnav.xsl
EXTRA_DIST = $(otheradmin_DATA)
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="footer">
<div class="footer">
<p>Support Icecast development at <a href="http://icecast.org">icecast.org</a></p>
</div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="head">
<xsl:param name="title"/>
<head>
<meta charset="utf-8" />
<title><xsl:if test="$title"><xsl:value-of select="$title"/></xsl:if>Icecast Admin</title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css" />
<meta name="description" content="Icecast Server status page" />
</head>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="header">
<div class="header">
<h1>
<a href="/" title="Home page">Icecast</a>
<xsl:text> </xsl:text>
<span>administration</span>
</h1>
<div class="nav">
<label for="toggle-nav" class="nobar" title="Toggle navigation"></label>
<input type="checkbox" id="toggle-nav" />
<ul>
<li class="on"><a href="/admin/stats.xsl">Administration</a></li>
<li><a href="/admin/listmounts.xsl">Mountpoint list</a></li>
<li><a href="/status.xsl">Public area</a></li>
</ul>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<xsl:template name="mountnav">
<xsl:param name="mount" select="@mount"/>
<div class="nav">
<ul>
<li><a href="listclients.xsl?mount={$mount}">Clients</a></li>
<li><a href="moveclients.xsl?mount={$mount}">Move listeners</a></li>
<li><a href="updatemetadata.xsl?mount={$mount}">Metadata</a></li>
<li><a href="killsource.xsl?mount={$mount}">Kill source</a></li>
</ul>
</div>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<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 xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
</head>
<body>
<h1>Icecast2 Admin</h1>
<!--index header menu -->
<div id="menu">
<ul>
<li><a href="stats.xsl">Admin Home</a></li>
<li><a href="listmounts.xsl">Mountpoint List</a></li>
<li><a href="/status.xsl">Public Home</a></li>
</ul>
</div>
<!--end index header menu -->
<h2>Listener Stats</h2>
<xsl:for-each select="source">
<div class="roundbox">
<div class="mounthead">
<h3>Mountpoint <xsl:value-of select="@mount" /></h3>
<div class="right">
<xsl:choose>
<xsl:when test="authenticator">
<a class="auth" href="/auth.xsl">Login</a>
</xsl:when>
<xsl:otherwise>
<ul class="mountlist">
<li><a class="play" href="{@mount}.m3u">M3U</a></li>
<li><a class="play" href="{@mount}.xspf">XSPF</a></li>
<li><a class="play" href="{@mount}.vclt">VCLT</a></li>
</ul>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
<div class="mountcont">
<ul class="nav">
<li class="active"><a href="listclients.xsl?mount={@mount}">List Clients</a></li>
<li><a href="moveclients.xsl?mount={@mount}">Move Listeners</a></li>
<li><a href="updatemetadata.xsl?mount={@mount}">Update Metadata</a></li>
<xsl:if test="authenticator">
<li><a href="manageauth.xsl?mount={@mount}">Manage Authentication</a></li>
</xsl:if>
<li><a href="killsource.xsl?mount={@mount}">Kill Source</a></li>
</ul>
<xsl:choose>
<xsl:when test="listener">
<div class="scrolltable">
<table class="colortable">
<thead>
<tr>
<td>IP</td>
<td>Username</td>
<td>Role</td>
<td>Sec. connected</td>
<td>User Agent</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<xsl:variable name = "themount"><xsl:value-of select="@mount" /></xsl:variable>
<xsl:for-each select="listener">
<tr>
<td><xsl:value-of select="ip" /></td>
<td><xsl:value-of select="username" /></td>
<td><xsl:value-of select="role" /></td>
<td><xsl:value-of select="connected" /></td>
<td><xsl:value-of select="useragent" /></td>
<td><a href="killclient.xsl?mount={$themount}&amp;id={id}">Kick</a></td>
</tr>
</xsl:for-each>
</tbody>
</table>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:include href="includes/mountnav.xsl"/>
<xsl:template match="/icestats">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title">Stats</xsl:with-param>
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<div class="section">
<h2>Listener Stats</h2>
<xsl:for-each select="source">
<div class="article">
<h3>Mountpoint <xsl:value-of select="@mount" /></h3>
<!-- Mount nav -->
<xsl:call-template name="mountnav" />
<xsl:choose>
<xsl:when test="listener">
<table class="table-flipscroll">
<thead>
<tr>
<th>IP</th>
<th>Username</th>
<th>Role</th>
<th>Sec. connected</th>
<th>User Agent</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="listener">
<tr>
<td><xsl:value-of select="ip" /></td>
<td><xsl:value-of select="username" /></td>
<td><xsl:value-of select="role" /></td>
<td><xsl:value-of select="connected" /></td>
<td><xsl:value-of select="useragent" /></td>
<td><a href="killclient.xsl?mount={../@mount}&amp;id={id}">Kick</a></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:when>
<xsl:otherwise>
<p>No listeners connected</p>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:when>
<xsl:otherwise>
<p>No listeners connected</p>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
</xsl:for-each>
<div id="footer">
Support icecast development at <a href="http://www.icecast.org">www.icecast.org</a>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
</xsl:for-each>
</div>
<!-- Footer -->
<xsl:call-template name="footer" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<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 xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
</head>
<body>
<h1>Icecast2 Admin</h1>
<!--index header menu -->
<div id="menu">
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:include href="includes/mountnav.xsl"/>
<!-- Auth template -->
<xsl:template name="authlist">
<ul>
<li><a href="stats.xsl">Admin Home</a></li>
<li><a href="listmounts.xsl">Mountpoint List</a></li>
<li><a href="/status.xsl">Public Home</a></li>
<xsl:for-each select="authentication/role">
<li>Role
<xsl:if test="@name">
<xsl:value-of select="@name" />
</xsl:if>
of type <xsl:value-of select="@type" />
<xsl:if test="@management-url">
<xsl:choose>
<xsl:when test="@can-adduser='true' or @can-deleteuser='true'">
(<a href="{@management-url}">Manage</a>)
</xsl:when>
<xsl:when test="@can-listuser='true'">
(<a href="{@management-url}">List</a>)
</xsl:when>
</xsl:choose>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</div>
<!--end index header menu -->
<h2>Active Mountpoints</h2>
<xsl:for-each select="source">
<div class="roundbox">
<div class="mounthead">
<h3 class="mount">Mountpoint <xsl:value-of select="@mount" /></h3>
<div class="right">
</xsl:template>
<xsl:template match="/icestats">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title">Stats</xsl:with-param>
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<div class="section">
<h2>Active Mountpoints</h2>
<xsl:choose>
<xsl:when test="authenticator">
<a class="auth" href="/auth.xsl">Login</a>
<xsl:when test="source">
<xsl:for-each select="source">
<div class="article">
<h3>Mountpoint <xsl:value-of select="@mount" /></h3>
<!-- Mount nav -->
<xsl:call-template name="mountnav" />
<h4>Play stream</h4>
<xsl:choose>
<xsl:when test="authenticator">
<a class="play" href="/auth.xsl">Auth</a>
</xsl:when>
<xsl:otherwise>
<a class="play" href="{@mount}.m3u">&#9658; <span>M3U</span></a>
<xsl:text> </xsl:text>
<a class="play" href="{@mount}.xspf">&#9658; <span>XSPF</span></a>
<xsl:text> </xsl:text>
<a class="play" href="{@mount}.vclt">&#9658; <span>VCLT</span></a>
</xsl:otherwise>
</xsl:choose>
<p><xsl:value-of select="listeners" /> Listener(s)</p>
<!-- Mount Authentication -->
<xsl:if test="authentication">
<h4>Mount Authentication</h4>
<xsl:call-template name="authlist" />
</xsl:if>
</div>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<ul class="mountlist">
<li><a class="play" href="{@mount}.m3u">M3U</a></li>
<li><a class="play" href="{@mount}.xspf">XSPF</a></li>
<li><a class="play" href="{@mount}.vclt">VCLT</a></li>
</ul>
<div class="aside error">
<strong>No mounts!</strong> There are no active mountpoints.
</div>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
<div class="mountcont">
<ul class="nav">
<li><a href="listclients.xsl?mount={@mount}">List Clients</a></li>
<li><a href="moveclients.xsl?mount={@mount}">Move Listeners</a></li>
<li><a href="updatemetadata.xsl?mount={@mount}">Update Metadata</a></li>
<xsl:if test="authenticator">
<li><a href="manageauth.xsl?mount={@mount}">Manage Authentication</a></li>
</xsl:if>
<li><a href="killsource.xsl?mount={@mount}">Kill Source</a></li>
</ul>
<p><xsl:value-of select="listeners" /> Listener(s)</p>
</div>
</div>
</xsl:for-each>
<div id="footer">
Support icecast development at <a href="http://www.icecast.org">www.icecast.org</a>
</div>
</body>
</html>
</xsl:template>
<!-- Footer -->
<xsl:call-template name="footer" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<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 xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
</head>
<body>
<h1>Icecast2 Admin</h1>
<!--index header menu -->
<div id="menu">
<ul>
<li><a href="stats.xsl">Admin Home</a></li>
<li><a href="listmounts.xsl">Mountpoint List</a></li>
<li><a href="/status.xsl">Public Home</a></li>
</ul>
</div>
<!--end index header menu -->
<h2>Manage Authentication</h2>
<xsl:if test="iceresponse">
<div class="roundbox">
<h3>Message</h3>
<xsl:for-each select="iceresponse">
<xsl:value-of select="message" /><br />
</xsl:for-each>
</div>
</xsl:if>
<xsl:for-each select="role">
<div class="roundbox">
<h3>Role <xsl:value-of select="@name" /> (<xsl:value-of select="@type" />)
<xsl:if test="server_name">
<small><xsl:value-of select="server_name" /></small>
</xsl:if>
</h3>
<xsl:if test="users">
<table class="colortable">
<thead>
<tr>
<td>User</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<xsl:for-each select="users/user">
<tr>
<td>
<xsl:value-of select="username" />
</td>
<td>
<xsl:choose>
<xsl:when test="../../@can-deleteuser = 'true'">
<a href="manageauth.xsl?id={../../@id}&amp;username={username}&amp;action=delete">Delete</a>
</xsl:when>
<xsl:otherwise>
<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:if>
<xsl:if test="@can-adduser = 'true'">
<form class="alignedform" method="get" action="/admin/manageauth.xsl">
<fieldset>
<legend>Add new user</legend>
<p>
<label for="username">Username:</label>
<input type="text" id="username" name="username"/>
</p>
<p>
<label for="password">Password:</label>
<input type="password" id="password" name="password"/>
</p>
<input type="hidden" name="id" value="{@id}"/>
<input type="hidden" name="action" value="add"/>
<input type="Submit" value="Add"/>
</fieldset>
</form>
</xsl:if>
</div>
</xsl:for-each>
<div id="footer">
Support icecast development at <a href="http://www.icecast.org">www.icecast.org</a>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:include href="includes/mountnav.xsl"/>
<xsl:template match="/icestats">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title">Stats</xsl:with-param>
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<div class="section">
<h2>Manage Authentication</h2>
<xsl:if test="iceresponse">
<div class="aside error">
<xsl:value-of select="iceresponse/message" />
</div>
</xsl:if>
<xsl:for-each select="role">
<div class="article">
<h3>Role <xsl:value-of select="@name" /> (<xsl:value-of select="@type" />)
<xsl:if test="server_name">
<xsl:text> </xsl:text><small><xsl:value-of select="server_name" /></small>
</xsl:if>
</h3>
<xsl:choose>
<xsl:when test="users/user">
<table class="table-flipscroll">
<thead>
<tr>
<th>User</th>
<xsl:if test="@can-deleteuser = 'true'">
<th>Action</th>
</xsl:if>
</tr>
</thead>
<tbody>
<xsl:for-each select="users/user">
<tr>
<td><xsl:value-of select="username" /></td>
<xsl:if test="../../@can-deleteuser = 'true'">
<td>
<a href="manageauth.xsl?id={../../@id}&amp;username={username}&amp;action=delete">Delete</a>
</td>
</xsl:if>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:when>
<xsl:otherwise>
<p>No Users</p>
</xsl:otherwise>
</xsl:choose>
<!-- Form to add Users -->
<xsl:if test="@can-adduser = 'true'">
<h4>Add User</h4>
<form method="get" action="manageauth.xsl">
<label for="username" class="hidden">Username</label>
<input type="text" id="username" name="username" value="" placeholder="Username" required="required" />
<label for="password" class="hidden">Password</label>
<input type="password" id="password" name="password" value="" placeholder="Password" required="required" />
<input type="hidden" name="id" value="{@id}"/>
<input type="hidden" name="action" value="add"/>
<input type="submit" value="Add new user" />
</form>
</xsl:if>
</div>
</xsl:for-each>
</div>
<!-- Footer -->
<xsl:call-template name="footer" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<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 xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
</head>
<body>
<h1>Icecast2 Admin</h1>
<!--index header menu -->
<div id="menu">
<ul>
<li><a href="stats.xsl">Admin Home</a></li>
<li><a href="listmounts.xsl">Mountpoint List</a></li>
<li><a href="/status.xsl">Public Home</a></li>
</ul>
</div>
<!--end index header menu -->
<xsl:variable name = "currentmount" ><xsl:value-of select="current_source" /></xsl:variable>
<h2>Moving listeners from <xsl:value-of select="current_source" /></h2>
<div class="roundbox">
<h3>Move to which mountpoint?</h3>
<xsl:for-each select="source">
<p>
Move from <code><xsl:copy-of select="$currentmount" /></code> to <code><xsl:value-of select="@mount" /></code><br />
<xsl:value-of select="listeners" /> listeners<br />
<a href="moveclients.xsl?mount={$currentmount}&amp;destination={@mount}">Move clients</a>
</p>
</xsl:for-each>
</div>
<div id="footer">
Support icecast development at <a href="http://www.icecast.org">www.icecast.org</a>
</div>
</body>
</html>
</xsl:template>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:include href="includes/mountnav.xsl"/>
<xsl:template match="/icestats">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title">Stats</xsl:with-param>
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<div class="section">
<h2>Move listeners</h2>
<div class="article">
<h3>Mountpoint <xsl:value-of select="current_source" /></h3>
<!-- Mount nav -->
<xsl:call-template name="mountnav">
<xsl:with-param name="mount" select="current_source"/>
</xsl:call-template>
<xsl:choose>
<xsl:when test="source">
<p>Choose the mountpoint to which you want to move the listeners to:</p>
<form method="get" action="moveclients.xsl">
<label for="moveto" class="hidden">
Move from <code><xsl:value-of select="current_source" /></code> to
</label>
<select name="destination" id="moveto">
<xsl:for-each select="source">
<option value="{@mount}">
<xsl:value-of select="@mount" />
</option>
</xsl:for-each>
</select>
<input type="hidden" name="mount" value="{current_source}" />
<input type="submit" value="Move listeners" />
</form>
</xsl:when>
<xsl:otherwise>
<p>
<strong>No mounts!</strong>
There are no other mountpoints you could move the listeners to.
</p>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
<!-- Footer -->
<xsl:call-template name="footer" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
<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 = "/iceresponse" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Icecast Streaming Media Server</title>
<link rel="stylesheet" type="text/css" href="/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
</head>
<body>
<h1>Icecast2 Admin</h1>
<!--index header menu -->
<div id="menu">
<ul>
<li><a href="stats.xsl">Admin Home</a></li>
<li><a href="listmounts.xsl">Mountpoint List</a></li>
<li><a href="/status.xsl">Public Home</a></li>
</ul>
</div>
<!--end index header menu -->
<h2>Icecast Server Response</h2>
<xsl:for-each select="/iceresponse">
<div class="roundbox">
<h3>Response</h3>
<p>Message: <xsl:value-of select="message" /></p>
<p>Return Code: <xsl:value-of select="return" /></p>
</div>
</xsl:for-each>
<div id="footer">
Support icecast development at <a href="http://www.icecast.org">www.icecast.org</a>
</div>
</body>
</html>
</xsl:template>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" />
<!-- Import include files -->
<xsl:include href="includes/head.xsl"/>
<xsl:include href="includes/header.xsl"/>
<xsl:include href="includes/footer.xsl"/>
<xsl:template match="/iceresponse">
<html>
<xsl:call-template name="head">
<xsl:with-param name="title">Stats</xsl:with-param>
</xsl:call-template>
<body>
<!-- Header/Menu -->
<xsl:call-template name="header" />
<div class="section">
<h2>Server Response</h2>
<xsl:for-each select="/iceresponse">
<div class="article">
<h3>Response</h3>
<h4>Message</h4>
<p><xsl:value-of select="message" /></p>
<p>