From fd7f8bc625ce082a135fddbdcd634a985ac88c26 Mon Sep 17 00:00:00 2001 From: Ivan Chaplygin Date: Wed, 10 Apr 2024 17:05:47 +0300 Subject: [PATCH] ref #72067 Adding pop-up windows to view loyalty program terms and conditions --- resources/pot/retailcrm-ru_RU.pot | 3 ++ src/assets/css/retailcrm-loyalty-style.css | 34 +++++++++++++++++++++ src/assets/js/retailcrm-loyalty-actions.js | 29 ++++++++++++++++++ src/include/class-wc-retailcrm-base.php | 8 ++++- src/include/class-wc-retailcrm-loyalty.php | 17 ++++++++--- src/languages/retailcrm-ru_RU.mo | Bin 20393 -> 20470 bytes 6 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 src/assets/css/retailcrm-loyalty-style.css diff --git a/resources/pot/retailcrm-ru_RU.pot b/resources/pot/retailcrm-ru_RU.pot index b7db938..bee1b2d 100644 --- a/resources/pot/retailcrm-ru_RU.pot +++ b/resources/pot/retailcrm-ru_RU.pot @@ -555,3 +555,6 @@ msgstr "Ошибка при активации программы лояльно msgid "Enter the correct phone number" msgstr "Введите корректный номер телефона" + +msgid "Close" +msgstr "Закрыть" diff --git a/src/assets/css/retailcrm-loyalty-style.css b/src/assets/css/retailcrm-loyalty-style.css new file mode 100644 index 0000000..933467b --- /dev/null +++ b/src/assets/css/retailcrm-loyalty-style.css @@ -0,0 +1,34 @@ +.popup-fade-loyalty { + display: none; +} +.popup-fade-loyalty:before { + content: ''; + background: #000; + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.7; + z-index: 9999; +} +.popup-loyalty { + position: fixed; + top: 20%; + left: 50%; + padding: 20px; + width: 1000px; + margin-left: -500px; + height: 50%; + background: #fff; + border: 1px solid orange; + border-radius: 4px; + z-index: 99999; + opacity: 1; + overflow: auto; +} +.popup-close-loyalty { + position: absolute; + top: 10px; + right: 10px; +} diff --git a/src/assets/js/retailcrm-loyalty-actions.js b/src/assets/js/retailcrm-loyalty-actions.js index 2c0fec9..c4bf93f 100644 --- a/src/assets/js/retailcrm-loyalty-actions.js +++ b/src/assets/js/retailcrm-loyalty-actions.js @@ -79,4 +79,33 @@ jQuery(function() { event.preventDefault(); }); + + jQuery('.popup-open-loyalty').click(function() { + if (jQuery(this).attr('id') === 'terms-popup') { + jQuery('#popup-loyalty-text').html(termsLoyalty); + } else { + jQuery('#popup-loyalty-text').html(privacyLoyalty); + } + + jQuery('.popup-fade-loyalty').fadeIn(); + return false; + }); + + jQuery('.popup-close-loyalty').click(function() { + jQuery(this).parents('.popup-fade-loyalty').fadeOut(); + return false; + }); + + jQuery(document).keydown(function(e) { + if (e.keyCode === 27) { + e.stopPropagation(); + jQuery('.popup-fade-loyalty').fadeOut(); + } + }); + + jQuery('.popup-fade-loyalty').click(function(e) { + if (jQuery(e.target).closest('.popup-loyalty').length == 0) { + jQuery(this).fadeOut(); + } + }); }); diff --git a/src/include/class-wc-retailcrm-base.php b/src/include/class-wc-retailcrm-base.php index 0cc1fcf..98b013e 100644 --- a/src/include/class-wc-retailcrm-base.php +++ b/src/include/class-wc-retailcrm-base.php @@ -109,7 +109,6 @@ if (!class_exists('WC_Retailcrm_Base')) { add_action('init', [$this, 'add_loyalty_endpoint'], 11, 1); add_action('woocommerce_account_menu_items', [$this, 'add_loyalty_item'], 11, 1); add_action('woocommerce_account_loyalty_endpoint', [$this, 'show_loyalty'], 11, 1); - /*add_action('woocommerce_account_')*/ // Subscribed hooks add_action('register_form', [$this, 'subscribe_register_form'], 99); @@ -898,6 +897,7 @@ if (!class_exists('WC_Retailcrm_Base')) { $jsScript = 'retailcrm-loyalty-actions'; $loyaltyUrl = ['url' => get_admin_url()]; $jsScriptsPath = plugins_url() . '/woo-retailcrm/assets/js/'; + $cssPath = plugins_url() . '/woo-retailcrm/assets/css/'; $messagePhone = __('Enter the correct phone number', 'retailcrm'); wp_register_script($jsScript, $jsScriptsPath . $jsScript . '.js', false, '0.1'); @@ -905,6 +905,11 @@ if (!class_exists('WC_Retailcrm_Base')) { wp_localize_script($jsScript, 'LoyaltyUrl', $loyaltyUrl); wp_localize_script($jsScript, 'customerId', $userId); wp_localize_script($jsScript, 'messagePhone', $messagePhone); + wp_localize_script($jsScript, 'termsLoyalty', $this->settings['loyalty_terms']); + wp_localize_script($jsScript, 'privacyLoyalty', $this->settings['loyalty_personal']); + + wp_register_style('retailcrm-loyalty-style', $cssPath . 'retailcrm-loyalty-style.css', false, '0.1'); + wp_enqueue_style('retailcrm-loyalty-style'); $result = $this->loyalty->getForm($userId); @@ -916,6 +921,7 @@ if (!class_exists('WC_Retailcrm_Base')) { } } + /** * Get custom fields with CRM * diff --git a/src/include/class-wc-retailcrm-loyalty.php b/src/include/class-wc-retailcrm-loyalty.php index 56c1e5c..4998901 100644 --- a/src/include/class-wc-retailcrm-loyalty.php +++ b/src/include/class-wc-retailcrm-loyalty.php @@ -74,18 +74,27 @@ if (!class_exists('WC_Retailcrm_Loyalty')) : '

