AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.117.184.115
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/js/landing/mediaservice/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/js/landing/mediaservice/youtube_mediaservice.js
;(function () {
	"use strict";

	BX.namespace("BX.Landing.MediaService");

	/**
	 * Implements interface for works with Youtube
	 * @inheritDoc
	 */
	BX.Landing.MediaService.Youtube = function (url, settings) {
		BX.Landing.MediaService.BaseMediaService.apply(this, arguments);

		this.matcher = BX.Landing.Utils.Matchers.youtube;
		this.embedURL = "//www.youtube.com/embed/$6";
		this.previewURL = "//img.youtube.com/vi/$6/sddefault.jpg";
		this.loadEmbedInfo();

		this.idPlace = 6;
		this.params = {
			autoplay: 0,
			controls: 1,
			loop: 0,
			mute: 0,
			rel: 0,
			start: 0,
			html5: 1
		};
	};

	/**
	 * Checks that URL is valid Youtube url
	 * @param {string} url
	 * @return {boolean}
	 */
	BX.Landing.MediaService.Youtube.validate = function (url) {
		return BX.Landing.Utils.Matchers.youtube.test(url);
	};

	BX.Landing.MediaService.Youtube.prototype = {
		constructor: BX.Landing.MediaService.Youtube,
		__proto__: BX.Landing.MediaService.BaseMediaService.prototype,

		/**
		 * Gets settings form
		 * @return {BX.Landing.UI.Form.BaseForm}
		 */
		getSettingsForm: function () {
			if (!this.form)
			{
				this.form = new BX.Landing.UI.Form.BaseForm();

				var settings = this.getSettings();

				this.form.addField(
					new BX.Landing.UI.Field.Dropdown({
						title: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_AUTOPLAY"),
						description: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_AUTOPLAY_DESC_NEW"),
						selector: "autoplay",
						content: !this.isBgVideoMode ? parseInt(settings.autoplay) : 1,
						items: [
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_YES"), value: 1},
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_NO"), value: 0},
						],
						onChange: !this.isBgVideoMode ? onAutoplayChange : () => {},
						disabled: this.isBgVideoMode,
					})
				);

				function onAutoplayChange(value) {
					if (value === 1)
					{
						muteField.setValue(1);
						muteField.disable();
						if (!muteField.descriptionText)
						{
							muteField.setDescription(
								BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_SOUND_ALERT")
							);
						}
					}
					else if (value === 0)
					{
						muteField.removeDescription();
						muteField.enable();
						muteField.setValue(0);
					}
				}

				var muteField = new BX.Landing.UI.Field.Dropdown({
					title: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_SOUND"),
					selector: "mute",
					content: !this.isBgVideoMode ? parseInt(settings.mute) : 1,
					items: [
						{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_YES"), value: 0},
						{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_NO"), value: 1}
					],
					disabled: this.isBgVideoMode,
				});
				this.form.addField(muteField);

				this.form.addField(
					new BX.Landing.UI.Field.Dropdown({
						title: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_CONTROLS"),
						selector: "controls",
						content: !this.isBgVideoMode ? parseInt(settings.controls) : 0,
						items: [
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_YES"), value: 1},
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_NO"), value: 0}
						],
						disabled: this.isBgVideoMode,
					})
				);

				this.form.addField(
					new BX.Landing.UI.Field.Dropdown({
						title: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_LOOP"),
						selector: "loop",
						content: !this.isBgVideoMode ? parseInt(settings.loop) : 1,
						items: [
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_YES"), value: 1},
							{name: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_NO"), value: 0}
						],
						disabled: this.isBgVideoMode,
					})
				);

				var start = new BX.Landing.UI.Field.Unit({
					title: BX.Landing.Loc.getMessage("LANDING_CONTENT_URL_MEDIA_START"),
					selector: "start",
					unit: BX.Landing.Loc.getMessage("LANDING_CONTENT_MEDIA_SECONDS_SHORT"),
					content: parseInt(settings.start),
					placeholder: "40"
				});
				this.form.addField(start);

				// first autoplay and mute init
				if (!this.isBgVideoMode)
				{
					onAutoplayChange(parseInt(settings.autoplay));
				}
			}

			return this.form;
		},

		loadEmbedInfo: function() {
			const oembedUrl = 'https://www.youtube.com/oembed?format=json&url=' + this.url;
			BX.ajax({
				url: oembedUrl,
				method: 'GET',
				dataType: 'json',
				onsuccess: result => {
					if (
						result.height && result.width
						&& result.height > result.width
					)
					{
						this.isVertical = true;
					}

					if (result.thumbnail_url)
					{
						this.previewURL = result.thumbnail_url;
					}
				},
			});


		},
	};
})();

Anon7 - 2022
AnonSec Team