Your IP : 108.162.216.193


Current Path : /var/www/element/data/www/greenpr.ru/bitrix3/components/bitrix/player/
Upload File :
Current File : /var/www/element/data/www/greenpr.ru/bitrix3/components/bitrix/player/component.php

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$player_type = $arParams['PLAYER_TYPE'];
$fp = $arParams['PATH'];

if (strlen($fp) > 0 && strpos($fp, '.') !== false)
$ext = (strlen($fp) > 0 && strpos($fp, '.') !== false) ? strtolower(GetFileExtension($fp)) : '';

if ($player_type == 'auto')
	$player_type = (in_array($ext, array('wmv', 'wma'))) ? 'wmv' : 'flv';

if ($ext == 'swf' && $arParams['ALLOW_SWF'] != 'Y')
	return CComponentUtil::__ShowError(GetMessage("SWF_DENIED"));

if (!function_exists(escapeFlashvar))
{
	function escapeFlashvar($str)
	{
		$str = str_replace('?', '%3F', $str);
		$str = str_replace('=', '%3D', $str);
		$str = str_replace('&', '%26', $str);
		return $str;
	}

	function isYes($str)
	{
		if (strtoupper($str) == 'Y')
			return 'true';
		return 'false';
	}

	function addFlashvar(&$str, $key, $value, $default)
	{
		if (!isset($value) || $value == '' || $value == $default)
			return;
		if (strlen($str) > 0)
			$str .= '&';
		$str .= $key.'='.escapeFlashvar($value);
	}

	function addWMVJSConfig(&$str, $key, $value, $default = false)
	{
		if (!isset($value) || $value == '' || $value === $default)
			return;
		if ($str != '{')
			$str .= ',';
		$str .= $key.': \''.$value.'\'';
	}

	function findCorrectFile($path, &$strWarn, $warning = false)
	{
		if (strpos($path, '://') !== false)
			return $path;
		$DOC_ROOT = $_SERVER["DOCUMENT_ROOT"];
		$path = Rel2Abs("/", $path);
		$path_ = $path;
		//if (!file_exists($DOC_ROOT.$path))
		//	$path = rtrim($GLOBALS['APPLICATION']->GetCurDir(), "/").$path;
		if (!file_exists($DOC_ROOT.$path))
		{
			if ($warning)
				$strWarn .= $warning."<br />";
			$path = $path_;
		}
		return $path;
	}
}

$warning = '';
$arResult["WIDTH"] = intval($arParams['WIDTH']);
if ($arResult["WIDTH"] <= 0)
	$arResult["WIDTH"] = 400;

$arResult["HEIGHT"] = intval($arParams['HEIGHT']);
if ($arResult["HEIGHT"] <= 0)
	$arResult["HEIGHT"] = 300;

$path = findCorrectFile($arParams['PATH'], $warning, GetMessage("INCORRECT_FILE"));
$preview = (strlen($arParams['PREVIEW'])) ? findCorrectFile($arParams['PREVIEW'], $w = '') : '';
$logo = (strlen($arParams['LOGO']) > 0) ? findCorrectFile($arParams['LOGO'], $w = '') : '';

if (intval($arParams['VOLUME']) > 100)
	$arParams['VOLUME'] = 100;
if (intval($arParams['VOLUME']) < 0)
	$arParams['VOLUME'] = 0;
if (isset($arParams['PLAYER_ID']) && strlen($arParams['PLAYER_ID']) > 0)
	$arResult["ID"] = $arParams['PLAYER_ID'];
else
	$arResult["ID"] = "bx_".$player_type."_player_".rand();

