clr_str($_GET['p']);
$type = $p[0];
$tbl = $type == 'v' ? 'video' : ($type == 'i' ? 'image' : ($type == 'a' ? 'audio' : ($type == 'd' ? 'doc' : ($type == 'l' ? 'live' : null))));
$file_key = strrev(substr($p, -10));
$usr_key = substr($p, 2, 10);
$_file_src = $class_database->singleFieldValue('db_' . $tbl . 'files', 'file_name', 'file_key', $file_key);
switch ($type) {
case "v":
switch ($p[1]) {
case "1":$ext = '.360p.mp4';
break;
case "6":$ext = '.480p.mp4';
break;
case "2":$ext = '.720p.mp4';
break;
case "5":$ext = '.1080p.mp4';
break;
case "3":$ext = '.mob.mp4';
break;
case "4":$ext = '';
break;
}
break;
case "l":
switch ($p[1]) {
case "1":$ext = '.jpg';
break;
case "4":$ext = '';
break;
}
break;
case "i":
switch ($p[1]) {
case "1":$ext = '.jpg';
break;
case "4":$ext = '';
break;
}
break;
case "a":
switch ($p[1]) {
case "1":$ext = '.mp3';
break;
case "4":$ext = '';
break;
}
break;
case "d":
switch ($p[1]) {
case "1":$ext = '.pdf';
break;
case "5":$ext = '.swf';
break;
case "4":$ext = '';
break;
}
break;
}
$cf = $db->execute(sprintf("SELECT
A.`upload_server`,
B.`server_type`, B.`cf_enabled`, B.`cf_signed_url`, B.`cf_signed_expire`, B.`cf_key_pair`, B.`cf_key_file`,
B.`s3_bucketname`, B.`s3_accesskey`, B.`s3_secretkey`, B.`cf_dist_type`
FROM
`db_%sfiles` A, `db_servers` B
WHERE
A.`file_key`='%s' AND
A.`upload_server`>'0' AND
A.`upload_server`=B.`server_id`
LIMIT 1", $tbl, $file_key));
$server_type = $cf->fields["server_type"];
$cf_enabled = $cf->fields["cf_enabled"];
$cf_signed_url = $cf->fields["cf_signed_url"];
$cf_signed_expire = $cf->fields["cf_signed_expire"];
$cf_key_pair = $cf->fields["cf_key_pair"];
$cf_key_file = $cf->fields["cf_key_file"];
$s3_bucket = $cf->fields["s3_bucketname"];
$aws_access_key_id = $cf->fields["s3_accesskey"];
$aws_secret_key = $cf->fields["s3_secretkey"];
$dist_type = $cf->fields["cf_dist_type"];
$a_url = VGenerate::fileURL($tbl, $file_key, 'upload') . '/' . $usr_key . '/' . $type . '/' . $file_key . $ext;
if ($server_type == 's3' and $cf_enabled == 1 and $cf_signed_url == 1) {
$file_path = $usr_key . '/' . $type . '/' . $file_key . $ext;
if ($server_type == 's3' and $dist_type == 'r') {
$a_url = VbeServers::getS3SignedURL($aws_access_key_id, $aws_secret_key, $file_path, $s3_bucket, $cf_signed_expire);
} else {
$a_url = VbeServers::getSignedURL($a_url, $cf_signed_expire, $cf_key_pair, $cf_key_file);
}
}
$_file_name = ($p[1] != '4' ? md5($cfg["global_salt_key"] . $file_key) . $ext : $_file_src);
$_file_loc = ($p[1] != '4' ? $cfg["media_files_dir"] : $cfg["upload_files_dir"]);
$file = $_file_loc . '/' . $usr_key . '/' . $type . '/' . $_file_name;
$_full_name = $_file_name;
$_file_name = sprintf("%s%s", $tbl, $ext);
if ($type == 'l') {
$lq = $db->execute(sprintf("SELECT A.`srv_host`, A.`srv_port`, B.`file_name` FROM `db_liveservers` A, `db_livefiles` B WHERE A.`srv_id`=B.`vod_server` AND B.`file_key`='%s' LIMIT 1", $file_key));
$h = $lq->fields["srv_host"];
$p = $lq->fields["srv_port"];
$n = $lq->fields["file_name"];
$file = sprintf("https://%s:%s/vod/%s.mp4", $h, $p, $n);
$_file_name = $cfg["website_shortname"] . ' livestream';
}
echo '
' . $_file_name . '';
exit;