Merge remote-tracking branch 'origin/pr/1350'

master
Andrew DeMaria 5 years ago
commit 2ef4a7131d
No known key found for this signature in database
GPG Key ID: 0A3F5E91F8364EDF
  1. 18
      airsonic-main/pom.xml
  2. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/accessDenied.jsp
  3. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/advancedSettings.jsp
  4. 44
      airsonic-main/src/main/webapp/WEB-INF/jsp/albumMain.jsp
  5. 32
      airsonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
  6. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/avatarUploadResult.jsp
  7. 16
      airsonic-main/src/main/webapp/WEB-INF/jsp/changeCoverArt.jsp
  8. 6
      airsonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
  9. 6
      airsonic-main/src/main/webapp/WEB-INF/jsp/createShare.jsp
  10. 8
      airsonic-main/src/main/webapp/WEB-INF/jsp/databaseSettings.jsp
  11. 14
      airsonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
  12. 8
      airsonic-main/src/main/webapp/WEB-INF/jsp/editTags.jsp
  13. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/error.jsp
  14. 6
      airsonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
  15. 1
      airsonic-main/src/main/webapp/WEB-INF/jsp/generalDatabaseSettings.jsp
  16. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
  17. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/gettingStarted.jsp
  18. 18
      airsonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
  19. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/help.jsp
  20. 6
      airsonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
  21. 9
      airsonic-main/src/main/webapp/WEB-INF/jsp/homePager.jsp
  22. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/importPlaylist.jsp
  23. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/include.jsp
  24. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/index.jsp
  25. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/internetRadioSettings.jsp
  26. 7
      airsonic-main/src/main/webapp/WEB-INF/jsp/javaJukeboxPlayerControlBar.jspf
  27. 7
      airsonic-main/src/main/webapp/WEB-INF/jsp/jquery.jsp
  28. 14
      airsonic-main/src/main/webapp/WEB-INF/jsp/left.jsp
  29. 12
      airsonic-main/src/main/webapp/WEB-INF/jsp/login.jsp
  30. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/lyrics.jsp
  31. 28
      airsonic-main/src/main/webapp/WEB-INF/jsp/more.jsp
  32. 8
      airsonic-main/src/main/webapp/WEB-INF/jsp/musicFolderSettings.jsp
  33. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/notFound.jsp
  34. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/passwordSettings.jsp
  35. 12
      airsonic-main/src/main/webapp/WEB-INF/jsp/personalSettings.jsp
  36. 32
      airsonic-main/src/main/webapp/WEB-INF/jsp/playButtons.jsp
  37. 66
      airsonic-main/src/main/webapp/WEB-INF/jsp/playQueue.jsp
  38. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/playerSettings.jsp
  39. 22
      airsonic-main/src/main/webapp/WEB-INF/jsp/playlist.jsp
  40. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/playlists.jsp
  41. 3
      airsonic-main/src/main/webapp/WEB-INF/jsp/podcast.jsp
  42. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/podcastChannel.jsp
  43. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/podcastChannels.jsp
  44. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/podcastSettings.jsp
  45. 6
      airsonic-main/src/main/webapp/WEB-INF/jsp/rating.jsp
  46. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/recover.jsp
  47. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/right.jsp
  48. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/search.jsp
  49. 2
      airsonic-main/src/main/webapp/WEB-INF/jsp/settingsHeader.jsp
  50. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/shareSettings.jsp
  51. 12
      airsonic-main/src/main/webapp/WEB-INF/jsp/sonosSettings.jsp
  52. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/starred.jsp
  53. 12
      airsonic-main/src/main/webapp/WEB-INF/jsp/status.jsp
  54. 36
      airsonic-main/src/main/webapp/WEB-INF/jsp/top.jsp
  55. 18
      airsonic-main/src/main/webapp/WEB-INF/jsp/transcodingSettings.jsp
  56. 10
      airsonic-main/src/main/webapp/WEB-INF/jsp/userSettings.jsp
  57. 4
      airsonic-main/src/main/webapp/WEB-INF/jsp/videoMain.jsp
  58. 18
      airsonic-main/src/main/webapp/WEB-INF/jsp/videoPlayer.jsp
  59. 9
      airsonic-main/src/main/webapp/WEB-INF/jsp/viewSelector.jsp
  60. 17
      pom.xml

@ -595,6 +595,24 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<language>jsp</language>
<rulesets>
<ruleset>/category/jsp/codestyle.xml</ruleset>
<ruleset>/category/jsp/errorprone.xml</ruleset>
</rulesets>
<includes>
<include>**/*.jsp</include>
<include>**/*.jspf</include>
</includes>
<compileSourceRoots>
<compileSourceRoot>${basedir}/src/main/webapp/WEB-INF/jsp</compileSourceRoot>
</compileSourceRoots>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>

@ -8,7 +8,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="errorImage"/>" alt=""/>
<img src="<spring:theme code='errorImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="accessDenied.title"/></span>
</h1>

