<commit_before>if (typeof zJS == "undefined") {
    zJS = {};
}

if (typeof zJS.Page == "undefined") {
    zJS.Page = {};
}

//Запускает все функции советника дипломатии
function startAllFunctions(){
	makeActiveLinks();
	addMembersTab();
	changeTabsText();
}

//Изменение названий закладок
function changeTabsText(){
	var tabs = ['.tab_diplomacyAdvisor', '.tab_diplomacyIslandBoard', '.tab_diplomacyTreaty', '.tab_diplomacyAlly'];
	var vals = [zJS.Lang.Messages, zJS.Lang.Agora, zJS.Lang.Treaty, zJS.Lang.Alliance];
	for(var i = 0; i < 4; i++){
		var tab = $(tabs[i])[0].innerText;
		console.log(tab);
		var oldTab = tab;
		tab = tab.substring(tab.indexOf('('), tab.length);
		if(tab == oldTab) tab = '';
		console.log(tab);
		$(tabs[i])[0].innerText = vals[i] + " " + tab;
	}
}

//Создание активных ссылок
function makeActiveLinks(){
	var temp=[], i=0;

	$('tr:not(.globalmessage) td.msgText a:not(.button)').each(function(){//Удалить с активных линков ссылки, чтобы предотвратить повторное создание
		temp[i]=$(this).attr('href');
		$(this).attr('href', '');
		$(this).text('');
		i++;
	});


	$('tr:not(.globalmessage) td.msgText').each(function(){
		this.innerHTML = this.innerHTML.replace(/<br>/gi, " $&"); //На случай если тег стоит сразу после ссылки, а такое часто бывает
		
		//URLs начинающиеся с http://, https://
		var replacePattern1 = /(\b(https?):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig;
		this.innerHTML = this.innerHTML.replace(replacePattern1, '<a href="$1" target="_blank">$1</a>');
 
		//URLs начинающиеся с "www."
		var replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
		this.innerHTML = this.innerHTML.replace(replacePattern2, '$1<a href="http://$2" target="_blank">$2</a>');
	});


	i=0;
	$('tr:not(.globalmessage) td.msgText a:not(.button)').each(function(){//Возвращаем на место ссылки и делаем их снова активными
		$(this).attr('href', temp[i]);
		$(this).text(temp[i]);
		i++;
	});
}

//Добавление вкладки со списком игроков альянса
function addMembersTab(){
	$('#js_tab_diplomacyMembers').remove();
	var tabOnClick = "ajaxHandlerCall('?view=diplomacyAlly&listAllyMembers=1'); return false;"
	var allyTab = $('<li class="tab" id="js_tab_diplomacyMembers" onclick="' + tabOnClick + '"><b class="tab_diplomacyMembers">' + zJS.Lang.Ally_members + '</b></li>');
	$('ul.tabmenu').css('table-layout', 'inherit');
	$('ul.tabmenu').append(allyTab);
	if($('table#allyMemberList')[0] != null){
		var tabmenu = $('ul.tabmenu');
		$('li', tabmenu).each(function(){
			$(this).removeClass('selected');
			if(this.id == "js_tab_diplomacyAlly"){
				this.id = "js_tab_diplomacyAllyNotSelected"; //Небольшая хитрость чтобы вкладка не перепрыгивала во время переключения страниц
			}
		});
		$('li#js_tab_diplomacyMembers').addClass('selected');
	}
}

zJS.Page.diplomacyAdvisor = {
    init : function() {<commit_msg>Исправлено: ссылки (быстрее работает, меньше действий) Добавлено: ссылки с расширением (.jpg, .jpeg .png, .gif) преобразуются в картинки<commit_after>if (typeof zJS == "undefined") {
    zJS = {};
}

if (typeof zJS.Page == "undefined") {
    zJS.Page = {};
}

//Запускает все функции советника дипломатии
function startAllFunctions(){
	makeActiveLinks();
	addMembersTab();
	changeTabsText();
}

//Изменение названий закладок
function changeTabsText(){
	var tabs = ['.tab_diplomacyAdvisor', '.tab_diplomacyIslandBoard', '.tab_diplomacyTreaty', '.tab_diplomacyAlly'];
	var vals = [zJS.Lang.Messages, zJS.Lang.Agora, zJS.Lang.Treaty, zJS.Lang.Alliance];
	for(var i = 0; i < 4; i++){
		var tab = $(tabs[i])[0].innerText;
		console.log(tab);
		var oldTab = tab;
		tab = tab.substring(tab.indexOf('('), tab.length);
		if(tab == oldTab) tab = '';
		console.log(tab);
		$(tabs[i])[0].innerText = vals[i] + " " + tab;
	}
}

//Создание активных ссылок
function makeActiveLinks(){

	$('tr:not(.globalmessage) td.msgText:not(.IkaEasy_links_completed)').each(function(){
		this.innerHTML = this.innerHTML.replace(/<br>/gi, " $&"); //На случай если тег стоит сразу после ссылки, а такое часто бывает
		
		//URLs начинающиеся с http://, https://
		var __urlRegex = /(\b(https?):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig;
		//URLs начинающиеся с "www."
		var __urlRegex_www = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
		//IMGs url
		var __imgRegex = /\.(?:jpe?g|gif|png)$/i;

		var exp = __urlRegex;
    	this.innerHTML = this.innerHTML.replace(exp,function(match){
            __imgRegex.lastIndex=0;
            if(__imgRegex.test(match)){
                return '<a href="'+match+'" target="_blank" class="IkaEasy_msg_img"><img src="'+match+'" /></a>';
            }
            else{
                return '<a href="'+match+'" target="_blank">'+match+'</a>';
            }
        }
    );
 
		this.innerHTML = this.innerHTML.replace(__urlRegex_www, '$1<a href="http://$2" target="_blank">$2</a>');
		$(this).addClass('IkaEasy_links_completed');
	});
}

//Добавление вкладки со списком игроков альянса
function addMembersTab(){
	$('#js_tab_diplomacyMembers').remove();
	var tabOnClick = "ajaxHandlerCall('?view=diplomacyAlly&listAllyMembers=1'); return false;"
	var allyTab = $('<li class="tab" id="js_tab_diplomacyMembers" onclick="' + tabOnClick + '"><b class="tab_diplomacyMembers">' + zJS.Lang.Ally_members + '</b></li>');
	$('ul.tabmenu').css('table-layout', 'inherit');
	$('ul.tabmenu').append(allyTab);
	if($('table#allyMemberList')[0] != null){
		var tabmenu = $('ul.tabmenu');
		$('li', tabmenu).each(function(){
			$(this).removeClass('selected');
			if(this.id == "js_tab_diplomacyAlly"){
				this.id = "js_tab_diplomacyAllyNotSelected"; //Небольшая хитрость чтобы вкладка не перепрыгивала во время переключения страниц
			}
		});
		$('li#js_tab_diplomacyMembers').addClass('selected');
	}
}

zJS.Page.diplomacyAdvisor = {
    init : function() {
{'fraction_non_alphanumeric': 0.2134502923976608, 'fraction_numerical': 0.006019951840385277, 'mean_word_length': 4.449859418931584, 'pattern_counts': {'":': 0, '<': 26, '<?xml version=': 0, '>': 24, 'https://': 2, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4592136', 'n_tokens_mistral': 2357, 'n_tokens_neox': 2401, 'n_words': 390}