📄 medialistitems.jsp
字号:
<%@ page contentType="text/html;charset=ISO-8859-1" pageEncoding="UTF-8"%>
<%@page import="org.homeplayer.data.*"%>
<%@page import="org.homeplayer.database.*"%>
<%@page import="org.homeplayer.util.*"%>
<%@page import="org.homeplayer.web.*"%>
<%@page import="java.io.*"%>
<%@page import="java.util.ArrayList"%>
<%@page import="org.homeplayer.util.collections.*"%>
<jsp:useBean id="hppc" class="org.homeplayer.web.HPPageContext" scope="request">
<jsp:setProperty name="hppc" property="request" value="<%=request%>"/>
</jsp:useBean>
<%
int pos = Integer.parseInt(request.getAttribute( "pos" ).toString()) ;
int pageNo = Integer.parseInt(request.getAttribute( "pageNo" ).toString()) ;
String mediaType = request.getParameter( "MediaType" ) ;
String tfilter = request.getParameter( "FILTER" )==null ? "" : request.getParameter( "FILTER" ) ;
String fvalue = request.getParameter( "FILTERVALUE" )==null ? "" : request.getParameter( "FILTERVALUE" ) ;
String sorter = request.getParameter( "SORTER" )==null ? "" : request.getParameter( "SORTER" ) ;
MediaItemCollection mediaItems = (MediaItemCollection)HPSession.get( "SELECTEDMEDIAS" ) ;
ArrayList items = mediaItems;
sorter = sorter.equals("") ? UserConfig.shareInstance().get( mediaType, tfilter+"_SORTER", "TITLE" ) : sorter ;
int maxItemInPage = hppc.isFreeBox() ? 10 : 15 ;
if( pos == -1 ) {
if( pageNo == -1 ) {
pos = 0 ;
} else {
pos = maxItemInPage*(pageNo-1) ;
if( pos >= items.size() ) {
pos = (items.size()/maxItemInPage)*maxItemInPage ;
}
}
}
String pageURL = WebUtil.removeParam(hppc.getLocalURL(),"SELID") ;
for (int i=0; i < Math.ceil((double) items.size() / maxItemInPage); i++) {
Object obj = items.get(i*maxItemInPage);
String shortName = DisplayItemUtils.getShortNameFor(obj);
shortName = StringUtil.cut(shortName, 10, ".");
hppc.addPage(i+1, shortName, WebUtil.setParam(pageURL, "pos=" + (i*maxItemInPage)));
}
hppc.setCurrentPage((pos / maxItemInPage) + 1);
if( HPSession.get( "MEDIALISTSORTER").equals( Boolean.TRUE ) ) {
if( items.size()>(maxItemInPage*3) ) {
int max = Math.min( items.size()/(maxItemInPage*2), 5) ;
int nbItem = items.size()/max ;
hppc.bottomCommandAppend("<table cellpadding=0 cellspacing=0 align=center width=\"85%\"><tr>\n");
String url = hppc.getLocalURL() ;
url = WebUtil.removeParam(url,"pos");
System.out.println( url ) ;
for( int i=0 ; i<max ; i++ ) {
Object obj1 = items.get(i*nbItem);
Object obj2 = items.get((i+1)*nbItem-1);
String val1 = DisplayItemUtils.getNameForItem(obj1, tfilter, sorter );
String val2 = DisplayItemUtils.getNameForItem(obj2, tfilter, sorter );
hppc.bottomCommandAppend( "<td align=center><small>[</small><a href=\""+url+"&pos="+(i*nbItem)+"\"><small>"+val1+"-"+val2+"</small></a><small>]</small></td>" );
}
if( nbItem*max<items.size() ) {
Object obj1 = items.get(max*nbItem);
Object obj2 = items.get(items.size()-1);
String val1 = DisplayItemUtils.getNameForItem(obj1, tfilter, sorter );
String val2 = DisplayItemUtils.getNameForItem(obj2, tfilter, sorter );
hppc.bottomCommandAppend( "<td align=center><small>[</small><a href=\""+url+"&pos="+(max*nbItem)+"\"><small>"+val1+"-"+val2+"</small></a><small>]</small></td>" );
}
hppc.bottomCommandAppend("\n</tr></table>\n");
}
}
String player = mediaType.equals("RSS")||mediaType.equals("PODCAST") ? "/media/rss.jsp" : "/media/play.jsp";
//hppc.setProgramKeyEnabled( true ) ;
//hppc.setChannelPage( player+"?MediaType="+mediaType+"&pos="+pos+"&index=%d") ;
hppc.setFocusSetOnPage( true) ;
String selid = request.getParameter( "SELID" ) ;
selid=(selid==null)?"":selid ;
Object selitem = null;
if(!selid.equals("") && mediaItems!=null) {
selitem = MediaManager.getCurrentMediaManager().getMediaItem(selid);
if( selitem==null ) {
for( int i=pos ; i<items.size()&&((i-pos)<maxItemInPage) ; i++ ) {
MediaItem item = (MediaItem)items.get(i);
if( item.getGUID().equals(selid)) {
selitem=item ;
break ;
}
}
}
}
if( mediaType.equals("FILM") ) {
Object infoitem = selitem;
if( infoitem == null && pos<items.size() ) {
infoitem = (MediaItem)items.get(pos);
}
if( infoitem != null ) {
hppc.addMeta("mediaurl",WebUtil.urlEncode(((Film)infoitem).getPath())) ;
}
}
%>
<jsp:include page="<%= hppc.getSkin().getHeader() %>"/>
<TABLE width=406>
<tr>
<td>
<table width="100%" cellpadding=1 cellspacing=0>
<%
String suppressRecord = request.getParameter("suppressRecord");
String url = request.getRequestURL()+"?"+request.getQueryString();
boolean wantsSuppress = false;
if(suppressRecord!=null && !suppressRecord.equals("")) {
url = WebUtil.removeParam(url, "suppressRecord");
wantsSuppress = true;
}
for( int i=pos ; i<items.size()&&((i-pos)<maxItemInPage) ; i++ ) {
Object obj = items.get(i);
MediaItem item = (MediaItem)obj;
String selId = item.getGUID();
if(wantsSuppress) {
if(item.getGUID().equals(suppressRecord)) {
File f = new File(item.getPath());
if(f.exists()) {
f.delete();
}
HPDB.deleteMedia(item);
continue;
}
}
String label = DisplayItemUtils.getMediaLabelList( item, tfilter, sorter ) ;
String link = player+"?MediaType="+mediaType+"&Media="+WebUtil.urlEncode(item.getPath()) ;
String focusLink = "defer_location=\"" + WebUtil.setParam( hppc.getLocalURL(),"SELID="+selId)+"\";" ;
boolean selected = (i==pos&&selitem==null);
if(selected==false) {
if(obj instanceof MediaItem) {
selected = selid.equals(((MediaItem)obj).getGUID());
} else if(obj instanceof HPMenuLink) {
selected = selid.equals(((HPMenuLink)obj).getUrl());
}
}
if( selitem==null ) {
selitem = obj;
}
%>
<tr><td><%=hppc.getTableLink( StringUtil.cutpx(label,390), link, selected?null:focusLink, hppc.getSkin().getProp("bodyColor"),hppc.getSkin().getProp("bgSelectColor"), selected) %></td>
<%
if(mediaType.equals(Film.nomType) && fvalue.equals("Mes Enregistrements")) {
if(obj instanceof MediaItem) {
String myurl = WebUtil.addParam(url, "suppressRecord="+((MediaItem)obj).getGUID());
%><td><a href="<%= myurl %>">Supprimer</a></td>
<%
}
}
%>
</tr>
<% }%>
</table>
</td>
</tr>
<%
if( selitem != null && hppc.isFreeBox() ) {
MediaItem item = (MediaItem) selitem;
%>
<tr><td><hr></td></tr>
<tr><td>
<table cellpadding=0 cellspacing=3>
<tr>
<td height=80 width=80 valign=center align=center >
<%
//String urlImage = "/img2fb?image="+WebUtil.urlEncode(item.getIcon())+"&size=80x80&cache=true" ;
String imageHtml = ImageUtil.getCacheImageHTML(ImageUtil.toUrl(item.getIcon()),80,80,hppc.isFreeBoxHD()?ImageUtil.FULL_COLORS:ImageUtil.WEB_COLORS,false) ;
%>
<%= imageHtml %>
</td>
<td><table cellpadding=0 cellspacing=0>
<%if(selitem instanceof WEBClip){ %>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((WEBClip)selitem).getArtist(),300)%></td></tr>
<tr><td><%=((WEBClip)selitem).getGenre()%></td></tr>
<%} else if(selitem instanceof Film){ %>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),300)%></td></tr>
<tr><td><%=((Film)selitem).getGenre()%></td></tr>
<%} else if(selitem instanceof Music){ %>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),250)%> (<%=((Music)selitem).getTime() %>)</td></tr>
<tr><td><%=StringUtil.cutpx(((Music)selitem).getArtist(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((Music)selitem).getAlbum(),300)%></td></tr>
<%} else if(selitem instanceof WEBRadio){ %>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((WEBRadio)selitem).getGenre(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((WEBRadio)selitem).getCountry(),300)%></td></tr>
<%} else if(selitem instanceof WEBVideoStream){ %>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((WEBVideoStream)selitem).getGenre(),300)%></td></tr>
<tr><td><%=StringUtil.cutpx(((WEBVideoStream)selitem).getChannel(),300)%></td></tr>
<%} else {%>
<tr><td><%=StringUtil.cutpx(item.getDisplayTitle(),300)%></td></tr>
<%} %>
</table></td>
</tr>
</table>
</td></tr>
<%} %>
</table>
<jsp:include page="<%= hppc.getSkin().getFooter() %>"/>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -