📄 film_play.asp
字号:
<!--#include file="chklogin.asp"-->
<!-- ########### 检测用户浏览器是否支持xmlhttp对象 ################-->
<script language="javascript">
try
{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert('不能创建Microsoft.XMLHTTP对象,推荐使用Internet Explorer6.0浏览器');
parent.opener=null;
parent.close();
}
finally
{
xmlhttp=null;
}
</script>
<%
call myobj.chkrq()
set rs=server.createobject("adodb.recordset")
rs.open "select * from setup where id=1",conn,1,1
all_max_online=rs("max_online") '查询最多允许在线人数
website_name=rs("website_name") '查询网站名称
rs.close
set rs=server.createobject("adodb.recordset")
rs.open "select * from users",conn,1,1
all_now_online=rs.recordcount '查询当前服务器已有多少人在线
rs.close
if cint(all_now_online)>=cint(all_max_online) then '如果已在线人数大于最多允许的在线人数
response.write"<script language=javascript>alert('服务器最多允许同时在线的人数达到上限,请稍后再播放');window.close();</Script>"
response.end
end if
if request.QueryString("id")="" then '如果影片ID参数值为空
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
end if
if myobj.ChkNum(request.QueryString("id"))=false then '如果影片参数ID值不是整数
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
end if
if request.QueryString("fileid")="" then '如果影片文件参数值为空
response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
response.end
end if
if myobj.ChkNum(request.QueryString("fileid"))=false then '如果影片文件参数值不是整数
response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from films where id="&request.querystring("id")&"",conn,1,1
if rs.eof then '如果影片不存在
call nr()
response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
response.end
else
film_name=rs("film_name") '否则取得影片名称
pathid=rs("pathid") '否则取得影片路径ID
film_money=rs("film_money") '否则取得影片点播所需影币数量
play_level=rs("play_level") '否则取得影片播放权限信息
end if
rs.close
'############以上代码判断参数值####################
set rs=server.createobject("adodb.recordset")
rs.open "select * from film_path where id="&pathid&"",conn,1,1
if rs.eof then '判断影片路径是否存在
response.write"<script language=javascript>alert('影片路径不存在');window.close();</Script>"
response.end
else
path_left="rtsp://<#userid#>:<#pwd#>@" '取出数据库中的路径,然后自己补全地址中的变量信息
if left(rs("caption"),26)<>path_left then
response.write"<script language=javascript>alert('影片路径变量不存在');window.close();</Script>"
response.end
else
film_path=rs("caption") '取得路径地址
end if
end if
rs.close
if play_level<>0 then '如果播放权限不是0,即不是免费播放的影片
if request.cookies("userid")="" then '判断用户是否已登陆
response.write"<script language=javascript>alert('请先登陆后再播放影片');window.close();</Script>"
response.end
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,1
point=rs("point") '取得当用用户可用影币数
member_id=rs("id") '取得用户ID值
if rs("u_type")=1 then
if cint(point)<cint(film_money) then '如果影币不够
call nr()
response.write"<script language=javascript>alert('对不起,播放本影片需要"&film_money&"个影币,您的账号影币剩余"&point&"个,请充值后再播放影片');window.close();</Script>"
response.end
end if
else
end_time=rs("end_time") '取得用户到期时间
if cdate(end_time)<=now() then '如果账号到期
call nr()
response.write"<script language=javascript>alert('对不起,您的账号已到期,请充值后再播放影片');window.close();</Script>"
response.end
end if
end if
max_online=rs("max_online") '取得该用户最多允许同时在线的人数
user_vip=rs("is_vip") '取得用户VIP属性值
rs.close
set rs=server.createobject("adodb.recordset")
rs.open "select * from users where member_id='"&member_id&"'",conn,1,1
now_online=rs.recordcount '查询该用户已有多少线程链接服务器
rs.close
if cint(now_online)>=cint(max_online) then '如果该账号最多允许的进程小于或等于现已链接的进程
response.write"<script language=javascript>alert('您的账号只允许"&max_online&"台电脑同时链接到服务器,当前您的账号有"&now_online&"台电脑已链接。如果您是因为在播放影片时与服务器中断链接而造成不能播放的话,则请等待链接超时后即可播放影片');window.close();</Script>"
response.end
end if
end if
if play_level=1 then '如果影片不允许播放
if request.cookies("userid")="" then
response.write"<script language=javascript>alert('请先登陆后再播放');window.close();</Script>"
response.end
end if
end if
if play_level=2 then '如果影片只允许VIP用户播放
if cbool(user_vip)=false then '如果当前用户不是VIP用户
response.write"<script language=javascript>alert('对不起,本影片只允许VIP用户播放');window.close();</Script>"
response.end
end if
end if
set rs=server.createobject("adodb.recordset")
rs.open "select * from film_files where filmid="&request.querystring("id")&" and id="&request.querystring("fileid")&"",conn,1,1
if rs.eof then '如果影片文件不存在
call nr()
response.write"<script language=javascript>alert('该影片文件并不存在');window.close();</Script>"
response.end
else
filename=rs("filename") '取得影片文件名
end if
rs.close
set rs=server.createobject("adodb.recordset") '增加影片点播次数
rs.open "select * from films where id="&request.querystring("id")&"",conn,1,3
rs("see_count")=rs("see_count")+1
rs.update
rs.close
if play_level<>0 then
set rs=server.createobject("adodb.recordset") '用户付费
rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,3
if request.cookies("u_type")=1 then '如果当前用户是计点用户
rs("point")=cint(rs("point"))-cint(film_money) '扣取当前用户的可用影币数量
end if
rs.update
rs.close
end if
userid=myobj.MakeRnd(12) '生成随机账号
password=myobj.MakeRnd(12) '生成随机密码
set rs=server.createobject("adodb.recordset") '向helix服务写入链接账号
rs.open "select * from users where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("password")=password
rs("uuid")=""
rs("uuid_writeable")=1
rs("member_id")=member_id
rs("film_name")=film_name
rs("link_type")=1
rs.update
rs.close
set rs=server.createobject("adodb.recordset") '向helix服务写入链接权限
rs.open "select * from permissions where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("url")="root/"
rs("url_type")=1
rs("permission_type")=0
rs("expires")=""
rs("debitted_time")=0
rs("member_id")=member_id
rs("link_type")=1
rs.update
set rs=nothing
conn.close
set conn=nothing
response.cookies("film_down_page")=1 '写入防播放的cookies标识值
original_url=film_path&filename '组成原始完整路径
play_url=replace(replace(original_url,"<#userid#>",userid),"<#pwd#>",password) '通过替换标示字符组成播放路径
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=film_name%> - <%=website_name%> - 在线播放</title>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
a:link {
color: #000000;
}
a:visited {
color: #000000;
}
a:hover {
color: #FF6600;
}
-->
</style>
<link href="images/style.css" rel="stylesheet" type="text/css">
</head>
<body leftMargin="0" topMargin="0" bgcolor="#000000" style='overflow:scroll;overflow-y:hidden;overflow-x:hidden' onunload="del_userid();">
<input name="userid" type="hidden" id="userid" value="<%=userid%>">
<script language="javascript">
window.resizeTo (400,468);
function resume_size()
{
window.resizeTo (400,468);
}
function del_userid()
{
var str=document.all("userid").value;
var xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");
xmlhttp.Open("get", "xml.asp?userid="+str, false);
xmlhttp.Send(null);
xmlhttp=null
}
</script>
<table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0" id="player" >
<tr>
<td align="center">
<object id="RP1" name="RP1" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="100%">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="1">
<param name="MAINTAINASPECT" value="1">
<param name="BACKGROUNDCOLOR" value="#000000">
<PARAM NAME="SRC" VALUE="<%=cstr(play_url)%>">
</object></td>
</tr>
<tr>
<td height="60"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<td align="center" bgcolor="#000000"><table border=1 cellpadding=0 cellspacing=0 width="100%">
<td width="50"><img src="images/ctrl-fullscreen.gif" alt="全屏方式播放" width="50" height="30" border="0" onClick="document.RP1.SetFullScreen();"></td>
<td width="50"><img src="images/img52.gif" alt="恢复默认窗口大小" width="50" height="30" border="0" onClick="resume_size();"></td><td>
<object id="RP2" name="RP2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="30">
<param name="_ExtentX" value="4657">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center" bgcolor="#000000">
<object id="RP3" name="RP3" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="30">
<param name="_ExtentX" value="4657">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="CONTROLS" value="StatusBar">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -