HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: /home/httpd/html/porn.tw/public_html/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 $player_show_watermark;
    global $vodMode;
	global $fluidplayer_vast_preroll;
	global $fluidplayer_vast_midroll;
	global $fluidplayer_vast_midroll_timer;
	global $fluidplayer_vast_postroll;


    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 title='Best Quality' src="<?php echo $defaultFile; ?>" type='video/mp4'>
			<? 
			if(is_array($outputFiles['versions'])) {  
				foreach($outputFiles['versions'] as $x=>$y) { 
				?>
			<source title="<? echo $x; ?>" src="<? echo $y; ?>" 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,
					title: "<? echo addslashes($rrow['title']); ?>",
					posterImage: "<?php echo getThumbUrl($rrow['orig_filename'], $rrow['filename'], $rrow['main_thumb'], true); ?>", 
					<? if($player_watermark_url && $player_show_watermark) { ?>
					logo: {
						imageUrl: '<? echo $player_watermark_url; ?>',
						position: 'top right',
				
						clickUrl: 'https://freecams1.co/',

						opacity: 1
					},
					<? } ?>
					timelinePreview: {
						file: '<? echo $basehttp; ?>/webvtt/<? echo $rrow[record_num]; ?>.vtt',
						type: 'VTT'
					}
				},
				vastOptions: {
					adList: [
					<?php if($fluidplayer_vast_preroll) { ?>
						{
							roll: 'preRoll',
							vastTag: '<? echo $fluidplayer_vast_preroll; ?>',
							adText: 'Advertisement'
						},
					<? } ?>
					<?php if($fluidplayer_vast_midroll) { ?>
						{
							roll: 'midRoll',
							vastTag: '<? echo $fluidplayer_vast_midroll; ?>',
							timer: <? echo (int)$fluidplayer_vast_midroll_timer; ?>,
							adText: 'Advertisement'
						},
					<? } ?>
					<?php if($fluidplayer_vast_postroll) { ?>
						{
							roll: 'postRoll',
							vastTag: '<? echo $fluidplayer_vast_postroll; ?>',
							adText: 'Advertisement'
						},
					<? } ?>
					]
				}
			}
		);
      </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
    }
}