if ($player_type == 'flv') // FLASH PLAYER
{
	$fv = '';
	addFlashvar($fv, 'file', $path, null);
	addFlashvar($fv, 'image', $preview, '');
	addFlashvar($fv, 'logo', $logo, '');
	addFlashvar($fv, 'fullscreen', isYes($arParams['FULLSCREEN']), 'false');
	$skin = rtrim($arParams['SKIN_PATH'], "/")."/".$arParams['SKIN'];
	if ($arParams['SKIN'] != '' && $arParams['SKIN'] != 'default' &&
	file_exists($_SERVER["DOCUMENT_ROOT"].$skin) &&
	strtolower(GetFileExtension($arParams['SKIN'])) == 'swf')
		addFlashvar($fv, 'skin', $skin, '');
	addFlashvar($fv, 'controlbar', $arParams['CONTROLBAR'], 'bottom');
	addFlashvar($fv, 'playlist', $arParams['PLAYLIST'], 'none');
	addFlashvar($fv, 'playlistsize', $arParams['PLAYLIST_SIZE'], '180');
	addFlashvar($fv, 'autostart', isYes($arParams['AUTOSTART']), 'false');
	addFlashvar($fv, 'repeat', isYes($arParams['REPEAT']), 'false');
	addFlashvar($fv, 'volume', $arParams['VOLUME'], 90);
	addFlashvar($fv, 'displayclick', $arParams['DISPLAY_CLICK'], 'play');
	addFlashvar($fv, 'mute', isYes($arParams['MUTE']), 'false');
	addFlashvar($fv, 'quality', isYes($arParams['HIGH_QUALITY']), 'true');
	addFlashvar($fv, 'shuffle', isYes($arParams['SHUFFLE']), 'false');
	addFlashvar($fv, 'item', $arParams['START_ITEM'], '0');
	addFlashvar($fv, 'bufferlength', $arParams['BUFFER_LENGTH'], '1');
	addFlashvar($fv, 'link', $arParams['DOWNLOAD_LINK'], '');
	addFlashvar($fv, 'linktarget', $arParams['DOWNLOAD_LINK_TARGET'], '_self');
	addFlashvar($fv, 'abouttext', GetMessage('ABOUT_TEXT'), '');
	addFlashvar($fv, 'aboutlink', GetMessage('ABOUT_LINK'), '');
	if ($arParams['CONTENT_TYPE'])
		addFlashvar($fv, 'type', $arParams['CONTENT_TYPE'], '');
	$arResult["FLASH_VARS"] = $fv;
	//if (!$arParams['CONTROLBAR'] || $arParams['CONTROLBAR'] == 'bottom')
		//$arResult["HEIGHT"] += 24;
	$arResult["WMODE"] = $arParams['WMODE'];
	$arResult["MENU"] = $arParams['HIDE_MENU'] == 'Y' ? 'false' : 'true';
}
else // WMV PLAYER
{
	$conf = "{";
	addWMVJSConfig($conf, 'file', $path, '');
	addWMVJSConfig($conf, 'image', $preview, '');
	addWMVJSConfig($conf, 'logo', $logo, '');
	addWMVJSConfig($conf, 'width', $arResult["WIDTH"], 320);
	addWMVJSConfig($conf, 'height', $arResult["HEIGHT"], 260);
	addWMVJSConfig($conf, 'backcolor', $arParams["CONTROLS_BGCOLOR"], 'FFFFFF');
	addWMVJSConfig($conf, 'frontcolor', $arParams["CONTROLS_COLOR"], '000000');
	addWMVJSConfig($conf, 'lightcolor', $arParams["CONTROLS_OVER_COLOR"], '000000');
	addWMVJSConfig($conf, 'screencolor', $arParams["SCREEN_COLOR"], '000000');
	//addWMVJSConfig($conf, 'showicons', isYes($arParams["SHOWICONS"]), 'true');
	//overstretch (false): Sets how to stretch images/movies to make them fit the display. The default stretches to fit the display. Set this to true to stretch them proportionally to fill the display, fit to stretch them disproportionally and none to keep original dimensions.
	//addWMVJSConfig($conf, 'overstretch', isYes($arParams["KEEP_PROPORTION"]), 'true');
	addWMVJSConfig($conf, 'shownavigation', isYes($arParams["SHOW_CONTROLS"]), 'true');
	addWMVJSConfig($conf, 'showstop', isYes($arParams["SHOW_STOP"]), 'false');
	addWMVJSConfig($conf, 'showdigits', isYes($arParams["SHOW_DIGITS"]), 'true');
	//showdownload (false): Set this to true to show a button in the player controlbar which links to the link flashvar.
	addWMVJSConfig($conf, 'autostart', isYes($arParams["AUTOSTART"]), 'false');
	addWMVJSConfig($conf, 'repeat', isYes($arParams["REPEAT"]), 'false');
	addWMVJSConfig($conf, 'volume', $arParams['VOLUME'], 80);
	addWMVJSConfig($conf, 'bufferlength', $arParams['BUFFER_LENGTH'], 3);
	addWMVJSConfig($conf, 'link', $arParams['DOWNLOAD_LINK'], '');
	addWMVJSConfig($conf, 'linktarget', $arParams['DOWNLOAD_LINK_TARGET'], '_self');
	if ($arParams["WMODE_WMV"] == 'windowless')
	{
		addWMVJSConfig($conf, 'windowless', 'true', '');
		addWMVJSConfig($conf, 'usefullscreen', 'false', '');
	}
	else
	{
		addWMVJSConfig($conf, 'usefullscreen', isYes($arParams["FULLSCREEN"]), 'true');
	}
	//linkfromdisplay (false): Set this to true to make a click on the display result in a jump to the webpage assigned to the link flashvar.
	$conf .= "}";
	$arResult["WMV_CONFIG"] = $conf;
	if ($arParams["SHOW_CONTROLS"] == 'Y')
		$arResult["HEIGHT"] += 20;

	$arResult["USE_JS_PLAYLIST"] = (($arParams["USE_PLAYLIST"] == 'Y'));
	$playlist_conf = false;
	if ($arResult["USE_JS_PLAYLIST"])
	{
		$playlist_conf = '{';
		addWMVJSConfig($playlist_conf, 'format', $arParams['PLAYLIST_TYPE'], 'xspf');
		addWMVJSConfig($playlist_conf, 'size', $arParams['PLAYLIST_SIZE'], '180');
		addWMVJSConfig($playlist_conf, 'image_height', $arParams['PLAYLIST_PREVIEW_HEIGHT'], 48);
		addWMVJSConfig($playlist_conf, 'image_width', $arParams['PLAYLIST_PREVIEW_WIDTH'], 64);
		addWMVJSConfig($playlist_conf, 'position', $arParams['PLAYLIST'] == 'right' ? 'right' : 'bottom', 'right');
		addWMVJSConfig($playlist_conf, 'path', $path, '');
		$playlist_conf .= "}";
	}
	$arResult["PLAYLIST_CONFIG"] = $playlist_conf;
}
$arResult["PLAYER_TYPE"] = $player_type;

