where('short', $uri)->find();
// print_r($check);die;
if(!empty($check)){
$system = $this->getMobileType();
header("Location: ".$check[$system]);
}
}
$ssid = SafeRequest('ssid', 'get');
$authcode = SafeRequest('authcode', 'get');
$authcode && setcookie('downcode', $authcode);
//微信
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false || (strpos($_SERVER['HTTP_USER_AGENT'], 'QQ') !== false && strpos($_SERVER['HTTP_USER_AGENT'], '_SQ_') !== false)) {
//include 'source/template/weixin.php';
//exit;
}
$domain = $_SERVER['HTTP_HOST'];
if (IN_TZDOMAIN && IN_SJDOMAIN && $domain == IN_TZDOMAIN) {
$sjdomain = explode(',', IN_SJDOMAIN);
for ($i = 0; $i < count($sjdomain); $i++) {
$sjdomain[$i];
}
$rsl = max(intval(IN_DOMAIN_RANDOMSTR_LEN), 1);
$out = rand(0, count($sjdomain) - 1);
$ssl= is_ssl()?'https://':'http://';
$sjurl = $ssl . str_replace('*', Randomstr($rsl), $sjdomain[$out]) . $_SERVER['PATH_INFO'] . ($ssid ? '?ssid=' . $ssid . '&' : '?') . 't=' . time();
redirect($sjurl);
}
//链接有效期
if (IN_APPDOWNPAGETIME && is_numeric(IN_APPDOWNPAGETIME)) {
if (!isset($_GET['t'])) {
$ssl= is_ssl()?'https://':'http://';
$sjurl = $ssl . $domain . $_SERVER['PATH_INFO'] . ($ssid ? '?ssid=' . $ssid . '&' : '?') . 't=' . time();
redirect($sjurl);
}
$timestr = $_GET['t'];
if (!$ssid && !isset($_GET['authcode']) && !isset($_GET['password']) && $timestr < strtotime('-' . IN_APPDOWNPAGETIME . ' minute')) {
exit('
友情提示
链接已过期,请重新下载!');
}
}
if ($info == 's') {
return redirect("/$module/$info");
}
$link = trim($info);
$id = auth_codes($info, 'de');
if (is_numeric($id)) {
$row = db('appid')->where('in_id', $id)->find();
} else {
$row = db('appid')->where('in_link', $link)->find();
}
$this->template_note = getTemplateData(isset($row['template_language']) ? $row['template_language'] : 'zh');
if (!$row || $row['in_sign_type'] == 2 && (!$row['in_super'] || !IN_SUPER) || $row['in_sign_type'] == 1 && !IN_DIST_ON) {
$this->reError('APP_EXPIRED');
}
if (is_mobile() && $row['in_captcha'] && (!$_SESSION['captcha' . $row['in_id']] || $_SESSION['captcha' . $row['in_id']] != $_SESSION['code'])) {
$this->captcha($row);
exit();
}
if ($row['in_applock']) {
//非法操作
$this->reError([-2 => 'APP_EXPIRED', -1 => 'APP_CHECKING', 1 => 'APP_ILLEGAL'][$row['in_applock']]);
}
$password = SafeRequest("password", "get");
if (!empty($password) && $password != $row['in_apppwd']) {
//密码错误
$this->reError('APP_PASSWORD_ERROR');
}
$user = db('user')->where('in_userid', $row['in_uid'])->find();
if (!$user || $user['in_islock'] || $user['in_release']) {
//非法操作
$this->reError('APP_EXPIRED');
}
if ($user['in_verify'] != 1 && IN_VERIFY > 0) {
//未实名认证
$this->reError('REALNAME_LAYER_TITLE');
}
if ($user['in_points'] <= $row['in_deduct'] && !$row['in_super'] or $row['in_applimit'] <= $row['in_downloads'] && $row['in_applimit'] != 0) {
//分发次数耗尽
$this->reError('APP_DOWNLOAD_TIMES_OVER');
}
if (dstrpos($_SERVER['HTTP_USER_AGENT'], ['iphone', 'ipad', 'ipod', 'mac', 'ios', 'playbook'])) {
if ($row['in_form'] == 'Android') {
if ($row['in_kid']) {
redirect(getlink($row['in_kid'], $module == 's'));
}
}
} else if (dstrpos($_SERVER['HTTP_USER_AGENT'], ['android'])) {
if ($row['in_form'] == 'iOS') {
if ($row['in_kid']) {
redirect(getlink($row['in_kid']));
}
}
}
if (!empty($row['in_appstore'])) {
//跳转应用商店
redirect($row['in_appstore']);
}
//超级签名
if ($row['in_sign_type'] == 2 && $row['in_super'] && IN_SUPER) {
if ($ssid) {
$super_sign = db('super_sign')->where('id', $ssid)->find();
if (!$super_sign) {
redirect(getlink($row['in_id']));
}
$udid = $super_sign['udid'];
if ($udid) {
setcookie('udid', $udid, time() + 999999999);
}
if ($super_sign['status'] != 5) {
db('super_sign')->where('id', $ssid)->update(['status' => '1', 'sign_time' => time()]);
}
$has_ssid = db('ios_device')->where('udid', $udid)->value('cert_iss');
if (!$has_ssid && $user['device_num'] < 1 && $user['prv_device_num'] < 1) {
//超级签名,设备耗尽
$this->reError('APP_DOWNLOAD_TIMES_OVER');
}
}
}
$did = db('downhistory')->where('appid', $row['in_id'])->whereTime('addtime', 'today')->value('id');
if (empty($did)) {
$setarr = array(
'appid' => $row['in_id'],
'uid' => $row['in_uid'],
'appname' => $row['in_name'],
'appversion' => $row['in_bsvs'],
'appsize' => $row['in_size'],
'liulan' => 1,
'down' => 0,
'addtime' => date('Y-m-d H:i:s')
);
db('downhistory')->insert($setarr);
} else {
db('downhistory')->where('appid', $row['in_id'])->whereTime('addtime', 'today')->inc('liulan')->update();
}
if ($row['in_sign_type'] == 0) {
@$this->steal($row);
}
if ($row['template'] == 7) {
include 'source/template/7.php';
} else {
include 'source/template/app.php';
}
}
function reError($msg)
{
$ERROR_MESSAGE = isset($this->template_note[$msg]) ? $this->template_note[$msg] : $msg;
(new \app\error\error())->message($ERROR_MESSAGE, $this->template_note['BACK_HOME']);
exit;
}
function captcha($row)
{
?>
static_() ?>