%s

-

%s%s.

-

%s%s.

+

%s%s.

+

%s%s.

-
', + + + ', __('To register in the loyalty program, fill in the form:', 'retailcrm'), __(' I agree with ', 'retailcrm'), __('loyalty program terms', 'retailcrm'), __(' I agree with ', 'retailcrm'), __('terms of personal data processing', 'retailcrm'), __('Phone', 'retailcrm'), - __('Send', 'retailcrm') + __('Send', 'retailcrm'), + __('Close', 'retailcrm') ); } diff --git a/src/languages/retailcrm-ru_RU.mo b/src/languages/retailcrm-ru_RU.mo index 6f527a6d48fab0a644775e9c0945993e21e985a9..044d9f9885f3fef834588a02ba5aa7ca89bce5da 100644 GIT binary patch delta 4020 zcmZwJ32;qU9LMp0$YO~giCshz)sVyzyR@|g5wXRtYN?2b*n^_##nRRi6h&K=C~8kh zq6RHGrrM#5q(e=qR%tsm?X+rC4b#!@@7`;s)9IP_zn^pNz3<#}|L2^S>@D=WU+Cxi zHq?KkQH~G|iSq$wk8ojC4wOmN%|b96gK!=`g?U&7cVRFVqrP$y`PexQ_3)~9{vOt( zZ8gm5LMSGf`7F*mF%qM>Fbg~3Mr?o=z3abVByE3s(Sw^{HEfCM_*o9MaRBzkiO5&1 z6l>w9$h+B9@B9s??KAs>N>eWUg?eD4P_sbnjCw#fV;wBQ z%6JC#LKjg3xr@q3MZT>2BQTujTSqE9+xns2Y%D6}lQ9bCd)K$123Um2covnZYT@*O zDHxA=n2kjkhjn;;OfkHX8&%{c zWhfjq=h4^;6H(XaV=%7tu5U&@wwr@8bE*#WuP@%@M0320<1m61(hV1(I{XBASqoyc z%1i^){moHRHx!@2h1edCq3*wfEzqBQYv65A4<3h!xU@d`*8q-iLT~aJs>4gDH+bZo z4<_$zY1hX<9Dq!x4MVbQ*{FdnLVa&Fs=or%qC0>ZNC|3S-=n_wr;mz8T!p=-FLpz9 zJP1=U6P3b)xE4P~f9xCKZr60IM0*;l!NFxya>I)IwX6R0=4fts4zr~%$VX3v7SN%uu_ z;Mvv_J7Ok=u>P!o3bSBEs5v@|>fixpVD%WYbj(Gi_6#1!YpCySB3&9-32LfNqB8o0 zcm8WshJHk4)SsVE4LBSFc)mqY(HzB~<~{+nTDzidoQitzT+|}VM-6Zb24D&L<5A?L z?F7#DBh{$X4`CiOu&Fo%7hn)xM4vjkLPaV44b{P8Y=%*>?i;3|&Szm7uE0Tf8M|UE zH@CrT%)qUv{`}aZG89{53~EshMRulTH7EbtZi_jg6z#!W{2a-yCB?Z@G8Wa*8e~?i z5S5A3n1bc_9M&UkRd58-g=Ju4T!UIm2a%6m;Gh?L7*GDYP-&9D9}t{?>UcYL#$wci ze?<-GZ`2xz;t+`gQ60@dz0o_~`NKGv_9bkLv23mGn2IYgA9Jvdua(&nDob$`29l=& z9FNK9m*@_lCu&y=!>O2$e8nE3ULcPAzk)faH@}V3F`PX&7nh;t{t;?d45TydI$sVI zjeIGl;Z{_tZX?UUg4(+`wnV1eQZOB7pfYkA)$vbw3zIsSEyqaq*gV{W>L;p`+ixlk zrJaSndA^;XGJ+F<F3xn!rk#r#*mYEf z{FqmzIuV1h09h`!A7i!uuTW{g39TTl&W5OV3k<|j&P0uTHAZ4FR>pD+!)xC4-%$e#V@1hm zRHj;^-fRIXgS$M-klC?^7_Iw~=@W;bk1Sc!9{jt68OZvubEs|d7?r|!UVj>n##MM8 z7vqRtZbq)+71|Fl3(J@g}uqYR^iXIlp6iX(*VLy1L%z! z;2dPIR)Sh1_pvn&?BlM1CD@PlK5T&xPy>28&Fp1-j2ghpeff@`**au>+s%IDzY3MQ z{oTb8v+W?%pUNEKb*IKQ_bk9T zLhH|2y;3Ps(VYLc)a1k=;#DH&Ul%7(A4qH_3W@Q=C}IyWolsGx{;zEJp6^`i%5fR7 zil|6*AvO}qPB5YJ7QxipSb`roCxu5)CC@p!>tQGL<-~sP+(H~jv>*}*=dIDHEdX|u zQxZ5XA+(B_3Fj9~>tHCMqHVZ>IIMxcAnJPOhkIsvvMZg^)^jxa zUf_^UtoKenVK9|aBIwBp+~?KVJ<*UkO7jt%EKrIcQX H`zGcezp$DA delta 3936 zcmY+`d5l%n9S88k?yx#+Bd7xif(QeGih>IRDpgq&#jSP}6{Wb$xQy1N_z)Lx!L^Fk zg^GJA)-u>e)Ba(sw6>;3V=-DQZN;Q%O_#K`jbhTz_q}JDp3L`t&b{xx`_BEHb1(dB zL$~KPbgO(gxaa*vdr|h1pY|%{@4UF5jdsAGQU-Dw`>>V!@>up|JNxq*<}0_*U%A(2 z1UJ@?|Co*Tf6hJlK3htulz-F@jM=@EeS9#BGug&Hxt{q#7f108=7&Gw0REe~a4(zT zY~lh=p^wUS9L787-pa=M@n<>S@0XW!@2G%#`(V`}uqT=W-S^pp~pN>#WyV#2+$u(n}p@ac|D%>C6QlWbWuS zrXt&E_R3Dq<3H=4ALb(c?JrB&1i#S# zT4$=xR*vINrZf!}M!qnDs$E)WddobnXB+*MPieNxtzeI%=gwZ6?~khayv7% zEu*VzqEb3_u6N)L9?X80el9eJ-FY_iVmX(oR68@573R)1GE=jO8Q>P0t@1i^-cI_> z(#OuBoWM-kQtp}Oze6W;bUSl_mw6uF;$j{=wpQ9TeA)h^G;8H_<;uW1nWtyc#%B{mNJk@M}(=Sf`8R{n_x za*{8lVrMhgd$sO6oM!)HW>GeIc0Gw@BJ;EzwZHnOL>D@61#hM5mM@qo8RIpU3!X@` zQO@C4coUE08|=$|%H}I&I7f31vxd&4zp~247|LeO=DR$CO)cu5(w<@o&*C!X2RASS zd4UIxc5~Dqb&6AipzLY8P-OLnabQwq^ z@8yB@{cU{T{vSD*ueR3K)^=vUaZYUj<2bhBK&#FuE@K04;t<}M6S$EX*tWXAW-7Il zxw954EfqYY?u|4nWi$85d3=j~EHFhW@9_c-KU)2*kFrw76H&G>CEUSw?yd~Cv%(wL z&x<=1S;u#|iOYGT`N|^vGrM!R(GBAWW&l%}0iR@(we>JliLPVSKLgn2KnCzRGs69j zt33_p(;_L)(F0L>9A8@l2XmqQHhRL!CT2kI^Ez&sUmL)b1>POqN;#U=ak<}@`tq0T z&+QA2AN-9u@pF2MmT8M>pP$Cw_LtSYh`EEyIhi+eAh*!EEw3U-Hu{$Kl=y{!04>POG7dm-1z4`jM5moM98IuFU^@(p=F(pszA z+P@1A>RSTUmi1RWQPokuK#RLPBd1DF87EuCd!_pBN40sZt4~RG&XW72MLJ}?ERn30 zv@JEN+jX{&N`qXT=YPD;wen?4Sx0=i!_#DwKRb0@+K_zAF7> zfZQZ$FUrtruU7u7zv>FlT&HcQQSPiemxJV7nJIY+Zj|A2qNJT8k5zlM%|c`irDZYR zDmQ0Gn^U9uf_g-MRqEd<-DRVsJy)ZAmrqL`$-FYJk*6eWwY14Sa=(m~XC>{F8r8Sx z!}?E3-Uq`Zi~W1jL(&>X+Uzc0zi)B>A(iv=u9RMKvRo=@Pe`MjogHmI*(`U+KuNnx z_OJG8n=YIwqhxLEP&t|_>iyX~qTV0FsaXw8I*VkPER}mDEpLUzvQlo7zVaQpN~X#6 zGEdS*SGWJ$EYKYycgr`WS@IAbBx$|nahX{CkFd`1a)NwIE|#=gWU_o;zAc%!L%Pl% hw66PZ9qr3jbgt-VzwecOo4c9^KQ*H3?MdUt{TDeji8cTL