29 января 2024 Нет комментариев
document.addEventListener("DOMContentLoaded",function(event){
	var ga_cookie=document.cookie.match(new RegExp('(^| )_ga=([^;]+)'));
	if(ga_cookie[2]){
		var ga_cookie_split=ga_cookie[2].split(".");
		var ga_cid=ga_cookie_split[2]+'.'+ga_cookie_split[3];
		var get_params=new Array('utm_source','utm_medium','utm_campaign','utm_content','utm_term');
		var params=new URLSearchParams(location.search);
		var links=document.getElementsByTagName("a");
		for(i=0;i<links.length;i++){
			var href=links[i].href;
			if(href.includes(document.domain)&&!(href.includes('#'))){
				get_params.forEach((get_param)=>{
					if(params.has(get_param)){
						href+=(href.includes('?'))?"&":"?";
						href+=get_param+"="+params.get(get_param);
					}
				})
				href+=(href.includes('?'))?"&":"?";
				href+="ga_cid="+ga_cid;
				links[i].href=href;
			}
		}
		var regex=new RegExp("([?;&])ga_cid[^&;]*[;&]?");
		var query=location.search.replace(regex,"$1").replace(/&$/,'');
		var search_param=(query.length>2?query+"&":"?")+(ga_cid?'ga_cid'+"="+ga_cid:'');
		var newurl=window.location.pathname+search_param;
		window.history.pushState({path:newurl},'',newurl);
	}
});
Categories: Javascript Tags:
18 декабря 2023 Нет комментариев

Для работы сайта на 2 доменах одновременно без переадресации в wp-config.php

if($_SERVER['HTTP_HOST']=='krylov.eu.org'){
	define('WP_SITEURL','https://krylov.eu.org');
	define('WP_HOME','https://krylov.eu.org');
}
else{
	define('WP_SITEURL','https://krylov.org.ua');
	define('WP_HOME','https://krylov.org.ua');
}
Categories: PHP Tags:
22 ноября 2023 Нет комментариев
document.addEventListener('wpcf7mailsent',function(event){
window.dataLayer.push({
	"event":"form_sent",
	"formId":event.detail.contactFormId,
	"response":event.detail.inputs
});
console.log("form_sent");
});
Categories: Javascript Tags:
9 ноября 2023 Нет комментариев
function gen_string(length){
	let result='';
	const characters='ABCDEFGHJKMNPQRSTUVWXYZ23456789';
	const charactersLength=characters.length;
	let counter=0;
	while(counter<length){
		result+=characters.charAt(Math.floor(Math.random()*charactersLength));
		counter+=1;
	}
	return result;
}

Использование:

$(document).ready(function(){
	$('.gen i').on('click',function(){
		var str=gen_string(5);
		$(this).closest('.gen').find('input').val(str);
	});
});
Categories: Javascript Tags:
7 ноября 2023 Нет комментариев
$(window).scroll(function(){
	if($(window).scrollTop()+$(window).height()==$(document).height()){
		console.log("bottom");
	}
});
$(window).scroll(function(){
	if($(window).scrollTop()+$(window).height()>$(document).height()-100){
		console.log("near bottom");
	}
});
Categories: Javascript Tags:
25 октября 2023 Нет комментариев
$(document).ready(function(){
	$('.nav .dd ul li').hover(function(){
		var mh=0;
		$('.nav .dd ul').each(function(){mh=Math.max(mh,$(this).outerHeight());});
		$('.dd').css('min-height',mh+'px');
	});
});
Categories: Javascript Tags:
20 октября 2023 Нет комментариев

RSA-подпись SHA-512 hash от строки $text
Алгоритм создания и проверки подписи: SHA512withRSA

$private_key='<<<EOD
-----BEGIN RSA PRIVATE KEY-----
'.PRIVATE_KEY.'
-----END RSA PRIVATE KEY-----
EOD';
$signature='';
openssl_sign($text,$signature,$private_key,'SHA512');
$data=array(
	'signature'=>base64_encode($signature),
);
Categories: PHP Tags: