<%@page contentType="text/html" pageEncoding="GB2312" 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"); String ref = vportal.Util.getStrDef(request.getParameter("ref"),""); String reftemp = ref; String dbname = vportal.Util.getStrDef(request.getParameter("db"),"forcctv"); //String dbname = vportal.Util.getStrDef(request.getParameter("db"),""); String keyword = vportal.Util.getStrDef(request.getParameter("kw"),""); String kw = keyword; String referer = openv.base.Util.getParamStr(request.getHeader("referer")); long projectId = strToLong(request.getParameter("projectId")); 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]; } //根据reference得出播放记录 String cctvport = "30010"; Dre dreplgs = new Dre(); dreplgs.setPort(cctvport); dreplgs.setDb(dbname); Video videoresult = dreplgs.getVideoAci(ref,dbname); /* if(videoresult==null) { videoresult = dreplgs.getVideoAciOpenvTv(ref,dbname); } */ 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){ }finally{ if(ds!=null)ds.close(); } response.sendRedirect("play_old.jsp?ref="+ref+"&db="+dbname+"&kw="+openv.base.Util.URLEncoderLoop(keyword,"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 =""; if (videoresult!=null){ listTitle = vportal.Util.getStrDef(videoresult.getDretitle(),""); listTitle = vportal.Util.getCutString(listTitle,0,23,"..."); 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 = listContent.replaceAll("\\[htmlcode\\]",""); listContent = vportal.Util.getCutString(listContent,0,250,"..."); listContent = listContent.equals("")?listTitle:listContent; }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; String ad_title = ""; //按projectId取广告 if (projectId>0){ strUrl = "http://casting.openv.com/getAd.php?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?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?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?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(); ad_title = flvtitle_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 /* //查看是否需要投放广告 String kw = vportal.Util.getStrDef(request.getParameter("kw"),""); kw = new String(kw.getBytes("iso8859-1"),"utf-8"); boolean find_ad = false; String strUrl = "http://casting.openv.com/getAd.php?type=kw&n=1&projectId=2&q="+java.net.URLEncoder.encode(kw); String requestStr = vportal.Util.getUrlContent(strUrl,"UTF-8","UTF-8"); Element root = org.dom4j.DocumentHelper.parseText(requestStr).getRootElement().element("flv"); Element flvfrom_element=root.element("flvfrom"); Element flvtitle_element=root.element("flvtitle"); Element flvlink_element=root.element("flvlink"); Element flvpath_element=root.element("flvpath"); String companyName = flvfrom_element.getTextTrim(); String link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); String video_1 = flvpath_element.getTextTrim(); long projectId = vportal.Util.strToLong(request.getParameter("projectId")); String ad_title = ""; if("".equals(video_1)){ find_ad = false; //再按栏目名称找广告begin if (listProgram.equals("天天饮食")||listProgram.equals("第10放映室")||listProgram.equals("国宝档案")||listProgram.equals("今日说法")||listProgram.equals("走近科学")||listProgram.equals("探索·发现")||listProgram.equals("法治在线")||listProgram.equals("讲述")||listProgram.equals("生活567")||listProgram.equals("健康之路")){ projectId = 7; } strUrl="http://casting.openv.com/getAd.php?type=domain&n=1&projectId="+projectId; requestStr = vportal.Util.getUrlContent(strUrl,"UTF-8","UTF-8"); root = org.dom4j.DocumentHelper.parseText(requestStr).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(); ad_title = flvtitle_element.getTextTrim(); link_1 = flvlink_element.getTextTrim(); link_1 = java.net.URLEncoder.encode(link_1,"utf-8"); video_1 = flvpath_element.getTextTrim(); if("".equals(video_1)){ find_ad = false; video_1 = "null"; }else{ find_ad = true; } //再按栏目名称找广告end }else{ find_ad = true; } video_1 = strReplace(video_1,"?formid","&formid"); //ad */ %> <%=listTitle%>-CCTV视频播放<%=listTargetpage%>
<% 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="+ad_title; }else{ adFlashVars += "&playadinfo_1=%20"; } %>
<% listTargetpage = listTargetpage.replace("OpenVWMVPath_CCTVCOM","http://v.cctv.com/flash"); listTargetpage = listTargetpage.replace(".wmv",".flv"); %>
播放内容
<%=listTitle%>
<%=listContent%>
<%=listChannel + "   "+listProgram%>
    <% int pagenum = 1; int pernumcount = 4; java.util.HashMap paraMap = new java.util.HashMap(); paraMap.put("sort","Relevance+date"); dreplgs.setParaMap(paraMap); ArrayList listArrayList = dreplgs.queryAci(listTitle,pagenum,pernumcount); 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; } 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; } } %>