function GetSofturl($classid, $id, $pathid, $p, $pass, $onlinetime, $onlinepass) { global $empire, $dbtbpre, $public_r, $class_r, $emod_r, $level_r, $ecms_config; //验证IP eCheckAccessDoIp('onlineinfo'); $classid = (int) $classid; $id = (int) $id; $pathid = (int) $pathid; $onlinetime = (int) $onlinetime; $p = RepPostVar($p); if (!$classid || empty($id) || empty($p)) { exit; } $p_r = explode(":::", $p); $userid = $p_r[0]; $rnd = $p_r[1]; //验证码 $cpass = md5(ReturnDownSysCheckIp() . "wm_chief" . $public_r[downpass] . $userid); if ($cpass != $pass) { exit; } //验证验证码 CheckOnlinePass($onlinetime, $onlinepass); //表不存在 if (empty($class_r[$classid][tbname])) { exit; } $mid = $class_r[$classid][modid]; $tbname = $class_r[$classid][tbname]; $r = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where id='{$id}' limit 1"); if (empty($r['id']) || $r['classid'] != $classid) { exit; } //副表 $finfor = $empire->fetch1("select " . ReturnSqlFtextF($mid) . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $r[stb] . " where id='{$r['id']}' limit 1"); $r = array_merge($r, $finfor); //区分下载地址 $path_r = explode("\r\n", $r[onlinepath]); if (!$path_r[$pathid]) { exit; } $showdown_r = explode("::::::", $path_r[$pathid]); $downgroup = $showdown_r[2]; //下载权限 if ($downgroup) { $userid = (int) $userid; $rnd = RepPostVar($rnd); //取得会员资料 $u = $empire->fetch1("select " . eReturnSelectMemberF('*') . " from " . eReturnMemberTable() . " where " . egetmf('userid') . "='{$userid}' and " . egetmf('rnd') . "='{$rnd}' limit 1"); if (empty($u['userid'])) { exit; } //下载次数限制 $setuserday = ""; if ($level_r[$u['groupid']]['daydown']) { $setuserday = DoCheckMDownNum($userid, $u['groupid'], 1); } if ($level_r[$downgroup][level] > $level_r[$u[groupid]][level]) { exit; } //点数是否足够 $showdown_r[3] = intval($showdown_r[3]); if ($showdown_r[3]) { //---------是否有历史记录 $bakr = $empire->fetch1("select id,truetime from {$dbtbpre}enewsdownrecord where id='{$id}' and classid='{$classid}' and userid='{$userid}' and pathid='{$pathid}' and online=1 order by truetime desc limit 1"); if ($bakr[id] && time() - $bakr[truetime] <= $public_r[redodown] * 3600) { } else { //包月卡 if ($u['userdate'] - time() > 0) { } else { if ($showdown_r[3] > $u['userfen']) { exit; } //去除点数 $usql = $empire->query("update " . eReturnMemberTable() . " set " . egetmf('userfen') . "=" . egetmf('userfen') . "-" . $showdown_r[3] . " where " . egetmf('userid') . "='{$userid}'"); } //备份下载记录 $utfusername = $u['username']; BakDown($classid, $id, $pathid, $userid, $utfusername, $r[title], $showdown_r[3], 1); } } //更新用户下载次数 if ($setuserday) { $usql = $empire->query($setuserday); } } //总下载数据增一 $usql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$classid][tbname] . " set totaldown=totaldown+1 where id='{$id}'"); //选择播放器 $ftype = GetFiletype($showdown_r[1]); if (strstr($ecms_config['sets']['realplayertype'], ',' . $ftype . ',')) { Header("Content-Type: audio/x-pn-realaudio"); } else { Header("Content-Type: video/x-ms-asf"); } $downurl = stripSlashes($showdown_r[1]); $downurlr = ReturnDownQzPath($downurl, $showdown_r[4]); $downurl = $downurlr['repath']; //防盗链 @(include ECMS_PATH . DASHBOARD . "/DownSys/class/enpath.php"); $downurl = DoEnOnlinepath($downurl); db_close(); $empire = null; echo $downurl; exit; }
function ReturnDSofturl($downurl, $qz, $path = '../../', $isdown = 0) { $urlr = ReturnDownQzPath(stripSlashes($downurl), $qz); $url = $urlr['repath']; @(include_once ECMS_PATH . DASHBOARD . "/DownSys/class/enpath.php"); //防盗链 if ($isdown) { $url = DoEnDownpath($url); } else { $url = DoEnOnlinepath($url); } return $url; }