<%@page contentType="text/html" pageEncoding="GBK" import="java.util.*,org.dom4j.*"%> <%@ page import="java.text.*" %> <%@ page import="java.util.*" %> <%@ page import="org.dom4j.io.SAXReader" %> <%@ page import="java.net.URL" %> <%@ page import="openv.base.*" %> <% request.setCharacterEncoding("UTF-8"); response.sendRedirect("play_plgs.php?"+request.getQueryString()); if(true){ return; } String ref = vportal.Util.getStrDef(request.getParameter("ref"),""); String reftemp = ref; if(ref.indexOf(",")>-1){//当ref多于一个时执行 String[] refStrArray = ref.split(","); if(refStrArray!=null){ ref = refStrArray[0]; } } String pId = ""; String[] refArray = null; if(ref.indexOf("_") != -1){ refArray = ref.split("_"); pId = refArray[2]; } String dbname = vportal.Util.getStrDef(request.getParameter("db"),""); String kw = vportal.Util.getStrDef(request.getParameter("kw"),""); long projectId = strToLong(request.getParameter("projectId")); String referer = openv.base.Util.getParamStr(request.getHeader("referer")); //根据reference得出播放记录 Dre dreplgs = new Dre(); dreplgs.setPort("30010"); Video videoresult = dreplgs.getVideoAci(ref,dbname); /*if(videoresult==null) { videoresult = dreplgs.getVideoAciOpenvTv(ref,dbname); try{ ref = Util.getStrDef(videoresult.getDrereference(),ref); pId=ref.substring(ref.lastIndexOf("_")+1); }catch(Exception e){ //do nothing; } } */ if(videoresult==null){ //为了支持旧的dre格式 OpenvSource ds = null; try{ ds = OpenvSourceManager.getOpenvSource(OpenvEnv.SYS_DATASOURCE_NAME,OpenvEnv.SYS_DATASOURCE_TYPE); ds.setAutoCommit(false); String sql = "select count(*) from dual where substr('"+ref+"',0,INSTR('"+ref+"','_')-1) in (select trim(dredbname) from tbl_openv_dre_db)"; int count = openv.base.Util.strToInt(ds.getSingleQuery(sql)); if(count==0){ //旧DRE格式数据 sql = "select id from tbl_openv_tv_ref where domain_name='vsearch.cctv.com' and ref_tv='"+ref+"'"; long id = openv.base.Util.strToLong(ds.getSingleQuery(sql)); if(id==0){ sql = "Insert into TBL_OPENV_TV_REF(ID, PATH, HREF, REF_TV, REF, DOMAIN_NAME, WORD, REPLACEMENT,referer,CREATE_TIME,UPDATE_TIME) Values(s_TBL_OPENV_TV_REF.nextval, '"+java.net.URLEncoder.encode(ref,"utf-8")+"', '', '"+ref+"', '', 'vsearch.cctv.com', 'www.openv.tv', 'www.openv.com','"+referer+"',to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'))"; }else{ sql = " update TBL_OPENV_TV_REF set clicks=clicks+1,update_time= to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') where id="+id; } ds.executeUpdate(sql); ds.commit(); }else{ //新DRE格式数据 sql = "select id from tbl_openv_com_ref where domain_name='vsearch.cctv.com' and ref='"+ref+"'"; long id = openv.base.Util.strToLong(ds.getSingleQuery(sql)); if(id==0){ sql = "Insert into TBL_OPENV_COM_REF(ID, PATH, HREF, REF_TV, REF, DOMAIN_NAME, WORD, REPLACEMENT,referer,CREATE_TIME,UPDATE_TIME) Values(s_TBL_OPENV_COM_REF.nextval, '"+java.net.URLEncoder.encode(ref,"utf-8")+"', '', '"+ref+"', '"+ref+"', 'vsearch.cctv.com', 'www.openv.tv', 'www.openv.com','"+referer+"',to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'))"; }else{ sql = " update TBL_OPENV_COM_REF set clicks=clicks+1,update_time= to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') where id="+id; } ds.executeUpdate(sql); ds.commit(); } }catch(Exception e){ //out.println("eeeeeeeeeeee"); }finally{ if(ds!=null)ds.close(); } response.sendRedirect("play_old.jsp?ref="+ref+"&db="+dbname+"&kw="+Util.URLEncoderLoop(kw,"utf-8",2)); return; } ref = reftemp; String listTitle = ""; String listTitleQ=""; String listProgram = ""; String listChannel = ""; String listDateTime = ""; String url = ""; String more = ""; String listTargetpage = ""; String listCategory =""; String listContent =""; String others = ""; if (videoresult!=null){ listTitle = vportal.Util.getStrDef(videoresult.getDretitle(),""); listTitleQ = listTitle; listTitle = vportal.Util.getCutString(listTitle,0,23,"..."); //listTitle = vportal.Util.getStrDef(listTitle, "", 20, "..." ,false); listProgram = vportal.Util.getStrDef(videoresult.getProgramtitle(),""); listChannel = vportal.Util.getStrDef(videoresult.getChinesechannelname(),""); listTargetpage = vportal.Util.getStrDef(videoresult.getTargetpage(),""); listContent = vportal.Util.getStrDef(videoresult.getDrecontent(),""); listContent = vportal.Util.getCutString(listContent,0,250,"..."); //listContent = vportal.Util.getStrDef(listContent, "", 250, "..." ,false); listContent = listContent.equals("")?listTitle:listContent; listCategory = vportal.Util.getStrDef(videoresult.getCategory(),""); others = vportal.Util.getStrDef(videoresult.getOthers(),""); }else{ out.println("没有该视频!"); } String companyName = ""; String video_1 = "null"; String link_1 = ""; String adinfo = ""; boolean find_ad = false; String companyName_end = ""; String video_1_end ="null"; String link_1_end = ""; String adinfo_end = ""; boolean find_ad_end = false; String tkey_ad = com.autonomy.utilities.StringUtils.nullToEmpty(request.getParameter("kw")); //如果 comeT 是 0 ,接收关键词,否则请为空 tkey_ad = new String(tkey_ad.getBytes("iso8859-1"),"UTF-8"); tkey_ad = java.net.URLEncoder.encode(tkey_ad); String strUrl = ""; String requestStr = ""; String adStr = ""; Element root = null; Element flvfrom_element=null; Element flvtitle_element=null; Element flvlink_element=null; Element flvpath_element=null; //按projectId取广告 if (projectId>0){ strUrl = "http://casting.openv.com/getAd.php?ref="+ref+"&type=domain&n=1&projectId="+projectId; Document document = Util.parse(new java.net.URL(strUrl)); root = document.getRootElement().element("flv"); flvfrom_element=root.element("flvfrom"); flvtitle_element=root.element("flvtitle"); flvlink_element=root.element("flvlink"); flvpath_element=root.element("flvpath"); companyName = flvfrom_element.getTextTrim(); link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); adinfo = flvtitle_element.getTextTrim(); adinfo = java.net.URLEncoder.encode(adinfo,"utf-8"); video_1 = flvpath_element.getTextTrim(); if("".equals(video_1)){ find_ad = false; }else{ find_ad = true; adStr = "type=domain,n=1,projectId="+projectId; } } //按projectId取广告end //按关键词取广告 if(!find_ad){ strUrl = "http://casting.openv.com/getAd.php?ref="+ref+"&type=kw&n=1&projectId=2&q="+tkey_ad; Document document = Util.parse(new java.net.URL(strUrl)); root = document.getRootElement().element("flv"); flvfrom_element=root.element("flvfrom"); flvtitle_element=root.element("flvtitle"); flvlink_element=root.element("flvlink"); flvpath_element=root.element("flvpath"); companyName = flvfrom_element.getTextTrim(); link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); adinfo = flvtitle_element.getTextTrim(); adinfo = java.net.URLEncoder.encode(adinfo,"utf-8"); video_1 = flvpath_element.getTextTrim(); if("".equals(video_1)){ find_ad = false; }else{ find_ad = true; adStr = "type=kw,n=1,projectId=1,q="+tkey_ad; } } //按关键词取广告end //按栏目名称找广告 if(!find_ad){ if (listProgram.equals("快乐大本营")||listProgram.equals("时尚装苑")||listProgram.equals("快乐生活一点通")||listProgram.equals("草原音画")||listProgram.equals("传奇故事")||listProgram.equals("真情")||listProgram.equals("耍耍流星锤")||listProgram.equals("明星记者会")||listProgram.equals("食全食美")||listProgram.equals("法治进行时")){ projectId = 7; } strUrl="http://casting.openv.com/getAd.php?ref="+ref+"&type=domain&n=1&projectId="+projectId; Document document = Util.parse(new java.net.URL(strUrl)); root = document.getRootElement().element("flv"); flvfrom_element=root.element("flvfrom"); flvtitle_element=root.element("flvtitle"); flvlink_element=root.element("flvlink"); flvpath_element=root.element("flvpath"); companyName = flvfrom_element.getTextTrim(); link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); adinfo = flvtitle_element.getTextTrim(); adinfo = java.net.URLEncoder.encode(adinfo,"utf-8"); video_1 = flvpath_element.getTextTrim(); if("".equals(video_1)){ find_ad = false; video_1 = "null"; }else{ find_ad = true; adStr = "type=domain,n=1,projectId="+projectId; } } //按栏目名称找广告end //按分类找广告 if(!find_ad){ if(listCategory.equals("新闻资讯")){ projectId = 36; } if(listCategory.equals("娱乐")){ projectId = 37; } if(listCategory.equals("体育")){ projectId = 38; } if(listCategory.equals("时尚")){ projectId = 39; } if(listCategory.equals("生活资讯")){ projectId = 40; } if(listCategory.equals("影视")){ projectId = 41; } if(listCategory.equals("财经")){ projectId = 42; } if(listCategory.equals("汽车")){ projectId = 43; } if(listCategory.equals("游戏")){ projectId = 44; } if(listTitle.indexOf("香港回归")>-1){ projectId = 25; } strUrl="http://casting.openv.com/getAd.php?ref="+ref+"&type=domain&n=1&projectId="+projectId; Document document = Util.parse(new java.net.URL(strUrl)); root = document.getRootElement().element("flv"); flvfrom_element=root.element("flvfrom"); flvtitle_element=root.element("flvtitle"); flvlink_element=root.element("flvlink"); flvpath_element=root.element("flvpath"); companyName = flvfrom_element.getTextTrim(); link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); adinfo = flvtitle_element.getTextTrim(); adinfo = java.net.URLEncoder.encode(adinfo,"utf-8"); video_1 = flvpath_element.getTextTrim(); if("".equals(video_1)){ find_ad = false; video_1 = "null"; }else{ find_ad = true; adStr = "type=domain,n=1,projectId="+projectId; } } //按分类找广告end if(ref.indexOf("vspacecctv") != -1){ find_ad = false; adStr = ""; } %> <%=listTitle%>-CCTV视频播放
<% String adFlashVars="&loadfirstlogo=/player/waiting.jpg&video_1="+video_1+"&link_1="+link_1+"&playadinfolink_1="+link_1; if ((!"".equals(link_1)) && (!"null".equals(link_1))){ adFlashVars += "&playadinfo_1="+java.net.URLEncoder.encode("想了解更多,请点击"); }else{ adFlashVars += "&playadinfo_1=%20"; } %>
<% String data_str = refArray[1].substring(0,4) + "-" + refArray[1].substring(4,6) + "-" + refArray[1].substring(6,8); String mid_date = "2007-07-06"; if((refArray[0].indexOf("CCTVCOM") != -1) || (refArray[0].indexOf("cctvcom") != -1)){ if(data_str.compareTo(mid_date) < 0){ listTargetpage = listTargetpage.replace("OpenVWMVPath_CCTVCOM","mms://winmedia.cctv.com.cn"); %>
<% }else{ listTargetpage = listTargetpage.replace("OpenVWMVPath_CCTVCOM","http://v.cctv.com/flash"); listTargetpage = listTargetpage.replace(".wmv",".flv"); %>
<% } }else{ %>
<% } %>
播放内容
<%=listTitle%>
<%=listContent%> <% if(ref.indexOf("vspace") != -1){ %> [详细信息] <% } %>
<%=listChannel + "   "+listProgram%>
推荐视频更多...
    <% java.util.HashMap paraMap = new java.util.HashMap(); paraMap.put("DontMatchReference",ref); paraMap.put("sort","Relevance+date"); dreplgs.setPort("30010"); dreplgs.setParaMap(paraMap); dreplgs.setDb("forcctv"); ArrayList listArrayList = dreplgs.queryAci(listTitle,1,4); Video theVideo; if(listArrayList != null){ for(Iterator it=listArrayList.iterator(); it.hasNext();) { theVideo=(Video)it.next(); String title = theVideo.getDretitle(); title = openv.base.Util.ellipsis(title,33,"..."); String swfPath = theVideo.getSwfpath(); String link = "player.jsp?ref="+theVideo.getDrereference()+"&db="+dbname+"&kw="+vportal.Util.URLEncoderLoop(kw,"utf-8",1); String content = theVideo.getDrecontent(); if("".equals(content)){ content = title;} String chname = theVideo.getChinesechannelname(); String programtitle = theVideo.getProgramtitle(); if(!"".equals(theVideo.getDrereference())){ %>
  • <%=title%>
    [<%=vportal.Util.getStrDef(chname+"-"+programtitle,"",15,"...",false)%>]
  • <% }//end if }//end for } %>
<% //主动内存回收 dreplgs = null; videoresult = null; theVideo = null; listArrayList = null; %> <%! public String strReplace(String sBody,String sFrom,String sTo){ int i,j,k; i=0; j=sFrom.length(); k=sTo.length(); while(sBody.indexOf(sFrom,i)!=-1){ i=sBody.indexOf(sFrom,i); sBody=sBody.substring(0,i)+sTo+sBody.substring(i+j); i+=k; //System.out.println(sBody); } return sBody; } public String getJiShiTieEmbed(javax.servlet.http.HttpServletRequest request,String swf_path,String width,String height){ swf_path = "http://"+request.getServerName()+swf_path; String str = ""; return str; } public long strToLong(String s){ if(s==null) return 0; try{ return Long.parseLong(s.trim()); } catch(Exception e){ return 0; } } %>