File: /home/httpd/html/baretube.com.new/admin/functions.player.php
<?php
/**
* displayPlayerWrapper - Wrapper for player function that is stored in script config.
*
* @param [in] $rrow array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @param [in] $skipAutoPlay Not yet documented.
* @return void
*
*/
function displayPlayerWrapper($rrow, $width = 590, $height = 475, $skipAutoPlay = false) {
global $playerFunction;
if ($rrow['vr'] == 1) {
$playerFunction = 'displayPlayerDeoVR';
}
return call_user_func($playerFunction, $rrow, $width, $height, $skipAutoPlay);
}
/**
* displayPlayerVideoJS - Displays videojs player
*
* @param [in] $rrow array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @param [in] $skipAutoPlay Not yet documented.
* @return void
*
*/
function displayPlayerVideoJS($rrow, $width = 590, $height = 475, $skipAutoPlay = false) {
global $basehttp;
global $video_url;
global $config;
global $player_streamer;
global $encodeTrailer;
global $template_path;
global $template_url;
global $ads;
global $player_autoplay;
global $modsec_enabled;
global $adultCentroPassword;
global $multiple_servers;
global $paysiteMode;
global $player_watermark_url;
global $vodMode;
if ($rrow['access_level'] > 0 && !$_SESSION['isAdmin']) {
if ($rrow['access_level'] == 1) {
//private video
if (!$_SESSION['userid'] && !$_SESSION['isAdmin']) {
displayPlayerFake($rrow, $width, $height);
return false;
} else {
$checkFriend = dbQuery("SELECT record_num FROM friends WHERE ((`user` = '$_SESSION[userid]' AND `friend` = '$rrow[submitter]') OR (`friend` = '$_SESSION[userid]' AND `user` = '$rrow[submitter]')) AND approved = 1");
if (count($checkFriend) < 1) {
displayPlayerFake($rrow, $width, $height);
return false;
}
}
}
if ($rrow['access_level'] == 2) {
//premium video
if (!$_SESSION['premium'] && !$_SESSION['isAdmin']) {
displayPlayerFake($rrow, $width, $height);
return false;
}
}
}
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
if ($rrow['embed']) {
echo resizeEmbedded($rrow['embed'], $width, $height);
} else {
if ($rrow['hotlinked']) {
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$defaultFile = $basehttp . '/index.php' . urlencode('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked']) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']));
} else {
$defaultFile = $rrow['hotlinked'];
}
} else {
$outputFiles = getMediaURLs($rrow);
if ($encodeTrailer && $paysiteMode == 1 && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$defaultFile = $outputFiles['trailer_filename'];
} elseif (detectMobile() && $rrow['mobile']) {
$defaultFile = $outputFiles['mobile'];
} else {
$defaultFile = $outputFiles['filename'];
}
}
$options['autoplay'] = (bool) $player_autoplay;
$options['controls'] = (bool) true;
$options['preload'] = 'auto';
$options['seek_param'] = 't';
$options['plugins']['seek'] = (bool) true;
$options['plugins']['thumbnails']['width'] = 120;
$options['plugins']['thumbnails']['height'] = 90;
$options['plugins']['watermark']['xpos'] = 0;
$options['plugins']['watermark']['ypos'] = 0;
$options['plugins']['watermark']['xrepeat'] = 0;
$options['plugins']['watermark']['opacity'] = 0.75;
$options['plugins']['watermark']['file'] = $player_watermark_url;
//autoplay if t parameter is passed.
if ($_GET['t']) {
$options['autoplay'] = true;
}
?>
<script src="<?php echo $basehttp; ?>/includes/videojs/video.js"></script>
<script src='<?php echo $basehttp; ?>/includes/videojs/videojs.thumbnails.js'></script>
<script src="<?php echo $basehttp; ?>/includes/videojs/videojs.seek.js"></script>
<script src='<?php echo $basehttp; ?>/includes/videojs/videojs.watermark.js'></script>
<link href="<?php echo $basehttp; ?>/includes/videojs/video-js.min.css" rel="stylesheet">
<link href="<?php echo $basehttp; ?>/includes/videojs/videojs.thumbnails.css" rel="stylesheet">
<link href="<?php echo $basehttp; ?>/includes/videojs/videojs.watermark.css" rel="stylesheet">
<video id="thisPlayer" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" poster="<?php echo getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true); ?>" data-setup='<? echo json_encode($options); ?>'>
<source src="<?php echo $defaultFile; ?>" type='video/mp4'>
<track kind="metadata" src="<? echo $basehttp; ?>/webvtt/<? echo $rrow[record_num]; ?>.vtt"></track>
<p class="vjs-no-js"><?php echo _t("To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video"); ?></p>
</video>
<script>
var videojsPlayer = videojs('thisPlayer');
videojsPlayer.on('contextmenu', function(e) {
e.preventDefault();
});</script>
<?
if($config['displayPlayerOverlay']) {
include("$template_path/widgets/widget.inplayer_ad.php");
}
?>
<style>
#thisPlayer {
display: block;
width: <?php echo $width; ?>;
height: <?php echo $height; ?>;
position: relative;
}
</style>
<?php
}
}
/**
* displayPlayer - Displays flowplayer (flv only, outdated)
*
* @param [in] $rrow array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @param [in] $skipAutoPlay Not yet documented.
* @return void
*
*/
function displayPlayer($rrow, $width = 590, $height = 475, $skipAutoPlay = false) {
global $basehttp;
global $flowplayerKey;
global $video_url;
global $player_streamer;
global $encodeTrailer;
global $player_rtmp;
global $player_autoplay;
global $player_show_watermark;
global $player_watermark_padding_top;
global $player_watermark_padding_right;
global $player_watermark_url;
global $player_watermark_display_time;
global $player_watermark_opacity;
global $player_watermark_redirect;
global $modsec_enabled;
global $adultCentroPassword;
global $multiple_servers;
global $paysiteMode;
global $vodMode;
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
if (detectMobile() && !$rrow['embed']) {
$bad = array('?', '!', ' ', '&', '*', '$', '#', '@');
$good = array('', '', '-', '', '', '', '', '');
$dirname = str_replace('.flv', '', $rrow['orig_filename']);
$subdir = $rrow['filename'][0] . '/' . $rrow['filename'][1] . '/' . $rrow['filename'][2] . '/' . $rrow['filename'][3] . '/' . $rrow['filename'][4] . '/';
$dirname = $subdir . $dirname;
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$mobileFile = $basehttp . '/index.php' . ('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked'])) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']);
} else {
$outputFiles = getMediaURLs($rrow);
if ($rrow['mobile']) {
$mobileFile = $outputFiles['mobile'];
} else {
$mobileFile = $outputFiles['filename'];
}
if ($encodeTrailer && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$mobileFile = $outputFiles['trailer_filename'];
}
}
?>
<video id="videoPlayer" src="<?php echo $mobileFile; ?>" autobuffer style="width: <?php echo $width; ?>; height: <?php echo $height; ?>;" controls="controls" onClick="this.play();" poster="<?php echo getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true); ?>"></video>
<?php
} else {
if ($rrow['embed']) {
echo resizeEmbedded($rrow['embed'], $width, $height);
} else {
if ($rrow['hotlinked']) {
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$defaultFile = $basehttp . '/index.php' . urlencode('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked']) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']));
} else {
$defaultFile = $rrow['hotlinked'];
}
} else {
$outputFiles = getMediaURLs($rrow);
if ($encodeTrailer && $paysiteMode == 1 && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$defaultFile = $outputFiles['trailer_filename'];
} else {
$defaultFile = $outputFiles['filename'];
}
}
?>
<script src="<? echo $basehttp; ?>/includes/player/flowplayer-3.2.11.min.js"></script>
<a id="thisPlayer" style='display: block; width: <?php echo $width; ?>; height: <?php echo $height; ?>;'></a>
<script type='text/javascript'>
flowplayer("thisPlayer", {
src: "<?php echo $basehttp; ?>/includes/player/flowplayer-3.2.16.swf",
wmode: "opaque"
},
{
key: "<?php echo $flowplayerKey; ?>",
clip: {
url: '<?php echo $defaultFile; ?>',
<?php if ($skipAutoPlay) { ?>
autoPlay: false,
<?php } else { ?>
autoPlay: <?php echo (string) $player_autoplay; ?>,
<?php } ?>
autoBuffering: true,
provider: '<? echo $player_streamer; ?>'
},
<?php if ($player_show_watermark) { ?>
logo: {
<?php if ($player_watermark_redirect) { ?>
linkUrl: '<?php echo $player_watermark_redirect; ?>',
linkWindow: '_blank',
<?php } ?>
url: '<?php echo $player_watermark_url; ?>',
opacity: '<?php echo $player_watermark_opacity; ?>',
fullscreenOnly: false,
top: <?php echo $player_watermark_padding_top; ?>,
right: <?php echo $player_watermark_padding_right; ?>,
displayTime: <?php echo (int) $player_watermark_display_time; ?>
},
<?php } ?>
plugins: {
<?php if ($player_streamer == 'rtmp') { ?>
rtmp: {
url: "<?php echo $basehttp; ?>/includes/player/flowplayer.rtmp-3.2.12.swf",
netConnectionUrl: "<?php echo $player_rtmp; ?>",
durationFunc: 'getStreamLength'
}
<?php } else { ?>
lighttpd: {
url: "<?php echo $basehttp; ?>/includes/player/flowplayer.pseudostreaming-byterange-3.2.11.swf"
}
<?php } ?>
}
});</script>
<?php
}
}
}
/**
* displayPlayerFake - Displays a fake player for using overlays like vod purchase etc.
*
* @param [in] $rrow Array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @param [in] $skipAutoPlay Not yet documented.
* @return void
*
*/
function displayPlayerFake($rrow, $width = 590, $height = 475, $skipAutoPlay = false) {
global $basehttp;
global $video_url;
global $config;
global $player_streamer;
global $encodeTrailer;
global $template_path;
global $ads;
global $player_autoplay;
global $modsec_enabled;
global $adultCentroPassword;
global $multiple_servers;
global $paysiteMode;
global $player_watermark_url;
global $vodMode;
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
?>
<img id='thisPlayer' src="<?php echo getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true); ?>" />
<?
if($rrow['access_level'] == 1) {
include("$template_path/widgets/widget.fakePlayerPrivate.php");
}
if($rrow['access_level'] == 2) {
include("$template_path/widgets/widget.fakePlayerPremium.php");
}
?>
<style>
#thisPlayer {
display: block;
width: <?php echo $width; ?>;
height: <?php echo $height; ?>;
position: relative;
}
</style>
<?php
}
/**
* displayPlayerDelightVr - Displays delightvr player
*
* @param [in] $rrow Array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @return void
*
*/
function displayPlayerDelightVr($rrow, $width = 590, $height = 475) {
global $basehttp;
global $video_url;
global $player_streamer;
global $encodeTrailer;
global $player_autoplay;
global $modsec_enabled;
global $mediadomain;
global $adultCentroPassword;
global $multiple_servers;
global $template_path;
global $delightJSURL;
global $config;
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
if ($rrow['embed']) {
echo resizeEmbedded($rrow['embed'], $width, $height);
} else {
if ($rrow['hotlinked']) {
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$defaultFile = $basehttp . '/index.php' . urlencode('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked']) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']));
} else {
$defaultFile = $rrow['hotlinked'];
}
} else {
$outputFiles = getMediaURLs($rrow);
if ($encodeTrailer && $paysiteMode == 1 && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$defaultFile = $outputFiles['trailer_filename'];
} elseif (detectMobile() && $rrow['mobile']) {
$defaultFile = $outputFiles['mobile'];
} else {
$defaultFile = $outputFiles['filename'];
}
}
$options['autoplay'] = (bool) $player_autoplay;
$options['controls'] = (bool) true;
$options['preload'] = 'auto';
$posterLink = getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true);
//CORS
//TODO multiple servers
$filesCounter = 2;
foreach ($outputFiles as $label => $file) {
if (in_array($label, array('oculus_rift', 'gear_vr', 'cardboard_ios'))) {
if ($label == 'cardboard_ios') {
$title = 'Mobile Cardboard';
} elseif ($label == 'gear_vr') {
$title = 'Gear VR';
} else {
$title = 'Oculus Rift';
}
$fallbackFile = str_replace($mediadomain, "$basehttp/media", str_replace("http://", "", $file));
$fallbackOutput[] = "url_$filesCounter=" . urlencode($fallbackFile) . "&title_$filesCounter=" . $title;
++$filesCounter;
}
}
$fallbackUrlFiles = "";
if (!empty($fallbackOutput)) {
$fallbackUrlFiles = "&" . implode("&", $fallbackOutput);
}
$fallbackDefaultUrl = str_replace($mediadomain, "$basehttp/media", str_replace("http://", "", $defaultFile));
$fallbackDefaultTitle = "ALL Devices";
$fallbackTitle = $rrow['title'];
$fallbackPoster = $posterLink;
$fallbackUrl = 'https://' . $mediadomain . '/cors_fallback.html';
$fallbackUrl .= "?q=" . urlencode("&format={$rrow['player_format']}&url_1=" . urlencode($fallbackDefaultUrl) . "&title_1=$fallbackDefaultTitle&main_title=$fallbackTitle&poster_image=$fallbackPoster&author=Laidhub" . $fallbackUrlFiles);
//EOF CORS
$vrData = json_decode($rrow['vrData'], true);
?>
<script src="<? echo $delightJSURL; ?>"></script>
<dl8-video id='delightPlayer'
title="<?php echo $rrow['title']; ?>"
fps="<? echo $rrow['fps']; ?>"
poster="<?php echo $posterLink; ?>"
width="<?php echo $width; ?>"
display-mode="inline"
format="<? if($vrData['format']) { echo $vrData['format']; } else { echo '360_MONO'; } ?>"
cors-fallback-url="<?php echo $config['cors-fallback-url']; ?>"
cors-custom-cta="Play Video"
cors-custom-message="You are using an Apple Device or Browser. A new window will need to open to play back this video."
cors-custom-heading=""
focal-length="<? if($vrData['focal']) { echo $vrData['focal']; } else { echo 10; } ?>"
>
<?php if ($outputFiles['filename']) { ?>
<source src="<?php echo $outputFiles['filename']; ?>" type="video/mp4" quality="<?php echo _t("HD"); ?>" <? if($vrData['audio'] == 'ambix') { ?>audio-format="ambix"<? } ?> />
<?php } ?>
<?php if ($outputFiles['mobile']) { ?>
<source src="<?php echo $outputFiles['mobile']; ?>" type="video/mp4" quality="<?php echo _t("SD"); ?>" <? if($vrData['audio'] == 'ambix') { ?>audio-format="ambix"<? } ?> />
<?php } ?>
<dl8-track kind="metadata" metadata-kind="thumbs" src="<? echo $basehttp; ?>/webvtt/<? echo $rrow[record_num]; ?>.vtt" default></dl8-track>
</dl8-video>
<style>
#delightPlayer {
position: absolute !important;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
height: 100% !important;
}
</style>
<?php
}
}
/**
* displayPlayerFluidplayer - Displays fluidplayer from exoclick
*
* @param [in] $rrow Array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @param [in] $skipAutoPlay Not yet documented.
* @return void
*
*/
function displayPlayerFluidplayer($rrow, $width = 590, $height = 475, $skipAutoPlay = false) {
global $basehttp;
global $video_url;
global $config;
global $player_streamer;
global $encodeTrailer;
global $template_path;
global $template_url;
global $ads;
global $player_autoplay;
global $modsec_enabled;
global $adultCentroPassword;
global $multiple_servers;
global $paysiteMode;
global $player_watermark_url;
global $vodMode;
if ($rrow['access_level'] > 0 && !$_SESSION['isAdmin']) {
if ($rrow['access_level'] == 1) {
//private video
if (!$_SESSION['userid'] && !$_SESSION['isAdmin']) {
displayPlayerFake($rrow, $width, $height);
return false;
} else {
$checkFriend = dbQuery("SELECT record_num FROM friends WHERE ((`user` = '$_SESSION[userid]' AND `friend` = '$rrow[submitter]') OR (`friend` = '$_SESSION[userid]' AND `user` = '$rrow[submitter]')) AND approved = 1");
if (count($checkFriend) < 1) {
displayPlayerFake($rrow, $width, $height);
return false;
}
}
}
if ($rrow['access_level'] == 2) {
//premium video
if (!$_SESSION['premium'] && !$_SESSION['isAdmin']) {
displayPlayerFake($rrow, $width, $height);
return false;
}
}
}
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
if ($rrow['embed']) {
echo resizeEmbedded($rrow['embed'], $width, $height);
} else {
if ($rrow['hotlinked']) {
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$defaultFile = $basehttp . '/index.php' . urlencode('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked']) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']));
} else {
$defaultFile = $rrow['hotlinked'];
}
} else {
$outputFiles = getMediaURLs($rrow);
if ($encodeTrailer && $paysiteMode == 1 && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$defaultFile = $outputFiles['trailer_filename'];
} elseif (detectMobile() && $rrow['mobile']) {
$defaultFile = $outputFiles['mobile'];
} else {
$defaultFile = $outputFiles['filename'];
}
}
$options['autoplay'] = (bool) $player_autoplay;
$options['controls'] = (bool) true;
$options['preload'] = 'auto';
$options['seek_param'] = 't';
$options['plugins']['seek'] = (bool) true;
$options['plugins']['thumbnails']['width'] = 120;
$options['plugins']['thumbnails']['height'] = 90;
$options['plugins']['watermark']['xpos'] = 0;
$options['plugins']['watermark']['ypos'] = 0;
$options['plugins']['watermark']['xrepeat'] = 0;
$options['plugins']['watermark']['opacity'] = 0.75;
$options['plugins']['watermark']['file'] = $player_watermark_url;
//autoplay if t parameter is passed.
if ($_GET['t']) {
$options['autoplay'] = true;
}
?>
<script src="<?php echo $basehttp; ?>/includes/fluidplayer/fluidplayer.min.js"></script>
<link href="<?php echo $basehttp; ?>/includes/fluidplayer/fluidplayer.min.css" rel="stylesheet">
<video id="thisPlayer">
<source src="<?php echo $defaultFile; ?>" type='video/mp4'>
</video>
<script type="text/javascript">
var myFluidPlayer = fluidPlayer(
'thisPlayer',
{
layoutControls: {
autoPlay: <? if($player_autoplay) echo 'true'; else { echo 'false'; } ?>,
playbackRateEnabled: true,
allowTheatre: true,
<? if($player_watermark_url) { ?>
logo: {
imageUrl: '<? echo $player_watermark_url; ?>',
position: 'top left',
clickUrl: '<? echo $basehttp; ?>',
opacity: 1
},
<? } ?>
timelinePreview: {
file: '<? echo $basehttp; ?>/webvtt/<? echo $rrow[record_num]; ?>.vtt',
type: 'VTT'
}
},
vastOptions: {
//vast tags go here as per https://docs.fluidplayer.com/ad_configuration/
}
}
);
</script>
<style>
#thisPlayer {
display: block;
width: <?php echo $width; ?>;
height: <?php echo $height; ?>;
position: relative;
}
#fluid_video_wrapper_thisPlayer {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}
.fluid_timeline_preview_container {
border: none !important;
}
</style>
<?php
}
}
/**
* displayPlayerDeoVR - Displays deovr player
*
* @param [in] $rrow Array of content data
* @param [in] $width Not yet documented.
* @param [in] $height Not yet documented.
* @return void
*
*/
function displayPlayerDeoVR($rrow, $width = 590, $height = 475) {
global $basehttp;
global $video_url;
global $player_streamer;
global $encodeTrailer;
global $player_autoplay;
global $modsec_enabled;
global $mediadomain;
global $adultCentroPassword;
global $multiple_servers;
global $template_path;
global $delightJSURL;
global $config;
if ($player_streamer == 'rtmp') {
unset($video_url);
}
if (strpos($width, '%') === false) {
$width = $width . 'px';
}
if (strpos($height, '%') === false) {
$height = $height . 'px';
}
if (function_exists('paysiteWatchLog')) {
paysiteWatchLog($rrow['record_num']);
}
if ($rrow['embed']) {
echo resizeEmbedded($rrow['embed'], $width, $height);
} else {
if ($rrow['hotlinked']) {
if (stripos($rrow['hotlinked'], 'adultcentro') !== false) {
$defaultFile = $basehttp . '/index.php' . urlencode('?controller=adultCentroGetLink&id=' . str_replace('adultcentro', '', $rrow['hotlinked']) . '&hash=' . md5($adultCentroPassword . str_replace('adultcentro', '', $rrow['hotlinked']) . $_SERVER['REMOTE_ADDR']));
} else {
$defaultFile = $rrow['hotlinked'];
}
} else {
$outputFiles = getMediaURLs($rrow);
if ($encodeTrailer && $paysiteMode == 1 && $rrow['trailer_filename'] && !$_SESSION['userid']) {
$defaultFile = $outputFiles['trailer_filename'];
} elseif (detectMobile() && $rrow['mobile']) {
$defaultFile = $outputFiles['mobile'];
} else {
$defaultFile = $outputFiles['filename'];
}
}
$options['autoplay'] = (bool) $player_autoplay;
$options['controls'] = (bool) true;
$options['preload'] = 'auto';
$posterLink = getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true);
//CORS
//TODO multiple servers
$filesCounter = 2;
foreach ($outputFiles as $label => $file) {
if (in_array($label, array('oculus_rift', 'gear_vr', 'cardboard_ios'))) {
if ($label == 'cardboard_ios') {
$title = 'Mobile Cardboard';
} elseif ($label == 'gear_vr') {
$title = 'Gear VR';
} else {
$title = 'Oculus Rift';
}
$fallbackFile = str_replace($mediadomain, "$basehttp/media", str_replace("http://", "", $file));
$fallbackOutput[] = "url_$filesCounter=" . urlencode($fallbackFile) . "&title_$filesCounter=" . $title;
++$filesCounter;
}
}
$fallbackUrlFiles = "";
if (!empty($fallbackOutput)) {
$fallbackUrlFiles = "&" . implode("&", $fallbackOutput);
}
$fallbackDefaultUrl = str_replace($mediadomain, "$basehttp/media", str_replace("http://", "", $defaultFile));
$fallbackDefaultTitle = "ALL Devices";
$fallbackTitle = $rrow['title'];
$fallbackPoster = $posterLink;
$fallbackUrl = 'https://' . $mediadomain . '/cors_fallback.html';
$fallbackUrl .= "?q=" . urlencode("&format={$rrow['player_format']}&url_1=" . urlencode($fallbackDefaultUrl) . "&title_1=$fallbackDefaultTitle&main_title=$fallbackTitle&poster_image=$fallbackPoster&author=Laidhub" . $fallbackUrlFiles);
//EOF CORS
$vrData = json_decode($rrow['vrData'], true);
print_r($vrData);
if(stripos($vrData['format'],'LR') !== false) {
$format = "LR";
} elseif(stripos($vrData['format'],'TB') !== false) {
$format = "TB";
} else {
$format = "mono";
}
if(stripos($vrData['format'],'180') !== false) {
$angle = "180";
} else {
$angle = "360";
}
?>
<link rel="stylesheet" type="text/css" href="https://s3.deovr.com/version/1/css/styles.css"/>
<script src="https://s3.deovr.com/version/1/js/bundle.js" async></script>
<deo-video id='deoPlayer' cover-image='<?php echo $posterLink; ?>' title="<? echo $rrow['title']; ?>" format="<? echo $format; ?>" angle="<? echo $angle; ?>" duration="<? echo $rrow['length']; ?>">
<?php if ($outputFiles['filename']) { ?>
<source src="<?php echo $outputFiles['filename']; ?>" type="video/mp4" quality="<?php echo _t("HD"); ?>" <? if($vrData['audio'] == 'ambix') { ?>audio-format="ambix"<? } ?> />
<?php } ?>
<?php if ($outputFiles['mobile']) { ?>
<source src="<?php echo $outputFiles['mobile']; ?>" type="video/mp4" quality="<?php echo _t("SD"); ?>" <? if($vrData['audio'] == 'ambix') { ?>audio-format="ambix"<? } ?> />
<?php } ?>
</deo-video>
<style>
#deoPlayer {
position: absolute !important;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
height: 100% !important;
}
</style>
<?php
}
}