@ -4,7 +4,7 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript" language="javascript">
function enableLdapFields() {
$("#ldap").is(":checked") ? $("#ldapTable").show() : $("#ldapTable").hide();
@ -13,8 +13,8 @@
</head>
<body class="mainframe bgcolor1" onload="enableLdapFields()">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="advanced"/>
@ -167,8 +167,8 @@
<p class="warning"><fmt:message key="advancedsettings.ldapRequiresRestart"/></p>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href="nowPlaying.view"><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href="nowPlaying.view"><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</form:form>

@ -1,16 +1,16 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<%--@elvariable id="model" type="java.util.Map"--%>
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playlistService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/multiService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/jquery.fancyzoom.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/starService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playlistService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/multiService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/jquery.fancyzoom.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head><body class="mainframe bgcolor1" onload="init();">
@ -103,12 +103,12 @@
}
function toggleStar(mediaFileId, imageId) {
if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOnImage"/>") != -1) {
$(imageId).attr("src", "<spring:theme code="ratingOffImage"/>");
if ($(imageId).attr("src").indexOf("<spring:theme code='ratingOnImage'/>") != -1) {
$(imageId).attr("src", "<spring:theme code='ratingOffImage'/>");
starService.unstar(mediaFileId);
}
else if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOffImage"/>") != -1) {
$(imageId).attr("src", "<spring:theme code="ratingOnImage"/>");
else if ($(imageId).attr("src").indexOf("<spring:theme code='ratingOffImage'/>") != -1) {
$(imageId).attr("src", "<spring:theme code='ratingOnImage'/>");
starService.star(mediaFileId);
}
}
@ -153,7 +153,7 @@
}
playlistService.appendToPlaylist(playlistId, mediaFileIds, function (){
top.left.updatePlaylists();
$().toastmessage("showSuccessToast", "<fmt:message key="playlist.toast.appendtoplaylist"/>");
$().toastmessage("showSuccessToast", "<fmt:message key='playlist.toast.appendtoplaylist'/>");
});
}
function showAllAlbums() {
@ -163,7 +163,7 @@
<div style="float:left">
<h1>
<img id="starImage" src="<spring:theme code="${not empty model.dir.starredDate ? 'ratingOnImage' : 'ratingOffImage'}"/>"
<img id="starImage" src="<spring:theme code='${not empty model.dir.starredDate ? \'ratingOnImage\' : \'ratingOffImage\'}'/>"
onclick="toggleStar(${model.dir.id}, '#starImage'); return false;" style="cursor:pointer;height:18px;" alt="">
<span style="vertical-align: middle">
@ -239,27 +239,27 @@
</c:if>
<c:if test="${model.user.shareRole}">
<span class="header"><a href="${shareUrl}"><img src="<spring:theme code="shareSmallImage"/>" style="height:18px;" alt=""></a>
<span class="header"><a href="${shareUrl}"><img src="<spring:theme code='shareSmallImage'/>" style="height:18px;" alt=""></a>
<a href="${shareUrl}"><fmt:message key="main.sharealbum"/></a> </span> |
</c:if>
<c:if test="${not empty model.artist and not empty model.album}">
<sub:url value="https://www.google.com/search" var="googleUrl" encoding="UTF-8">
<sub:param name="q" value="\"${fn:escapeXml(model.artist)}\" \"${fn:escapeXml(model.album)}\""/>
<sub:param name="q" value='"${fn:escapeXml(model.artist)}" "${fn:escapeXml(model.album)}"'/>
</sub:url>
<sub:url value="https://en.wikipedia.org/wiki/Special:Search" var="wikipediaUrl" encoding="UTF-8">
<sub:param name="search" value="\"${fn:escapeXml(model.album)}\""/>
<sub:param name="search" value='"${fn:escapeXml(model.album)}"'/>
<sub:param name="go" value="Go"/>
</sub:url>
<sub:url value="https://www.allmusic.com/search/albums/%22${fn:escapeXml(model.artist)}%22+%22${fn:escapeXml(model.album)}%22" var="allmusicUrl">
</sub:url>
<sub:url value="https://www.last.fm/search" var="lastFmUrl" encoding="UTF-8">
<sub:param name="q" value="\"${fn:escapeXml(model.artist)}\" \"${fn:escapeXml(model.album)}\""/>
<sub:param name="q" value='"${fn:escapeXml(model.artist)}" "${fn:escapeXml(model.album)}"'/>
<sub:param name="type" value="album"/>
</sub:url>
<sub:url value="https://www.discogs.com/search/" var="discogsUrl" encoding="UTF-8">
<sub:param name="q" value="\"${fn:escapeXml(model.artist)}\" \"${fn:escapeXml(model.album)}\""/>
<sub:param name="q" value='"${fn:escapeXml(model.artist)}" "${fn:escapeXml(model.album)}"'/>
<sub:param name="type" value="release"/>
</sub:url>
<span class="header"><fmt:message key="top.search"/> <a target="_blank" href="${googleUrl}">Google</a></span> |
@ -292,7 +292,7 @@
<input type="hidden" name="action" value="comment">
<input type="hidden" name="id" value="${model.dir.id}">
<textarea name="comment" rows="6" cols="70">${model.dir.comment}</textarea>
<input type="submit" value="<fmt:message key="common.save"/>">
<input type="submit" value="<fmt:message key='common.save'/>">
</form>
</div>
@ -460,7 +460,7 @@
</tr>
</table>
<c:if test="${model.thereIsMore}">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key="main.showall"/>" onclick="showAllAlbums()">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key='main.showall'/>" onclick="showAllAlbums()">
</c:if>
<c:if test="${not model.viewAsList}">
@ -480,7 +480,7 @@
</div>
</c:forEach>
<c:if test="${model.thereIsMore}">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key="main.showall"/>" onclick="showAllAlbums()">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key='main.showall'/>" onclick="showAllAlbums()">
</c:if>
</div>
</c:if>
@ -498,7 +498,7 @@
<tr><td style="height: 100%"></td></tr>
</table>
<div id="dialog-select-playlist" title="<fmt:message key="main.addtoplaylist.title"/>" style="display: none;">
<div id="dialog-select-playlist" title="<fmt:message key='main.addtoplaylist.title'/>" style="display: none;">
<p><fmt:message key="main.addtoplaylist.text"/></p>
<div id="dialog-select-playlist-list"></div>
</div>

@ -1,3 +1,4 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<%--
~ This file is part of Airsonic.
@ -18,18 +19,17 @@
~ Copyright 2014 (C) Sindre Mehus
--%>
<!DOCTYPE html>
<%--@elvariable id="model" type="java.util.Map"--%>
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/multiService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/jquery.fancyzoom.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/starService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/multiService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/jquery.fancyzoom.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head><body class="mainframe bgcolor1" onload="init();">
@ -164,7 +164,7 @@
<div style="float:left">
<h1>
<img id="starImage" style="height:18px" src="<spring:theme code="${not empty model.dir.starredDate ? 'ratingOnImage' : 'ratingOffImage'}"/>"
<img id="starImage" style="height:18px" src="<spring:theme code='${not empty model.dir.starredDate ? \'ratingOnImage\' : \'ratingOffImage\'}'/>"
onclick="toggleStar(${model.dir.id}, '#starImage'); return false;" style="cursor:pointer;height:18px;" alt="">
<span style="vertical-align: middle">
@ -215,7 +215,7 @@
<input type="hidden" name="action" value="comment">
<input type="hidden" name="id" value="${model.dir.id}">
<textarea name="comment" rows="6" cols="70">${model.dir.comment}</textarea>
<input type="submit" value="<fmt:message key="common.save"/>">
<input type="submit" value="<fmt:message key='common.save'/>">
</form>
</div>
@ -243,7 +243,7 @@
</c:forEach>
</table>
<c:if test="${model.thereIsMore}">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key="main.showall"/>" onclick="showAllAlbums()">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key='main.showall'/>" onclick="showAllAlbums()">
</c:if>
</c:when>
@ -285,7 +285,7 @@
</c:if>
</c:forEach>
<c:if test="${model.thereIsMore}">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key="main.showall"/>" onclick="showAllAlbums()">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key='main.showall'/>" onclick="showAllAlbums()">
</c:if>
</div>
</c:otherwise>
@ -308,8 +308,8 @@
<span id="similarArtists"></span>
</td></tr>
<tr><td style="text-align:center">
<input id="similarArtistsRadio" style="display:none;margin-top:1em;margin-right:0.3em;cursor:pointer" type="button" value="<fmt:message key="main.startradio"/>" onclick="playSimilar()">
<input id="playTopSongs" style="display:none;margin-top:1em;margin-left:0.3em;cursor:pointer" type="button" value="<fmt:message key="main.playtopsongs"/>" onclick="playAllTopSongs()">
<input id="similarArtistsRadio" style="display:none;margin-top:1em;margin-right:0.3em;cursor:pointer" type="button" value="<fmt:message key='main.startradio'/>" onclick="playSimilar()">
<input id="playTopSongs" style="display:none;margin-top:1em;margin-left:0.3em;cursor:pointer" type="button" value="<fmt:message key='main.playtopsongs'/>" onclick="playAllTopSongs()">
</td></tr>
<tr><td style="height: 100%"></td></tr>
</table>
@ -320,16 +320,16 @@
<tbody id="topSongsBody">
<tr id="pattern" style="display:none;margin:0;padding:0;border:0">
<td class="fit">
<img id="starSong" style="height:18px;" onclick="toggleStarTopSong(this.id.substring(8) - 1, '#starSong' + this.id.substring(8))" src="<spring:theme code="ratingOffImage"/>"
<img id="starSong" style="height:18px;" onclick="toggleStarTopSong(this.id.substring(8) - 1, '#starSong' + this.id.substring(8))" src="<spring:theme code='ratingOffImage'/>"
style="cursor:pointer" alt="" title=""></td>
<td class="fit">
<img id="play" src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>" title="<fmt:message key="common.play"/>"
<img id="play" src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>" title="<fmt:message key='common.play'/>"
style="padding-right:0.1em;cursor:pointer" onclick="playTopSong(this.id.substring(4) - 1)"></td>
<td class="fit">
<img id="add" src="<spring:theme code="addImage"/>" alt="<fmt:message key="common.add"/>" title="<fmt:message key="common.add"/>"
<img id="add" src="<spring:theme code='addImage'/>" alt="<fmt:message key='common.add'/>" title="<fmt:message key='common.add'/>"
style="padding-right:0.1em;cursor:pointer" onclick="addTopSong(this.id.substring(3) - 1)"></td>
<td class="fit" style="padding-right:30px">
<img id="addNext" src="<spring:theme code="addNextImage"/>" alt="<fmt:message key="main.addnext"/>" title="<fmt:message key="main.addnext"/>"
<img id="addNext" src="<spring:theme code='addNextImage'/>" alt="<fmt:message key='main.addnext'/>" title="<fmt:message key='main.addnext'/>"
style="padding-right:0.1em;cursor:pointer" onclick="addNextTopSong(this.id.substring(7) - 1)"></td>
<td class="fit rightalign"><span id="rank" class="detail">Rank</span></td>
<td class="truncate"><span id="title" class="songTitle">Title</span></td>

@ -7,7 +7,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="settingsImage"/>" alt=""/>
<img src="<spring:theme code='settingsImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="avataruploadresult.title"/></span>
</h1>

@ -3,9 +3,9 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/dwr/interface/coverArtService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/coverArtService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" language="javascript">
dwr.engine.setErrorHandler(function() {
@ -80,9 +80,9 @@
<form action="javascript:search()">
<sec:csrfInput />
<table class="indent"><tr>
<td><input id="artist" name="artist" placeholder="<fmt:message key="changecoverart.artist"/>" size="35" type="text" value="${model.artist}" onclick="select()"/></td>
<td><input id="album" name="album" placeholder="<fmt:message key="changecoverart.album"/>" size="35" type="text" value="${model.album}" onclick="select()"/></td>
<td style="padding-left:0.5em"><input type="submit" value="<fmt:message key="changecoverart.search"/>"/></td>
<td><input id="artist" name="artist" placeholder="<fmt:message key='changecoverart.artist'/>" size="35" type="text" value="${model.artist}" onclick="select()"/></td>
<td><input id="album" name="album" placeholder="<fmt:message key='changecoverart.album'/>" size="35" type="text" value="${model.album}" onclick="select()"/></td>
<td style="padding-left:0.5em"><input type="submit" value="<fmt:message key='changecoverart.search'/>"/></td>
</tr></table>
</form>
@ -91,7 +91,7 @@
<table><tr>
<td><label for="url"><fmt:message key="changecoverart.address"/></label></td>
<td style="padding-left:0.5em"><input type="text" name="url" size="50" id="url" value="http://" onclick="select()"/></td>
<td style="padding-left:0.5em"><input type="submit" value="<fmt:message key="common.ok"/>"></td>
<td style="padding-left:0.5em"><input type="submit" value="<fmt:message key='common.ok'/>"></td>
</tr></table>
</form>
<sub:url value="main.view" var="backUrl"><sub:param name="id" value="${model.id}"/></sub:url>
@ -111,7 +111,7 @@
<div id="images"></div>
<div style="clear:both;"></div>
<a href="https://last.fm/" target="_blank" rel="noopener noreferrer">
<img alt="Lastfm icon" src="<c:url value="/icons/lastfm.gif"/>">
<img alt="Lastfm icon" src="<c:url value='/icons/lastfm.gif'/>">
</a>
<span class="detail" style="padding-left:1em"><fmt:message key="changecoverart.courtesy"/></span>
</div>

@ -34,7 +34,7 @@ PARAMETERS
<str:randomString count="5" type="alphabet" var="addId"/>
<div class="coverart dropshadow">
<div style="width:${size};max-width:${size};height:${size};max-height:${size};cursor:pointer;<c:if test="${param.hideOverflow}">overflow:hidden</c:if>;" title="${param.caption1}" id="${divId}">
<div style="width:${size};max-width:${size};height:${size};max-height:${size};cursor:pointer;<c:if test='${param.hideOverflow}'>overflow:hidden</c:if>;" title="${param.caption1}" id="${divId}">
<c:if test="${not empty param.albumId}">
<c:url value="main.view" var="targetUrl">
@ -72,13 +72,13 @@ PARAMETERS
</c:url>
<div style="position: relative; width: 0; height: 0">
<img alt="Play overlay" src="<spring:theme code="playOverlayImage"/>" id="${playId}"
<img alt="Play overlay" src="<spring:theme code='playOverlayImage'/>" id="${playId}"
style="position: relative; top: 8px; left: 8px; z-index: 2; display:none" >
</div>
<c:if test="${not empty param.albumId}">
<div style="position: relative; width: 0; height: 0">
<img alt="Add overlay" src="<spring:theme code="addOverlayImage"/>" id="${addId}"
<img alt="Add overlay" src="<spring:theme code='addOverlayImage'/>" id="${addId}"
style="position: relative; top: 8px; left: 48px; z-index: 2; display:none" >
</div>
</c:if>

@ -7,18 +7,18 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="shareImage"/>" alt="" style="height:18px;">
<img src="<spring:theme code='shareImage'/>" alt="" style="height:18px;">
<span style="vertical-align: middle"><fmt:message key="share.title"/></span>
</h1>
<fmt:message key="share.warning"/>
<p>
<a href="https://www.facebook.com/sharer.php?u=${model.playUrl}" target="_blank" rel="noopener noreferrer"><img src="<spring:theme code="shareFacebookImage"/>" alt=""></a>&nbsp;
<a href="https://www.facebook.com/sharer.php?u=${model.playUrl}" target="_blank" rel="noopener noreferrer"><img src="<spring:theme code='shareFacebookImage'/>" alt=""></a>&nbsp;
<a href="https://www.facebook.com/sharer.php?u=${model.playUrl}" target="_blank" rel="noopener noreferrer"><fmt:message key="share.facebook"/></a>
</p>
<p>
<a href="https://twitter.com/?status=Listening to ${model.playUrl}" target="_blank" rel="noopener noreferrer"><img src="<spring:theme code="shareTwitterImage"/>" alt=""></a>&nbsp;
<a href="https://twitter.com/?status=Listening to ${model.playUrl}" target="_blank" rel="noopener noreferrer"><img src="<spring:theme code='shareTwitterImage'/>" alt=""></a>&nbsp;
<a href="https://twitter.com/?status=Listening to ${model.playUrl}" target="_blank" rel="noopener noreferrer"><fmt:message key="share.twitter"/></a>
</p>
<p>

@ -27,8 +27,8 @@
</script>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="database"/>
@ -118,8 +118,8 @@
<p class="warning"><fmt:message key="databasettings.restartRequired"/></p>
<p>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href="nowPlaying.view"><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href="nowPlaying.view"><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</p>
</form:form>

@ -21,12 +21,12 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="dlna"/>
@ -47,7 +47,7 @@
<div>
<fmt:message key="dlnasettings.servername"/>
<input name="dlnaServerName" id="dlnaServerName" size="40"
value="<c:out value="${model.dlnaServerName}" escapeXml="true"/>"/>
value="<c:out value='${model.dlnaServerName}' escapeXml='true'/>"/>
</div>
<p class="detail" style="width:60%;white-space:normal;padding-top:0">
<fmt:message key="dlnasettings.servername.description"/>
@ -56,15 +56,15 @@
<div>
<label for="dlnaBaseLANURL" ><fmt:message key="dlnasettings.baselanurl"/></label>
<input type="text" size="50" name="dlnaBaseLANURL" id="dlnaBaseLANURL"
value="<c:out value="${model.dlnaBaseLANURL}" />" />
value="<c:out value='${model.dlnaBaseLANURL}' />" />
</div>
<p class="detail" style="width:60%;white-space:normal">
<fmt:message key="dlnasettings.lanurl.description"/>
</p>
<p>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</p>
</form>

@ -2,9 +2,9 @@
<html><head>
<%@ include file="head.jsp" %>
<script type="text/javascript" src="<c:url value="/dwr/interface/tagService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/tagService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
@ -159,6 +159,6 @@
</table>
<p><input type="submit" id="save" value="<fmt:message key="common.save"/>" onclick="updateTags()"/></p>
<p><input type="submit" id="save" value="<fmt:message key='common.save'/>" onclick="updateTags()"/></p>
<div class="warning" id="errors"/>
</body></html>

@ -12,7 +12,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="errorImage"/>" alt=""/>
<img src="<spring:theme code='errorImage'/>" alt=""/>
<span style="vertical-align: middle">Error</span>
</h1>

@ -5,9 +5,9 @@
<head>
<%@ include file="head.jsp" %>
<meta name="og:type" content="album"/>
<script type="text/javascript" src="<c:url value="/script/mediaelement/mediaelement-and-player.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/mediaelement/playlist.min.js"/>"></script>
<link type="text/css" rel="stylesheet" href="<c:url value="/script/mediaelement/playlist.min.css"/>">
<script type="text/javascript" src="<c:url value='/script/mediaelement/mediaelement-and-player.min.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/mediaelement/playlist.min.js'/>"></script>
<link type="text/css" rel="stylesheet" href="<c:url value='/script/mediaelement/playlist.min.css'/>">
<c:if test="${not empty model.songs}">
<meta name="og:title"
content="${fn:escapeXml(model.songs[0].artist)} &mdash; ${fn:escapeXml(model.songs[0].albumName)}"/>

@ -0,0 +1 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

@ -4,12 +4,12 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="general"/>
@ -156,8 +156,8 @@
<tr>
<td colspan="2" style="padding-top:1.5em">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</td>
</tr>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
@ -13,7 +13,7 @@
<body class="mainframe bgcolor1">
<h1 style="padding-bottom:0.5em">
<img src="<spring:theme code="homeImage"/>" alt="">
<img src="<spring:theme code='homeImage'/>" alt="">
<fmt:message key="gettingStarted.title"/>
</h1>

@ -2,18 +2,18 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<c:set var="styleSheet"><spring:theme code="styleSheet"/></c:set>
<link rel="apple-touch-icon" sizes="180x180" href="<c:url value="/icons/apple-touch-icon.png"/>"/>
<link rel="icon" type="image/png" sizes="32x32" href="<c:url value="/icons/favicon-32x32.png"/>"/>
<link rel="icon" type="image/png" sizes="16x16" href="<c:url value="/icons/favicon-16x16.png"/>"/>
<link rel="manifest" href="<c:url value="/icons/site.webmanifest"/>"/>
<link rel="mask-icon" href="<c:url value="/icons/safari-pinned-tab.svg"/>" color="#2f7bd9"/>
<link rel="apple-touch-icon" sizes="180x180" href="<c:url value='/icons/apple-touch-icon.png'/>"/>
<link rel="icon" type="image/png" sizes="32x32" href="<c:url value='/icons/favicon-32x32.png'/>"/>
<link rel="icon" type="image/png" sizes="16x16" href="<c:url value='/icons/favicon-16x16.png'/>"/>
<link rel="manifest" href="<c:url value='/icons/site.webmanifest'/>"/>
<link rel="mask-icon" href="<c:url value='/icons/safari-pinned-tab.svg'/>" color="#2f7bd9"/>
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="theme-color" content="#ffffff">
<meta name="description" content="Airsonic: A free, web-based media streamer, providing ubiquitous access to your music.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Included before airsonic stylesheet to allow overriding -->
<link type="text/css" rel="stylesheet" href="<c:url value="/script/mediaelement/mediaelementplayer.min.css"/>">
<link rel="stylesheet" href="<c:url value="/${styleSheet}"/>" type="text/css">
<link type="text/css" rel="stylesheet" href="<c:url value='/script/mediaelement/mediaelementplayer.min.css'/>">
<link rel="stylesheet" href="<c:url value='/${styleSheet}'/>" type="text/css">
<title>Airsonic</title>
<script id="preferencesConfig" type="application/x-configuration">
@ -21,5 +21,5 @@
"keyboardShortcutsEnabled": ${model.keyboardShortcutsEnabled ? 'true' : 'false'}
}
</script>
<script defer type="text/javascript" src="<c:url value="/script/mousetrap-1.6.0.js"/>"></script>
<script defer type="text/javascript" src="<c:url value="/script/keyboard_shortcuts.js"/>"></script>
<script defer type="text/javascript" src="<c:url value='/script/mousetrap-1.6.0.js'/>"></script>
<script defer type="text/javascript" src="<c:url value='/script/keyboard_shortcuts.js'/>"></script>

@ -1,9 +1,9 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
@ -26,7 +26,7 @@
</c:choose>
<h1>
<img src="<spring:theme code="helpImage"/>" alt="">
<img src="<spring:theme code='helpImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="help.title"><fmt:param value="${model.brand}"/></fmt:message></span>
</h1>
@ -39,7 +39,7 @@
<tr><td class="ruleTableHeader"><fmt:message key="help.version.title"/></td><td class="ruleTableCell">${versionString} &ndash; ${buildDateString}</td></tr>
<tr><td class="ruleTableHeader"><fmt:message key="help.server.title"/></td><td class="ruleTableCell">${model.serverInfo} (<sub:formatBytes bytes="${model.usedMemory}"/> / <sub:formatBytes bytes="${model.totalMemory}"/>)</td></tr>
<tr><td class="ruleTableHeader"><fmt:message key="help.license.title"/></td><td class="ruleTableCell">
<a href="http://www.gnu.org/copyleft/gpl.html" target="_blank"><img style="float:right;margin-left: 10px" alt="GPL 3.0" src="<c:url value="/icons/default_light/gpl.png"/>"></a>
<a href="http://www.gnu.org/copyleft/gpl.html" target="_blank"><img style="float:right;margin-left: 10px" alt="GPL 3.0" src="<c:url value='/icons/default_light/gpl.png'/>"></a>
<fmt:message key="help.license.text"><fmt:param value="${model.brand}"/></fmt:message></td></tr>
<tr><td class="ruleTableHeader"><fmt:message key="help.homepage.title"/></td><td class="ruleTableCell"><a target="_blank" href="https://airsonic.github.io/" rel="noopener nofererrer">Airsonic website</a></td></tr>
<tr><td class="ruleTableHeader"><fmt:message key="help.forum.title"/></td><td class="ruleTableCell"><a target="_blank" href="https://www.reddit.com/r/airsonic" rel="noopener noreferrer">Airsonic on Reddit</a></td></tr>
@ -49,7 +49,7 @@
<p></p>
<h2>
<img src="<spring:theme code="logImage"/>" alt="">
<img src="<spring:theme code='logImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="help.log"/></span>
</h2>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
@ -33,7 +33,7 @@
<body class="mainframe bgcolor1" onload="init();">
<c:if test="${not empty model.welcomeTitle}">
<h1>
<img src="<spring:theme code="homeImage"/>" alt="">
<img src="<spring:theme code='homeImage'/>" alt="">
<span style="vertical-align: middle">${model.welcomeTitle}</span>
</h1>
</c:if>
@ -64,7 +64,7 @@
<%@ include file="homePager.jsp" %>
<c:if test="${not empty model.welcomeMessage}">
<div style="width:15em;float:right;padding:0 1em 0 1em;border-left:1px solid #<spring:theme code="detailColor"/>">
<div style="width:15em;float:right;padding:0 1em 0 1em;border-left:1px solid #<spring:theme code='detailColor'/>">
${model.welcomeMessage}
</div>
</c:if>

@ -1,3 +1,4 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
@ -6,7 +7,7 @@
<tr>
<c:if test="${not empty model.musicFolder}">
<td style="padding-right: 2em">
<div style="border:1px solid #<spring:theme code="detailColor"/>; padding-left: 0.5em;padding-right: 0.5em">
<div style="border:1px solid #<spring:theme code='detailColor'/>; padding-left: 0.5em;padding-right: 0.5em">
${fn:escapeXml(model.musicFolder.name)}
</div>
</td>
@ -39,11 +40,11 @@
</c:if>
<c:if test="${model.listOffset gt 0}">
<td><a href="${previousUrl}"><img src="<spring:theme code="backImage"/>" alt=""></a></td>
<td><a href="${previousUrl}"><img src="<spring:theme code='backImage'/>" alt=""></a></td>
</c:if>
<c:if test="${fn:length(model.albums) eq model.listSize}">
<td><a href="${nextUrl}"><img src="<spring:theme code="forwardImage"/>" alt=""></a></td>
<td><a href="${nextUrl}"><img src="<spring:theme code='forwardImage'/>" alt=""></a></td>
</c:if>
<c:if test="${model.listType eq 'decade'}">
@ -77,7 +78,7 @@
<c:if test="${not empty model.albums}">
<td style="padding-left: 2em">
<a href="javascript:playShuffle()">
<img src="<spring:theme code="shuffleImage"/>" alt="Shuffle" style="height:16px;">
<img src="<spring:theme code='shuffleImage'/>" alt="Shuffle" style="height:16px;">
<fmt:message key="home.shuffle"/>
</a>
</td>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
@ -31,7 +31,7 @@
</div>
<form method="post" enctype="multipart/form-data" action="importPlaylist.view?${_csrf.parameterName}=${_csrf.token}">
<input type="file" id="file" name="file" size="40"/>
<input type="submit" value="<fmt:message key="common.ok"/>"/>
<input type="submit" value="<fmt:message key='common.ok'/>"/>
</form>

@ -1,4 +1,4 @@
<%@ page session="false"%>
<%@ page session="false" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>

@ -39,17 +39,17 @@
</c:if>
<tr>
<td><input type="text" name="name" size="20" placeholder="<fmt:message key="internetradiosettings.name"/>"/></td>
<td><input type="text" name="streamUrl" size="40" placeholder="<fmt:message key="internetradiosettings.streamurl"/>"/></td>
<td><input type="text" name="homepageUrl" size="40" placeholder="<fmt:message key="internetradiosettings.homepageurl"/>"/></td>
<td><input type="text" name="name" size="20" placeholder="<fmt:message key='internetradiosettings.name'/>"/></td>
<td><input type="text" name="streamUrl" size="40" placeholder="<fmt:message key='internetradiosettings.streamurl'/>"/></td>
<td><input type="text" name="homepageUrl" size="40" placeholder="<fmt:message key='internetradiosettings.homepageurl'/>"/></td>
<td align="center" style="padding-left:1em"><input name="enabled" checked type="checkbox"/></td>
<td/>
</tr>
<tr>
<td style="padding-top:1.5em" colspan="5">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</td>
</tr>
</table>

@ -1,3 +1,4 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<div id="javaJukeboxPlayerControlBar" class="bgcolor2" style="position:fixed; bottom:0; width:100%;padding-top:10px;padding-bottom: 5px">
<table style="white-space:nowrap;">
<tr style="white-space:nowrap;">
@ -11,8 +12,8 @@
</td>
</c:if>
<td>
<img alt="Start" id="startIcon" src="<spring:theme code="castPlayImage"/>" onclick="onJavaJukeboxStart()" style="cursor:pointer">
<img alt="Pause" id="pauseIcon" src="<spring:theme code="castPauseImage"/>" onclick="onJavaJukeboxStop()" style="cursor:pointer; display:none">
<img alt="Start" id="startIcon" src="<spring:theme code='castPlayImage'/>" onclick="onJavaJukeboxStart()" style="cursor:pointer">
<img alt="Pause" id="pauseIcon" src="<spring:theme code='castPauseImage'/>" onclick="onJavaJukeboxStop()" style="cursor:pointer; display:none">
</td>
<td><span id="playingPositionDisplay" class="javaJukeBoxPlayerControlBarSongTime"/></td>
<td style="white-space:nowrap;">
@ -20,7 +21,7 @@
</td>
<td><span id="playingDurationDisplay" class="javaJukeBoxPlayerControlBarSongTime"/></td>
<td style="white-space:nowrap;">
<img src="<spring:theme code="volumeImage"/>" alt="">
<img src="<spring:theme code='volumeImage'/>" alt="">
</td>
<td style="white-space:nowrap;">
<div id="javaJukeboxVolumeSlider" style="width:80px;height:4px"></div>

@ -1,5 +1,6 @@
<link rel="stylesheet" href="<c:url value="/style/smoothness/jquery-ui-1.12.1.min.css"/>" type="text/css">
<link rel="stylesheet" href="<c:url value="/script/jquery.toastmessage/css/jquery.toastmessage.css" />" type="text/css" >
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<link rel="stylesheet" href="<c:url value='/style/smoothness/jquery-ui-1.12.1.min.css'/>" type="text/css">
<link rel="stylesheet" href="<c:url value='/script/jquery.toastmessage/css/jquery.toastmessage.css' />" type="text/css" >
<script type="text/javascript" src="<c:url value='/script/jquery-3.4.0.min.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/jquery-ui-1.12.1.min.js'/>"></script>
<script type="text/javascript" src="<c:url value="/script/jquery.toastmessage/jquery.toastmessage.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/jquery.toastmessage/jquery.toastmessage.js'/>"></script>

@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playlistService.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playlistService.js'/>"></script>
<script type="text/javascript" language="javascript">
var playlists;
@ -65,7 +65,7 @@
<div style="padding-bottom:1.5em">
<a href="home.view" target="main">
<img src="<spring:theme code="logoImage"/>" style="width:196px" title="<fmt:message key="top.help"/>" alt="">
<img src="<spring:theme code='logoImage'/>" style="width:196px" title="<fmt:message key='top.help'/>" alt="">
</a>
</div>
@ -127,7 +127,7 @@
<c:forEach items="${model.radios}" var="radio">
<p class="dense" style="padding-left: 2px">
<a target="hidden" href="${radio.streamUrl}" class="radio-play" data-id="${radio.id}">
<img src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>" title="<fmt:message key="common.play"/>"></a>
<img src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>" title="<fmt:message key='common.play'/>"></a>
<span style="vertical-align: middle">
<c:choose>
<c:when test="${empty radio.homepageUrl}">
@ -149,7 +149,7 @@
<h2 style="padding:0;margin:0;border:0">${fn:escapeXml(entry.key.index)}</h2>
</th>
<th style="text-align:right;">
<a href="#top"><img src="<spring:theme code="upImage"/>" alt="" style="height:18px;"></a>
<a href="#top"><img src="<spring:theme code='upImage'/>" alt="" style="height:18px;"></a>
</th>
</tr>
</table>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
@ -12,20 +12,20 @@
</head>
<body style="min-width:550px" class="mainframe bgcolor1">
<form action="<c:url value="/login"/>" method="POST">
<form action="<c:url value='/login'/>" method="POST">
<sec:csrfInput />
<div id="loginframe" class="bgcolor2 shadow">
<img src="<spring:theme code="logoImage"/>" alt="">
<img src="<spring:theme code='logoImage'/>" alt="">
<div class="loginmessagetop">${model.loginMessage}</div>
<input required type="text" autofocus id="j_username" name="j_username" tabindex="1" placeholder="<fmt:message key="login.username"/>">
<input required type="text" autofocus id="j_username" name="j_username" tabindex="1" placeholder="<fmt:message key='login.username'/>">
<input required type="password" autocomplete="off" name="j_password" tabindex="2" placeholder="<fmt:message key="login.password"/>">
<input required type="password" autocomplete="off" name="j_password" tabindex="2" placeholder="<fmt:message key='login.password'/>">
<input name="submit" type="submit" value="<fmt:message key="login.login"/>" tabindex="4"></td>
<input name="submit" type="submit" value="<fmt:message key='login.login'/>" tabindex="4"></td>
<div class="details">
<div id="loginremember">

@ -3,9 +3,9 @@
<html><head>
<%@ include file="head.jsp" %>
<title><fmt:message key="lyrics.title"/></title>
<script type="text/javascript" src="<c:url value="/dwr/interface/lyricsService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/lyricsService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" language="javascript">
@ -53,13 +53,13 @@
<tr>
<td><fmt:message key="lyrics.artist"/></td>
<td style="padding-left:0.50em"><input id="artist" type="text" size="40" value="${model.artist}" tabindex="1"/></td>
<td style="padding-left:0.75em"><input type="submit" value="<fmt:message key="lyrics.search"/>" style="width:6em"
<td style="padding-left:0.75em"><input type="submit" value="<fmt:message key='lyrics.search'/>" style="width:6em"
tabindex="3"/></td>
</tr>
<tr>
<td><fmt:message key="lyrics.song"/></td>
<td style="padding-left:0.50em"><input id="song" type="text" size="40" value="${model.song}" tabindex="2"/></td>
<td style="padding-left:0.75em"><input type="button" value="<fmt:message key="common.close"/>" style="width:6em"
<td style="padding-left:0.75em"><input type="button" value="<fmt:message key='common.close'/>" style="width:6em"
onclick="self.close()" tabindex="4"/></td>
</tr>
</table>

@ -8,9 +8,9 @@
#progressBarContent {width: 0; height: 10px; background: url("<c:url value="/icons/default_light/progress.png"/>") repeat;}
#randomPlayQueue td { padding: 0 5px; }
</style>
<script type="text/javascript" src="<c:url value="/dwr/interface/transferService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/transferService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript">
function refreshProgress() {
@ -120,13 +120,13 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="moreImage"/>" alt=""/>
<img src="<spring:theme code='moreImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.title"/></span>
</h1>
<c:if test="${model.user.streamRole}">
<h2>
<img src="<spring:theme code="shuffleImage"/>" alt=""/>
<img src="<spring:theme code='shuffleImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.random.title"/></span>
</h2>
@ -254,31 +254,31 @@
</tr>
<tr>
<td colspan="2">
<input type="submit" name="addToPlaylist" value="<fmt:message key="more.random.add"/>">
<input type="submit" name="autoRandom" value="<fmt:message key="more.random.radio"/>">
<input type="submit" name="addToPlaylist" value="<fmt:message key='more.random.add'/>">
<input type="submit" name="autoRandom" value="<fmt:message key='more.random.radio'/>">
</td>
</tr>
</table>
</form>
</c:if>
<a href="https://airsonic.github.io/docs/apps/" target="_blank" rel="noopener noreferrer"><img alt="Apps" src="<c:url value="/icons/default_light/apps.png"/>" style="float: right;margin-left: 3em; margin-right: 3em"/></a>
<a href="https://airsonic.github.io/docs/apps/" target="_blank" rel="noopener noreferrer"><img alt="Apps" src="<c:url value='/icons/default_light/apps.png'/>" style="float: right;margin-left: 3em; margin-right: 3em"/></a>
<h2>
<img src="<spring:theme code="androidImage"/>" alt=""/>
<img src="<spring:theme code='androidImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.apps.title"/></span>
</h2>
<fmt:message key="more.apps.text"/>
<h2>
<img src="<spring:theme code="statusSmallImage"/>" alt=""/>
<img src="<spring:theme code='statusSmallImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.status.title"/></span>
</h2>
<fmt:message key="more.status.text"/>
<h2>
<img src="<spring:theme code="podcastImage"/>" alt=""/>
<img src="<spring:theme code='podcastImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.podcast.title"/></span>
</h2>
<fmt:message key="more.podcast.text"/>
@ -286,7 +286,7 @@
<c:if test="${model.user.uploadRole}">
<h2>
<img src="<spring:theme code="uploadImage"/>" alt=""/>
<img src="<spring:theme code='uploadImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.upload.title"/></span>
</h2>
@ -299,7 +299,7 @@
<tr>
<td><fmt:message key="more.upload.target"/></td>
<td><input type="text" id="dir" name="dir" size="37" value="${model.uploadDirectory}"/></td>
<td><input type="submit" value="<fmt:message key="more.upload.ok"/>"/></td>
<td><input type="submit" value="<fmt:message key='more.upload.ok'/>"/></td>
</tr>
<tr>
<td colspan="2">
@ -321,7 +321,7 @@
<a name="shortcuts"></a>
<h2>
<img src="<spring:theme code="keyboardImage"/>" alt=""/>
<img src="<spring:theme code='keyboardImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="more.keyboard.title"/></span>
</h2>
<fmt:message key="more.keyboard.text"/>

@ -19,8 +19,8 @@
</script>
</head>
<body class="mainframe bgcolor1" onload="init()">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
@ -138,8 +138,8 @@
<%--</p>--%>
<p >
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</p>
</form:form>

@ -8,7 +8,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="errorImage"/>" alt=""/>
<img src="<spring:theme code='errorImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="notFound.title"/></span>
</h1>

@ -37,8 +37,8 @@
</tr>
<tr>
<td colspan="3" style="padding-top:1.5em">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</td>
</tr>

@ -4,7 +4,7 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript" language="javascript">
function enableLastFmFields() {
@ -14,8 +14,8 @@
</head>
<body class="mainframe bgcolor1" onload="enableLastFmFields()">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="personal"/>
@ -207,8 +207,8 @@
</table>
<p style="padding-top:1em;padding-bottom:1em">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em"/>
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em"/>
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</p>
<h2><fmt:message key="personalsettings.avatar.title"/></h2>
@ -247,7 +247,7 @@
<tr>
<td style="padding-right:1em"><fmt:message key="personalsettings.avatar.changecustom"/></td>
<td style="padding-right:1em"><input type="file" id="file" name="file" size="40"/></td>
<td style="padding-right:1em"><input type="submit" value="<fmt:message key="personalsettings.avatar.upload"/>"/></td>
<td style="padding-right:1em"><input type="submit" value="<fmt:message key='personalsettings.avatar.upload'/>"/></td>
</tr>
</table>
</form>

@ -18,11 +18,11 @@ PARAMETERS
<c:if test="${param.asTable}"><td class="fit"></c:if>
<c:choose>
<c:when test="${param.starred}">
<img id="starImage${param.id}" src="<spring:theme code="ratingOnImage"/>" alt="" style="cursor:pointer;height:18px;"
<img id="starImage${param.id}" src="<spring:theme code='ratingOnImage'/>" alt="" style="cursor:pointer;height:18px;"
onclick="toggleStar(${param.id}, '#starImage${param.id}'); return false;">
</c:when>
<c:otherwise>
<img id="starImage${param.id}" src="<spring:theme code="ratingOffImage"/>" alt="" style="cursor:pointer;height:18px;"
<img id="starImage${param.id}" src="<spring:theme code='ratingOffImage'/>" alt="" style="cursor:pointer;height:18px;"
onclick="toggleStar(${param.id}, '#starImage${param.id}'); return false;">
</c:otherwise>
</c:choose>
@ -37,16 +37,16 @@ PARAMETERS
<sub:param name="id" value="${param.id}"/>
</sub:url>
<a href="${videoUrl}" target="main">
<img src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>"
title="<fmt:message key="common.play"/>"></a>
<img src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>"
title="<fmt:message key='common.play'/>"></a>
</c:when>
<c:when test="${not empty param.onPlay}">
<img src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>" style="cursor:pointer; height:18px;"
onclick="${param.onPlay}; return false;" title="<fmt:message key="common.play"/>">
<img src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>" style="cursor:pointer; height:18px;"
onclick="${param.onPlay}; return false;" title="<fmt:message key='common.play'/>">
</c:when>
<c:otherwise>
<img src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>" style="cursor:pointer; height:18px;"
onclick="top.playQueue.onPlay(${param.id}); return false;" title="<fmt:message key="common.play"/>">
<img src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>" style="cursor:pointer; height:18px;"
onclick="top.playQueue.onPlay(${param.id}); return false;" title="<fmt:message key='common.play'/>">
</c:otherwise>
</c:choose>
</c:if>
@ -54,17 +54,17 @@ PARAMETERS
<c:if test="${param.asTable}"><td class="fit"></c:if>
<c:if test="${(empty param.addEnabled or param.addEnabled) and not param.video}">
<img id="add${param.id}" src="<spring:theme code="addImage"/>" alt="<fmt:message key="main.addlast"/>"
onclick="top.playQueue.onAdd(${param.id}); $().toastmessage('showSuccessToast', '<fmt:message key="main.addlast.toast"/>'); return false;"
style="cursor:pointer; height:18px;" title="<fmt:message key="main.addlast"/>">
<img id="add${param.id}" src="<spring:theme code='addImage'/>" alt="<fmt:message key='main.addlast'/>"
onclick="top.playQueue.onAdd(${param.id}); $().toastmessage('showSuccessToast', '<fmt:message key='main.addlast.toast'/>'); return false;"
style="cursor:pointer; height:18px;" title="<fmt:message key='main.addlast'/>">
</c:if>
<c:if test="${param.asTable}"></td></c:if>
<c:if test="${param.asTable}"><td class="fit"></c:if>
<c:if test="${(empty param.addEnabled or param.addEnabled) and not param.video}">
<img id="add${param.id}" src="<spring:theme code="addNextImage"/>" alt="<fmt:message key="main.addnext"/>"
onclick="top.playQueue.onAddNext(${param.id}); $().toastmessage('showSuccessToast', '<fmt:message key="main.addnext.toast"/>'); return false;"
style="cursor:pointer; height:18px;" title="<fmt:message key="main.addnext"/>">
<img id="add${param.id}" src="<spring:theme code='addNextImage'/>" alt="<fmt:message key='main.addnext'/>"
onclick="top.playQueue.onAddNext(${param.id}); $().toastmessage('showSuccessToast', '<fmt:message key='main.addnext.toast'/>'); return false;"
style="cursor:pointer; height:18px;" title="<fmt:message key='main.addnext'/>">
</c:if>
<c:if test="${param.asTable}"></td></c:if>
@ -74,7 +74,7 @@ PARAMETERS
<sub:param name="id" value="${param.id}"/>
</sub:url>
<a href="${downloadUrl}">
<img src="<spring:theme code="downloadImage"/>" alt="<fmt:message key="common.download"/>"
title="<fmt:message key="common.download"/>" ></a>
<img src="<spring:theme code='downloadImage'/>" alt="<fmt:message key='common.download'/>"
title="<fmt:message key='common.download'/>" ></a>
</c:if>
<c:if test="${param.asTable}"></td></c:if>

@ -1,16 +1,16 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/nowPlayingService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playQueueService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playlistService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/mediaelement/mediaelement-and-player.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/playQueueCast.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/nowPlayingService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playQueueService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playlistService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/mediaelement/mediaelement-and-player.min.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/playQueueCast.js'/>"></script>
<style type="text/css">
.ui-slider .ui-slider-handle {
width: 11px;
@ -836,14 +836,14 @@
<c:if test="${model.player.web}">
<td>
<div id="player" style="width:340px; height:40px">
<audio id="audioPlayer" data-mejsoptions='{"alwaysShowControls": true, "enableKeyboard": false}' width="340px" height"40px" tabindex="-1" />
<audio id="audioPlayer" data-mejsoptions='{"alwaysShowControls": true, "enableKeyboard": false}' width="340px" height="40px" tabindex="-1" />
</div>
<div id="castPlayer" style="display: none">
<div style="float:left">
<img alt="Play" id="castPlay" src="<spring:theme code="castPlayImage"/>" onclick="CastPlayer.playCast()" style="cursor:pointer">
<img alt="Pause" id="castPause" src="<spring:theme code="castPauseImage"/>" onclick="CastPlayer.pauseCast()" style="cursor:pointer; display:none">
<img alt="Mute on" id="castMuteOn" src="<spring:theme code="volumeImage"/>" onclick="CastPlayer.castMuteOn()" style="cursor:pointer">
<img alt="Mute off" id="castMuteOff" src="<spring:theme code="muteImage"/>" onclick="CastPlayer.castMuteOff()" style="cursor:pointer; display:none">
<img alt="Play" id="castPlay" src="<spring:theme code='castPlayImage'/>" onclick="CastPlayer.playCast()" style="cursor:pointer">
<img alt="Pause" id="castPause" src="<spring:theme code='castPauseImage'/>" onclick="CastPlayer.pauseCast()" style="cursor:pointer; display:none">
<img alt="Mute on" id="castMuteOn" src="<spring:theme code='volumeImage'/>" onclick="CastPlayer.castMuteOn()" style="cursor:pointer">
<img alt="Mute off" id="castMuteOff" src="<spring:theme code='muteImage'/>" onclick="CastPlayer.castMuteOff()" style="cursor:pointer; display:none">
</div>
<div style="float:left">
<div id="castVolume" style="width:80px;height:4px;margin-left:10px;margin-right:10px;margin-top:8px"></div>
@ -855,21 +855,21 @@
</div>
</td>
<td>
<img alt="Cast on" id="castOn" src="<spring:theme code="castIdleImage"/>" onclick="CastPlayer.launchCastApp()" style="cursor:pointer; display:none">
<img alt="Cast off" id="castOff" src="<spring:theme code="castActiveImage"/>" onclick="CastPlayer.stopCastApp()" style="cursor:pointer; display:none">
<img alt="Cast on" id="castOn" src="<spring:theme code='castIdleImage'/>" onclick="CastPlayer.launchCastApp()" style="cursor:pointer; display:none">
<img alt="Cast off" id="castOff" src="<spring:theme code='castActiveImage'/>" onclick="CastPlayer.stopCastApp()" style="cursor:pointer; display:none">
</td>
</c:if>
<c:if test="${model.user.streamRole and not model.player.web}">
<td>
<img alt="Start" id="start" src="<spring:theme code="castPlayImage"/>" onclick="onStart()" style="cursor:pointer">
<img alt="Stop" id="stop" src="<spring:theme code="castPauseImage"/>" onclick="onStop()" style="cursor:pointer; display:none">
<img alt="Start" id="start" src="<spring:theme code='castPlayImage'/>" onclick="onStart()" style="cursor:pointer">
<img alt="Stop" id="stop" src="<spring:theme code='castPauseImage'/>" onclick="onStop()" style="cursor:pointer; display:none">
</td>
</c:if>
<c:if test="${model.player.jukebox}">
<td style="white-space:nowrap;">
<img src="<spring:theme code="volumeImage"/>" alt="">
<img src="<spring:theme code='volumeImage'/>" alt="">
</td>
<td style="white-space:nowrap;">
<div id="jukeboxVolume" style="width:80px;height:4px"></div>
@ -882,24 +882,24 @@
<c:if test="${model.player.web}">
<td><span class="header">
<img src="<spring:theme code="backImage"/>" alt="Play next" title="Play next" onclick="onPrevious()" style="cursor:pointer"></span>
<img src="<spring:theme code='backImage'/>" alt="Play next" title="Play next" onclick="onPrevious()" style="cursor:pointer"></span>
</td>
<td><span class="header">
<img src="<spring:theme code="forwardImage"/>" alt="Play next" title="Play next" onclick="onNext(false)" style="cursor:pointer"></span> |
<img src="<spring:theme code='forwardImage'/>" alt="Play next" title="Play next" onclick="onNext(false)" style="cursor:pointer"></span> |
</td>
</c:if>
<td style="white-space:nowrap;">
<span class="header">
<a href="javascript:onClear()" class="player-control">
<img src="<spring:theme code="clearImage"/>" alt="Clear playlist" title="Clear playlist" style="cursor:pointer; height:18px">
<img src="<spring:theme code='clearImage'/>" alt="Clear playlist" title="Clear playlist" style="cursor:pointer; height:18px">
</a>
</span> |</td>
<td style="white-space:nowrap;">
<span class="header">
<a href="javascript:onShuffle()" id="shuffleQueue" class="player-control">
<img src="<spring:theme code="shuffleImage"/>" alt="Shuffle" title="Shuffle" style="cursor:pointer; height:18px">
<img src="<spring:theme code='shuffleImage'/>" alt="Shuffle" title="Shuffle" style="cursor:pointer; height:18px">
</a>
</span> |</td>
@ -907,7 +907,7 @@
<td style="white-space:nowrap;">
<span class="header">
<a href="javascript:onToggleRepeat()" id="repeatQueue" class="player-control">
<img id="toggleRepeat" src="<spring:theme code="repeatOn"/>" alt="Toggle repeat" title="Toggle repeat" style="cursor:pointer; height:18px">
<img id="toggleRepeat" src="<spring:theme code='repeatOn'/>" alt="Toggle repeat" title="Toggle repeat" style="cursor:pointer; height:18px">
</a>
</span> |</td>
</c:if>
@ -915,7 +915,7 @@
<td style="white-space:nowrap;">
<span class="header">
<a href="javascript:onUndo()" id="undoQueue" class="player-control">
<img src="<spring:theme code="undoImage"/>" alt="Undo" title="Undo" style="cursor:pointer; height:18px">
<img src="<spring:theme code='undoImage'/>" alt="Undo" title="Undo" style="cursor:pointer; height:18px">
</a>
</span> |</td>
@ -923,14 +923,14 @@
<td style="white-space:nowrap;">
<span class="header">
<a href="playerSettings.view?id=${model.player.id}" target="main" class="player-control">
<img src="<spring:theme code="settingsImage"/>" alt="Settings" title="Settings" style="cursor:pointer; height:18px">
<img src="<spring:theme code='settingsImage'/>" alt="Settings" title="Settings" style="cursor:pointer; height:18px">
</a>
</span> |</td>
</c:if>
<td style="white-space:nowrap;"><select id="moreActions" onchange="actionSelected(this.options[selectedIndex].id)">
<option id="top" selected="selected"><fmt:message key="playlist.more"/></option>
<optgroup label="<fmt:message key="playlist.more.playlist"/>">
<optgroup label="<fmt:message key='playlist.more.playlist'/>">
<option id="savePlayQueue"><fmt:message key="playlist.saveplayqueue"/></option>
<option id="loadPlayQueue"><fmt:message key="playlist.loadplayqueue"/></option>
<option id="savePlaylist"><fmt:message key="playlist.save"/></option>
@ -944,7 +944,7 @@
<option id="sortByAlbum"><fmt:message key="playlist.more.sortbyalbum"/></option>
<option id="sortByArtist"><fmt:message key="playlist.more.sortbyartist"/></option>
</optgroup>
<optgroup label="<fmt:message key="playlist.more.selection"/>">
<optgroup label="<fmt:message key='playlist.more.selection'/>">
<option id="selectAll"><fmt:message key="playlist.more.selectall"/></option>
<option id="selectNone"><fmt:message key="playlist.more.selectnone"/></option>
<option id="removeSelected"><fmt:message key="playlist.remove"/></option>
@ -971,11 +971,11 @@
<tbody id="playlistBody">
<tr id="pattern" style="display:none;margin:0;padding:0;border:0">
<td class="fit">
<img id="starSong" onclick="onStar(this.id.substring(8) - 1)" src="<spring:theme code="ratingOffImage"/>"
<img id="starSong" onclick="onStar(this.id.substring(8) - 1)" src="<spring:theme code='ratingOffImage'/>"
style="cursor:pointer;height:18px;" alt="" title=""></td>
<td class="fit">
<img id="removeSong" onclick="onRemove(this.id.substring(10) - 1)" src="<spring:theme code="removeImage"/>"
style="cursor:pointer; height:18px;" alt="<fmt:message key="playlist.remove"/>" title="<fmt:message key="playlist.remove"/>"></td>
<img id="removeSong" onclick="onRemove(this.id.substring(10) - 1)" src="<spring:theme code='removeImage'/>"
style="cursor:pointer; height:18px;" alt="<fmt:message key='playlist.remove'/>" title="<fmt:message key='playlist.remove'/>"></td>
<td class="fit"><input type="checkbox" class="checkbox" id="songIndex"></td>
<c:if test="${model.visibility.trackNumberVisible}">
@ -983,7 +983,7 @@
</c:if>
<td class="truncate">
<img id="currentImage" src="<spring:theme code="currentImage"/>" alt="" style="display:none;padding-right: 0.5em">
<img id="currentImage" src="<spring:theme code='currentImage'/>" alt="" style="display:none;padding-right: 0.5em">
<c:choose>
<c:when test="${model.player.externalWithPlaylist}">
<span id="title" class="songTitle">Title</span>
@ -1024,7 +1024,7 @@
<div style="height:3.2em"></div>
<div id="dialog-select-playlist" title="<fmt:message key="main.addtoplaylist.title"/>" style="display: none;">
<div id="dialog-select-playlist" title="<fmt:message key='main.addtoplaylist.title'/>" style="display: none;">
<p><fmt:message key="main.addtoplaylist.text"/></p>
<div id="dialog-select-playlist-list"></div>
</div>

@ -4,11 +4,11 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<script lang="javascript">
@ -195,8 +195,8 @@ $(document).ready(function() {
</table>
</c:if>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-top:1em;margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>" style="margin-top:1em"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-top:1em;margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>" style="margin-top:1em"></a>
</form:form>
</c:otherwise>
</c:choose>

@ -4,9 +4,9 @@
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playlistService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playlistService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/starService.js'/>"></script>
<script type="text/javascript" language="javascript">
var playlist;
@ -227,16 +227,16 @@
<tbody id="playlistBody">
<tr id="pattern" style="display:none;margin:0;padding:0;border:0">
<td class="fit">
<img id="starSong" onclick="onStar(this.id.substring(8) - 1)" src="<spring:theme code="ratingOffImage"/>"
<img id="starSong" onclick="onStar(this.id.substring(8) - 1)" src="<spring:theme code='ratingOffImage'/>"
style="cursor:pointer;height:18px;" alt="" title=""></td>
<td class="fit">
<img id="play" src="<spring:theme code="playImage"/>" alt="<fmt:message key="common.play"/>" title="<fmt:message key="common.play"/>"
<img id="play" src="<spring:theme code='playImage'/>" alt="<fmt:message key='common.play'/>" title="<fmt:message key='common.play'/>"
style="padding-right:0.1em;cursor:pointer;height:18px;" onclick="onPlay(this.id.substring(4) - 1)"></td>
<td class="fit">
<img id="add" src="<spring:theme code="addImage"/>" alt="<fmt:message key="common.add"/>" title="<fmt:message key="common.add"/>"
<img id="add" src="<spring:theme code='addImage'/>" alt="<fmt:message key='common.add'/>" title="<fmt:message key='common.add'/>"
style="padding-right:0.1em;cursor:pointer;height:18px;" onclick="onAdd(this.id.substring(3) - 1)"></td>
<td class="fit" style="padding-right:30px">
<img id="addNext" src="<spring:theme code="addNextImage"/>" alt="<fmt:message key="main.addnext"/>" title="<fmt:message key="main.addnext"/>"
<img id="addNext" src="<spring:theme code='addNextImage'/>" alt="<fmt:message key='main.addnext'/>" title="<fmt:message key='main.addnext'/>"
style="padding-right:0.1em;cursor:pointer;height:18px;" onclick="onAddNext(this.id.substring(7) - 1)"></td>
<td class="fit rightalign"><span id="index">1</span></td>
@ -248,19 +248,19 @@
<c:if test="${model.editAllowed}">
<td class="fit">
<img id="removeSong" onclick="onRemove(this.id.substring(10) - 1)" src="<spring:theme code="removeImage"/>"
style="cursor:pointer;height:18px;" alt="<fmt:message key="playlist.remove"/>" title="<fmt:message key="playlist.remove"/>"></td>
<img id="removeSong" onclick="onRemove(this.id.substring(10) - 1)" src="<spring:theme code='removeImage'/>"
style="cursor:pointer;height:18px;" alt="<fmt:message key='playlist.remove'/>" title="<fmt:message key='playlist.remove'/>"></td>
</c:if>
</tr>
</tbody>
</table>
<div id="dialog-delete" title="<fmt:message key="common.confirm"/>" style="display: none;">
<div id="dialog-delete" title="<fmt:message key='common.confirm'/>" style="display: none;">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>
<fmt:message key="playlist2.confirmdelete"/></p>
</div>
<div id="dialog-edit" title="<fmt:message key="common.edit"/>" style="display: none;">
<div id="dialog-edit" title="<fmt:message key='common.edit'/>" style="display: none;">
<form>
<label for="newName" style="display:block;"><fmt:message key="playlist2.name"/></label>
<input type="text" name="newName" id="newName" value="${fn:escapeXml(model.playlist.name)}" class="ui-widget-content"

@ -7,7 +7,7 @@
</head><body class="mainframe bgcolor1">
<h1 style="padding-bottom: 1em">
<img src="<spring:theme code="playlistImage"/>" alt="">
<img src="<spring:theme code='playlistImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="left.playlists"/></span>
</h1>

@ -1,5 +1,6 @@
<%@ include file="include.jsp" %>
<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="iso-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<rss version="2.0">
<channel>

@ -178,7 +178,7 @@
</tr></table>
<div id="dialog-delete" title="<fmt:message key="common.confirm"/>" style="display: none;">
<div id="dialog-delete" title="<fmt:message key='common.confirm'/>" style="display: none;">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>
<fmt:message key="podcastreceiver.confirmdelete"/></p>
</div>

@ -26,7 +26,7 @@
</head><body class="mainframe bgcolor1">
<h1 style="padding-bottom: 1em">
<img src="<spring:theme code="podcastLargeImage"/>" alt="">
<img src="<spring:theme code='podcastLargeImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="podcastreceiver.title"/></span>
</h1>
@ -104,7 +104,7 @@
<tr>
<td><fmt:message key="podcastreceiver.subscribe"/></td>
<td><input type="text" name="add" value="http://" style="width:30em" onclick="select()"/></td>
<td><input type="submit" value="<fmt:message key="common.ok"/>"/></td>
<td><input type="submit" value="<fmt:message key='common.ok'/>"/></td>
</tr>
</table>
</form:form>

@ -79,8 +79,8 @@
<tr>
<td style="padding-top:1.5em" colspan="2">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</td>
</tr>

@ -31,10 +31,10 @@ PARAMETERS
<c:choose>
<c:when test="${param.readonly}">
<img style="height:18px" src="${imageUrl}" style="margin-right:-3px;height:18px;" alt="" title="<fmt:message key="rating.rating"/> ${param.rating/10}">
<img style="height:18px" src="${imageUrl}" style="margin-right:-3px;height:18px;" alt="" title="<fmt:message key='rating.rating'/> ${param.rating/10}">
</c:when>
<c:otherwise>
<a href="${ratingUrl}"><img src="${imageUrl}" style="margin-right:-3px;height:18px" alt="" title="<fmt:message key="rating.rating"/> ${i}"></a>
<a href="${ratingUrl}"><img src="${imageUrl}" style="margin-right:-3px;height:18px" alt="" title="<fmt:message key='rating.rating'/> ${i}"></a>
</c:otherwise>
</c:choose>
@ -47,5 +47,5 @@ PARAMETERS
</sub:url>
<c:if test="${not param.readonly}">
&nbsp;| <a href="${clearRatingUrl}"><img src="<spring:theme code="clearRatingImage"/>" alt="" title="<fmt:message key="rating.clearrating"/>" style="margin-right:5px;height:18px"></a>
&nbsp;| <a href="${clearRatingUrl}"><img src="<spring:theme code='clearRatingImage'/>" alt="" title="<fmt:message key='rating.clearrating'/>" style="margin-right:5px;height:18px"></a>
</c:if>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1" %>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1" %>
<html>
<head>
@ -18,7 +18,7 @@
<c:if test="${empty model.sentTo}">
<input type="text" id="usernameOrEmail" autofocus name="usernameOrEmail" style="width:18em;margin-right: 1em">
<input name="submit" type="submit" value="<fmt:message key="recover.send"/>">
<input name="submit" type="submit" value="<fmt:message key='recover.send'/>">
</c:if>
<c:if test="${not empty model.recaptchaSiteKey and empty model.sentTo}">

@ -4,10 +4,10 @@
<head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/nowPlayingService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/nowPlayingService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript">
@ -89,7 +89,7 @@
</c:if>
<div id="scanningStatus" style="display: none;" class="warning">
<img src="<spring:theme code="scanningImage"/>" title="" alt=""> <fmt:message key="main.scanning"/> <span id="scanCount"></span>
<img src="<spring:theme code='scanningImage'/>" title="" alt=""> <fmt:message key="main.scanning"/> <span id="scanCount"></span>
</div>
<div id="nowPlaying"></div>

@ -24,7 +24,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="searchImage"/>" alt=""/>
<img src="<spring:theme code='searchImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="search.title"/></span>
</h1>

@ -11,7 +11,7 @@
<c:set var="categories" value="${param.restricted ? 'personal password player share' : 'musicFolder general advanced personal user player share dlna sonos transcoding internetRadio podcast database'}"/>
<h1>
<img src="<spring:theme code="settingsImage"/>" alt=""/>
<img src="<spring:theme code='settingsImage'/>" alt=""/>
<span style="vertical-align: middle"><fmt:message key="settingsheader.title"/></span>
</h1>

@ -57,8 +57,8 @@
</table>
<p style="padding-top:1em">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>" style="margin-right:2.0em"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>" style="margin-right:2.0em"></a>
<input type="checkbox" id="deleteExpired" name="deleteExpired"/>
<label for="deleteExpired"><fmt:message key="sharesettings.deleteexpired"/></label>
</p>

@ -21,12 +21,12 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/scripts.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/scripts.js'/>"></script>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="sonos"/>
@ -47,15 +47,15 @@
<div>
<fmt:message key="sonossettings.servicename"/>
<input name="sonosServiceName" id="sonosServiceName" size="40"
value="<c:out value="${model.sonosServiceName}" escapeXml="true"/>"/>
value="<c:out value='${model.sonosServiceName}' escapeXml='true'/>"/>
</div>
<p class="detail" style="width:60%;white-space:normal;padding-top:0">
<fmt:message key="sonossettings.servicename.description"/>
</p>
<p>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>"></a>
</p>
</form>

@ -3,11 +3,11 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/playlistService.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/starService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/playlistService.js'/>"></script>
<script type="text/javascript" language="javascript">
function toggleStar(mediaFileId, imageId) {
@ -39,7 +39,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="starredImage"/>" alt="">
<img src="<spring:theme code='starredImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="starred.title"/></span>
</h1>

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
@ -9,7 +9,7 @@
<body class="mainframe bgcolor1">
<h1>
<img src="<spring:theme code="statusImage"/>" alt="">
<img src="<spring:theme code='statusImage'/>" alt="">
<span style="vertical-align: middle"><fmt:message key="status.title"/></span>
</h1>
@ -94,16 +94,16 @@
<th><fmt:message key="home.chart.stream"/></th>
</tr>
<tr>
<td><img src="<c:url value="/userChart.view"><c:param name="type" value="total"/></c:url>" alt=""></td>
<td><img src="<c:url value="/userChart.view"><c:param name="type" value="stream"/></c:url>" alt=""></td>
<td><img src="<c:url value='/userChart.view'><c:param name='type' value='total'/></c:url>" alt=""></td>
<td><img src="<c:url value='/userChart.view'><c:param name='type' value='stream'/></c:url>" alt=""></td>
</tr>
<tr>
<th><fmt:message key="home.chart.download"/></th>
<th><fmt:message key="home.chart.upload"/></th>
</tr>
<tr>
<td><img src="<c:url value="/userChart.view"><c:param name="type" value="download"/></c:url>" alt=""></td>
<td><img src="<c:url value="/userChart.view"><c:param name="type" value="upload"/></c:url>" alt=""></td>
<td><img src="<c:url value='/userChart.view'><c:param name='type' value='download'/></c:url>" alt=""></td>
<td><img src="<c:url value='/userChart.view'><c:param name='type' value='upload'/></c:url>" alt=""></td>
</tr>
</table>

@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/multiService.js"/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/multiService.js'/>"></script>
<script type="text/javascript">
var previousQuery = "";
@ -81,45 +81,45 @@
<table style="margin:0;padding-top:5px">
<tr>
<td style="padding-right:4.5em;">
<img id="show-left-frame" src="<spring:theme code="sidebarImage"/>" onclick="showLeftFrame()" alt="" style="display:${model.showSideBar ? 'none' : 'inline'};cursor:pointer">
<img id="hide-left-frame" src="<spring:theme code="sidebarImage"/>" onclick="hideLeftFrame()" alt="" style="display:${model.showSideBar ? 'inline' : 'none'};cursor:pointer">
<img id="show-left-frame" src="<spring:theme code='sidebarImage'/>" onclick="showLeftFrame()" alt="" style="display:${model.showSideBar ? 'none' : 'inline'};cursor:pointer">
<img id="hide-left-frame" src="<spring:theme code='sidebarImage'/>" onclick="hideLeftFrame()" alt="" style="display:${model.showSideBar ? 'inline' : 'none'};cursor:pointer">
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="home.view?" target="main"><img src="<spring:theme code="homeImage"/>" title="${home}" alt="${home}"></a>
<a href="home.view?" target="main"><img src="<spring:theme code='homeImage'/>" title="${home}" alt="${home}"></a>
<div class="topHeader"><a href="home.view?" target="main">${home}</a></div>
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="nowPlaying.view?" target="main"><img src="<spring:theme code="nowPlayingImage"/>" title="${nowPlaying}" alt="${nowPlaying}"></a>
<a href="nowPlaying.view?" target="main"><img src="<spring:theme code='nowPlayingImage'/>" title="${nowPlaying}" alt="${nowPlaying}"></a>
<div class="topHeader"><a href="nowPlaying.view?" target="main">${nowPlaying}</a></div>
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="starred.view?" target="main"><img src="<spring:theme code="starredImage"/>" title="${starred}" alt="${starred}"></a>
<a href="starred.view?" target="main"><img src="<spring:theme code='starredImage'/>" title="${starred}" alt="${starred}"></a>
<div class="topHeader"><a href="starred.view?" target="main">${starred}</a></div>
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="playlists.view?" target="main"><img src="<spring:theme code="playlistImage"/>" title="${playlists}" alt="${playlists}"></a>
<a href="playlists.view?" target="main"><img src="<spring:theme code='playlistImage'/>" title="${playlists}" alt="${playlists}"></a>
<div class="topHeader"><a href="playlists.view?" target="main">${playlists}</a></div>
</td>
<td style="min-width:4em;padding-right:1em;text-align: center">
<a href="podcastChannels.view?" target="main"><img src="<spring:theme code="podcastLargeImage"/>" title="${podcast}" alt="${podcast}"></a>
<a href="podcastChannels.view?" target="main"><img src="<spring:theme code='podcastLargeImage'/>" title="${podcast}" alt="${podcast}"></a>
<div class="topHeader"><a href="podcastChannels.view?" target="main">${podcast}</a></div>
</td>
<c:if test="${model.user.settingsRole}">
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="settings.view?" target="main"><img src="<spring:theme code="settingsImage"/>" title="${settings}" alt="${settings}"></a>
<a href="settings.view?" target="main"><img src="<spring:theme code='settingsImage'/>" title="${settings}" alt="${settings}"></a>
<div class="topHeader"><a href="settings.view?" target="main">${settings}</a></div>
</td>
</c:if>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="status.view?" target="main"><img src="<spring:theme code="statusImage"/>" title="${status}" alt="${status}"></a>
<a href="status.view?" target="main"><img src="<spring:theme code='statusImage'/>" title="${status}" alt="${status}"></a>
<div class="topHeader"><a href="status.view?" target="main">${status}</a></div>
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="more.view?" target="main"><img src="<spring:theme code="moreImage"/>" title="${more}" alt="${more}"></a>
<a href="more.view?" target="main"><img src="<spring:theme code='moreImage'/>" title="${more}" alt="${more}"></a>
<div class="topHeader"><a href="more.view?" target="main">${more}</a></div>
</td>
<td style="min-width:3em;padding-right:1em;text-align: center">
<a href="help.view?" target="main"><img src="<spring:theme code="helpImage"/>" title="${help}" alt="${help}"></a>
<a href="help.view?" target="main"><img src="<spring:theme code='helpImage'/>" title="${help}" alt="${help}"></a>
<div class="topHeader"><a href="help.view?" target="main">${help}</a></div>
</td>
@ -127,7 +127,7 @@
<form method="post" action="search.view" target="main" name="searchForm">
<td><input required type="text" name="query" id="query" size="28" placeholder="${search}" onclick="select();"
onkeyup="triggerInstantSearch();"></td>
<td><a href="javascript:document.searchForm.submit()"><img src="<spring:theme code="searchImage"/>" alt="${search}" title="${search}"></a></td>
<td><a href="javascript:document.searchForm.submit()"><img src="<spring:theme code='searchImage'/>" alt="${search}" title="${search}"></a></td>
</form>
</td>
@ -143,7 +143,7 @@
</div>
</c:when>
<c:otherwise>
<img src="<spring:theme code="userImage"/>" alt="User" height="24">
<img src="<spring:theme code='userImage'/>" alt="User" height="24">
</c:otherwise>
</c:choose>
@ -154,8 +154,8 @@
</td>
<td style="padding-left:15pt;padding-right:5pt;vertical-align: right;width: 100%;text-align: center">
<a href="<c:url value="/logout"/>" target="_top">
<img src="<spring:theme code="logoutImage"/>" alt="logout" height="24">
<a href="<c:url value='/logout'/>" target="_top">
<img src="<spring:theme code='logoutImage'/>" alt="logout" height="24">
<div class="detail">
<fmt:message key="top.logout" var="logout"></fmt:message>
<c:out value="${logout}"/>

@ -5,8 +5,8 @@
<%@ include file="jquery.jsp" %>
</head>
<body class="mainframe bgcolor1">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="transcoding"/>
@ -41,11 +41,11 @@
</tr>
<tr>
<td><input class="monospace" name="name" size="10" placeholder="<fmt:message key="transcodingsettings.name"/>" value="${fn:escapeXml(newTranscoding.name)}"/></td>
<td><input class="monospace" name="sourceFormats" size="36" placeholder="<fmt:message key="transcodingsettings.sourceformat"/>" value="${newTranscoding.sourceFormats}"/></td>
<td><input class="monospace" name="targetFormat" size="10" placeholder="<fmt:message key="transcodingsettings.targetformat"/>" value="${newTranscoding.targetFormat}"/></td>
<td><input class="monospace" name="step1" size="60" placeholder="<fmt:message key="transcodingsettings.step1"/>" value="${newTranscoding.step1}"/></td>
<td><input class="monospace" name="step2" size="22" placeholder="<fmt:message key="transcodingsettings.step2"/>" value="${newTranscoding.step2}"/></td>
<td><input class="monospace" name="name" size="10" placeholder="<fmt:message key='transcodingsettings.name'/>" value="${fn:escapeXml(newTranscoding.name)}"/></td>
<td><input class="monospace" name="sourceFormats" size="36" placeholder="<fmt:message key='transcodingsettings.sourceformat'/>" value="${newTranscoding.sourceFormats}"/></td>
<td><input class="monospace" name="targetFormat" size="10" placeholder="<fmt:message key='transcodingsettings.targetformat'/>" value="${newTranscoding.targetFormat}"/></td>
<td><input class="monospace" name="step1" size="60" placeholder="<fmt:message key='transcodingsettings.step1'/>" value="${newTranscoding.step1}"/></td>
<td><input class="monospace" name="step2" size="22" placeholder="<fmt:message key='transcodingsettings.step2'/>" value="${newTranscoding.step2}"/></td>
<td/>
</tr>
@ -81,8 +81,8 @@
<p style="padding-top:0.75em">
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>" style="margin-right:1.3em"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>" style="margin-right:1.3em"></a>
<a href="https://airsonic.github.io/docs/transcode/" target="_blank" rel="noopener noreferrer"><fmt:message key="transcodingsettings.recommended"/></a>
</p>

@ -4,7 +4,7 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript">
function init() {
enablePasswordChangeFields();
@ -36,8 +36,8 @@
</head>
<body class="mainframe bgcolor1" onload="init()">
<script type="text/javascript" src="<c:url value="/script/wz_tooltip.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/tip_balloon.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/wz_tooltip.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/tip_balloon.js'/>"></script>
<c:import url="settingsHeader.jsp">
<c:param name="cat" value="user"/>
@ -216,8 +216,8 @@
</c:otherwise>
</c:choose>
<input type="submit" value="<fmt:message key="common.save"/>" style="margin-top:1.5em;margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key="common.cancel"/>" style="margin-top:1.5em"></a>
<input type="submit" value="<fmt:message key='common.save'/>" style="margin-top:1.5em;margin-right:0.3em">
<a href='nowPlaying.view'><input type="button" value="<fmt:message key='common.cancel'/>" style="margin-top:1.5em"></a>
</form:form>
</body></html>

@ -23,7 +23,7 @@
<html><head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<script type="text/javascript" src="<c:url value="/script/utils.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/utils.js'/>"></script>
<script type="text/javascript">
var image;
@ -126,7 +126,7 @@
</c:if>
</table>
<c:if test="${model.thereIsMore && fn:length(model.subDirs) gt 0}">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key="main.showall"/>" onclick="showAllAlbums()">
<input id="showAllButton" class="albumOverflowButton" type="button" value="<fmt:message key='main.showall'/>" onclick="showAllAlbums()">
</c:if>
<div style="clear:both;height:1.5em"></div>

@ -4,19 +4,19 @@
<head>
<%@ include file="head.jsp" %>
<%@ include file="jquery.jsp" %>
<link rel="stylesheet" type="text/css" href="<c:url value="/style/videoPlayer.css"/>">
<script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
<script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script>
<script type="text/javascript" src="<c:url value="/script/cast_sender-v1.js"/>"></script>
<link rel="stylesheet" type="text/css" href="<c:url value='/style/videoPlayer.css'/>">
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/interface/starService.js'/>"></script>
<script type="text/javascript" src="<c:url value='/script/cast_sender-v1.js'/>"></script>
<script type="text/javascript" language="javascript">
function toggleStar(mediaFileId, imageId) {
if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOnImage"/>") != -1) {
if ($(imageId).attr("src").indexOf("<spring:theme code='ratingOnImage'/>") != -1) {
$(imageId).attr("src", "<spring:theme code="ratingOffImage"/>");
starService.unstar(mediaFileId);
}
else if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOffImage"/>") != -1) {
$(imageId).attr("src", "<spring:theme code="ratingOnImage"/>");
else if ($(imageId).attr("src").indexOf("<spring:theme code='ratingOffImage'/>") != -1) {
$(imageId).attr("src", "<spring:theme code='ratingOnImage'/>");
starService.star(mediaFileId);
}
}
@ -31,7 +31,7 @@
hide_download: ${model.user.downloadRole ? 1: 0}
}
</script>
<script type="text/javascript" src="<c:url value="/script/videoPlayerCast.js"/>"></script>
<script type="text/javascript" src="<c:url value='/script/videoPlayerCast.js'/>"></script>
</head>
<body class="mainframe bgcolor1" style="padding-bottom:0.5em">
@ -76,7 +76,7 @@
<h1 style="padding-top:1em;padding-bottom:0.5em;">
<img id="starImage" src="<spring:theme code="${not empty model.video.starredDate ? 'ratingOnImage' : 'ratingOffImage'}"/>"
<img id="starImage" src="<spring:theme code='${not empty model.video.starredDate ? \'ratingOnImage\' : \'ratingOffImage\'}'/>"
onclick="toggleStar(${model.video.id}, '#starImage'); return false;" style="cursor:pointer" alt="">
<span style="vertical-align:middle">${fn:escapeXml(model.video.title)}</span>
</h1>

@ -17,6 +17,7 @@
~ Copyright 2015 (C) Sindre Mehus
--%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<div style="float:right;padding-right:1em">
@ -26,12 +27,12 @@
</c:url>
<c:choose>
<c:when test="${model.viewAsList}">
<img src="<spring:theme code="viewAsListImage"/>" alt="" class="headerSelected" style="margin-right:8px"/>
<a href="${changeViewUrl}"><img src="<spring:theme code="viewAsGridImage"/>" alt=""/></a>
<img src="<spring:theme code='viewAsListImage'/>" alt="" class="headerSelected" style="margin-right:8px"/>
<a href="${changeViewUrl}"><img src="<spring:theme code='viewAsGridImage'/>" alt=""/></a>
</c:when>
<c:otherwise>
<a href="${changeViewUrl}"><img src="<spring:theme code="viewAsListImage"/>" alt="" style="margin-right:8px"/></a>
<img src="<spring:theme code="viewAsGridImage"/>" alt="" class="headerSelected"/>
<a href="${changeViewUrl}"><img src="<spring:theme code='viewAsListImage'/>" alt="" style="margin-right:8px"/></a>
<img src="<spring:theme code='viewAsGridImage'/>" alt="" class="headerSelected"/>
</c:otherwise>
</c:choose>
</div>

@ -264,6 +264,23 @@
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.12.0</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<sourceEncoding>utf-8</sourceEncoding>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>

Loading…
Cancel
Save