if($arParams["USE_PLAYLIST"] == 'Y')
{
	$playlistExists = file_exists($_SERVER["DOCUMENT_ROOT"].$path);
	if (!$playlistExists)
		$warning = GetMessage('INCORRECT_PLAYLIST');

	//Icons
	$bShowIcon = ($USER->IsAuthorized() && ($APPLICATION->GetPublicShowMode() == 'configure' || $APPLICATION->GetPublicShowMode() == 'edit'));
	if ($bShowIcon && strlen($path) > 0)
	{
		$playlist_edit_url = $APPLICATION->GetPopupLink(
			array(
				"URL"=> "/bitrix/components/bitrix/player/player_playlist_edit.php?lang=".LANGUAGE_ID.
					"&site=".SITE_ID."&back_url=".urlencode($_SERVER["REQUEST_URI"]).
					"&path=".urlencode($path)."&contID=".urlencode($arResult["ID"]),
				"PARAMS" => array(
					'width' => '850',
					'height' => '400'
				)
			),
			'playlist' // suffix using instance of JCPopup: jsPopup_playlist
		);
		if (!$playlistExists)
			$warning .= '<br><a href="javascript:'.$playlist_edit_url.'">'.GetMessage("PLAYER_PLAYLIST_ADD").'</a>';
		$arIcons = Array(Array(
			"URL" => 'javascript:'.$playlist_edit_url,
			"ICON" => "playlist-edit",
			"TITLE" => ($playlistExists ? GetMessage("PLAYER_PLAYLIST_EDIT") : GetMessage("PLAYER_PLAYLIST_ADD")),
			"DEFAULT" => $APPLICATION->GetPublicShowMode() == 'edit',
		));
		echo '<script>if (JCPopup) {window.jsPopup_playlist = new JCPopup({suffix: "playlist", zIndex: 2000});}</script>'; // create instance of JCPopup: jsPopup_playlist
		$this->AddIncludeAreaIcons($arIcons);
	}
}

// add scripts
if ($player_type == "flv")
{
	$j = '/bitrix/components/bitrix/player/mediaplayer/flvscript.js';
	$strHead = '<script type="text/javascript" src="'.$j.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$j).'"></script>';
}
else // wmv
{
	$j = '/bitrix/components/bitrix/player/wmvplayer/silverlight.js';
	$strHead = '<script type="text/javascript" src="'.$j.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$j).'"></script>';
	$j = '/bitrix/components/bitrix/player/wmvplayer/wmvplayer.js';
	$strHead .= '<script type="text/javascript" src="'.$j.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$j).'"></script>';

	if ($arResult["USE_JS_PLAYLIST"])
	{
		$strHead .= '<script>var JSMESS = {ClickToPLay : "'.GetMessage('JS_CLICKTOPLAY').'", Link : "'.GetMessage('JS_LINK').'", PlayListError: "'.GetMessage('JS_PLAYLISTERROR').'"};</script>';
		$j = '/bitrix/components/bitrix/player/templates/.default/wmvscript_playlist.js';
		$strHead .= '<script type="text/javascript" src="'.$j.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$j).'"></script>';
		$s = '/bitrix/components/bitrix/player/templates/.default/wmvplaylist.css';
		$strHead .= '<link rel="stylesheet" type="text/css" href="'.$s.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$s).'"></script>';
	}
	else
	{
		$j = '/bitrix/components/bitrix/player/wmvplayer/wmvscript.js';
		$strHead .= '<script type="text/javascript" src="'.$j.'?v='.filemtime($_SERVER['DOCUMENT_ROOT'].$j).'"></script>';
	}
}
$GLOBALS['APPLICATION']->AddHeadString($strHead, true);


if (strlen($warning) > 0)
{
	CComponentUtil::__ShowError($warning);
	return;
}
$this->IncludeComponentTemplate();
?>