From b539e0086cf7c9936408dfa51dc70acaadb857c3 Mon Sep 17 00:00:00 2001 From: merelendor Date: Thu, 8 Sep 2022 14:23:22 +0300 Subject: [PATCH] vizitka --- api/index.php | 23 ++ cron/yasprav.log | 2 +- .../evolution/vizitka/component.php | 116 +++++++++ .../vizitka/templates/.default/script.js | 186 +++++++++++++++ .../vizitka/templates/.default/style.css | 37 +++ .../vizitka/templates/.default/template.php | 84 +++++++ local/users_to_clients.php | 113 +++++++++ mailru-domain4Ghb7ZTpPY5uXUCS.html | 1 + vizitka/aepifanov_200.jpg | Bin 11446 -> 0 bytes vizitka/boston.jpg | Bin 44364 -> 0 bytes vizitka/data.json | 13 -- vizitka/index.php | 220 ++---------------- 12 files changed, 574 insertions(+), 221 deletions(-) create mode 100644 local/components/evolution/vizitka/component.php create mode 100644 local/components/evolution/vizitka/templates/.default/script.js create mode 100644 local/components/evolution/vizitka/templates/.default/style.css create mode 100644 local/components/evolution/vizitka/templates/.default/template.php create mode 100644 local/users_to_clients.php create mode 100644 mailru-domain4Ghb7ZTpPY5uXUCS.html delete mode 100644 vizitka/aepifanov_200.jpg delete mode 100644 vizitka/boston.jpg delete mode 100644 vizitka/data.json diff --git a/api/index.php b/api/index.php index ec32580..a136e35 100644 --- a/api/index.php +++ b/api/index.php @@ -1260,6 +1260,29 @@ switch($PARAM_1) } break; + case "vizitka": + { + //define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/vizitka/tmp/log.txt"); + //AddMessage2Log("_REQUEST['guid'] => ".$_REQUEST['guid'], "my_module_id"); + + $c = curl_init(); + curl_setopt($c, CURLOPT_URL, API_HOST."/site/GetUserBusinessCard/?guid=".$_REQUEST['guid']); + curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 30); + curl_setopt($c, CURLOPT_TIMEOUT, 30); + curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($c, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); + + $response = curl_exec($c) or die(curl_error($c)); + + curl_close($c); + print $response; + + die(); + } + break; + default: { print json_encode([]); diff --git a/cron/yasprav.log b/cron/yasprav.log index 0811676..800a0a6 100644 --- a/cron/yasprav.log +++ b/cron/yasprav.log @@ -1 +1 @@ -
1 => MO1
2 => SP1
3 => BN1
4 => BG1
5 => VL1
6 => VR1
7 => EK1
8 => IR1
9 => KZ1
10 => KG1
11 => KL1
12 => KM1
13 => KR1
14 => KS2
15 => KS1
16 => LP1
17 => NC1
18 => NN1
19 => NV1
20 => NR1
21 => NS1
22 => OM1
23 => OR1
24 => PR1
25 => RD1
26 => RZ1
27 => SM1
28 => SR1
29 => SC1
30 => SK1
31 => ST1
32 => SG1
33 => TL1
34 => TM1
35 => UF1
36 => CB1
37 => CL1
38 => YR1
Ok! Сохранено по ссылке! 29.08.2022
\ No newline at end of file
+
1 => MO1
2 => SP1
3 => BN1
4 => BG1
5 => VL1
6 => VR1
7 => EK1
8 => IR1
9 => KZ1
10 => KG1
11 => KL1
12 => KM1
13 => KR1
14 => KS2
15 => KS1
16 => LP1
17 => NC1
18 => NN1
19 => NV1
20 => NR1
21 => NS1
22 => OM1
23 => OR1
24 => PR1
25 => RD1
26 => RZ1
27 => SM1
28 => SR1
29 => SC1
30 => SK1
31 => ST1
32 => SG1
33 => TL1
34 => TU1
35 => TM1
36 => UF1
37 => CB1
38 => CL1
39 => YR1
Ok! Сохранено по ссылке! 08.09.2022
\ No newline at end of file
diff --git a/local/components/evolution/vizitka/component.php b/local/components/evolution/vizitka/component.php
new file mode 100644
index 0000000..afac3f4
--- /dev/null
+++ b/local/components/evolution/vizitka/component.php
@@ -0,0 +1,116 @@
+ ".print_r($object, true)."\narParams => ".print_r($arParams, true), "my_module_id");
+		
+	//$ourData = file_get_contents($_SERVER["DOCUMENT_ROOT"]."/vizitka/data.json");
+	//$object = json_decode($ourData);
+		
+	//Очищаем временную директорию от файлоы старше 2 дней
+	$tmpfolders = $_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/';
+	$fileSystemIterator = new FilesystemIterator($tmpfolders);
+	$now = time();
+	foreach ($fileSystemIterator as $file) {
+		if ($now - $file->getCTime() >= 60 * 60 * 24 * 2) // 2 days 
+			unlink($tmpfolders.$file->getFilename());
+	}
+
+	//Разбираем данные из json
+	//if ($arParams["guid"] & $object->firstName) {
+	if ($object->firstName) {
+		$arParams["name"] = $object->firstName;
+		$arParams["family"] = $object->secondName;
+		$arParams["post"] = $object->post;
+		$arParams["dept"] = $object->department;
+		$arParams["company"] = "Эволюция Автолизинга";
+		$arParams["mob"] = $object->mobilePhone;
+		$arParams["mobcl"] = preg_replace('/[^0-9]/', '', $arParams["mob"]);
+		$arParams["tel"] = $object->workPhone;
+		$arParams["telcl"] = preg_replace('/[^0-9]/', '', $arParams["tel"]);
+		$arParams["teladd"] = $object->workPhoneCode;
+		$arParams["mail"] = $object->email;
+		$arParams["address"] = $object->address;
+		$arParams["whatsapp"] = $object->whatsAppOn;
+		$arParams["telegram"] = $object->telegram;
+		$arParams["www"] = "https://www.evoleasing.ru";
+		$arParams["image"] = $object->image;
+	
+//VCF для QR кода
+$qrtext	= 'BEGIN:VCARD
+VERSION:4.0
+N;CHARSET=UTF-8:'.$arParams["family"].';'.$arParams["name"].';;;
+FN;CHARSET=UTF-8:'.$arParams["name"].' '.$arParams["family"].'
+TITLE;CHARSET=UTF-8:'.$arParams["post"].'
+EMAIL:'.$arParams["mail"].'
+ORG;CHARSET=UTF-8:'.$arParams["company"].';'.$arParams["dept"].'
+TEL;type=CELL:'.$arParams["mob"].'
+URL;type=PREF:'.$arParams["www"].'
+LANG:ru-RU
+END:VCARD';
+	
+$qrimg = QRcode::png($qrtext, $_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/'.$arParams["guid"].'.png', 'L', 3, 2);
+//$im = imagecreatefrompng($_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/'.$arParams["guid"].'.png');
+	
+//Формируем vcf файл визитки для телефонов
+$arParams["vcarddata"] = 'BEGIN:VCARD
+VERSION:4.0
+N;CHARSET=UTF-8:'.$arParams["family"].';'.$arParams["name"].';;;
+FN;CHARSET=UTF-8:'.$arParams["name"].' '.$arParams["family"].'
+TITLE;CHARSET=UTF-8:'.$arParams["post"].'
+EMAIL:'.$arParams["mail"].'
+ORG;CHARSET=UTF-8:'.$arParams["company"].';'.$arParams["dept"].'
+TEL;type=CELL:'.$arParams["mob"].'
+URL;type=PREF:'.$arParams["www"].'
+PHOTO;ENCODING=BASE64;TYPE=JPEG:'.$arParams["image"].'
+LANG:ru-RU
+END:VCARD';
+$arParams["vcarddata"] = mb_convert_encoding($arParams["vcarddata"], "UTF-8");
+	
+	$arParams["vcffile"] = './tmp/'.$arParams["guid"].'.vcf';
+	$fp = fopen($arParams["vcffile"], "w");
+	fwrite($fp, $arParams["vcarddata"]);
+	fclose($fp);
+	
+//Формируем vcf файл визитки для компьютера
+$arParams["vcarddatawin"] = 'BEGIN:VCARD
+VERSION:4.0
+N;CHARSET=windows-1252:'.$arParams["family"].';'.$arParams["name"].';;;
+FN;CHARSET=windows-1252:'.$arParams["name"].' '.$arParams["family"].'
+TITLE;CHARSET=windows-1252:'.$arParams["post"].'
+EMAIL:'.$arParams["mail"].'
+ORG;CHARSET=windows-1252:'.$arParams["company"].';'.$arParams["dept"].'
+TEL;type=CELL:'.$arParams["mob"].'
+URL;type=PREF:'.$arParams["www"].'
+PHOTO;ENCODING=BASE64;TYPE=JPEG:'.$arParams["image"] .'
+LANG:ru-RU
+END:VCARD';
+	
+$arParams["vcarddatawin"] = iconv("utf-8", "windows-1251", $arParams["vcarddatawin"]);
+	
+	$arParams["vcffilewin"] = './tmp/'.$arParams["guid"].'-win.vcf';
+	$fp = fopen($arParams["vcffilewin"], "w");
+	fwrite($fp, $arParams["vcarddatawin"]);
+	fclose($fp);
+	
+}
+$this->IncludeComponentTemplate();
\ No newline at end of file
diff --git a/local/components/evolution/vizitka/templates/.default/script.js b/local/components/evolution/vizitka/templates/.default/script.js
new file mode 100644
index 0000000..4f9d9d4
--- /dev/null
+++ b/local/components/evolution/vizitka/templates/.default/script.js
@@ -0,0 +1,186 @@
+var calculation = { car_price: 0, CAR_PRICE_MIN: 0, CAR_PRICE_MAX:0, initial_payment: 0, lease_period: 0, monthly_payment: 0, redemption_payment: 0, tax_savings: 0, vat_reimbursement: 0 };
+
+function calculator(props)
+{
+	for(let i in calculation)
+	{
+		calculation[i] = parseInt(props[i], 10);
+	}
+
+	$("#FORM_FIELD_PRICE").val(calculation.car_price);
+	$("#FORM_FIELD_PREPAID").val(calculation.initial_payment);
+	$("#FORM_FIELD_TERM").val(calculation.lease_period);
+	$("#FORM_FIELD_REDEMPTION").val(calculation.redemption_payment);
+}
+
+function calculate(param, value)
+{
+	if(param !== undefined)
+	{
+		calculation[param] = value;
+	}
+
+	$("#FORM_FIELD_PRICE").val(calculation.car_price);
+	$("#FORM_FIELD_PREPAID").val(calculation.initial_payment);
+	$("#FORM_FIELD_TERM").val(calculation.lease_period);
+	$("#FORM_FIELD_REDEMPTION").val(calculation.redemption_payment);
+
+	$.post("/api/calculation/", 
+	{
+		car_price: calculation.car_price, 
+		initial_payment: calculation.initial_payment, 
+		lease_period: calculation.lease_period, 
+		redemption_payment: calculation.redemption_payment, 	
+	}, function(response)
+	{
+		for(let i in response)
+		{ calculation[i] = parseInt(response[i], 10); }
+
+		$("#calculator_monthly_payment_value").text(calculation['monthly_payment'].toLocaleString());
+		$("#calculator_tax_savings_value").text((calculation['tax_savings'] + calculation['vat_reimbursement']).toLocaleString());
+		$("#calculator_tax_savings_percent").text(Math.round((calculation['tax_savings']+calculation['vat_reimbursement']) / (calculation['car_price'] / 100)));
+	}, "json");
+}
+
+function calculator_car_price_save()
+{
+	var v = parseInt($("#calculator_car_price_input").val(), 10);
+	console.log(v, calculation['CAR_PRICE_MIN'], calculation['CAR_PRICE_MAX']);
+	if(v >= calculation['CAR_PRICE_MIN'] && v <= calculation['CAR_PRICE_MAX'])
+	{
+		var $input_range_car_price = $(`#calculation_car_price`);
+		$input_range_car_price.val(v).change();
+		calculate('car_price', v);
+
+		$("#calculator_car_price_text").show();
+		$("#calculator_car_price_editor").hide();
+	}
+	else
+	{
+		$("#calculator_car_price_text").show();
+		$("#calculator_car_price_editor").hide();
+	}
+}
+
+$(function()
+{
+	var $document = $(document);
+	var selector = '[data-rangeslider]';
+	var $element = $(selector);
+
+	// For ie8 support
+	var textContent = ('textContent' in document) ? 'textContent' : 'innerText';
+
+	// Example functionality to demonstrate a value feedback
+	function valueOutput(element) 
+	{
+		var value = element.value;
+		var output = element.parentNode.getElementsByTagName('output')[0] || element.parentNode.parentNode.getElementsByTagName('output')[0];
+		if($(element).data('slider-name') === "car_price")
+		{
+			output[textContent] = parseInt(value, 10).toLocaleString();
+		}
+		else
+		{
+			output[textContent] = value;
+		}
+	}
+
+	$document.on('input', 'input[type="range"], ' + selector, function(e) 
+	{
+		valueOutput(e.target);
+	});
+
+	// Example functionality to demonstrate disabled functionality
+	$document.on('click', '#js-example-disabled button[data-behaviour="toggle"]', function(e) 
+	{
+		var $inputRange = $(selector, e.target.parentNode);
+
+		if ($inputRange[0].disabled) {
+			$inputRange.prop("disabled", false);
+		}
+		else {
+			$inputRange.prop("disabled", true);
+		}
+		$inputRange.rangeslider('update');
+	});
+
+	// Example functionality to demonstrate programmatic value changes
+	$document.on('click', '#js-example-change-value button', function(e) {
+		var $inputRange = $(selector, e.target.parentNode);
+		var value = $('input[type="number"]', e.target.parentNode)[0].value;
+
+		$inputRange.val(value).change();
+	});
+
+	// Example functionality to demonstrate programmatic attribute changes
+	$document.on('click', '#js-example-change-attributes button', function(e) 
+	{
+		var $inputRange = $(selector, e.target.parentNode);
+		var attributes = {
+			min: $('input[name="min"]', e.target.parentNode)[0].value,
+			max: $('input[name="max"]', e.target.parentNode)[0].value,
+			step: $('input[name="step"]', e.target.parentNode)[0].value
+		};
+
+		$inputRange.attr(attributes);
+		$inputRange.rangeslider('update', true);
+	});
+
+	// Example functionality to demonstrate destroy functionality
+	$document
+	.on('click', '#js-example-destroy button[data-behaviour="destroy"]', function(e) {
+		$(selector, e.target.parentNode).rangeslider('destroy');
+	})
+	.on('click', '#js-example-destroy button[data-behaviour="initialize"]', function(e) {
+		$(selector, e.target.parentNode).rangeslider({ polyfill: false });
+	});
+
+	// Example functionality to test initialisation on hidden elements
+	$document.on('click', '#js-example-hidden button[data-behaviour="toggle"]', function(e) {
+		var $container = $(e.target.previousElementSibling);
+		$container.toggle();
+	});
+
+	// Basic rangeslider initialization
+	$element.rangeslider({
+		// Deactivate the feature detection
+		polyfill: false,
+		// Callback function
+		onInit: function() {
+			valueOutput(this.$element[0]);
+		},
+		// Callback function
+		onSlide: function(position, value) {
+			//console.log('onSlide');
+			//console.log('position: ' + position, 'value: ' + value);
+		},
+		// Callback function
+		onSlideEnd: function(position, value) 
+		{
+			calculate(this.$element.attr('data-slider-name'), value);
+			//console.log('position: ' + position, 'value: ' + value);
+		}
+	});
+
+	$("#calculator_car_price_text").on("click", function()
+	{
+		$("#calculator_car_price_input").val(parseInt(calculation.car_price, 10));
+		$("#calculator_car_price_text").hide();
+		$("#calculator_car_price_editor").show();
+	});
+
+	$("#calculator_car_price_save").on("click", function()
+	{
+		calculator_car_price_save();
+	});
+
+	$("#calculator_car_price_input").on("keydown", function(event)
+	{
+		if(event.keyCode === 13)
+		{
+			event.preventDefault();
+			calculator_car_price_save();
+		}
+	});
+});
\ No newline at end of file
diff --git a/local/components/evolution/vizitka/templates/.default/style.css b/local/components/evolution/vizitka/templates/.default/style.css
new file mode 100644
index 0000000..fc32ba4
--- /dev/null
+++ b/local/components/evolution/vizitka/templates/.default/style.css
@@ -0,0 +1,37 @@
+.offer_item_boston {
+    width: auto !important;
+    padding-bottom: 30px;
+    position: relative;
+}
+.offer_item_boston img{
+    border-radius: 50%;
+}
+.offer_item {
+    width: auto !important;
+    padding-left: 0 !important;
+    padding-right: 20px;
+}
+.leasing_offers_list {
+    margin-top: 30px !important;
+}
+.offer_item .qrimage {
+    position: relative !important;
+    width: auto !important;
+    height: auto !important;
+}
+.offer_item .vcfbutton {
+    background-color: #1c01a9;
+    color: #fff;
+    padding: 5px 15px;
+    width: fit-content;
+    font-weight: bold;
+}
+.messenger {
+    position: relative !important;
+    width: 30px;
+    height: 30px;
+    vertical-align: bottom;
+}
+.withoutform {
+    margin-top: 40px;
+}
\ No newline at end of file
diff --git a/local/components/evolution/vizitka/templates/.default/template.php b/local/components/evolution/vizitka/templates/.default/template.php
new file mode 100644
index 0000000..ecb2383
--- /dev/null
+++ b/local/components/evolution/vizitka/templates/.default/template.php
@@ -0,0 +1,84 @@
+setFrameMode(true);
+?>
+
+
+ +
+
+

+

+

+
+
+ + " alt="" /> + + + +
+ +
+

+ Сохраните контакт на телефон +

+ .png" /> +
+
+
+ +
+
+
+
+

+ Упс! Такой
визитки
не существует
+

+
+
+

+ Просто позвоните
по номеру
8 800 333 75 75
+

+
+
+

+ или отправьте
заявку на лизинг
из формы ниже
+

+
+
+
+
+ + \ No newline at end of file diff --git a/local/users_to_clients.php b/local/users_to_clients.php new file mode 100644 index 0000000..e3be2ce --- /dev/null +++ b/local/users_to_clients.php @@ -0,0 +1,113 @@ + 'asc' ], 'desc', [], [ "SELECT" => [ "UF_*" ] ]); +while($user = $users_res->Fetch()) +{ + print "user_id = ".$user['ID']."\n"; + + if($user['ID'] != 1) + { + $user_properties = [ + 'COMPANY' => $user['UF_ORG_TITLE'], + 'INN' => $user['UF_INN'], + 'KPP' => $user['UF_KPP'], + 'OGRN' => $user['UF_UF_OGRN'], + 'ADMINS' => [ $user['ID'] ], + 'USERS' => [ $user['ID'] ], + ]; + + $ar_new_client = [ + 'IBLOCK_ID' => IBLOCK_ID_CLIENTS, + 'NAME' => $user['UF_ORG_TITLE'], + 'CODE' => $user['XML_ID'], + 'PROPERTY_VALUES' => $user_properties, + 'ACTIVE' => 'Y', // активен + ]; + + $new_client = new CIBlockElement; + if($new_client_id = $new_client->Add($ar_new_client)) + { + print "New ID: ".$new_client_id."\n\n"; + } + else + { + print "Error: ".$new_client->LAST_ERROR."\n\n"; + print "EXISTED USER: \n\n"; + + $existed_client_res = CIBlockElement::GetList([ 'id' => 'desc' ], [ 'IBLOCK_ID' => IBLOCK_ID_CLIENTS, 'CODE' => $user['XML_ID'] ], false, []); + while ($existed_client_element = $existed_client_res->GetNextElement()) + { + $existed_client_record = $existed_client_element->GetFields(); + $existed_client_record['PROPERTIES'] = $existed_client_element->GetProperties(); + + $admins = $existed_client_record['PROPERTIES']['ADMINS']['VALUE']; + $users = $existed_client_record['PROPERTIES']['USERS']['VALUE']; + + array_push($admins, $user['ID']); + array_push($users, $user['ID']); + + $admins = array_unique($admins); + $users = array_unique($users); + + $updated_fields = [ + 'PROPERTY_VALUES' => [ + 'ADMINS' => $admins, + 'USERS' => $users, + ] + ]; + + CIBlockElement::SetPropertyValuesEx($existed_client_record['ID'], IBLOCK_ID_CLIENTS, [ 'ADMINS' => $admins, 'USERS' => $users, ]); + print $existed_client_record['CODE']." UPDATED\n\n"; + + /* + if($ai = array_search(20, $admins)) + { + array_splice($admins, $ai, 1); + } + + if($ai = array_search(20, $users)) + { + array_splice($users, $ai, 1); + } + */ + /* + $updated_client = new CIBlockElement; + if($updated_client_result = $updated_client->Update($existed_client_record['ID'], $updated_fields)) + { + print "UPDATED\n\n"; + } + else + { + print "UPDATE ERROR: ".$updated_client->LAST_ERROR."\n\n"; + } + */ + + //print_r($existed_client_record); + } + } + + /* + $rules_res = CIBlockElement::GetList([ 'id' => 'desc' ], [ 'PROPERTY_USER.' => '' ], false, $options); + while ($rules_ob_element = $rules_res->GetNextElement()) + { + $rules_ar_res = $rules_ob_element->GetFields(); + $rules_ar_res['PROPERTIES'] = $rules_ob_element->GetProperties(); + } + */ + } +} + +die(); + +?> \ No newline at end of file diff --git a/mailru-domain4Ghb7ZTpPY5uXUCS.html b/mailru-domain4Ghb7ZTpPY5uXUCS.html new file mode 100644 index 0000000..d42c10b --- /dev/null +++ b/mailru-domain4Ghb7ZTpPY5uXUCS.html @@ -0,0 +1 @@ +mailru-domain: 4Ghb7ZTpPY5uXUCS \ No newline at end of file diff --git a/vizitka/aepifanov_200.jpg b/vizitka/aepifanov_200.jpg deleted file mode 100644 index ee51753901f3d4d4a410b17afe001b2e8ffca029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11446 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 diff --git a/vizitka/boston.jpg b/vizitka/boston.jpg deleted file mode 100644 index 63229a5bf8b4235c3df556fa8433cea07b4f4cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44364 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 diff --git a/vizitka/data.json b/vizitka/data.json deleted file mode 100644 index f092007..0000000 --- a/vizitka/data.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "fullName": "Анатолий Епифанов", - "post": "Начальник отдела технической поддержки", - "department": "Управление информационных технологий", - "image": "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", - "mobilePhone": "+7 926 566-0330", - "workPhone": "+7 495 146-6767", - "workPhoneCode": "доб. 11902", - "email": "aepifanov@evoleasing.ru", - "address": "115201, г. Москва, ул. Котляковская, д. 8", - "whatsAppOn": true, - "telegram": "verytolik" -} \ No newline at end of file diff --git a/vizitka/index.php b/vizitka/index.php index 55219c3..e14f7a8 100644 --- a/vizitka/index.php +++ b/vizitka/index.php @@ -1,224 +1,30 @@ SetTitle("Эволюция автолизинга: Приятно познакомиться"); -require_once($_SERVER["DOCUMENT_ROOT"].'/bitrix/php_interface/phpqrcode/qrlib.php'); ?> - +getRequest(); $request->getQueryList()->toArray(); -$guid = $request->get("userid"); +$guid = $request->get("user"); -$ourData = file_get_contents("data.json"); -$object = json_decode($ourData); +$APPLICATION->IncludeComponent( + "evolution:vizitka", + "", + Array( + "guid" => $guid, + ) +); ?> -//Очищаем временную директорию от файлоы старше 2 дней -$tmpfolders = $_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/'; -$fileSystemIterator = new FilesystemIterator($tmpfolders); -$now = time(); -foreach ($fileSystemIterator as $file) { - if ($now - $file->getCTime() >= 60 * 60 * 24 * 2) // 2 days - unlink($tmpfolders.$file->getFilename()); -} -?> - - -
- -fullName) { - $name = $object->fullName; - $post = $object->post; - $dept = $object->department; - $company = "Эволюция Автолизинга"; - $mob = $object->mobilePhone; - $mobcl = preg_replace('/[^0-9]/', '', $mob); - $tel = $object->workPhone; - $telcl = preg_replace('/[^0-9]/', '', $tel); - $teladd = $object->workPhoneCode; - $mail = $object->email; - $address = $object->address; - $whatsapp = $object->whatsAppOn; - $telegram = $object->telegram; - $www = "https://www.evoleasing.ru"; - -//VCF для QR кода -$qrtext = 'BEGIN:VCARD -VERSION:4.0 -N;CHARSET=UTF-8:;'.$name.';;; -FN;CHARSET=UTF-8:'.$name.' -TITLE;CHARSET=UTF-8:'.$post.' -EMAIL:'.$mail.' -ORG;CHARSET=UTF-8:'.$company.' -TEL:'.$mob.' -URL;type=PREF:'.$www.' -LANG:ru-RU -END:VCARD'; - -$qrimg = QRcode::png($qrtext, $_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/'.$guid.'.png', 'L', 4, 2); -$im = imagecreatefrompng($_SERVER["DOCUMENT_ROOT"].'/vizitka/tmp/'.$guid.'.png'); - - -//Формируем vcf файл визитки для телефонов -$vcarddata = 'BEGIN:VCARD -VERSION:4.0 -N;CHARSET=UTF-8:;'.$name.';;; -FN;CHARSET=UTF-8:'.$name.' -TITLE;CHARSET=UTF-8:'.$post.' -EMAIL:'.$mail.' -ORG;CHARSET=UTF-8:'.$company.' -TEL:'.$mob.' -URL;type=PREF:'.$www.' -PHOTO;ENCODING=BASE64;TYPE=JPEG:'.$object->image.' -LANG:ru-RU -END:VCARD'; -$vcarddata = mb_convert_encoding($vcarddata, "UTF-8"); - -$vcffile = './tmp/'.$guid.'.vcf'; -$fp = fopen($vcffile, "w"); -fwrite($fp, $vcarddata); -fclose($fp); - -//Формируем vcf файл визитки для компьютера -$vcarddatawin = 'BEGIN:VCARD -VERSION:4.0 -N;CHARSET=windows-1252:;'.$name.';;; -FN;CHARSET=windows-1252:'.$name.' -TITLE;CHARSET=windows-1252:'.$post.' -EMAIL:'.$mail.' -ORG;CHARSET=windows-1252:'.$company.' -TEL:'.$mob.' -URL;type=PREF:'.$www.' -PHOTO;ENCODING=BASE64;TYPE=JPEG:'.$object->image.' -LANG:ru-RU -END:VCARD'; - -$vcarddatawin = iconv("utf-8", "windows-1251", $vcarddatawin); - -$vcffilewin = './tmp/'.$guid.'-win.vcf'; -$fp = fopen($vcffilewin, "w"); -fwrite($fp, $vcarddatawin); -fclose($fp); - -//Дальше вёрстка -?> -
-
-

-

-

-
-
- image){?> - - - - -
- -
-

- Сохраните контакт на телефон -

- -
-
-
- - - - - -
-
-
-
-

- Такой
визитки
не существует
-

-
-
-

- Просто позвоните
по номеру
8 800 333 75 75
-

-
-
-

- или отправьте
заявку на лизинг
из формы ниже
-

-
-
-
-
- -
+ +