1<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%> 2<%--@elvariable id="model" type="java.util.Map"--%> 3 4<html><head> 5 <%@ include file="head.jsp" %> 6 <%@ include file="jquery.jsp" %> 7 8 <script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script> 9 <script type="text/javascript" src="<c:url value="/dwr/interface/starService.js"/>"></script> 10 11 <script type="text/javascript" src="<c:url value="/script/fancyzoom/FancyZoom.js"/>"></script> 12 <script type="text/javascript" src="<c:url value="/script/fancyzoom/FancyZoomHTML.js"/>"></script> 13 14 15 <script type="text/javascript"> 16 17 function toggleStar(mediaFileId, imageId) { 18 if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOnImage"/>") != -1) { 19 $(imageId).attr("src", "<spring:theme code="ratingOffImage"/>"); 20 starService.unstar(mediaFileId); 21 } 22 else if ($(imageId).attr("src").indexOf("<spring:theme code="ratingOffImage"/>") != -1) { 23 $(imageId).attr("src", "<spring:theme code="ratingOnImage"/>"); 24 starService.star(mediaFileId); 25 } 26 } 27 28 </script> 29 30 <style type="text/css"> 31 32 .videoContainer { 33 width: 282px; 34 float: left; 35 padding-right: 14px; 36 padding-bottom: 10px; 37 } 38 39 .imageContainer { 40 width: 160px; 41 float: left; 42 padding-right: 14px; 43 padding-bottom: 10px; 44 } 45 46 .duration { 47 font-size: 9px; 48 position: absolute; 49 bottom: 3px; 50 right: 3px; 51 color: #d3d3d3; 52 background-color: black; 53 opacity: 0.8; 54 padding-right:4px; 55 padding-left:3px; 56 } 57 .format { 58 font-size:9; 59 position: absolute; 60 bottom: 3px; 61 left: 4px; 62 color: #d3d3d3; 63 background-color: black; 64 opacity: 0.8; 65 padding-right:4px; 66 padding-left:3px; 67 } 68 69 .title { 70 width:213px; 71 overflow: hidden; 72 text-overflow: ellipsis; 73 padding-top: 3px; 74 } 75 .directory { 76 width: 213px; 77 overflow: hidden; 78 text-overflow: ellipsis; 79 } 80 </style> 81 82</head> 83 84<body class="mainframe bgcolor1" onload="init();"> 85<script type="text/javascript" language="javascript"> 86 function init() { 87 setupZoom('<c:url value="/"/>'); 88 }; 89 </script> 90 91<h1 style="padding-bottom: 3em"> 92 <span style="vertical-align: middle;"> 93 <c:forEach items="${model.ancestors}" var="ancestor"> 94 <madsonic:url value="main.view" var="ancestorUrl"> 95 <madsonic:param name="id" value="${ancestor.id}"/> 96 </madsonic:url> 97 <a href="${ancestorUrl}">${ancestor.name}</a> » 98 </c:forEach> 99 ${model.dir.name} 100 </span> 101</h1> 102 103<c:forEach items="${model.children}" var="child"> 104 105 <c:choose> 106 <c:when test="${child.video}"> 107 108 <madsonic:url value="/videoPlayer.view" var="videoUrl"> 109 <madsonic:param name="id" value="${child.id}"/> 110 </madsonic:url> 111 112 <madsonic:url value="/coverArt.view" var="coverArtUrl"> 113 <madsonic:param name="id" value="${child.id}"/> 114 <madsonic:param name="size" value="160"/> 115 </madsonic:url> 116 117 <div class="videoContainer"> 118 <div style="position:relative"> 119 <div> 120 <a href="${videoUrl}"><img src="${coverArtUrl}" alt="" class="dropshadow"></a> 121 </div> 122 <div class="detail format">${child.format}</div> 123 <div class="detail duration">${child.durationString}</div> 124 </div> 125 126 <div class="detail title" title="${child.name}" style="padding-top:10px"> 127 128 <c:import url="playAddDownload.jsp"> 129 <c:param name="id" value="${child.id}"/> 130 <c:param name="video" value="${child.video and model.player.web}"/> 131 <c:param name="playEnabled" value="false"/> 132 <c:param name="playAddEnabled" value="false"/> 133 <c:param name="playMoreEnabled" value="false"/> 134 <c:param name="addEnabled" value="false"/> 135 <c:param name="addNextEnabled" value="false"/> 136 <c:param name="addLastEnabled" value="false"/> 137 <c:param name="downloadEnabled" value="false"/> 138 <c:param name="artist" value="${fn:escapeXml(child.artist)}"/> 139 <c:param name="title" value="${child.title}"/> 140 <c:param name="starEnabled" value="true"/> 141 <c:param name="starred" value="${not empty child.starredDate}"/> 142 <c:param name="asTable" value="false"/> 143 <c:param name="YoutubeEnabled" value="false"/> 144 </c:import> 145 146 <b>${child.name}</b></div> 147 </div> 148 </c:when> 149 <c:when test="${child.audio}"> 150 151 <div class="imageContainer"> 152 <div style="position:relative"> 153 <div class="coverart" style="float:left;padding-bottom:8px;"> 154 <img width="160" src="icons/default/default_cover.png"> 155 </div> 156 157 <c:import url="playAddDownload.jsp"> 158 <c:param name="id" value="${child.id}"/> 159 <c:param name="video" value="${child.video and model.player.web}"/> 160 <c:param name="playEnabled" value="${model.user.streamRole and not model.partyMode and model.buttonVisibility.playVisible}"/> 161 <c:param name="playAddEnabled" value="${model.user.streamRole and not model.partyMode and model.buttonVisibility.playAddVisible}"/> 162 <c:param name="playMoreEnabled" value="${model.user.streamRole and not model.partyMode and model.buttonVisibility.playMoreVisible}"/> 163 <c:param name="addEnabled" value="${model.user.streamRole and (not model.partyMode or not child.directory) and model.buttonVisibility.addContextVisible}"/> 164 <c:param name="addNextEnabled" value="${model.user.streamRole and (not model.partyMode or not child.directory) and model.buttonVisibility.addNextVisible}"/> 165 <c:param name="addLastEnabled" value="${model.user.streamRole and (not model.partyMode or not child.directory) and model.buttonVisibility.addLastVisible}"/> 166 <c:param name="downloadEnabled" value="false"/> 167 <c:param name="artist" value="${fn:escapeXml(child.artist)}"/> 168 <c:param name="title" value="${child.title}"/> 169 <c:param name="starEnabled" value="${model.buttonVisibility.starredVisible}"/> 170 <c:param name="starred" value="${not empty child.starredDate}"/> 171 <c:param name="asTable" value="false"/> 172 <c:param name="YoutubeEnabled" value="${model.buttonVisibility.youtubeVisible}"/> 173 <c:param name="LyricEnabled" value="${model.buttonVisibility.lyricVisible}"/> 174 </c:import> 175 176 </div> 177 </div> 178 179 </c:when> 180 <c:otherwise> 181 <div class="imageContainer"> 182 <div style="position:relative"> 183 <div class="coverart" style="float:left;"> 184 <c:import url="coverArt.jsp"> 185 <c:param name="albumId" value="${child.id}"/> 186 <c:param name="albumName" value="${child.name}"/> 187 <c:param name="coverArtSize" value="160"/> 188 <c:param name="showLink" value="false"/> 189 <c:param name="showZoom" value="true"/> 190 <c:param name="showChange" value="false"/> 191 <c:param name="showCaption" value="false"/> 192 <c:param name="captionLength" value="20"/> 193 <c:param name="appearAfter" value="1"/> 194 <c:param name="showSmoother" value="true"/> 195 </c:import> 196 </div> 197 <b>${child.name}</b> 198 </div> 199 </div> 200 </c:otherwise> 201 </c:choose> 202 203 204</c:forEach> 205</body> 206</html>