to keep our clients honest.
@if{@ne{@arg:directory@}{}@}{
<p class=directoryname>@navigate{@arg:directory@}{/<a
class=thisdirectory
- href="@url@?action=choose&directory=@urlquote{@fullname@}@&n=@nonce@">@basename@</a>}@:</p>
+ href="@url@?action=choose&directory=@urlquote{@fullname@}@">@basename@</a>}@:</p>
}@
@if{@isdirectories@}{
@choose{directories}{
<p class=directory>
<a class=directory
- href="@url@?action=choose&directory=@urlquote{@file@}@&n=@nonce@"
+ href="@url@?action=choose&directory=@urlquote{@file@}@"
title="@label:choose.directory@">
<img class=button
src="@image:directory@"
@choose{files}{
<p class=file>
@right{prefs}{<a class=imgprefs
- href="@url@?action=prefs&0_file=@urlquote{@resolve{@file@}@}@&n=@nonce@"
+ href="@url@?action=prefs&0_file=@urlquote{@resolve{@file@}@}@"
><img class=button
src="@image:edit@"
title="@label:choose.prefsverbose@"
alt="@label:choose.prefs@"></a>}@
<a class=file
- href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@&n=@nonce@"
+ href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@"
title="@label:choose.play@">@transform{@file@}{track}{display}@</a>
@if{@eq{@trackstate{@file@}@}{playing}@}{[<b>playing</b>]}@
@if{@eq{@trackstate{@file@}@}{queued}@}{[<b>queued</b>]}@
}@
<p class=allfiles>
@right{prefs}{<a class=imgprefs
- href="@url@?action=prefs&directory=@urlquote{@arg:directory@}@&n=@nonce@&back=@urlquote{@thisurl@}@"
+ href="@url@?action=prefs&directory=@urlquote{@arg:directory@}@&back=@urlquote{@thisurl@}@"
><img class=button
src="@image:edit@"
title="@label:choose.allprefsverbose@"
alt="@label:choose.allprefs@"></a>}@
- <a class=allfiles href="@url@?action=play&directory=@urlquote{@arg:directory@}@&n=@nonce@&back=@urlquote{@thisurl@}@">
+ <a class=allfiles href="@url@?action=play&directory=@urlquote{@arg:directory@}@&back=@urlquote{@thisurl@}@">
@label:choose.playall@
</a>
</p>
</table>
<p>This screen has two forms: <a
- href="@url@?action=choose&n=@nonce@">choose</a>, which give
+ href="@url@?action=choose">choose</a>, which give
you all the top-level directories at once, and <a
- href="@url@?action=choosealpha&n=@nonce@">choosealpha</a>,
+ href="@url@?action=choosealpha">choosealpha</a>,
which breaks them down by initial letter.</p>
<p>This screen will may not be available if you are not logged in
</tr>
</table>
<input name=action type=hidden value=login>
- <input name=nonce type=hidden value="@nonce@">
<input name=back type=hidden value="@arg:back@">
</form>
</tr>
</table>
<input name=action type=hidden value=reminder>
- <input name=nonce type=hidden value="@nonce@">
</form>
@right{register}{
</tr>
</table>
<input name=action type=hidden value=register>
- <input name=nonce type=hidden value="@nonce@">
</form>}@
}{
@#{not the guest user, allow change of details and logout}@
</button>
</div>
<input name=action type=hidden value=logout>
- <input name=nonce type=hidden value="@nonce@">
</form>
<p>Use this form to change your email address and/or password.</p>
</tr>
</table>
<input name=action type=hidden value=edituser>
- <input name=nonce type=hidden value="@nonce@">
</form>
}@
>@part{short}{album}@</span>}@</td>
<td class=title>@right{play}{<a class=file
title="@part{title}@"
- href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@&n=@nonce@"
+ href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@"
>@part{short}{title}@</a>}{<span class=file
title="@part{title}@"
>@part{short}{title}@</span>}@</td>
<td class=length>@length@</td>
@right{prefs}{
<td class=imgbutton><a class=imgbutton
- href="@url@?action=prefs&n=@nonce@&0_file=@urlquote{@file@}@"><img
+ href="@url@?action=prefs&0_file=@urlquote{@file@}@"><img
class=button src="@image:edit@"
title="@label:choose.prefsverbose@"
alt="@label:choose.prefs@"></a></td>
<!-- paused -->
<span class=button>
<a class=button
- href="@url@?action=resume&n=@nonce@&mgmt=true"
+ href="@url@?action=resume&mgmt=true"
title="@label:playing.resumeverbose@">@label:playing.pause@</a>
</a>
</span>
<!-- not paused -->
<span class=button>
<a class=button
- href="@url@?action=pause&n=@nonce@&mgmt=true"
+ href="@url@?action=pause&mgmt=true"
title="@label:playing.pauseverbose@">@label:playing.pause@</a>
</a>
</span>
<!-- random played enabled -->
<span class=button>
<a class=button
- href="@url@?action=random-disable&n=@nonce@&mgmt=true"
+ href="@url@?action=random-disable&mgmt=true"
title="@label:playing.randomdisableverbose@">@label:playing.random@</a>
</a>
</span>
<!-- random played disabled -->
<span class=button>
<a class=button
- href="@url@?action=random-enable&n=@nonce@&mgmt=true"
+ href="@url@?action=random-enable&mgmt=true"
title="@label:playing.randomenableverbose@">@label:playing.random@</a>
</a>
</span>
<!-- playing enabled -->
<span class=button>
<a class=button
- href="@url@?action=disable&n=@nonce@&mgmt=true"
+ href="@url@?action=disable&mgmt=true"
title="@label:playing.disableverbose@">@label:playing.playing@</a>
</a>
</span>
<!-- playing disabled -->
<span class=button>
<a class=button
- href="@url@?action=enable&n=@nonce@&mgmt=true"
+ href="@url@?action=enable&mgmt=true"
title="@label:playing.enableverbose@">@label:playing.playing@</a>
</a>
</span>
</a>}{<img class=button src="@image:nodown@">}@
@label:volume.left@ <input size=3 name=left type=text value="@volume:left@">
@label:volume.right@ <input size=3 name=right type=text value="@volume:right@">
- <input name=nonce type=hidden value="@nonce@">
<input name=back type=hidden value="@thisurl@?mgmt=true">
@right{volume}{<button class=search name=submit type=submit>
@label:volume.set@
title="@part{title}@">@part{short}{title}@</span></td>
<td class=length>@length@</td>
<td class=imgbutton>@if{@scratchable@}{<a class=imgbutton
- href="@url@?action=scratch&n=@nonce@&id=@id@&mgmt=@arg:mgmt@"><img
+ href="@url@?action=scratch&id=@id@&mgmt=@arg:mgmt@"><img
class=button src="@image:scratch@"
title="@label:playing.scratchverbose@"
alt="@label:playing.scratch@"></a>}{<img
title="@part{title}@">@part{short}{title}@</span></td>
<td class=length>@length@</td>
<td class=imgbutton>@if{@removable@}{<a class=imgbutton
- href="@url@?action=remove&n=@nonce@&id=@id@&mgmt=@arg:mgmt@"><img
+ href="@url@?action=remove&id=@id@&mgmt=@arg:mgmt@"><img
class=button src="@image:scratch@"
title="@label:playing.removeverbose@"
alt="@label:playing.remove@"></a>}{<img
<!-- can move up -->
<td class=imgbutton>
<a class=imgbutton
- href="@url@?action=move&n=@nonce@&id=@id@&delta=2147483647&mgmt=true"><img
+ href="@url@?action=move&id=@id@&delta=2147483647&mgmt=true"><img
class=button src="@image:upall@"
title="@label:playing.upallverbose@"
alt="@label:playing.upall@"></a>
<td class=imgbutton>
<a class=imgbutton
- href="@url@?action=move&n=@nonce@&id=@id@&delta=1&mgmt=true"><img
+ href="@url@?action=move&id=@id@&delta=1&mgmt=true"><img
class=button src="@image:up@"
title="@label:playing.upverbose@" alt="@label:playing.up@"></a>
}@
<!-- can move down -->
<td class=imgbutton>
<a class=imgbutton
- href="@url@?action=move&n=@nonce@&id=@id@&delta=-2147483647&mgmt=true"><img
+ href="@url@?action=move&id=@id@&delta=-2147483647&mgmt=true"><img
class=button src="@image:downall@"
title="@label:playing.downallverbose@"
alt="@label:playing.downall@"></a>
<td class=imgbutton>
<a class=imgbutton
- href="@url@?action=move&n=@nonce@&id=@id@&delta=-1&mgmt=true"><img
+ href="@url@?action=move&id=@id@&delta=-1&mgmt=true"><img
class=button src="@image:down@"
title="@label:playing.downverbose@" alt="@label:playing.down@"></a>
}@
<form class=prefs action="@url@" method=POST
enctype="multipart/form-data" accept-charset=utf-8>
<input type=hidden name="files" value="@nfiles@">
- <input type=hidden name=nonce value=@nonce@>
<input type=hidden name=parts value="artist album title">
@files{
<p class="prefs_head">Preferences for <span class="prefs_track">@arg{@index@_file}@</span></p>
<td class=length>@length@</td>
@right{prefs}{
<td class=imgbutton><a class=imgbutton
- href="@url@?action=prefs&n=@nonce@&0_file=@urlquote{@file@}@"><img
+ href="@url@?action=prefs&0_file=@urlquote{@file@}@"><img
class=button src="@image:edit@"
title="@label:choose.prefsverbose@"
alt="@label:choose.prefs@"></a></td>
@label:search.search@
</button>
<input name=action type=hidden value=search>
- <input name=nonce type=hidden value="@nonce@">
</p>
</form>
@search{title}{
<div class="search_title">
<p class="search_title">Title:
- <a href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@&n=@nonce@">@part:title@</a>
+ <a href="@url@?action=play&file=@urlquote{@file@}@&back=@urlquote{@thisurl@}@">@part:title@</a>
@if{@eq{@trackstate{@file@}@}{playing}@}{[<b>playing</b>]}@
@if{@eq{@trackstate{@file@}@}{queued}@}{[<b>queued</b>]}@
</p>
href="@url@"
title="@label:sidebar.playingverbose@">@label:sidebar.playing@</a>
<a class=@if{@eq{@action@}{recent}@}{activemenu}{inactivemenu}@
- href="@url@?action=recent&n=@nonce@"
+ href="@url@?action=recent"
title="@label:sidebar.recentverbose@">@label:sidebar.recent@</a>
<a class=@if{@eq{@action@}{new}@}{activemenu}{inactivemenu}@
- href="@url@?action=new&n=@nonce@"
+ href="@url@?action=new"
title="@label:sidebar.newverbose@">@label:sidebar.new@</a>
@right{play}{
<a class=@if{@or{@eq{@action@}{choose}@}
{@eq{@action@}{choosealpha}@}@}
{activemenu}
{inactivemenu}@
- href="@url@?action=@label:sidebar.choosewhich@&n=@nonce@"
+ href="@url@?action=@label:sidebar.choosewhich@"
title="@label:sidebar.chooseverbose@">@label:sidebar.choose@</a>}{
<span class=invalidmenu
title="@label:sidebar.chooseverbose@">@label:sidebar.choose@</span>}@
@right{play}{
<a class=@if{@eq{@action@}{search}@}{activemenu}{inactivemenu}@
- href="@url@?action=search&n=@nonce@"
+ href="@url@?action=search"
title="@label:sidebar.searchverbose@">@label:sidebar.search@</a>}{
<span class=invalidmenu
title="@label:sidebar.searchverbose@">@label:sidebar.search@</span>}@
<!-- disabled by default since now available from 'manage'
<a class=@if{@eq{@action@}{volume}@}{activemenu}{inactivemenu}@
- href="@url@?action=volume&n=@nonce@"
+ href="@url@?action=volume"
title="@label:sidebar.volumeverbose@">@label:sidebar.volume@</a>
-->
<a class=@if{@eq{@action@}{manage}@}{activemenu}{inactivemenu}@
{@eq{@action@}{register}@}
{@eq{@action@}{reminder}@}
{@eq{@action@}{edituser}@}@}{activemenu}{inactivemenu}@
- href="@url@?action=login&n=@nonce@"
+ href="@url@?action=login"
title="@label:sidebar.loginverbose@">@label:sidebar.login@</a>
<a class=@if{@eq{@action@}{help}@}{activemenu}{inactivemenu}@
- href="@url@?action=help&n=@nonce@"
+ href="@url@?action=help"
title="@label:sidebar.helpverbose@">@label:sidebar.help@</a>
<a class=@if{@eq{@action@}{about}@}{activemenu}{inactivemenu}@
- href="@url@?action=about&n=@nonce@"
+ href="@url@?action=about"
title="@label:sidebar.aboutverbose@">@label:sidebar.about@</a>
</p>
<hr>
</a>
@label:volume.left@ <input size=3 name=left type=text value="@volume:left@">
@label:volume.right@ <input size=3 name=right type=text value="@volume:right@">
- <input name=nonce type=hidden value="@nonce@">
<button class=search name=action type=submit value=volume>
@label:volume.set@
</button>